[
    {
        "name": "DnD",
        "comment": " This library allow you to simple build grate ui with drag-and-drop.\n    It is astracting you from mouse events and other low level staff.\n    You can operate high livel things such as draggable and droppable areas.\n\n# Draggable type\n@docs Draggable\n\n#Helper to get information about draggable object\n@docs atDroppable, getMeta\n\n#Message type\n@docs Msg\n\n#Subscriptions\n@docs subscriptions\n\n#update function\n@docs update\n\n#viwe helpers\n@docs draggable, droppable, dragged\n\n",
        "unions": [
            {
                "name": "Msg",
                "comment": " Inner messages, you should pass them to DnD.update at your update function\n",
                "args": [
                    "a"
                ],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Draggable",
                "comment": " Type of Draggable object it could be Nothing or Just object\n    It is parametrized by the type of meta information.\n",
                "args": [
                    "a"
                ],
                "type": "Maybe { meta : a, position : Position, atDroppable : Bool }"
            }
        ],
        "values": [
            {
                "name": "atDroppable",
                "comment": " Helper that allow you to check if draggable object over valid droppable area\n",
                "type": "Draggable a -> Bool"
            },
            {
                "name": "draggable",
                "comment": " View wrapper for draggable object, you could drag object wraped by this helper\n",
                "type": "(Msg a -> m) -> a -> List (Attribute m) -> List (Html m) -> Html m"
            },
            {
                "name": "dragged",
                "comment": " View helper for draggable object, it drows html of dragged object under your mouse in process of drag\n",
                "type": "Draggable a -> (a -> Html m) -> Html m"
            },
            {
                "name": "droppable",
                "comment": " View helper for droppable area, you could drop object to this area,\n    after that your ondrop command will fire\n",
                "type": "(Msg a -> m) -> List (Attribute m) -> List (Html m) -> Html m"
            },
            {
                "name": "getMeta",
                "comment": " Helper that allow you to get meta information from draggable object\n",
                "type": "Draggable a -> Maybe a"
            },
            {
                "name": "subscriptions",
                "comment": " Subscriptions alow you to get drop event\n",
                "type": "(a -> m) -> (Msg a -> m) -> Draggable a -> Sub m"
            },
            {
                "name": "update",
                "comment": " Update function handle all low level staff\n",
                "type": "Msg a -> Draggable a -> Draggable a"
            }
        ],
        "binops": []
    }
]