newmana/chroma-elm/6.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 (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 : ExtColor -> ExtColor -> Float

Calculate the distance in RGB color space.

Calculate the distance in RGB 255 color space.

Calculate the distance in LAB color space.

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).

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).