[
    {
        "name": "Input.Text",
        "comment": " Text input\n\n# Model\n@docs Model, init\n\n# View\n@docs input, Options, defaultOptions\n\n# Update\n@docs update\n\n# Msg\n@docs Msg\n",
        "unions": [
            {
                "name": "Msg",
                "comment": " (TEA) Opaque Msg types\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Model",
                "comment": " (TEA) Model record\nFields:\n * `value` : current value of the input element.\n * `hasFocus` : flag whether the input element has focus or not.\n",
                "args": [],
                "type": "{ value : String, hasFocus : Bool }"
            },
            {
                "name": "Options",
                "comment": " Options of the input component.\n\n * `id` is the id of the HTML element.\n * `maxLength` is the maximum number of character allowed in this input. Set to `Nothing` for no limit.\n",
                "args": [],
                "type": "{ id : String, maxLength : Maybe Int }"
            }
        ],
        "values": [
            {
                "name": "defaultOptions",
                "comment": " Default value for `Options`.\nParams:\n * `id` (type: `String`) : The `id` of the number input element.\n\nValue:\n    { id = id\n    , maxLength = Nothing\n    }\n",
                "type": "String -> Options"
            },
            {
                "name": "init",
                "comment": " (TEA) Initial model constant\n\nValue:\n    { value = \"\"\n    , hasFocus = False\n    }\n",
                "type": "Model"
            },
            {
                "name": "input",
                "comment": " (TEA) View function\n\nExample:\n\n    Input.Text.input\n        { id = \"TextInput\"\n        , maxLength = Just 4\n        }\n        [ class \"textInput\"\n        ...\n        ]\n        model.textModel\n\n",
                "type": "Options -> List (Attribute Msg) -> Model -> Html Msg"
            },
            {
                "name": "update",
                "comment": " (TEA) Update function\n\nExample:\n\n    type Msg = UpdateText Input.Text.Msg\n\n    update msg model =\n        case msg of\n            UpdateText textMsg ->\n                { model | textModel = Input.Text.update textMsg model.textModel }\n\n",
                "type": "Msg -> Model -> Model"
            }
        ],
        "binops": []
    },
    {
        "name": "Input.Number",
        "comment": " Number input\n\n# Model\n@docs Model, init\n\n# View\n@docs input, Options, defaultOptions\n\n# Update\n@docs update\n\n# Msg\n@docs Msg\n",
        "unions": [
            {
                "name": "Msg",
                "comment": " (TEA) Opaque Msg types\n",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "Model",
                "comment": " (TEA) Model record\nFields:\n * `value` : current value of the input element.\n * `hasFocus` : flag whether the input element has focus or not.\n",
                "args": [],
                "type": "{ value : String, hasFocus : Bool }"
            },
            {
                "name": "Options",
                "comment": " Options of the input component.\n\n * `id` is the id of the HTML element.\n * `maxLength` is the maximum number of character allowed in this input. Set to `Nothing` for no limit.\n * `maxValue` is the maximum number value allowed in this input. Set to `Nothing` for no limit.\n * `minValue` is the minimum number value allowed in this input. Set to `Nothing` for no limit.\n",
                "args": [],
                "type": "{ id : String, maxLength : Maybe Int, maxValue : Maybe Int, minValue : Maybe Int }"
            }
        ],
        "values": [
            {
                "name": "defaultOptions",
                "comment": " Default value for `Options`.\nParams:\n * `id` (type: `String`) : The `id` of the number input element.\n\nValue:\n    { id = id\n    , maxLength = Nothing\n    , maxValue = Nothing\n    , minValue = Nothing\n    }\n",
                "type": "String -> Options"
            },
            {
                "name": "init",
                "comment": " (TEA) Initial model constant\n\nValue:\n    { value = \"\"\n    , hasFocus = False\n    }\n",
                "type": "Model"
            },
            {
                "name": "input",
                "comment": " (TEA) View function\n\nExample:\n\n    Input.Number.input\n        { id = \"NumberInput\"\n        , maxLength = Just 4\n        , maxValue = Nothing\n        , minValue = Nothing\n        }\n        [ class \"numberInput\"\n        ...\n        ]\n        model.numberModel\n\n",
                "type": "Options -> List (Attribute Msg) -> Model -> Html Msg"
            },
            {
                "name": "update",
                "comment": " (TEA) Update function\n\nExample:\n\n    type Msg = UpdateNumber Input.Number.Msg\n\n    update msg model =\n        case msg of\n            UpdateNumber numberMsg ->\n                { model | numberModel = Input.Number.update numberMsg model.numberModel }\n\n",
                "type": "Msg -> Model -> Model"
            }
        ],
        "binops": []
    }
]