Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/petulla/d3-hsluv

D3 implementation of human-friendly HSL
https://github.com/petulla/d3-hsluv

color color-palette d3 hsluv rgb

Last synced: about 1 month ago
JSON representation

D3 implementation of human-friendly HSL

Awesome Lists containing this project

README

        

# d3-hsluv

This module implements the [HSLuv](http://www.hsluv.org/) (Hue, Saturation, Lightness) color space.

## Installing

If you use NPM, `npm install d3-hsluv`. AMD, CommonJS, and vanilla environments are supported. In vanilla, a `d3` global is exported:

```html

var yellow = d3.hsluv("yellow"); // {l: 85.9, u: 100, v: 97.1, opacity: 1}

```

[Try d3-hsluv in your browser.](https://tonicdev.com/npm/d3-hsluv)

## API Reference

# d3.hsluv(l, u, v[, opacity])

# d3.hsluv(specifier)

# d3.hsluv(color)

Constructs a new [hsluv](http://www.hsluv.org/) color. The channel values are exposed as `l`, `u` and `v` properties on the returned instance.

If *l*, *u* and *v* are specified, these represent the channel values of the returned color; an *opacity* may also be specified. If a CSS Color Module Level 3 *specifier* string is specified, it is parsed and then converted to the hsluv color space. See [d3.color](https://github.com/d3/d3-color#color) for examples. If a [*color*](https://github.com/d3/d3-color#color) instance is specified, it is converted to the RGB color space using [*color*.rgb](https://github.com/d3/d3-color#color_rgb) and then converted to hsluv.

# d3.interpolateHsluv(a, b) [<>](https://github.com/d3/d3-hsluv/blob/master/src/interpolateHsluv.js "Source")

Returns an HSLuv color space interpolator between the two colors a and b. The colors a and b need not be in HSLuv; they will be converted to HSLuv using d3.hsluv. If either color’s hue or chroma is NaN, the opposing color’s channel value is used. The shortest path between hues is used. The return value of the interpolator is an RGB string.

# d3.interpolateHsluvLong(a, b) [<>](https://github.com/d3/d3-hsluv/blob/master/src/interpolateHsluv.js "Source")

Like interpolateHsluv, but does not use the shortest path between hues.