UNPKG

@jbrowse/core

Version:

JBrowse 2 core libraries used by plugins

41 lines (40 loc) 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.namedColorToHex = exports.isNamedColor = void 0; exports.contrastingTextColor = contrastingTextColor; exports.emphasize = emphasize; exports.makeContrasting = makeContrasting; const styles_1 = require("@mui/material/styles"); const cssColorsLevel4_1 = require("./cssColorsLevel4"); function contrastingTextColor(color) { const luminance = getLuminance(color); return luminance > 0.5 ? 'black' : 'white'; } function getLuminance(color) { const convertedColor = (0, cssColorsLevel4_1.namedColorToHex)(color); return (0, styles_1.getLuminance)(convertedColor || color); } function emphasize(color, coefficient = 0.15) { const convertedColor = (0, cssColorsLevel4_1.namedColorToHex)(color); return (0, styles_1.emphasize)(convertedColor || color, coefficient); } function makeContrasting(foreground, background = 'white', minContrastRatio = 3) { let convertedForeground = (0, cssColorsLevel4_1.namedColorToHex)(foreground) || foreground; const convertedBackground = (0, cssColorsLevel4_1.namedColorToHex)(background) || background; const backgroundLuminance = getLuminance(convertedBackground); let contrastRatio = (0, styles_1.getContrastRatio)(convertedForeground, convertedBackground); const originalColor = convertedForeground; let coefficient = 0.05; while (contrastRatio < minContrastRatio) { convertedForeground = backgroundLuminance > 0.5 ? (0, styles_1.darken)(originalColor, coefficient) : (0, styles_1.lighten)(originalColor, coefficient); coefficient += 0.05; contrastRatio = (0, styles_1.getContrastRatio)(convertedForeground, convertedBackground); } return convertedForeground; } var cssColorsLevel4_2 = require("./cssColorsLevel4"); Object.defineProperty(exports, "isNamedColor", { enumerable: true, get: function () { return cssColorsLevel4_2.isNamedColor; } }); Object.defineProperty(exports, "namedColorToHex", { enumerable: true, get: function () { return cssColorsLevel4_2.namedColorToHex; } });