[
    {
        "name": "Color.Gradient",
        "comment": "\n# Gradient\n@docs GradientStop, Gradient, Palette, gradient, gradientFromStops\n",
        "unions": [],
        "aliases": [
            {
                "name": "Gradient",
                "comment": " ",
                "args": [],
                "type": "List GradientStop"
            },
            {
                "name": "GradientStop",
                "comment": " A color and a stop value that indicates where the color appears in a gradient.\n The stop value must be between `0` and `1`.\n",
                "args": [],
                "type": "( Float, Color )"
            },
            {
                "name": "Palette",
                "comment": " ",
                "args": [],
                "type": "List Color"
            }
        ],
        "values": [
            {
                "name": "gradient",
                "comment": " Create a new `Palette`  with gradient colors from a given `Palette`,\n with a given size.\n\n    p1 : Palette\n    p1 =\n      [ rgb 200 0 200\n      , rgb 0 100 100\n      , rgb 100 0 0\n      ]\n    gradient p1 5 -- [RGBA 200 0 200 1,RGBA 100 50 150 1,RGBA 0 100 100 1,RGBA 50 50 50 1,RGBA 100 0 0 1]\n",
                "type": "Space -> Palette -> Int -> Palette"
            },
            {
                "name": "gradientFromStops",
                "comment": " Create a new `Palette`  with gradient colors from a given `Gradient`,\n with a given size.\n\n    g : Gradient\n    g =\n      [ (0, rgb 200 0 200)\n      , (0.25, rgb 0 100 100)\n      , (1, rgb 150 175 160)\n      ]\n    gradientFromStops g 5 -- [RGBA 200 0 200 1,RGBA 0 100 100 1,RGBA 50 125 120 1,RGBA 100 150 140 1,RGBA 150 175 160 1]\n",
                "type": "Space -> Gradient -> Int -> Palette"
            }
        ],
        "binops": []
    },
    {
        "name": "Color.Interpolate",
        "comment": "\n# Interpolate\nInterpolate between two colors\n\n@docs Space, interpolate\n",
        "unions": [
            {
                "name": "Space",
                "comment": " The color space that is used for the interpolation\n",
                "args": [],
                "cases": [
                    [
                        "RGB",
                        []
                    ],
                    [
                        "HSL",
                        []
                    ],
                    [
                        "LAB",
                        []
                    ]
                ]
            }
        ],
        "aliases": [],
        "values": [
            {
                "name": "interpolate",
                "comment": " Linear interpolation of two colors by a factor between `0` and `1`.\n",
                "type": "Space -> Color -> Color -> Float -> Color"
            }
        ],
        "binops": []
    },
    {
        "name": "Color.Blending",
        "comment": "\n# Blending\nBased on the [Compositing and Blending Level 1](https://www.w3.org/TR/compositing-1/#blending)\n\n@docs multiply, screen, overlay, difference, exclusion, hardlight, softlight, colorBurn, colorDodge, lighten, darken\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "colorBurn",
                "comment": "\nDarkens the backdrop color to reflect the source color.\nPainting with white produces no change.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "colorDodge",
                "comment": "\nBrightens the backdrop color to reflect the source color.\nPainting with black produces no changes.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "darken",
                "comment": "\nSelects the darker of the backdrop and source colors.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "difference",
                "comment": "\nSubtracts the darker of the two constituent colors from the lighter color.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "exclusion",
                "comment": "\nProduces an effect similar to that of the Difference mode but lower in contrast.\nPainting with white inverts the backdrop color; painting with black produces no change\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "hardlight",
                "comment": "\nMultiplies or screens the colors, depending on the source color value.\nThe effect is similar to shining a harsh spotlight on the backdrop.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "lighten",
                "comment": "\nSelects the lighter of the backdrop and source colors.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "multiply",
                "comment": "\nThe source color is multiplied by the destination color and replaces the destination.\n\nThe resultant color is always at least as dark as either the source or destination color.\nMultiplying any color with black results in black.\nMultiplying any color with white preserves the original color.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "overlay",
                "comment": "\nMultiplies or screens the colors, depending on the backdrop color value.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "screen",
                "comment": "\nMultiplies the complements of the backdrop and source color values,\n then complements the result.\n",
                "type": "Color -> Color -> Color"
            },
            {
                "name": "softlight",
                "comment": "\nDarkens or lightens the colors, depending on the source color value.\nThe effect is similar to shining a diffused spotlight on the backdrop.\n",
                "type": "Color -> Color -> Color"
            }
        ],
        "binops": []
    },
    {
        "name": "Color.Manipulate",
        "comment": " A library for creating and manipulating colors.\n\n\n# Color adjustment\n@docs darken, lighten, saturate, desaturate, rotateHue, fadeIn, fadeOut, grayscale\n\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "darken",
                "comment": " Decrease the lightning of a color\n",
                "type": "Float -> Color -> Color"
            },
            {
                "name": "desaturate",
                "comment": " Decrease the saturation of a color\n",
                "type": "Float -> Color -> Color"
            },
            {
                "name": "fadeIn",
                "comment": " Increase the opacity of a color\n",
                "type": "Float -> Color -> Color"
            },
            {
                "name": "fadeOut",
                "comment": " Decrease the opacity of a color\n",
                "type": "Float -> Color -> Color"
            },
            {
                "name": "grayscale",
                "comment": " Convert the color to a greyscale version, aka set saturation to 0\n",
                "type": "Color -> Color"
            },
            {
                "name": "lighten",
                "comment": " Increase the lightning of a color\n",
                "type": "Float -> Color -> Color"
            },
            {
                "name": "rotateHue",
                "comment": " Change the hue of a color. The angle value must be in degrees\n",
                "type": "Float -> Color -> Color"
            },
            {
                "name": "saturate",
                "comment": " Increase the saturation of a color\n",
                "type": "Float -> Color -> Color"
            }
        ],
        "binops": []
    },
    {
        "name": "Color.Convert",
        "comment": "\n#Convert\nConvert colors to differnt string formats and hexadecimal strings to colors.\n\n@docs colorToCssRgb, colorToCssRgba, colorToCssHsl, colorToCssHsla, colorToHex, hexToColor, colorToLab, labToColor\n",
        "unions": [],
        "aliases": [],
        "values": [
            {
                "name": "colorToCssHsl",
                "comment": "\nConverts a color to an css hsl string.\n\n    colorToCssRgb (hsl 1 1 0.5) -- \"hsl(1, 1, 0.5)\"\n",
                "type": "Color -> String"
            },
            {
                "name": "colorToCssHsla",
                "comment": "\nConverts a color to an css hsla string.\n\n    colorToCssRgb (hsla 1 1 0.5 1) -- \"hsla(56, 100%, 50%, 1)\"\n",
                "type": "Color -> String"
            },
            {
                "name": "colorToCssRgb",
                "comment": "\nConverts a color to an css rgb string.\n\n    colorToCssRgb (rgb 255 0 0 ) -- \"rgb(255, 0, 0)\"\n",
                "type": "Color -> String"
            },
            {
                "name": "colorToCssRgba",
                "comment": "\nConverts a color to an css rgba string.\n\n    colorToCssRgb (rgba 255 0 0 0.5) -- \"rgb(255, 0, 0, 0.5)\"\n",
                "type": "Color -> String"
            },
            {
                "name": "colorToHex",
                "comment": "\nConverts a color to a hexadecimal string.\n\n    hexToColor (rgb 255 0 0) -- \"#ff0000\"\n\n",
                "type": "Color -> String"
            },
            {
                "name": "colorToLab",
                "comment": " Convert color to CIELAB- color space\n",
                "type": "Color -> { l : Float, a : Float, b : Float }"
            },
            {
                "name": "hexToColor",
                "comment": "\nConverts a string to `Maybe` of color.\n\n    hexToColor \"#ff0000\" -- \"Just RGB 255 0 0\"\n    hexToColor \"ff0000\" -- \"Just RGB 255 0 0\"\n    hexToColor \"1234\" -- \"Nothing\"\n\n",
                "type": "String -> Maybe Color"
            },
            {
                "name": "labToColor",
                "comment": " Convert a color in CIELAB- color space to Elm `Color`\n",
                "type": "{ l : Float, a : Float, b : Float } -> Color"
            }
        ],
        "binops": []
    }
]