- Updated all component headers and documentation
- Changed navbar and footer branding
- Updated homepage hero badge
- Modified page title in index.html
- Simplified footer text to 'Built with ❤️'
- Consistent V2 capitalization across all references
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
import {rgb as colorRgb} from "d3-color";
|
|
import basis from "./basis.js";
|
|
import basisClosed from "./basisClosed.js";
|
|
import nogamma, {gamma} from "./color.js";
|
|
|
|
export default (function rgbGamma(y) {
|
|
var color = gamma(y);
|
|
|
|
function rgb(start, end) {
|
|
var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),
|
|
g = color(start.g, end.g),
|
|
b = color(start.b, end.b),
|
|
opacity = nogamma(start.opacity, end.opacity);
|
|
return function(t) {
|
|
start.r = r(t);
|
|
start.g = g(t);
|
|
start.b = b(t);
|
|
start.opacity = opacity(t);
|
|
return start + "";
|
|
};
|
|
}
|
|
|
|
rgb.gamma = rgbGamma;
|
|
|
|
return rgb;
|
|
})(1);
|
|
|
|
function rgbSpline(spline) {
|
|
return function(colors) {
|
|
var n = colors.length,
|
|
r = new Array(n),
|
|
g = new Array(n),
|
|
b = new Array(n),
|
|
i, color;
|
|
for (i = 0; i < n; ++i) {
|
|
color = colorRgb(colors[i]);
|
|
r[i] = color.r || 0;
|
|
g[i] = color.g || 0;
|
|
b[i] = color.b || 0;
|
|
}
|
|
r = spline(r);
|
|
g = spline(g);
|
|
b = spline(b);
|
|
color.opacity = 1;
|
|
return function(t) {
|
|
color.r = r(t);
|
|
color.g = g(t);
|
|
color.b = b(t);
|
|
return color + "";
|
|
};
|
|
};
|
|
}
|
|
|
|
export var rgbBasis = rgbSpline(basis);
|
|
export var rgbBasisClosed = rgbSpline(basisClosed);
|