alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
118 lines (116 loc) • 5.38 kB
JavaScript
// node_modules/color2k/dist/index.module.js
function t(t2, n2, r2) {
return Math.min(Math.max(t2, r2), n2);
}
var n = class extends Error {
constructor(t2) {
super(`Failed to parse color: "${t2}"`);
}
};
function r(r2) {
if ("string" != typeof r2)
throw new n(r2);
if ("transparent" === r2.trim().toLowerCase())
return [0, 0, 0, 0];
let e2 = r2.trim();
e2 = u.test(r2) ? function(t2) {
const r3 = t2.toLowerCase().trim(), e3 = o[function(t3) {
let n2 = 5381, r4 = t3.length;
for (; r4; )
n2 = 33 * n2 ^ t3.charCodeAt(--r4);
return (n2 >>> 0) % 2341;
}(r3)];
if (!e3)
throw new n(t2);
return `#${e3}`;
}(r2) : r2;
const f2 = s.exec(e2);
if (f2) {
const t2 = Array.from(f2).slice(1);
return [...t2.slice(0, 3).map((t3) => parseInt(_(t3, 2), 16)), parseInt(_(t2[3] || "f", 2), 16) / 255];
}
const p2 = i.exec(e2);
if (p2) {
const t2 = Array.from(p2).slice(1);
return [...t2.slice(0, 3).map((t3) => parseInt(t3, 16)), parseInt(t2[3] || "ff", 16) / 255];
}
const z = a.exec(e2);
if (z) {
const t2 = Array.from(z).slice(1);
return [...t2.slice(0, 3).map((t3) => parseInt(t3, 10)), parseFloat(t2[3] || "1")];
}
const h = c.exec(e2);
if (h) {
const [e3, o2, _2, s2] = Array.from(h).slice(1).map(parseFloat);
if (t(0, 100, o2) !== o2)
throw new n(r2);
if (t(0, 100, _2) !== _2)
throw new n(r2);
return [...l(e3, o2, _2), s2 || 1];
}
throw new n(r2);
}
var e = (t2) => parseInt(t2.replace(/_/g, ""), 36);
var o = "1q29ehhb 1n09sgk7 1kl1ekf_ _yl4zsno 16z9eiv3 1p29lhp8 _bd9zg04 17u0____ _iw9zhe5 _to73___ _r45e31e _7l6g016 _jh8ouiv _zn3qba8 1jy4zshs 11u87k0u 1ro9yvyo 1aj3xael 1gz9zjz0 _3w8l4xo 1bf1ekf_ _ke3v___ _4rrkb__ 13j776yz _646mbhl _nrjr4__ _le6mbhl 1n37ehkb _m75f91n _qj3bzfz 1939yygw 11i5z6x8 _1k5f8xs 1509441m 15t5lwgf _ae2th1n _tg1ugcv 1lp1ugcv 16e14up_ _h55rw7n _ny9yavn _7a11xb_ 1ih442g9 _pv442g9 1mv16xof 14e6y7tu 1oo9zkds 17d1cisi _4v9y70f _y98m8kc 1019pq0v 12o9zda8 _348j4f4 1et50i2o _8epa8__ _ts6senj 1o350i2o 1mi9eiuo 1259yrp0 1ln80gnw _632xcoy 1cn9zldc _f29edu4 1n490c8q _9f9ziet 1b94vk74 _m49zkct 1kz6s73a 1eu9dtog _q58s1rz 1dy9sjiq __u89jo3 _aj5nkwg _ld89jo3 13h9z6wx _qa9z2ii _l119xgq _bs5arju 1hj4nwk9 1qt4nwk9 1ge6wau6 14j9zlcw 11p1edc_ _ms1zcxe _439shk6 _jt9y70f _754zsow 1la40eju _oq5p___ _x279qkz 1fa5r3rv _yd2d9ip _424tcku _8y1di2_ _zi2uabw _yy7rn9h 12yz980_ __39ljp6 1b59zg0x _n39zfzp 1fy9zest _b33k___ _hp9wq92 1il50hz4 _io472ub _lj9z3eo 19z9ykg0 _8t8iu3a 12b9bl4a 1ak5yw0o _896v4ku _tb8k8lv _s59zi6t _c09ze0p 1lg80oqn 1id9z8wb _238nba5 1kq6wgdi _154zssg _tn3zk49 _da9y6tc 1sg7cv4f _r12jvtt 1gq5fmkz 1cs9rvci _lp9jn1c _xw1tdnb 13f9zje6 16f6973h _vo7ir40 _bt5arjf _rc45e4t _hr4e100 10v4e100 _hc9zke2 _w91egv_ _sj2r1kk 13c87yx8 _vqpds__ _ni8ggk8 _tj9yqfb 1ia2j4r4 _7x9b10u 1fc9ld4j 1eq9zldr _5j9lhpx _ez9zl6o _md61fzm".split(" ").reduce((t2, n2) => {
const r2 = e(n2.substring(0, 3)), o2 = e(n2.substring(3)).toString(16);
let _2 = "";
for (let t3 = 0; t3 < 6 - o2.length; t3++)
_2 += "0";
return t2[r2] = `${_2}${o2}`, t2;
}, {});
var _ = (t2, n2) => Array.from(Array(n2)).map(() => t2).join("");
var s = new RegExp(`^#${_("([a-f0-9])", 3)}([a-f0-9])?$`, "i");
var i = new RegExp(`^#${_("([a-f0-9]{2})", 3)}([a-f0-9]{2})?$`, "i");
var a = new RegExp(`^rgba?\\(\\s*(\\d+)\\s*${_(",\\s*(\\d+)\\s*", 2)}(?:,\\s*([\\d.]+))?\\s*\\)$`, "i");
var c = /^hsla?\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)$/i;
var u = /^[a-z]+$/i;
var f = (t2) => Math.round(255 * t2);
var l = (t2, n2, r2) => {
let e2 = r2 / 100;
if (0 === n2)
return [e2, e2, e2].map(f);
const o2 = (t2 % 360 + 360) % 360 / 60, _2 = (1 - Math.abs(2 * e2 - 1)) * (n2 / 100), s2 = _2 * (1 - Math.abs(o2 % 2 - 1));
let i2 = 0, a2 = 0, c2 = 0;
o2 >= 0 && o2 < 1 ? (i2 = _2, a2 = s2) : o2 >= 1 && o2 < 2 ? (i2 = s2, a2 = _2) : o2 >= 2 && o2 < 3 ? (a2 = _2, c2 = s2) : o2 >= 3 && o2 < 4 ? (a2 = s2, c2 = _2) : o2 >= 4 && o2 < 5 ? (i2 = s2, c2 = _2) : o2 >= 5 && o2 < 6 && (i2 = _2, c2 = s2);
const u2 = e2 - _2 / 2;
return [i2 + u2, a2 + u2, c2 + u2].map(f);
};
function p(t2) {
const [n2, e2, o2, _2] = r(t2).map((t3, n3) => 3 === n3 ? t3 : t3 / 255), s2 = Math.max(n2, e2, o2), i2 = Math.min(n2, e2, o2), a2 = (s2 + i2) / 2;
if (s2 === i2)
return [0, 0, a2, _2];
const c2 = s2 - i2;
return [60 * (n2 === s2 ? (e2 - o2) / c2 + (e2 < o2 ? 6 : 0) : e2 === s2 ? (o2 - n2) / c2 + 2 : (n2 - e2) / c2 + 4), a2 > 0.5 ? c2 / (2 - s2 - i2) : c2 / (s2 + i2), a2, _2];
}
function w(t2) {
if ("transparent" === t2)
return 0;
function n2(t3) {
const n3 = t3 / 255;
return n3 <= 0.03928 ? n3 / 12.92 : Math.pow((n3 + 0.055) / 1.055, 2.4);
}
const [e2, o2, _2] = r(t2);
return 0.2126 * n2(e2) + 0.7152 * n2(o2) + 0.0722 * n2(_2);
}
function m(n2, r2, e2, o2) {
return `rgba(${t(0, 255, n2).toFixed()}, ${t(0, 255, r2).toFixed()}, ${t(0, 255, e2).toFixed()}, ${parseFloat(t(0, 1, o2).toFixed(3))})`;
}
function v(t2, n2) {
const [e2, o2, _2, s2] = r(t2);
return m(e2, o2, _2, s2 - n2);
}
function I(n2) {
const [e2, o2, _2, s2] = r(n2);
let i2 = (n3) => {
const r2 = t(0, 255, n3).toString(16);
return 1 === r2.length ? `0${r2}` : r2;
};
return `#${i2(e2)}${i2(o2)}${i2(_2)}${s2 < 1 ? i2(Math.round(255 * s2)) : ""}`;
}
export {
p,
w,
m,
v,
I
};