[{"name":"Chart.Bar","comment":" This is the bar chart module from [elm-chart-builder](https://github.com/data-viz-lab/elm-chart-builder).\n\nThe Bar module expects the X axis to plot grouped ordinal data and the Y axis to plot linear data.\n\n\n# Chart Data Format\n\n@docs Accessor\n\n\n# Chart Initialization\n\n@docs init\n\n\n# Chart Rendering\n\n@docs render\n\n\n# Configuration setters\n\n@docs setDesc, setDimensions, setDomainBandGroup, setDomainBandSingle, setDomainLinear, setHeight, setLayout, setAxisYTickCount, setAxisYTickFormat, setAxisYTicks, setMargin, setOrientation, setShowAxisX, setShowAxisY, setTitle, setWidth\n\n\n# Configuration setters arguments\n\n@docs defaultGroupedConfig, divergingDirection, groupedLayout, horizontalOrientation, noDirection, stackedLayout, verticalOrientation\n\n\n# GroupedConfig setters\n\nThese a specific configurations for the Grouped layout\n\n@docs setIcons, setShowIndividualLabels\n\n\n# Chart icons\n\nIcons can be added to grouped bar charts to improve understanding and accessibility.\n\n    iconsCustom : List (Bar.BarSymbol msg)\n    iconsCustom =\n        [ Bar.symbolCustom\n            |> Bar.setSymbolIdentifier \"bicycle-symbol\"\n            |> Bar.setSymbolWidth 640\n            |> Bar.setSymbolHeight 512\n            |> Bar.setSymbolPaths [ bicycleSymbol ]\n        , Bar.symbolCustom\n            |> Bar.setSymbolIdentifier \"car-symbol\"\n            |> Bar.setSymbolWidth 640\n            |> Bar.setSymbolHeight 512\n            |> Bar.setSymbolPaths [ carSymbol ]\n        , Bar.symbolCustom\n            |> Bar.setSymbolIdentifier \"plane-symbol\"\n            |> Bar.setSymbolWidth 576\n            |> Bar.setSymbolHeight 512\n            |> Bar.setSymbolPaths [ planeSymbol ]\n        ]\n\n    groupedLayout =\n        Bar.groupedLayout\n            (Bar.defaultGroupedConfig\n                |> Bar.setIcons\n            )\n\n    Bar.init\n        |> Bar.setLayout groupedLayout\n        |> Bar.render ( data, accessor )\n\n@docs BarSymbol, symbolCircle, symbolCorner, symbolCustom, symbolTriangle, setSymbolHeight, setSymbolIdentifier, setSymbolPaths, setSymbolUseGap, setSymbolWidth\n\n","unions":[],"aliases":[{"name":"Accessor","comment":" The data accessors\n","args":["data"],"type":"{ xGroup : data -> String.String, xValue : data -> String.String, yValue : data -> Basics.Float }"},{"name":"BarSymbol","comment":" Bar chart symbol type\n","args":["msg"],"type":"Chart.Internal.Symbol.Symbol msg"}],"values":[{"name":"defaultGroupedConfig","comment":" Default values for the Grouped Layout specific config\nUsed for initialization purposes\n\n    groupedConfig : GroupedConfig\n    groupedConfig =\n        Bar.defaultGroupedConfig\n            |> ChartType.setIcons (icons \"chart-a\")\n\n\n    Bar.init\n        |> Bar.setLayout (Bar.groupedLayout )\n        |> Bar.render (data, accessor)\n\n","type":"Chart.Internal.Type.GroupedConfig"},{"name":"divergingDirection","comment":" Bar chart diverging layout\nIt is only used for stacked layouts\nAn example can be a population pyramid chart.\n\n    stackedLayout =\n        Bar.stackedLayout Bar.divergingDirection\n\n    Bar.init\n        |> Bar.setLayout stackedLayout\n        |> Bar.render (data, accessor)\n\n","type":"Chart.Internal.Type.Direction"},{"name":"groupedLayout","comment":" Grouped layout type\nThis is the default layout type\n\n    groupedLayout =\n        Bar.groupedLayout Bar.defaultGroupedConfig\n\n    Bar.init\n        |> Bar.setLayout groupedLayout\n        |> Bar.render (data, accessor)\n\n","type":"Chart.Internal.Type.GroupedConfig -> Chart.Internal.Type.Layout"},{"name":"horizontalOrientation","comment":" Horizontal layout type\nUsed as argument to Bar.setOrientation\n\n    Bar.init\n        |> Bar.setOrientation horizontalOrientation\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Orientation"},{"name":"init","comment":" Initializes the bar chart with a default config.\n\n    Bar.init\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Config"},{"name":"noDirection","comment":" Bar chart no-direction layout\nIt is only used for stacked layouts\n\n    Bar.init\n        |> Bar.setLayout (Bar.stackedLayout Bar.noDirection)\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Direction"},{"name":"render","comment":" Renders the bar chart, after initialisation and customisation.\n\n    data : List data\n    data =\n        [ { groupLabel = \"A\"\n          , x = \"a\"\n          , y = 10\n          }\n        , { groupLabel = \"A\"\n          , x = \"b\"\n          , y = 13\n          }\n        , { groupLabel = \"B\"\n          , x = \"a\"\n          , y = 11\n          }\n        , { groupLabel = \"B\"\n          , x = \"b\"\n          , y = 23\n          }\n        ]\n\n    accessor : Accessor data\n    accessor =\n        Accessor .groupLabel .x .y\n\n    Bar.init\n        |> Bar.render (data, accessor)\n\n","type":"( List.List data, Chart.Bar.Accessor data ) -> Chart.Internal.Type.Config -> Html.Html msg"},{"name":"setAxisYTickCount","comment":" Sets the approximate number of ticks for a grouped bar chart continous axis.\n\nDefaults to `Scale.tickCount`\n\n    Bar.init\n        |> Bar.setAxisYTickCount 5\n        |> Bar.render ( data, accessor )\n\n","type":"Basics.Int -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisYTickFormat","comment":" Sets the formatting for the ticks in a grouped bar chart continous axis.\n\nDefaults to `Scale.tickFormat`\n\n    formatter =\n        FormatNumber.format { usLocale | decimals = 0 }\n\n    Bar.init\n        |> Bar.setAxisYTickFormat formatter\n        |> Bar.render (data, accessor)\n\n","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisYTicks","comment":" Passes the tick values for a grouped bar chart continous axis.\n\nDefaults to `Scale.ticks`\n\n    Bar.init\n        |> Bar.setAxisYTicks [ 1, 2, 3 ]\n        |> Bar.render ( data, accessor )\n\n","type":"List.List Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDesc","comment":" Sets an accessible, long-text description for the svg chart.\n\nDefault value: \"\"\n\n    Bar.init\n        |> Bar.setDesc \"This is an accessible chart, with a desc element\"\n        |> Bar.render ( data, accessor )\n\n","type":"String.String -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDimensions","comment":" Sets the margin, width and height all at once.\nPrefer this method from the individual ones when you need to set all three values at once.\n\n    margin =\n        { top = 30, right = 20, bottom = 30, left = 0 }\n\n    Bar.init\n        |> Bar.setDimensions\n            { margin = margin\n            , width = 400\n            , height = 400\n            }\n        |> Bar.render (data, accessor)\n\n","type":"{ margin : Chart.Internal.Type.Margin, width : Basics.Float, height : Basics.Float } -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDomainBandGroup","comment":" Sets the bandGroup value in the domain, in place of calculating it from the data.\n\n    Bar.init\n        |> Bar.setDomainBandBandGroup [ \"0\" ]\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.BandDomain -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDomainBandSingle","comment":" Sets the bandSingle value in the domain, in place of calculating it from the data.\n\n    Bar.init\n        |> Bar.setDomainBandBandSingle [ \"a\", \"b\" ]\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.BandDomain -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDomainLinear","comment":" Sets the bandLinear value in the domain, in place of calculating it from the data.\n\n    Bar.init\n        |> Bar.setDomainBandLinear ( 0, 0.55 )\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.LinearDomain -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setHeight","comment":" Sets the outer height of the bar chart.\n\nDefault value: 400\n\n    Bar.init\n        |> Bar.setHeight 600\n        |> Bar.render ( data, accessor )\n\n","type":"Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setIcons","comment":" Sets the Icon Symbols list in the `GroupedConfig`.\n\nDefault value: []\n\nThese are additional symbols at the end of each bar in a group, for facilitating accessibility.\n\n    defaultGroupedConfig\n        |> setIcons [ Circle, Corner, Triangle ]\n\n","type":"List.List (Chart.Internal.Symbol.Symbol String.String) -> Chart.Internal.Type.GroupedConfig -> Chart.Internal.Type.GroupedConfig"},{"name":"setLayout","comment":" Sets the chart layout.\n\nValues: `Bar.stackedLayout` or `Bar.groupedLayout`\n\nDefault value: Bar.groupedLayout\n\n    Bar.init\n        |> Bar.setLayout (Bar.stackedLayout Bar.noDirection)\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Layout -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setMargin","comment":" Sets the margin values in the config.\n\nIt follows d3s [margin convention](https://bl.ocks.org/mbostock/3019563).\n\n    margin =\n        { top = 30, right = 20, bottom = 30, left = 0 }\n\n    Bar.init\n    |> Bar.setMargin margin\n    |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Margin -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setOrientation","comment":" Sets the orientation value in the config.\n\nAccepts: horizontalOrientation or verticalOrientation\nDefault value: verticalOrientation\n\n    Bar.init\n        |> Bar.setOrientation horizontalOrientation\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Orientation -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setShowAxisX","comment":" Sets the showOrdinalAxis boolean value in the config\n\nDefault value: True\n\nBy convention the X axix is the horizontal one, but\nif the layout is changed to vertical, then the X axis\nrepresents the vertical one.\n\n    Bar.init\n        |> Bar.setShowOrdinalAxis False\n        |> Bar.render ( data, accessor )\n\n","type":"Basics.Bool -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setShowAxisY","comment":" Sets the showAxisY boolean value in the config\n\nDefault value: True\n\nBy convention the Y axix is the vertical one, but\nif the layout is changed to horizontal, then the Y axis\nrepresents the horizontal one.\n\n    Bar.init\n        |> Bar.setShowAxisY False\n        |> Bar.render ( data, accessor )\n\n","type":"Basics.Bool -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setShowIndividualLabels","comment":" Sets the `showIndividualLabels` boolean value in the `GroupedConfig`.\n\nDefault value: `False`\n\nThis shows the bar's ordinal value at the end of the rect, not the linear value.\n\nIf used together with symbols, the label will be drawn on top of the symbol.\n\n&#9888; Use with caution, there is no knowledge of text wrapping!\n\nWith a vertical layout the available horizontal space is the width of the rects.\n\nWith an horizontal layout the available horizontal space is the right margin.\n\n    defaultGroupedConfig\n        |> Bar.setShowIndividualLabels True\n\n","type":"Basics.Bool -> Chart.Internal.Type.GroupedConfig -> Chart.Internal.Type.GroupedConfig"},{"name":"setSymbolHeight","comment":" Set the custom symbol height\nWhen using a custom svg icon this is the 4th argument of its viewBox attribute\n","type":"Basics.Float -> Chart.Bar.BarSymbol msg -> Chart.Bar.BarSymbol msg"},{"name":"setSymbolIdentifier","comment":" Set the custom symbol identifier\n","type":"String.String -> Chart.Bar.BarSymbol msg -> Chart.Bar.BarSymbol msg"},{"name":"setSymbolPaths","comment":" Set the custom symbol paths\nWhen using a custom svg icon these are the d attribute of the path elements\n","type":"List.List String.String -> Chart.Bar.BarSymbol msg -> Chart.Bar.BarSymbol msg"},{"name":"setSymbolUseGap","comment":" Set the useGap boolean flag.\n\nAll bar chart icons are drawn with a gap from the bar rectangles,\nbut, depending on the custom icon shape and on the orientation of the chart,\nthe icon could already have a gap and we do not want to add other space.\n\n","type":"Basics.Bool -> Chart.Bar.BarSymbol msg -> Chart.Bar.BarSymbol msg"},{"name":"setSymbolWidth","comment":" Set the custom symbol width\nWhen using a custom svg icon this is the 3rd argument of its viewBox attribute\n","type":"Basics.Float -> Chart.Bar.BarSymbol msg -> Chart.Bar.BarSymbol msg"},{"name":"setTitle","comment":" Sets an accessible title for the svg chart.\n\nDefault value: \"\"\n\n    Bar.init\n        |> Bar.setTitle \"This is a chart\"\n        |> Bar.render ( data, accessor )\n\n","type":"String.String -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setWidth","comment":" Sets the outer width of the bar chart.\n\nDefault value: 600\n\n    Bar.init\n        |> Bar.setWidth 800\n        |> Bar.render ( data, accessor )\n\n","type":"Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"stackedLayout","comment":" Stacked layout type\n\nBeware that stacked layouts do not support icons\n\n`stackedLayout` expects a `noDirection` or a `divergingDirection` argument.\n\n    Bar.init\n        |> Bar.setLayout (Bar.stackedLayout Bar.noDirection)\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Direction -> Chart.Internal.Type.Layout"},{"name":"symbolCircle","comment":" Circle symbol type\n","type":"String.String -> Chart.Bar.BarSymbol msg"},{"name":"symbolCorner","comment":" Corner symbol type\n","type":"String.String -> Chart.Bar.BarSymbol msg"},{"name":"symbolCustom","comment":" A custom bar chart symbol type\n","type":"Chart.Bar.BarSymbol msg"},{"name":"symbolTriangle","comment":" Triangle symbol type\n","type":"String.String -> Chart.Bar.BarSymbol msg"},{"name":"verticalOrientation","comment":" Vertical layout type\nUsed as argument to Bar.setOrientation\nThis is the default layout\n\n    Bar.init\n        |> Bar.setOrientation verticalOrientation\n        |> Bar.render ( data, accessor )\n\n","type":"Chart.Internal.Type.Orientation"}],"binops":[]},{"name":"Chart.Line","comment":" This is the line chart module from [elm-chart-builder](https://github.com/data-viz-lab/elm-chart-builder).\n\nThe Line module draws time lines.\nIt expects the X axis to plot time data and the Y axis to plot linear data.\n\n&#9888; This module is still a work in progress and it has limited funcionality!\n\n\n# Chart Data Format\n\n@docs Accessor\n\n\n# Chart Initialization\n\n@docs init\n\n\n# Chart Rendering\n\n@docs render\n\n\n# Configuration setters\n\n@docs setAxisXContinousTickCount, setAxisXContinousTickFormat, setAxisXContinousTicks, setAxisYContinousTickCount, setAxisYContinousTickFormat, setAxisYContinousTicks, setDesc, setDimensions, setHeight, setMargin, setShowAxisX, setShowAxisY, setTitle, setWidth\n\n","unions":[],"aliases":[{"name":"Accessor","comment":" The data accessors\n","args":["data"],"type":"{ xGroup : data -> String.String, xValue : data -> Time.Posix, yValue : data -> Basics.Float }"}],"values":[{"name":"init","comment":" Initializes the line chart with a default config\n\n    data : List Data\n    data =\n        [ { groupLabel = \"A\"\n          , x = Time.millisToPosix 1579275175634\n          , y = 10\n          }\n        , { groupLabel = \"A\"\n          , x = Time.millisToPosix 1579285175634\n          , y = 16\n          }\n        , { groupLabel = \"B\"\n          , x = Time.millisToPosix 1579275175634\n          , y = 13\n          }\n        , { groupLabel = \"B\"\n          , x = Time.millisToPosix 1579285175634\n          , y = 23\n          }\n        ]\n\n    accessor : Line.Accessor data\n    accessor =\n        Line.Accessor .groupLabel .x .y\n\n    Line.init\n        |> Line.render (data, accessor)\n\n","type":"Chart.Internal.Type.Config"},{"name":"render","comment":" Renders the line chart, after initialisation and customisation\n\n    Line.init\n        |> Line.render ( data, accessor )\n\n","type":"( List.List data, Chart.Line.Accessor data ) -> Chart.Internal.Type.Config -> Html.Html msg"},{"name":"setAxisXContinousTickCount","comment":" Sets the approximate number of ticks for the time axis\nDefaults to `Scale.ticks`\n\n    Line.init\n        |> Line.setContinousDataTickCount 5\n        |> Line.render ( data, accessor )\n\n","type":"Basics.Int -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisXContinousTickFormat","comment":" Sets the formatting for ticks for the time axis\nDefaults to `Scale.tickFormat`\n\n    Line.init\n        |> Line.setContinousDataTicks (FormatNumber.format { usLocale | decimals = 0 })\n        |> Line.render ( data, accessor )\n\n","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisXContinousTicks","comment":" Set the ticks for the time axis\nDefaults to `Scale.ticks`\n\n    Line.init\n        |> Line.setContinousXTicks [ 1, 2, 3 ]\n        |> Line.render ( data, accessor )\n\n","type":"List.List Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisYContinousTickCount","comment":" Sets the approximate number of ticks for the vertical axis\nDefaults to `Scale.ticks`\n\n    Line.init\n        |> Line.setContinousDataTickCount 5\n        |> Line.render ( data, accessor )\n\n","type":"Basics.Int -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisYContinousTickFormat","comment":" Sets the formatting for ticks in the vertical axis\nDefaults to `Scale.tickFormat`\n\n    Line.init\n        |> Line.setContinousDataTicks (FormatNumber.format { usLocale | decimals = 0 })\n        |> Line.render ( data, accessor )\n\n","type":"(Basics.Float -> String.String) -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setAxisYContinousTicks","comment":" Set the ticks for the vertical axis\nDefaults to `Scale.ticks`\n\n    Line.init\n        |> Line.setAxisYContinousDataTicks [ 1, 2, 3 ]\n        |> Line.render ( data, accessor )\n\n","type":"List.List Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDesc","comment":" Sets an accessible, long-text description for the svg chart.\nDefault value: \"\"\n\n    Line.init\n        |> Line.setDesc \"This is an accessible chart, with a desc element\"\n        |> Line.render ( data, accessor )\n\n","type":"String.String -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setDimensions","comment":" Sets margin, width and height all at once\nPrefer this method from the individual ones when you need to set all three at once.\n\n    margin =\n        { top = 30, right = 20, bottom = 30, left = 0 }\n\n    Line.init\n        |> Line.setDimensions\n            { margin = margin\n            , width = 400\n            , height = 400\n            }\n        |> Line.render (data, accessor)\n\n","type":"{ margin : Chart.Internal.Type.Margin, width : Basics.Float, height : Basics.Float } -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setHeight","comment":" Sets the outer height of the line chart\nDefault value: 400\n\n    Line.init\n        |> Line.setHeight 600\n        |> Line.render ( data, accessor )\n\n","type":"Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setMargin","comment":" Sets the margin values in the config\n\nIt follows d3s [margin convention](https://bl.ocks.org/mbostock/3019563).\n\n    margin =\n        { top = 30, right = 20, bottom = 30, left = 0 }\n\n    Line.init\n        |> Line.setMargin margin\n        |> Line.render (data, accessor)\n\n","type":"Chart.Internal.Type.Margin -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setShowAxisX","comment":" Sets the showAxisX boolean value in the config.\n\nDefault value: True\n\nBy convention the X axix is the horizontal one, but\nif the layout is changed to vertical, then the X axis\nrepresents the vertical one.\n\n    Line.init\n        |> Bar.setShowAxisX False\n        |> Bar.render data\n\n","type":"Basics.Bool -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setShowAxisY","comment":" Sets the showAxisY boolean value in the config.\n\nDefault value: True\n\nBy convention the Y axix is the vertical one, but\nif the layout is changed to horizontal, then the Y axis\nrepresents the horizontal one.\n\n    Line.init\n        |> Bar.setShowAxisY False\n        |> Bar.render data\n\n","type":"Basics.Bool -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setTitle","comment":" Sets an accessible title for the svg chart.\nDefault value: \"\"\n\n    Line.init\n        |> Line.setTitle \"This is a chart\"\n        |> Line.render ( data, accessor )\n\n","type":"String.String -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"},{"name":"setWidth","comment":" Sets the outer width of the line chart\nDefault value: 400\n\n    Line.init\n        |> Line.setWidth 600\n        |> Line.render ( data, accessor )\n\n","type":"Basics.Float -> Chart.Internal.Type.Config -> Chart.Internal.Type.Config"}],"binops":[]}]