{-# LANGUAGE CPP #-}
-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:69
--
{-# LANGUAGE OverloadedStrings #-}
-- | This module exports SVG combinators used to create documents.
--
module Text.Blaze.Svg11
    ( module Text.Blaze
    , module Text.Blaze.Svg
    , docType
    , docTypeSvg
    , a
    , altglyph
    , altglyphdef
    , altglyphitem
    , animate
    , animatecolor
    , animatemotion
    , animatetransform
    , circle
    , clippath
    , colorProfile
    , cursor
    , defs
    , desc
    , ellipse
    , feblend
    , fecolormatrix
    , fecomponenttransfer
    , fecomposite
    , feconvolvematrix
    , fediffuselighting
    , fedisplacementmap
    , fedistantlight
    , feflood
    , fefunca
    , fefuncb
    , fefuncg
    , fefuncr
    , fegaussianblur
    , feimage
    , femerge
    , femergenode
    , femorphology
    , feoffset
    , fepointlight
    , fespecularlighting
    , fespotlight
    , fetile
    , feturbulence
    , filter_
    , font
    , fontFace
    , fontFaceFormat
    , fontFaceName
    , fontFaceSrc
    , fontFaceUri
    , foreignobject
    , g
    , glyph
    , glyphref
    , hkern
    , image
    , line
    , lineargradient
    , marker
    , mask
    , metadata
    , missingGlyph
    , mpath
    , path
    , pattern
    , polygon
    , polyline
    , radialgradient
    , rect
    , script
    , set
    , stop
    , style
    , svg
    , switch
    , symbol
    , text_
    , textpath
    , title
    , tref
    , tspan
    , use
    , view
    , vkern
    ) where

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:78
--
import Prelude ((>>), (.), ($))

import Text.Blaze
import Text.Blaze.Svg
import Text.Blaze.Internal

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:157
--
-- | Combinator for the document type. This should be placed at the top
-- of every SVG page.
--
-- > <?xml version="1.0" encoding="UTF-8"?>
-- > <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
-- >     "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
--
docType :: Svg  -- ^ The document type SVG.
docType :: Svg
docType = Text -> Svg
preEscapedText "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n    \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"
{-# INLINE docType #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:172
--
-- | Combinator for the @\<svg>@ element. This combinator will also
-- insert the correct doctype.
--
docTypeSvg :: Svg  -- ^ Inner SVG.
            -> Svg  -- ^ Resulting SVG.
docTypeSvg :: Svg -> Svg
docTypeSvg inner :: Svg
inner = Svg
docType Svg -> Svg -> Svg
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> (Svg -> Svg
svg (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! Tag -> Tag -> AttributeValue -> Attribute
attribute "xmlns" " xmlns=\"" "http://www.w3.org/2000/svg" (Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! Tag -> Tag -> AttributeValue -> Attribute
attribute "xmlns:xlink" " xmlns:xlink=\"" "http://www.w3.org/1999/xlink"  (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ Svg
inner)
{-# INLINE docTypeSvg #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<a>@ element.
--
a :: Svg  -- ^ Inner SVG.
  -> Svg  -- ^ Resulting SVG.
a :: Svg -> Svg
a = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "a" "<a" "</a>"
{-# INLINE a #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<altGlyph>@ element.
--
altglyph :: Svg  -- ^ Inner SVG.
         -> Svg  -- ^ Resulting SVG.
altglyph :: Svg -> Svg
altglyph = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "altGlyph" "<altGlyph" "</altGlyph>"
{-# INLINE altglyph #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<altGlyphDef />@ element.
--
altglyphdef :: Svg  -- ^ Resulting SVG.
altglyphdef :: Svg
altglyphdef = StaticString -> StaticString -> StaticString -> Svg
leaf "altGlyphDef" "<altGlyphDef" " />"
{-# INLINE altglyphdef #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<altGlyphItem />@ element.
--
altglyphitem :: Svg  -- ^ Resulting SVG.
altglyphitem :: Svg
altglyphitem = StaticString -> StaticString -> StaticString -> Svg
leaf "altGlyphItem" "<altGlyphItem" " />"
{-# INLINE altglyphitem #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<animate />@ element.
--
animate :: Svg  -- ^ Resulting SVG.
animate :: Svg
animate = StaticString -> StaticString -> StaticString -> Svg
leaf "animate" "<animate" " />"
{-# INLINE animate #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<animateColor />@ element.
--
animatecolor :: Svg  -- ^ Resulting SVG.
animatecolor :: Svg
animatecolor = StaticString -> StaticString -> StaticString -> Svg
leaf "animateColor" "<animateColor" " />"
{-# INLINE animatecolor #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<animateMotion />@ element.
--
animatemotion :: Svg  -- ^ Resulting SVG.
animatemotion :: Svg
animatemotion = StaticString -> StaticString -> StaticString -> Svg
leaf "animateMotion" "<animateMotion" " />"
{-# INLINE animatemotion #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<animateTransform />@ element.
--
animatetransform :: Svg  -- ^ Resulting SVG.
animatetransform :: Svg
animatetransform = StaticString -> StaticString -> StaticString -> Svg
leaf "animateTransform" "<animateTransform" " />"
{-# INLINE animatetransform #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<circle />@ element.
--
circle :: Svg  -- ^ Resulting SVG.
circle :: Svg
circle = StaticString -> StaticString -> StaticString -> Svg
leaf "circle" "<circle" " />"
{-# INLINE circle #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<clipPath>@ element.
--
clippath :: Svg  -- ^ Inner SVG.
         -> Svg  -- ^ Resulting SVG.
clippath :: Svg -> Svg
clippath = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "clipPath" "<clipPath" "</clipPath>"
{-# INLINE clippath #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<color-profile />@ element.
--
colorProfile :: Svg  -- ^ Resulting SVG.
colorProfile :: Svg
colorProfile = StaticString -> StaticString -> StaticString -> Svg
leaf "color-profile" "<color-profile" " />"
{-# INLINE colorProfile #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<cursor />@ element.
--
cursor :: Svg  -- ^ Resulting SVG.
cursor :: Svg
cursor = StaticString -> StaticString -> StaticString -> Svg
leaf "cursor" "<cursor" " />"
{-# INLINE cursor #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<defs>@ element.
--
defs :: Svg  -- ^ Inner SVG.
     -> Svg  -- ^ Resulting SVG.
defs :: Svg -> Svg
defs = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "defs" "<defs" "</defs>"
{-# INLINE defs #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<desc>@ element.
--
desc :: Svg  -- ^ Inner SVG.
     -> Svg  -- ^ Resulting SVG.
desc :: Svg -> Svg
desc = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "desc" "<desc" "</desc>"
{-# INLINE desc #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<ellipse />@ element.
--
ellipse :: Svg  -- ^ Resulting SVG.
ellipse :: Svg
ellipse = StaticString -> StaticString -> StaticString -> Svg
leaf "ellipse" "<ellipse" " />"
{-# INLINE ellipse #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feBlend />@ element.
--
feblend :: Svg  -- ^ Resulting SVG.
feblend :: Svg
feblend = StaticString -> StaticString -> StaticString -> Svg
leaf "feBlend" "<feBlend" " />"
{-# INLINE feblend #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feColorMatrix />@ element.
--
fecolormatrix :: Svg  -- ^ Resulting SVG.
fecolormatrix :: Svg
fecolormatrix = StaticString -> StaticString -> StaticString -> Svg
leaf "feColorMatrix" "<feColorMatrix" " />"
{-# INLINE fecolormatrix #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feComponentTransfer />@ element.
--
fecomponenttransfer :: Svg  -- ^ Resulting SVG.
fecomponenttransfer :: Svg
fecomponenttransfer = StaticString -> StaticString -> StaticString -> Svg
leaf "feComponentTransfer" "<feComponentTransfer" " />"
{-# INLINE fecomponenttransfer #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feComposite />@ element.
--
fecomposite :: Svg  -- ^ Resulting SVG.
fecomposite :: Svg
fecomposite = StaticString -> StaticString -> StaticString -> Svg
leaf "feComposite" "<feComposite" " />"
{-# INLINE fecomposite #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feConvolveMatrix />@ element.
--
feconvolvematrix :: Svg  -- ^ Resulting SVG.
feconvolvematrix :: Svg
feconvolvematrix = StaticString -> StaticString -> StaticString -> Svg
leaf "feConvolveMatrix" "<feConvolveMatrix" " />"
{-# INLINE feconvolvematrix #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feDiffuseLighting />@ element.
--
fediffuselighting :: Svg  -- ^ Resulting SVG.
fediffuselighting :: Svg
fediffuselighting = StaticString -> StaticString -> StaticString -> Svg
leaf "feDiffuseLighting" "<feDiffuseLighting" " />"
{-# INLINE fediffuselighting #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feDisplacementMap />@ element.
--
fedisplacementmap :: Svg  -- ^ Resulting SVG.
fedisplacementmap :: Svg
fedisplacementmap = StaticString -> StaticString -> StaticString -> Svg
leaf "feDisplacementMap" "<feDisplacementMap" " />"
{-# INLINE fedisplacementmap #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feDistantLight />@ element.
--
fedistantlight :: Svg  -- ^ Resulting SVG.
fedistantlight :: Svg
fedistantlight = StaticString -> StaticString -> StaticString -> Svg
leaf "feDistantLight" "<feDistantLight" " />"
{-# INLINE fedistantlight #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feFlood />@ element.
--
feflood :: Svg  -- ^ Resulting SVG.
feflood :: Svg
feflood = StaticString -> StaticString -> StaticString -> Svg
leaf "feFlood" "<feFlood" " />"
{-# INLINE feflood #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feFuncA />@ element.
--
fefunca :: Svg  -- ^ Resulting SVG.
fefunca :: Svg
fefunca = StaticString -> StaticString -> StaticString -> Svg
leaf "feFuncA" "<feFuncA" " />"
{-# INLINE fefunca #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feFuncB />@ element.
--
fefuncb :: Svg  -- ^ Resulting SVG.
fefuncb :: Svg
fefuncb = StaticString -> StaticString -> StaticString -> Svg
leaf "feFuncB" "<feFuncB" " />"
{-# INLINE fefuncb #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feFuncG />@ element.
--
fefuncg :: Svg  -- ^ Resulting SVG.
fefuncg :: Svg
fefuncg = StaticString -> StaticString -> StaticString -> Svg
leaf "feFuncG" "<feFuncG" " />"
{-# INLINE fefuncg #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feFuncR />@ element.
--
fefuncr :: Svg  -- ^ Resulting SVG.
fefuncr :: Svg
fefuncr = StaticString -> StaticString -> StaticString -> Svg
leaf "feFuncR" "<feFuncR" " />"
{-# INLINE fefuncr #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feGaussianBlur />@ element.
--
fegaussianblur :: Svg  -- ^ Resulting SVG.
fegaussianblur :: Svg
fegaussianblur = StaticString -> StaticString -> StaticString -> Svg
leaf "feGaussianBlur" "<feGaussianBlur" " />"
{-# INLINE fegaussianblur #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feImage />@ element.
--
feimage :: Svg  -- ^ Resulting SVG.
feimage :: Svg
feimage = StaticString -> StaticString -> StaticString -> Svg
leaf "feImage" "<feImage" " />"
{-# INLINE feimage #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feMerge />@ element.
--
femerge :: Svg  -- ^ Resulting SVG.
femerge :: Svg
femerge = StaticString -> StaticString -> StaticString -> Svg
leaf "feMerge" "<feMerge" " />"
{-# INLINE femerge #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feMergeNode />@ element.
--
femergenode :: Svg  -- ^ Resulting SVG.
femergenode :: Svg
femergenode = StaticString -> StaticString -> StaticString -> Svg
leaf "feMergeNode" "<feMergeNode" " />"
{-# INLINE femergenode #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feMorphology />@ element.
--
femorphology :: Svg  -- ^ Resulting SVG.
femorphology :: Svg
femorphology = StaticString -> StaticString -> StaticString -> Svg
leaf "feMorphology" "<feMorphology" " />"
{-# INLINE femorphology #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feOffset />@ element.
--
feoffset :: Svg  -- ^ Resulting SVG.
feoffset :: Svg
feoffset = StaticString -> StaticString -> StaticString -> Svg
leaf "feOffset" "<feOffset" " />"
{-# INLINE feoffset #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<fePointLight />@ element.
--
fepointlight :: Svg  -- ^ Resulting SVG.
fepointlight :: Svg
fepointlight = StaticString -> StaticString -> StaticString -> Svg
leaf "fePointLight" "<fePointLight" " />"
{-# INLINE fepointlight #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feSpecularLighting />@ element.
--
fespecularlighting :: Svg  -- ^ Resulting SVG.
fespecularlighting :: Svg
fespecularlighting = StaticString -> StaticString -> StaticString -> Svg
leaf "feSpecularLighting" "<feSpecularLighting" " />"
{-# INLINE fespecularlighting #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feSpotLight />@ element.
--
fespotlight :: Svg  -- ^ Resulting SVG.
fespotlight :: Svg
fespotlight = StaticString -> StaticString -> StaticString -> Svg
leaf "feSpotLight" "<feSpotLight" " />"
{-# INLINE fespotlight #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feTile />@ element.
--
fetile :: Svg  -- ^ Resulting SVG.
fetile :: Svg
fetile = StaticString -> StaticString -> StaticString -> Svg
leaf "feTile" "<feTile" " />"
{-# INLINE fetile #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<feTurbulence />@ element.
--
feturbulence :: Svg  -- ^ Resulting SVG.
feturbulence :: Svg
feturbulence = StaticString -> StaticString -> StaticString -> Svg
leaf "feTurbulence" "<feTurbulence" " />"
{-# INLINE feturbulence #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<filter />@ element.
--
filter_ :: Svg  -- ^ Resulting SVG.
filter_ :: Svg
filter_ = StaticString -> StaticString -> StaticString -> Svg
leaf "filter" "<filter" " />"
{-# INLINE filter_ #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<font />@ element.
--
font :: Svg  -- ^ Resulting SVG.
font :: Svg
font = StaticString -> StaticString -> StaticString -> Svg
leaf "font" "<font" " />"
{-# INLINE font #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<font-face />@ element.
--
fontFace :: Svg  -- ^ Resulting SVG.
fontFace :: Svg
fontFace = StaticString -> StaticString -> StaticString -> Svg
leaf "font-face" "<font-face" " />"
{-# INLINE fontFace #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<font-face-format />@ element.
--
fontFaceFormat :: Svg  -- ^ Resulting SVG.
fontFaceFormat :: Svg
fontFaceFormat = StaticString -> StaticString -> StaticString -> Svg
leaf "font-face-format" "<font-face-format" " />"
{-# INLINE fontFaceFormat #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<font-face-name />@ element.
--
fontFaceName :: Svg  -- ^ Resulting SVG.
fontFaceName :: Svg
fontFaceName = StaticString -> StaticString -> StaticString -> Svg
leaf "font-face-name" "<font-face-name" " />"
{-# INLINE fontFaceName #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<font-face-src />@ element.
--
fontFaceSrc :: Svg  -- ^ Resulting SVG.
fontFaceSrc :: Svg
fontFaceSrc = StaticString -> StaticString -> StaticString -> Svg
leaf "font-face-src" "<font-face-src" " />"
{-# INLINE fontFaceSrc #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<font-face-uri />@ element.
--
fontFaceUri :: Svg  -- ^ Resulting SVG.
fontFaceUri :: Svg
fontFaceUri = StaticString -> StaticString -> StaticString -> Svg
leaf "font-face-uri" "<font-face-uri" " />"
{-# INLINE fontFaceUri #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<foreignObject>@ element.
--
foreignobject :: Svg  -- ^ Inner SVG.
              -> Svg  -- ^ Resulting SVG.
foreignobject :: Svg -> Svg
foreignobject = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "foreignObject" "<foreignObject" "</foreignObject>"
{-# INLINE foreignobject #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<g>@ element.
--
g :: Svg  -- ^ Inner SVG.
  -> Svg  -- ^ Resulting SVG.
g :: Svg -> Svg
g = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "g" "<g" "</g>"
{-# INLINE g #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<glyph>@ element.
--
glyph :: Svg  -- ^ Inner SVG.
      -> Svg  -- ^ Resulting SVG.
glyph :: Svg -> Svg
glyph = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "glyph" "<glyph" "</glyph>"
{-# INLINE glyph #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<glyphRef />@ element.
--
glyphref :: Svg  -- ^ Resulting SVG.
glyphref :: Svg
glyphref = StaticString -> StaticString -> StaticString -> Svg
leaf "glyphRef" "<glyphRef" " />"
{-# INLINE glyphref #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<hkern />@ element.
--
hkern :: Svg  -- ^ Resulting SVG.
hkern :: Svg
hkern = StaticString -> StaticString -> StaticString -> Svg
leaf "hkern" "<hkern" " />"
{-# INLINE hkern #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<image />@ element.
--
image :: Svg  -- ^ Resulting SVG.
image :: Svg
image = StaticString -> StaticString -> StaticString -> Svg
leaf "image" "<image" " />"
{-# INLINE image #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<line />@ element.
--
line :: Svg  -- ^ Resulting SVG.
line :: Svg
line = StaticString -> StaticString -> StaticString -> Svg
leaf "line" "<line" " />"
{-# INLINE line #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<linearGradient>@ element.
--
lineargradient :: Svg  -- ^ Inner SVG.
               -> Svg  -- ^ Resulting SVG.
lineargradient :: Svg -> Svg
lineargradient = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "linearGradient" "<linearGradient" "</linearGradient>"
{-# INLINE lineargradient #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<marker>@ element.
--
marker :: Svg  -- ^ Inner SVG.
       -> Svg  -- ^ Resulting SVG.
marker :: Svg -> Svg
marker = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "marker" "<marker" "</marker>"
{-# INLINE marker #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<mask>@ element.
--
mask :: Svg  -- ^ Inner SVG.
     -> Svg  -- ^ Resulting SVG.
mask :: Svg -> Svg
mask = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "mask" "<mask" "</mask>"
{-# INLINE mask #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<metadata>@ element.
--
metadata :: Svg  -- ^ Inner SVG.
         -> Svg  -- ^ Resulting SVG.
metadata :: Svg -> Svg
metadata = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "metadata" "<metadata" "</metadata>"
{-# INLINE metadata #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<missing-glyph>@ element.
--
missingGlyph :: Svg  -- ^ Inner SVG.
             -> Svg  -- ^ Resulting SVG.
missingGlyph :: Svg -> Svg
missingGlyph = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "missing-glyph" "<missing-glyph" "</missing-glyph>"
{-# INLINE missingGlyph #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<mpath />@ element.
--
mpath :: Svg  -- ^ Resulting SVG.
mpath :: Svg
mpath = StaticString -> StaticString -> StaticString -> Svg
leaf "mpath" "<mpath" " />"
{-# INLINE mpath #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<path />@ element.
--
path :: Svg  -- ^ Resulting SVG.
path :: Svg
path = StaticString -> StaticString -> StaticString -> Svg
leaf "path" "<path" " />"
{-# INLINE path #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<pattern>@ element.
--
pattern :: Svg  -- ^ Inner SVG.
        -> Svg  -- ^ Resulting SVG.
pattern :: Svg -> Svg
pattern = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "pattern" "<pattern" "</pattern>"
{-# INLINE pattern #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<polygon />@ element.
--
polygon :: Svg  -- ^ Resulting SVG.
polygon :: Svg
polygon = StaticString -> StaticString -> StaticString -> Svg
leaf "polygon" "<polygon" " />"
{-# INLINE polygon #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<polyline />@ element.
--
polyline :: Svg  -- ^ Resulting SVG.
polyline :: Svg
polyline = StaticString -> StaticString -> StaticString -> Svg
leaf "polyline" "<polyline" " />"
{-# INLINE polyline #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<radialGradient>@ element.
--
radialgradient :: Svg  -- ^ Inner SVG.
               -> Svg  -- ^ Resulting SVG.
radialgradient :: Svg -> Svg
radialgradient = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "radialGradient" "<radialGradient" "</radialGradient>"
{-# INLINE radialgradient #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<rect />@ element.
--
rect :: Svg  -- ^ Resulting SVG.
rect :: Svg
rect = StaticString -> StaticString -> StaticString -> Svg
leaf "rect" "<rect" " />"
{-# INLINE rect #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<script>@ element.
--
script :: Svg  -- ^ Inner SVG.
       -> Svg  -- ^ Resulting SVG.
script :: Svg -> Svg
script = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "script" "<script" "</script>" (Svg -> Svg) -> (Svg -> Svg) -> Svg -> Svg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Svg -> Svg
forall a. MarkupM a -> MarkupM a
external
{-# INLINE script #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<set />@ element.
--
set :: Svg  -- ^ Resulting SVG.
set :: Svg
set = StaticString -> StaticString -> StaticString -> Svg
leaf "set" "<set" " />"
{-# INLINE set #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<stop />@ element.
--
stop :: Svg  -- ^ Resulting SVG.
stop :: Svg
stop = StaticString -> StaticString -> StaticString -> Svg
leaf "stop" "<stop" " />"
{-# INLINE stop #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<style>@ element.
--
style :: Svg  -- ^ Inner SVG.
      -> Svg  -- ^ Resulting SVG.
style :: Svg -> Svg
style = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "style" "<style" "</style>" (Svg -> Svg) -> (Svg -> Svg) -> Svg -> Svg
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Svg -> Svg
forall a. MarkupM a -> MarkupM a
external
{-# INLINE style #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<svg>@ element.
--
svg :: Svg  -- ^ Inner SVG.
    -> Svg  -- ^ Resulting SVG.
svg :: Svg -> Svg
svg = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "svg" "<svg" "</svg>"
{-# INLINE svg #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<switch>@ element.
--
switch :: Svg  -- ^ Inner SVG.
       -> Svg  -- ^ Resulting SVG.
switch :: Svg -> Svg
switch = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "switch" "<switch" "</switch>"
{-# INLINE switch #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<symbol>@ element.
--
symbol :: Svg  -- ^ Inner SVG.
       -> Svg  -- ^ Resulting SVG.
symbol :: Svg -> Svg
symbol = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "symbol" "<symbol" "</symbol>"
{-# INLINE symbol #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<text>@ element.
--
text_ :: Svg  -- ^ Inner SVG.
      -> Svg  -- ^ Resulting SVG.
text_ :: Svg -> Svg
text_ = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "text" "<text" "</text>"
{-# INLINE text_ #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<textPath>@ element.
--
textpath :: Svg  -- ^ Inner SVG.
         -> Svg  -- ^ Resulting SVG.
textpath :: Svg -> Svg
textpath = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "textPath" "<textPath" "</textPath>"
{-# INLINE textpath #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<title>@ element.
--
title :: Svg  -- ^ Inner SVG.
      -> Svg  -- ^ Resulting SVG.
title :: Svg -> Svg
title = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "title" "<title" "</title>"
{-# INLINE title #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<tref />@ element.
--
tref :: Svg  -- ^ Resulting SVG.
tref :: Svg
tref = StaticString -> StaticString -> StaticString -> Svg
leaf "tref" "<tref" " />"
{-# INLINE tref #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:186
--
-- | Combinator for the @\<tspan>@ element.
--
tspan :: Svg  -- ^ Inner SVG.
      -> Svg  -- ^ Resulting SVG.
tspan :: Svg -> Svg
tspan = StaticString -> StaticString -> StaticString -> Svg -> Svg
forall a.
StaticString
-> StaticString -> StaticString -> MarkupM a -> MarkupM a
Parent "tspan" "<tspan" "</tspan>"
{-# INLINE tspan #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<use />@ element.
--
use :: Svg  -- ^ Resulting SVG.
use :: Svg
use = StaticString -> StaticString -> StaticString -> Svg
leaf "use" "<use" " />"
{-# INLINE use #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<view />@ element.
--
view :: Svg  -- ^ Resulting SVG.
view :: Svg
view = StaticString -> StaticString -> StaticString -> Svg
leaf "view" "<view" " />"
{-# INLINE view #-}

-- WARNING: The next block of code was automatically generated by
-- src/Util/GenerateSvgCombinators.hs:205
--
-- | Combinator for the @\<vkern />@ element.
--
vkern :: Svg  -- ^ Resulting SVG.
vkern :: Svg
vkern = StaticString -> StaticString -> StaticString -> Svg
leaf "vkern" "<vkern" " />"
{-# INLINE vkern #-}

leaf :: StaticString -> StaticString -> StaticString -> Svg
#if MIN_VERSION_blaze_markup(0,8,0)
leaf :: StaticString -> StaticString -> StaticString -> Svg
leaf tag :: StaticString
tag open :: StaticString
open close :: StaticString
close = StaticString -> StaticString -> StaticString -> () -> Svg
forall a.
StaticString -> StaticString -> StaticString -> a -> MarkupM a
Leaf StaticString
tag StaticString
open StaticString
close ()
#else
leaf = Leaf
#endif
{-# INLINE leaf #-}