UNPKG

@grafana/ui

Version:
1 lines 4.79 kB
{"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;;;;"}