@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
57 lines (56 loc) • 1.97 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
require("./kendo.core-kmRaf_Lg.js");
let _progress_kendo_drawing = require("@progress/kendo-drawing");
//#region ../src/kendo.color.js
const __meta__ = {
id: "color",
name: "Color utils",
category: "framework",
advanced: true,
description: "Color utilities used across components",
depends: ["core"]
};
window.kendo = window.kendo || {};
let colorProbe;
function getColorProbe() {
if (typeof document === "undefined") return null;
if (!colorProbe) {
colorProbe = document.createElement("span");
colorProbe.setAttribute("aria-hidden", "true");
colorProbe.style.cssText = "position:absolute;left:-10000px;top:-10000px;visibility:hidden;pointer-events:none;";
(document.body || document.documentElement).appendChild(colorProbe);
}
return colorProbe;
}
function resolveCssColor(value) {
if (typeof value !== "string") return null;
const probe = getColorProbe();
if (!probe) return null;
const previousColor = probe.style.color;
probe.style.color = "";
probe.style.color = value;
if (!probe.style.color) {
probe.style.color = previousColor;
return null;
}
const color = (0, _progress_kendo_drawing.parseColor)((0, _progress_kendo_drawing.resolveElementColor)(probe, "color"), true);
probe.style.color = previousColor;
return color;
}
function parseColor(value, safe) {
const color = (0, _progress_kendo_drawing.parseColor)(value, true);
if (color || !value || value === "none" || value instanceof _progress_kendo_drawing.Color) {
if (color || safe) return color;
return (0, _progress_kendo_drawing.parseColor)(value, safe);
}
const resolvedColor = resolveCssColor(value);
if (resolvedColor || safe) return resolvedColor;
return (0, _progress_kendo_drawing.parseColor)(value, safe);
}
kendo.deepExtend(kendo, {
parseColor,
namedColors: _progress_kendo_drawing.namedColors,
Color: _progress_kendo_drawing.Color
});
//#endregion
exports.__meta__ = __meta__;