@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
1 lines • 13.3 kB
Source Map (JSON)
{"version":3,"file":"css2rgb.cjs","sources":["../../../../../../../../../../.yarn/berry/cache/chroma-js-npm-3.2.0-d5c39f5077-10c0.zip/node_modules/chroma-js/src/io/css/css2rgb.js"],"sourcesContent":["import hsl2rgb from '../hsl/hsl2rgb.js';\nimport lab2rgb from '../lab/lab2rgb.js';\nimport lch2rgb from '../lch/lch2rgb.js';\nimport oklab2rgb from '../oklab/oklab2rgb.js';\nimport oklch2rgb from '../oklch/oklch2rgb.js';\nimport input from '../input.js';\nimport limit from '../../utils/limit.js';\nimport { getLabWhitePoint, setLabWhitePoint } from '../lab/lab-constants.js';\n\nconst INT_OR_PCT = /((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)/.source;\nconst FLOAT_OR_PCT = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)/.source;\nconst PCT = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)/.source;\nconst RE_S = /\\s*/.source;\nconst SEP = /\\s+/.source;\nconst COMMA = /\\s*,\\s*/.source;\nconst ANLGE = /((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)/.source;\nconst ALPHA = /\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?/.source;\n\n// e.g. rgb(250 20 0), rgb(100% 50% 20%), rgb(100% 50% 20% / 0.5)\nconst RE_RGB = new RegExp(\n '^rgba?\\\\(' +\n RE_S +\n [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_RGB_LEGACY = new RegExp(\n '^rgb\\\\(' +\n RE_S +\n [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT].join(COMMA) +\n RE_S +\n '\\\\)$'\n);\nconst RE_RGBA_LEGACY = new RegExp(\n '^rgba\\\\(' +\n RE_S +\n [INT_OR_PCT, INT_OR_PCT, INT_OR_PCT, FLOAT_OR_PCT].join(COMMA) +\n RE_S +\n '\\\\)$'\n);\n\nconst RE_HSL = new RegExp(\n '^hsla?\\\\(' + RE_S + [ANLGE, PCT, PCT].join(SEP) + ALPHA + '\\\\)$'\n);\nconst RE_HSL_LEGACY = new RegExp(\n '^hsl?\\\\(' + RE_S + [ANLGE, PCT, PCT].join(COMMA) + RE_S + '\\\\)$'\n);\nconst RE_HSLA_LEGACY =\n /^hsla\\(\\s*(-?\\d+(?:\\.\\d+)?),\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*(-?\\d+(?:\\.\\d+)?)%\\s*,\\s*([01]|[01]?\\.\\d+)\\)$/;\n\nconst RE_LAB = new RegExp(\n '^lab\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, FLOAT_OR_PCT].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_LCH = new RegExp(\n '^lch\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, ANLGE].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_OKLAB = new RegExp(\n '^oklab\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, FLOAT_OR_PCT].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\nconst RE_OKLCH = new RegExp(\n '^oklch\\\\(' +\n RE_S +\n [FLOAT_OR_PCT, FLOAT_OR_PCT, ANLGE].join(SEP) +\n ALPHA +\n '\\\\)$'\n);\n\nconst { round } = Math;\n\nconst roundRGB = (rgb) => {\n return rgb.map((v, i) => (i <= 2 ? limit(round(v), 0, 255) : v));\n};\n\nconst percentToAbsolute = (pct, min = 0, max = 100, signed = false) => {\n if (typeof pct === 'string' && pct.endsWith('%')) {\n pct = parseFloat(pct.substring(0, pct.length - 1)) / 100;\n if (signed) {\n // signed percentages are in the range -100% to 100%\n pct = min + (pct + 1) * 0.5 * (max - min);\n } else {\n pct = min + pct * (max - min);\n }\n }\n return +pct;\n};\n\nconst noneToValue = (v, noneValue) => {\n return v === 'none' ? noneValue : v;\n};\n\nconst css2rgb = (css) => {\n css = css.toLowerCase().trim();\n\n if (css === 'transparent') {\n return [0, 0, 0, 0];\n }\n\n let m;\n\n if (input.format.named) {\n try {\n return input.format.named(css);\n // eslint-disable-next-line\n } catch (e) {}\n }\n\n // rgb(250 20 0) or rgb(250,20,0)\n if ((m = css.match(RE_RGB)) || (m = css.match(RE_RGB_LEGACY))) {\n let rgb = m.slice(1, 4);\n for (let i = 0; i < 3; i++) {\n rgb[i] = +percentToAbsolute(noneToValue(rgb[i], 0), 0, 255);\n }\n rgb = roundRGB(rgb);\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha; // default alpha\n return rgb;\n }\n\n // rgba(250,20,0,0.4)\n if ((m = css.match(RE_RGBA_LEGACY))) {\n const rgb = m.slice(1, 5);\n for (let i = 0; i < 4; i++) {\n rgb[i] = +percentToAbsolute(rgb[i], 0, 255);\n }\n return rgb;\n }\n\n // hsl(0,100%,50%)\n if ((m = css.match(RE_HSL)) || (m = css.match(RE_HSL_LEGACY))) {\n const hsl = m.slice(1, 4);\n hsl[0] = +noneToValue(hsl[0].replace('deg', ''), 0);\n hsl[1] = +percentToAbsolute(noneToValue(hsl[1], 0), 0, 100) * 0.01;\n hsl[2] = +percentToAbsolute(noneToValue(hsl[2], 0), 0, 100) * 0.01;\n const rgb = roundRGB(hsl2rgb(hsl));\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n // hsla(0,100%,50%,0.5)\n if ((m = css.match(RE_HSLA_LEGACY))) {\n const hsl = m.slice(1, 4);\n hsl[1] *= 0.01;\n hsl[2] *= 0.01;\n const rgb = hsl2rgb(hsl);\n for (let i = 0; i < 3; i++) {\n rgb[i] = round(rgb[i]);\n }\n rgb[3] = +m[4]; // default alpha = 1\n return rgb;\n }\n\n if ((m = css.match(RE_LAB))) {\n const lab = m.slice(1, 4);\n lab[0] = percentToAbsolute(noneToValue(lab[0], 0), 0, 100);\n lab[1] = percentToAbsolute(noneToValue(lab[1], 0), -125, 125, true);\n lab[2] = percentToAbsolute(noneToValue(lab[2], 0), -125, 125, true);\n // convert to D50 Lab whitepoint\n const wp = getLabWhitePoint();\n setLabWhitePoint('d50');\n const rgb = roundRGB(lab2rgb(lab));\n // convert back to original Lab whitepoint\n setLabWhitePoint(wp);\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n if ((m = css.match(RE_LCH))) {\n const lch = m.slice(1, 4);\n lch[0] = percentToAbsolute(lch[0], 0, 100);\n lch[1] = percentToAbsolute(noneToValue(lch[1], 0), 0, 150, false);\n lch[2] = +noneToValue(lch[2].replace('deg', ''), 0);\n // convert to D50 Lab whitepoint\n const wp = getLabWhitePoint();\n setLabWhitePoint('d50');\n const rgb = roundRGB(lch2rgb(lch));\n // convert back to original Lab whitepoint\n setLabWhitePoint(wp);\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n if ((m = css.match(RE_OKLAB))) {\n const oklab = m.slice(1, 4);\n oklab[0] = percentToAbsolute(noneToValue(oklab[0], 0), 0, 1);\n oklab[1] = percentToAbsolute(noneToValue(oklab[1], 0), -0.4, 0.4, true);\n oklab[2] = percentToAbsolute(noneToValue(oklab[2], 0), -0.4, 0.4, true);\n const rgb = roundRGB(oklab2rgb(oklab));\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n\n if ((m = css.match(RE_OKLCH))) {\n const oklch = m.slice(1, 4);\n oklch[0] = percentToAbsolute(noneToValue(oklch[0], 0), 0, 1);\n oklch[1] = percentToAbsolute(noneToValue(oklch[1], 0), 0, 0.4, false);\n oklch[2] = +noneToValue(oklch[2].replace('deg', ''), 0);\n const rgb = roundRGB(oklch2rgb(oklch));\n const alpha = m[4] !== undefined ? +percentToAbsolute(m[4], 0, 1) : 1;\n rgb[3] = alpha;\n return rgb;\n }\n};\n\ncss2rgb.test = (s) => {\n return (\n // modern\n RE_RGB.test(s) ||\n RE_HSL.test(s) ||\n RE_LAB.test(s) ||\n RE_LCH.test(s) ||\n RE_OKLAB.test(s) ||\n RE_OKLCH.test(s) ||\n // legacy\n RE_RGB_LEGACY.test(s) ||\n RE_RGBA_LEGACY.test(s) ||\n RE_HSL_LEGACY.test(s) ||\n RE_HSLA_LEGACY.test(s) ||\n s === 'transparent'\n );\n};\n\nexport default css2rgb;\n"],"names":["getLabWhitePoint","setLabWhitePoint","lab2rgb"],"mappings":"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","x_google_ignoreList":[0]}