@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
33 lines (32 loc) • 817 B
JavaScript
import "../../utils/type.js";
import unpack from "../../utils/unpack.js";
import last from "../../utils/last.js";
const { round } = Math;
const rgb2hex = (...args) => {
let [r, g, b, a] = unpack(args, "rgba");
let mode = last(args) || "auto";
if (a === void 0) a = 1;
if (mode === "auto") {
mode = a < 1 ? "rgba" : "rgb";
}
r = round(r);
g = round(g);
b = round(b);
const u = r << 16 | g << 8 | b;
let str = "000000" + u.toString(16);
str = str.substr(str.length - 6);
let hxa = "0" + round(a * 255).toString(16);
hxa = hxa.substr(hxa.length - 2);
switch (mode.toLowerCase()) {
case "rgba":
return `#${str}${hxa}`;
case "argb":
return `#${hxa}${str}`;
default:
return `#${str}`;
}
};
export {
rgb2hex as default
};
//# sourceMappingURL=rgb2hex.js.map