{"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":";;;AAGA,MAAM,YAAe,GAAA,CAAA;AA+Bd,MAAM,MAAS,GAAA;AAAA,EACpB,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF;AAEA,SAAS,gBAAgB,SAAqB,EAAA;AAC5C,EAAM,MAAA,SAAA,GAAY,GAAI,CAAA,SAAA,EAAW,QAAQ,CAAA;AAEzC,EAAA,MAAM,eAAkB,GAAA,MAAA,CAAO,SAAW,EAAA,CAAC,GAAG,CAAC,CAAA;AAC/C,EAAM,MAAA,gBAAA,GAAmB,KAAM,CAAA,eAAA,EAAiB,YAAY,CAAA;AAC5D,EAAA,MAAM,sBAAyB,GAAA,GAAA,CAAI,gBAAkB,EAAA,CAACA,MAAU,KAAA;AAC9D,IAAO,OAAA,MAAA,CAAOA,QAAO,GAAG,CAAA;AAAA,GACzB,CAAA;AACD,EAAA,MAAM,qCAAwC,GAAA,WAAA,CAAY,GAAI,CAAA,GAAG,sBAAsB,CAAC,CAAA;AAExF,EAAO,OAAA,GAAA,CAAI,uCAAuC,QAAQ,CAAA;AAC5D;AAEA,SAAS,SAAS,KAAe,EAAA;AAC/B,EAAO,OAAA,SAAA,CAAU,KAAK,CAAA,CAAE,KAAM,EAAA;AAChC;AAEA,SAAS,SAAS,KAAoC,EAAA;AACpD,EAAO,OAAA,SAAA,CAAU,KAAK,CAAA,CAAE,WAAY,EAAA;AACtC;AAQgB,SAAA,8BAAA,CAA+B,OAAe,WAAsB,EAAA;AAClF,EAAM,MAAA,MAAA,GAAS,UAAU,KAAK,CAAA;AAC9B,EAAM,MAAA,CAAA,GAAI,OAAO,aAAc,EAAA;AAC/B,EAAM,MAAA,CAAA,GAAI,OAAO,QAAS,EAAA;AAE1B,EAAA,IAAI,IAAI,GAAK,EAAA;AACX,IAAA,OAAO,cAAc,oBAAuB,GAAA,iBAAA;AAAA;AAG9C,EAAO,OAAA,CAAA,GAAI,MAAM,iBAAoB,GAAA,oBAAA;AACvC;AAE0B,gBAAgB,MAAM;;;;"}