UNPKG

@react-awesome-query-builder/ui

Version:
49 lines (48 loc) 1.86 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "chroma", { enumerable: true, get: function get() { return _chromaJs["default"]; } }); exports.setColorOpacity = exports.isDarkColor = exports.isColor = exports.generateCssVarsForLevels = void 0; var _chromaJs = _interopRequireDefault(require("chroma-js")); var setColorOpacity = exports.setColorOpacity = function setColorOpacity(color, alpha) { return (0, _chromaJs["default"])(color).alpha(alpha).hex(); }; var generateCssVarsForLevels = exports.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 = (0, _chromaJs["default"])(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]; })); }; var isDarkColor = exports.isDarkColor = function isDarkColor(color) { if (!color || color === "transparent") return undefined; // const lightness = chroma(color).get("lab.l"); // return lightness < 70; var luminance = (0, _chromaJs["default"])(color).luminance(); return luminance < 0.5; }; var isColor = exports.isColor = function isColor(color) { try { (0, _chromaJs["default"])(color); return true; } catch (_unused) { return false; } };