[
    {
        "name": "VirtualDom",
        "comment": "API to the core diffing algorithm. Can serve as a foundation for libraries\nthat expose more helper functions for HTML or SVG.\n\n# Create\n@docs text, node\n\n# Conversions\n@docs toElement, fromElement\n\n# Declare Properties\n@docs property\n\n# Events\n@docs on",
        "unions": [
            {
                "name": "Node",
                "comment": "",
                "args": [],
                "cases": [
                    [
                        "Node",
                        []
                    ]
                ]
            },
            {
                "name": "Property",
                "comment": "",
                "args": [],
                "cases": [
                    [
                        "Property",
                        []
                    ]
                ]
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "attribute",
                "comment": "",
                "type": "String -> String -> Property"
            },
            {
                "name": "fromElement",
                "comment": "Embed an `Element` as `Html`.",
                "type": "Element -> Node"
            },
            {
                "name": "lazy",
                "comment": "",
                "type": "(a -> Node) -> a -> Node"
            },
            {
                "name": "lazy2",
                "comment": "",
                "type": "(a -> b -> Node) -> a -> b -> Node"
            },
            {
                "name": "lazy3",
                "comment": "",
                "type": "(a -> b -> c -> Node) -> a -> b -> c -> Node"
            },
            {
                "name": "node",
                "comment": "Create a DOM node with a tag name, a list of HTML properties that can\ninclude styles and event listeners, a list of CSS properties like `color`, and\na list of child nodes.\n\n    import Json.Encode as Json\n\n    hello : Node\n    hello =\n        node \"div\" [] [ text \"Hello!\" ]\n\n    greeting : Node\n    greeting =\n        node \"div\"\n            [ property \"id\" (Json.string \"greeting\") ]\n            [ text \"Hello!\" ]",
                "type": "String -> List Property -> List Node -> Node"
            },
            {
                "name": "on",
                "comment": "",
                "type": "String -> Decoder a -> (a -> Message) -> Property"
            },
            {
                "name": "property",
                "comment": "",
                "type": "String -> Value -> Property"
            },
            {
                "name": "text",
                "comment": "Just put plain text in the DOM. It will escape the string so that it appears\nexactly as you specify.\n\n    text \"Hello World!\"",
                "type": "String -> Node"
            },
            {
                "name": "toElement",
                "comment": "Embed an `Node` value in Elm's rendering system. Like any other `Element`,\nthis requires a known width and height, so it is not yet clear if this can be\nmade more convenient in the future.",
                "type": "Int -> Int -> Node -> Element"
            }
        ],
        "binops": []
    }
]