[
    {
        "name": "Transit",
        "comment": " Animated transitions between pages or components for your Elm apps.\nThe purpose of this package is to make it trivial to add transition to you app, so it's a bit opiniated.\n\nUses elm-animations and Effects.tick for animation logic.\n\n# Model\n@docs Transition, WithTransition, empty, Action\n\n# Update\n@docs init, update, initAction, step\n\n# View\n@docs slideLeftStyle, value\n",
        "unions": [
            {
                "name": "Action",
                "comment": " Transition action, to be wrapped in your own action type\n ",
                "args": [],
                "cases": []
            },
            {
                "name": "Transition",
                "comment": " An opaque type for internal value storage\n ",
                "args": [],
                "cases": []
            }
        ],
        "aliases": [
            {
                "name": "WithTransition",
                "comment": " Helper for adding transition on your model\n ",
                "args": [
                    "model"
                ],
                "type": "{ model | transition : Transition }"
            }
        ],
        "values": [
            {
                "name": "empty",
                "comment": " Empty transition state, as initial value in the model.\n ",
                "type": "Transition"
            },
            {
                "name": "init",
                "comment": " Helper that generates a new transition with the following params:\n\n * Animation duration (ms)\n * Model holding the transition\n * Action wrapper for the incoming effect (saves one `Effects.map`)\n\nReturns:\n\n * Updated model with new transition state\n * Effects for next steps\n ",
                "type": "Time -> WithTransition model -> (Action -> action) -> ( WithTransition model, Effects action )"
            },
            {
                "name": "initAction",
                "comment": " Init action, if you need to produce it manually. See `init` otherwise.\n ",
                "type": "Time -> Action"
            },
            {
                "name": "slideLeftStyle",
                "comment": " A simple left-sliding style value for elm-html.\n\n    div [ class \"content\", style (Transit.slideLeftStyle model.transition) ] someContent\n\nYou can create your own with `value` extract function.\n",
                "type": "Transition -> List ( String, String )"
            },
            {
                "name": "step",
                "comment": " Walks transition's next step. See `update` helper.\n ",
                "type": "Action -> ( Transition, Effects Action )"
            },
            {
                "name": "update",
                "comment": " Helper for walking transition steps, same spec as `init but processing actions. Use `step` internally.\n ",
                "type": "Action -> WithTransition model -> (Action -> action) -> ( WithTransition model, Effects action )"
            },
            {
                "name": "value",
                "comment": " Extract current animation value (a float between 0 and 1).\n ",
                "type": "Transition -> Maybe Float"
            }
        ],
        "binops": []
    }
]