{"version":3,"file":"rgb2oklab.cjs","sources":["../../../../../../../../../../.yarn/berry/cache/chroma-js-npm-3.2.0-d5c39f5077-10c0.zip/node_modules/chroma-js/src/io/oklab/rgb2oklab.js"],"sourcesContent":["import { unpack } from '../../utils/index.js';\nimport multiplyMatrices from '../../utils/multiply-matrices.js';\nimport { rgb2xyz } from '../lab/rgb2lab.js';\n\nconst rgb2oklab = (...args) => {\n    const [r, g, b, ...rest] = unpack(args, 'rgb');\n    const xyz = rgb2xyz(r, g, b);\n    const oklab = XYZ_to_OKLab(xyz);\n    return [...oklab, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\n// from https://www.w3.org/TR/css-color-4/#color-conversion-code\nfunction XYZ_to_OKLab(XYZ) {\n    // Given XYZ relative to D65, convert to OKLab\n    const XYZtoLMS = [\n        [0.819022437996703, 0.3619062600528904, -0.1288737815209879],\n        [0.0329836539323885, 0.9292868615863434, 0.0361446663506424],\n        [0.0481771893596242, 0.2642395317527308, 0.6335478284694309]\n    ];\n    const LMStoOKLab = [\n        [0.210454268309314, 0.7936177747023054, -0.0040720430116193],\n        [1.9779985324311684, -2.4285922420485799, 0.450593709617411],\n        [0.0259040424655478, 0.7827717124575296, -0.8086757549230774]\n    ];\n\n    const LMS = multiplyMatrices(XYZtoLMS, XYZ);\n    // JavaScript Math.cbrt returns a sign-matched cube root\n    // beware if porting to other languages\n    // especially if tempted to use a general power function\n    return multiplyMatrices(\n        LMStoOKLab,\n        LMS.map((c) => Math.cbrt(c))\n    );\n    // L in range [0,1]. For use in CSS, multiply by 100 and add a percent\n}\n\nexport default rgb2oklab;\n"],"names":["rgb2xyz"],"mappings":";;;;;AAIK,MAAC,YAAY,IAAI,SAAS;AAC3B,QAAM,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,MAAM,KAAK;AAC7C,QAAM,MAAMA,QAAAA,QAAQ,GAAG,GAAG,CAAC;AAC3B,QAAM,QAAQ,aAAa,GAAG;AAC9B,SAAO,CAAC,GAAG,OAAO,GAAI,KAAK,SAAS,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA,CAAG;AAC1E;AAGA,SAAS,aAAa,KAAK;AAEvB,QAAM,WAAW;AAAA,IACb,CAAC,mBAAmB,oBAAoB,mBAAmB;AAAA,IAC3D,CAAC,oBAAoB,oBAAoB,kBAAkB;AAAA,IAC3D,CAAC,oBAAoB,oBAAoB,kBAAkB;AAAA,EACnE;AACI,QAAM,aAAa;AAAA,IACf,CAAC,mBAAmB,oBAAoB,mBAAmB;AAAA,IAC3D,CAAC,oBAAoB,mBAAqB,iBAAiB;AAAA,IAC3D,CAAC,oBAAoB,oBAAoB,mBAAmB;AAAA,EACpE;AAEI,QAAM,MAAM,iBAAiB,UAAU,GAAG;AAI1C,SAAO;AAAA,IACH;AAAA,IACA,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;AAAA,EACnC;AAEA;;","x_google_ignoreList":[0]}