UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

54 lines (53 loc) 1.95 kB
"use strict"; require("../../utils/type.cjs"); const unpack = require("../../utils/unpack.cjs"); const last = require("../../utils/last.cjs"); const hsl2css = require("./hsl2css.cjs"); const rgb2hsl = require("../hsl/rgb2hsl.cjs"); const lab2css = require("./lab2css.cjs"); const rgb2lab = require("../lab/rgb2lab.cjs"); const lch2css = require("./lch2css.cjs"); const rgb2lch = require("../lch/rgb2lch.cjs"); const rgb2oklab = require("../oklab/rgb2oklab.cjs"); const oklab2css = require("./oklab2css.cjs"); const rgb2oklch = require("../oklch/rgb2oklch.cjs"); const oklch2css = require("./oklch2css.cjs"); const labConstants = require("../lab/lab-constants.cjs"); 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 = labConstants.getLabWhitePoint(); labConstants.setLabWhitePoint("d50"); const cssColor = lab2css(rgb2lab.default(rgba), mode); labConstants.setLabWhitePoint(prevWhitePoint); return cssColor; } if (mode.substr(0, 3) === "lch") { const prevWhitePoint = labConstants.getLabWhitePoint(); labConstants.setLabWhitePoint("d50"); const cssColor = lch2css(rgb2lch(rgba), mode); labConstants.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(" ")})`; }; module.exports = rgb2css; //# sourceMappingURL=rgb2css.cjs.map