UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

55 lines (54 loc) 1.8 kB
import "../../utils/type.js"; import unpack from "../../utils/unpack.js"; import last from "../../utils/last.js"; import hsl2css from "./hsl2css.js"; import rgb2hsl from "../hsl/rgb2hsl.js"; import lab2css from "./lab2css.js"; import rgb2lab from "../lab/rgb2lab.js"; import lch2css from "./lch2css.js"; import rgb2lch from "../lch/rgb2lch.js"; import rgb2oklab from "../oklab/rgb2oklab.js"; import oklab2css from "./oklab2css.js"; import rgb2oklch from "../oklch/rgb2oklch.js"; import oklch2css from "./oklch2css.js"; import { setLabWhitePoint, getLabWhitePoint } from "../lab/lab-constants.js"; const { round } = Math; const rgb2css = (...args) => { const rgba = unpack(args, "rgba"); let mode = last(args) || "rgb"; if (mode.substr(0, 3) === "hsl") { return hsl2css(rgb2hsl(rgba), mode); } if (mode.substr(0, 3) === "lab") { const prevWhitePoint = getLabWhitePoint(); setLabWhitePoint("d50"); const cssColor = lab2css(rgb2lab(rgba), mode); setLabWhitePoint(prevWhitePoint); return cssColor; } if (mode.substr(0, 3) === "lch") { const prevWhitePoint = getLabWhitePoint(); setLabWhitePoint("d50"); const cssColor = lch2css(rgb2lch(rgba), mode); setLabWhitePoint(prevWhitePoint); return cssColor; } if (mode.substr(0, 5) === "oklab") { return oklab2css(rgb2oklab(rgba)); } if (mode.substr(0, 5) === "oklch") { return oklch2css(rgb2oklch(rgba)); } rgba[0] = round(rgba[0]); rgba[1] = round(rgba[1]); rgba[2] = round(rgba[2]); if (mode === "rgba" || rgba.length > 3 && rgba[3] < 1) { rgba[3] = "/ " + (rgba.length > 3 ? rgba[3] : 1); mode = "rgba"; } return `${mode.substr(0, 3)}(${rgba.slice(0, mode === "rgb" ? 3 : 4).join(" ")})`; }; export { rgb2css as default }; //# sourceMappingURL=rgb2css.js.map