[
    {
        "name": "Ease",
        "comment": " An easing function is used in animation to make a transition between two values appear more lifelike or interesting.\nEasing functions can make sliding panels or bouncing menus appear to be physical objects.\n\nAll easing functions expect inputs to be bewteen zero and one, and will typically output in that range. Easing \"in\"\nhappens at the start of the transition, easing \"out\" at the end, and \"inOut\" on both sides. The functions provided here\nare meant to match the graphical examples on [easings.net](http://easings.net/).\n\n```elm\nimport Ease\nn = 10\n\nList.map (\\i -> Ease.inQuad (i/n)) [0..n]\n> [0, 0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81, 1]\n\nList.map (\\i -> Ease.outCubic (i/n)) [0..n]\n> [0, 0.271, 0.488, 0.657, 0.784, 0.875, 0.936, 0.973, 0.992, 0.999, 1]\n```\n\n# Easing functions\n@docs Easing,\n      bezier,\n      linear,\n      inQuad, outQuad, inOutQuad,\n      inCubic, outCubic, inOutCubic,\n      inQuart, outQuart, inOutQuart,\n      inQuint, outQuint, inOutQuint,\n      inSine, outSine, inOutSine,\n      inExpo, outExpo, inOutExpo,\n      inCirc, outCirc, inOutCirc,\n      inBack, outBack, inOutBack,\n      inBounce, outBounce, inOutBounce,\n      inElastic, outElastic, inOutElastic\n\n# Combining easing functions\n@docs reverse, flip , inOut, retour\n",
        "unions": [],
        "aliases": [
            {
                "name": "Easing",
                "comment": " Type alias for Easing functions.\n",
                "args": [],
                "type": "Float -> Float"
            }
        ],
        "values": [
            {
                "name": "bezier",
                "comment": " A cubic bezier function using 4 parameters: x and y position of first control point, and x and y position of second control point.\n\nSee [here](http://greweb.me/glsl-transition/example/ \"glsl-transitions\") for examples or [here](http://cubic-bezier.com/ \"tester\") to test.\n",
                "type": "Float -> Float -> Float -> Float -> Easing"
            },
            {
                "name": "flip",
                "comment": " Flip an easing function. A transition that starts fast and continues slow now starts slow and continues fast.\n\nGraphically, this flips the function around x = 0.5 and then around y = 0.5.\n",
                "type": "Easing -> Easing"
            },
            {
                "name": "inBack",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inBounce",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inCirc",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inCubic",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inElastic",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inExpo",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOut",
                "comment": " Makes an easing function using two other easing functions. The first half the first `Easing` function is used, the other half the second.\n",
                "type": "Easing -> Easing -> Easing"
            },
            {
                "name": "inOutBack",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutBounce",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutCirc",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutCubic",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutElastic",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutExpo",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutQuad",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutQuart",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutQuint",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inOutSine",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inQuad",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inQuart",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inQuint",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "inSine",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "linear",
                "comment": " A linear ease, equal to the identity function. Linear eases often appear mechanical and unphysical.\n",
                "type": "Easing"
            },
            {
                "name": "outBack",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outBounce",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outCirc",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outCubic",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outElastic",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outExpo",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outQuad",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outQuart",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outQuint",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "outSine",
                "comment": " ",
                "type": "Easing"
            },
            {
                "name": "retour",
                "comment": " Makes an `Easing` function go to the end first and then back to the start. A transition that starts low and goes\nhigh now starts low, goes high at halfway, and then goes low again.\n",
                "type": "Easing -> Easing"
            },
            {
                "name": "reverse",
                "comment": " Reverse an `Easing` function. If an object follows an easing function and then the reversed easing function, it\nretraces exactly the same path, backwards.\n\nGraphically, this flips the function around x = 0.5.\n",
                "type": "Easing -> Easing"
            }
        ],
        "binops": []
    }
]