UNPKG

@grafana/ui

Version:
1 lines 5.09 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":"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"}