@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
1 lines • 4.19 kB
Source Map (JSON)
{"version":3,"file":"cubehelix.cjs","sources":["../../../../../../../../../.yarn/berry/cache/chroma-js-npm-3.2.0-d5c39f5077-10c0.zip/node_modules/chroma-js/src/generator/cubehelix.js"],"sourcesContent":["// cubehelix interpolation\n// based on D.A. Green \"A colour scheme for the display of astronomical intensity images\"\n// http://astron-soc.in/bulletin/11June/289392011.pdf\nimport { type, clip_rgb, TWOPI } from '../utils/index.js';\nimport chroma from '../chroma.js';\nconst { pow, sin, cos } = Math;\n\nexport default function (\n start = 300,\n rotations = -1.5,\n hue = 1,\n gamma = 1,\n lightness = [0, 1]\n) {\n let dh = 0,\n dl;\n if (type(lightness) === 'array') {\n dl = lightness[1] - lightness[0];\n } else {\n dl = 0;\n lightness = [lightness, lightness];\n }\n const f = function (fract) {\n const a = TWOPI * ((start + 120) / 360 + rotations * fract);\n const l = pow(lightness[0] + dl * fract, gamma);\n const h = dh !== 0 ? hue[0] + fract * dh : hue;\n const amp = (h * l * (1 - l)) / 2;\n const cos_a = cos(a);\n const sin_a = sin(a);\n const r = l + amp * (-0.14861 * cos_a + 1.78277 * sin_a);\n const g = l + amp * (-0.29227 * cos_a - 0.90649 * sin_a);\n const b = l + amp * (+1.97294 * cos_a);\n return chroma(clip_rgb([r * 255, g * 255, b * 255, 1]));\n };\n f.start = function (s) {\n if (s == null) {\n return start;\n }\n start = s;\n return f;\n };\n f.rotations = function (r) {\n if (r == null) {\n return rotations;\n }\n rotations = r;\n return f;\n };\n f.gamma = function (g) {\n if (g == null) {\n return gamma;\n }\n gamma = g;\n return f;\n };\n f.hue = function (h) {\n if (h == null) {\n return hue;\n }\n hue = h;\n if (type(hue) === 'array') {\n dh = hue[1] - hue[0];\n if (dh === 0) {\n hue = hue[1];\n }\n } else {\n dh = 0;\n }\n return f;\n };\n f.lightness = function (h) {\n if (h == null) {\n return lightness;\n }\n if (type(h) === 'array') {\n lightness = h;\n dl = h[1] - h[0];\n } else {\n lightness = [h, h];\n dl = 0;\n }\n return f;\n };\n f.scale = () => chroma.scale(f);\n f.hue(hue);\n return f;\n}\n"],"names":["TWOPI"],"mappings":";;;;;AAKA,MAAM,EAAE,KAAK,KAAK,IAAG,IAAK;AAEX,SAAA,UACX,QAAQ,KACR,YAAY,MACZ,MAAM,GACN,QAAQ,GACR,YAAY,CAAC,GAAG,CAAC,GACnB;AACE,MAAI,KAAK,GACL;AACJ,MAAI,KAAK,SAAS,MAAM,SAAS;AAC7B,SAAK,UAAU,CAAC,IAAI,UAAU,CAAC;AAAA,EACnC,OAAO;AACH,SAAK;AACL,gBAAY,CAAC,WAAW,SAAS;AAAA,EACrC;AACA,QAAM,IAAI,SAAU,OAAO;AACvB,UAAM,IAAIA,MAAAA,UAAU,QAAQ,OAAO,MAAM,YAAY;AACrD,UAAM,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,KAAK;AAC9C,UAAM,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,QAAQ,KAAK;AAC3C,UAAM,MAAO,IAAI,KAAK,IAAI,KAAM;AAChC,UAAM,QAAQ,IAAI,CAAC;AACnB,UAAM,QAAQ,IAAI,CAAC;AACnB,UAAM,IAAI,IAAI,OAAO,WAAW,QAAQ,UAAU;AAClD,UAAM,IAAI,IAAI,OAAO,WAAW,QAAQ,UAAU;AAClD,UAAM,IAAI,IAAI,OAAO,UAAW;AAChC,WAAO,OAAO,SAAS,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;AAAA,EAC1D;AACA,IAAE,QAAQ,SAAU,GAAG;AACnB,QAAI,KAAK,MAAM;AACX,aAAO;AAAA,IACX;AACA,YAAQ;AACR,WAAO;AAAA,EACX;AACA,IAAE,YAAY,SAAU,GAAG;AACvB,QAAI,KAAK,MAAM;AACX,aAAO;AAAA,IACX;AACA,gBAAY;AACZ,WAAO;AAAA,EACX;AACA,IAAE,QAAQ,SAAU,GAAG;AACnB,QAAI,KAAK,MAAM;AACX,aAAO;AAAA,IACX;AACA,YAAQ;AACR,WAAO;AAAA,EACX;AACA,IAAE,MAAM,SAAU,GAAG;AACjB,QAAI,KAAK,MAAM;AACX,aAAO;AAAA,IACX;AACA,UAAM;AACN,QAAI,KAAK,GAAG,MAAM,SAAS;AACvB,WAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AACnB,UAAI,OAAO,GAAG;AACV,cAAM,IAAI,CAAC;AAAA,MACf;AAAA,IACJ,OAAO;AACH,WAAK;AAAA,IACT;AACA,WAAO;AAAA,EACX;AACA,IAAE,YAAY,SAAU,GAAG;AACvB,QAAI,KAAK,MAAM;AACX,aAAO;AAAA,IACX;AACA,QAAI,KAAK,CAAC,MAAM,SAAS;AACrB,kBAAY;AACZ,WAAK,EAAE,CAAC,IAAI,EAAE,CAAC;AAAA,IACnB,OAAO;AACH,kBAAY,CAAC,GAAG,CAAC;AACjB,WAAK;AAAA,IACT;AACA,WAAO;AAAA,EACX;AACA,IAAE,QAAQ,MAAM,OAAO,MAAM,CAAC;AAC9B,IAAE,IAAI,GAAG;AACT,SAAO;AACX;;","x_google_ignoreList":[0]}