@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
48 lines (47 loc) • 998 B
JavaScript
import "../../utils/type.js";
import unpack from "../../utils/unpack.js";
const { floor } = Math;
const hsv2rgb = (...args) => {
args = unpack(args, "hsv");
let [h, s, v] = args;
let r, g, b;
v *= 255;
if (s === 0) {
r = g = b = v;
} else {
if (h === 360) h = 0;
if (h > 360) h -= 360;
if (h < 0) h += 360;
h /= 60;
const i = floor(h);
const f = h - i;
const p = v * (1 - s);
const q = v * (1 - s * f);
const t = v * (1 - s * (1 - f));
switch (i) {
case 0:
[] = [v, t, p];
break;
case 1:
[] = [q, v, p];
break;
case 2:
[] = [p, v, t];
break;
case 3:
[] = [p, q, v];
break;
case 4:
[] = [t, p, v];
break;
case 5:
[] = [v, p, q];
break;
}
}
return [r, g, b, args.length > 3 ? args[3] : 1];
};
export {
hsv2rgb as default
};
//# sourceMappingURL=hsv2rgb.js.map