[{"name":"Html.Form","comment":" Form\n\n\n# Module instance\n\n@docs Module\n@docs Config\n@docs init\n@docs withField\n@docs build\n@docs Model\n@docs Msg\n\n\n# Field configuration\n\n@docs Field\n@docs FieldConfig\n@docs Fieldset\n@docs Element\n\n\n# Fields\n\n@docs input\n@docs checkbox\n@docs custom\n\n\n# Field builders\n\n@docs withInitialValue\n@docs Validation\n@docs withValidation\n@docs withStopPropagation\n@docs withPreventDefault\n\n","unions":[{"name":"Config","comment":" ","args":["error","editor","record","fieldset","model","msg"],"cases":[["Config",["{ toModel : model -> Html.Form.Model editor -> model, fromModel : model -> Html.Form.Model editor, toMsg : Html.Form.Msg editor -> msg, toRecord : List.List editor -> Maybe.Maybe record, onSubmit : record -> msg, index : Basics.Int, initModel : Html.Form.Model editor -> Html.Form.Model editor, fieldset : Html.Form.Fieldset model fieldset, errors : model -> List.List { editor : editor, errors : List.List error } -> List.List { editor : editor, errors : List.List error } }"]]]},{"name":"Fieldset","comment":" ","args":["model","fieldset"],"cases":[["Fieldset",["model -> fieldset"]]]}],"aliases":[{"name":"Element","comment":" ","args":["msg"],"type":"Internals.Element msg"},{"name":"Field","comment":" ","args":["error","msg"],"type":"{ element : List.List (Html.Attribute msg) -> Html.Html msg, errors : List.List error, toAttrs : List.List (Html.Attribute msg) -> List.List (Html.Attribute msg), attrs : { onFocus : Html.Attribute msg, onBlur : Html.Attribute msg, onEvent : Html.Attribute msg, value : Html.Attribute msg } }"},{"name":"FieldConfig","comment":" ","args":["error","value","editor","msg"],"type":"Internals.FieldConfig error value editor msg"},{"name":"Model","comment":" ","args":["editor"],"type":"Internals.Model editor"},{"name":"Module","comment":" ","args":["error","editor","model","fieldset","msg"],"type":"{ init : ( Html.Form.Model editor -> model, Platform.Cmd.Cmd msg ) -> ( model, Platform.Cmd.Cmd msg ), submitMsg : msg, update : Html.Form.Msg editor -> model -> ( model, Platform.Cmd.Cmd msg ), fieldset : model -> fieldset, errors : model -> List.List { editor : editor, errors : List.List error } }"},{"name":"Msg","comment":" ","args":["editor"],"type":"Internals.Msg editor"},{"name":"Validation","comment":" ","args":["error","value","editor"],"type":"Internals.Validation error value editor"}],"values":[{"name":"build","comment":" ","type":"Html.Form.Config error editor record fieldset model msg -> Html.Form.Module error editor model fieldset msg"},{"name":"checkbox","comment":" ","type":"Html.Form.FieldConfig error Basics.Bool editor msg"},{"name":"custom","comment":" ","type":"{ eventName : String.String, decoder : Json.Decode.Decoder value, element : Html.Form.Element msg, valueAttr : { wrap : Maybe.Maybe value -> editor, initialValue : Maybe.Maybe value } -> editor -> Html.Attribute msg } -> Html.Form.FieldConfig error value editor msg"},{"name":"init","comment":" ","type":"fieldset -> { toModel : model -> Html.Form.Model editor -> model, fromModel : model -> Html.Form.Model editor, toMsg : Html.Form.Msg editor -> msg, toRecord : List.List editor -> Maybe.Maybe record, onSubmit : record -> msg } -> Html.Form.Config error editor record fieldset model msg"},{"name":"input","comment":" ","type":"Html.Form.FieldConfig error String.String editor msg"},{"name":"withField","comment":" ","type":"(Maybe.Maybe value -> editor) -> Html.Form.FieldConfig error value editor msg -> Html.Form.Config error editor record (Html.Form.Field error msg -> fieldset) model msg -> Html.Form.Config error editor record fieldset model msg"},{"name":"withInitialValue","comment":" ","type":"Maybe.Maybe value -> Html.Form.FieldConfig error value editor msg -> Html.Form.FieldConfig error value editor msg"},{"name":"withPreventDefault","comment":" ","type":"Basics.Bool -> Html.Form.FieldConfig error value editor msg -> Html.Form.FieldConfig error value editor msg"},{"name":"withStopPropagation","comment":" ","type":"Basics.Bool -> Html.Form.FieldConfig error value editor msg -> Html.Form.FieldConfig error value editor msg"},{"name":"withValidation","comment":" ","type":"Html.Form.Validation error value editor -> Html.Form.FieldConfig error value editor msg -> Html.Form.FieldConfig error value editor msg"}],"binops":[]},{"name":"Html.Form.Validation","comment":" Validation\n\n@docs When\n\n@docs when\n\n@docs andThen\n\n","unions":[],"aliases":[{"name":"When","comment":" Describes when a validation should occur.\n","args":[],"type":"Internals.InvalidateWhen"}],"values":[{"name":"andThen","comment":" Provide additional validations sequentially.\n\nFor instance: if you only want to show an error that says that user input is bad _after_ the\nfield has been edited - but if you want to show an error that says that the field must be non-empty - you could add the \"field must be non-empty\"\ncallback with `when`, and \"chain\" the \"the field must match a given pattern\" value with `andThen`.\n\n","type":"({ self : editor, other : editor } -> Result.Result error editor) -> Html.Form.Validation.Validation error value editor -> Html.Form.Validation.Validation error value editor"},{"name":"when","comment":" Constructor record; you can use the dot operator to select a `When` value, which returns a function\nthat takes a function that validates the current `Field`.\n\nIn the callback, `self` represents the current `editor`, and `other` represents _any other_ editor. If you don't\nwant to validate a given field against another field, you can ignore this value in your callback.\n\n","type":"{ editingOrBlurred : ({ self : editor, other : editor } -> Result.Result error editor) -> Html.Form.Validation.Validation error value editor, blurredAfterEdit : ({ self : editor, other : editor } -> Result.Result error editor) -> Html.Form.Validation.Validation error value editor, always : ({ self : editor, other : editor } -> Result.Result error editor) -> Html.Form.Validation.Validation error value editor }"}],"binops":[]}]