| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Html.Type
Synopsis
- data a # b = (:#:) a b
 - (#) :: a -> b -> a # b
 - data father :> child where
 - data element :@ attribution where
 - data a := v where
 - data Element (name :: Symbol) (categories :: [ContentCategory]) (contentModel :: ContentCategory) (contentAttributes :: [Symbol]) where
- DOCTYPE :: Element "!DOCTYPE html" '[] None '[]
 - Html :: Element "html" '[] (Elements ["head", "body"]) (ManifestA & '[])
 - Head :: Element "head" '[] Metadata '[]
 - Title :: Element "title" '[Metadata] OnlyText '[]
 - Base :: Element "base" '[Metadata] None (HrefA & (TargetA & '[]))
 - Link :: Element "link" '[Metadata, Flow, Phrasing] None (HrefA & (CrossoriginA & (RelA & (MediaA & (IntegrityA & (HreflangA & (TypeA & (ReferrerpolicyA & (SizesA & (ImagesrcsetA & (ImagesizesA & (AsA & (RelA & (ColorA & (DisabledA & '[])))))))))))))))
 - Meta :: Element "meta" '[Metadata, Flow, Phrasing] None (NameA & (HttpEquivA & (ContentA & (CharsetA & '[]))))
 - Style :: Element "style" '[Metadata] OnlyText (MediaA & '[])
 - Body :: Element "body" '[] Flow (OnafterprintA & (OnbeforeprintA & (OnbeforeunloadA & (OnhashchangeA & (OnlanguagechangeA & (OnmessageA & (OnmessageerrorA & (OnofflineA & (OnonlineA & (OnpagehideA & (OnpageshowA & (OnpopstateA & (OnrejectionhandledA & (OnstorageA & (OnunhandledrejectionA & (OnunloadA & '[]))))))))))))))))
 - Article :: Element "article" '[Flow, Sectioning, Palpable] Flow '[]
 - Section :: Element "section" '[Flow, Sectioning, Palpable] Flow '[]
 - Nav :: Element "nav" '[Flow, Sectioning, Palpable] Flow '[]
 - Aside :: Element "aside" '[Flow, Sectioning, Palpable] Flow '[]
 - H1 :: Element "h1" '[Flow, Heading, Palpable] Phrasing '[]
 - H2 :: Element "h2" '[Flow, Heading, Palpable] Phrasing '[]
 - H3 :: Element "h3" '[Flow, Heading, Palpable] Phrasing '[]
 - H4 :: Element "h4" '[Flow, Heading, Palpable] Phrasing '[]
 - H5 :: Element "h5" '[Flow, Heading, Palpable] Phrasing '[]
 - H6 :: Element "h6" '[Flow, Heading, Palpable] Phrasing '[]
 - Hgroup :: Element "hgroup" '[Flow, Heading, Palpable] ((Heading :&: NOT (Elements '["hgroup"])) :|: Scripting) '[]
 - Header :: Element "header" '[Flow, Palpable] (Flow :&: NOT (Elements ["header", "footer"])) '[]
 - Footer :: Element "footer" '[Flow, Palpable] (Flow :&: NOT (Elements ["header", "footer"])) '[]
 - Address :: Element "address" '[Flow, Palpable] (Flow :&: NOT (Heading :|: (Sectioning :|: Elements ["header", "footer", "address"]))) '[]
 - P :: Element "p" '[Flow, Palpable] Phrasing '[]
 - Hr :: Element "hr" '[Flow] None '[]
 - Pre :: Element "pre" '[Flow, Palpable] Phrasing '[]
 - Blockquote :: Element "blockquote" '[Flow, Palpable] Flow (CiteA & '[])
 - Ol :: Element "ol" '[Flow, Palpable] (Elements '["li"] :|: Scripting) (ReversedA & (StartA & (TypeA & '[])))
 - Ul :: Element "ul" '[Flow, Palpable] (Elements '["li"] :|: Scripting) '[]
 - Menu :: Element "menu" '[Flow, Palpable] (Elements '["li"] :|: Scripting) '[]
 - Li :: Element "li" '[] Flow (ValueA & '[])
 - Dl :: Element "dl" '[Flow, Palpable] (Elements ["dt", "dd", "div"] :|: Scripting) '[]
 - Dt :: Element "dt" '[] (Flow :&: NOT (Sectioning :|: (Heading :|: Elements ["header", "footer"]))) '[]
 - Dd :: Element "dd" '[] Flow '[]
 - Figure :: Element "figure" '[Flow, Palpable] (Flow :|: Elements '["figcaption"]) '[]
 - Figcaption :: Element "figcaption" '[] Flow '[]
 - Main :: Element "main" '[Flow, Palpable] Flow '[]
 - Div :: Element "div" '[Flow, Palpable] (Flow :|: (Elements ["dt", "dt"] :|: Scripting)) '[]
 - A :: Element "a" '[Flow, Phrasing, Interactive, Palpable] ((Flow :|: (Phrasing :|: Palpable)) :&: NOT (Elements '["a"])) (HrefA & (TargetA & (DownloadA & (PingA & (RelA & (HreflangA & (TypeA & (ReferrerpolicyA & '[]))))))))
 - Em :: Element "em" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Strong :: Element "strong" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Small :: Element "small" '[Flow, Phrasing, Palpable] Phrasing '[]
 - S :: Element "s" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Cite :: Element "cite" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Q :: Element "q" '[Flow, Phrasing, Palpable] Phrasing (CiteA & '[])
 - Dfn :: Element "dfn" '[Flow, Phrasing, Palpable] (Phrasing :&: NOT (Elements '["dfn"])) '[]
 - Abbr :: Element "abbr" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Ruby :: Element "ruby" '[Flow, Phrasing, Palpable] (Phrasing :|: Elements ["rt", "rp"]) '[]
 - Rt :: Element "rt" '[] Phrasing '[]
 - Rp :: Element "rp" '[] OnlyText '[]
 - Data :: Element "data" '[Flow, Phrasing, Palpable] Phrasing (ValueA & '[])
 - Time :: Element "time" '[Flow, Phrasing, Palpable] Phrasing (DatetimeA & '[])
 - Code :: Element "code" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Var :: Element "var" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Samp :: Element "samp" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Kbd :: Element "kbd" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Sub :: Element "sub" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Sup :: Element "sup" '[Flow, Phrasing, Palpable] Phrasing '[]
 - I :: Element "i" '[Flow, Phrasing, Palpable] Phrasing '[]
 - B :: Element "b" '[Flow, Phrasing, Palpable] Phrasing '[]
 - U :: Element "u" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Mark :: Element "mark" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Bdi :: Element "bdi" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Bdo :: Element "bdo" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Span :: Element "span" '[Flow, Phrasing, Palpable] Phrasing '[]
 - Br :: Element "br" '[Flow, Phrasing] None '[]
 - Wbr :: Element "wbr" '[Flow, Phrasing] None '[]
 - Ins :: Element "ins" '[Flow, Phrasing, Palpable] (Flow :|: (Phrasing :|: Palpable)) (CiteA & (DatetimeA & '[]))
 - Del :: Element "del" '[Flow, Phrasing] (Flow :|: Phrasing) (CiteA & (DatetimeA & '[]))
 - Picture :: Element "picture" '[Flow, Phrasing, Embedded] (Elements ["source", "img"] :|: Scripting) '[]
 - Source :: Element "source" '[] None (SrcA & (TypeA & (SrcsetA & (SizesA & (MediaA & '[])))))
 - Img :: Element "img" '[Flow, Phrasing, Embedded, Interactive, Palpable] None (AltA & (SrcA & (SrcsetA & (SizesA & (CrossoriginA & (UsemapA & (IsmapA & (WidthA & (HeightA & (ReferrerpolicyA & (DecodingA & (LoadingA & '[]))))))))))))
 - Iframe :: Element "iframe" '[Flow, Phrasing, Embedded, Interactive, Palpable] None (SrcA & (SrcdocA & (NameA & (SandboxA & (AllowA & (AllowfullscreenA & (WidthA & (HeightA & (ReferrerpolicyA & (LoadingA & '[]))))))))))
 - Embed :: Element "embed" '[Flow, Phrasing, Embedded, Interactive, Palpable] None (SrcA & (TypeA & (WidthA & (HeightA & '[]))))
 - Object :: Element "object" '[Flow, Phrasing, Embedded, Interactive, Palpable] (Elements '["param"] :|: (Flow :|: (Phrasing :|: (Embedded :|: (Interactive :|: Palpable))))) (DataA & (TypeA & (NameA & (UsemapA & (FormA & (WidthA & (HeightA & '[])))))))
 - Param :: Element "param" '[] None (NameA & (ValueA & '[]))
 - Video :: Element "video" '[Flow, Phrasing, Embedded, Interactive, Palpable] ((Elements ["track", "source"] :|: (Flow :|: (Phrasing :|: (Embedded :|: (Interactive :|: Palpable))))) :&: NOT (Elements ["audio", "video"])) (SrcA & (CrossoriginA & (PosterA & (PreloadA & (AutoplayA & (PlaysinlineA & (LoopA & (MutedA & (ControlsA & (WidthA & (HeightA & '[])))))))))))
 - Audio :: Element "audio" '[Flow, Phrasing, Embedded, Interactive, Palpable] ((Elements ["track", "source"] :|: (Flow :|: (Phrasing :|: (Embedded :|: (Interactive :|: Palpable))))) :&: NOT (Elements ["audio", "video"])) (SrcA & (CrossoriginA & (PreloadA & (AutoplayA & (LoopA & (MutedA & (ControlsA & '[])))))))
 - Track :: Element "track" '[] None (KindA & (SrcA & (SrclangA & (LabelA & (DefaultA & '[])))))
 - Map :: Element "map" '[Flow, Phrasing, Palpable] (Flow :|: (Phrasing :|: Palpable)) (NameA & '[])
 - Area :: Element "area" '[Flow, Phrasing] None (AltA & (CoordsA & (ShapeA & (HrefA & (TargetA & (DownloadA & (PingA & (RelA & (ReferrerpolicyA & '[])))))))))
 - Table :: Element "table" '[Flow, Palpable] (Elements ["caption", "colgroup", "thead", "tbody", "tr", "tfoot"] :|: Scripting) '[]
 - Caption :: Element "caption" '[] (Flow :|: NOT (Elements '["table"])) '[]
 - Colgroup :: Element "colgroup" '[] (Elements ["col", "template"]) (SpanA & '[])
 - Col :: Element "col" '[] None (SpanA & '[])
 - Tbody :: Element "tbody" '[] (Elements '["tr"] :|: Scripting) '[]
 - Thead :: Element "thead" '[] (Elements '["tr"] :|: Scripting) '[]
 - Tfoot :: Element "tfoot" '[] (Elements '["tr"] :|: Scripting) '[]
 - Tr :: Element "tr" '[] (Elements ["td", "th"] :|: Scripting) '[]
 - Td :: Element "td" '[] Flow (ColspanA & (RowspanA & (HeadersA & '[])))
 - Th :: Element "th" '[] (Flow :&: NOT (Elements ["header", "footer"] :|: (Sectioning :|: Heading))) (ColspanA & (RowspanA & (HeadersA & (ScopeA & (AbbrA & '[])))))
 - Form :: Element "form" '[Flow, Palpable] (Flow :&: NOT (Elements '["form"])) (AcceptCharsetA & (ActionA & (AutocompleteA & (EnctypeA & (MethodA & (NameA & (NovalidateA & (TargetA & (RelA & '[])))))))))
 - Label :: Element "label" '[Flow, Phrasing, Interactive, Palpable] (Phrasing :&: NOT (Elements '["label"])) (ForA & '[])
 - Input :: Element "input" '[Flow, Phrasing, Interactive, Palpable] None (AcceptA & (AltA & (AutocompleteA & (CheckedA & (DirnameA & (DisabledA & (FormA & (FormactionA & (FormenctypeA & (FormmethodA & (FormnovalidateA & (FormtargetA & (HeightA & (ListA & (MaxA & (MaxlengthA & (MinA & (MinlengthA & (MultipleA & (NameA & (PatternA & (PlaceholderA & (ReadonlyA & (RequiredA & (SizeA & (SrcA & (StepA & (TypeA & (ValueA & (WidthA & '[]))))))))))))))))))))))))))))))
 - Button :: Element "button" '[Flow, Phrasing, Interactive, Palpable] (Phrasing :&: NOT Interactive) (DisabledA & (FormA & (FormactionA & (FormenctypeA & (FormmethodA & (FormnovalidateA & (FormtargetA & (NameA & (TypeA & (ValueA & '[]))))))))))
 - Select :: Element "select" '[Flow, Phrasing, Interactive, Palpable] (Elements ["option", "optgroup"] :|: Scripting) (AutocompleteA & (DisabledA & (FormA & (MultipleA & (NameA & (RequiredA & (SizeA & '[])))))))
 - Datalist :: Element "datalist" '[Flow, Phrasing] (Phrasing :|: (Scripting :|: Elements '["option"])) '[]
 - Optgroup :: Element "optgroup" '[] (Elements '["option"] :|: Scripting) (DisabledA & (LabelA & '[]))
 - Option :: Element "option" '[] OnlyText (DisabledA & (LabelA & (SelectedA & (ValueA & '[]))))
 - Textarea :: Element "textarea" '[Flow, Phrasing, Interactive, Palpable] OnlyText (AutocompleteA & (ColsA & (DirnameA & (DisabledA & (FormA & (MaxlengthA & (MinlengthA & (NameA & (PlaceholderA & (ReadonlyA & (RequiredA & (RowsA & (WrapA & '[])))))))))))))
 - Output :: Element "output" '[Flow, Phrasing, Palpable] Phrasing (ForA & (FormA & (NameA & '[])))
 - Progress :: Element "progress" '[Flow, Phrasing, Palpable] (Phrasing :&: NOT (Elements '["progress"])) (ValueA & (MaxA & '[]))
 - Meter :: Element "meter" '[Flow, Phrasing, Palpable] (Phrasing :&: NOT (Elements '["meter"])) (ValueA & (MinA & (MaxA & (LowA & (HighA & (OptimumA & '[]))))))
 - Fieldset :: Element "fieldset" '[Flow, Palpable] (Elements '["legend"] :|: Flow) (DisabledA & (FormA & (NameA & '[])))
 - Legend :: Element "legend" '[] (Phrasing :|: Heading) '[]
 - Details :: Element "details" '[Flow, Interactive, Palpable] (Elements '["summary"] :|: Flow) (OpenA & '[])
 - Summary :: Element "summary" '[] (Phrasing :|: Heading) '[]
 - Dialog :: Element "dialog" '[Flow] Flow (OpenA & '[])
 - Script :: Element "script" '[Metadata, Flow, Phrasing, Scripting] OnlyText (SrcA & (TypeA & (NomoduleA & (AsyncA & (DeferA & (CrossoriginA & (IntegrityA & (ReferrerpolicyA & '[]))))))))
 - Noscript :: Element "noscript" '[Metadata, Flow, Phrasing] ((Elements ["link", "style", "meta"] :|: (Metadata :|: (Flow :|: Phrasing))) :&: NOT (Elements '["noscript"])) '[]
 - Template :: Element "template" '[Metadata, Flow, Phrasing, Scripting] (Metadata :|: (Flow :|: (Sectioning :|: (Heading :|: (Phrasing :|: Palpable))))) '[]
 - Slot :: Element "slot" '[Flow, Phrasing] (Flow :|: Phrasing) (NameA & '[])
 - Canvas :: Element "canvas" '[Flow, Phrasing, Embedded, Palpable] (((Flow :|: (Phrasing :|: (Embedded :|: Palpable))) :&: NOT Interactive) :|: Elements ["a", "img", "button", "input", "select"]) (WidthA & (HeightA & '[]))
 - CustomElement :: Element name categories contentModel contentAttributes
 
 - data Attribute name global boolean where
- CustomA :: Attribute name global boolean
 - AbbrA :: Attribute "abbr" False False
 - AcceptA :: Attribute "accept" False False
 - AcceptCharsetA :: Attribute "accept-charset" False False
 - AccesskeyA :: Attribute "accesskey" True False
 - ActionA :: Attribute "action" False False
 - AllowA :: Attribute "allow" False False
 - AllowfullscreenA :: Attribute "allowfullscreen" False True
 - AltA :: Attribute "alt" False False
 - AsA :: Attribute "as" False False
 - AsyncA :: Attribute "async" False True
 - AutocapitalizeA :: Attribute "autocapitalize" True False
 - AutocompleteA :: Attribute "autocomplete" False False
 - AutofocusA :: Attribute "autofocus" True True
 - AutoplayA :: Attribute "autoplay" False True
 - CharsetA :: Attribute "charset" False False
 - CheckedA :: Attribute "checked" False True
 - CiteA :: Attribute "cite" False False
 - ClassA :: Attribute "class" True False
 - ColorA :: Attribute "color" False False
 - ColsA :: Attribute "cols" False False
 - ColspanA :: Attribute "colspan" False False
 - ContentA :: Attribute "content" False False
 - ContenteditableA :: Attribute "contenteditable" True False
 - ControlsA :: Attribute "controls" False True
 - CoordsA :: Attribute "coords" False False
 - CrossoriginA :: Attribute "crossorigin" False False
 - DataA :: Attribute "data" False False
 - DatetimeA :: Attribute "datetime" False False
 - DecodingA :: Attribute "decoding" False False
 - DefaultA :: Attribute "default" False True
 - DeferA :: Attribute "defer" False True
 - DirA :: Attribute "dir" True False
 - DirnameA :: Attribute "dirname" False False
 - DisabledA :: Attribute "disabled" False True
 - DownloadA :: Attribute "download" False False
 - DraggableA :: Attribute "draggable" True False
 - EnctypeA :: Attribute "enctype" False False
 - EnterkeyhintA :: Attribute "enterkeyhint" True False
 - ForA :: Attribute "for" False False
 - FormA :: Attribute "form" False False
 - FormactionA :: Attribute "formaction" False False
 - FormenctypeA :: Attribute "formenctype" False False
 - FormmethodA :: Attribute "formmethod" False False
 - FormnovalidateA :: Attribute "formnovalidate" False True
 - FormtargetA :: Attribute "formtarget" False False
 - HeadersA :: Attribute "headers" False False
 - HeightA :: Attribute "height" False False
 - HiddenA :: Attribute "hidden" True True
 - HighA :: Attribute "high" False False
 - HrefA :: Attribute "href" False False
 - HreflangA :: Attribute "hreflang" False False
 - HttpEquivA :: Attribute "httpEquiv" False False
 - IdA :: Attribute "id" True False
 - ImagesizesA :: Attribute "imagesizes" False False
 - ImagesrcsetA :: Attribute "imagesrcset" False False
 - InputmodeA :: Attribute "inputmode" True False
 - IntegrityA :: Attribute "integrity" False False
 - IsA :: Attribute "is" True False
 - IsmapA :: Attribute "ismap" False True
 - ItemidA :: Attribute "itemid" True False
 - ItempropA :: Attribute "itemprop" True False
 - ItemrefA :: Attribute "itemref" True False
 - ItemscopeA :: Attribute "itemscope" True True
 - ItemtypeA :: Attribute "itemtype" True False
 - KindA :: Attribute "kind" False False
 - LabelA :: Attribute "label" False False
 - LangA :: Attribute "lang" True False
 - ListA :: Attribute "list" False False
 - LoadingA :: Attribute "loading" False False
 - LoopA :: Attribute "loop" False True
 - LowA :: Attribute "low" False False
 - ManifestA :: Attribute "manifest" False False
 - MaxA :: Attribute "max" False False
 - MaxlengthA :: Attribute "maxlength" False False
 - MediaA :: Attribute "media" False False
 - MethodA :: Attribute "method" False False
 - MinA :: Attribute "min" False False
 - MinlengthA :: Attribute "minlength" False False
 - MultipleA :: Attribute "multiple" False True
 - MutedA :: Attribute "muted" False True
 - NameA :: Attribute "name" False False
 - NomoduleA :: Attribute "nomodule" False True
 - NonceA :: Attribute "nonce" True False
 - NovalidateA :: Attribute "novalidate" False True
 - OpenA :: Attribute "open" False True
 - OptimumA :: Attribute "optimum" False False
 - PatternA :: Attribute "pattern" False False
 - PingA :: Attribute "ping" False False
 - PlaceholderA :: Attribute "placeholder" False False
 - PlaysinlineA :: Attribute "playsinline" False True
 - PosterA :: Attribute "poster" False False
 - PreloadA :: Attribute "preload" False False
 - ReadonlyA :: Attribute "readonly" False True
 - ReferrerpolicyA :: Attribute "referrerpolicy" False False
 - RelA :: Attribute "rel" False False
 - RequiredA :: Attribute "required" False True
 - ReversedA :: Attribute "reversed" False True
 - RowsA :: Attribute "rows" False False
 - RowspanA :: Attribute "rowspan" False False
 - SandboxA :: Attribute "sandbox" False False
 - ScopeA :: Attribute "scope" False False
 - SelectedA :: Attribute "selected" False True
 - ShapeA :: Attribute "shape" False False
 - SizeA :: Attribute "size" False False
 - SizesA :: Attribute "sizes" False False
 - SlotA :: Attribute "slot" True False
 - SpanA :: Attribute "span" False False
 - SpellcheckA :: Attribute "spellcheck" True False
 - SrcA :: Attribute "src" False False
 - SrcdocA :: Attribute "srcdoc" False False
 - SrclangA :: Attribute "srclang" False False
 - SrcsetA :: Attribute "srcset" False False
 - StartA :: Attribute "start" False False
 - StepA :: Attribute "step" False False
 - StyleA :: Attribute "style" True False
 - TabindexA :: Attribute "tabindex" True False
 - TargetA :: Attribute "target" False False
 - TitleA :: Attribute "title" True False
 - TranslateA :: Attribute "translate" True False
 - TypeA :: Attribute "type" False False
 - UsemapA :: Attribute "usemap" False False
 - ValueA :: Attribute "value" False False
 - WidthA :: Attribute "width" False False
 - WrapA :: Attribute "wrap" False False
 - OnabortA :: Attribute "onabort" True False
 - OnauxclickA :: Attribute "onauxclick" True False
 - OnafterprintA :: Attribute "onafterprint" False False
 - OnbeforeprintA :: Attribute "onbeforeprint" False False
 - OnbeforeunloadA :: Attribute "onbeforeunload" False False
 - OnblurA :: Attribute "onblur" True False
 - OncancelA :: Attribute "oncancel" True False
 - OncanplayA :: Attribute "oncanplay" True False
 - OncanplaythroughA :: Attribute "oncanplaythrough" True False
 - OnchangeA :: Attribute "onchange" True False
 - OnclickA :: Attribute "onclick" True False
 - OncloseA :: Attribute "onclose" True False
 - OncontextmenuA :: Attribute "oncontextmenu" True False
 - OncopyA :: Attribute "oncopy" True False
 - OncuechangeA :: Attribute "oncuechange" True False
 - OncutA :: Attribute "oncut" True False
 - OndblclickA :: Attribute "ondblclick" True False
 - OndragA :: Attribute "ondrag" True False
 - OndragendA :: Attribute "ondragend" True False
 - OndragenterA :: Attribute "ondragenter" True False
 - OndragleaveA :: Attribute "ondragleave" True False
 - OndragoverA :: Attribute "ondragover" True False
 - OndragstartA :: Attribute "ondragstart" True False
 - OndropA :: Attribute "ondrop" True False
 - OndurationchangeA :: Attribute "ondurationchange" True False
 - OnemptiedA :: Attribute "onemptied" True False
 - OnendedA :: Attribute "onended" True False
 - OnerrorA :: Attribute "onerror" True False
 - OnfocusA :: Attribute "onfocus" True False
 - OnformdataA :: Attribute "onformdata" True False
 - OnhashchangeA :: Attribute "onhashchange" False False
 - OninputA :: Attribute "oninput" True False
 - OninvalidA :: Attribute "oninvalid" True False
 - OnkeydownA :: Attribute "onkeydown" True False
 - OnkeypressA :: Attribute "onkeypress" True False
 - OnkeyupA :: Attribute "onkeyup" True False
 - OnlanguagechangeA :: Attribute "onlanguagechange" False False
 - OnloadA :: Attribute "onload" True False
 - OnloadeddataA :: Attribute "onloadeddata" True False
 - OnloadedmetadataA :: Attribute "onloadedmetadata" True False
 - OnloadstartA :: Attribute "onloadstart" True False
 - OnmessageA :: Attribute "onmessage" False False
 - OnmessageerrorA :: Attribute "onmessageerror" False False
 - OnmousedownA :: Attribute "onmousedown" True False
 - OnmouseenterA :: Attribute "onmouseenter" True False
 - OnmouseleaveA :: Attribute "onmouseleave" True False
 - OnmousemoveA :: Attribute "onmousemove" True False
 - OnmouseoutA :: Attribute "onmouseout" True False
 - OnmouseoverA :: Attribute "onmouseover" True False
 - OnmouseupA :: Attribute "onmouseup" True False
 - OnofflineA :: Attribute "onoffline" False False
 - OnonlineA :: Attribute "ononline" False False
 - OnpagehideA :: Attribute "onpagehide" False False
 - OnpageshowA :: Attribute "onpageshow" False False
 - OnpasteA :: Attribute "onpaste" True False
 - OnpauseA :: Attribute "onpause" True False
 - OnplayA :: Attribute "onplay" True False
 - OnplayingA :: Attribute "onplaying" True False
 - OnpopstateA :: Attribute "onpopstate" False False
 - OnprogressA :: Attribute "onprogress" True False
 - OnratechangeA :: Attribute "onratechange" True False
 - OnresetA :: Attribute "onreset" True False
 - OnresizeA :: Attribute "onresize" True False
 - OnrejectionhandledA :: Attribute "onrejectionhandled" False False
 - OnscrollA :: Attribute "onscroll" True False
 - OnsecuritypolicyviolationA :: Attribute "onsecuritypolicyviolation" True False
 - OnseekedA :: Attribute "onseeked" True False
 - OnseekingA :: Attribute "onseeking" True False
 - OnselectA :: Attribute "onselect" True False
 - OnslotchangeA :: Attribute "onslotchange" True False
 - OnstalledA :: Attribute "onstalled" True False
 - OnstorageA :: Attribute "onstorage" False False
 - OnsubmitA :: Attribute "onsubmit" True False
 - OnsuspendA :: Attribute "onsuspend" True False
 - OntimeupdateA :: Attribute "ontimeupdate" True False
 - OntoggleA :: Attribute "ontoggle" True False
 - OnunhandledrejectionA :: Attribute "onunhandledrejection" False False
 - OnunloadA :: Attribute "onunload" False False
 - OnvolumechangeA :: Attribute "onvolumechange" True False
 - OnwaitingA :: Attribute "onwaiting" True False
 - OnwheelA :: Attribute "onwheel" True False
 - RoleA :: Attribute "role" True False
 - AriaActivedescendantA :: Attribute "aria-activedescendant" True False
 - AriaAtomicA :: Attribute "aria-atomic" True False
 - AriaAutocompleteA :: Attribute "aria-autocomplete" True False
 - AriaBraillelableA :: Attribute "aria-braillelable" True False
 - AriaBrailleroledescriptionA :: Attribute "aria-brailleroledescription" True False
 - AriaBusyA :: Attribute "aria-busy" True False
 - AriaCheckedA :: Attribute "aria-checked" True False
 - AriaColcountA :: Attribute "aria-colcount" True False
 - AriaColindexA :: Attribute "aria-colindex" True False
 - AriaColindextextA :: Attribute "aria-colindextext" True False
 - AriaColspanA :: Attribute "aria-colspan" True False
 - AriaControlsA :: Attribute "aria-controls" True False
 - AriaCurrentA :: Attribute "aria-current" True False
 - AriaDescribedbyA :: Attribute "aria-describedby" True False
 - AriaDescriptionA :: Attribute "aria-description" True False
 - AriaDetailsA :: Attribute "aria-details" True False
 - AriaDisabledA :: Attribute "aria-disabled" True False
 - AriaDropeffectA :: Attribute "aria-dropeffect" True False
 - AriaErrormessageA :: Attribute "aria-errormessage" True False
 - AriaExpandedA :: Attribute "aria-expanded" True False
 - AriaFlowtoA :: Attribute "aria-flowto" True False
 - AriaGrabbedA :: Attribute "aria-grabbed" True False
 - AriaHaspopupA :: Attribute "aria-haspopup" True False
 - AriaHiddenA :: Attribute "aria-hidden" True False
 - AriaInvalidA :: Attribute "aria-invalid" True False
 - AriaKeyshortcutsA :: Attribute "aria-keyshortcuts" True False
 - AriaLabelA :: Attribute "aria-label" True False
 - AriaLabelledByA :: Attribute "aria-labelledBy" True False
 - AriaLevelA :: Attribute "aria-level" True False
 - AriaLiveA :: Attribute "aria-live" True False
 - AriaModalA :: Attribute "aria-modal" True False
 - AriaMultilineA :: Attribute "aria-multiline" True False
 - AriaMultiselectableA :: Attribute "aria-multiselectable" True False
 - AriaOrientationA :: Attribute "aria-orientation" True False
 - AriaOwnsA :: Attribute "aria-owns" True False
 - AriaPlaceholderA :: Attribute "aria-placeholder" True False
 - AriaPosinsetA :: Attribute "aria-posinset" True False
 - AriaPressedA :: Attribute "aria-pressed" True False
 - AriaReadonlyA :: Attribute "aria-readonly" True False
 - AriaRelevantA :: Attribute "aria-relevant" True False
 - AriaRequiredA :: Attribute "aria-required" True False
 - AriaRoledescriptionA :: Attribute "aria-roledescription" True False
 - AriaRowcountA :: Attribute "aria-rowcount" True False
 - AriaRowindexA :: Attribute "aria-rowindex" True False
 - AriaRowindextextA :: Attribute "aria-rowindextext" True False
 - AriaRowspanA :: Attribute "aria-rowspan" True False
 - AriaSelectedA :: Attribute "aria-selected" True False
 - AriaSetsizeA :: Attribute "aria-setsize" True False
 - AriaSortA :: Attribute "aria-sort" True False
 - AriaValuemaxA :: Attribute "aria-valuemax" True False
 - AriaValueminA :: Attribute "aria-valuemin" True False
 - AriaValuenowA :: Attribute "aria-valuenow" True False
 - AriaValuetextA :: Attribute "aria-valuetext" True False
 
 - data CompactHTML (a :: [Symbol])
 - data Put (n :: Symbol) = forall a.Convert a => Put a
 - data V (n :: Symbol) = V
 - newtype Raw a = Raw {
- fromRaw :: a
 
 - newtype Lawless a = Lawless a
 - class Retrievable a
 - type family Retrieve f xs where ...
 - type Variables a = Dedupe (GetV a)
 - type family Document a where ...
 - type family Compactable a where ...
 - data ContentCategory
 - type (&) k b = GetAttributeName k ': b
 
Documentation
Combine two elements or attributes sequentially.
>>>I # Div<i></i><div></div>
>>>I :@ (IdA:="a" # ClassA:="b") :> "c"<i id="a" class="b">c</i>
Constructors
| (:#:) a b | 
data Element (name :: Symbol) (categories :: [ContentCategory]) (contentModel :: ContentCategory) (contentAttributes :: [Symbol]) where Source #
4 The elements of HTML
Constructors
data Attribute name global boolean where Source #
Constructors
data CompactHTML (a :: [Symbol]) Source #
A compacted html documented with it's variables annoted as a list of Symbols. It's Show instance is quite useful for developping: It highlights variables and renders the rest of the html.
Instances
| ShowTypeList a => Show (CompactHTML a) Source # | |
Defined in Html.Type.Internal Methods showsPrec :: Int -> CompactHTML a -> ShowS # show :: CompactHTML a -> String # showList :: [CompactHTML a] -> ShowS #  | |
Data for declaring variables in a html document which will be compacted.
Constructors
| V | 
Wrapper for types which won't be escaped.
class Retrievable a Source #
List of Symbols for which a render function can be created.
Minimal complete definition
retrieve
Instances
| Retrievable ('[] :: [Symbol]) Source # | |
Defined in Html.Reify  | |
| (KnownSymbol x, Retrievable xs) => Retrievable (x ': xs) Source # | |
Defined in Html.Reify  | |
type family Retrieve f xs where ... Source #
Type of a rendered compact html which determines the amount of arguments.
type Variables a = Dedupe (GetV a) Source #
Unique set of variables in a html document in the order of occurence.
type family Document a where ... Source #
Constraint for html documents. It's a type family to avoid an error about FlexibleContexts and a warning about MonoLocalBinds.
Equations
| Document a = Document' a | 
type family Compactable a where ... Source #
Constraint for compactable html documents. It's a type family to avoid an error about FlexibleContexts and a warning about MonoLocalBinds.
Equations
| Compactable a = Compactable' a | 
data ContentCategory Source #
Type level modelling of html
The following types and docs are from the following source: [2020-10-16] https://html.spec.whatwg.org/ Copyright © WHATWG HTML - Living Standard (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License
3 Semantics. structure, and APIs of HTML documents 3.2 Elements 3.2.5 Content models
Constructors
| OnlyText | |
| (:|:) ContentCategory ContentCategory infixr 2 | |
| (:&:) ContentCategory ContentCategory infixr 3 | |
| NOT ContentCategory | |
| Elements [Symbol] | |
| None | 3.2.5.1 The "nothing" content model  | 
| Metadata | 3.2.5.2 Kinds of content 3.2.5.2.1 Metadata content  | 
| Flow | 3.2.5.2.2 Flow content  | 
| Sectioning | 3.2.5.2.3 Sectioning content  | 
| Heading | 3.2.5.2.4 Heading content  | 
| Phrasing | 3.2.5.2.5 Phrasing content  | 
| Embedded | 3.2.5.2.6 Embedded content  | 
| Interactive | 3.2.5.2.7 Interactive content  | 
| Palpable | 3.2.5.2.8 Palpable content  | 
| Scripting | 3.2.5.2.9 Script-supporting elements  |