[{"name":"Touch","comment":" This module exposes an API for handling touch events.\n\n# Setup\n@docs Msg, Model, initModel, update, element\n\n# Listeners\n@docs Listener, onMove\n","unions":[{"name":"Model","comment":" Represents the internal model used by this library. The `msg` should be the\ntype of message used in your library; not `Touch.Msg`.\n","args":["msg"],"cases":[]},{"name":"Msg","comment":" Represents messages handled by this library\n","args":[],"cases":[]}],"aliases":[{"name":"Listener","comment":" Listeners are like subscriptions but for touch events.\n","args":["msg"],"type":"Touch.Internal.Listener msg"}],"values":[{"name":"element","comment":" Creates an HTML element that responds to touch events. The second argument\nmust be a function that converts a `Touch.Msg` to `msg`.\n","type":"List.List (Html.Attribute msg) -> (Touch.Msg -> msg) -> Html.Html msg"},{"name":"initModel","comment":" Use this to initialize the state of `Touch.Model` and to specify the\nlisteners.\n","type":"List.List (Touch.Listener msg) -> Touch.Model msg"},{"name":"onMove","comment":" A listener that triggers when fingers move. The second argument must take the\nX and Y distances (in pixels) and return a `msg`. The X and Y values are deltas,\nso they are higher when the fingers are moving faster and 0 when they don't move.\n","type":"{ fingers : Basics.Int } -> (Basics.Float -> Basics.Float -> msg) -> Touch.Listener msg"},{"name":"update","comment":" This is used to update `Touch.Model` in response to a `Touch.Msg`. It also\ncreates a `Cmd` to trigger listeners. Use it like this:\n\n    update : Msg -> Model -> ( Model, Cmd Msg )\n    update msg model =\n        case msg of\n            TouchMsg touchMsg ->\n                Touch.update\n                    touchMsg\n                    model.touchMsg\n                    ( \\newTouchModel -> { model | touchModel = newTouchModel } )\n\n","type":"Touch.Msg -> Touch.Model msg -> (Touch.Model msg -> model) -> ( model, Platform.Cmd.Cmd msg )"}],"binops":[]}]