[
    {
        "name": "Dashboard",
        "comment": " Create and layout dashboards in Elm.\n\n\n# Configuration\n\n@docs config\n\n\n# Modification\n\n@docs add, move, remove, resize, update, Msg\n\n\n# View\n\n@docs view, subscriptions\n\n\n# State\n\n@docs Model, init, initWithWidgets\n\n",
        "unions": [
            {
                "name": "Msg",
                "comment": " ",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Model",
                "comment": " ",
                "args": [],
                "type": "{ widgets : List Widget, dragState : DragState }"
            }
        ],
        "values": [
            {
                "name": "add",
                "comment": " ",
                "type": "String -> Rect -> Config data msg -> Model -> Model"
            },
            {
                "name": "config",
                "comment": " A helper function for creating valid configurations.\n",
                "type": "ConfigProps data msg -> Config data msg"
            },
            {
                "name": "init",
                "comment": " Creates the state that holds layout and dragging info.\n",
                "type": "Model"
            },
            {
                "name": "initWithWidgets",
                "comment": " An initializer for copying dashboards\n",
                "type": "List Widget -> Model"
            },
            {
                "name": "move",
                "comment": " Moves the widget with `id` to `newPoint`.\n",
                "type": "String -> { a | x : Int, y : Int } -> Config data msg -> Model -> Model"
            },
            {
                "name": "remove",
                "comment": " Removes the widget with `id`. If the widget is not\nfound the dashboard is unchanged.\n",
                "type": "String -> Model -> Model"
            },
            {
                "name": "resize",
                "comment": " Changes the size of the widget with `widgetId` to match `newRect`.\nThe minimum size is 1x1.\n",
                "type": "String -> Rect -> Config data msg -> Model -> Model"
            },
            {
                "name": "subscriptions",
                "comment": " ",
                "type": "Model -> Sub Msg"
            },
            {
                "name": "update",
                "comment": " The update function\n",
                "type": "Msg -> Config data msg -> Model -> ( Model, Cmd Msg )"
            },
            {
                "name": "view",
                "comment": " ",
                "type": "Config data msg -> Model -> Html Msg"
            }
        ],
        "binops": []
    }
]