UNPKG

@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
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 };