{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE NoMonomorphismRestriction #-}
{-# OPTIONS -fno-warn-type-defaults #-}

-- | Html5 terms.

module Lucid.Html5 where

import           Lucid.Base

import           Data.Monoid
import           Data.Text (Text, unwords)

-------------------------------------------------------------------------------
-- Elements

-- | @DOCTYPE@ element
--
-- This is implemented as "raw output", because the doctype doesn't
-- accept attributes, such as those inserted via 'with'.
--
doctype_ :: Applicative m => HtmlT m ()
doctype_ :: HtmlT m ()
doctype_ = m (Seq Attribute -> Builder, ()) -> HtmlT m ()
forall (m :: * -> *) a.
m (Seq Attribute -> Builder, a) -> HtmlT m a
HtmlT ((Seq Attribute -> Builder, ()) -> m (Seq Attribute -> Builder, ())
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Builder -> Seq Attribute -> Builder
forall a b. a -> b -> a
const Builder
"<!DOCTYPE HTML>", ()))

-- | @DOCTYPE@ element + @html@ element
doctypehtml_ :: Applicative m => HtmlT m a -> HtmlT m a
doctypehtml_ :: HtmlT m a -> HtmlT m a
doctypehtml_ HtmlT m a
m = HtmlT m ()
forall (m :: * -> *). Applicative m => HtmlT m ()
doctype_ HtmlT m () -> HtmlT m a -> HtmlT m a
forall (f :: * -> *) a b. Applicative f => f a -> f b -> f b
*> HtmlT m a -> HtmlT m a
forall arg result. Term arg result => arg -> result
html_ HtmlT m a
m

-- | @a@ element
a_ :: Term arg result => arg -> result
a_ :: arg -> result
a_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"a"

-- | @abbr@ element
abbr_ :: Term arg result => arg -> result
abbr_ :: arg -> result
abbr_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"abbr"

-- | @address@ element
address_ :: Term arg result => arg -> result
address_ :: arg -> result
address_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"address"

-- | @area@ element
area_ :: Applicative m => [Attribute] -> HtmlT m ()
area_ :: [Attribute] -> HtmlT m ()
area_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"area")

-- | @article@ element
article_ :: Term arg result => arg -> result
article_ :: arg -> result
article_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"article"

-- | @aside@ element
aside_ :: Term arg result => arg -> result
aside_ :: arg -> result
aside_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"aside"

-- | @audio@ element
audio_ :: Term arg result => arg -> result
audio_ :: arg -> result
audio_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"audio"

-- | @b@ element
b_ :: Term arg result => arg -> result
b_ :: arg -> result
b_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"b"

-- | @base@ element
base_ :: Applicative m => [Attribute] -> HtmlT m ()
base_ :: [Attribute] -> HtmlT m ()
base_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"base")

-- | @bdo@ element
bdo_ :: Term arg result => arg -> result
bdo_ :: arg -> result
bdo_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"bdo"

-- | @blockquote@ element
blockquote_ :: Term arg result => arg -> result
blockquote_ :: arg -> result
blockquote_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"blockquote"

-- | @body@ element
body_ :: Term arg result => arg -> result
body_ :: arg -> result
body_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"body"

-- | @br@ element
br_ :: Applicative m => [Attribute] -> HtmlT m ()
br_ :: [Attribute] -> HtmlT m ()
br_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"br")

-- | @button@ element
button_ :: Term arg result => arg -> result
button_ :: arg -> result
button_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"button"

-- | @canvas@ element
canvas_ :: Term arg result => arg -> result
canvas_ :: arg -> result
canvas_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"canvas"

-- | @caption@ element
caption_ :: Term arg result => arg -> result
caption_ :: arg -> result
caption_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"caption"

-- | @cite@ element or @cite@ attribute.
cite_ :: Term arg result => arg -> result
cite_ :: arg -> result
cite_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"cite"

-- | @code@ element
code_ :: Term arg result => arg -> result
code_ :: arg -> result
code_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"code"

-- | @col@ element
col_ :: Applicative m => [Attribute] -> HtmlT m ()
col_ :: [Attribute] -> HtmlT m ()
col_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"col")

-- | @colgroup@ element
colgroup_ :: Term arg result => arg -> result
colgroup_ :: arg -> result
colgroup_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"colgroup"

-- | @command@ element
command_ :: Term arg result => arg -> result
command_ :: arg -> result
command_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"command"

-- | @datalist@ element
datalist_ :: Term arg result => arg -> result
datalist_ :: arg -> result
datalist_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"datalist"

-- | @dd@ element
dd_ :: Term arg result => arg -> result
dd_ :: arg -> result
dd_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"dd"

-- | @del@ element
del_ :: Term arg result => arg -> result
del_ :: arg -> result
del_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"del"

-- | @details@ element
details_ :: Term arg result => arg -> result
details_ :: arg -> result
details_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"details"

-- | @dfn@ element
dfn_ :: Term arg result => arg -> result
dfn_ :: arg -> result
dfn_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"dfn"

-- | @div@ element
div_ :: Term arg result => arg -> result
div_ :: arg -> result
div_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"div"

-- | @dl@ element
dl_ :: Term arg result => arg -> result
dl_ :: arg -> result
dl_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"dl"

-- | @dt@ element
dt_ :: Term arg result => arg -> result
dt_ :: arg -> result
dt_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"dt"

-- | @em@ element
em_ :: Term arg result => arg -> result
em_ :: arg -> result
em_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"em"

-- | @embed@ element
embed_ :: Applicative m => [Attribute] -> HtmlT m ()
embed_ :: [Attribute] -> HtmlT m ()
embed_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"embed")

-- | @fieldset@ element
fieldset_ :: Term arg result => arg -> result
fieldset_ :: arg -> result
fieldset_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"fieldset"

-- | @figcaption@ element
figcaption_ :: Term arg result => arg -> result
figcaption_ :: arg -> result
figcaption_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"figcaption"

-- | @figure@ element
figure_ :: Term arg result => arg -> result
figure_ :: arg -> result
figure_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"figure"

-- | @footer@ element
footer_ :: Term arg result => arg -> result
footer_ :: arg -> result
footer_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"footer"

-- | @form@ element or @form@ attribute
form_ :: Term arg result => arg -> result
form_ :: arg -> result
form_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"form"

-- | @h1@ element
h1_ :: Term arg result => arg -> result
h1_ :: arg -> result
h1_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"h1"

-- | @h2@ element
h2_ :: Term arg result => arg -> result
h2_ :: arg -> result
h2_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"h2"

-- | @h3@ element
h3_ :: Term arg result => arg -> result
h3_ :: arg -> result
h3_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"h3"

-- | @h4@ element
h4_ :: Term arg result => arg -> result
h4_ :: arg -> result
h4_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"h4"

-- | @h5@ element
h5_ :: Term arg result => arg -> result
h5_ :: arg -> result
h5_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"h5"

-- | @h6@ element
h6_ :: Term arg result => arg -> result
h6_ :: arg -> result
h6_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"h6"

-- | @head@ element
head_ :: Term arg result => arg -> result
head_ :: arg -> result
head_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"head"

-- | @header@ element
header_ :: Term arg result => arg -> result
header_ :: arg -> result
header_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"header"

-- | @hgroup@ element
hgroup_ :: Term arg result => arg -> result
hgroup_ :: arg -> result
hgroup_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"hgroup"

-- | @hr@ element
hr_ :: Applicative m => [Attribute] -> HtmlT m ()
hr_ :: [Attribute] -> HtmlT m ()
hr_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"hr")

-- | @html@ element
html_ :: Term arg result => arg -> result
html_ :: arg -> result
html_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"html"

-- | @i@ element
i_ :: Term arg result => arg -> result
i_ :: arg -> result
i_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"i"

-- | @iframe@ element
iframe_ :: Term arg result => arg -> result
iframe_ :: arg -> result
iframe_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"iframe"

-- | @img@ element
img_ :: Applicative m => [Attribute] -> HtmlT m ()
img_ :: [Attribute] -> HtmlT m ()
img_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"img")

-- | @input@ element
input_ :: Applicative m => [Attribute] -> HtmlT m ()
input_ :: [Attribute] -> HtmlT m ()
input_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"input")

-- | @ins@ element
ins_ :: Term arg result => arg -> result
ins_ :: arg -> result
ins_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"ins"

-- | @kbd@ element
kbd_ :: Term arg result => arg -> result
kbd_ :: arg -> result
kbd_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"kbd"

-- | @keygen@ element
keygen_ :: Applicative m => [Attribute] -> HtmlT m ()
keygen_ :: [Attribute] -> HtmlT m ()
keygen_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"keygen")

-- | @label@ element or @label@ attribute
label_ :: Term arg result => arg -> result
label_ :: arg -> result
label_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"label"

-- | @legend@ element
legend_ :: Term arg result => arg -> result
legend_ :: arg -> result
legend_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"legend"

-- | @li@ element
li_ :: Term arg result => arg -> result
li_ :: arg -> result
li_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"li"

-- | @link@ element
link_ :: Applicative m => [Attribute] -> HtmlT m ()
link_ :: [Attribute] -> HtmlT m ()
link_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"link")

-- | @map@ element
map_ :: Term arg result => arg -> result
map_ :: arg -> result
map_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"map"

-- | @main@ element
main_ :: Term arg result => arg -> result
main_ :: arg -> result
main_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"main"

-- | @mark@ element
mark_ :: Term arg result => arg -> result
mark_ :: arg -> result
mark_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"mark"

-- | @menu@ element
menu_ :: Term arg result => arg -> result
menu_ :: arg -> result
menu_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"menu"

-- | @menuitem@ element
menuitem_ :: Applicative m => [Attribute] -> HtmlT m ()
menuitem_ :: [Attribute] -> HtmlT m ()
menuitem_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"menuitem")

-- | @meta@ element
meta_ :: Applicative m => [Attribute] -> HtmlT m ()
meta_ :: [Attribute] -> HtmlT m ()
meta_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"meta")

-- | @meter@ element
meter_ :: Term arg result => arg -> result
meter_ :: arg -> result
meter_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"meter"

-- | @nav@ element
nav_ :: Term arg result => arg -> result
nav_ :: arg -> result
nav_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"nav"

-- | @noscript@ element
noscript_ :: Term arg result => arg -> result
noscript_ :: arg -> result
noscript_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"noscript"

-- | @object@ element
object_ :: Term arg result => arg -> result
object_ :: arg -> result
object_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"object"

-- | @ol@ element
ol_ :: Term arg result => arg -> result
ol_ :: arg -> result
ol_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"ol"

-- | @optgroup@ element
optgroup_ :: Term arg result => arg -> result
optgroup_ :: arg -> result
optgroup_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"optgroup"

-- | @option@ element
option_ :: Term arg result => arg -> result
option_ :: arg -> result
option_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"option"

-- | @output@ element
output_ :: Term arg result => arg -> result
output_ :: arg -> result
output_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"output"

-- | @p@ element
p_ :: Term arg result => arg -> result
p_ :: arg -> result
p_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"p"

-- | @param@ element
param_ :: Applicative m => [Attribute] -> HtmlT m ()
param_ :: [Attribute] -> HtmlT m ()
param_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"param")

-- | The @svg@ attribute.
svg_ :: Term arg result => arg -> result
svg_ :: arg -> result
svg_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"svg"

-- | @pre@ element
pre_ :: Term arg result => arg -> result
pre_ :: arg -> result
pre_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"pre"

-- | @progress@ element
progress_ :: Term arg result => arg -> result
progress_ :: arg -> result
progress_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"progress"

-- | @q@ element
q_ :: Term arg result => arg -> result
q_ :: arg -> result
q_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"q"

-- | @rp@ element
rp_ :: Term arg result => arg -> result
rp_ :: arg -> result
rp_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"rp"

-- | @rt@ element
rt_ :: Term arg result => arg -> result
rt_ :: arg -> result
rt_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"rt"

-- | @ruby@ element
ruby_ :: Term arg result => arg -> result
ruby_ :: arg -> result
ruby_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"ruby"

-- | @samp@ element
samp_ :: Term arg result => arg -> result
samp_ :: arg -> result
samp_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"samp"

-- | @script@ element
script_ :: TermRaw arg result => arg -> result
script_ :: arg -> result
script_ = Text -> arg -> result
forall arg result. TermRaw arg result => Text -> arg -> result
termRaw Text
"script"

-- | @section@ element
section_ :: Term arg result => arg -> result
section_ :: arg -> result
section_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"section"

-- | @select@ element
select_ :: Term arg result => arg -> result
select_ :: arg -> result
select_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"select"

-- | @small@ element
small_ :: Term arg result => arg -> result
small_ :: arg -> result
small_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"small"

-- | @source@ element
source_ :: Applicative m => [Attribute] -> HtmlT m ()
source_ :: [Attribute] -> HtmlT m ()
source_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"source")

-- | @span@ element or @span@ attribute
span_ :: Term arg result => arg -> result
span_ :: arg -> result
span_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"span"

-- | @strong@ element
strong_ :: Term arg result => arg -> result
strong_ :: arg -> result
strong_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"strong"

-- | @style@ element or @style@ attribute
style_ :: TermRaw arg result => arg -> result
style_ :: arg -> result
style_ = Text -> arg -> result
forall arg result. TermRaw arg result => Text -> arg -> result
termRaw Text
"style"

-- | @sub@ element
sub_ :: Term arg result => arg -> result
sub_ :: arg -> result
sub_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"sub"

-- | @summary@ element or @summary@ attribute
summary_ :: Term arg result => arg -> result
summary_ :: arg -> result
summary_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"summary"

-- | @sup@ element
sup_ :: Term arg result => arg -> result
sup_ :: arg -> result
sup_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"sup"

-- | @table@ element
table_ :: Term arg result => arg -> result
table_ :: arg -> result
table_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"table"

-- | @tbody@ element
tbody_ :: Term arg result => arg -> result
tbody_ :: arg -> result
tbody_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"tbody"

-- | @td@ element
td_ :: Term arg result => arg -> result
td_ :: arg -> result
td_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"td"

-- | @textarea@ element
textarea_ :: Term arg result => arg -> result
textarea_ :: arg -> result
textarea_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"textarea"

-- | @tfoot@ element
tfoot_ :: Term arg result => arg -> result
tfoot_ :: arg -> result
tfoot_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"tfoot"

-- | @th@ element
th_ :: Term arg result => arg -> result
th_ :: arg -> result
th_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"th"

-- | @template@ element
template_ :: Term arg result => arg -> result
template_ :: arg -> result
template_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"template"

-- | @thead@ element
thead_ :: Term arg result => arg -> result
thead_ :: arg -> result
thead_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"thead"

-- | @time@ element
time_ :: Term arg result => arg -> result
time_ :: arg -> result
time_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"time"

-- | @title@ element or @title@ attribute
title_ :: Term arg result => arg -> result
title_ :: arg -> result
title_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"title"

-- | @tr@ element
tr_ :: Term arg result => arg -> result
tr_ :: arg -> result
tr_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"tr"

-- | @track@ element
track_ :: Applicative m => [Attribute] -> HtmlT m ()
track_ :: [Attribute] -> HtmlT m ()
track_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"track")

-- | @ul@ element
ul_ :: Term arg result => arg -> result
ul_ :: arg -> result
ul_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"ul"

-- | @var@ element
var_ :: Term arg result => arg -> result
var_ :: arg -> result
var_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"var"

-- | @video@ element
video_ :: Term arg result => arg -> result
video_ :: arg -> result
video_ = Text -> arg -> result
forall arg result. Term arg result => Text -> arg -> result
term Text
"video"

-- | @wbr@ element
wbr_ :: Applicative m => [Attribute] -> HtmlT m ()
wbr_ :: [Attribute] -> HtmlT m ()
wbr_ = HtmlT m () -> [Attribute] -> HtmlT m ()
forall a. With a => a -> [Attribute] -> a
with (Text -> HtmlT m ()
forall (m :: * -> *). Applicative m => Text -> HtmlT m ()
makeElementNoEnd Text
"wbr")

-------------------------------------------------------------------------------
-- Attributes

-- | The @accept@ attribute.
accept_ :: Text -> Attribute
accept_ :: Text -> Attribute
accept_ = Text -> Text -> Attribute
makeAttribute Text
"accept"

-- | The @acceptCharset@ attribute.
acceptCharset_ :: Text -> Attribute
acceptCharset_ :: Text -> Attribute
acceptCharset_ = Text -> Text -> Attribute
makeAttribute Text
"accept-charset"

-- | The @accesskey@ attribute.
accesskey_ :: Text -> Attribute
accesskey_ :: Text -> Attribute
accesskey_ = Text -> Text -> Attribute
makeAttribute Text
"accesskey"

-- | The @action@ attribute.
action_ :: Text -> Attribute
action_ :: Text -> Attribute
action_ = Text -> Text -> Attribute
makeAttribute Text
"action"

-- | The @alt@ attribute.
alt_ :: Text -> Attribute
alt_ :: Text -> Attribute
alt_ = Text -> Text -> Attribute
makeAttribute Text
"alt"

-- | The @async@ attribute.
async_ :: Text -> Attribute
async_ :: Text -> Attribute
async_ = Text -> Text -> Attribute
makeAttribute Text
"async"

-- | The @autocomplete@ attribute.
autocomplete_ :: Text -> Attribute
autocomplete_ :: Text -> Attribute
autocomplete_ = Text -> Text -> Attribute
makeAttribute Text
"autocomplete"

-- | The @autofocus@ attribute.
autofocus_ :: Attribute
autofocus_ :: Attribute
autofocus_ = Text -> Text -> Attribute
makeAttribute Text
"autofocus" Text
forall a. Monoid a => a
mempty

-- | The @autoplay@ attribute.
autoplay_ :: Text -> Attribute
autoplay_ :: Text -> Attribute
autoplay_ = Text -> Text -> Attribute
makeAttribute Text
"autoplay"

-- | The @challenge@ attribute.
challenge_ :: Text -> Attribute
challenge_ :: Text -> Attribute
challenge_ = Text -> Text -> Attribute
makeAttribute Text
"challenge"

-- | The @charset@ attribute.
charset_ :: Text -> Attribute
charset_ :: Text -> Attribute
charset_ = Text -> Text -> Attribute
makeAttribute Text
"charset"

-- | The @checked@ attribute.
checked_ :: Attribute
checked_ :: Attribute
checked_ = Text -> Text -> Attribute
makeAttribute Text
"checked" Text
forall a. Monoid a => a
mempty

-- | The @class@ attribute.
class_ :: Text -> Attribute
class_ :: Text -> Attribute
class_ = Text -> Text -> Attribute
makeAttribute Text
"class"

-- | Smart constructor for @class@ attribute.
--
-- @since 2.9.8
classes_ :: [Text] -> Attribute
classes_ :: [Text] -> Attribute
classes_ = Text -> Text -> Attribute
makeAttribute Text
"class" (Text -> Attribute) -> ([Text] -> Text) -> [Text] -> Attribute
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Text] -> Text
Data.Text.unwords

-- | The @cols@ attribute.
cols_ :: Text -> Attribute
cols_ :: Text -> Attribute
cols_ = Text -> Text -> Attribute
makeAttribute Text
"cols"

-- | The @colspan@ attribute.
colspan_ :: Text -> Attribute
colspan_ :: Text -> Attribute
colspan_ = Text -> Text -> Attribute
makeAttribute Text
"colspan"

-- | The @content@ attribute.
content_ :: Text -> Attribute
content_ :: Text -> Attribute
content_ = Text -> Text -> Attribute
makeAttribute Text
"content"

-- | The @contenteditable@ attribute.
contenteditable_ :: Text -> Attribute
contenteditable_ :: Text -> Attribute
contenteditable_ = Text -> Text -> Attribute
makeAttribute Text
"contenteditable"

-- | The @contextmenu@ attribute.
contextmenu_ :: Text -> Attribute
contextmenu_ :: Text -> Attribute
contextmenu_ = Text -> Text -> Attribute
makeAttribute Text
"contextmenu"

-- | The @controls@ attribute.
controls_ :: Text -> Attribute
controls_ :: Text -> Attribute
controls_ = Text -> Text -> Attribute
makeAttribute Text
"controls"

-- | The @coords@ attribute.
coords_ :: Text -> Attribute
coords_ :: Text -> Attribute
coords_ = Text -> Text -> Attribute
makeAttribute Text
"coords"

-- | The @crossorigin@ attribute.
--
-- @since 2.9.8
crossorigin_ :: Text -> Attribute
crossorigin_ :: Text -> Attribute
crossorigin_ = Text -> Text -> Attribute
makeAttribute Text
"crossorigin"

-- | The @data@ attribute.
data_ :: Text -> Text -> Attribute
data_ :: Text -> Text -> Attribute
data_ Text
name = Text -> Text -> Attribute
makeAttribute (Text
"data-" Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
name)

-- | The @datetime@ attribute.
datetime_ :: Text -> Attribute
datetime_ :: Text -> Attribute
datetime_ = Text -> Text -> Attribute
makeAttribute Text
"datetime"

-- | The @defer@ attribute.
defer_ :: Text -> Attribute
defer_ :: Text -> Attribute
defer_ = Text -> Text -> Attribute
makeAttribute Text
"defer"

-- | The @dir@ attribute.
dir_ :: Text -> Attribute
dir_ :: Text -> Attribute
dir_ = Text -> Text -> Attribute
makeAttribute Text
"dir"

-- | The @disabled@ attribute.
disabled_ :: Text -> Attribute
disabled_ :: Text -> Attribute
disabled_ = Text -> Text -> Attribute
makeAttribute Text
"disabled"

-- | The @download@ attribute.
download_ :: Text -> Attribute
download_ :: Text -> Attribute
download_ = Text -> Text -> Attribute
makeAttribute Text
"download"

-- | The @draggable@ attribute.
draggable_ :: Text -> Attribute
draggable_ :: Text -> Attribute
draggable_ = Text -> Text -> Attribute
makeAttribute Text
"draggable"

-- | The @enctype@ attribute.
enctype_ :: Text -> Attribute
enctype_ :: Text -> Attribute
enctype_ = Text -> Text -> Attribute
makeAttribute Text
"enctype"

-- | The @for@ attribute.
for_ :: Text -> Attribute
for_ :: Text -> Attribute
for_ = Text -> Text -> Attribute
makeAttribute Text
"for"

-- | The @formaction@ attribute.
formaction_ :: Text -> Attribute
formaction_ :: Text -> Attribute
formaction_ = Text -> Text -> Attribute
makeAttribute Text
"formaction"

-- | The @formenctype@ attribute.
formenctype_ :: Text -> Attribute
formenctype_ :: Text -> Attribute
formenctype_ = Text -> Text -> Attribute
makeAttribute Text
"formenctype"

-- | The @formmethod@ attribute.
formmethod_ :: Text -> Attribute
formmethod_ :: Text -> Attribute
formmethod_ = Text -> Text -> Attribute
makeAttribute Text
"formmethod"

-- | The @formnovalidate@ attribute.
formnovalidate_ :: Text -> Attribute
formnovalidate_ :: Text -> Attribute
formnovalidate_ = Text -> Text -> Attribute
makeAttribute Text
"formnovalidate"

-- | The @formtarget@ attribute.
formtarget_ :: Text -> Attribute
formtarget_ :: Text -> Attribute
formtarget_ = Text -> Text -> Attribute
makeAttribute Text
"formtarget"

-- | The @headers@ attribute.
headers_ :: Text -> Attribute
headers_ :: Text -> Attribute
headers_ = Text -> Text -> Attribute
makeAttribute Text
"headers"

-- | The @height@ attribute.
height_ :: Text -> Attribute
height_ :: Text -> Attribute
height_ = Text -> Text -> Attribute
makeAttribute Text
"height"

-- | The @hidden@ attribute.
hidden_ :: Text -> Attribute
hidden_ :: Text -> Attribute
hidden_ = Text -> Text -> Attribute
makeAttribute Text
"hidden"

-- | The @high@ attribute.
high_ :: Text -> Attribute
high_ :: Text -> Attribute
high_ = Text -> Text -> Attribute
makeAttribute Text
"high"

-- | The @href@ attribute.
href_ :: Text -> Attribute
href_ :: Text -> Attribute
href_ = Text -> Text -> Attribute
makeAttribute Text
"href"

-- | The @hreflang@ attribute.
hreflang_ :: Text -> Attribute
hreflang_ :: Text -> Attribute
hreflang_ = Text -> Text -> Attribute
makeAttribute Text
"hreflang"

-- | The @httpEquiv@ attribute.
httpEquiv_ :: Text -> Attribute
httpEquiv_ :: Text -> Attribute
httpEquiv_ = Text -> Text -> Attribute
makeAttribute Text
"http-equiv"

-- | The @icon@ attribute.
icon_ :: Text -> Attribute
icon_ :: Text -> Attribute
icon_ = Text -> Text -> Attribute
makeAttribute Text
"icon"

-- | The @id@ attribute.
id_ :: Text -> Attribute
id_ :: Text -> Attribute
id_ = Text -> Text -> Attribute
makeAttribute Text
"id"

-- | The @integrity@ attribute.
--
-- @since 2.9.8
integrity_ :: Text -> Attribute
integrity_ :: Text -> Attribute
integrity_ = Text -> Text -> Attribute
makeAttribute Text
"integrity"

-- | The @ismap@ attribute.
ismap_ :: Text -> Attribute
ismap_ :: Text -> Attribute
ismap_ = Text -> Text -> Attribute
makeAttribute Text
"ismap"

-- | The @item@ attribute.
item_ :: Text -> Attribute
item_ :: Text -> Attribute
item_ = Text -> Text -> Attribute
makeAttribute Text
"item"

-- | The @itemprop@ attribute.
itemprop_ :: Text -> Attribute
itemprop_ :: Text -> Attribute
itemprop_ = Text -> Text -> Attribute
makeAttribute Text
"itemprop"

-- | The @keytype@ attribute.
keytype_ :: Text -> Attribute
keytype_ :: Text -> Attribute
keytype_ = Text -> Text -> Attribute
makeAttribute Text
"keytype"

-- | The @lang@ attribute.
lang_ :: Text -> Attribute
lang_ :: Text -> Attribute
lang_ = Text -> Text -> Attribute
makeAttribute Text
"lang"

-- | The @list@ attribute.
list_ :: Text -> Attribute
list_ :: Text -> Attribute
list_ = Text -> Text -> Attribute
makeAttribute Text
"list"

-- | The @loading@ attribute.
loading_ :: Text -> Attribute
loading_ :: Text -> Attribute
loading_ = Text -> Text -> Attribute
makeAttribute Text
"loading"

-- | The @loop@ attribute.
loop_ :: Text -> Attribute
loop_ :: Text -> Attribute
loop_ = Text -> Text -> Attribute
makeAttribute Text
"loop"

-- | The @low@ attribute.
low_ :: Text -> Attribute
low_ :: Text -> Attribute
low_ = Text -> Text -> Attribute
makeAttribute Text
"low"

-- | The @manifest@ attribute.
manifest_ :: Text -> Attribute
manifest_ :: Text -> Attribute
manifest_ = Text -> Text -> Attribute
makeAttribute Text
"manifest"

-- | The @max@ attribute.
max_ :: Text -> Attribute
max_ :: Text -> Attribute
max_ = Text -> Text -> Attribute
makeAttribute Text
"max"

-- | The @maxlength@ attribute.
maxlength_ :: Text -> Attribute
maxlength_ :: Text -> Attribute
maxlength_ = Text -> Text -> Attribute
makeAttribute Text
"maxlength"

-- | The @media@ attribute.
media_ :: Text -> Attribute
media_ :: Text -> Attribute
media_ = Text -> Text -> Attribute
makeAttribute Text
"media"

-- | The @method@ attribute.
method_ :: Text -> Attribute
method_ :: Text -> Attribute
method_ = Text -> Text -> Attribute
makeAttribute Text
"method"

-- | The @min@ attribute.
min_ :: Text -> Attribute
min_ :: Text -> Attribute
min_ = Text -> Text -> Attribute
makeAttribute Text
"min"

-- | The @minlength@ attribute.
minlength_ :: Text -> Attribute
minlength_ :: Text -> Attribute
minlength_ = Text -> Text -> Attribute
makeAttribute Text
"minlength"

-- | The @multiple@ attribute.
multiple_ :: Text -> Attribute
multiple_ :: Text -> Attribute
multiple_ = Text -> Text -> Attribute
makeAttribute Text
"multiple"

-- | The @name@ attribute.
name_ :: Text -> Attribute
name_ :: Text -> Attribute
name_ = Text -> Text -> Attribute
makeAttribute Text
"name"

-- | The @novalidate@ attribute.
novalidate_ :: Text -> Attribute
novalidate_ :: Text -> Attribute
novalidate_ = Text -> Text -> Attribute
makeAttribute Text
"novalidate"

-- | The @onbeforeonload@ attribute.
onbeforeonload_ :: Text -> Attribute
onbeforeonload_ :: Text -> Attribute
onbeforeonload_ = Text -> Text -> Attribute
makeAttribute Text
"onbeforeonload"

-- | The @onbeforeprint@ attribute.
onbeforeprint_ :: Text -> Attribute
onbeforeprint_ :: Text -> Attribute
onbeforeprint_ = Text -> Text -> Attribute
makeAttribute Text
"onbeforeprint"

-- | The @onblur@ attribute.
onblur_ :: Text -> Attribute
onblur_ :: Text -> Attribute
onblur_ = Text -> Text -> Attribute
makeAttribute Text
"onblur"

-- | The @oncanplay@ attribute.
oncanplay_ :: Text -> Attribute
oncanplay_ :: Text -> Attribute
oncanplay_ = Text -> Text -> Attribute
makeAttribute Text
"oncanplay"

-- | The @oncanplaythrough@ attribute.
oncanplaythrough_ :: Text -> Attribute
oncanplaythrough_ :: Text -> Attribute
oncanplaythrough_ = Text -> Text -> Attribute
makeAttribute Text
"oncanplaythrough"

-- | The @onchange@ attribute.
onchange_ :: Text -> Attribute
onchange_ :: Text -> Attribute
onchange_ = Text -> Text -> Attribute
makeAttribute Text
"onchange"

-- | The @onclick@ attribute.
onclick_ :: Text -> Attribute
onclick_ :: Text -> Attribute
onclick_ = Text -> Text -> Attribute
makeAttribute Text
"onclick"

-- | The @oncontextmenu@ attribute.
oncontextmenu_ :: Text -> Attribute
oncontextmenu_ :: Text -> Attribute
oncontextmenu_ = Text -> Text -> Attribute
makeAttribute Text
"oncontextmenu"

-- | The @ondblclick@ attribute.
ondblclick_ :: Text -> Attribute
ondblclick_ :: Text -> Attribute
ondblclick_ = Text -> Text -> Attribute
makeAttribute Text
"ondblclick"

-- | The @ondrag@ attribute.
ondrag_ :: Text -> Attribute
ondrag_ :: Text -> Attribute
ondrag_ = Text -> Text -> Attribute
makeAttribute Text
"ondrag"

-- | The @ondragend@ attribute.
ondragend_ :: Text -> Attribute
ondragend_ :: Text -> Attribute
ondragend_ = Text -> Text -> Attribute
makeAttribute Text
"ondragend"

-- | The @ondragenter@ attribute.
ondragenter_ :: Text -> Attribute
ondragenter_ :: Text -> Attribute
ondragenter_ = Text -> Text -> Attribute
makeAttribute Text
"ondragenter"

-- | The @ondragleave@ attribute.
ondragleave_ :: Text -> Attribute
ondragleave_ :: Text -> Attribute
ondragleave_ = Text -> Text -> Attribute
makeAttribute Text
"ondragleave"

-- | The @ondragover@ attribute.
ondragover_ :: Text -> Attribute
ondragover_ :: Text -> Attribute
ondragover_ = Text -> Text -> Attribute
makeAttribute Text
"ondragover"

-- | The @ondragstart@ attribute.
ondragstart_ :: Text -> Attribute
ondragstart_ :: Text -> Attribute
ondragstart_ = Text -> Text -> Attribute
makeAttribute Text
"ondragstart"

-- | The @ondrop@ attribute.
ondrop_ :: Text -> Attribute
ondrop_ :: Text -> Attribute
ondrop_ = Text -> Text -> Attribute
makeAttribute Text
"ondrop"

-- | The @ondurationchange@ attribute.
ondurationchange_ :: Text -> Attribute
ondurationchange_ :: Text -> Attribute
ondurationchange_ = Text -> Text -> Attribute
makeAttribute Text
"ondurationchange"

-- | The @onemptied@ attribute.
onemptied_ :: Text -> Attribute
onemptied_ :: Text -> Attribute
onemptied_ = Text -> Text -> Attribute
makeAttribute Text
"onemptied"

-- | The @onended@ attribute.
onended_ :: Text -> Attribute
onended_ :: Text -> Attribute
onended_ = Text -> Text -> Attribute
makeAttribute Text
"onended"

-- | The @onerror@ attribute.
onerror_ :: Text -> Attribute
onerror_ :: Text -> Attribute
onerror_ = Text -> Text -> Attribute
makeAttribute Text
"onerror"

-- | The @onfocus@ attribute.
onfocus_ :: Text -> Attribute
onfocus_ :: Text -> Attribute
onfocus_ = Text -> Text -> Attribute
makeAttribute Text
"onfocus"

-- | The @onformchange@ attribute.
onformchange_ :: Text -> Attribute
onformchange_ :: Text -> Attribute
onformchange_ = Text -> Text -> Attribute
makeAttribute Text
"onformchange"

-- | The @onforminput@ attribute.
onforminput_ :: Text -> Attribute
onforminput_ :: Text -> Attribute
onforminput_ = Text -> Text -> Attribute
makeAttribute Text
"onforminput"

-- | The @onhaschange@ attribute.
onhaschange_ :: Text -> Attribute
onhaschange_ :: Text -> Attribute
onhaschange_ = Text -> Text -> Attribute
makeAttribute Text
"onhaschange"

-- | The @oninput@ attribute.
oninput_ :: Text -> Attribute
oninput_ :: Text -> Attribute
oninput_ = Text -> Text -> Attribute
makeAttribute Text
"oninput"

-- | The @oninvalid@ attribute.
oninvalid_ :: Text -> Attribute
oninvalid_ :: Text -> Attribute
oninvalid_ = Text -> Text -> Attribute
makeAttribute Text
"oninvalid"

-- | The @onkeydown@ attribute.
onkeydown_ :: Text -> Attribute
onkeydown_ :: Text -> Attribute
onkeydown_ = Text -> Text -> Attribute
makeAttribute Text
"onkeydown"

-- | The @onkeyup@ attribute.
onkeyup_ :: Text -> Attribute
onkeyup_ :: Text -> Attribute
onkeyup_ = Text -> Text -> Attribute
makeAttribute Text
"onkeyup"

-- | The @onload@ attribute.
onload_ :: Text -> Attribute
onload_ :: Text -> Attribute
onload_ = Text -> Text -> Attribute
makeAttribute Text
"onload"

-- | The @onloadeddata@ attribute.
onloadeddata_ :: Text -> Attribute
onloadeddata_ :: Text -> Attribute
onloadeddata_ = Text -> Text -> Attribute
makeAttribute Text
"onloadeddata"

-- | The @onloadedmetadata@ attribute.
onloadedmetadata_ :: Text -> Attribute
onloadedmetadata_ :: Text -> Attribute
onloadedmetadata_ = Text -> Text -> Attribute
makeAttribute Text
"onloadedmetadata"

-- | The @onloadstart@ attribute.
onloadstart_ :: Text -> Attribute
onloadstart_ :: Text -> Attribute
onloadstart_ = Text -> Text -> Attribute
makeAttribute Text
"onloadstart"

-- | The @onmessage@ attribute.
onmessage_ :: Text -> Attribute
onmessage_ :: Text -> Attribute
onmessage_ = Text -> Text -> Attribute
makeAttribute Text
"onmessage"

-- | The @onmousedown@ attribute.
onmousedown_ :: Text -> Attribute
onmousedown_ :: Text -> Attribute
onmousedown_ = Text -> Text -> Attribute
makeAttribute Text
"onmousedown"

-- | The @onmousemove@ attribute.
onmousemove_ :: Text -> Attribute
onmousemove_ :: Text -> Attribute
onmousemove_ = Text -> Text -> Attribute
makeAttribute Text
"onmousemove"

-- | The @onmouseout@ attribute.
onmouseout_ :: Text -> Attribute
onmouseout_ :: Text -> Attribute
onmouseout_ = Text -> Text -> Attribute
makeAttribute Text
"onmouseout"

-- | The @onmouseover@ attribute.
onmouseover_ :: Text -> Attribute
onmouseover_ :: Text -> Attribute
onmouseover_ = Text -> Text -> Attribute
makeAttribute Text
"onmouseover"

-- | The @onmouseup@ attribute.
onmouseup_ :: Text -> Attribute
onmouseup_ :: Text -> Attribute
onmouseup_ = Text -> Text -> Attribute
makeAttribute Text
"onmouseup"

-- | The @onmousewheel@ attribute.
onmousewheel_ :: Text -> Attribute
onmousewheel_ :: Text -> Attribute
onmousewheel_ = Text -> Text -> Attribute
makeAttribute Text
"onmousewheel"

-- | The @ononline@ attribute.
ononline_ :: Text -> Attribute
ononline_ :: Text -> Attribute
ononline_ = Text -> Text -> Attribute
makeAttribute Text
"ononline"

-- | The @onpagehide@ attribute.
onpagehide_ :: Text -> Attribute
onpagehide_ :: Text -> Attribute
onpagehide_ = Text -> Text -> Attribute
makeAttribute Text
"onpagehide"

-- | The @onpageshow@ attribute.
onpageshow_ :: Text -> Attribute
onpageshow_ :: Text -> Attribute
onpageshow_ = Text -> Text -> Attribute
makeAttribute Text
"onpageshow"

-- | The @onpause@ attribute.
onpause_ :: Text -> Attribute
onpause_ :: Text -> Attribute
onpause_ = Text -> Text -> Attribute
makeAttribute Text
"onpause"

-- | The @onplay@ attribute.
onplay_ :: Text -> Attribute
onplay_ :: Text -> Attribute
onplay_ = Text -> Text -> Attribute
makeAttribute Text
"onplay"

-- | The @onplaying@ attribute.
onplaying_ :: Text -> Attribute
onplaying_ :: Text -> Attribute
onplaying_ = Text -> Text -> Attribute
makeAttribute Text
"onplaying"

-- | The @onprogress@ attribute.
onprogress_ :: Text -> Attribute
onprogress_ :: Text -> Attribute
onprogress_ = Text -> Text -> Attribute
makeAttribute Text
"onprogress"

-- | The @onpropstate@ attribute.
onpropstate_ :: Text -> Attribute
onpropstate_ :: Text -> Attribute
onpropstate_ = Text -> Text -> Attribute
makeAttribute Text
"onpropstate"

-- | The @onratechange@ attribute.
onratechange_ :: Text -> Attribute
onratechange_ :: Text -> Attribute
onratechange_ = Text -> Text -> Attribute
makeAttribute Text
"onratechange"

-- | The @onreadystatechange@ attribute.
onreadystatechange_ :: Text -> Attribute
onreadystatechange_ :: Text -> Attribute
onreadystatechange_ = Text -> Text -> Attribute
makeAttribute Text
"onreadystatechange"

-- | The @onredo@ attribute.
onredo_ :: Text -> Attribute
onredo_ :: Text -> Attribute
onredo_ = Text -> Text -> Attribute
makeAttribute Text
"onredo"

-- | The @onresize@ attribute.
onresize_ :: Text -> Attribute
onresize_ :: Text -> Attribute
onresize_ = Text -> Text -> Attribute
makeAttribute Text
"onresize"

-- | The @onscroll@ attribute.
onscroll_ :: Text -> Attribute
onscroll_ :: Text -> Attribute
onscroll_ = Text -> Text -> Attribute
makeAttribute Text
"onscroll"

-- | The @onseeked@ attribute.
onseeked_ :: Text -> Attribute
onseeked_ :: Text -> Attribute
onseeked_ = Text -> Text -> Attribute
makeAttribute Text
"onseeked"

-- | The @onseeking@ attribute.
onseeking_ :: Text -> Attribute
onseeking_ :: Text -> Attribute
onseeking_ = Text -> Text -> Attribute
makeAttribute Text
"onseeking"

-- | The @onselect@ attribute.
onselect_ :: Text -> Attribute
onselect_ :: Text -> Attribute
onselect_ = Text -> Text -> Attribute
makeAttribute Text
"onselect"

-- | The @onstalled@ attribute.
onstalled_ :: Text -> Attribute
onstalled_ :: Text -> Attribute
onstalled_ = Text -> Text -> Attribute
makeAttribute Text
"onstalled"

-- | The @onstorage@ attribute.
onstorage_ :: Text -> Attribute
onstorage_ :: Text -> Attribute
onstorage_ = Text -> Text -> Attribute
makeAttribute Text
"onstorage"

-- | The @onsubmit@ attribute.
onsubmit_ :: Text -> Attribute
onsubmit_ :: Text -> Attribute
onsubmit_ = Text -> Text -> Attribute
makeAttribute Text
"onsubmit"

-- | The @onsuspend@ attribute.
onsuspend_ :: Text -> Attribute
onsuspend_ :: Text -> Attribute
onsuspend_ = Text -> Text -> Attribute
makeAttribute Text
"onsuspend"

-- | The @ontimeupdate@ attribute.
ontimeupdate_ :: Text -> Attribute
ontimeupdate_ :: Text -> Attribute
ontimeupdate_ = Text -> Text -> Attribute
makeAttribute Text
"ontimeupdate"

-- | The @onundo@ attribute.
onundo_ :: Text -> Attribute
onundo_ :: Text -> Attribute
onundo_ = Text -> Text -> Attribute
makeAttribute Text
"onundo"

-- | The @onunload@ attribute.
onunload_ :: Text -> Attribute
onunload_ :: Text -> Attribute
onunload_ = Text -> Text -> Attribute
makeAttribute Text
"onunload"

-- | The @onvolumechange@ attribute.
onvolumechange_ :: Text -> Attribute
onvolumechange_ :: Text -> Attribute
onvolumechange_ = Text -> Text -> Attribute
makeAttribute Text
"onvolumechange"

-- | The @onwaiting@ attribute.
onwaiting_ :: Text -> Attribute
onwaiting_ :: Text -> Attribute
onwaiting_ = Text -> Text -> Attribute
makeAttribute Text
"onwaiting"

-- | The @open@ attribute.
open_ :: Text -> Attribute
open_ :: Text -> Attribute
open_ = Text -> Text -> Attribute
makeAttribute Text
"open"

-- | The @optimum@ attribute.
optimum_ :: Text -> Attribute
optimum_ :: Text -> Attribute
optimum_ = Text -> Text -> Attribute
makeAttribute Text
"optimum"

-- | The @pattern@ attribute.
pattern_ :: Text -> Attribute
pattern_ :: Text -> Attribute
pattern_ = Text -> Text -> Attribute
makeAttribute Text
"pattern"

-- | The @ping@ attribute.
ping_ :: Text -> Attribute
ping_ :: Text -> Attribute
ping_ = Text -> Text -> Attribute
makeAttribute Text
"ping"

-- | The @placeholder@ attribute.
placeholder_ :: Text -> Attribute
placeholder_ :: Text -> Attribute
placeholder_ = Text -> Text -> Attribute
makeAttribute Text
"placeholder"

-- | The @poster@ attribute.
poster_ :: Text -> Attribute
poster_ :: Text -> Attribute
poster_ = Text -> Text -> Attribute
makeAttribute Text
"poster"

-- | The @preload@ attribute.
preload_ :: Text -> Attribute
preload_ :: Text -> Attribute
preload_ = Text -> Text -> Attribute
makeAttribute Text
"preload"

-- | The @pubdate@ attribute.
pubdate_ :: Text -> Attribute
pubdate_ :: Text -> Attribute
pubdate_ = Text -> Text -> Attribute
makeAttribute Text
"pubdate"

-- | The @radiogroup@ attribute.
radiogroup_ :: Text -> Attribute
radiogroup_ :: Text -> Attribute
radiogroup_ = Text -> Text -> Attribute
makeAttribute Text
"radiogroup"

-- | The @readonly@ attribute.
readonly_ :: Text -> Attribute
readonly_ :: Text -> Attribute
readonly_ = Text -> Text -> Attribute
makeAttribute Text
"readonly"

-- | The @rel@ attribute.
rel_ :: Text -> Attribute
rel_ :: Text -> Attribute
rel_ = Text -> Text -> Attribute
makeAttribute Text
"rel"

-- | The @required@ attribute.
required_ :: Text -> Attribute
required_ :: Text -> Attribute
required_ = Text -> Text -> Attribute
makeAttribute Text
"required"

-- | The @reversed@ attribute.
reversed_ :: Text -> Attribute
reversed_ :: Text -> Attribute
reversed_ = Text -> Text -> Attribute
makeAttribute Text
"reversed"

-- | The @role@ attribute.
role_ :: Text -> Attribute
role_ :: Text -> Attribute
role_ = Text -> Text -> Attribute
makeAttribute Text
"role"

-- | The @rows@ attribute.
rows_ :: Text -> Attribute
rows_ :: Text -> Attribute
rows_ = Text -> Text -> Attribute
makeAttribute Text
"rows"

-- | The @rowspan@ attribute.
rowspan_ :: Text -> Attribute
rowspan_ :: Text -> Attribute
rowspan_ = Text -> Text -> Attribute
makeAttribute Text
"rowspan"

-- | The @sandbox@ attribute.
sandbox_ :: Text -> Attribute
sandbox_ :: Text -> Attribute
sandbox_ = Text -> Text -> Attribute
makeAttribute Text
"sandbox"

-- | The @scope@ attribute.
scope_ :: Text -> Attribute
scope_ :: Text -> Attribute
scope_ = Text -> Text -> Attribute
makeAttribute Text
"scope"

-- | The @scoped@ attribute.
scoped_ :: Text -> Attribute
scoped_ :: Text -> Attribute
scoped_ = Text -> Text -> Attribute
makeAttribute Text
"scoped"

-- | The @seamless@ attribute.
seamless_ :: Text -> Attribute
seamless_ :: Text -> Attribute
seamless_ = Text -> Text -> Attribute
makeAttribute Text
"seamless"

-- | The @selected@ attribute.
selected_ :: Text -> Attribute
selected_ :: Text -> Attribute
selected_ = Text -> Text -> Attribute
makeAttribute Text
"selected"

-- | The @shape@ attribute.
shape_ :: Text -> Attribute
shape_ :: Text -> Attribute
shape_ = Text -> Text -> Attribute
makeAttribute Text
"shape"

-- | The @size@ attribute.
size_ :: Text -> Attribute
size_ :: Text -> Attribute
size_ = Text -> Text -> Attribute
makeAttribute Text
"size"

-- | The @sizes@ attribute.
sizes_ :: Text -> Attribute
sizes_ :: Text -> Attribute
sizes_ = Text -> Text -> Attribute
makeAttribute Text
"sizes"

-- | The @spellcheck@ attribute.
spellcheck_ :: Text -> Attribute
spellcheck_ :: Text -> Attribute
spellcheck_ = Text -> Text -> Attribute
makeAttribute Text
"spellcheck"

-- | The @src@ attribute.
src_ :: Text -> Attribute
src_ :: Text -> Attribute
src_ = Text -> Text -> Attribute
makeAttribute Text
"src"

-- | The @srcdoc@ attribute.
srcdoc_ :: Text -> Attribute
srcdoc_ :: Text -> Attribute
srcdoc_ = Text -> Text -> Attribute
makeAttribute Text
"srcdoc"

-- | The @start@ attribute.
start_ :: Text -> Attribute
start_ :: Text -> Attribute
start_ = Text -> Text -> Attribute
makeAttribute Text
"start"

-- | The @step@ attribute.
step_ :: Text -> Attribute
step_ :: Text -> Attribute
step_ = Text -> Text -> Attribute
makeAttribute Text
"step"

-- | The @subject@ attribute.
subject_ :: Text -> Attribute
subject_ :: Text -> Attribute
subject_ = Text -> Text -> Attribute
makeAttribute Text
"subject"

-- | The @tabindex@ attribute.
tabindex_ :: Text -> Attribute
tabindex_ :: Text -> Attribute
tabindex_ = Text -> Text -> Attribute
makeAttribute Text
"tabindex"

-- | The @target@ attribute.
target_ :: Text -> Attribute
target_ :: Text -> Attribute
target_ = Text -> Text -> Attribute
makeAttribute Text
"target"

-- | The @type@ attribute.
type_ :: Text -> Attribute
type_ :: Text -> Attribute
type_ = Text -> Text -> Attribute
makeAttribute Text
"type"

-- | The @usemap@ attribute.
usemap_ :: Text -> Attribute
usemap_ :: Text -> Attribute
usemap_ = Text -> Text -> Attribute
makeAttribute Text
"usemap"

-- | The @value@ attribute.
value_ :: Text -> Attribute
value_ :: Text -> Attribute
value_ = Text -> Text -> Attribute
makeAttribute Text
"value"

-- | The @width@ attribute.
width_ :: Text -> Attribute
width_ :: Text -> Attribute
width_ = Text -> Text -> Attribute
makeAttribute Text
"width"

-- | The @wrap@ attribute.
wrap_ :: Text -> Attribute
wrap_ :: Text -> Attribute
wrap_ = Text -> Text -> Attribute
makeAttribute Text
"wrap"

-- | The @xmlns@ attribute.
xmlns_ :: Text -> Attribute
xmlns_ :: Text -> Attribute
xmlns_ = Text -> Text -> Attribute
makeAttribute Text
"xmlns"