[{"name":"Svg.Path","comment":"\n\n\n## Join\n\n@docs join\n\n\n## Close Path\n\n@docs closePath\n\n\n## Move\n\n@docs moveTo, relativeMoveTo\n\n\n## Line\n\n@docs lineTo, relativeLineTo\n@docs horizontalLineTo, relativeHorizontalLineTo\n@docs verticalLineTo, relativeVerticalLineTo\n\n\n# Quadratic Bézier curve\n\n@docs curveTo, relativeCurveTo\n@docs quadraticBezierCurveTo, relativeQuadraticBezierCurveTo\n\n\n# Cubic Bézier curve\n\n@docs smoothCubicBezierCurveTo, relativeSmoothCubicBezierCurveTo\n@docs cubicBezierCurveTo, relativeCubicBezierCurveTo\n\n\n# Arc\n\n@docs arcTo, relativeArcTo\n\n","unions":[],"aliases":[],"values":[{"name":"arcTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { radiusX : Basics.Float, radiusY : Basics.Float, angle : Basics.Float, takeTheLongWay : Basics.Bool, clockwise : Basics.Bool } -> String.String"},{"name":"closePath","comment":" ","type":"String.String"},{"name":"cubicBezierCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { point1 : ( Basics.Float, Basics.Float ), point2 : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"curveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> String.String"},{"name":"horizontalLineTo","comment":" ","type":"Basics.Float -> String.String"},{"name":"join","comment":"\n\n    join =\n        String.join \" \"\n\n","type":"List.List String.String -> String.String"},{"name":"lineTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> String.String"},{"name":"moveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> String.String"},{"name":"quadraticBezierCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { point : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"relativeArcTo","comment":" ","type":"{ radiusX : Basics.Float, radiusY : Basics.Float, angle : Basics.Float, takeTheLongWay : Basics.Bool, clockwise : Basics.Bool, endAt : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"relativeCubicBezierCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { point1 : ( Basics.Float, Basics.Float ), point2 : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"relativeCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> String.String"},{"name":"relativeHorizontalLineTo","comment":" ","type":"Basics.Float -> String.String"},{"name":"relativeLineTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> String.String"},{"name":"relativeMoveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> String.String"},{"name":"relativeQuadraticBezierCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { point : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"relativeSmoothCubicBezierCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { point : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"relativeVerticalLineTo","comment":" ","type":"Basics.Float -> String.String"},{"name":"smoothCubicBezierCurveTo","comment":" ","type":"( Basics.Float, Basics.Float ) -> { point : ( Basics.Float, Basics.Float ) } -> String.String"},{"name":"verticalLineTo","comment":" ","type":"Basics.Float -> String.String"}],"binops":[]},{"name":"Svg.Writer","comment":"\n\n\n# Svg\n\n@docs SvgNode, circle, rectangle, path\n\n@docs define, defineMask, use\n\n@docs group, custom\n\n\n# Attributes\n\n@docs withFillColor, withNoFillColor\n@docs withStrokeColor, withStrokeWidth, withNoStrokeColor\n@docs withMask\n@docs withCustomAttribute\n\n\n# Conversion\n\n@docs toString, toHtml, toDataURI\n\n\n# Interactive Viewer\n\n@docs Program, toProgram\n\n\n# Deprecated\n\n@docs withAttribute\n\n","unions":[{"name":"SvgNode","comment":" A Svg Node.\n\nIt can be turned into a string using `toString` or into html using `toHtml`.\n\n","args":[],"cases":[["SvgNode",["{ name : String.String, attributes : List.List ( String.String, String.String ), content : List.List Svg.Writer.SvgNode }"]]]}],"aliases":[{"name":"Program","comment":" A Program for viewing your Svg creations\n","args":[],"type":"Platform.Program () Svg.Writer.Model Svg.Writer.Msg"}],"values":[{"name":"circle","comment":" define a cirlce svg node\n","type":"{ radius : Basics.Float, pos : ( Basics.Float, Basics.Float ) } -> Svg.Writer.SvgNode"},{"name":"custom","comment":" Custom node\n","type":"String.String -> List.List Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"define","comment":" define a template.\n\nYou can use a template with `use`.\n\n","type":"List.List ( String.String, Svg.Writer.SvgNode ) -> Svg.Writer.SvgNode"},{"name":"defineMask","comment":" define a mask.\n\nYou can use the mask with `withMask`.\n\n","type":"String.String -> List.List Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"group","comment":" group nodes to apply styling to all nodes at once.\n","type":"List.List Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"path","comment":" turn a path into a svg node.\n","type":"String.String -> Svg.Writer.SvgNode"},{"name":"rectangle","comment":" create a rectangle svg node\n","type":"{ topLeft : ( Basics.Float, Basics.Float ), width : Basics.Float, height : Basics.Float } -> Svg.Writer.SvgNode"},{"name":"toDataURI","comment":" turn the list of svg nodes into a data URI.\n\n    backgroundImage : Html.Attribute msg\n    backgroundImage =\n        Html.Attributes.style \"background-image\"\n            ( \"url(\\\\\"\"\n                ++ toDataURI { width = 100, height = 100 }\n                    svgNodes\n                ++ \"\\\\\")\"\n            )\n\n","type":"{ width : Basics.Int, height : Basics.Int } -> List.List Svg.Writer.SvgNode -> String.String"},{"name":"toHtml","comment":" convert the svg nodes into html.\n\nNote: the svg will be displayed as the background of a div.\n\nI tried converting it into a Svg node, but my browser didn't seem to like it.\n\nAlternatively i looked into elm/Svg, but there i can't define custom attributes.\n\n","type":"List.List (Html.Attribute msg) -> { width : Basics.Int, height : Basics.Int } -> List.List Svg.Writer.SvgNode -> Html.Html msg"},{"name":"toProgram","comment":" Convert into a program for viewing your Svg creations.\n\nYou might want to use this in combination with hot-loading, while you write your svg.\n\n","type":"{ name : String.String, width : Basics.Int, height : Basics.Int } -> List.List Svg.Writer.SvgNode -> Svg.Writer.Program"},{"name":"toString","comment":" Convert the list of svg nodes into a svg-string.\n","type":"{ width : Basics.Int, height : Basics.Int } -> List.List Svg.Writer.SvgNode -> String.String"},{"name":"use","comment":" Use a defined template\n","type":"String.String -> Svg.Writer.SvgNode"},{"name":"withAttribute","comment":" @Deprecated\n\nUse `withCustomAttribute` instead.\n\n","type":"( String.String, String.String ) -> Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withCustomAttribute","comment":" add a attribute\n","type":"String.String -> String.String -> Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withFillColor","comment":" fill the shape with a color\n","type":"String.String -> Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withMask","comment":" Use a defined mask\n","type":"String.String -> Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withNoFillColor","comment":" use no color for the filling\n","type":"Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withNoStrokeColor","comment":" don't draw the border of the shape\n","type":"Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withStrokeColor","comment":" use a color for the border of the shape\n","type":"String.String -> Svg.Writer.SvgNode -> Svg.Writer.SvgNode"},{"name":"withStrokeWidth","comment":" define the with of the border of the shape\n","type":"Basics.Float -> Svg.Writer.SvgNode -> Svg.Writer.SvgNode"}],"binops":[]}]