UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

1 lines 4.55 kB
{"version":3,"file":"rgb2lab.cjs","sources":["../../../../../../../../../../.yarn/berry/cache/chroma-js-npm-3.2.0-d5c39f5077-10c0.zip/node_modules/chroma-js/src/io/lab/rgb2lab.js"],"sourcesContent":["import LAB_CONSTANTS from './lab-constants.js';\nimport { unpack } from '../../utils/index.js';\n\nconst rgb2lab = (...args) => {\n const [r, g, b, ...rest] = unpack(args, 'rgb');\n const [x, y, z] = rgb2xyz(r, g, b);\n const [L, a, b_] = xyz2lab(x, y, z);\n return [L, a, b_, ...(rest.length > 0 && rest[0] < 1 ? [rest[0]] : [])];\n};\n\nfunction xyz2lab(x, y, z) {\n const { Xn, Yn, Zn, kE, kK } = LAB_CONSTANTS;\n const xr = x / Xn;\n const yr = y / Yn;\n const zr = z / Zn;\n\n const fx = xr > kE ? Math.pow(xr, 1.0 / 3.0) : (kK * xr + 16.0) / 116.0;\n const fy = yr > kE ? Math.pow(yr, 1.0 / 3.0) : (kK * yr + 16.0) / 116.0;\n const fz = zr > kE ? Math.pow(zr, 1.0 / 3.0) : (kK * zr + 16.0) / 116.0;\n\n return [116.0 * fy - 16.0, 500.0 * (fx - fy), 200.0 * (fy - fz)];\n}\n\nfunction gammaAdjustSRGB(companded) {\n const sign = Math.sign(companded);\n companded = Math.abs(companded);\n const linear =\n companded <= 0.04045\n ? companded / 12.92\n : Math.pow((companded + 0.055) / 1.055, 2.4);\n return linear * sign;\n}\n\nconst rgb2xyz = (r, g, b) => {\n // normalize and gamma adjust\n r = gammaAdjustSRGB(r / 255);\n g = gammaAdjustSRGB(g / 255);\n b = gammaAdjustSRGB(b / 255);\n\n const { MtxRGB2XYZ, MtxAdaptMa, MtxAdaptMaI, Xn, Yn, Zn, As, Bs, Cs } =\n LAB_CONSTANTS;\n\n let x = r * MtxRGB2XYZ.m00 + g * MtxRGB2XYZ.m10 + b * MtxRGB2XYZ.m20;\n let y = r * MtxRGB2XYZ.m01 + g * MtxRGB2XYZ.m11 + b * MtxRGB2XYZ.m21;\n let z = r * MtxRGB2XYZ.m02 + g * MtxRGB2XYZ.m12 + b * MtxRGB2XYZ.m22;\n\n const Ad = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;\n const Bd = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;\n const Cd = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;\n\n let X = x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20;\n let Y = x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21;\n let Z = x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22;\n\n X *= Ad / As;\n Y *= Bd / Bs;\n Z *= Cd / Cs;\n\n x = X * MtxAdaptMaI.m00 + Y * MtxAdaptMaI.m10 + Z * MtxAdaptMaI.m20;\n y = X * MtxAdaptMaI.m01 + Y * MtxAdaptMaI.m11 + Z * MtxAdaptMaI.m21;\n z = X * MtxAdaptMaI.m02 + Y * MtxAdaptMaI.m12 + Z * MtxAdaptMaI.m22;\n\n return [x, y, z];\n};\n\nexport default rgb2lab;\nexport { rgb2xyz };\n"],"names":["LAB_CONSTANTS"],"mappings":";;;;;AAGK,MAAC,UAAU,IAAI,SAAS;AACzB,QAAM,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,MAAM,KAAK;AAC7C,QAAM,CAAC,GAAG,GAAG,CAAC,IAAI,QAAQ,GAAG,GAAG,CAAC;AACjC,QAAM,CAAC,GAAG,GAAG,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC;AAClC,SAAO,CAAC,GAAG,GAAG,IAAI,GAAI,KAAK,SAAS,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAA,CAAG;AAC1E;AAEA,SAAS,QAAQ,GAAG,GAAG,GAAG;AACtB,QAAM,EAAE,IAAI,IAAI,IAAI,IAAI,GAAE,IAAKA,aAAAA;AAC/B,QAAM,KAAK,IAAI;AACf,QAAM,KAAK,IAAI;AACf,QAAM,KAAK,IAAI;AAEf,QAAM,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAM,CAAG,KAAK,KAAK,KAAK,MAAQ;AAClE,QAAM,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAM,CAAG,KAAK,KAAK,KAAK,MAAQ;AAClE,QAAM,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAM,CAAG,KAAK,KAAK,KAAK,MAAQ;AAElE,SAAO,CAAC,MAAQ,KAAK,IAAM,OAAS,KAAK,KAAK,OAAS,KAAK,GAAG;AACnE;AAEA,SAAS,gBAAgB,WAAW;AAChC,QAAM,OAAO,KAAK,KAAK,SAAS;AAChC,cAAY,KAAK,IAAI,SAAS;AAC9B,QAAM,SACF,aAAa,UACP,YAAY,QACZ,KAAK,KAAK,YAAY,SAAS,OAAO,GAAG;AACnD,SAAO,SAAS;AACpB;AAEK,MAAC,UAAU,CAAC,GAAG,GAAG,MAAM;AAEzB,MAAI,gBAAgB,IAAI,GAAG;AAC3B,MAAI,gBAAgB,IAAI,GAAG;AAC3B,MAAI,gBAAgB,IAAI,GAAG;AAE3B,QAAM,EAAE,YAAY,YAAY,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,GAAE,IAC/DA,aAAAA;AAEJ,MAAI,IAAI,IAAI,WAAW,MAAM,IAAI,WAAW,MAAM,IAAI,WAAW;AACjE,MAAI,IAAI,IAAI,WAAW,MAAM,IAAI,WAAW,MAAM,IAAI,WAAW;AACjE,MAAI,IAAI,IAAI,WAAW,MAAM,IAAI,WAAW,MAAM,IAAI,WAAW;AAEjE,QAAM,KAAK,KAAK,WAAW,MAAM,KAAK,WAAW,MAAM,KAAK,WAAW;AACvE,QAAM,KAAK,KAAK,WAAW,MAAM,KAAK,WAAW,MAAM,KAAK,WAAW;AACvE,QAAM,KAAK,KAAK,WAAW,MAAM,KAAK,WAAW,MAAM,KAAK,WAAW;AAEvE,MAAI,IAAI,IAAI,WAAW,MAAM,IAAI,WAAW,MAAM,IAAI,WAAW;AACjE,MAAI,IAAI,IAAI,WAAW,MAAM,IAAI,WAAW,MAAM,IAAI,WAAW;AACjE,MAAI,IAAI,IAAI,WAAW,MAAM,IAAI,WAAW,MAAM,IAAI,WAAW;AAEjE,OAAK,KAAK;AACV,OAAK,KAAK;AACV,OAAK,KAAK;AAEV,MAAI,IAAI,YAAY,MAAM,IAAI,YAAY,MAAM,IAAI,YAAY;AAChE,MAAI,IAAI,YAAY,MAAM,IAAI,YAAY,MAAM,IAAI,YAAY;AAChE,MAAI,IAAI,YAAY,MAAM,IAAI,YAAY,MAAM,IAAI,YAAY;AAEhE,SAAO,CAAC,GAAG,GAAG,CAAC;AACnB;;;","x_google_ignoreList":[0]}