{"version":3,"file":"colors.mjs","sources":["../../../src/utils/colors.ts"],"sourcesContent":["import { map, sortBy, flattenDeep, chunk, zip } from 'lodash';\nimport tinycolor from 'tinycolor2';\n\nconst PALETTE_ROWS = 4;\n\n/**\n * @alpha\n */\nexport const DEFAULT_ANNOTATION_COLOR = 'rgba(0, 211, 255, 1)';\n\n/**\n * @alpha\n */\nexport const OK_COLOR = 'rgba(11, 237, 50, 1)';\n\n/**\n * @alpha\n */\nexport const ALERTING_COLOR = 'rgba(237, 46, 24, 1)';\n\n/**\n * @alpha\n */\nexport const NO_DATA_COLOR = 'rgba(150, 150, 150, 1)';\n\n/**\n * @alpha\n */\nexport const PENDING_COLOR = 'rgba(247, 149, 32, 1)';\n\n/**\n * @alpha\n */\nexport const REGION_FILL_ALPHA = 0.09;\nexport const colors = [\n  '#7EB26D', // 0: pale green\n  '#EAB839', // 1: mustard\n  '#6ED0E0', // 2: light blue\n  '#EF843C', // 3: orange\n  '#E24D42', // 4: red\n  '#1F78C1', // 5: ocean\n  '#BA43A9', // 6: purple\n  '#705DA0', // 7: violet\n  '#508642', // 8: dark green\n  '#CCA300', // 9: dark sand\n  '#447EBC',\n  '#C15C17',\n  '#890F02',\n  '#0A437C',\n  '#6D1F62',\n  '#584477',\n  '#B7DBAB',\n  '#F4D598',\n  '#70DBED',\n  '#F9BA8F',\n  '#F29191',\n  '#82B5D8',\n  '#E5A8E2',\n  '#AEA2E0',\n  '#629E51',\n  '#E5AC0E',\n  '#64B0C8',\n  '#E0752D',\n  '#BF1B00',\n  '#0A50A1',\n  '#962D82',\n  '#614D93',\n  '#9AC48A',\n  '#F2C96D',\n  '#65C5DB',\n  '#F9934E',\n  '#EA6460',\n  '#5195CE',\n  '#D683CE',\n  '#806EB7',\n  '#3F6833',\n  '#967302',\n  '#2F575E',\n  '#99440A',\n  '#58140C',\n  '#052B51',\n  '#511749',\n  '#3F2B5B',\n  '#E0F9D7',\n  '#FCEACA',\n  '#CFFAFF',\n  '#F9E2D2',\n  '#FCE2DE',\n  '#BADFF4',\n  '#F9D9F9',\n  '#DEDAF7',\n];\n\nfunction sortColorsByHue(hexColors: string[]) {\n  const hslColors = map(hexColors, hexToHsl);\n\n  const sortedHSLColors = sortBy(hslColors, ['h']);\n  const chunkedHSLColors = chunk(sortedHSLColors, PALETTE_ROWS);\n  const sortedChunkedHSLColors = map(chunkedHSLColors, (chunk) => {\n    return sortBy(chunk, 'l');\n  });\n  const flattenedZippedSortedChunkedHSLColors = flattenDeep(zip(...sortedChunkedHSLColors));\n\n  return map(flattenedZippedSortedChunkedHSLColors, hslToHex);\n}\n\nfunction hexToHsl(color: string) {\n  return tinycolor(color).toHsl();\n}\n\nfunction hslToHex(color: tinycolor.ColorFormats.HSLA) {\n  return tinycolor(color).toHexString();\n}\n\nexport function getTextColorForBackground(color: string) {\n  const b = tinycolor(color).getBrightness();\n\n  return b > 180 ? 'rgb(32, 34, 38)' : 'rgb(247, 248, 250)';\n}\n\nexport function getTextColorForAlphaBackground(color: string, themeIsDark: boolean) {\n  const tcolor = tinycolor(color);\n  const b = tcolor.getBrightness();\n  const a = tcolor.getAlpha();\n\n  if (a < 0.3) {\n    return themeIsDark ? 'rgb(247, 248, 250)' : 'rgb(32, 34, 38)';\n  }\n\n  return b > 180 ? 'rgb(32, 34, 38)' : 'rgb(247, 248, 250)';\n}\n\nexport let sortedColors = sortColorsByHue(colors);\n"],"names":["chunk"],"mappings":"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"}