UNPKG

@react-awesome-query-builder/ui

Version:
37 lines 1.32 kB
import { default as chroma } from "chroma-js"; export var setColorOpacity = function setColorOpacity(color, alpha) { return chroma(color).alpha(alpha).hex(); }; export var generateCssVarsForLevels = function generateCssVarsForLevels(isDark, cssVar, baseColor) { var baseDarkColor = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined; var maxLevel = 20; var maxRatio = isDark ? 0.2 : 0.85; return Object.fromEntries(Array.from({ length: maxLevel + 1 }, function (_v, k) { return k; }).map(function (lev) { var k = "".concat(cssVar, "-").concat(lev); var chr = chroma(isDark ? baseDarkColor !== null && baseDarkColor !== void 0 ? baseDarkColor : baseColor : baseColor); var ratio = (lev + 1) / (maxLevel + 1) * maxRatio; var chr2 = isDark ? chr.tint(ratio) : chr.shade(ratio); var v = chr2.hex(); return [k, v]; })); }; export var isDarkColor = function isDarkColor(color) { if (!color || color === "transparent") return undefined; // const lightness = chroma(color).get("lab.l"); // return lightness < 70; var luminance = chroma(color).luminance(); return luminance < 0.5; }; export var isColor = function isColor(color) { try { chroma(color); return true; } catch (_unused) { return false; } }; export { chroma };