newmana/chroma-elm/10.0.0

NOTE: the latest version is 18.2.1

Chroma.Chroma

The attempt here is to provide something similar to https://gka.github.io/chroma.js/ but also idiomatic Elm.

Definition

chroma : String -> Result String ExtColor

Given a valid hex string (8, 6 or 3) produce an RGB Color.

scale : Nonempty ExtColor -> ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on default values and the given colors.

domain : Nonempty Float -> Nonempty ExtColor -> ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on a new domain, colors (must be the same length as the domain) and default configuration.

distance : Mode -> ExtColor -> ExtColor -> Float

Calculate the distance for a given color space.

Calculate the distance in RGB 255 color space.

mix : Mode -> Float -> ExtColor -> ExtColor -> ExtColor

Mix two colors, first converting them to the same color space mode and then with a ratio.

mixChroma : Mode -> Float -> String -> String -> Result String ExtColor

Mix two colors defined as a string, first converting them to the same color space mode and then with a ratio.

padding : Float -> ( Data, Float -> ExtColor ) -> ( Data, Float -> ExtColor )

Remove a fraction of the color gradient (0 -> 1). Applies both sides the same.

( Float, Float )
-> ( Data, Float -> ExtColor )
-> ( Data, Float -> ExtColor )

Remove a fraction of the color gradient (0 -> 1).

colors : Int -> Nonempty ExtColor -> ( Data, Nonempty ExtColor )

Return the data with the given colors and a new list of colors.

colorsWith : Int -> Data -> ( Data, Nonempty ExtColor )

Return the data with the given colors and a new list of colors.

average : Mode -> Nonempty ExtColor -> Result String ExtColor

Find the average of a non-empty list of colors, first converting them to the same color space mode.

Only supports RGBA, CYMK and LAB.

averageChroma : Mode -> Nonempty String -> Result String ExtColor

Find the average of a non-empty list of colors defined as strongs, first converting them to the same color space mode.

Only supports RGBA, CYMK and LAB.

limits : Nonempty Float -> LimitMode -> Int -> Nonempty Float

Create breaks/classes based on the data given.

Supports: CkMean (a variant of kMeans), Equal, Logarithmic, and Quantile.

classes : Int -> Data -> ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on the given configuration values, the given colors and the total number of colors (bins) to return.

classesWithArray : Nonempty Float -> Data -> ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on the given configuration values, the given colors and a predefined set of breaks/classes.

Helpers

scaleDefault : ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on default values - colors White to Black, domain 0 - 1.

scaleWith : Data -> Nonempty ExtColor -> ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on the given configuration values and the given colors.

Nonempty Float
-> Data
-> Nonempty ExtColor
-> ( Data, Float -> ExtColor )

Return a new configuration and a function from a float to color based on a new domain, an existing configuration, and colors (must be the same length as the domain).