@awal-solution/tailwind-theming
Version:
<div align="left"> <h1>Tailwind theming</h1> <p>The <b>TailwindCSS Multi-Theming Plugin</b> is a utility for creating and managing multiple themes in your TailwindCSS-based projects. With this library, you can define, add, update, and remove themes dyn
946 lines (945 loc) • 34.3 kB
JavaScript
var Q = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function j(g) {
return g && g.__esModule && Object.prototype.hasOwnProperty.call(g, "default") ? g.default : g;
}
var k = { exports: {} }, x, S;
function U() {
return S || (S = 1, x = {
aliceblue: [240, 248, 255],
antiquewhite: [250, 235, 215],
aqua: [0, 255, 255],
aquamarine: [127, 255, 212],
azure: [240, 255, 255],
beige: [245, 245, 220],
bisque: [255, 228, 196],
black: [0, 0, 0],
blanchedalmond: [255, 235, 205],
blue: [0, 0, 255],
blueviolet: [138, 43, 226],
brown: [165, 42, 42],
burlywood: [222, 184, 135],
cadetblue: [95, 158, 160],
chartreuse: [127, 255, 0],
chocolate: [210, 105, 30],
coral: [255, 127, 80],
cornflowerblue: [100, 149, 237],
cornsilk: [255, 248, 220],
crimson: [220, 20, 60],
cyan: [0, 255, 255],
darkblue: [0, 0, 139],
darkcyan: [0, 139, 139],
darkgoldenrod: [184, 134, 11],
darkgray: [169, 169, 169],
darkgreen: [0, 100, 0],
darkgrey: [169, 169, 169],
darkkhaki: [189, 183, 107],
darkmagenta: [139, 0, 139],
darkolivegreen: [85, 107, 47],
darkorange: [255, 140, 0],
darkorchid: [153, 50, 204],
darkred: [139, 0, 0],
darksalmon: [233, 150, 122],
darkseagreen: [143, 188, 143],
darkslateblue: [72, 61, 139],
darkslategray: [47, 79, 79],
darkslategrey: [47, 79, 79],
darkturquoise: [0, 206, 209],
darkviolet: [148, 0, 211],
deeppink: [255, 20, 147],
deepskyblue: [0, 191, 255],
dimgray: [105, 105, 105],
dimgrey: [105, 105, 105],
dodgerblue: [30, 144, 255],
firebrick: [178, 34, 34],
floralwhite: [255, 250, 240],
forestgreen: [34, 139, 34],
fuchsia: [255, 0, 255],
gainsboro: [220, 220, 220],
ghostwhite: [248, 248, 255],
gold: [255, 215, 0],
goldenrod: [218, 165, 32],
gray: [128, 128, 128],
green: [0, 128, 0],
greenyellow: [173, 255, 47],
grey: [128, 128, 128],
honeydew: [240, 255, 240],
hotpink: [255, 105, 180],
indianred: [205, 92, 92],
indigo: [75, 0, 130],
ivory: [255, 255, 240],
khaki: [240, 230, 140],
lavender: [230, 230, 250],
lavenderblush: [255, 240, 245],
lawngreen: [124, 252, 0],
lemonchiffon: [255, 250, 205],
lightblue: [173, 216, 230],
lightcoral: [240, 128, 128],
lightcyan: [224, 255, 255],
lightgoldenrodyellow: [250, 250, 210],
lightgray: [211, 211, 211],
lightgreen: [144, 238, 144],
lightgrey: [211, 211, 211],
lightpink: [255, 182, 193],
lightsalmon: [255, 160, 122],
lightseagreen: [32, 178, 170],
lightskyblue: [135, 206, 250],
lightslategray: [119, 136, 153],
lightslategrey: [119, 136, 153],
lightsteelblue: [176, 196, 222],
lightyellow: [255, 255, 224],
lime: [0, 255, 0],
limegreen: [50, 205, 50],
linen: [250, 240, 230],
magenta: [255, 0, 255],
maroon: [128, 0, 0],
mediumaquamarine: [102, 205, 170],
mediumblue: [0, 0, 205],
mediumorchid: [186, 85, 211],
mediumpurple: [147, 112, 219],
mediumseagreen: [60, 179, 113],
mediumslateblue: [123, 104, 238],
mediumspringgreen: [0, 250, 154],
mediumturquoise: [72, 209, 204],
mediumvioletred: [199, 21, 133],
midnightblue: [25, 25, 112],
mintcream: [245, 255, 250],
mistyrose: [255, 228, 225],
moccasin: [255, 228, 181],
navajowhite: [255, 222, 173],
navy: [0, 0, 128],
oldlace: [253, 245, 230],
olive: [128, 128, 0],
olivedrab: [107, 142, 35],
orange: [255, 165, 0],
orangered: [255, 69, 0],
orchid: [218, 112, 214],
palegoldenrod: [238, 232, 170],
palegreen: [152, 251, 152],
paleturquoise: [175, 238, 238],
palevioletred: [219, 112, 147],
papayawhip: [255, 239, 213],
peachpuff: [255, 218, 185],
peru: [205, 133, 63],
pink: [255, 192, 203],
plum: [221, 160, 221],
powderblue: [176, 224, 230],
purple: [128, 0, 128],
rebeccapurple: [102, 51, 153],
red: [255, 0, 0],
rosybrown: [188, 143, 143],
royalblue: [65, 105, 225],
saddlebrown: [139, 69, 19],
salmon: [250, 128, 114],
sandybrown: [244, 164, 96],
seagreen: [46, 139, 87],
seashell: [255, 245, 238],
sienna: [160, 82, 45],
silver: [192, 192, 192],
skyblue: [135, 206, 235],
slateblue: [106, 90, 205],
slategray: [112, 128, 144],
slategrey: [112, 128, 144],
snow: [255, 250, 250],
springgreen: [0, 255, 127],
steelblue: [70, 130, 180],
tan: [210, 180, 140],
teal: [0, 128, 128],
thistle: [216, 191, 216],
tomato: [255, 99, 71],
turquoise: [64, 224, 208],
violet: [238, 130, 238],
wheat: [245, 222, 179],
white: [255, 255, 255],
whitesmoke: [245, 245, 245],
yellow: [255, 255, 0],
yellowgreen: [154, 205, 50]
}), x;
}
var M = { exports: {} }, F, R;
function T() {
return R || (R = 1, F = function(b) {
return !b || typeof b == "string" ? !1 : b instanceof Array || Array.isArray(b) || b.length >= 0 && (b.splice instanceof Function || Object.getOwnPropertyDescriptor(b, b.length - 1) && b.constructor.name !== "String");
}), F;
}
var E;
function G() {
if (E) return M.exports;
E = 1;
var g = T(), b = Array.prototype.concat, h = Array.prototype.slice, p = M.exports = function(o) {
for (var e = [], s = 0, t = o.length; s < t; s++) {
var a = o[s];
g(a) ? e = b.call(e, h.call(a)) : e.push(a);
}
return e;
};
return p.wrap = function(r) {
return function() {
return r(p(arguments));
};
}, M.exports;
}
var N;
function J() {
if (N) return k.exports;
N = 1;
var g = U(), b = G(), h = Object.hasOwnProperty, p = /* @__PURE__ */ Object.create(null);
for (var r in g)
h.call(g, r) && (p[g[r]] = r);
var o = k.exports = {
to: {},
get: {}
};
o.get = function(t) {
var a = t.substring(0, 3).toLowerCase(), l, u;
switch (a) {
case "hsl":
l = o.get.hsl(t), u = "hsl";
break;
case "hwb":
l = o.get.hwb(t), u = "hwb";
break;
default:
l = o.get.rgb(t), u = "rgb";
break;
}
return l ? { model: u, value: l } : null;
}, o.get.rgb = function(t) {
if (!t)
return null;
var a = /^#([a-f0-9]{3,4})$/i, l = /^#([a-f0-9]{6})([a-f0-9]{2})?$/i, u = /^rgba?\(\s*([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)(?=[\s,])\s*(?:,\s*)?([+-]?\d+)\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/, n = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*,?\s*([+-]?[\d\.]+)\%\s*(?:[,|\/]\s*([+-]?[\d\.]+)(%?)\s*)?\)$/, i = /^(\w+)$/, c = [0, 0, 0, 1], f, d, v;
if (f = t.match(l)) {
for (v = f[2], f = f[1], d = 0; d < 3; d++) {
var m = d * 2;
c[d] = parseInt(f.slice(m, m + 2), 16);
}
v && (c[3] = parseInt(v, 16) / 255);
} else if (f = t.match(a)) {
for (f = f[1], v = f[3], d = 0; d < 3; d++)
c[d] = parseInt(f[d] + f[d], 16);
v && (c[3] = parseInt(v + v, 16) / 255);
} else if (f = t.match(u)) {
for (d = 0; d < 3; d++)
c[d] = parseInt(f[d + 1], 0);
f[4] && (f[5] ? c[3] = parseFloat(f[4]) * 0.01 : c[3] = parseFloat(f[4]));
} else if (f = t.match(n)) {
for (d = 0; d < 3; d++)
c[d] = Math.round(parseFloat(f[d + 1]) * 2.55);
f[4] && (f[5] ? c[3] = parseFloat(f[4]) * 0.01 : c[3] = parseFloat(f[4]));
} else return (f = t.match(i)) ? f[1] === "transparent" ? [0, 0, 0, 0] : h.call(g, f[1]) ? (c = g[f[1]], c[3] = 1, c) : null : null;
for (d = 0; d < 3; d++)
c[d] = e(c[d], 0, 255);
return c[3] = e(c[3], 0, 1), c;
}, o.get.hsl = function(t) {
if (!t)
return null;
var a = /^hsla?\(\s*([+-]?(?:\d{0,3}\.)?\d+)(?:deg)?\s*,?\s*([+-]?[\d\.]+)%\s*,?\s*([+-]?[\d\.]+)%\s*(?:[,|\/]\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/, l = t.match(a);
if (l) {
var u = parseFloat(l[4]), n = (parseFloat(l[1]) % 360 + 360) % 360, i = e(parseFloat(l[2]), 0, 100), c = e(parseFloat(l[3]), 0, 100), f = e(isNaN(u) ? 1 : u, 0, 1);
return [n, i, c, f];
}
return null;
}, o.get.hwb = function(t) {
if (!t)
return null;
var a = /^hwb\(\s*([+-]?\d{0,3}(?:\.\d+)?)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?(?=\.\d|\d)(?:0|[1-9]\d*)?(?:\.\d*)?(?:[eE][+-]?\d+)?)\s*)?\)$/, l = t.match(a);
if (l) {
var u = parseFloat(l[4]), n = (parseFloat(l[1]) % 360 + 360) % 360, i = e(parseFloat(l[2]), 0, 100), c = e(parseFloat(l[3]), 0, 100), f = e(isNaN(u) ? 1 : u, 0, 1);
return [n, i, c, f];
}
return null;
}, o.to.hex = function() {
var t = b(arguments);
return "#" + s(t[0]) + s(t[1]) + s(t[2]) + (t[3] < 1 ? s(Math.round(t[3] * 255)) : "");
}, o.to.rgb = function() {
var t = b(arguments);
return t.length < 4 || t[3] === 1 ? "rgb(" + Math.round(t[0]) + ", " + Math.round(t[1]) + ", " + Math.round(t[2]) + ")" : "rgba(" + Math.round(t[0]) + ", " + Math.round(t[1]) + ", " + Math.round(t[2]) + ", " + t[3] + ")";
}, o.to.rgb.percent = function() {
var t = b(arguments), a = Math.round(t[0] / 255 * 100), l = Math.round(t[1] / 255 * 100), u = Math.round(t[2] / 255 * 100);
return t.length < 4 || t[3] === 1 ? "rgb(" + a + "%, " + l + "%, " + u + "%)" : "rgba(" + a + "%, " + l + "%, " + u + "%, " + t[3] + ")";
}, o.to.hsl = function() {
var t = b(arguments);
return t.length < 4 || t[3] === 1 ? "hsl(" + t[0] + ", " + t[1] + "%, " + t[2] + "%)" : "hsla(" + t[0] + ", " + t[1] + "%, " + t[2] + "%, " + t[3] + ")";
}, o.to.hwb = function() {
var t = b(arguments), a = "";
return t.length >= 4 && t[3] !== 1 && (a = ", " + t[3]), "hwb(" + t[0] + ", " + t[1] + "%, " + t[2] + "%" + a + ")";
}, o.to.keyword = function(t) {
return p[t.slice(0, 3)];
};
function e(t, a, l) {
return Math.min(Math.max(a, t), l);
}
function s(t) {
var a = Math.round(t).toString(16).toUpperCase();
return a.length < 2 ? "0" + a : a;
}
return k.exports;
}
var q, I;
function K() {
if (I) return q;
I = 1;
const g = U(), b = {};
for (const r of Object.keys(g))
b[g[r]] = r;
const h = {
rgb: { channels: 3, labels: "rgb" },
hsl: { channels: 3, labels: "hsl" },
hsv: { channels: 3, labels: "hsv" },
hwb: { channels: 3, labels: "hwb" },
cmyk: { channels: 4, labels: "cmyk" },
xyz: { channels: 3, labels: "xyz" },
lab: { channels: 3, labels: "lab" },
lch: { channels: 3, labels: "lch" },
hex: { channels: 1, labels: ["hex"] },
keyword: { channels: 1, labels: ["keyword"] },
ansi16: { channels: 1, labels: ["ansi16"] },
ansi256: { channels: 1, labels: ["ansi256"] },
hcg: { channels: 3, labels: ["h", "c", "g"] },
apple: { channels: 3, labels: ["r16", "g16", "b16"] },
gray: { channels: 1, labels: ["gray"] }
};
q = h;
for (const r of Object.keys(h)) {
if (!("channels" in h[r]))
throw new Error("missing channels property: " + r);
if (!("labels" in h[r]))
throw new Error("missing channel labels property: " + r);
if (h[r].labels.length !== h[r].channels)
throw new Error("channel and label counts mismatch: " + r);
const { channels: o, labels: e } = h[r];
delete h[r].channels, delete h[r].labels, Object.defineProperty(h[r], "channels", { value: o }), Object.defineProperty(h[r], "labels", { value: e });
}
h.rgb.hsl = function(r) {
const o = r[0] / 255, e = r[1] / 255, s = r[2] / 255, t = Math.min(o, e, s), a = Math.max(o, e, s), l = a - t;
let u, n;
a === t ? u = 0 : o === a ? u = (e - s) / l : e === a ? u = 2 + (s - o) / l : s === a && (u = 4 + (o - e) / l), u = Math.min(u * 60, 360), u < 0 && (u += 360);
const i = (t + a) / 2;
return a === t ? n = 0 : i <= 0.5 ? n = l / (a + t) : n = l / (2 - a - t), [u, n * 100, i * 100];
}, h.rgb.hsv = function(r) {
let o, e, s, t, a;
const l = r[0] / 255, u = r[1] / 255, n = r[2] / 255, i = Math.max(l, u, n), c = i - Math.min(l, u, n), f = function(d) {
return (i - d) / 6 / c + 1 / 2;
};
return c === 0 ? (t = 0, a = 0) : (a = c / i, o = f(l), e = f(u), s = f(n), l === i ? t = s - e : u === i ? t = 1 / 3 + o - s : n === i && (t = 2 / 3 + e - o), t < 0 ? t += 1 : t > 1 && (t -= 1)), [
t * 360,
a * 100,
i * 100
];
}, h.rgb.hwb = function(r) {
const o = r[0], e = r[1];
let s = r[2];
const t = h.rgb.hsl(r)[0], a = 1 / 255 * Math.min(o, Math.min(e, s));
return s = 1 - 1 / 255 * Math.max(o, Math.max(e, s)), [t, a * 100, s * 100];
}, h.rgb.cmyk = function(r) {
const o = r[0] / 255, e = r[1] / 255, s = r[2] / 255, t = Math.min(1 - o, 1 - e, 1 - s), a = (1 - o - t) / (1 - t) || 0, l = (1 - e - t) / (1 - t) || 0, u = (1 - s - t) / (1 - t) || 0;
return [a * 100, l * 100, u * 100, t * 100];
};
function p(r, o) {
return (r[0] - o[0]) ** 2 + (r[1] - o[1]) ** 2 + (r[2] - o[2]) ** 2;
}
return h.rgb.keyword = function(r) {
const o = b[r];
if (o)
return o;
let e = 1 / 0, s;
for (const t of Object.keys(g)) {
const a = g[t], l = p(r, a);
l < e && (e = l, s = t);
}
return s;
}, h.keyword.rgb = function(r) {
return g[r];
}, h.rgb.xyz = function(r) {
let o = r[0] / 255, e = r[1] / 255, s = r[2] / 255;
o = o > 0.04045 ? ((o + 0.055) / 1.055) ** 2.4 : o / 12.92, e = e > 0.04045 ? ((e + 0.055) / 1.055) ** 2.4 : e / 12.92, s = s > 0.04045 ? ((s + 0.055) / 1.055) ** 2.4 : s / 12.92;
const t = o * 0.4124 + e * 0.3576 + s * 0.1805, a = o * 0.2126 + e * 0.7152 + s * 0.0722, l = o * 0.0193 + e * 0.1192 + s * 0.9505;
return [t * 100, a * 100, l * 100];
}, h.rgb.lab = function(r) {
const o = h.rgb.xyz(r);
let e = o[0], s = o[1], t = o[2];
e /= 95.047, s /= 100, t /= 108.883, e = e > 8856e-6 ? e ** (1 / 3) : 7.787 * e + 16 / 116, s = s > 8856e-6 ? s ** (1 / 3) : 7.787 * s + 16 / 116, t = t > 8856e-6 ? t ** (1 / 3) : 7.787 * t + 16 / 116;
const a = 116 * s - 16, l = 500 * (e - s), u = 200 * (s - t);
return [a, l, u];
}, h.hsl.rgb = function(r) {
const o = r[0] / 360, e = r[1] / 100, s = r[2] / 100;
let t, a, l;
if (e === 0)
return l = s * 255, [l, l, l];
s < 0.5 ? t = s * (1 + e) : t = s + e - s * e;
const u = 2 * s - t, n = [0, 0, 0];
for (let i = 0; i < 3; i++)
a = o + 1 / 3 * -(i - 1), a < 0 && a++, a > 1 && a--, 6 * a < 1 ? l = u + (t - u) * 6 * a : 2 * a < 1 ? l = t : 3 * a < 2 ? l = u + (t - u) * (2 / 3 - a) * 6 : l = u, n[i] = l * 255;
return n;
}, h.hsl.hsv = function(r) {
const o = r[0];
let e = r[1] / 100, s = r[2] / 100, t = e;
const a = Math.max(s, 0.01);
s *= 2, e *= s <= 1 ? s : 2 - s, t *= a <= 1 ? a : 2 - a;
const l = (s + e) / 2, u = s === 0 ? 2 * t / (a + t) : 2 * e / (s + e);
return [o, u * 100, l * 100];
}, h.hsv.rgb = function(r) {
const o = r[0] / 60, e = r[1] / 100;
let s = r[2] / 100;
const t = Math.floor(o) % 6, a = o - Math.floor(o), l = 255 * s * (1 - e), u = 255 * s * (1 - e * a), n = 255 * s * (1 - e * (1 - a));
switch (s *= 255, t) {
case 0:
return [s, n, l];
case 1:
return [u, s, l];
case 2:
return [l, s, n];
case 3:
return [l, u, s];
case 4:
return [n, l, s];
case 5:
return [s, l, u];
}
}, h.hsv.hsl = function(r) {
const o = r[0], e = r[1] / 100, s = r[2] / 100, t = Math.max(s, 0.01);
let a, l;
l = (2 - e) * s;
const u = (2 - e) * t;
return a = e * t, a /= u <= 1 ? u : 2 - u, a = a || 0, l /= 2, [o, a * 100, l * 100];
}, h.hwb.rgb = function(r) {
const o = r[0] / 360;
let e = r[1] / 100, s = r[2] / 100;
const t = e + s;
let a;
t > 1 && (e /= t, s /= t);
const l = Math.floor(6 * o), u = 1 - s;
a = 6 * o - l, l & 1 && (a = 1 - a);
const n = e + a * (u - e);
let i, c, f;
switch (l) {
default:
case 6:
case 0:
i = u, c = n, f = e;
break;
case 1:
i = n, c = u, f = e;
break;
case 2:
i = e, c = u, f = n;
break;
case 3:
i = e, c = n, f = u;
break;
case 4:
i = n, c = e, f = u;
break;
case 5:
i = u, c = e, f = n;
break;
}
return [i * 255, c * 255, f * 255];
}, h.cmyk.rgb = function(r) {
const o = r[0] / 100, e = r[1] / 100, s = r[2] / 100, t = r[3] / 100, a = 1 - Math.min(1, o * (1 - t) + t), l = 1 - Math.min(1, e * (1 - t) + t), u = 1 - Math.min(1, s * (1 - t) + t);
return [a * 255, l * 255, u * 255];
}, h.xyz.rgb = function(r) {
const o = r[0] / 100, e = r[1] / 100, s = r[2] / 100;
let t, a, l;
return t = o * 3.2406 + e * -1.5372 + s * -0.4986, a = o * -0.9689 + e * 1.8758 + s * 0.0415, l = o * 0.0557 + e * -0.204 + s * 1.057, t = t > 31308e-7 ? 1.055 * t ** (1 / 2.4) - 0.055 : t * 12.92, a = a > 31308e-7 ? 1.055 * a ** (1 / 2.4) - 0.055 : a * 12.92, l = l > 31308e-7 ? 1.055 * l ** (1 / 2.4) - 0.055 : l * 12.92, t = Math.min(Math.max(0, t), 1), a = Math.min(Math.max(0, a), 1), l = Math.min(Math.max(0, l), 1), [t * 255, a * 255, l * 255];
}, h.xyz.lab = function(r) {
let o = r[0], e = r[1], s = r[2];
o /= 95.047, e /= 100, s /= 108.883, o = o > 8856e-6 ? o ** (1 / 3) : 7.787 * o + 16 / 116, e = e > 8856e-6 ? e ** (1 / 3) : 7.787 * e + 16 / 116, s = s > 8856e-6 ? s ** (1 / 3) : 7.787 * s + 16 / 116;
const t = 116 * e - 16, a = 500 * (o - e), l = 200 * (e - s);
return [t, a, l];
}, h.lab.xyz = function(r) {
const o = r[0], e = r[1], s = r[2];
let t, a, l;
a = (o + 16) / 116, t = e / 500 + a, l = a - s / 200;
const u = a ** 3, n = t ** 3, i = l ** 3;
return a = u > 8856e-6 ? u : (a - 16 / 116) / 7.787, t = n > 8856e-6 ? n : (t - 16 / 116) / 7.787, l = i > 8856e-6 ? i : (l - 16 / 116) / 7.787, t *= 95.047, a *= 100, l *= 108.883, [t, a, l];
}, h.lab.lch = function(r) {
const o = r[0], e = r[1], s = r[2];
let t;
t = Math.atan2(s, e) * 360 / 2 / Math.PI, t < 0 && (t += 360);
const l = Math.sqrt(e * e + s * s);
return [o, l, t];
}, h.lch.lab = function(r) {
const o = r[0], e = r[1], t = r[2] / 360 * 2 * Math.PI, a = e * Math.cos(t), l = e * Math.sin(t);
return [o, a, l];
}, h.rgb.ansi16 = function(r, o = null) {
const [e, s, t] = r;
let a = o === null ? h.rgb.hsv(r)[2] : o;
if (a = Math.round(a / 50), a === 0)
return 30;
let l = 30 + (Math.round(t / 255) << 2 | Math.round(s / 255) << 1 | Math.round(e / 255));
return a === 2 && (l += 60), l;
}, h.hsv.ansi16 = function(r) {
return h.rgb.ansi16(h.hsv.rgb(r), r[2]);
}, h.rgb.ansi256 = function(r) {
const o = r[0], e = r[1], s = r[2];
return o === e && e === s ? o < 8 ? 16 : o > 248 ? 231 : Math.round((o - 8) / 247 * 24) + 232 : 16 + 36 * Math.round(o / 255 * 5) + 6 * Math.round(e / 255 * 5) + Math.round(s / 255 * 5);
}, h.ansi16.rgb = function(r) {
let o = r % 10;
if (o === 0 || o === 7)
return r > 50 && (o += 3.5), o = o / 10.5 * 255, [o, o, o];
const e = (~~(r > 50) + 1) * 0.5, s = (o & 1) * e * 255, t = (o >> 1 & 1) * e * 255, a = (o >> 2 & 1) * e * 255;
return [s, t, a];
}, h.ansi256.rgb = function(r) {
if (r >= 232) {
const a = (r - 232) * 10 + 8;
return [a, a, a];
}
r -= 16;
let o;
const e = Math.floor(r / 36) / 5 * 255, s = Math.floor((o = r % 36) / 6) / 5 * 255, t = o % 6 / 5 * 255;
return [e, s, t];
}, h.rgb.hex = function(r) {
const e = (((Math.round(r[0]) & 255) << 16) + ((Math.round(r[1]) & 255) << 8) + (Math.round(r[2]) & 255)).toString(16).toUpperCase();
return "000000".substring(e.length) + e;
}, h.hex.rgb = function(r) {
const o = r.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
if (!o)
return [0, 0, 0];
let e = o[0];
o[0].length === 3 && (e = e.split("").map((u) => u + u).join(""));
const s = parseInt(e, 16), t = s >> 16 & 255, a = s >> 8 & 255, l = s & 255;
return [t, a, l];
}, h.rgb.hcg = function(r) {
const o = r[0] / 255, e = r[1] / 255, s = r[2] / 255, t = Math.max(Math.max(o, e), s), a = Math.min(Math.min(o, e), s), l = t - a;
let u, n;
return l < 1 ? u = a / (1 - l) : u = 0, l <= 0 ? n = 0 : t === o ? n = (e - s) / l % 6 : t === e ? n = 2 + (s - o) / l : n = 4 + (o - e) / l, n /= 6, n %= 1, [n * 360, l * 100, u * 100];
}, h.hsl.hcg = function(r) {
const o = r[1] / 100, e = r[2] / 100, s = e < 0.5 ? 2 * o * e : 2 * o * (1 - e);
let t = 0;
return s < 1 && (t = (e - 0.5 * s) / (1 - s)), [r[0], s * 100, t * 100];
}, h.hsv.hcg = function(r) {
const o = r[1] / 100, e = r[2] / 100, s = o * e;
let t = 0;
return s < 1 && (t = (e - s) / (1 - s)), [r[0], s * 100, t * 100];
}, h.hcg.rgb = function(r) {
const o = r[0] / 360, e = r[1] / 100, s = r[2] / 100;
if (e === 0)
return [s * 255, s * 255, s * 255];
const t = [0, 0, 0], a = o % 1 * 6, l = a % 1, u = 1 - l;
let n = 0;
switch (Math.floor(a)) {
case 0:
t[0] = 1, t[1] = l, t[2] = 0;
break;
case 1:
t[0] = u, t[1] = 1, t[2] = 0;
break;
case 2:
t[0] = 0, t[1] = 1, t[2] = l;
break;
case 3:
t[0] = 0, t[1] = u, t[2] = 1;
break;
case 4:
t[0] = l, t[1] = 0, t[2] = 1;
break;
default:
t[0] = 1, t[1] = 0, t[2] = u;
}
return n = (1 - e) * s, [
(e * t[0] + n) * 255,
(e * t[1] + n) * 255,
(e * t[2] + n) * 255
];
}, h.hcg.hsv = function(r) {
const o = r[1] / 100, e = r[2] / 100, s = o + e * (1 - o);
let t = 0;
return s > 0 && (t = o / s), [r[0], t * 100, s * 100];
}, h.hcg.hsl = function(r) {
const o = r[1] / 100, s = r[2] / 100 * (1 - o) + 0.5 * o;
let t = 0;
return s > 0 && s < 0.5 ? t = o / (2 * s) : s >= 0.5 && s < 1 && (t = o / (2 * (1 - s))), [r[0], t * 100, s * 100];
}, h.hcg.hwb = function(r) {
const o = r[1] / 100, e = r[2] / 100, s = o + e * (1 - o);
return [r[0], (s - o) * 100, (1 - s) * 100];
}, h.hwb.hcg = function(r) {
const o = r[1] / 100, s = 1 - r[2] / 100, t = s - o;
let a = 0;
return t < 1 && (a = (s - t) / (1 - t)), [r[0], t * 100, a * 100];
}, h.apple.rgb = function(r) {
return [r[0] / 65535 * 255, r[1] / 65535 * 255, r[2] / 65535 * 255];
}, h.rgb.apple = function(r) {
return [r[0] / 255 * 65535, r[1] / 255 * 65535, r[2] / 255 * 65535];
}, h.gray.rgb = function(r) {
return [r[0] / 100 * 255, r[0] / 100 * 255, r[0] / 100 * 255];
}, h.gray.hsl = function(r) {
return [0, 0, r[0]];
}, h.gray.hsv = h.gray.hsl, h.gray.hwb = function(r) {
return [0, 100, r[0]];
}, h.gray.cmyk = function(r) {
return [0, 0, 0, r[0]];
}, h.gray.lab = function(r) {
return [r[0], 0, 0];
}, h.gray.hex = function(r) {
const o = Math.round(r[0] / 100 * 255) & 255, s = ((o << 16) + (o << 8) + o).toString(16).toUpperCase();
return "000000".substring(s.length) + s;
}, h.rgb.gray = function(r) {
return [(r[0] + r[1] + r[2]) / 3 / 255 * 100];
}, q;
}
var z, P;
function L() {
if (P) return z;
P = 1;
const g = K();
function b() {
const o = {}, e = Object.keys(g);
for (let s = e.length, t = 0; t < s; t++)
o[e[t]] = {
// http://jsperf.com/1-vs-infinity
// micro-opt, but this is simple.
distance: -1,
parent: null
};
return o;
}
function h(o) {
const e = b(), s = [o];
for (e[o].distance = 0; s.length; ) {
const t = s.pop(), a = Object.keys(g[t]);
for (let l = a.length, u = 0; u < l; u++) {
const n = a[u], i = e[n];
i.distance === -1 && (i.distance = e[t].distance + 1, i.parent = t, s.unshift(n));
}
}
return e;
}
function p(o, e) {
return function(s) {
return e(o(s));
};
}
function r(o, e) {
const s = [e[o].parent, o];
let t = g[e[o].parent][o], a = e[o].parent;
for (; e[a].parent; )
s.unshift(e[a].parent), t = p(g[e[a].parent][a], t), a = e[a].parent;
return t.conversion = s, t;
}
return z = function(o) {
const e = h(o), s = {}, t = Object.keys(e);
for (let a = t.length, l = 0; l < a; l++) {
const u = t[l];
e[u].parent !== null && (s[u] = r(u, e));
}
return s;
}, z;
}
var O, $;
function _() {
if ($) return O;
$ = 1;
const g = K(), b = L(), h = {}, p = Object.keys(g);
function r(e) {
const s = function(...t) {
const a = t[0];
return a == null ? a : (a.length > 1 && (t = a), e(t));
};
return "conversion" in e && (s.conversion = e.conversion), s;
}
function o(e) {
const s = function(...t) {
const a = t[0];
if (a == null)
return a;
a.length > 1 && (t = a);
const l = e(t);
if (typeof l == "object")
for (let u = l.length, n = 0; n < u; n++)
l[n] = Math.round(l[n]);
return l;
};
return "conversion" in e && (s.conversion = e.conversion), s;
}
return p.forEach((e) => {
h[e] = {}, Object.defineProperty(h[e], "channels", { value: g[e].channels }), Object.defineProperty(h[e], "labels", { value: g[e].labels });
const s = b(e);
Object.keys(s).forEach((a) => {
const l = s[a];
h[e][a] = o(l), h[e][a].raw = r(l);
});
}), O = h, O;
}
var A, D;
function B() {
if (D) return A;
D = 1;
const g = J(), b = _(), h = [
// To be honest, I don't really feel like keyword belongs in color convert, but eh.
"keyword",
// Gray conflicts with some method names, and has its own method defined.
"gray",
// Shouldn't really be in color-convert either...
"hex"
], p = {};
for (const n of Object.keys(b))
p[[...b[n].labels].sort().join("")] = n;
const r = {};
function o(n, i) {
if (!(this instanceof o))
return new o(n, i);
if (i && i in h && (i = null), i && !(i in b))
throw new Error("Unknown model: " + i);
let c, f;
if (n == null)
this.model = "rgb", this.color = [0, 0, 0], this.valpha = 1;
else if (n instanceof o)
this.model = n.model, this.color = [...n.color], this.valpha = n.valpha;
else if (typeof n == "string") {
const d = g.get(n);
if (d === null)
throw new Error("Unable to parse color from string: " + n);
this.model = d.model, f = b[this.model].channels, this.color = d.value.slice(0, f), this.valpha = typeof d.value[f] == "number" ? d.value[f] : 1;
} else if (n.length > 0) {
this.model = i || "rgb", f = b[this.model].channels;
const d = Array.prototype.slice.call(n, 0, f);
this.color = u(d, f), this.valpha = typeof n[f] == "number" ? n[f] : 1;
} else if (typeof n == "number")
this.model = "rgb", this.color = [
n >> 16 & 255,
n >> 8 & 255,
n & 255
], this.valpha = 1;
else {
this.valpha = 1;
const d = Object.keys(n);
"alpha" in n && (d.splice(d.indexOf("alpha"), 1), this.valpha = typeof n.alpha == "number" ? n.alpha : 0);
const v = d.sort().join("");
if (!(v in p))
throw new Error("Unable to parse color from object: " + JSON.stringify(n));
this.model = p[v];
const { labels: m } = b[this.model], y = [];
for (c = 0; c < m.length; c++)
y.push(n[m[c]]);
this.color = u(y);
}
if (r[this.model])
for (f = b[this.model].channels, c = 0; c < f; c++) {
const d = r[this.model][c];
d && (this.color[c] = d(this.color[c]));
}
this.valpha = Math.max(0, Math.min(1, this.valpha)), Object.freeze && Object.freeze(this);
}
o.prototype = {
toString() {
return this.string();
},
toJSON() {
return this[this.model]();
},
string(n) {
let i = this.model in g.to ? this : this.rgb();
i = i.round(typeof n == "number" ? n : 1);
const c = i.valpha === 1 ? i.color : [...i.color, this.valpha];
return g.to[i.model](c);
},
percentString(n) {
const i = this.rgb().round(typeof n == "number" ? n : 1), c = i.valpha === 1 ? i.color : [...i.color, this.valpha];
return g.to.rgb.percent(c);
},
array() {
return this.valpha === 1 ? [...this.color] : [...this.color, this.valpha];
},
object() {
const n = {}, { channels: i } = b[this.model], { labels: c } = b[this.model];
for (let f = 0; f < i; f++)
n[c[f]] = this.color[f];
return this.valpha !== 1 && (n.alpha = this.valpha), n;
},
unitArray() {
const n = this.rgb().color;
return n[0] /= 255, n[1] /= 255, n[2] /= 255, this.valpha !== 1 && n.push(this.valpha), n;
},
unitObject() {
const n = this.rgb().object();
return n.r /= 255, n.g /= 255, n.b /= 255, this.valpha !== 1 && (n.alpha = this.valpha), n;
},
round(n) {
return n = Math.max(n || 0, 0), new o([...this.color.map(s(n)), this.valpha], this.model);
},
alpha(n) {
return n !== void 0 ? new o([...this.color, Math.max(0, Math.min(1, n))], this.model) : this.valpha;
},
// Rgb
red: t("rgb", 0, a(255)),
green: t("rgb", 1, a(255)),
blue: t("rgb", 2, a(255)),
hue: t(["hsl", "hsv", "hsl", "hwb", "hcg"], 0, (n) => (n % 360 + 360) % 360),
saturationl: t("hsl", 1, a(100)),
lightness: t("hsl", 2, a(100)),
saturationv: t("hsv", 1, a(100)),
value: t("hsv", 2, a(100)),
chroma: t("hcg", 1, a(100)),
gray: t("hcg", 2, a(100)),
white: t("hwb", 1, a(100)),
wblack: t("hwb", 2, a(100)),
cyan: t("cmyk", 0, a(100)),
magenta: t("cmyk", 1, a(100)),
yellow: t("cmyk", 2, a(100)),
black: t("cmyk", 3, a(100)),
x: t("xyz", 0, a(95.047)),
y: t("xyz", 1, a(100)),
z: t("xyz", 2, a(108.833)),
l: t("lab", 0, a(100)),
a: t("lab", 1),
b: t("lab", 2),
keyword(n) {
return n !== void 0 ? new o(n) : b[this.model].keyword(this.color);
},
hex(n) {
return n !== void 0 ? new o(n) : g.to.hex(this.rgb().round().color);
},
hexa(n) {
if (n !== void 0)
return new o(n);
const i = this.rgb().round().color;
let c = Math.round(this.valpha * 255).toString(16).toUpperCase();
return c.length === 1 && (c = "0" + c), g.to.hex(i) + c;
},
rgbNumber() {
const n = this.rgb().color;
return (n[0] & 255) << 16 | (n[1] & 255) << 8 | n[2] & 255;
},
luminosity() {
const n = this.rgb().color, i = [];
for (const [c, f] of n.entries()) {
const d = f / 255;
i[c] = d <= 0.04045 ? d / 12.92 : ((d + 0.055) / 1.055) ** 2.4;
}
return 0.2126 * i[0] + 0.7152 * i[1] + 0.0722 * i[2];
},
contrast(n) {
const i = this.luminosity(), c = n.luminosity();
return i > c ? (i + 0.05) / (c + 0.05) : (c + 0.05) / (i + 0.05);
},
level(n) {
const i = this.contrast(n);
return i >= 7 ? "AAA" : i >= 4.5 ? "AA" : "";
},
isDark() {
const n = this.rgb().color;
return (n[0] * 2126 + n[1] * 7152 + n[2] * 722) / 1e4 < 128;
},
isLight() {
return !this.isDark();
},
negate() {
const n = this.rgb();
for (let i = 0; i < 3; i++)
n.color[i] = 255 - n.color[i];
return n;
},
lighten(n) {
const i = this.hsl();
return i.color[2] += i.color[2] * n, i;
},
darken(n) {
const i = this.hsl();
return i.color[2] -= i.color[2] * n, i;
},
saturate(n) {
const i = this.hsl();
return i.color[1] += i.color[1] * n, i;
},
desaturate(n) {
const i = this.hsl();
return i.color[1] -= i.color[1] * n, i;
},
whiten(n) {
const i = this.hwb();
return i.color[1] += i.color[1] * n, i;
},
blacken(n) {
const i = this.hwb();
return i.color[2] += i.color[2] * n, i;
},
grayscale() {
const n = this.rgb().color, i = n[0] * 0.3 + n[1] * 0.59 + n[2] * 0.11;
return o.rgb(i, i, i);
},
fade(n) {
return this.alpha(this.valpha - this.valpha * n);
},
opaquer(n) {
return this.alpha(this.valpha + this.valpha * n);
},
rotate(n) {
const i = this.hsl();
let c = i.color[0];
return c = (c + n) % 360, c = c < 0 ? 360 + c : c, i.color[0] = c, i;
},
mix(n, i) {
if (!n || !n.rgb)
throw new Error('Argument to "mix" was not a Color instance, but rather an instance of ' + typeof n);
const c = n.rgb(), f = this.rgb(), d = i === void 0 ? 0.5 : i, v = 2 * d - 1, m = c.alpha() - f.alpha(), y = ((v * m === -1 ? v : (v + m) / (1 + v * m)) + 1) / 2, w = 1 - y;
return o.rgb(
y * c.red() + w * f.red(),
y * c.green() + w * f.green(),
y * c.blue() + w * f.blue(),
c.alpha() * d + f.alpha() * (1 - d)
);
}
};
for (const n of Object.keys(b)) {
if (h.includes(n))
continue;
const { channels: i } = b[n];
o.prototype[n] = function(...c) {
return this.model === n ? new o(this) : c.length > 0 ? new o(c, n) : new o([...l(b[this.model][n].raw(this.color)), this.valpha], n);
}, o[n] = function(...c) {
let f = c[0];
return typeof f == "number" && (f = u(c, i)), new o(f, n);
};
}
function e(n, i) {
return Number(n.toFixed(i));
}
function s(n) {
return function(i) {
return e(i, n);
};
}
function t(n, i, c) {
n = Array.isArray(n) ? n : [n];
for (const f of n)
(r[f] || (r[f] = []))[i] = c;
return n = n[0], function(f) {
let d;
return f !== void 0 ? (c && (f = c(f)), d = this[n](), d.color[i] = f, d) : (d = this[n]().color[i], c && (d = c(d)), d);
};
}
function a(n) {
return function(i) {
return Math.max(0, Math.min(n, i));
};
}
function l(n) {
return Array.isArray(n) ? n : [n];
}
function u(n, i) {
for (let c = 0; c < i; c++)
typeof n[c] != "number" && (n[c] = 0);
return n;
}
return A = o, A;
}
var H = /* @__PURE__ */ B();
const C = /* @__PURE__ */ j(H), V = (g) => {
const [b, h, p] = C(g).rgb().array();
return `${b} ${h} ${p}`;
}, W = (g) => C(g).alpha(), X = (g) => {
if (typeof g == "number")
return !1;
try {
return C(g), !0;
} catch {
return !1;
}
};
export {
j as a,
Q as c,
W as g,
X as i,
V as t
};