@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
1 lines • 5.36 kB
Source Map (JSON)
{"version":3,"file":"lab2rgb.cjs","sources":["../../../../../../../../../../.yarn/berry/cache/chroma-js-npm-3.2.0-d5c39f5077-10c0.zip/node_modules/chroma-js/src/io/lab/lab2rgb.js"],"sourcesContent":["import LAB_CONSTANTS from './lab-constants.js';\nimport { unpack } from '../../utils/index.js';\n\n/*\n * L* [0..100]\n * a [-100..100]\n * b [-100..100]\n */\nconst lab2rgb = (...args) => {\n args = unpack(args, 'lab');\n const [L, a, b] = args;\n const [x, y, z] = lab2xyz(L, a, b);\n const [r, g, b_] = xyz2rgb(x, y, z);\n return [r, g, b_, args.length > 3 ? args[3] : 1];\n};\n\nconst lab2xyz = (L, a, b) => {\n const { kE, kK, kKE, Xn, Yn, Zn } = LAB_CONSTANTS;\n\n const fy = (L + 16.0) / 116.0;\n const fx = 0.002 * a + fy;\n const fz = fy - 0.005 * b;\n\n const fx3 = fx * fx * fx;\n const fz3 = fz * fz * fz;\n\n const xr = fx3 > kE ? fx3 : (116.0 * fx - 16.0) / kK;\n const yr = L > kKE ? Math.pow((L + 16.0) / 116.0, 3.0) : L / kK;\n const zr = fz3 > kE ? fz3 : (116.0 * fz - 16.0) / kK;\n\n const x = xr * Xn;\n const y = yr * Yn;\n const z = zr * Zn;\n\n return [x, y, z];\n};\n\nconst compand = (linear) => {\n /* sRGB */\n const sign = Math.sign(linear);\n linear = Math.abs(linear);\n return (\n (linear <= 0.0031308\n ? linear * 12.92\n : 1.055 * Math.pow(linear, 1.0 / 2.4) - 0.055) * sign\n );\n};\n\nconst xyz2rgb = (x, y, z) => {\n const { MtxAdaptMa, MtxAdaptMaI, MtxXYZ2RGB, RefWhiteRGB, Xn, Yn, Zn } =\n LAB_CONSTANTS;\n\n const As = Xn * MtxAdaptMa.m00 + Yn * MtxAdaptMa.m10 + Zn * MtxAdaptMa.m20;\n const Bs = Xn * MtxAdaptMa.m01 + Yn * MtxAdaptMa.m11 + Zn * MtxAdaptMa.m21;\n const Cs = Xn * MtxAdaptMa.m02 + Yn * MtxAdaptMa.m12 + Zn * MtxAdaptMa.m22;\n\n const Ad =\n RefWhiteRGB.X * MtxAdaptMa.m00 +\n RefWhiteRGB.Y * MtxAdaptMa.m10 +\n RefWhiteRGB.Z * MtxAdaptMa.m20;\n const Bd =\n RefWhiteRGB.X * MtxAdaptMa.m01 +\n RefWhiteRGB.Y * MtxAdaptMa.m11 +\n RefWhiteRGB.Z * MtxAdaptMa.m21;\n const Cd =\n RefWhiteRGB.X * MtxAdaptMa.m02 +\n RefWhiteRGB.Y * MtxAdaptMa.m12 +\n RefWhiteRGB.Z * MtxAdaptMa.m22;\n\n const X1 =\n (x * MtxAdaptMa.m00 + y * MtxAdaptMa.m10 + z * MtxAdaptMa.m20) *\n (Ad / As);\n const Y1 =\n (x * MtxAdaptMa.m01 + y * MtxAdaptMa.m11 + z * MtxAdaptMa.m21) *\n (Bd / Bs);\n const Z1 =\n (x * MtxAdaptMa.m02 + y * MtxAdaptMa.m12 + z * MtxAdaptMa.m22) *\n (Cd / Cs);\n\n const X2 =\n X1 * MtxAdaptMaI.m00 + Y1 * MtxAdaptMaI.m10 + Z1 * MtxAdaptMaI.m20;\n const Y2 =\n X1 * MtxAdaptMaI.m01 + Y1 * MtxAdaptMaI.m11 + Z1 * MtxAdaptMaI.m21;\n const Z2 =\n X1 * MtxAdaptMaI.m02 + Y1 * MtxAdaptMaI.m12 + Z1 * MtxAdaptMaI.m22;\n\n const r = compand(\n X2 * MtxXYZ2RGB.m00 + Y2 * MtxXYZ2RGB.m10 + Z2 * MtxXYZ2RGB.m20\n );\n const g = compand(\n X2 * MtxXYZ2RGB.m01 + Y2 * MtxXYZ2RGB.m11 + Z2 * MtxXYZ2RGB.m21\n );\n const b = compand(\n X2 * MtxXYZ2RGB.m02 + Y2 * MtxXYZ2RGB.m12 + Z2 * MtxXYZ2RGB.m22\n );\n\n return [r * 255, g * 255, b * 255];\n};\n\nexport default lab2rgb;\nexport { xyz2rgb };\n"],"names":["LAB_CONSTANTS"],"mappings":"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","x_google_ignoreList":[0]}