[{"name":"TypedSvg","comment":"\n\n\n# HTML Embedding\n\n@docs svg\n\n\n# Graphics elements\n\n@docs circle, ellipse, image, line, path, polygon, polyline, rect, use\n\n\n# Animation elements\n\n@docs animate, animateColor, animateMotion, animateTransform, mpath, set\n\n\n# Descriptive elements\n\n@docs desc, metadata, title\n\n\n# Containers\n\n@docs a, defs, g, marker, mask, pattern, switch, symbol\n\n\n# Text\n\n@docs glyph, glyphRef, textPath, text_, tref, tspan\n\n\n# Fonts\n\n@docs font\n\n\n# Gradients\n\n@docs linearGradient, radialGradient, stop\n\n\n# Filters\n\nSee TypedSvg.Filters\n\n\n# Miscellaneous\n\n@docs clipPath, colorProfile, cursor, filter, script, style, view\n\n\n# Deprecated\n\nSee `TypedSvg.Deprecated` (e.g. `altGlyph` etc.)\n\n","unions":[],"aliases":[],"values":[{"name":"a","comment":" The SVG Anchor Element defines a hyperlink.\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"animate","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"animateColor","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"animateMotion","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"animateTransform","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"circle","comment":" The circle element is an SVG basic shape, used to create circles based on\na center point and a radius.\n\n    circle [ cx (px 60), cy (px 60), r (px 50) ] []\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"clipPath","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"colorProfile","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"cursor","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"defs","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"desc","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"ellipse","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"filter","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"font","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"g","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"glyph","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"glyphRef","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"image","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"line","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"linearGradient","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"marker","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"mask","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"metadata","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"mpath","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"path","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"pattern","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"polygon","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"polyline","comment":" The polyline element is an SVG basic shape, used to create a series of\nstraight lines connecting several points. Typically a polyline is used to\ncreate open shapes.\n\n    polyline [ fill FillNone, stroke Color.black, points [ ( 20, 100 ), ( 40, 60 ), ( 70, 80 ), ( 100, 20 ) ] ] []\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"radialGradient","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"rect","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"script","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"set","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"stop","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"style","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"svg","comment":" The root `svg` node for any SVG scene. This example shows a scene\ncontaining a rounded rectangle:\n\n    import Html\n    import TypedSvg exposing (..)\n    import TypedSvg.Attributes exposing (..)\n\n    roundRect : Html.Html msg\n    roundRect =\n        svg\n            [ width (px 120), height (px 120), viewBox 0 0 120 120 ]\n            [ rect [ x (px 10), y (px 10), width (px 100), height (px 100), rx (px 15), ry (px 15) ] [] ]\n\n","type":"List.List (Html.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> Html.Html msg"},{"name":"switch","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"symbol","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"textPath","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"text_","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"title","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"tref","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"tspan","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"use","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"view","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"}],"binops":[]},{"name":"TypedSvg.Attributes","comment":" Typed SVG Attributes\n\nNOTE: For attributes pertaining to SVG filters, see Filters.Attributes\n\n\n# Other attributes\n\n@docs accelerate, accentHeight, accumulate, additive, alignmentBaseline, allowReorder, alphabetic, amplitude, animateTransformType, animationValues, arabicForm, ascent, attributeName, attributeType, autoReverse, baseProfile, baselineShift, bbox, begin, by, calcMode, capHeight, class, clip, clipPath, clipPathUnits, clipRule, color, colorInterpolation, colorProfile, colorRendering, contentScriptType, contentStyleType, contentType, cursor, cx, cy, d, decelerate, descent, direction, display, dominantBaseline, dur, dx, dy, enableBackground, end, exponent, externalResourcesRequired, fill, fillOpacity, fillRule, filter, fontFamily, fontSize, fontSizeAdjust\n@docs fontStretch, fontStyle, fontVariant, fontWeight, format, from, from2, from3, fx, fy, g1, g2, glyphName, glyphOrientationHorizontal, glyphOrientationVertical, glyphRef, gradientTransform, gradientUnits, hanging, height, horizAdvX, horizOriginX, horizOriginY, ideographic, imageRendering, intercept, k, kerning, keySplines, keyTimes, lang, lengthAdjust, letterSpacing, lightingColor, local, markerEnd, markerHeight, markerMid, markerStart, markerUnits, markerWidth, mask, maskContentUnits, maskUnits, max, media\n@docs method, min, name, noFill, offset, opacity, orient, orientation, origin, overflow, overlinePosition, overlineThickness, panose1, path, pathLength, patternContentUnits, patternTransform, patternUnits, pointOrder, pointerEvents, points, preserveAspectRatio, primitiveUnits, r, refX, refY, renderingIntent, repeatCount, repeatDur, requiredExtensions, requiredFeatures, restart, rotate, rx, ry, shapeRendering, slope, spacing, specularConstant, specularExponent, speed, spreadMethod, startOffset\n@docs stdDeviation, stemh, stemv, stitchTiles, stopColor, stopOpacity, strikethroughPosition, strikethroughThickness, string, stroke, strokeDasharray, strokeDashoffset, strokeLinecap, strokeLinejoin, strokeMiterlimit, strokeOpacity, strokeWidth, style, systemLanguage, tableValues, target, textAnchor, textDecoration, textLength, textRendering, title, to, to2, to3, transform, u1, u2, underlinePosition, underlineThickness, unicode, unicodeBidi, unicodeRange, unitsPerEm, vAlphabetic, vHanging, vIdeographic\n@docs vMathematical, version, vertAdvY, vertOriginX, vertOriginY, viewBox, viewTarget, visibility, width, widths, wordSpacing, writingMode, x, x1, x2, xChannelSelector, xHeight, xlinkActuate, xlinkArcrole, xlinkHref, xlinkRole, xlinkShow, xlinkTitle, xlinkType, xmlBase, xmlLang, xmlSpace, y, y1, y2, yChannelSelector, zoomAndPan\n\n","unions":[],"aliases":[],"values":[{"name":"accelerate","comment":" Defines a simple acceleration of time for the element. Element time will\naccelerate from a rate of 0 at the beginning up to a run rate, over the course\nof the specified proportion of the simple duration.\n\nThe default value is 0 (no acceleration).\n\nLegal values for `rate` are floating point values between 0 and 1 (inclusive).\n\nUsed by Elements: animate, animateMotion\n\nSee <https://www.w3.org/TR/smil/smil-timemanip.html#TimeManip-accelerateSyntax>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"accentHeight","comment":" Defines the distance from the origin to the top of accent characters,\nmeasured by a distance within the font coordinate system.\n\nUsed by Elements: fontFace\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accent-height>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"accumulate","comment":" This attribute controls whether or not the animation is cumulative.\n\nIt is useful for repeated animations to build upon the previous results,\naccumulating with each iteration.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accumulate>\n\n","type":"TypedSvg.Types.Accumulate -> TypedSvg.Core.Attribute msg"},{"name":"additive","comment":" This attribute controls whether or not the animation is additive.\n\nIt is frequently useful to define animation as an offset or delta to an\nattribute's value, rather than as absolute values.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/additive>\n\n","type":"TypedSvg.Types.Additive -> TypedSvg.Core.Attribute msg"},{"name":"alignmentBaseline","comment":" The `alignmentBaseline` attribute specifies how an object is aligned with\nrespect to its parent. This property specifies which baseline of this element is\nto be aligned with the corresponding baseline of the parent. For example, this\nallows alphabetic baselines in Roman text to stay aligned across font size\nchanges.\n\nIt defaults to the baseline with the same name as the computed value of the\n`alignmentBaseline` property.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: altGlyph, tspan, tref, textPath\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alignment-baseline>\n\n","type":"TypedSvg.Types.AlignmentBaseline -> TypedSvg.Core.Attribute msg"},{"name":"allowReorder","comment":" The allowReorder attribute signals whether a user agent may reorder the direct\ndescendents of the switch element, based on user preferences, if it thinks this\ncould lead to a better user experience.\n\nThe possible values are `no`, the default, disallowing reordering and `yes`,\nallowing reordering.\n\nSee: <https://www.w3.org/TR/smil/smil-content.html#adef-allowReorder>\n\n","type":"TypedSvg.Types.YesNo -> TypedSvg.Core.Attribute msg"},{"name":"alphabetic","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"amplitude","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"animateTransformType","comment":" Defines the type of transformation, whose values change over time.\n\nUsed by Elements: animateTransform\n\nNOTE: this is called `type_` in `elm-lang/svg` but is different here in order to\ndistinguish it from `contentType`\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type>\n\n","type":"TypedSvg.Types.AnimateTransformType -> TypedSvg.Core.Attribute msg"},{"name":"animationValues","comment":" Values will be applied in order over the course of the animation. If a list\nof values is specified, any `from`, `to` and `by` attribute values are\nignored.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/values>\n\n","type":"List.List Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"arabicForm","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"ascent","comment":" This attribute defines the maximum unaccented depth of the font within the\nfont coordinate system.\n\nIf the attribute is not specified, the effect is as if the attribute were set to\nthe `vertOriginY` value for the corresponding font.\n\nUsed by Elements: fontFace\n\nSee <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ascent>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"attributeName","comment":" This attribute indicates the name of the attribute in the parent element\nthat is going to be changed during an animation.\n\nUsed by Elements: animate, animateColor, animateTransform, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/attributeName>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"attributeType","comment":" This attribute specifies the namespace in which the target attribute and its\nassociated values are defined.\n\nUsed by Elements: animate, animateColor, animateTransform, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/attributeType>\n\n","type":"TypedSvg.Types.AttributeType -> TypedSvg.Core.Attribute msg"},{"name":"autoReverse","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"baseProfile","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"baselineShift","comment":" The baselineShift attribute allows repositioning of the dominant-baseline\nrelative to the dominant-baseline of the parent text content element. The\nshifted object might be a sub- or superscript.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet, see css baseline-shift for further information.\n\nUsed by Elements: altGlyph, tref, tspan, textPath\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseline-shift>\n\n","type":"TypedSvg.Types.BaselineShift -> TypedSvg.Core.Attribute msg"},{"name":"bbox","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"begin","comment":" This attribute defines when an animation should begin.\n\nEach individual value can be one of the BeginValue types.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/begin>\nSee: <https://www.w3.org/TR/2001/REC-smil-animation-20010904/#Timing-EvaluationOfBeginEndTimeLists>\n\n","type":"List.List TypedSvg.Types.TimingValue -> TypedSvg.Core.Attribute msg"},{"name":"by","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"calcMode","comment":" This attribute specifies the interpolation mode for an animation. The\ndefault mode is linear, however if the attribute does not support linear\ninterpolation (e.g. for strings), the calcMode attribute is ignored and\ndiscrete interpolation is used.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/calcMode>\n\n","type":"TypedSvg.Types.CalcMode -> TypedSvg.Core.Attribute msg"},{"name":"capHeight","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"class","comment":" Assigns a class name or set of class names to an element. You can use this\nto style SVG content using CSS.\n\nAn element's class name serves two key roles:\n\n  - As a style sheet selector, for when an author assigns style information\n    to a set of elements.\n  - For general use by the browser.\n\nUsed by Elements: a, altGlyph, circle, clipPath, defs, desc, ellipse,\nfeBlend, feColorMatrix, feComponentTransfer, feComposite,\nfeConvolveMatrix, feDiffuseLighting, feDisplacementMap, feFlood,\nfeGaussianBlur, feImage, feMerge, feMorphology, feOffset,\nfeSpecularLighting, feTile, feTurbulence, filter, font, foreignObject,\ng, glyph, glyphRef, image, line, linearGradient, marker, mask,\nmissingGlyph, path, pattern, polygon, polyline, radialGradient, rect,\nstop, svg, switch, symbol, text, textPath, title, tref, tspan, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/class>\n\n","type":"List.List String.String -> TypedSvg.Core.Attribute msg"},{"name":"clip","comment":" The clip attribute has the same parameter values as defined for the css clip\nproperty. Unitless values, which indicate current user coordinates, are\npermitted on the coordinate values on the <shape>. The value of auto defines\na clipping path along the bounds of the viewport created by the given\nelement.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: svg, symbol, image, foreignobject, pattern, marker\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip>\n\n","type":"TypedSvg.Types.Clip -> TypedSvg.Core.Attribute msg"},{"name":"clipPath","comment":" The `clipPath` attribute binds the element it is applied to with a given\n`clipPath` element.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: a, circle, defs, ellipse, g, image, line, marker, mask,\nmesh, missing-glyph, path, pattern, polygon, polyline, rect, svg,\nswitch, symbol, text, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-path>\n\n","type":"TypedSvg.Types.ClipPath -> TypedSvg.Core.Attribute msg"},{"name":"clipPathUnits","comment":" The `clipPathUnits` attribute defines the coordinate system for the contents\nof the `clipPath` element.\n\nIf the `clipPathUnits` attribute is not specified, then the effect is as if a\nvalue of `userSpaceOnUse` were specified.\n\nNote that values defined as a percentage inside the content of the `clipPath`\nare not affected by this attribute. It means that even if you set the value\nof `maskContentUnits` to `CoordinateSystemObjectBoundingBox`, percentage values\nwill be calculated as if the value of the attribute were userSpaceOnUse.\n\nUsed by Elements: clipPath\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clipPathUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"clipRule","comment":" The `clipRule` attribute only applies to graphics elements that are\ncontained within a `clipPath` element. The `clipRule` attribute basically\nworks as the `fillRule` attribute, except that it applies to `clipPath`\ndefinitions.\n\nUsed by Elements: circle, ellipse, image, line, mesh, path, polygon, polyline,\nrect, text, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-rule>\n\n","type":"TypedSvg.Types.ClipRule -> TypedSvg.Core.Attribute msg"},{"name":"color","comment":" The `color` attribute is used to provide a potential indirect value\n(currentColor) for the `fill`, `stroke`, `stopColor`, `floodColor` and\n`lightingColor` attributes.\n\nAs a presentation attribute, it can also be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, circle, ellipse,\nfeDiffuseLighting, feFlood, feSpecularLighting, glyph, glyphRef, line,\nmesh, path, polygon, polyline, rect, stop, text, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color>\n\n","type":"TypedSvg.Color.Color -> TypedSvg.Core.Attribute msg"},{"name":"colorInterpolation","comment":" The `colorInterpolation` attribute specifies the color space for gradient\ninterpolations, color animations, and alpha compositing.\n\nWhen a child element is blended into a background, the value of the\n`colorInterpolation` attribute on the child determines the type of blending,\nnot the value of the `colorInterpolation` on the parent.\n\nFor gradients which make use of the `xlinkHref` attribute to reference another\ngradient, the gradient uses the `colorInterpolation` attribute value from the\ngradient element which is directly referenced by the fill or stroke attribute.\n\nWhen animating colors, color interpolation is performed according to the value\nof the `colorInterpolation` attribute on the element being animated.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: a, animage, animateColor, circle, defs, ellipse, g, image,\nline, marker, mask, mesh, missing-glyph, path, pattern, polygon,\npolyline, rect, svg, switch, symbol, text, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation>\n\n","type":"TypedSvg.Types.ColorInterpolation -> TypedSvg.Core.Attribute msg"},{"name":"colorProfile","comment":" The `colorProfile` attribute is used to define which color profile a raster\nimage included through the `image` element should use.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: image\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-profile>\n\n","type":"TypedSvg.Types.ColorProfile -> TypedSvg.Core.Attribute msg"},{"name":"colorRendering","comment":" The colorRendering attribute provides a hint to the SVG user agent about\nhow to optimize its color interpolation and compositing operations.\n\n`colorRendering` takes precedence over `colorInterpolationFilters`. For\nexample, assume `colorRendering` is set to `optimizeSpeed`, and\n`ColorInterpolationFilters` is set to `linearRGB`. In this case, the SVG\nuser agent should perform color operations in a way that optimizes\nperformance, which might mean sacrificing the color interpolation precision\nas specified by `colorInterpolationFilters`.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: a, animate, animateColor, circle, defs, ellipse, g, image,\nline, marker, mask, mesh, missing-glyph, path, pattern, polygon,\npolyline, rect, svg, switch, symbol, text, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-rendering>\n\n","type":"TypedSvg.Types.Rendering -> TypedSvg.Core.Attribute msg"},{"name":"contentScriptType","comment":" The contentScriptType attribute on the <svg> element specifies the default\nscripting language for the given document fragment.\n\nThis attribute sets the default scripting language used to process the value\nstrings in event attributes. This language must be used for all instances of\nscripts that do not specify their own scripting language. The value\ncontentType specifies a media type, per MIME Part Two: Media Types\n[RFC2046]. The default value is application/ecmascript.\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentScriptType>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"contentStyleType","comment":" This attribute specifies the style sheet language for the given document\nfragment. The contentStyleType is specified on the `svg` element. By default,\nif it's not defined, the value is \"text/css\"\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentStyleType>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"contentType","comment":" Defines the content type of the element.\n\nUsed by Elements: script, style\n\nNOTE: this is called `type_` in `elm-lang/svg` but is different here in order to\ndistinguish it from `animateTransformType`\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"cursor","comment":" The `cursor` attribute specifies the mouse cursor displayed when the mouse\npointer is over an element.\n\nThis attribute behaves exactly like the css cursor property except that if the\nbrowser supports the `cursor` element, you should be able to use it with the\n`funcIRI` notation.\n\nAs a presentation attribute, it also can be used as a property directly inside a\nCSS stylesheet.\n\nUsed by Elements: a, circle, defs, ellipse, g, image, line, marker, mask,\nmesh, missing-glyph, path, pattern, polygon, polyline, rect, svg,\nswitch, symbol, text, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cursor>\n\n","type":"TypedSvg.Types.Cursor -> TypedSvg.Core.Attribute msg"},{"name":"cx","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"cy","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"d","comment":" This attribute defines a path to follow.\n\nNOTE: You probably want to import the `folkertdev/svg-path-dsl` package for\naccess to a more Elm-like way of expressing paths. For instance:\n\n    [ path\n        [ d (pathToString [\n            subpath\n                (startAt (10, 10))\n                open\n                [ cubicTo\n                    (10, 50)\n                    (90, 50)\n                    (90, 90)\n                ]\n            ])\n        , stroke Color.black\n        , strokeWidth 3.5\n        , noFill\n        ]\n        []\n\nUsed by Elements: path\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/d>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"decelerate","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"descent","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"direction","comment":" The `direction` attribute specifies the base writing direction of text and\nthe direction of embeddings and overrides for the Unicode bidirectional\nalgorithm.\n\nFor the direction attribute to have any effect on an element that does not\nby itself establish a new text chunk (such as a `tspan` element without\nabsolute position adjustments due to `x` or `y` attributes), the\nunicode-bidi property's value must be `embed` or `bidiOverride`.\n\nThe `direction` attribute applies only to glyphs oriented perpendicular to\nthe `inlineProgressionDirection`, which includes the usual case of\nhorizontally-oriented Latin or Arabic text and the case of narrow-cell\nLatin or Arabic characters rotated 90 degrees clockwise relative to a\ntop-to-bottom inline-progression-direction.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntext, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/direction>\n\n","type":"TypedSvg.Types.Direction -> TypedSvg.Core.Attribute msg"},{"name":"display","comment":" The `display` attribute lets you control the rendering of graphical or\ncontainer elements. It is similar to the CSS \"display\" attribute (e.g.\ndisplay: \"none\", \"block\", etc.)\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: a, altGlyph, altGlyphDef, altGlyphItem, circle, ellipse,\nforeignobject, g, glyph, glyphRef, image, line, mesh, path, polygon,\npolyline, rect, svg, switch, text, text, textPath, tref, tspan, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/display>\n\n","type":"TypedSvg.Types.Display -> TypedSvg.Core.Attribute msg"},{"name":"dominantBaseline","comment":" The `dominantBaseline` attribute is used to determine or re-determine a\nscaled-baseline-table. A scaled-baseline-table is a compound value with\nthree components: a baseline-identifier for the `dominantBaseline`, a\nbaseline-table and a baseline-table font-size.\n\nSome values of the property re-determine all three values; other only\nre-establish the baseline-table font-size. When the initial value, auto,\nwould give an undesired result, this property can be used to explicitly\nset the desire scaled-baseline-table.\n\nIf there is no baseline table in the nominal font or if the baseline table\nlacks an entry for the desired baseline, then the browser may use heuristics\nto determine the position of the desired baseline.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntextPath, text, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dominant-baseline>\n\n","type":"TypedSvg.Types.DominantBaseline -> TypedSvg.Core.Attribute msg"},{"name":"dur","comment":" This attribute indicates the simple duration of the animation.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dur>\n\n","type":"TypedSvg.Types.Duration -> TypedSvg.Core.Attribute msg"},{"name":"dx","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"dy","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"enableBackground","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"end","comment":" This attribute defines an end value for the animation that can constrain\nthe active duration.\n\nEach value can be of the same type as the ones defined for the begin\nattribute.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/end>\n\n","type":"List.List TypedSvg.Types.TimingValue -> TypedSvg.Core.Attribute msg"},{"name":"exponent","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"externalResourcesRequired","comment":" The externalResourcesRequired attribute is available on all container\nelements and to all elements which potentially can reference external\nresources. It specifies whether referenced resources that are not part of\nthe current document are required for proper rendering of the given\ncontainer element or graphics element.\n\nUsed by Elements: a, altGlyph, altGlyphDef, altGlyphItem, animate,\nanimateColor, animateMotion, animateTransform, circle, clipPath, cursor,\ndiscard, defs, ellipse, feImage, filter, font, foreignObject, g, glyph,\nglyphRef, image, line, linearGradient, mesh, meshGradient, marker, mask,\nmpath, path, pattern, polygon, polyline, radialGradient, rect, script,\nset, stop, svg, switch, symbol, text, textPath, tref, tspan, use, view\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/externalResourcesRequired>\n\n","type":"Basics.Bool -> TypedSvg.Core.Attribute msg"},{"name":"fill","comment":" ","type":"TypedSvg.Types.Fill -> TypedSvg.Core.Attribute msg"},{"name":"fillOpacity","comment":" This attribute specifies the opacity of the color or the content the current\nobject is filled with.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, circle, ellipse,\nglyph, glyphRef, line, mesh, path, polygon, polyline, rect, text,\ntextPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-opacity>\n\n","type":"TypedSvg.Types.Opacity -> TypedSvg.Core.Attribute msg"},{"name":"fillRule","comment":" The fillRule attribute indicates how to determine what side of a path is\ninside a shape, to determine how the fill property paints the shape. For a\nsimple, non-intersecting path, it is intuitively clear what region lies\n\"inside\"; however, for a more complex path, such as a path that intersects\nitself or where one subpath encloses another, the interpretation of\n\"inside\" is not so obvious.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, circle, ellipse,\nglyph, glyphRef, line, mesh, path, polygon, polyline, rect, text,\ntextPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule>\n\n","type":"TypedSvg.Types.FillRule -> TypedSvg.Core.Attribute msg"},{"name":"filter","comment":" The filter attribute defines the filter effects define by the `filter`\nelement that shall be applied to its element.\n\nNOTE: See Filters and Filters.Attributes modules.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: a, circle, defs, ellipse, g, glyph, image, line, marker,\nmesh, missing-glyph, path, pattern, polygon, polyline, rect, svg,\nswitch, symbol, text, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filter>\n\n","type":"TypedSvg.Types.Filter -> TypedSvg.Core.Attribute msg"},{"name":"fontFamily","comment":" An empty list will set `font-family: inherit`\n","type":"List.List String.String -> TypedSvg.Core.Attribute msg"},{"name":"fontSize","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"fontSizeAdjust","comment":" The `fontSizeAdjust` attribute allows authors to specify an aspect value\nfor an element that will preserve the X height of the first choice font in\na substitute font.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntext, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-size-adjust>\n\n","type":"TypedSvg.Types.FontSizeAdjust -> TypedSvg.Core.Attribute msg"},{"name":"fontStretch","comment":" The `fontStretch` attribute indicates the desired amount of condensing or\nexpansion in the glyphs used to render the text.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntext, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-stretch>\n\n","type":"TypedSvg.Types.FontStretch -> TypedSvg.Core.Attribute msg"},{"name":"fontStyle","comment":" The `fontStyle` attribute specifies whether the text is to be rendered using\na normal, italic or oblique face.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntext, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-style>\n\n","type":"TypedSvg.Types.FontStyle -> TypedSvg.Core.Attribute msg"},{"name":"fontVariant","comment":" The `fontVariant` attribute indicates whether the text is to be rendered\nusing the normal glyphs for lowercase characters or using small-caps glyphs\nfor lowercase characters.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntext, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-variant>\n\n","type":"TypedSvg.Types.FontVariant -> TypedSvg.Core.Attribute msg"},{"name":"fontWeight","comment":" The `fontWeight` attribute refers to the boldness or lightness of the glyphs\nused to render the text, relative to other fonts in the same font family.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: altGlyph, altGlyphDef, altGlyphItem, glyph, glyphRef,\ntext, textPath, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-weight>\n\n","type":"TypedSvg.Types.FontWeight -> TypedSvg.Core.Attribute msg"},{"name":"format","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"from","comment":" This attribute indicates the initial value of the attribute that will be\nmodified during the animation. When used with the `to` attribute, the\nanimation will change the modified attribute from the from value to the to\nvalue.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/from>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"from2","comment":" This attribute indicates the initial values of 2 attributes that will be\nmodified during the animation. When used with the `to2` attribute, the\nanimation will change the modified attribute sfrom the from values to the to\nvalue.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/from>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"from3","comment":" This attribute indicates the initial values of 3 attributes that will be\nmodified during the animation. When used with the `to3` attribute, the\nanimation will change the modified attributes from the from values to the to\nvalue.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/from>\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fx","comment":" For the `radialGradient` element, this attribute defines the x-axis\ncoordinate of the focal point for the radial gradient.\n\nIf the attribute is not specified, it's assumed to be at the same place as\nthe center point.\n\nUsed by Elements: radialGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"fy","comment":" For the `radialGradient` element, this attribute defines the y-axis\ncoordinate of the focal point for the radial gradient.\n\nIf the attribute is not specified, it's assumed to be at the same place as\nthe center point.\n\nUsed by Elements: radialGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"g1","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"g2","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"glyphName","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"glyphOrientationHorizontal","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"glyphOrientationVertical","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"glyphRef","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"gradientTransform","comment":" The gradientTransform attribute contains the definition of an optional\nadditional transformation from the gradient coordinate system onto the\ntarget coordinate system (i.e., userSpaceOnUse or objectBoundingBox). This\nallows for things such as skewing the gradient. This additional\ntransformation matrix is post-multiplied to (i.e., inserted to the right of)\nany previously defined transformations, including the implicit\ntransformation necessary to convert from object bounding box units to user\nspace.\n\nUsed by Elements: linearGradient, radialGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/gradientTransform>\n\n","type":"List.List TypedSvg.Types.Transform -> TypedSvg.Core.Attribute msg"},{"name":"gradientUnits","comment":" The gradientUnits attribute defines the coordinate system for attributes\nx1, y1, x2 and y2 on the `linearGradient` element or for attributes cx, cy,\nr, fx, and fy on the `radialGradient`.\n\nIf the `gradientUnits` attribute isn't specified, then the effect is as if a\nvalue of CoordinateSystemObjectBoundingBox were specified.\n\nUsed by Elements: linearGradient, radialGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/gradientUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"hanging","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"height","comment":" This attribute indicates a vertical length in the user coordinate system.\nThe exact effect of this coordinate depends on each element. Most of the\ntime, it represents the height of the rectangular region of the reference\nelement (see each individual element's documentation for exceptions).\n\nThis attribute must be specified except for the `svg` element where the\ndefault value is 100% and the `filter` and `mask` elements where the default\nvalue is 120%.\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"horizAdvX","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"horizOriginX","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"horizOriginY","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"ideographic","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"imageRendering","comment":" The `imageRendering` attribute provides a hint to the browser about how to\nmake speed vs. quality tradeoffs as it performs image processing.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: image\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/image-rendering>\n\n","type":"TypedSvg.Types.Rendering -> TypedSvg.Core.Attribute msg"},{"name":"intercept","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"k","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"kerning","comment":" The kerning attribute indicates whether the browser should adjust\ninter-glyph spacing based on kerning tables that are included in the\nrelevant font (i.e., enable auto-kerning) or instead disable auto-kerning\nand instead set inter-character spacing to a specific length (typically,\nzero).\n\nThe value of auto indicates that the user agent should adjust inter-glyph\nspacing based on kerning tables that are included in the font that will be\nused.\n\nIf a `length` is provided, then auto-kerning is disabled. Instead,\ninter-character spacing is set to the given <length>. The most common\nscenario, other than auto, is to set kerning to a value of 0 so that\nauto-kerning is disabled.\n\nIf a `length` is provided without a unit identifier (e.g., an unqualified\nnumber such as 128), the browser processes the `length` as a width value in\nthe current user coordinate system.\n\nIf a `length` is provided with a unit identifier (e.g., .25em or 1%), then\nthe browser converts the `length` into a corresponding value in the current\nuser coordinate system.\n\nWhen a `length` is provided, its value is added to the inter-character\nspacing value specified by the letter-spacing attribute.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet, see css kerning for further information.\n\nUsed by Elements: altGlyph, altGlyphDef, glyph, glyphRef, textPath,\ntext, tref, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kerning>\n\n","type":"TypedSvg.Types.Kerning -> TypedSvg.Core.Attribute msg"},{"name":"keySplines","comment":" The keySplines attribute define a set of Bézier control points associated\nwith the keyTimes list, defining a cubic Bézier function that controls\ninterval pacing.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keySplines>\n\n","type":"List.List TypedSvg.Types.BezierAnchorPoint -> TypedSvg.Core.Attribute msg"},{"name":"keyTimes","comment":" The keyTimes attribute is a semicolon-separated list of time `values` used\nto control the pacing of the animation. Each time in the list corresponds to\na value in the values attribute list, and defines when the value is used in\nthe animation. Each time value in the keyTimes list is specified as a\nfloating point value between 0 and 1 (inclusive), representing a\nproportional offset into the duration of the animation element.\n\nIf a list of keyTimes is specified, there must be exactly as many values in\nthe keyTimes list as in the values list.\n\nEach successive time value must be greater than or equal to the preceding\ntime value.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keyTimes>\n\n","type":"List.List Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"lang","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"lengthAdjust","comment":" When an SVG `text` or `tspan` element has a specific length set using the\ntextLength attribute, the lengthAdjust attribute controls how the text is\nstretched or compressed into that length.\n\nThe two possible values for the attribute are `LengthAdjustSpacing` and\n`LengthAdjustSpacingAndGlyphs`.\n\nUsing `LengthAdjustSpacing` (the default), the letter forms are preserved,\nbut the space between them grows or shrinks.\n\nUsing `LengthAdjustSpacingAndGlyphs`, the entire text element is stretched in\nthe direction of the text.\n\nUsed by Elements: text, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lengthAdjust>\n\n","type":"TypedSvg.Types.LengthAdjust -> TypedSvg.Core.Attribute msg"},{"name":"letterSpacing","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"lightingColor","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"local","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"markerEnd","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"markerHeight","comment":" The markerHeight represents the height of the viewport into which the\n`marker` is to be fitted when it is rendered.\n\nA value of zero disables rendering of the element.\n\nIf the attribute is not specified, the effect is as if a value of 3 were\nspecified.\n\nUsed by Elements: marker\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerHeight>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"markerMid","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"markerStart","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"markerUnits","comment":" The `markerUnits` attribute defines the coordinate system for the attributes\n`markerWidth`, `markerHeight` and the contents of the `marker`.\n\nIf the `markerUnits` attribute is not specified, then the effect is as if a\nvalue of `strokeWidth` were specified.\n\nUsed by Elements: marker\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerUnits>\n\n","type":"TypedSvg.Types.MarkerCoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"markerWidth","comment":" The markerWidth represents the width of the viewport into which the\n`marker` is to be fitted when it is rendered.\n\nA value of zero disables rendering of the element.\n\nIf the attribute is not specified, the effect is as if a value of 3 were\nspecified.\n\nUsed by Elements: marker\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerWidth>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"mask","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"maskContentUnits","comment":" The maskContentUnits attribute defines the coordinate system for the\ncontents of the `mask`.\n\nIf the `maskContentUnits` attribute isn't specified, then the effect is as\nif a value of CoordinateSystemUserSpaceOnUse were specified.\n\nNote that values defined as a percentage inside the content of the `mask`\nare not affected by this attribute. It means that even if you set the value\nof `maskContentUnits` to CoordinateSystemObjectBoundingBox, percentage\nvalues will be calculated as if the value of the attribute were\nCoordinateSystemUserSpaceOnUse.\n\nUsed by Elements: mask\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/maskContentUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"maskUnits","comment":" The `maskUnits` attribute defines the coordinate system for attributes x, y,\nwidth and height.\n\nIf the `maskUnits` attribute isn't specified, then the effect is as if a\nvalue of CoordinateSystemObjectBoundingBox were specified.\n\nUsed by Elements: mask\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/maskUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"max","comment":" This attribute specifies the maximum value of the active duration.\n\nThe default value for max is 0. This does not constrain the active duration\nat all.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/max>\n\n","type":"TypedSvg.Types.ClockValue -> TypedSvg.Core.Attribute msg"},{"name":"media","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"method","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"min","comment":" This attribute specifies the minimum value of the active duration.\n\nThe default value for max is 0. This does not constrain the active duration\nat all.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/min>\n\n","type":"TypedSvg.Types.ClockValue -> TypedSvg.Core.Attribute msg"},{"name":"name","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"noFill","comment":" ","type":"TypedSvg.Core.Attribute msg"},{"name":"offset","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"opacity","comment":" ","type":"TypedSvg.Types.Opacity -> TypedSvg.Core.Attribute msg"},{"name":"orient","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"orientation","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"origin","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"overflow","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"overlinePosition","comment":" The `overlinePosition` attribute represents the ideal vertical position of\nthe overline. The overline position is expressed in the font's coordinate\nsystem.\n\nUsed by Elements: fontFace\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overlinePosition>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"overlineThickness","comment":" The `overlineThickness` attribute represents the ideal thickness of\nthe overline. The overline position is expressed in the font's coordinate\nsystem.\n\nUsed by Elements: fontFace\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overlineThickness>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"panose1","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"path","comment":" NOTE: is this used as an attribute? `elm-lang/svg` seems to think so.\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"pathLength","comment":" This attribute lets the author specify a total length for the path, in user\nunits. This value is then used to calibrate the browser's distance\ncalculations with those of the author, by scaling all distance computations\nusing the ratio pathLength / (computed value of path length).\n\nUsed by Elements: path\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pathLength>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"patternContentUnits","comment":" The `patternContentUnits` attribute defines the coordinate system for the\ncontents of the `pattern`. Note that this attribute has no effect if\nattribute viewBox is specified on the `pattern` element.\n\nIf the `patternContentUnits` attribute isn't specified, then the effect is\nas if a value of CoordinateSystemUserSpaceOnUse were specified.\n\nUsed by Elements: pattern\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternContentUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"patternTransform","comment":" The `patternTransform` attribute contains the definition of an optional\nadditional transformation from the pattern coordinate system onto the target\ncoordinate system. This allows for things such as skewing the pattern tiles.\nThis additional transformation matrix is post-multiplied to (i.e., inserted\nto the right of) any previously defined transformations, including the\nimplicit transformation necessary to convert from object bounding box units\nto user space.\n\nIf attribute `patternTransform` is not specified, then the effect is as if\nan identity transform were specified.\n\nUsed by Elements: pattern\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternTransform>\n\n","type":"List.List TypedSvg.Types.Transform -> TypedSvg.Core.Attribute msg"},{"name":"patternUnits","comment":" The `patternUnits` attribute defines the coordinate system for attributes\nx, y, width and height.\n\nIf the `patternUnits` attribute isn't specified, then the effect is as if a\nvalue of CoordinateSystemObjectBoundingBox were specified.\n\nUsed by Elements: pattern\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"pointOrder","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"pointerEvents","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"points","comment":" The points attribute defines a list of points required to draw a `polyline`\nor `polygon` element.\n\nEach point is defined by an X and a Y coordinate (pair) in the user coordinate\nsystem.\n\nUsed by Elements: polyline, polygon\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/points>\n\n","type":"List.List ( Basics.Float, Basics.Float ) -> TypedSvg.Core.Attribute msg"},{"name":"preserveAspectRatio","comment":" In some cases, typically when using the `viewBox` attribute, it is desirable\nthat the graphics stretch to fit non-uniformly to take up the entire\nviewport. In other cases, it is desirable that uniform scaling be used for\nthe purposes of preserving the aspect ratio of the graphics.\n\nUsed by Elements: svg, symbol, image, feImage, marker, pattern, view\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio>\n\n","type":"TypedSvg.Types.Align -> TypedSvg.Types.MeetOrSlice -> TypedSvg.Core.Attribute msg"},{"name":"primitiveUnits","comment":" The `primitiveUnits` attribute specifies the coordinate system for the\nvarious length values within the `filter` primitives and for the attributes\nthat define the filter primitive subregion.\n\nIf the `primitiveUnits` attribute isn't specified, then the effect is as if\na value of CoordinateSystemUserSpaceOnUse were specified.\n\nUsed by Elements: filter\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/primitiveUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"r","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"refX","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"refY","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"renderingIntent","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"repeatCount","comment":" This attribute indicates the Float of times the animation will take place.\n\nThe Float can be a partial iteration, expressed as a fraction. Its value\nmust be greater than 0.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/repeatCount>\n\n","type":"TypedSvg.Types.RepeatCount -> TypedSvg.Core.Attribute msg"},{"name":"repeatDur","comment":" This attribute specifies the total duration for repeat.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/repeatDur>\n\n","type":"TypedSvg.Types.Duration -> TypedSvg.Core.Attribute msg"},{"name":"requiredExtensions","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"requiredFeatures","comment":" This attribute takes a list of feature strings. It determines whether or not\nall of the named features are supported by the browser; if all of them are\nsupported, the attribute evaluates to true end the element is rendered;\notherwise, the attribute evaluates to false and the current element and its\nchildren are skipped and thus will not be rendered. This provides a way to\ndesign SVG that gracefully falls back when features aren't available.\n\nIf the attribute is not present, then its implicit evaluated value is true.\nIf a null string or empty string value is given to attribute\n`requiredFeatures`, the attribute is evaluate to false.\n\n`requiredFeatures` is often used in conjunction with the `switch` element.\nIf `requiredFeatures` is used in other situations, it represents a simple\nswitch on the given element whether to render the element or not.\n\nUsed by Elements: a, altGlyph, animate, animateColor, animateMotion,\nanimateTransform, circle, clipPath, cursor, defs, discard, ellipse,\nforeignObject, g, image, line, mask, mesh, mpath, path, pattern,\npolygon, polyline, rect, set, svg, switch, text, textPath, tref,\ntspan, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/requiredFeatures>\n\n","type":"List.List String.String -> TypedSvg.Core.Attribute msg"},{"name":"restart","comment":" This attribute indicates when animation can or can not restart.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform,\ndiscard, mpath, set\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/restart>\n\n","type":"TypedSvg.Types.Restart -> TypedSvg.Core.Attribute msg"},{"name":"rotate","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"rx","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"ry","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"shapeRendering","comment":" The creator of SVG content might want to provide a hint about what tradeoffs\nto make as the browser renders `path` element or basic shapes. The\nshape-rendering attribute provides these hints.\n\nUsed by Elements: circle, ellipse, line, mesh, path, polygon, polyline,\nrect, svg\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shapeRendering>\n\n","type":"TypedSvg.Types.ShapeRendering -> TypedSvg.Core.Attribute msg"},{"name":"slope","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"spacing","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"specularConstant","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"specularExponent","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"speed","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"spreadMethod","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"startOffset","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stdDeviation","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stemh","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stemv","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stitchTiles","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stopColor","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stopOpacity","comment":" ","type":"TypedSvg.Types.Opacity -> TypedSvg.Core.Attribute msg"},{"name":"strikethroughPosition","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"strikethroughThickness","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"string","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"stroke","comment":" ","type":"TypedSvg.Color.Color -> TypedSvg.Core.Attribute msg"},{"name":"strokeDasharray","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"strokeDashoffset","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"strokeLinecap","comment":" ","type":"TypedSvg.Types.StrokeLinecap -> TypedSvg.Core.Attribute msg"},{"name":"strokeLinejoin","comment":" ","type":"TypedSvg.Types.StrokeLinejoin -> TypedSvg.Core.Attribute msg"},{"name":"strokeMiterlimit","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"strokeOpacity","comment":" ","type":"TypedSvg.Types.Opacity -> TypedSvg.Core.Attribute msg"},{"name":"strokeWidth","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"style","comment":" The style attribute specifies style information for its element. It\nfunctions identically to the style attribute in HTML.\n\nUsed by Elements: a, altGlyph, altGlyphDef, altGlyphItem, circle, clipPath,\ndefs, defs, ellipse, feBlend, feColorMatrix, feComponentTransfer,\nfeComposite, feConvolveMatrix, feDiffuseLighting, feDisplacementMap,\nfeDropShadow, feFlood, feFuncA, feFuncB, feFuncG, feFuncR,\nfeGaussianBlur, feImage, feMerge, feMergeNode, feMorphology, feOffset,\nfeSpecularLighting, feTile, feTurbulence, filter, font, foreignObject,\ng, glyph, glyph, glyphRef, glyphRef, image, line, linearGradient,\nmarker, mask, mesh, meshGradient, missingGlyph, path, pattern, polygon,\npolyline, radialGradient, rect, stop, svg, svg, switch, symbol,\ntext, text, textPath, tref, tspan, use, use\n\nTODO: easy use of a typed CSS library?\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/style>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"systemLanguage","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"tableValues","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"target","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"textAnchor","comment":" ","type":"TypedSvg.Types.AnchorAlignment -> TypedSvg.Core.Attribute msg"},{"name":"textDecoration","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"textLength","comment":" The `textLength` attribute is intended to preserve a span of SVG text's\ndisplay width across a variety of conditions, such as webfonts not loading.\n\nUsed by Elements: text, tspan\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/textLength>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"textRendering","comment":" ","type":"TypedSvg.Types.TextRendering -> TypedSvg.Core.Attribute msg"},{"name":"title","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"to","comment":" This attribute indicates the final value of the attribute that will be\nmodified during the animation. The value of the attribute will change\nbetween the from attribute value and this value. By default the change will\nbe linear.\n\nWhen this attribute is used with the `set` element, it specifies the value\nfor the attribute during the duration of the `set` element.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/to>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"to2","comment":" This attribute indicates the final values of 2 attributes that will be\nmodified during the animation. The values of the attributes will change\nbetween the from2 attribute values and these values. By default the change will\nbe linear.\n\nWhen this attribute is used with the `set` element, it specifies the value\nfor the attribute during the duration of the `set` element.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/to>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"to3","comment":" This attribute indicates the final values of 3 attributes that will be\nmodified during the animation. The values of the attributes will change\nbetween the from3 attribute values and these value. By default the change will\nbe linear.\n\nWhen this attribute is used with the `set` element, it specifies the value\nfor the attribute during the duration of the `set` element.\n\nUsed by Elements: animate, animateColor, animateMotion, animateTransform\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/to>\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"transform","comment":" The transform attribute defines a list of transform definitions that are\napplied to an element and the element's children. The items in the transform\nlist are applied from right to left.\n\nUsed by Elements: a, circle, clipPath, defs, ellipse, foreignObject, g,\nimage, line, mesh, path, polygon, polyline, rect, switch, text, use, svg\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform>\n\n","type":"List.List TypedSvg.Types.Transform -> TypedSvg.Core.Attribute msg"},{"name":"u1","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"u2","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"underlinePosition","comment":" The underlinePosition attribute represents the ideal vertical position of\nthe underline. The underline position is expressed in the font's\ncoordinate system.\n\nUsed by Elements: fontFace\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/underline-position>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"underlineThickness","comment":" The underlineThickness attribute represents the ideal thickness of the\nunderline. The underline thickness is expressed in the font's coordinate\nsystem.\n\nUsed by Elements: fontFace\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/underline-thickness>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"unicode","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"unicodeBidi","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"unicodeRange","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"unitsPerEm","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vAlphabetic","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vHanging","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vIdeographic","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vMathematical","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"version","comment":" The version attribute is used to indicate what specification a SVG document\nconforms to. It is only allowed on the root `svg` element. It is purely\nadvisory and has no influence on rendering or processing.\n\nWhile it is specified to accept any number, the only two valid choices are\ncurrently 1.0 and 1.1.\n\nUsed by Elements: svg\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/version>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vertAdvY","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vertOriginX","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"vertOriginY","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"viewBox","comment":" The `viewBox` attribute allows you to specify that a given set of graphics\nstretch to fit a particular container element.\n\n`minX`, `minY`, `width` and `height` specify a rectangle in user space\nwhich should be mapped to the bounds of the viewport established by the\ngiven element, taking into account attribute `preserveAspectRatio`.\n\nNegative values for `width` or `height` are not permitted, and a value of\nzero disables rendering of the element.\n\nUsed by Elements: svg, symbol, image, marker, pattern, view\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox>\n\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute a"},{"name":"viewTarget","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"visibility","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"width","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"widths","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"wordSpacing","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"writingMode","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"x","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"x1","comment":" This attribute defines the x-axis coordinate of the start of a line or\nlinearGradient.\n\nIf the attribute is not specified, the effect is as if a value of 0\n(or 0%, in the case of a linearGradient) were specified.\n\nUsed by Elements: line, linearGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x1>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"x2","comment":" This attribute defines the x-axis coordinate of the end of a line or\nlinearGradient.\n\nIf the attribute is not specified, the effect is as if a value of 0\n(or 0%, in the case of a linearGradient) were specified.\n\nUsed by Elements: line, linearGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x1>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"xChannelSelector","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xHeight","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkActuate","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkArcrole","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkHref","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkRole","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkShow","comment":" This attribute is provided for backwards compatibility with SVG 1.1. It\nprovides documentation to XLink-aware processors. In case of a conflict,\nthe target attribute has priority, since it can express a wider range of\nvalues.\n\nUsed by Elements: a, altGlyph, animate, animateColor, animateMotion,\nanimateTransform, colorProfile, cursor, feImage, filter, fontFaceUri, glyphRef,\nimage, linearGradient, mpath, pattern, radialGradient, script, set, textPath,\ntref, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkShow>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkTitle","comment":" The xlinkTitle attribute is used to describe the meaning of a link or\nresource in a human-readable fashion, along the same lines as the xlinkRole\nor xlinkArcrole attribute. It is a string that describes the resource.\nIn general it is preferable to use a `title` child element rather than a\nxlinkTitle attribute.\n\nUsed by Elements: a, altGlyph, animate, animateColor, animateMotion,\nanimateTransform, colorProfile, cursor, feImage, filter, fontFaceUri, glyphRef,\nimage, linearGradient, mpath, pattern, radialGradient, script, set, textPath,\ntref, use\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkTitle>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xlinkType","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xmlBase","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xmlLang","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"xmlSpace","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"y","comment":" ","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"y1","comment":" This attribute defines the y-axis coordinate of the start of a line or\nlinearGradient.\n\nIf the attribute is not specified, the effect is as if a value of 0\n(or 0%, in the case of a linearGradient) were specified.\n\nUsed by Elements: line, linearGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y1>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"y2","comment":" This attribute defines the y-axis coordinate of the end of a line or\nlinearGradient.\n\nIf the attribute is not specified, the effect is as if a value of 0\n(or 0%, in the case of a linearGradient) were specified.\n\nUsed by Elements: line, linearGradient\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y1>\n\n","type":"TypedSvg.Types.Length -> TypedSvg.Core.Attribute msg"},{"name":"yChannelSelector","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"zoomAndPan","comment":" ","type":"String.String -> TypedSvg.Core.Attribute msg"}],"binops":[]},{"name":"TypedSvg.Attributes.InEm","comment":" This module exposes all Length attributes (x, y, width, etc.) as `em`-based\nattributes. It's used as a shortcut so that it becomes unnecessary to prefix\neach numeric length with the `em` function.\n\nExample:\n\n    import Color\n    import Html exposing (Html)\n    import TypedSvg exposing (rect, svg)\n    import TypedSvg.Attributes exposing (fill, stroke, viewBox)\n    import TypedSvg.Attributes.InEm exposing (height, strokeWidth, width, x, y)\n\n    type Msg\n        = NoOp\n\n    type alias Model =\n        Int\n\n    view : Model -> Html Msg\n    view model =\n        svg\n            [ viewBox 0 0 800 600\n            ]\n            [ rect\n                [ x 15\n                , y 15\n                , width 20\n                , height 20\n                , fill Color.white\n                , strokeWidth 0.5\n                , stroke Color.black\n                ]\n                []\n            ]\n\n\n# Common Length Attributes\n\n@docs x, y, r, width, height, strokeWidth\n\n\n# Text\n\n@docs fontSize, textLength\n\n\n# Marker\n\n@docs markerWidth, markerHeight\n\n\n# Other\n\n@docs cx, cy, dx, dy, fx, fy, rx, ry, x1, y1, x2, y2\n\n","unions":[],"aliases":[],"values":[{"name":"cx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"cy","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"dx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"dy","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fontSize","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fy","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"height","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"markerHeight","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"markerWidth","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"r","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"rx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"ry","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"strokeWidth","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"textLength","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"width","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"x","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"x1","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"x2","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"y","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"y1","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"y2","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"}],"binops":[]},{"name":"TypedSvg.Attributes.InPx","comment":" This module exposes all Length attributes (x, y, width, etc.) as px-based\nattributes. It's used as a shortcut so that it becomes unnecessary to prefix\neach numeric length with the `px` function.\n\nExample:\n\n    import Color\n    import Html exposing (Html)\n    import TypedSvg exposing (rect, svg)\n    import TypedSvg.Attributes exposing (fill, stroke, viewBox)\n    import TypedSvg.Attributes.InPx exposing (height, strokeWidth, width, x, y)\n\n    type Msg\n        = NoOp\n\n    type alias Model =\n        Int\n\n    view : Model -> Html Msg\n    view model =\n        svg\n            [ viewBox 0 0 800 600\n            ]\n            [ rect\n                [ x 150\n                , y 150\n                , width 200\n                , height 200\n                , fill Color.white\n                , strokeWidth 2\n                , stroke Color.black\n                ]\n                []\n            ]\n\n\n# Common Length Attributes\n\n@docs x, y, r, width, height, strokeWidth\n\n\n# Text\n\n@docs fontSize, textLength\n\n\n# Marker\n\n@docs markerWidth, markerHeight\n\n\n# Other\n\n@docs cx, cy, dx, dy, fx, fy, rx, ry, x1, y1, x2, y2\n\n","unions":[],"aliases":[],"values":[{"name":"cx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"cy","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"dx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"dy","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fontSize","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"fy","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"height","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"markerHeight","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"markerWidth","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"r","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"rx","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"ry","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"strokeWidth","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"textLength","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"width","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"x","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"x1","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"x2","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"y","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"y1","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"y2","comment":" ","type":"Basics.Float -> TypedSvg.Core.Attribute msg"}],"binops":[]},{"name":"TypedSvg.Color","comment":" Library for working with colors. Includes\n[RGB](https://en.wikipedia.org/wiki/RGB_color_model) and\n[HSL](http://en.wikipedia.org/wiki/HSL_and_HSV) creation, gradients, and\nbuilt-in names.\n\n\n# Colors\n\n@docs Color\n\n\n# Creation\n\n@docs rgb, rgba, hsl, hsla, greyscale, grayscale, complement\n\n\n# Gradients\n\n@docs Gradient, linear, radial\n\n\n# Extracting Colors\n\n@docs toRgb, toHsl\n\n\n# Built-in Colors\n\nThese colors come from the [Tango\npalette](http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines)\nwhich provides aesthetically reasonable defaults for colors. Each color also\ncomes with a light and dark version.\n\n\n### Standard\n\n@docs red, orange, yellow, green, blue, purple, brown\n\n\n### Light\n\n@docs lightRed, lightOrange, lightYellow, lightGreen, lightBlue, lightPurple, lightBrown\n\n\n### Dark\n\n@docs darkRed, darkOrange, darkYellow, darkGreen, darkBlue, darkPurple, darkBrown\n\n\n### Eight Shades of Grey\n\nThese colors are a compatible series of shades of grey, fitting nicely\nwith the Tango palette.\n\n@docs white, lightGrey, grey, darkGrey, lightCharcoal, charcoal, darkCharcoal, black\n@docs lightGray, gray, darkGray\n\n\n### Color space conversion.\n\n@docs colorToCssRgba\n\n","unions":[{"name":"Color","comment":" Representation of colors.\n","args":[],"cases":[]},{"name":"Gradient","comment":" Abstract representation of a color gradient.\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"black","comment":" ","type":"TypedSvg.Color.Color"},{"name":"blue","comment":" ","type":"TypedSvg.Color.Color"},{"name":"brown","comment":" ","type":"TypedSvg.Color.Color"},{"name":"charcoal","comment":" ","type":"TypedSvg.Color.Color"},{"name":"colorToCssRgba","comment":" Converts a color to an css rgba string.\ncolorToCssRgba (rgba 255 0 0 0.5) -- \"rgba(255, 0, 0, 0.5)\"\n","type":"TypedSvg.Color.Color -> String.String"},{"name":"complement","comment":" Produce a &ldquo;complementary color&rdquo;. The two colors will\naccent each other. This is the same as rotating the hue by 180&deg;.\n","type":"TypedSvg.Color.Color -> TypedSvg.Color.Color"},{"name":"darkBlue","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkBrown","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkCharcoal","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkGray","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkGreen","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkGrey","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkOrange","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkPurple","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkRed","comment":" ","type":"TypedSvg.Color.Color"},{"name":"darkYellow","comment":" ","type":"TypedSvg.Color.Color"},{"name":"gray","comment":" ","type":"TypedSvg.Color.Color"},{"name":"grayscale","comment":" Produce a gray based on the input. 0 is white, 1 is black.\n","type":"Basics.Float -> TypedSvg.Color.Color"},{"name":"green","comment":" ","type":"TypedSvg.Color.Color"},{"name":"grey","comment":" ","type":"TypedSvg.Color.Color"},{"name":"greyscale","comment":" Produce a gray based on the input. 0 is white, 1 is black.\n","type":"Basics.Float -> TypedSvg.Color.Color"},{"name":"hsl","comment":" Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV). This gives\nyou access to colors more like a color wheel, where all hues are arranged in a\ncircle that you specify with standard Elm angles (radians).\nred = hsl (degrees 0) 1 0.5\ngreen = hsl (degrees 120) 1 0.5\nblue = hsl (degrees 240) 1 0.5\npastelRed = hsl (degrees 0) 0.7 0.7\nTo cycle through all colors, just cycle through degrees. The saturation level\nis how vibrant the color is, like a dial between grey and bright colors. The\nlightness level is a dial between white and black.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> TypedSvg.Color.Color"},{"name":"hsla","comment":" Create [HSL colors](http://en.wikipedia.org/wiki/HSL_and_HSV)\nwith an alpha component for transparency.\n","type":"Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> TypedSvg.Color.Color"},{"name":"lightBlue","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightBrown","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightCharcoal","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightGray","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightGreen","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightGrey","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightOrange","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightPurple","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightRed","comment":" ","type":"TypedSvg.Color.Color"},{"name":"lightYellow","comment":" ","type":"TypedSvg.Color.Color"},{"name":"linear","comment":" Create a linear gradient. Takes a start and end point and then a series of\n&ldquo;color stops&rdquo; that indicate how to interpolate between the start and\nend points. See [this example](http://elm-lang.org/examples/linear-gradient) for a\nmore visual explanation.\n","type":"( Basics.Float, Basics.Float ) -> ( Basics.Float, Basics.Float ) -> List.List ( Basics.Float, TypedSvg.Color.Color ) -> TypedSvg.Color.Gradient"},{"name":"orange","comment":" ","type":"TypedSvg.Color.Color"},{"name":"purple","comment":" ","type":"TypedSvg.Color.Color"},{"name":"radial","comment":" Create a radial gradient. First takes a start point and inner radius. Then\ntakes an end point and outer radius. It then takes a series of &ldquo;color\nstops&rdquo; that indicate how to interpolate between the inner and outer\ncircles. See [this example](http://elm-lang.org/examples/radial-gradient) for a\nmore visual explanation.\n","type":"( Basics.Float, Basics.Float ) -> Basics.Float -> ( Basics.Float, Basics.Float ) -> Basics.Float -> List.List ( Basics.Float, TypedSvg.Color.Color ) -> TypedSvg.Color.Gradient"},{"name":"red","comment":" ","type":"TypedSvg.Color.Color"},{"name":"rgb","comment":" Create RGB colors from numbers between 0 and 255 inclusive.\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> TypedSvg.Color.Color"},{"name":"rgba","comment":" Create RGB colors with an alpha component for transparency.\nThe alpha component is specified with numbers between 0 and 1.\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> Basics.Float -> TypedSvg.Color.Color"},{"name":"toHsl","comment":" Extract the components of a color in the HSL format.\n","type":"TypedSvg.Color.Color -> { hue : Basics.Float, saturation : Basics.Float, lightness : Basics.Float, alpha : Basics.Float }"},{"name":"toRgb","comment":" Extract the components of a color in the RGB format.\n","type":"TypedSvg.Color.Color -> { red : Basics.Int, green : Basics.Int, blue : Basics.Int, alpha : Basics.Float }"},{"name":"white","comment":" ","type":"TypedSvg.Color.Color"},{"name":"yellow","comment":" ","type":"TypedSvg.Color.Color"}],"binops":[]},{"name":"TypedSvg.Core","comment":"\n\n\n# SVG Nodes\n\n@docs Svg, text, node, map, foreignObject\n\n\n# SVG Attributes\n\n@docs Attribute, attribute, attributeNS, svgNamespace\n\n","unions":[],"aliases":[{"name":"Attribute","comment":" Set attributes on your `Svg`.\n","args":["msg"],"type":"VirtualDom.Attribute msg"},{"name":"Svg","comment":" The core building block to create SVG. This library is filled with helper\nfunctions to create these `Svg` values.\n","args":["msg"],"type":"VirtualDom.Node msg"}],"values":[{"name":"attribute","comment":" Creates any untyped attribute\n","type":"String.String -> String.String -> TypedSvg.Core.Attribute msg"},{"name":"attributeNS","comment":" Creates any untyped, namespaced attribute\n","type":"String.String -> String.String -> String.String -> TypedSvg.Core.Attribute msg"},{"name":"foreignObject","comment":" The `foreignObject` SVG element allows for inclusion of a foreign XML namespace\nwhich has its graphical content drawn by a different user agent. The included\nforeign graphical content is subject to SVG transformations and compositing.\n\nThe contents of foreignObject are assumed to be from a different namespace. Any\nSVG elements within a `foreignObject` will not be drawn, except in the situation\nwhere a properly defined SVG subdocument with a proper xmlns attribute\nspecification is embedded recursively. One situation where this can occur is\nwhen an SVG document fragment is embedded within another non-SVG document\nfragment, which in turn is embedded within an SVG document fragment (e.g., an\nSVG document fragment contains an XHTML document fragment which in turn contains\nyet another SVG document fragment).\n\nUsually, a foreignObject will be used in conjunction with the `switch` element\nand the `requiredExtensions` attribute to provide proper checking for user agent\nsupport and provide an alternate rendering in case user agent support is not\navailable.\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (Html.Html msg) -> TypedSvg.Core.Svg msg"},{"name":"map","comment":" Transform the messages produced by some `Svg`.\n","type":"(a -> msg) -> TypedSvg.Core.Svg a -> TypedSvg.Core.Svg msg"},{"name":"node","comment":" Create any SVG node. To create a `<rect>` helper function, you would write:\nrect : List (Attribute msg) -> List (Svg msg) -> Svg msg\nrect attributes children =\nnode \"rect\" attributes children\nYou should always be able to use the helper functions already defined in this\nlibrary though!\n","type":"String.String -> List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"svgNamespace","comment":" ","type":"TypedSvg.Core.Attribute msg"},{"name":"text","comment":" A simple text node, no tags at all.\nWarning: not to be confused with `text_` which produces the SVG `<text>` tag!\n","type":"String.String -> TypedSvg.Core.Svg msg"}],"binops":[]},{"name":"TypedSvg.Events","comment":"\n\n\n# Animation event attributes\n\n@docs onBegin, onEnd, onRepeat\n\n\n# Document event attributes\n\n@docs onAbort, onError, onResize, onScroll, onLoad, onUnload, onZoom\n\n\n# Graphical event attributes\n\n@docs onActivate, onClick, onFocusIn, onFocusOut, onMouseDown, onMouseMove, onMouseOut, onMouseOver, onMouseUp\n\n\n# Custom Events\n\n@docs on\n\n","unions":[],"aliases":[],"values":[{"name":"on","comment":" Create a custom event listener.\nimport Json.Decode as Json\nonClick : msg -> Attribute msg\nonClick msg =\non \"click\" (Json.succeed msg)\n\nYou first specify the name of the event in the same format as with JavaScript’s\n`addEventListener`. Next you give a JSON decoder, which lets you pull\ninformation out of the event object. If the decoder succeeds, it will produce\na message and route it to your `update` function.\n\n","type":"String.String -> VirtualDom.Handler msg -> VirtualDom.Attribute msg"},{"name":"onAbort","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onActivate","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onBegin","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onClick","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onEnd","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onError","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onFocusIn","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onFocusOut","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onLoad","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onMouseDown","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onMouseMove","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onMouseOut","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onMouseOver","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onMouseUp","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onRepeat","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onResize","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onScroll","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onUnload","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"},{"name":"onZoom","comment":" ","type":"msg -> TypedSvg.Core.Attribute msg"}],"binops":[]},{"name":"TypedSvg.Extra.InPx","comment":" Typed SVG elements that default to `px` units\n\n\n# Helpers\n\n@docs centeredImage\n\n","unions":[],"aliases":[],"values":[{"name":"centeredImage","comment":" Centers an image (png, svg, etc.) referenced by an url string and with a given image width and height on the given x, y coordinate. Usage example:\n\n    let\n        width =\n            50.5\n\n        height =\n            50.5\n\n        x =\n            150\n\n        y =\n            200\n    in\n    centeredImage \"/images/example.png\" width height x y\n\n","type":"String.String -> Basics.Float -> Basics.Float -> Basics.Float -> Basics.Float -> TypedSvg.Core.Svg msg"}],"binops":[]},{"name":"TypedSvg.Filters","comment":" SVG Filter Elements\n\n    Typical usage:\n\n        import TypedSvg.Filters as Fe\n        import TypedSvg.Filters.Attributes exposing (..)\n\n        Fe.filter []\n            [ Fe.blend [in InSourceGraphic, in2 InFillPaint, mode ModeMultiply] []\n            ]\n\n@docs blend, colorMatrix, componentTransfer, composite, convolveMatrix, diffuseLighting, displacementMap, flood, funcA, funcB, funcG, funcR, gaussianBlur, image, merge, mergeNode, morphology, offset, specularLighting, tile, turbulence\n\n\n# Light source elements\n\n@docs distantLight, pointLight, spotLight\n\n","unions":[],"aliases":[],"values":[{"name":"blend","comment":"\n\n    The `Filters.blend` SVG filter primitive composes two objects together\n    ruled by a certain blending mode. This is similar to what is known from\n    image editing software when blending two layers. The mode is defined by the\n    `mode` attribute.\n\n    Attributes: in, in2, mode\n\n    Global Attributes: id, class, height, result, style, tabindex, width, x, y\n\n    Presentation Attributes\n\n    See: https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlend\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"colorMatrix","comment":"\n\n    The `colorMatrix` SVG filter element changes colors based on a\n    transformation matrix. Every pixel's color value (represented by an\n    [R,G,B,A] vector) is matrix multiplied to create a new color.\n\n    Specific Attributes: in, colorMatrixType, colorMatrixValues\n\n    Global Attributes: id, class, height, result, style, tabindex, width, x, y\n\n    Presentation Attributes\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"componentTransfer","comment":"\n\n    The `componentTransfer` SVG filter primitive performs color-component-wise\n    remapping of data for each pixel. It allows operations like brightness\n    adjustment, contrast adjustment, color balance or thresholding.\n\n    The calculations are performed on non-premultiplied color values. The colors\n    are modified by changing each channel (R, G, B, and A) to the result of what\n    the children `funcR`, `funcB`, `funcG`, and `funcA` return.\n\n    Specific Attributes: in\n\n    Global Attributes: id, class, height, result, style, tabindex, width, x, y\n\n    Presentation Attributes\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"composite","comment":"\n\n    This filter primitive performs the combination of two input images\n    pixel-wise in image space using one of the Porter-Duff compositing\n    operations:\n\n        over, in, atop, out, xor, and lighter\n\n    Additionally, a component-wise arithmetic operation (with the result clamped\n    between [0..1]) can be applied.\n\n    The arithmetic operation is useful for combining the output from the\n    `diffuseLighting` and `specularLighting` filters with texture data. If the\n    arithmetic operation is chosen, each result pixel is computed using the\n    following formula:\n\n        result = k1*i1*i2 + k2*i1 + k3*i2 + k4\n\n    where:\n\n    `i1` and `i2` indicate the corresponding pixel channel values of the input\n    image, which map to `in` and `in2` respectively.\n\n    `k1`, `k2`, `k3` and `k4` indicate the values of the attributes with the\n    same name.\n\n    Specific Attributes: in, in2, compositeOperator, k1, k2, k3, k4\n\n    Global Attributes: id, class, height, result, style, tabindex, width, x, y\n\n    Presentation Attributes\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"convolveMatrix","comment":"\n\n    The `convolveMatrix` SVG filter primitive applies a matrix convolution\n    filter effect. A convolution combines pixels in the input image with\n    neighboring pixels to produce a resulting image. A wide variety of imaging\n    operations can be achieved through convolutions, including blurring, edge\n    detection, sharpening, embossing and beveling.\n\n    Specific Attributes: in, order, kernelMatrix, divisor, bias, targetX,\n        targetY, edgeMode, kernelUnitLength, preserveAlpha\n\n    Global Attributes: id, class, height, result, style, tabindex, width, x, y\n\n    Presentation Attributes\n\n","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"diffuseLighting","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"displacementMap","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"distantLight","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"flood","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"funcA","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"funcB","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"funcG","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"funcR","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"gaussianBlur","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"image","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"merge","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"mergeNode","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"morphology","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"offset","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"pointLight","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"specularLighting","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"spotLight","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"tile","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"},{"name":"turbulence","comment":" ","type":"List.List (TypedSvg.Core.Attribute msg) -> List.List (TypedSvg.Core.Svg msg) -> TypedSvg.Core.Svg msg"}],"binops":[]},{"name":"TypedSvg.Filters.Attributes","comment":" Attributes of SVG filter elements\n\n\n# Attributes\n\n@docs azimuth, baseFrequency, bias, colorInterpolationFilters, colorMatrixType, colorMatrixValues, compositeOperator, diffuseConstant, divisor, edgeMode, elevation, filterRes, filterUnits, floodColor, floodOpacity, funcType, in2, in_, k1, k2, k3, k4, kernelMatrix, kernelUnitLength, limitingConeAngle, mode, morphologyOperator, numOctaves, order, pointsAtX, pointsAtY, pointsAtZ, preserveAlpha, radius, result, scale, seed, surfaceScale, targetX, targetY, turbulenceType, z\n\n","unions":[],"aliases":[],"values":[{"name":"azimuth","comment":" The azimuth attribute represents the direction angle of the light source on\nthe XY plane (clockwise), in degrees from the x axis.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.distantLight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/azimuth>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"baseFrequency","comment":" The baseFrequency attribute represents the frequency parameter for the noise\nfunction of the `Filters.turbulence` primitive. The first Float represents\na base frequency in the X direction and the second value represents a base\nfrequency in the Y direction.\n\nNegative values are forbidden.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.turbulence\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseFrequency>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"bias","comment":" The bias attribute shifts the range of a filter. After applying the\nkernelMatrix of the `Filters.convolveMatrix` element to the input image to\nyield a Float and applying the divisor attribute, the bias attribute is\nadded to each component. This allows representation of values that would\notherwise be clamped to 0 or 1.\n\nIf bias is not specified, then the effect is as if a value of 0 were\nspecified.\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/bias>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"colorInterpolationFilters","comment":" The `colorInterpolationFilters` attribute specifies the color space for\nimaging operations performed via filter effects.\n\nNote that `colorInterpolationFilters` has a different initial value than\n`colorInterpolation`. `colorInterpolationFilters` has an initial value of\nlinearRGB, whereas color-interpolation has an initial value of sRGB. Thus,\nin the default case, filter effects operations occur in the linearRGB\ncolor space, whereas all other color interpolations occur by default in the\nsRGB color space.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: Filters.blend, Filters.colorMatrix,\nFilters.componentTransfer, Filters.composite, Filters.convolveMatrix,\nFilters.diffuseLighting, Filters.displacementMap, Filters.gaussianBlur,\nFilters.morphology, Filters.offset, Filters.specularLighting,\nFilters.tile\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation-filters>\n\n","type":"TypedSvg.Types.ColorInterpolation -> TypedSvg.Core.Attribute msg"},{"name":"colorMatrixType","comment":" Indicates the type of matrix operation. The keyword matrix indicates that a\nfull 5x4 matrix of values will be provided. The other keywords represent\nconvenience shortcuts to allow commonly used color operations to be\nperformed without specifying a complete matrix.\n\nUsed by Elements: Filters.colorMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type>\n\n","type":"TypedSvg.Types.ColorMatrixType -> TypedSvg.Core.Attribute msg"},{"name":"colorMatrixValues","comment":" Contents of `colorMatrixValues` depends on the value of the attribute\n`type`.\n\nUsed by Elements: Filters.colorMatrix\n\nNOTE: this is called `values` in `elm-lang/svg` but is different here\nin order to differentiate from animationValues.\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/values>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"compositeOperator","comment":" `compositeOperator` defines the compositing operation that is to be performed\nin the `Filters.composite` element\n\nUsed by Elements: Filters.composite\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/operator>\n\n","type":"TypedSvg.Types.CompositeOperator -> TypedSvg.Core.Attribute msg"},{"name":"diffuseConstant","comment":" The `diffuseConstant` attribute represant the kd value in the Phong lighting\nmodel. In SVG, this can be any non-negative number.\n\nIf the attribute is not specified, then the effect is as if a value of 1\nwere specified.\n\nUsed by Elements: Filters.diffuseLighting\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/diffuseConstant>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"divisor","comment":" After applying the `kernelMatrix` of the `Filters.convolveMatrix` element to\nthe input image to yield a number, that Float is divided by the value given to\nthe divisor attribute to yield the final destination color value. A divisor\nthat is the sum of all the matrix values tends to have an evening effect on\nthe overall color intensity of the result.\n\nThe default value is the sum of all values in kernelMatrix, with the\nexception that if the sum is zero, then the divisor is set to 1.\n\nIt is an error to specify a divisor of zero.\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/divisor>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"edgeMode","comment":" The edgeMode attribute determines how to extend the input image as necessary\nwith color values so that the matrix operations can be applied when the\nkernel is positioned at or near the edge of the input image.\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/edgeMode>\n\n","type":"TypedSvg.Types.EdgeMode -> TypedSvg.Core.Attribute msg"},{"name":"elevation","comment":" The elevation attribute represents the direction angle for a light source\nfrom the XY plane towards the Z axis, in degrees. Note the positive Z-axis\npoints towards the viewer of the content.\n\nUsed by Elements: Filters.distantLight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/elevation>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"filterRes","comment":" A `filter` element can define a region to which a given filter effect\napplies and can provide a resolution for any intermediate continuous tone\nimages used to process any raster-based filter primitives.\n\nNOTE: Obsolete.\n\nUsed by Elements: Filters.filter\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filterRes>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"filterUnits","comment":" The `filterUnits` attribute defines the coordinate system for attributes\n`x`, `y`, `width` and `height`.\n\nUsed by Elements: Filters.filter\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filterUnits>\n\n","type":"TypedSvg.Types.CoordinateSystem -> TypedSvg.Core.Attribute msg"},{"name":"floodColor","comment":" The `floodColor` attribute indicates what color to use to flood the current\nfilter primitive subregion defined through the `Filters.flood` element. The\nkeyword currentColor and ICC colors can be specified in the same manner as\nwithin a `paint` specification for the fill and stroke attributes.\n\nAs a presentation attribute, it also can be used as a property directly\ninside a CSS stylesheet.\n\nUsed by Elements: Filters.flood\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-color>\n\n","type":"TypedSvg.Types.FloodColor -> TypedSvg.Core.Attribute msg"},{"name":"floodOpacity","comment":" The `floodOpacity` attribute indicates the opacity value to use across the\ncurrent filter primitive subregion defined through the `Filters.flood` element.\n\nUsed by Elements: Filters.flood\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-opacity>\n\n","type":"TypedSvg.Types.Opacity -> TypedSvg.Core.Attribute msg"},{"name":"funcType","comment":" Indicates the type of component transfer function.\n\nUsed by Elements: Filters.funcR, Filters.funcG, Filters.funcA, Filters.funcB\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type>\n\n","type":"TypedSvg.Types.FuncType -> TypedSvg.Core.Attribute msg"},{"name":"in2","comment":" The `in2` attribute identifies the second input for the given filter\nprimitive. It works exactly like the in attribute.\n\nUsed by Elements: Filters.blend, Filters.colorMatrix,\nFilters.componentTransfer, Filters.composite, Filters.convolveMatrix,\nFilters.diffuseLighting, Filters.displacementMap, Filters.gaussianBlur,\nFilters.morphology, Filters.offset, Filters.specularLighting,\nFilters.tile\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/in2>\n\n","type":"TypedSvg.Types.InValue -> TypedSvg.Core.Attribute msg"},{"name":"in_","comment":" The `in_` attribute identifies input for the given filter primitive.\n\nTakes type InValue, which can be one of 6 constants, or a reference\n\nIf no value is provided and this is the first filter primitive, then this\nfilter primitive will use `InSourceGraphic` as its input.\n\nIf no value is provided and this is a subsequent filter primitive, then this\nfilter primitive will use the result from the previous filter primitive as\nits input.\n\nUsed by Elements: Filters.blend, Filters.colorMatrix,\nFilters.componentTransfer, Filters.composite, Filters.convolveMatrix,\nFilters.diffuseLighting, Filters.displacementMap, Filters.gaussianBlur,\nFilters.morphology, Filters.offset, Filters.specularLighting,\nFilters.tile\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/in>\n\n","type":"TypedSvg.Types.InValue -> TypedSvg.Core.Attribute msg"},{"name":"k1","comment":" The k1 attribute defines one of the values to be used within the arithmetic\noperation of the `Filters.composite` filter primitive.\n\nIf this attribute is not set, its default value is 0.\n\nUsed by Elements: Filters.composite\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k1>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"k2","comment":" The k2 attribute defines one of the values to be used within the arithmetic\noperation of the `Filters.composite` filter primitive.\n\nIf this attribute is not set, its default value is 0.\n\nUsed by Elements: Filters.composite\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k2>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"k3","comment":" The k3 attribute defines one of the values to be used within the arithmetic\noperation of the `Filters.composite` filter primitive.\n\nIf this attribute is not set, its default value is 0.\n\nUsed by Elements: Filters.composite\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k3>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"k4","comment":" The k4 attribute defines one of the values to be used within the arithmetic\noperation of the `Filters.composite` filter primitive.\n\nIf this attribute is not set, its default value is 0.\n\nUsed by Elements: Filters.composite\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k4>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"kernelMatrix","comment":" The `order` attribute defines the list of numbers that makes up the kernel\nmatrix for the `Filters.convolveMatrix` element.\n\nThe Float of entries in the list must be equal to `orderX` x `orderY`, as\ndefined in the `order` attribute.\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kernelMatrix>\n\n","type":"List.List Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"kernelUnitLength","comment":" The `kernelUnitLength` attribute has two meaning based on the context it's\nused:\n\n  - For lighting filter primitives, it indicates the intended distance in\n    current filter units (i.e., units as determined by the value of attribute\n    primitiveUnits) for `dx` and `dy`, respectively, in the surface normal\n    calculation formulas.\n\n  - For the `feConvolveMatrix` primitive, it indicates the intended distance\n    in current filter units (i.e., units as determined by the value of\n    attribute primitiveUnits) between successive columns and rows,\n    respectively, in the kernelMatrix.\n\nUsed by Elements: Filters.convolveMatrix, Filters.diffuseLighting,\nFilters.specularLighting\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kernelUnitLength>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"limitingConeAngle","comment":" The limitingConeAngle attribute represents the angle in degrees between\nthe spot light axis (i.e. the axis between the light source and the point\nto which it is pointing at) and the spot light cone. So it defines a\nlimiting cone which restricts the region where the light is projected.\nNo light is projected outside the cone.\n\nIf no value is specified, then no limiting cone will be applied.\n\nUsed by Elements: Filters.spotlight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/limitingConeAngle>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"mode","comment":" The `mode` attribute defines the blending mode on the `Filters.blend` filter\nprimitive.\n\nUsed by Elements: Filters.blend\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mode>\n\n","type":"TypedSvg.Types.Mode -> TypedSvg.Core.Attribute msg"},{"name":"morphologyOperator","comment":" `morphologyOperator` defines the compositing operation that is to be performed\nin the `feMorphology` element\n\nUsed by Elements: Filters.morphology\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/operator>\n\n","type":"TypedSvg.Types.MorphologyOperator -> TypedSvg.Core.Attribute msg"},{"name":"numOctaves","comment":" The `numOctaves` parameter for the noise function of the\n`Filters.turbulence` primitive.\n\nIf the attribute is not specified, then the effect is as if a value of 1\nwere specified.\n\nUsed by Elements: Filters.turbulence\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/>\n\n","type":"Basics.Int -> TypedSvg.Core.Attribute msg"},{"name":"order","comment":" The order attribute indicates the size of the matrix to be used by an\n`Filters.convolveMatrix` element.\n\nThe values provided must be integers greater than zero. The first number,\n`orderX`, indicates the Float of columns in the matrix. The second number,\n`orderY`, indicates the Float of rows in the matrix.\n\nA typical value is order=\"3\". It is recommended that only small values\n(e.g., 3) be used; higher values may result in very high CPU overhead and\nusually do not produce results that justify the impact on performance.\n\nIf the attribute is not specified, the effect is as if a value of 3 were\nspecified.\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/order>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"pointsAtX","comment":" The `pointsAtX` attribute represent the X location in the coordinate system\nestablished by attribute primitiveUnits on the `filter` element of the point\nat which the light source is pointing.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.spotlight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtX>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"pointsAtY","comment":" The `pointsAtY` attribute represent the Y location in the coordinate system\nestablished by attribute primitiveUnits on the `filter` element of the point\nat which the light source is pointing.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.spotlight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtY>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"pointsAtZ","comment":" The `pointsAtZ` attribute represents the Z location in the coordinate system\nestablished by attribute primitiveUnits on the `filter` element of the point\nat which the light source is pointing.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.spotlight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtZ>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"preserveAlpha","comment":" The `preserveAlpha` attribute indicates how an `feConvolveMatrix` element\nhandles alpha transparency.\n\nA value of false indicates that the convolution matrix will apply to all\nchannels, including the alpha channel. This is the default value.\n\nA value of true indicates that the convolution matrix will only apply to the\ncolor channels.\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAlpha>\n\n","type":"Basics.Bool -> TypedSvg.Core.Attribute msg"},{"name":"radius","comment":" The `radius` attribute represent the radius for the operation on a given\n`feMorphology` filter primitive. The values are in the coordinate system\nestablished by the `primitiveUnits` attribute on the `filter` element.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.morphology\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/radius>\n\n","type":"Basics.Float -> Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"result","comment":" The `result` attribute defines the assigned name for this filter primitive.\nIf supplied, then graphics that result from processing this filter primitive\ncan be referenced by an in attribute on a subsequent filter primitive within\nthe same `filter` element.\n\nIf no value is provided, the output will only be available for re-use as the\nimplicit input into the next filter primitive if that filter primitive\nprovides no value for its in attribute.\n\nUsed by Elements: feBlend, feColorMatrix, feComponentTransfer, feComposite,\nfeConvolveMatrix, feDiffuseLighting, feDisplacementMap, feDropShadow,\nfeFlood,feFuncA, feFuncB, feFuncG, feFuncR,feGaussianBlur, feImage,\nfeMerge, feMergeNode, feMorphology, feOffset, feSpecularLighting,\nfeTile, feTurbulence\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/result>\n\n","type":"String.String -> TypedSvg.Core.Attribute msg"},{"name":"scale","comment":" The `scale` attribute define the displacement scale factor to be used on a\n`Filters.displacementMap` filter primitive. The amount is expressed in the\ncoordinate system established by the `primitiveUnits` attribute on the\n`filter` element.\n\nWhen the value of this attribute is 0, this operation has no effect on the\nsource image.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.displacementMap\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/scale>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"seed","comment":" The seed attribute represents the starting Float for the pseudo random\nnumber generator of the `Filters.turbulence` primitive.\n\nIf the attribute is not specified, then the effect is as if a value of 0\nwere specified.\n\nUsed by Elements: Filters.turbulence\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/seed>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"surfaceScale","comment":" The `surfaceScale` attribute represents the height of the surface for a\nlight filter primitive.\n\nIf the attribute is not specified, then the effect is as if a value of 1\nwere specified.\n\nUsed by Elements: Filters.diffuseLighting, Filters.specularLighting\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/surfaceScale>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"targetX","comment":" The `targetX` attribute determines the positioning in X of the convolution\nmatrix relative to a given target pixel in the input image. The leftmost\ncolumn of the matrix is column Float zero. The value must be such that:\n\n    0 <= targetX < orderX\n\nBy default, the convolution matrix is centered in X over each pixel of the\ninput image (i.e., targetX = floor ( orderX / 2 )).\n\nUsed by Elements: convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/targetX>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"targetY","comment":" The targetY attribute determines the positioning in Y of the convolution\nmatrix relative to a given target pixel in the input image. The topmost\nrow of the matrix is row Float zero. The value must be such that:\n\n    0 <= targetY < orderY\n\nBy default, the convolution matrix is centered in Y over each pixel of the\ninput image (i.e., targetY = floor ( orderY / 2 )).\n\nUsed by Elements: Filters.convolveMatrix\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/targetY>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"},{"name":"turbulenceType","comment":" Indicates whether the filter primitive should perform a noise or turbulence\nfunction.\n\nUsed by Elements: Filters.turbulence\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type>\n\n","type":"TypedSvg.Types.TurbulenceType -> TypedSvg.Core.Attribute msg"},{"name":"z","comment":" The `z` attribute difines the location along the Z-axis for a light source\nin the coordinate system established by the primitiveUnits attribute on the\n`filter` element, assuming that, in the initial coordinate system, the\npositive Z-axis comes out towards the person viewing the content and\nassuming that one unit along the Z-axis equals on unit in X and Z.\n\nIf the attribute is not specified, then the effect is as if a value of 0 were specified.\n\nUsed by Elements: Filters.pointlight, Filters.spotlight\n\nSee: <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/z>\n\n","type":"Basics.Float -> TypedSvg.Core.Attribute msg"}],"binops":[]},{"name":"TypedSvg.Types","comment":" The Types module defines all of the types used by TypedSvg.\n\n\n# Types\n\n@docs Accumulate, Additive, Align, AlignmentBaseline, AnchorAlignment, AnimateTransformType, AttributeType, BaselineShift, BezierAnchorPoint, CalcMode, Clip, ClipPath, ClipRule, ClockValue, ColorInterpolation, ColorMatrixType, ColorProfile, CompositeOperator, CoordinateSystem, Cursor, Direction, Display, DominantBaseline, Duration, EdgeMode, FillRule, Filter, FloodColor, FontSizeAdjust, FontStretch, FontStyle, FontVariant, FontWeight, FuncType, InValue, Kerning, Length, LengthAdjust, MarkerCoordinateSystem, MeetOrSlice, Mode, MorphologyOperator, Opacity, Rendering, RepeatCount, Restart, Scale, ShapeRendering, TimingValue, Transform, TurbulenceType, YesNo\n@docs Fill, StrokeLinecap, StrokeLinejoin, TextRendering\n\n@docs cm, em, ex, inch, mm, num, pc, percent, pt, px\n\n","unions":[{"name":"Accumulate","comment":" ","args":[],"cases":[["AccumulateNone",[]],["AccumulateSum",[]]]},{"name":"Additive","comment":" ","args":[],"cases":[["AdditiveNone",[]],["AdditiveReplace",[]]]},{"name":"Align","comment":" ","args":[],"cases":[["Align",["TypedSvg.Types.Scale","TypedSvg.Types.Scale"]],["AlignNone",[]]]},{"name":"AlignmentBaseline","comment":" ","args":[],"cases":[["AlignmentAuto",[]],["AlignmentBaseline",[]],["AlignmentBeforeEdge",[]],["AlignmentTextBeforeEdge",[]],["AlignmentMiddle",[]],["AlignmentCentral",[]],["AlignmentAfterEdge",[]],["AlignmentTextAfterEdge",[]],["AlignmentIdeographic",[]],["AlignmentAlphabetic",[]],["AlignmentHanging",[]],["AlignmentMathematical",[]],["AlignmentInherit",[]]]},{"name":"AnchorAlignment","comment":" ","args":[],"cases":[["AnchorInherit",[]],["AnchorStart",[]],["AnchorMiddle",[]],["AnchorEnd",[]]]},{"name":"AnimateTransformType","comment":" ","args":[],"cases":[["AnimateTransformTypeTranslate",[]],["AnimateTransformTypeScale",[]],["AnimateTransformTypeRotate",[]],["AnimateTransformTypeSkewX",[]],["AnimateTransformTypeSkewY",[]]]},{"name":"AttributeType","comment":" ","args":[],"cases":[["AttributeTypeAuto",[]],["AttributeTypeCss",[]],["AttributeTypeXml",[]]]},{"name":"BaselineShift","comment":" ","args":[],"cases":[["ShiftAuto",[]],["ShiftBaseline",[]],["ShiftSuper",[]],["ShiftSub",[]],["ShiftPercentage",["Basics.Float"]],["ShiftLength",["TypedSvg.Types.Length"]],["ShiftInherit",[]]]},{"name":"CalcMode","comment":" ","args":[],"cases":[["CalcModeDiscrete",[]],["CalcModeLinear",[]],["CalcModePaced",[]],["CalcModeSpline",[]]]},{"name":"Clip","comment":" ","args":[],"cases":[["ClipAuto",[]],["ClipInherit",[]],["ClipShape",["TypedSvg.Types.Length","TypedSvg.Types.Length","TypedSvg.Types.Length","TypedSvg.Types.Length"]]]},{"name":"ClipPath","comment":" ","args":[],"cases":[["ClipPathNone",[]],["ClipPathInherit",[]],["ClipPathFunc",["String.String"]]]},{"name":"ClipRule","comment":" ","args":[],"cases":[["ClipRuleNonZero",[]],["ClipRuleEvenOdd",[]],["ClipRuleInherit",[]]]},{"name":"ColorInterpolation","comment":" ","args":[],"cases":[["ColorInterpolationAuto",[]],["ColorInterpolationSRGB",[]],["ColorInterpolationLinearRGB",[]],["ColorInterpolationInherit",[]]]},{"name":"ColorMatrixType","comment":" ","args":[],"cases":[["ColorMatrixTypeMatrix",[]],["ColorMatrixTypeSaturate",[]],["ColorMatrixTypeHueRotate",[]],["ColorMatrixTypeLuminanceToAlpha",[]]]},{"name":"ColorProfile","comment":" ","args":[],"cases":[["ColorProfileAuto",[]],["ColorProfileSRGB",[]],["ColorProfile",["String.String"]],["ColorProfileInherit",[]]]},{"name":"CompositeOperator","comment":" ","args":[],"cases":[["CompositeOperatorOver",[]],["CompositeOperatorIn",[]],["CompositeOperatorOut",[]],["CompositeOperatorAtop",[]],["CompositeOperatorXor",[]],["CompositeOperatorArithmetic",[]]]},{"name":"CoordinateSystem","comment":" ","args":[],"cases":[["CoordinateSystemUserSpaceOnUse",[]],["CoordinateSystemObjectBoundingBox",[]]]},{"name":"Cursor","comment":" ","args":[],"cases":[["CursorAuto",[]],["CursorDefault",[]],["CursorCrosshair",[]],["CursorPointer",[]],["CursorMove",[]],["CursorEResize",[]],["CursorNEResize",[]],["CursorNWResize",[]],["CursorNResize",[]],["CursorSEResize",[]],["CursorSWResize",[]],["CursorWResize",[]],["CursorText",[]],["CursorWait",[]],["CursorHelp",[]],["CursorInherit",[]],["Cursor",["String.String"]]]},{"name":"Direction","comment":" ","args":[],"cases":[["DirectionLTR",[]],["DirectionRTL",[]],["DirectionInherit",[]]]},{"name":"Display","comment":" ","args":[],"cases":[["DisplayInline",[]],["DisplayBlock",[]],["DisplayListItem",[]],["DisplayRunIn",[]],["DisplayCompact",[]],["DisplayMarker",[]],["DisplayTable",[]],["DisplayInlineTable",[]],["DisplayTableRowGroup",[]],["DisplayTableHeaderGroup",[]],["DisplayTableFooterGroup",[]],["DisplayTableRow",[]],["DisplayTableColumnGroup",[]],["DisplayTableColumn",[]],["DisplayTableCell",[]],["DisplayTableCaption",[]],["DisplayNone",[]],["DisplayInherit",[]]]},{"name":"DominantBaseline","comment":" ","args":[],"cases":[["DominantBaselineAuto",[]],["DominantBaselineUseScript",[]],["DominantBaselineNoChange",[]],["DominantBaselineResetSize",[]],["DominantBaselineIdeographic",[]],["DominantBaselineAlphabetic",[]],["DominantBaselineHanging",[]],["DominantBaselineMathematical",[]],["DominantBaselineCentral",[]],["DominantBaselineMiddle",[]],["DominantBaselineTextAfterEdge",[]],["DominantBaselineTextBeforeEdge",[]],["DominantBaselineInherit",[]]]},{"name":"Duration","comment":" ","args":[],"cases":[["Duration",["TypedSvg.Types.ClockValue"]],["DurationIndefinite",[]]]},{"name":"EdgeMode","comment":" ","args":[],"cases":[["EdgeModeDuplicate",[]],["EdgeModeWrap",[]],["EdgeModeNone",[]]]},{"name":"Fill","comment":" ","args":[],"cases":[["Fill",["TypedSvg.Color.Color"]],["FillNone",[]]]},{"name":"FillRule","comment":" ","args":[],"cases":[["FillRuleNonZero",[]],["FillRuleEvenOdd",[]]]},{"name":"Filter","comment":" ","args":[],"cases":[["FilterNone",[]],["FilterInherit",[]],["Filter",["String.String"]]]},{"name":"FloodColor","comment":" ","args":[],"cases":[["FloodInherit",[]],["FloodCurrentColor",[]],["Flood",["TypedSvg.Color.Color"]],["FloodICC",["String.String"]]]},{"name":"FontSizeAdjust","comment":" ","args":[],"cases":[["FontSizeAdjustNone",[]],["FontSizeAdjustInherit",[]],["FontSizeAdjust",["Basics.Float"]]]},{"name":"FontStretch","comment":" ","args":[],"cases":[["FontStretchNormal",[]],["FontStretchWider",[]],["FontStretchNarrower",[]],["FontStretchUltraCondensed",[]],["FontStretchExtraCondensed",[]],["FontStretchCondensed",[]],["FontStretchSemiCondensed",[]],["FontStretchSemiExpanded",[]],["FontStretchExpanded",[]],["FontStretchExtraExpanded",[]],["FontStretchUltraExpanded",[]],["FontStretchInherit",[]]]},{"name":"FontStyle","comment":" ","args":[],"cases":[["FontStyleNormal",[]],["FontStyleItalic",[]],["FontStyleOblique",[]],["FontStyleInherit",[]]]},{"name":"FontVariant","comment":" ","args":[],"cases":[["FontVariantNormal",[]],["FontVariantSmallCaps",[]],["FontVariantInherit",[]]]},{"name":"FontWeight","comment":" ","args":[],"cases":[["FontWeightNormal",[]],["FontWeightBold",[]],["FontWeightBolder",[]],["FontWeightLighter",[]],["FontWeightInherit",[]],["FontWeight",["Basics.Int"]]]},{"name":"FuncType","comment":" ","args":[],"cases":[["FuncTypeIdentity",[]],["FuncTypeTable",[]],["FuncTypeDiscrete",[]],["FuncTypeLinear",[]],["FuncTypeGamma",[]]]},{"name":"InValue","comment":" ","args":[],"cases":[["InSourceGraphic",[]],["InSourceAlpha",[]],["InBackgroundAlpha",[]],["InFillPaint",[]],["InStrokePaint",[]],["InReference",["String.String"]]]},{"name":"Kerning","comment":" ","args":[],"cases":[["KerningAuto",[]],["KerningInherit",[]],["KerningLength",["TypedSvg.Types.Length"]]]},{"name":"Length","comment":" The Length type is an important type in the TypedSvg package--it is used\nwherever CSS needs to measure a length or distance in a certain unit (px,\nem, etc.)\n","args":[],"cases":[["Cm",["Basics.Float"]],["Em",["Basics.Float"]],["Ex",["Basics.Float"]],["In",["Basics.Float"]],["Mm",["Basics.Float"]],["Num",["Basics.Float"]],["Pc",["Basics.Float"]],["Percent",["Basics.Float"]],["Pt",["Basics.Float"]],["Px",["Basics.Float"]]]},{"name":"LengthAdjust","comment":" ","args":[],"cases":[["LengthAdjustSpacing",[]],["LengthAdjustSpacingAndGlyphs",[]]]},{"name":"MarkerCoordinateSystem","comment":" ","args":[],"cases":[["MarkerCoordinateSystemUserSpaceOnUse",[]],["MarkerCoordinateSystemStrokeWidth",[]]]},{"name":"MeetOrSlice","comment":" ","args":[],"cases":[["Meet",[]],["Slice",[]]]},{"name":"Mode","comment":" ","args":[],"cases":[["ModeNormal",[]],["ModeMultiply",[]],["ModeScreen",[]],["ModeDarken",[]],["ModeLighten",[]]]},{"name":"MorphologyOperator","comment":" ","args":[],"cases":[["MorphologyOperatorErode",[]],["MorphologyOperatorDilate",[]]]},{"name":"Opacity","comment":" ","args":[],"cases":[["Opacity",["Basics.Float"]],["OpacityInherit",[]]]},{"name":"Rendering","comment":" ","args":[],"cases":[["RenderingAuto",[]],["RenderingOptimizeSpeed",[]],["RenderingOptimizeQuality",[]],["RenderingInherit",[]]]},{"name":"RepeatCount","comment":" ","args":[],"cases":[["RepeatCount",["Basics.Float"]],["RepeatIndefinite",[]]]},{"name":"Restart","comment":" ","args":[],"cases":[["RestartAlways",[]],["RestartWhenNotActive",[]],["RestartNever",[]]]},{"name":"Scale","comment":" ","args":[],"cases":[["ScaleMin",[]],["ScaleMid",[]],["ScaleMax",[]]]},{"name":"ShapeRendering","comment":" ","args":[],"cases":[["RenderAuto",[]],["RenderOptimizeSpeed",[]],["RenderCrispEdges",[]],["RenderGeometricPrecision",[]],["RenderInherit",[]]]},{"name":"StrokeLinecap","comment":" The stroke-linecap attribute specifies the shape to be used at the end of open subpaths when they are\nstroked.\n","args":[],"cases":[["StrokeLinecapButt",[]],["StrokeLinecapRound",[]],["StrokeLinecapSquare",[]],["StrokeLinecapInherit",[]]]},{"name":"StrokeLinejoin","comment":" The stroke-linejoin attribute specifies the shape to be used at the corners of paths or basic shapes\nwhen they are stroked.\n\nAs a presentation attribute, it also can be used as a property directly inside a CSS stylesheet.\n\nNote: the final appearence of the miter option is also influenced by the stroke-miterlimit attribute.\n\n","args":[],"cases":[["StrokeLinejoinMiter",[]],["StrokeLinejoinRound",[]],["StrokeLinejoinBevel",[]],["StrokeLinejoinInherit",[]]]},{"name":"TextRendering","comment":" The creator of SVG content might want to provide a hint about what tradeoffs to make as the browser\nrenders text. The text-rendering attribute provides these hints.\n\nAs a presentation attribute, it also can be used as a property directly inside a CSS stylesheet, see css text-rendering for further information\n\n","args":[],"cases":[["TextRenderingAuto",[]],["TextRenderingOptimizeSpeed",[]],["TextRenderingOptimizeLegibility",[]],["TextRenderingGeometricPrecision",[]],["TextRenderingInherit",[]]]},{"name":"TimingValue","comment":" Used by `begin` and `end` in constraining animation times\n","args":[],"cases":[["TimingOffsetValue",["TypedSvg.Types.ClockValue"]],["TimingSyncBaseValue",["String.String"]],["TimingEventValue",["String.String"]],["TimingRepeatValue",["String.String"]],["TimingAccessKeyValue",["String.String"]],["TimingWallclockSyncValue",["String.String"]],["TimingIndefinite",[]]]},{"name":"Transform","comment":" The Transform type is used by `transform` and `gradientTransform`\n","args":[],"cases":[["Matrix",["Basics.Float","Basics.Float","Basics.Float","Basics.Float","Basics.Float","Basics.Float"]],["Rotate",["Basics.Float","Basics.Float","Basics.Float"]],["Scale",["Basics.Float","Basics.Float"]],["SkewX",["Basics.Float"]],["SkewY",["Basics.Float"]],["Translate",["Basics.Float","Basics.Float"]]]},{"name":"TurbulenceType","comment":" ","args":[],"cases":[["TurbulenceTypeFractalNoise",[]],["TurbulenceTypeTurbulence",[]]]},{"name":"YesNo","comment":" Used by allowReorder\n","args":[],"cases":[["Yes",[]],["No",[]]]}],"aliases":[{"name":"BezierAnchorPoint","comment":" ","args":[],"type":"{ x1 : Basics.Float, y1 : Basics.Float, x2 : Basics.Float, y2 : Basics.Float }"},{"name":"ClockValue","comment":" In a future version of TypedSvg, this may be turned into a DSL\n","args":[],"type":"String.String"}],"values":[{"name":"cm","comment":" Length expressed as a centimeter\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"em","comment":" Length expressed as an `em`\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"ex","comment":" Length expressed as a `ex`\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"inch","comment":" Length expressed as an inch\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"mm","comment":" Length expressed as a millimeter\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"num","comment":" Length expressed as a raw number\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"pc","comment":" Length expressed as a `pc`\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"percent","comment":" Length expressed as a percentage\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"pt","comment":" Length expressed in points\n","type":"Basics.Float -> TypedSvg.Types.Length"},{"name":"px","comment":" Length expressed in pixels\n","type":"Basics.Float -> TypedSvg.Types.Length"}],"binops":[]}]