{"version":3,"file":"rgb2css.mjs","sources":["../../../../../../../../../node_modules/chroma-js/src/io/css/rgb2css.js"],"sourcesContent":["import { unpack, last } from '../../utils/index.js';\nimport hsl2css from './hsl2css.js';\nimport rgb2hsl from '../hsl/rgb2hsl.js';\nimport lab2css from './lab2css.js';\nimport rgb2lab from '../lab/rgb2lab.js';\nimport lch2css from './lch2css.js';\nimport rgb2lch from '../lch/rgb2lch.js';\nimport rgb2oklab from '../oklab/rgb2oklab.js';\nimport oklab2css from './oklab2css.js';\nimport rgb2oklch from '../oklch/rgb2oklch.js';\nimport oklch2css from './oklch2css.js';\nimport { getLabWhitePoint, setLabWhitePoint } from '../lab/lab-constants.js';\nconst { round } = Math;\n\n/*\n * supported arguments:\n * - rgb2css(r,g,b)\n * - rgb2css(r,g,b,a)\n * - rgb2css([r,g,b], mode)\n * - rgb2css([r,g,b,a], mode)\n * - rgb2css({r,g,b,a}, mode)\n */\nconst rgb2css = (...args) => {\n    const rgba = unpack(args, 'rgba');\n    let mode = last(args) || 'rgb';\n    if (mode.substr(0, 3) === 'hsl') {\n        return hsl2css(rgb2hsl(rgba), mode);\n    }\n    if (mode.substr(0, 3) === 'lab') {\n        // change to D50 lab whitepoint since this is what W3C is using for CSS Lab colors\n        const prevWhitePoint = getLabWhitePoint();\n        setLabWhitePoint('d50');\n        const cssColor = lab2css(rgb2lab(rgba), mode);\n        setLabWhitePoint(prevWhitePoint);\n        return cssColor;\n    }\n    if (mode.substr(0, 3) === 'lch') {\n        // change to D50 lab whitepoint since this is what W3C is using for CSS Lab colors\n        const prevWhitePoint = getLabWhitePoint();\n        setLabWhitePoint('d50');\n        const cssColor = lch2css(rgb2lch(rgba), mode);\n        setLabWhitePoint(prevWhitePoint);\n        return cssColor;\n    }\n    if (mode.substr(0, 5) === 'oklab') {\n        return oklab2css(rgb2oklab(rgba));\n    }\n    if (mode.substr(0, 5) === 'oklch') {\n        return oklch2css(rgb2oklch(rgba));\n    }\n    rgba[0] = round(rgba[0]);\n    rgba[1] = round(rgba[1]);\n    rgba[2] = round(rgba[2]);\n    if (mode === 'rgba' || (rgba.length > 3 && rgba[3] < 1)) {\n        rgba[3] = '/ ' + (rgba.length > 3 ? rgba[3] : 1);\n        mode = 'rgba';\n    }\n    return `${mode.substr(0, 3)}(${rgba.slice(0, mode === 'rgb' ? 3 : 4).join(' ')})`;\n};\n\nexport default rgb2css;\n"],"names":["round"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAM,SAAEA,OAAK,EAAE,GAAG,IAAI;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACK,MAAC,OAAO,GAAG,CAAC,GAAG,IAAI,KAAK;AAC7B,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;AACrC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK;AAClC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;AACrC,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AAC3C,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;AACrC;AACA,QAAQ,MAAM,cAAc,GAAG,gBAAgB,EAAE;AACjD,QAAQ,gBAAgB,CAAC,KAAK,CAAC;AAC/B,QAAQ,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AACrD,QAAQ,gBAAgB,CAAC,cAAc,CAAC;AACxC,QAAQ,OAAO,QAAQ;AACvB,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;AACrC;AACA,QAAQ,MAAM,cAAc,GAAG,gBAAgB,EAAE;AACjD,QAAQ,gBAAgB,CAAC,KAAK,CAAC;AAC/B,QAAQ,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AACrD,QAAQ,gBAAgB,CAAC,cAAc,CAAC;AACxC,QAAQ,OAAO,QAAQ;AACvB,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;AACvC,QAAQ,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACzC,IAAI;AACJ,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;AACvC,QAAQ,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACzC,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,CAAC,GAAGA,OAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAGA,OAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,GAAGA,OAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,IAAI,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;AAC7D,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACxD,QAAQ,IAAI,GAAG,MAAM;AACrB,IAAI;AACJ,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrF;;;;","x_google_ignoreList":[0]}