@protonradio/proton-ui 0.11.0-beta.21 → 0.11.0-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -35
- package/dist/breakpoint-9y1_8U_b.mjs +10 -0
- package/dist/breakpoint-9y1_8U_b.mjs.map +1 -0
- package/dist/breakpoint-DtqbboOa.js +2 -0
- package/dist/breakpoint-DtqbboOa.js.map +1 -0
- package/dist/constants.cjs.js +1 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.d.ts +4 -149
- package/dist/constants.es.js +7 -19
- package/dist/constants.es.js.map +1 -1
- package/dist/darkTheme-DUWn6YJ-.mjs +345 -0
- package/dist/darkTheme-DUWn6YJ-.mjs.map +1 -0
- package/dist/darkTheme-ann6VTfq.js +2 -0
- package/dist/darkTheme-ann6VTfq.js.map +1 -0
- package/dist/hooks.cjs.js +1 -1
- package/dist/hooks.cjs.js.map +1 -1
- package/dist/hooks.d.ts +34 -5
- package/dist/hooks.es.js +36 -4
- package/dist/hooks.es.js.map +1 -1
- package/dist/image-BlhKzTx8.js +2 -0
- package/dist/image-BlhKzTx8.js.map +1 -0
- package/dist/image-C8M6y5Op.mjs +205 -0
- package/dist/image-C8M6y5Op.mjs.map +1 -0
- package/dist/index.cjs.js +12 -12
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +501 -408
- package/dist/index.es.js +9513 -11164
- package/dist/index.es.js.map +1 -1
- package/dist/navigation-BB0MBIiR.js +2 -0
- package/dist/navigation-BB0MBIiR.js.map +1 -0
- package/dist/navigation-Bj7Pex9j.mjs +43 -0
- package/dist/navigation-Bj7Pex9j.mjs.map +1 -0
- package/dist/style.css +1 -1
- package/dist/theme-DQsfWeLo.mjs +12 -0
- package/dist/theme-DQsfWeLo.mjs.map +1 -0
- package/dist/theme-Dc0Ahjq9.js +2 -0
- package/dist/theme-Dc0Ahjq9.js.map +1 -0
- package/dist/{useBreakpoint-DA-JqOu3.js → useBreakpoint-CA9tMMV8.js} +2 -2
- package/dist/{useBreakpoint-DA-JqOu3.js.map → useBreakpoint-CA9tMMV8.js.map} +1 -1
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.cjs.js.map +1 -1
- package/dist/utils.d.ts +26 -45
- package/dist/utils.es.js +17 -457
- package/dist/utils.es.js.map +1 -1
- package/package.json +10 -4
- package/dist/palettes-D006-kxf.mjs +0 -174
- package/dist/palettes-D006-kxf.mjs.map +0 -1
- package/dist/palettes-DfloGKJz.js +0 -2
- package/dist/palettes-DfloGKJz.js.map +0 -1
package/dist/utils.es.js
CHANGED
|
@@ -1,460 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
var N = function(n, r) {
|
|
5
|
-
return n < r ? -1 : n > r ? 1 : 0;
|
|
6
|
-
}, $ = function(n) {
|
|
7
|
-
return n.reduce(function(r, a) {
|
|
8
|
-
return r + a;
|
|
9
|
-
}, 0);
|
|
10
|
-
}, et = /* @__PURE__ */ function() {
|
|
11
|
-
function n(a) {
|
|
12
|
-
this.colors = a;
|
|
13
|
-
}
|
|
14
|
-
var r = n.prototype;
|
|
15
|
-
return r.palette = function() {
|
|
16
|
-
return this.colors;
|
|
17
|
-
}, r.map = function(a) {
|
|
18
|
-
return a;
|
|
19
|
-
}, n;
|
|
20
|
-
}(), rt = function() {
|
|
21
|
-
function n(e, t, s) {
|
|
22
|
-
return (e << 10) + (t << 5) + s;
|
|
23
|
-
}
|
|
24
|
-
function r(e) {
|
|
25
|
-
var t = [], s = !1;
|
|
26
|
-
function c() {
|
|
27
|
-
t.sort(e), s = !0;
|
|
28
|
-
}
|
|
29
|
-
return { push: function(u) {
|
|
30
|
-
t.push(u), s = !1;
|
|
31
|
-
}, peek: function(u) {
|
|
32
|
-
return s || c(), u === void 0 && (u = t.length - 1), t[u];
|
|
33
|
-
}, pop: function() {
|
|
34
|
-
return s || c(), t.pop();
|
|
35
|
-
}, size: function() {
|
|
36
|
-
return t.length;
|
|
37
|
-
}, map: function(u) {
|
|
38
|
-
return t.map(u);
|
|
39
|
-
}, debug: function() {
|
|
40
|
-
return s || c(), t;
|
|
41
|
-
} };
|
|
42
|
-
}
|
|
43
|
-
function a(e, t, s, c, u, o, m) {
|
|
44
|
-
var f = this;
|
|
45
|
-
f.r1 = e, f.r2 = t, f.g1 = s, f.g2 = c, f.b1 = u, f.b2 = o, f.histo = m;
|
|
46
|
-
}
|
|
47
|
-
function l() {
|
|
48
|
-
this.vboxes = new r(function(e, t) {
|
|
49
|
-
return N(e.vbox.count() * e.vbox.volume(), t.vbox.count() * t.vbox.volume());
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
function h(e, t) {
|
|
53
|
-
if (t.count()) {
|
|
54
|
-
var s = t.r2 - t.r1 + 1, c = t.g2 - t.g1 + 1, u = Math.max.apply(null, [s, c, t.b2 - t.b1 + 1]);
|
|
55
|
-
if (t.count() == 1) return [t.copy()];
|
|
56
|
-
var o, m, f, v, d = 0, p = [], C = [];
|
|
57
|
-
if (u == s) for (o = t.r1; o <= t.r2; o++) {
|
|
58
|
-
for (v = 0, m = t.g1; m <= t.g2; m++) for (f = t.b1; f <= t.b2; f++) v += e[n(o, m, f)] || 0;
|
|
59
|
-
p[o] = d += v;
|
|
60
|
-
}
|
|
61
|
-
else if (u == c) for (o = t.g1; o <= t.g2; o++) {
|
|
62
|
-
for (v = 0, m = t.r1; m <= t.r2; m++) for (f = t.b1; f <= t.b2; f++) v += e[n(m, o, f)] || 0;
|
|
63
|
-
p[o] = d += v;
|
|
64
|
-
}
|
|
65
|
-
else for (o = t.b1; o <= t.b2; o++) {
|
|
66
|
-
for (v = 0, m = t.r1; m <= t.r2; m++) for (f = t.g1; f <= t.g2; f++) v += e[n(m, f, o)] || 0;
|
|
67
|
-
p[o] = d += v;
|
|
68
|
-
}
|
|
69
|
-
return p.forEach(function(D, g) {
|
|
70
|
-
C[g] = d - D;
|
|
71
|
-
}), function(D) {
|
|
72
|
-
var g, b, R, _, E, w = D + "1", S = D + "2", x = 0;
|
|
73
|
-
for (o = t[w]; o <= t[S]; o++) if (p[o] > d / 2) {
|
|
74
|
-
for (R = t.copy(), _ = t.copy(), E = (g = o - t[w]) <= (b = t[S] - o) ? Math.min(t[S] - 1, ~~(o + b / 2)) : Math.max(t[w], ~~(o - 1 - g / 2)); !p[E]; ) E++;
|
|
75
|
-
for (x = C[E]; !x && p[E - 1]; ) x = C[--E];
|
|
76
|
-
return R[S] = E, _[w] = R[S] + 1, [R, _];
|
|
77
|
-
}
|
|
78
|
-
}(u == s ? "r" : u == c ? "g" : "b");
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
return a.prototype = { volume: function(e) {
|
|
82
|
-
var t = this;
|
|
83
|
-
return t._volume && !e || (t._volume = (t.r2 - t.r1 + 1) * (t.g2 - t.g1 + 1) * (t.b2 - t.b1 + 1)), t._volume;
|
|
84
|
-
}, count: function(e) {
|
|
85
|
-
var t = this, s = t.histo;
|
|
86
|
-
if (!t._count_set || e) {
|
|
87
|
-
var c, u, o, m = 0;
|
|
88
|
-
for (c = t.r1; c <= t.r2; c++) for (u = t.g1; u <= t.g2; u++) for (o = t.b1; o <= t.b2; o++) m += s[n(c, u, o)] || 0;
|
|
89
|
-
t._count = m, t._count_set = !0;
|
|
90
|
-
}
|
|
91
|
-
return t._count;
|
|
92
|
-
}, copy: function() {
|
|
93
|
-
var e = this;
|
|
94
|
-
return new a(e.r1, e.r2, e.g1, e.g2, e.b1, e.b2, e.histo);
|
|
95
|
-
}, avg: function(e) {
|
|
96
|
-
var t = this, s = t.histo;
|
|
97
|
-
if (!t._avg || e) {
|
|
98
|
-
var c, u, o, m, f = 0, v = 0, d = 0, p = 0;
|
|
99
|
-
if (t.r1 === t.r2 && t.g1 === t.g2 && t.b1 === t.b2) t._avg = [t.r1 << 3, t.g1 << 3, t.b1 << 3];
|
|
100
|
-
else {
|
|
101
|
-
for (u = t.r1; u <= t.r2; u++) for (o = t.g1; o <= t.g2; o++) for (m = t.b1; m <= t.b2; m++) f += c = s[n(u, o, m)] || 0, v += c * (u + 0.5) * 8, d += c * (o + 0.5) * 8, p += c * (m + 0.5) * 8;
|
|
102
|
-
t._avg = f ? [~~(v / f), ~~(d / f), ~~(p / f)] : [~~(8 * (t.r1 + t.r2 + 1) / 2), ~~(8 * (t.g1 + t.g2 + 1) / 2), ~~(8 * (t.b1 + t.b2 + 1) / 2)];
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return t._avg;
|
|
106
|
-
}, contains: function(e) {
|
|
107
|
-
var t = this, s = e[0] >> 3;
|
|
108
|
-
return gval = e[1] >> 3, bval = e[2] >> 3, s >= t.r1 && s <= t.r2 && gval >= t.g1 && gval <= t.g2 && bval >= t.b1 && bval <= t.b2;
|
|
109
|
-
} }, l.prototype = { push: function(e) {
|
|
110
|
-
this.vboxes.push({ vbox: e, color: e.avg() });
|
|
111
|
-
}, palette: function() {
|
|
112
|
-
return this.vboxes.map(function(e) {
|
|
113
|
-
return e.color;
|
|
114
|
-
});
|
|
115
|
-
}, size: function() {
|
|
116
|
-
return this.vboxes.size();
|
|
117
|
-
}, map: function(e) {
|
|
118
|
-
for (var t = this.vboxes, s = 0; s < t.size(); s++) if (t.peek(s).vbox.contains(e)) return t.peek(s).color;
|
|
119
|
-
return this.nearest(e);
|
|
120
|
-
}, nearest: function(e) {
|
|
121
|
-
for (var t, s, c, u = this.vboxes, o = 0; o < u.size(); o++) ((s = Math.sqrt(Math.pow(e[0] - u.peek(o).color[0], 2) + Math.pow(e[1] - u.peek(o).color[1], 2) + Math.pow(e[2] - u.peek(o).color[2], 2))) < t || t === void 0) && (t = s, c = u.peek(o).color);
|
|
122
|
-
return c;
|
|
123
|
-
}, forcebw: function() {
|
|
124
|
-
var e = this.vboxes;
|
|
125
|
-
e.sort(function(u, o) {
|
|
126
|
-
return N($(u.color), $(o.color));
|
|
127
|
-
});
|
|
128
|
-
var t = e[0].color;
|
|
129
|
-
t[0] < 5 && t[1] < 5 && t[2] < 5 && (e[0].color = [0, 0, 0]);
|
|
130
|
-
var s = e.length - 1, c = e[s].color;
|
|
131
|
-
c[0] > 251 && c[1] > 251 && c[2] > 251 && (e[s].color = [255, 255, 255]);
|
|
132
|
-
} }, { quantize: function(e, t) {
|
|
133
|
-
if (!Number.isInteger(t) || t < 1 || t > 256) throw new Error("Invalid maximum color count. It must be an integer between 1 and 256.");
|
|
134
|
-
if (!e.length || t < 2 || t > 256 || !e.length || t < 2 || t > 256) return !1;
|
|
135
|
-
for (var s = [], c = /* @__PURE__ */ new Set(), u = 0; u < e.length; u++) {
|
|
136
|
-
var o = e[u], m = o.join(",");
|
|
137
|
-
c.has(m) || (c.add(m), s.push(o));
|
|
138
|
-
}
|
|
139
|
-
if (s.length <= t) return new et(s);
|
|
140
|
-
var f = function(g) {
|
|
141
|
-
var b, R = new Array(32768);
|
|
142
|
-
return g.forEach(function(_) {
|
|
143
|
-
b = n(_[0] >> 3, _[1] >> 3, _[2] >> 3), R[b] = (R[b] || 0) + 1;
|
|
144
|
-
}), R;
|
|
145
|
-
}(e);
|
|
146
|
-
f.forEach(function() {
|
|
147
|
-
});
|
|
148
|
-
var v = function(g, b) {
|
|
149
|
-
var R, _, E, w = 1e6, S = 0, x = 1e6, K = 0, z = 1e6, O = 0;
|
|
150
|
-
return g.forEach(function(W) {
|
|
151
|
-
(R = W[0] >> 3) < w ? w = R : R > S && (S = R), (_ = W[1] >> 3) < x ? x = _ : _ > K && (K = _), (E = W[2] >> 3) < z ? z = E : E > O && (O = E);
|
|
152
|
-
}), new a(w, S, x, K, z, O, b);
|
|
153
|
-
}(e, f), d = new r(function(g, b) {
|
|
154
|
-
return N(g.count(), b.count());
|
|
155
|
-
});
|
|
156
|
-
function p(g, b) {
|
|
157
|
-
for (var R, _ = g.size(), E = 0; E < 1e3; ) {
|
|
158
|
-
if (_ >= b || E++ > 1e3) return;
|
|
159
|
-
if ((R = g.pop()).count()) {
|
|
160
|
-
var w = h(f, R), S = w[0], x = w[1];
|
|
161
|
-
if (!S) return;
|
|
162
|
-
g.push(S), x && (g.push(x), _++);
|
|
163
|
-
} else g.push(R), E++;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
d.push(v), p(d, 0.75 * t);
|
|
167
|
-
for (var C = new r(function(g, b) {
|
|
168
|
-
return N(g.count() * g.volume(), b.count() * b.volume());
|
|
169
|
-
}); d.size(); ) C.push(d.pop());
|
|
170
|
-
p(C, t);
|
|
171
|
-
for (var D = new l(); C.size(); ) D.push(C.pop());
|
|
172
|
-
return D;
|
|
173
|
-
} };
|
|
174
|
-
}().quantize, Q = function(n) {
|
|
175
|
-
this.canvas = document.createElement("canvas"), this.context = this.canvas.getContext("2d"), this.width = this.canvas.width = n.naturalWidth, this.height = this.canvas.height = n.naturalHeight, this.context.drawImage(n, 0, 0, this.width, this.height);
|
|
176
|
-
};
|
|
177
|
-
Q.prototype.getImageData = function() {
|
|
178
|
-
return this.context.getImageData(0, 0, this.width, this.height);
|
|
179
|
-
};
|
|
180
|
-
var G = function() {
|
|
181
|
-
};
|
|
182
|
-
G.prototype.getColor = function(n, r) {
|
|
183
|
-
return r === void 0 && (r = 10), this.getPalette(n, 5, r)[0];
|
|
184
|
-
}, G.prototype.getPalette = function(n, r, a) {
|
|
185
|
-
var l = function(s) {
|
|
186
|
-
var c = s.colorCount, u = s.quality;
|
|
187
|
-
if (c !== void 0 && Number.isInteger(c)) {
|
|
188
|
-
if (c === 1) throw new Error("colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()");
|
|
189
|
-
c = Math.max(c, 2), c = Math.min(c, 20);
|
|
190
|
-
} else c = 10;
|
|
191
|
-
return (u === void 0 || !Number.isInteger(u) || u < 1) && (u = 10), { colorCount: c, quality: u };
|
|
192
|
-
}({ colorCount: r, quality: a }), h = new Q(n), e = function(s, c, u) {
|
|
193
|
-
for (var o, m, f, v, d, p = s, C = [], D = 0; D < c; D += u) m = p[0 + (o = 4 * D)], f = p[o + 1], v = p[o + 2], ((d = p[o + 3]) === void 0 || d >= 125) && (m > 250 && f > 250 && v > 250 || C.push([m, f, v]));
|
|
194
|
-
return C;
|
|
195
|
-
}(h.getImageData().data, h.width * h.height, l.quality), t = rt(e, l.colorCount);
|
|
196
|
-
return t ? t.palette() : null;
|
|
197
|
-
}, G.prototype.getColorFromUrl = function(n, r, a) {
|
|
198
|
-
var l = this, h = document.createElement("img");
|
|
199
|
-
h.addEventListener("load", function() {
|
|
200
|
-
var e = l.getPalette(h, 5, a);
|
|
201
|
-
r(e[0], n);
|
|
202
|
-
}), h.src = n;
|
|
203
|
-
}, G.prototype.getImageData = function(n, r) {
|
|
204
|
-
var a = new XMLHttpRequest();
|
|
205
|
-
a.open("GET", n, !0), a.responseType = "arraybuffer", a.onload = function() {
|
|
206
|
-
if (this.status == 200) {
|
|
207
|
-
var l = new Uint8Array(this.response);
|
|
208
|
-
i = l.length;
|
|
209
|
-
for (var h = new Array(i), e = 0; e < l.length; e++) h[e] = String.fromCharCode(l[e]);
|
|
210
|
-
var t = h.join(""), s = window.btoa(t);
|
|
211
|
-
r("data:image/png;base64," + s);
|
|
212
|
-
}
|
|
213
|
-
}, a.send();
|
|
214
|
-
}, G.prototype.getColorAsync = function(n, r, a) {
|
|
215
|
-
var l = this;
|
|
216
|
-
this.getImageData(n, function(h) {
|
|
217
|
-
var e = document.createElement("img");
|
|
218
|
-
e.addEventListener("load", function() {
|
|
219
|
-
var t = l.getPalette(e, 5, a);
|
|
220
|
-
r(t[0], this);
|
|
221
|
-
}), e.src = h;
|
|
222
|
-
});
|
|
223
|
-
};
|
|
224
|
-
const k = (n, r) => r === void 0 ? `rgb(${n[0]}, ${n[1]}, ${n[2]})` : `rgba(${n[0]}, ${n[1]}, ${n[2]}, ${r})`, lt = (n, r) => A(V(n, r)), y = (n, r) => A(Z(n, r)), L = (n, r) => A(tt(n, r));
|
|
225
|
-
function ft(n) {
|
|
226
|
-
return n instanceof HTMLImageElement ? Promise.resolve(ot(n)) : at(n);
|
|
227
|
-
}
|
|
228
|
-
function ot(n) {
|
|
229
|
-
try {
|
|
230
|
-
return new G().getColor(n);
|
|
231
|
-
} catch {
|
|
232
|
-
return [255, 255, 255];
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
function at(n) {
|
|
236
|
-
return new Promise((r, a) => {
|
|
237
|
-
const l = document.createElement("img");
|
|
238
|
-
l.crossOrigin = "anonymous", l.onload = () => {
|
|
239
|
-
try {
|
|
240
|
-
const h = new G().getColor(l);
|
|
241
|
-
r(h);
|
|
242
|
-
} catch {
|
|
243
|
-
r([255, 255, 255]);
|
|
244
|
-
}
|
|
245
|
-
}, l.onerror = () => a(new Error("Failed to load image")), l.src = n;
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
const mt = (n) => {
|
|
249
|
-
const r = k(n), a = j("#FFFFFF", r, "#000000"), l = Array.from({ length: 12 }, (o, m) => {
|
|
250
|
-
const f = a(m / 11);
|
|
251
|
-
return L(f, 85e-4);
|
|
252
|
-
}), h = l.map(
|
|
253
|
-
(o) => y(B(o), 5e-3)
|
|
254
|
-
), e = A(y(nt(r, 180), 1)), t = j("#FFFFFF", e, "#000000"), s = Array.from({ length: 12 }, (o, m) => {
|
|
255
|
-
const f = t(m / 11);
|
|
256
|
-
return L(f, 0.1);
|
|
257
|
-
}), c = s.map(
|
|
258
|
-
(o) => L(B(o), 0.22)
|
|
259
|
-
), u = it(
|
|
260
|
-
y(h[5], 0.115)
|
|
261
|
-
);
|
|
262
|
-
return {
|
|
263
|
-
BASE_COLOR: k(n),
|
|
264
|
-
BRAND: {
|
|
265
|
-
PRIMARY: u,
|
|
266
|
-
PRIMARY_LIGHT: I(u, 0.25, {
|
|
267
|
-
min: 0.6,
|
|
268
|
-
max: 0.8
|
|
269
|
-
}),
|
|
270
|
-
PRIMARY_SUPER_LIGHT: I(u, 0.15, {
|
|
271
|
-
min: 0.8,
|
|
272
|
-
max: 0.9
|
|
273
|
-
}),
|
|
274
|
-
SECONDARY: L(c[4], 0.02)
|
|
275
|
-
},
|
|
276
|
-
PRIMARY: {
|
|
277
|
-
//backgrounds
|
|
278
|
-
PRIMARY_SUPER_DARK: I(
|
|
279
|
-
H(l[9]),
|
|
280
|
-
-0.6,
|
|
281
|
-
{
|
|
282
|
-
min: 0,
|
|
283
|
-
max: 0.02
|
|
284
|
-
}
|
|
285
|
-
),
|
|
286
|
-
PRIMARY_DARK: I(
|
|
287
|
-
H(l[8]),
|
|
288
|
-
-0.4,
|
|
289
|
-
{
|
|
290
|
-
min: 0.01,
|
|
291
|
-
max: 0.02
|
|
292
|
-
}
|
|
293
|
-
),
|
|
294
|
-
//interactive components
|
|
295
|
-
PRIMARY_MEDIUM: I(h[7], -0.2, {
|
|
296
|
-
min: 0,
|
|
297
|
-
max: 0.11
|
|
298
|
-
}),
|
|
299
|
-
//borders and seperators
|
|
300
|
-
PRIMARY_MEDIUM_LIGHT: I(
|
|
301
|
-
L(h[6], 0.1),
|
|
302
|
-
0.08
|
|
303
|
-
),
|
|
304
|
-
//solid colors
|
|
305
|
-
PRIMARY_LIGHT: I(
|
|
306
|
-
y(h[5], 0.1),
|
|
307
|
-
0.16
|
|
308
|
-
),
|
|
309
|
-
//accessible text
|
|
310
|
-
PRIMARY_LIGHTEST: I(
|
|
311
|
-
y(h[3], 0.2),
|
|
312
|
-
0.12,
|
|
313
|
-
{
|
|
314
|
-
min: 0.5,
|
|
315
|
-
max: 0.9
|
|
316
|
-
}
|
|
317
|
-
),
|
|
318
|
-
PRIMARY_SUPER_LIGHT: I(h[1], 0.02, {
|
|
319
|
-
min: 0.86,
|
|
320
|
-
max: 0.98
|
|
321
|
-
})
|
|
322
|
-
},
|
|
323
|
-
SECONDARY: {
|
|
324
|
-
//backgrounds
|
|
325
|
-
SECONDARY_SUPER_DARK: I(
|
|
326
|
-
H(s[9]),
|
|
327
|
-
-0.6,
|
|
328
|
-
{
|
|
329
|
-
min: 0,
|
|
330
|
-
max: 0.02
|
|
331
|
-
}
|
|
332
|
-
),
|
|
333
|
-
SECONDARY_DARK: I(
|
|
334
|
-
H(s[8]),
|
|
335
|
-
-0.4,
|
|
336
|
-
{
|
|
337
|
-
min: 0.01,
|
|
338
|
-
max: 0.02
|
|
339
|
-
}
|
|
340
|
-
),
|
|
341
|
-
// interactive components
|
|
342
|
-
SECONDARY_MEDIUM: I(c[7], -0.2, {
|
|
343
|
-
min: 0,
|
|
344
|
-
max: 0.11
|
|
345
|
-
}),
|
|
346
|
-
//borders and seperators
|
|
347
|
-
SECONDARY_MEDIUM_LIGHT: I(
|
|
348
|
-
c[6],
|
|
349
|
-
0.1
|
|
350
|
-
),
|
|
351
|
-
//solid colors
|
|
352
|
-
SECONDARY_LIGHT: I(
|
|
353
|
-
y(c[5], 0.1),
|
|
354
|
-
0.16
|
|
355
|
-
),
|
|
356
|
-
//accessible text
|
|
357
|
-
SECONDARY_LIGHTEST: I(
|
|
358
|
-
y(c[3], 0.2),
|
|
359
|
-
0.12,
|
|
360
|
-
{
|
|
361
|
-
min: 0.5,
|
|
362
|
-
max: 0.9
|
|
363
|
-
}
|
|
364
|
-
),
|
|
365
|
-
SECONDARY_SUPER_LIGHT: I(
|
|
366
|
-
c[0],
|
|
367
|
-
0.02,
|
|
368
|
-
{
|
|
369
|
-
min: 0.86,
|
|
370
|
-
max: 0.98
|
|
371
|
-
}
|
|
372
|
-
)
|
|
373
|
-
},
|
|
374
|
-
SUCCESS: {
|
|
375
|
-
SUCCESS_DARK: T.DARK,
|
|
376
|
-
SUCCESS_MEDIUM: T.MEDIUM,
|
|
377
|
-
SUCCESS_LIGHT: T.LIGHT,
|
|
378
|
-
SUCCESS_SUPER_LIGHT: T.SUPER_LIGHT
|
|
379
|
-
},
|
|
380
|
-
WARNING: {
|
|
381
|
-
WARNING_DARK: U.DARK,
|
|
382
|
-
WARNING_MEDIUM: U.MEDIUM,
|
|
383
|
-
WARNING_LIGHT: U.LIGHT,
|
|
384
|
-
WARNING_SUPER_LIGHT: U.SUPER_LIGHT
|
|
385
|
-
},
|
|
386
|
-
DANGER: {
|
|
387
|
-
DANGER_SUPER_DARK: P.SUPER_DARK,
|
|
388
|
-
DANGER_DARK: P.DARK,
|
|
389
|
-
DANGER_MEDIUM: P.MEDIUM,
|
|
390
|
-
DANGER_LIGHT: P.LIGHT,
|
|
391
|
-
DANGER_SUPER_LIGHT: P.SUPER_LIGHT
|
|
392
|
-
}
|
|
393
|
-
};
|
|
394
|
-
}, I = (n, r, a = { min: 0.03, max: 0.97 }) => {
|
|
395
|
-
let l = n, h = M(l);
|
|
396
|
-
if (a.min < 0 && (a.min = 0), a.max > 1 && (a.max = 1), a.min >= a.max)
|
|
397
|
-
throw new Error("Invalid range: min must be less than max");
|
|
398
|
-
if (r > 0) {
|
|
399
|
-
const t = a.max - h;
|
|
400
|
-
if (t <= 0) return A(l);
|
|
401
|
-
const s = r * (t / (1 - h));
|
|
402
|
-
l = Y(l, s);
|
|
403
|
-
} else if (r < 0) {
|
|
404
|
-
const t = h - a.min;
|
|
405
|
-
if (t <= 0) return A(l);
|
|
406
|
-
const s = r * (t / h);
|
|
407
|
-
l = F(l, Math.abs(s));
|
|
408
|
-
}
|
|
409
|
-
const e = M(l);
|
|
410
|
-
return (e > a.max || e < a.min) && (l = q(l, a)), A(l);
|
|
411
|
-
}, q = (n, r) => {
|
|
412
|
-
let a = n, l = M(a);
|
|
413
|
-
for (; l > r.max; )
|
|
414
|
-
a = F(a, 0.05), l = M(a);
|
|
415
|
-
for (; l < r.min; )
|
|
416
|
-
a = Y(a, 0.05), l = M(a);
|
|
417
|
-
return A(a);
|
|
418
|
-
}, H = (n) => {
|
|
419
|
-
for (; X(n, "readable", J.GRAY_DARK); )
|
|
420
|
-
n = Y(n, 0.01);
|
|
421
|
-
return A(n);
|
|
422
|
-
}, it = (n) => {
|
|
423
|
-
for (; X(J.GRAY_SUPER_LIGHT, "readable", n); )
|
|
424
|
-
n = F(n, 0.01);
|
|
425
|
-
return A(n);
|
|
426
|
-
}, B = (n) => {
|
|
427
|
-
let r = n, a = M(A(r)), l = 0;
|
|
428
|
-
const h = 6;
|
|
429
|
-
for (; a < 0.16 && l < h; )
|
|
430
|
-
l++, r = Y(r, 0.1), a = M(A(r));
|
|
431
|
-
for (; a > 0.6 && l < h; )
|
|
432
|
-
l++, r = F(r, 0.1), a = M(A(r));
|
|
433
|
-
return A(r);
|
|
434
|
-
}, st = (n) => typeof n == "string" || n instanceof String;
|
|
435
|
-
function ht(...n) {
|
|
436
|
-
return n.filter(st).join(" ");
|
|
437
|
-
}
|
|
438
|
-
const gt = (n) => n.startsWith("http"), vt = (n, r) => {
|
|
439
|
-
if (n.metaKey || n.altKey || n.ctrlKey || n.shiftKey || n.button && n.button !== 0)
|
|
440
|
-
return;
|
|
441
|
-
n.preventDefault();
|
|
442
|
-
const a = r.startsWith("/") ? r : `/${r}`;
|
|
443
|
-
window.history.pushState({}, "", a), window.dispatchEvent(new PopStateEvent("popstate"));
|
|
444
|
-
};
|
|
1
|
+
import { a as e, b as r, d as s, l as o, s as n, c as i, e as l, t as g } from "./darkTheme-DUWn6YJ-.mjs";
|
|
2
|
+
import { a as p, c as d, h as b, i as c } from "./navigation-Bj7Pex9j.mjs";
|
|
3
|
+
import { g as f, a as h } from "./image-C8M6y5Op.mjs";
|
|
445
4
|
export {
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
5
|
+
e as arrayToRgbString,
|
|
6
|
+
p as copyTextToClipboard,
|
|
7
|
+
d as csx,
|
|
8
|
+
r as darken,
|
|
9
|
+
s as desaturate,
|
|
10
|
+
f as generatePalette,
|
|
11
|
+
h as getDominantColor,
|
|
12
|
+
b as handleInternalNavigation,
|
|
13
|
+
c as isUrlExternal,
|
|
14
|
+
o as lighten,
|
|
15
|
+
n as saturate,
|
|
16
|
+
i as toHex,
|
|
17
|
+
l as toRgba,
|
|
18
|
+
g as transparentize
|
|
459
19
|
};
|
|
460
20
|
//# sourceMappingURL=utils.es.js.map
|
package/dist/utils.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.es.js","sources":["../node_modules/colorthief/dist/color-thief.mjs","../src/utils/color.ts","../src/utils/utils.ts"],"sourcesContent":["var t=function(t,r){return t<r?-1:t>r?1:0},r=function(t){return t.reduce(function(t,r){return t+r},0)},n=/*#__PURE__*/function(){function t(t){this.colors=t}var r=t.prototype;return r.palette=function(){return this.colors},r.map=function(t){return t},t}(),o=function(){function o(t,r,n){return(t<<10)+(r<<5)+n}function e(t){var r=[],n=!1;function o(){r.sort(t),n=!0}return{push:function(t){r.push(t),n=!1},peek:function(t){return n||o(),void 0===t&&(t=r.length-1),r[t]},pop:function(){return n||o(),r.pop()},size:function(){return r.length},map:function(t){return r.map(t)},debug:function(){return n||o(),r}}}function i(t,r,n,o,e,i,u){var a=this;a.r1=t,a.r2=r,a.g1=n,a.g2=o,a.b1=e,a.b2=i,a.histo=u}function u(){this.vboxes=new e(function(r,n){return t(r.vbox.count()*r.vbox.volume(),n.vbox.count()*n.vbox.volume())})}function a(t,r){if(r.count()){var n=r.r2-r.r1+1,e=r.g2-r.g1+1,i=Math.max.apply(null,[n,e,r.b2-r.b1+1]);if(1==r.count())return[r.copy()];var u,a,c,f,s=0,h=[],v=[];if(i==n)for(u=r.r1;u<=r.r2;u++){for(f=0,a=r.g1;a<=r.g2;a++)for(c=r.b1;c<=r.b2;c++)f+=t[o(u,a,c)]||0;h[u]=s+=f}else if(i==e)for(u=r.g1;u<=r.g2;u++){for(f=0,a=r.r1;a<=r.r2;a++)for(c=r.b1;c<=r.b2;c++)f+=t[o(a,u,c)]||0;h[u]=s+=f}else for(u=r.b1;u<=r.b2;u++){for(f=0,a=r.r1;a<=r.r2;a++)for(c=r.g1;c<=r.g2;c++)f+=t[o(a,c,u)]||0;h[u]=s+=f}return h.forEach(function(t,r){v[r]=s-t}),function(t){var n,o,e,i,a,c=t+\"1\",f=t+\"2\",l=0;for(u=r[c];u<=r[f];u++)if(h[u]>s/2){for(e=r.copy(),i=r.copy(),a=(n=u-r[c])<=(o=r[f]-u)?Math.min(r[f]-1,~~(u+o/2)):Math.max(r[c],~~(u-1-n/2));!h[a];)a++;for(l=v[a];!l&&h[a-1];)l=v[--a];return e[f]=a,i[c]=e[f]+1,[e,i]}}(i==n?\"r\":i==e?\"g\":\"b\")}}return i.prototype={volume:function(t){var r=this;return r._volume&&!t||(r._volume=(r.r2-r.r1+1)*(r.g2-r.g1+1)*(r.b2-r.b1+1)),r._volume},count:function(t){var r=this,n=r.histo;if(!r._count_set||t){var e,i,u,a=0;for(e=r.r1;e<=r.r2;e++)for(i=r.g1;i<=r.g2;i++)for(u=r.b1;u<=r.b2;u++)a+=n[o(e,i,u)]||0;r._count=a,r._count_set=!0}return r._count},copy:function(){var t=this;return new i(t.r1,t.r2,t.g1,t.g2,t.b1,t.b2,t.histo)},avg:function(t){var r=this,n=r.histo;if(!r._avg||t){var e,i,u,a,c=0,f=0,s=0,h=0;if(r.r1===r.r2&&r.g1===r.g2&&r.b1===r.b2)r._avg=[r.r1<<3,r.g1<<3,r.b1<<3];else{for(i=r.r1;i<=r.r2;i++)for(u=r.g1;u<=r.g2;u++)for(a=r.b1;a<=r.b2;a++)c+=e=n[o(i,u,a)]||0,f+=e*(i+.5)*8,s+=e*(u+.5)*8,h+=e*(a+.5)*8;r._avg=c?[~~(f/c),~~(s/c),~~(h/c)]:[~~(8*(r.r1+r.r2+1)/2),~~(8*(r.g1+r.g2+1)/2),~~(8*(r.b1+r.b2+1)/2)]}}return r._avg},contains:function(t){var r=this,n=t[0]>>3;return gval=t[1]>>3,bval=t[2]>>3,n>=r.r1&&n<=r.r2&&gval>=r.g1&&gval<=r.g2&&bval>=r.b1&&bval<=r.b2}},u.prototype={push:function(t){this.vboxes.push({vbox:t,color:t.avg()})},palette:function(){return this.vboxes.map(function(t){return t.color})},size:function(){return this.vboxes.size()},map:function(t){for(var r=this.vboxes,n=0;n<r.size();n++)if(r.peek(n).vbox.contains(t))return r.peek(n).color;return this.nearest(t)},nearest:function(t){for(var r,n,o,e=this.vboxes,i=0;i<e.size();i++)((n=Math.sqrt(Math.pow(t[0]-e.peek(i).color[0],2)+Math.pow(t[1]-e.peek(i).color[1],2)+Math.pow(t[2]-e.peek(i).color[2],2)))<r||void 0===r)&&(r=n,o=e.peek(i).color);return o},forcebw:function(){var n=this.vboxes;n.sort(function(n,o){return t(r(n.color),r(o.color))});var o=n[0].color;o[0]<5&&o[1]<5&&o[2]<5&&(n[0].color=[0,0,0]);var e=n.length-1,i=n[e].color;i[0]>251&&i[1]>251&&i[2]>251&&(n[e].color=[255,255,255])}},{quantize:function(r,c){if(!Number.isInteger(c)||c<1||c>256)throw new Error(\"Invalid maximum color count. It must be an integer between 1 and 256.\");if(!r.length||c<2||c>256)return!1;if(!r.length||c<2||c>256)return!1;for(var f=[],s=new Set,h=0;h<r.length;h++){var v=r[h],l=v.join(\",\");s.has(l)||(s.add(l),f.push(v))}if(f.length<=c)return new n(f);var g=function(t){var r,n=new Array(32768);return t.forEach(function(t){r=o(t[0]>>3,t[1]>>3,t[2]>>3),n[r]=(n[r]||0)+1}),n}(r);g.forEach(function(){});var p=function(t,r){var n,o,e,u=1e6,a=0,c=1e6,f=0,s=1e6,h=0;return t.forEach(function(t){(n=t[0]>>3)<u?u=n:n>a&&(a=n),(o=t[1]>>3)<c?c=o:o>f&&(f=o),(e=t[2]>>3)<s?s=e:e>h&&(h=e)}),new i(u,a,c,f,s,h,r)}(r,g),b=new e(function(r,n){return t(r.count(),n.count())});function m(t,r){for(var n,o=t.size(),e=0;e<1e3;){if(o>=r)return;if(e++>1e3)return;if((n=t.pop()).count()){var i=a(g,n),u=i[0],c=i[1];if(!u)return;t.push(u),c&&(t.push(c),o++)}else t.push(n),e++}}b.push(p),m(b,.75*c);for(var d=new e(function(r,n){return t(r.count()*r.volume(),n.count()*n.volume())});b.size();)d.push(b.pop());m(d,c);for(var w=new u;d.size();)w.push(d.pop());return w}}}().quantize,e=function(t){this.canvas=document.createElement(\"canvas\"),this.context=this.canvas.getContext(\"2d\"),this.width=this.canvas.width=t.naturalWidth,this.height=this.canvas.height=t.naturalHeight,this.context.drawImage(t,0,0,this.width,this.height)};e.prototype.getImageData=function(){return this.context.getImageData(0,0,this.width,this.height)};var u=function(){};u.prototype.getColor=function(t,r){return void 0===r&&(r=10),this.getPalette(t,5,r)[0]},u.prototype.getPalette=function(t,r,n){var i=function(t){var r=t.colorCount,n=t.quality;if(void 0!==r&&Number.isInteger(r)){if(1===r)throw new Error(\"colorCount should be between 2 and 20. To get one color, call getColor() instead of getPalette()\");r=Math.max(r,2),r=Math.min(r,20)}else r=10;return(void 0===n||!Number.isInteger(n)||n<1)&&(n=10),{colorCount:r,quality:n}}({colorCount:r,quality:n}),u=new e(t),a=function(t,r,n){for(var o,e,i,u,a,c=t,f=[],s=0;s<r;s+=n)e=c[0+(o=4*s)],i=c[o+1],u=c[o+2],(void 0===(a=c[o+3])||a>=125)&&(e>250&&i>250&&u>250||f.push([e,i,u]));return f}(u.getImageData().data,u.width*u.height,i.quality),c=o(a,i.colorCount);return c?c.palette():null},u.prototype.getColorFromUrl=function(t,r,n){var o=this,e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var i=o.getPalette(e,5,n);r(i[0],t)}),e.src=t},u.prototype.getImageData=function(t,r){var n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=\"arraybuffer\",n.onload=function(){if(200==this.status){var t=new Uint8Array(this.response);i=t.length;for(var n=new Array(i),o=0;o<t.length;o++)n[o]=String.fromCharCode(t[o]);var e=n.join(\"\"),u=window.btoa(e);r(\"data:image/png;base64,\"+u)}},n.send()},u.prototype.getColorAsync=function(t,r,n){var o=this;this.getImageData(t,function(t){var e=document.createElement(\"img\");e.addEventListener(\"load\",function(){var t=o.getPalette(e,5,n);r(t[0],this)}),e.src=t})};export{u as default};\n","import {\r\n desaturate as _desaturate,\r\n saturate as _saturate,\r\n transparentize as _transparentize,\r\n adjustHue,\r\n darken,\r\n getLuminance,\r\n getScale,\r\n hasBadContrast,\r\n lighten,\r\n toRgba,\r\n} from \"color2k\";\r\nimport ColorThief from \"colorthief\";\r\nimport { COLORS } from \"../constants\";\r\nimport { Palette } from \"../constants/palettes\";\r\n\r\n// Include any functions we wish to expose from color2k\r\nexport { darken, lighten, toHex, toRgba } from \"color2k\";\r\n\r\nexport type RGBArray = [number, number, number];\r\n\r\n/**\r\n * Converts an RGB array to a CSS string representation.\r\n * @param rgb - The RGB array to convert.\r\n * @param opacity - Optional opacity value.\r\n * @returns A CSS string representation of the RGB array, using `rgb()`, or `rgba()` if an opacity value is provided.\r\n */\r\nexport const arrayToRgbString = (rgb: RGBArray, opacity?: number): string => {\r\n return opacity === undefined\r\n ? `rgb(${rgb[0]}, ${rgb[1]}, ${rgb[2]})`\r\n : `rgba(${rgb[0]}, ${rgb[1]}, ${rgb[2]}, ${opacity})`;\r\n};\r\n\r\n/**\r\n * Transparentizes an input color.\r\n *\r\n * @param color - The color string to transparentize.\r\n * @param amount - The amount to increase the opacity of the color by, given as a decimal between 0 and 1.\r\n * @returns An RGBA color string.\r\n */\r\nexport const transparentize = (color: string, amount: number): string => {\r\n return toRgba(_transparentize(color, amount));\r\n};\r\n\r\n/**\r\n * Saturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to saturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const saturate = (color: string, amount: number): string => {\r\n return toRgba(_saturate(color, amount));\r\n};\r\n\r\n/**\r\n * Desaturates a color.\r\n *\r\n * @param color - Input color\r\n * @param amount - The amount to desaturate, given as a decimal between 0 and 1\r\n * @returns An RGBA color string.\r\n */\r\nexport const desaturate = (color: string, amount: number): string => {\r\n return toRgba(_desaturate(color, amount));\r\n};\r\n\r\n/**\r\n * Gets the dominant color of an image. Avoids issues with low contrast colors.\r\n * @reference https://github.com/lokesh/color-thief/issues/40\r\n * @param image - The image to get the dominant color from.\r\n * @returns A Promise that resolves to an RGB array.\r\n */\r\nexport function getDominantColor(image: HTMLImageElement): Promise<RGBArray>;\r\nexport function getDominantColor(image: string): Promise<RGBArray>;\r\nexport function getDominantColor(\r\n image: HTMLImageElement | string\r\n): Promise<RGBArray> {\r\n if (image instanceof HTMLImageElement) {\r\n return Promise.resolve(getDominantColorFromImage(image));\r\n } else {\r\n return getDominantColorFromImageUrl(image);\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImage(image: HTMLImageElement): RGBArray {\r\n try {\r\n const colorThief = new ColorThief();\r\n const baseColor = colorThief.getColor(image);\r\n return baseColor;\r\n } catch {\r\n return [255, 255, 255];\r\n }\r\n}\r\n\r\nfunction getDominantColorFromImageUrl(url: string): Promise<RGBArray> {\r\n return new Promise((resolve, reject) => {\r\n const imgElement = document.createElement(\"img\");\r\n imgElement.crossOrigin = \"anonymous\";\r\n\r\n imgElement.onload = () => {\r\n try {\r\n const baseColor = new ColorThief().getColor(imgElement);\r\n resolve(baseColor);\r\n } catch {\r\n resolve([255, 255, 255]);\r\n }\r\n };\r\n\r\n imgElement.onerror = () => reject(new Error(\"Failed to load image\"));\r\n imgElement.src = url;\r\n });\r\n}\r\n\r\n/**\r\n * Generates a complete color palette based on a primary color input.\r\n * The palette includes primary and secondary color scales with varying shades.\r\n *\r\n * @param primaryColor - The base RGB color array to generate the palette from\r\n * @returns A Palette object containing:\r\n * - BRAND colors (primary, light primary, and secondary)\r\n * - PRIMARY scale (7 shades from super dark to super light)\r\n * - SECONDARY scale (7 shades from super dark to super light)\r\n *\r\n * The function:\r\n * 1. Creates a 12-color scale from white to the primary color to black\r\n * 2. Generates a complementary secondary color by shifting the hue 180 degrees\r\n * 3. Creates another 12-color scale for the secondary color\r\n * 4. Maps specific positions from these scales to create the final palette structure\r\n */\r\nexport const generatePalette = (baseColor: RGBArray): Palette => {\r\n const primaryRgba = arrayToRgbString(baseColor);\r\n\r\n const primaryScaleFunc = getScale(\"#FFFFFF\", primaryRgba, \"#000000\");\r\n const primaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = primaryScaleFunc(i / 11);\r\n return desaturate(color, 0.0085);\r\n });\r\n\r\n const adjustedPrimaryScale = primaryScale.map((color) =>\r\n saturate(adjustBrightnessForLuminance(color), 0.005)\r\n );\r\n\r\n const secondaryColor = toRgba(saturate(adjustHue(primaryRgba, 180), 1));\r\n\r\n const secondaryScaleFunc = getScale(\"#FFFFFF\", secondaryColor, \"#000000\");\r\n const secondaryScale = Array.from({ length: 12 }, (_, i) => {\r\n const color = secondaryScaleFunc(i / 11);\r\n return desaturate(color, 0.1);\r\n });\r\n\r\n const adjustedSecondaryScale = secondaryScale.map((color) =>\r\n desaturate(adjustBrightnessForLuminance(color), 0.22)\r\n );\r\n\r\n const brandPrimary = darkenForContrast(\r\n saturate(adjustedPrimaryScale[5], 0.115)\r\n );\r\n\r\n return {\r\n BASE_COLOR: arrayToRgbString(baseColor),\r\n BRAND: {\r\n PRIMARY: brandPrimary,\r\n PRIMARY_LIGHT: lightenWithinRange(brandPrimary, 0.25, {\r\n min: 0.6,\r\n max: 0.8,\r\n }),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(brandPrimary, 0.15, {\r\n min: 0.8,\r\n max: 0.9,\r\n }),\r\n SECONDARY: desaturate(adjustedSecondaryScale[4], 0.02),\r\n },\r\n PRIMARY: {\r\n //backgrounds\r\n PRIMARY_SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n PRIMARY_DARK: lightenWithinRange(\r\n lightenForContrast(primaryScale[8]),\r\n -0.4,\r\n {\r\n min: 0.01,\r\n max: 0.02,\r\n }\r\n ),\r\n //interactive components\r\n PRIMARY_MEDIUM: lightenWithinRange(adjustedPrimaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n PRIMARY_MEDIUM_LIGHT: lightenWithinRange(\r\n desaturate(adjustedPrimaryScale[6], 0.1),\r\n 0.08\r\n ),\r\n //solid colors\r\n PRIMARY_LIGHT: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[5], 0.1),\r\n 0.16\r\n ),\r\n //accessible text\r\n PRIMARY_LIGHTEST: lightenWithinRange(\r\n saturate(adjustedPrimaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n PRIMARY_SUPER_LIGHT: lightenWithinRange(adjustedPrimaryScale[1], 0.02, {\r\n min: 0.86,\r\n max: 0.98,\r\n }),\r\n },\r\n SECONDARY: {\r\n //backgrounds\r\n SECONDARY_SUPER_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[9]),\r\n -0.6,\r\n {\r\n min: 0.0,\r\n max: 0.02,\r\n }\r\n ),\r\n SECONDARY_DARK: lightenWithinRange(\r\n lightenForContrast(secondaryScale[8]),\r\n -0.4,\r\n {\r\n min: 0.01,\r\n max: 0.02,\r\n }\r\n ),\r\n // interactive components\r\n SECONDARY_MEDIUM: lightenWithinRange(adjustedSecondaryScale[7], -0.2, {\r\n min: 0.0,\r\n max: 0.11,\r\n }),\r\n //borders and seperators\r\n SECONDARY_MEDIUM_LIGHT: lightenWithinRange(\r\n adjustedSecondaryScale[6],\r\n 0.1\r\n ),\r\n //solid colors\r\n SECONDARY_LIGHT: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[5], 0.1),\r\n 0.16\r\n ),\r\n //accessible text\r\n SECONDARY_LIGHTEST: lightenWithinRange(\r\n saturate(adjustedSecondaryScale[3], 0.2),\r\n 0.12,\r\n {\r\n min: 0.5,\r\n max: 0.9,\r\n }\r\n ),\r\n SECONDARY_SUPER_LIGHT: lightenWithinRange(\r\n adjustedSecondaryScale[0],\r\n 0.02,\r\n {\r\n min: 0.86,\r\n max: 0.98,\r\n }\r\n ),\r\n },\r\n SUCCESS: {\r\n SUCCESS_DARK: COLORS.SUCCESS.DARK,\r\n SUCCESS_MEDIUM: COLORS.SUCCESS.MEDIUM,\r\n SUCCESS_LIGHT: COLORS.SUCCESS.LIGHT,\r\n SUCCESS_SUPER_LIGHT: COLORS.SUCCESS.SUPER_LIGHT,\r\n },\r\n WARNING: {\r\n WARNING_DARK: COLORS.WARNING.DARK,\r\n WARNING_MEDIUM: COLORS.WARNING.MEDIUM,\r\n WARNING_LIGHT: COLORS.WARNING.LIGHT,\r\n WARNING_SUPER_LIGHT: COLORS.WARNING.SUPER_LIGHT,\r\n },\r\n DANGER: {\r\n DANGER_SUPER_DARK: COLORS.DANGER.SUPER_DARK,\r\n DANGER_DARK: COLORS.DANGER.DARK,\r\n DANGER_MEDIUM: COLORS.DANGER.MEDIUM,\r\n DANGER_LIGHT: COLORS.DANGER.LIGHT,\r\n DANGER_SUPER_LIGHT: COLORS.DANGER.SUPER_LIGHT,\r\n },\r\n };\r\n};\r\n\r\nconst lightenWithinRange = (\r\n color: string,\r\n amount: number,\r\n range: { min: number; max: number } = { min: 0.03, max: 0.97 }\r\n): string => {\r\n let adjustedColor = color;\r\n let currentLuminance = getLuminance(adjustedColor);\r\n\r\n // Validate range bounds\r\n if (range.min < 0) range.min = 0;\r\n if (range.max > 1) range.max = 1;\r\n if (range.min >= range.max) {\r\n throw new Error(\"Invalid range: min must be less than max\");\r\n }\r\n\r\n // For lightening (positive amount)\r\n if (amount > 0) {\r\n // Calculate how much we can lighten before hitting max\r\n const remainingLuminance = range.max - currentLuminance;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to lighten\r\n const scaledAmount = amount * (remainingLuminance / (1 - currentLuminance));\r\n adjustedColor = lighten(adjustedColor, scaledAmount);\r\n }\r\n // For darkening (negative amount)\r\n else if (amount < 0) {\r\n // Calculate how much we can darken before hitting min\r\n const remainingLuminance = currentLuminance - range.min;\r\n if (remainingLuminance <= 0) return toRgba(adjustedColor);\r\n\r\n // Scale the amount based on remaining room to darken\r\n const scaledAmount = amount * (remainingLuminance / currentLuminance);\r\n adjustedColor = darken(adjustedColor, Math.abs(scaledAmount));\r\n }\r\n\r\n // Verify final luminance is within bounds\r\n const finalLuminance = getLuminance(adjustedColor);\r\n if (finalLuminance > range.max) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n } else if (finalLuminance < range.min) {\r\n adjustedColor = adjustBrightnessWithinRange(adjustedColor, range);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst adjustBrightnessWithinRange = (\r\n color: string,\r\n range: { min: number; max: number }\r\n): string => {\r\n let adjustedColor = color;\r\n let luminance = getLuminance(adjustedColor);\r\n\r\n // Darken if too bright\r\n while (luminance > range.max) {\r\n adjustedColor = darken(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n // Lighten if too dark\r\n while (luminance < range.min) {\r\n adjustedColor = lighten(adjustedColor, 0.05);\r\n luminance = getLuminance(adjustedColor);\r\n }\r\n\r\n return toRgba(adjustedColor);\r\n};\r\n\r\nconst lightenForContrast = (color: string): string => {\r\n while (hasBadContrast(color, \"readable\", COLORS.GRAYSCALE.GRAY_DARK)) {\r\n color = lighten(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst darkenForContrast = (color: string): string => {\r\n while (hasBadContrast(COLORS.GRAYSCALE.GRAY_SUPER_LIGHT, \"readable\", color)) {\r\n color = darken(color, 0.01);\r\n }\r\n return toRgba(color);\r\n};\r\n\r\nconst adjustBrightnessForLuminance = (color: string): string => {\r\n let currentColor = color;\r\n let currentLuminance = getLuminance(toRgba(currentColor));\r\n let adjustmentAttempts = 0;\r\n const MAX_ATTEMPTS = 6;\r\n\r\n while (currentLuminance < 0.16 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = lighten(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n while (currentLuminance > 0.6 && adjustmentAttempts < MAX_ATTEMPTS) {\r\n adjustmentAttempts++;\r\n currentColor = darken(currentColor, 0.1);\r\n currentLuminance = getLuminance(toRgba(currentColor));\r\n }\r\n\r\n return toRgba(currentColor);\r\n};\r\n","const isString = (x: unknown): boolean =>\r\n typeof x === \"string\" || x instanceof String;\r\n\r\nexport function csx(...classnames: unknown[]): string {\r\n return classnames.filter(isString).join(\" \");\r\n}\r\n\r\n/**\r\n * [isUrlExternal] - determine if passed absolute url is external to the current domain.\r\n */\r\nexport const isUrlExternal = (url: string) => {\r\n return url.startsWith(\"http\");\r\n};\r\n\r\n/**\r\n * Handles internal navigation clicks by preventing default browser behavior and\r\n * programmatically updating the URL and history state.\r\n *\r\n * @param e - The click event from the anchor element\r\n * @param to - The destination path to navigate to\r\n *\r\n * @remarks\r\n * - Converts relative paths to absolute by prepending \"/\" if needed\r\n * - Updates browser history using pushState and dispatches a popstate event\r\n */\r\nexport const handleInternalNavigation = (\r\n e: React.MouseEvent<HTMLAnchorElement>,\r\n to: string\r\n) => {\r\n // Don't handle navigation if modifier keys are pressed\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n // Don't handle middle clicks or right clicks\r\n if (e.button && e.button !== 0) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n // Handle relative paths\r\n const resolvedPath = to.startsWith(\"/\") ? to : `/${to}`;\r\n window.history.pushState({}, \"\", resolvedPath);\r\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\r\n};\r\n"],"names":["t","r","n","o","e","i","u","a","c","f","s","h","v","l","g","p","b","m","d","w","arrayToRgbString","rgb","opacity","transparentize","color","amount","toRgba","_transparentize","saturate","_saturate","desaturate","_desaturate","getDominantColor","image","getDominantColorFromImage","getDominantColorFromImageUrl","ColorThief","url","resolve","reject","imgElement","baseColor","generatePalette","primaryRgba","primaryScaleFunc","getScale","primaryScale","_","adjustedPrimaryScale","adjustBrightnessForLuminance","secondaryColor","adjustHue","secondaryScaleFunc","secondaryScale","adjustedSecondaryScale","brandPrimary","darkenForContrast","lightenWithinRange","lightenForContrast","COLORS.SUCCESS","COLORS.WARNING","COLORS.DANGER","range","adjustedColor","currentLuminance","getLuminance","remainingLuminance","scaledAmount","lighten","darken","finalLuminance","adjustBrightnessWithinRange","luminance","hasBadContrast","COLORS.GRAYSCALE","currentColor","adjustmentAttempts","MAX_ATTEMPTS","isString","x","csx","classnames","isUrlExternal","handleInternalNavigation","to","resolvedPath"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"utils.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@protonradio/proton-ui",
|
|
3
|
-
"version": "0.11.0-beta.
|
|
3
|
+
"version": "0.11.0-beta.22",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./dist/proton-ui.umd.js",
|
|
6
6
|
"module": "./dist/proton-ui.es.js",
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"import": "./dist/index.es.js",
|
|
11
11
|
"require": "./dist/index.cjs.js"
|
|
12
12
|
},
|
|
13
|
-
"./styles": "./dist/style.css",
|
|
14
13
|
"./utils": {
|
|
15
14
|
"types": "./dist/utils.d.ts",
|
|
16
15
|
"import": "./dist/utils.es.js",
|
|
@@ -27,6 +26,9 @@
|
|
|
27
26
|
"require": "./dist/hooks.cjs.js"
|
|
28
27
|
}
|
|
29
28
|
},
|
|
29
|
+
"sideEffects": [
|
|
30
|
+
"**/*.css"
|
|
31
|
+
],
|
|
30
32
|
"typesVersions": {
|
|
31
33
|
"*": {
|
|
32
34
|
"*": [
|
|
@@ -46,6 +48,7 @@
|
|
|
46
48
|
"scripts": {
|
|
47
49
|
"dev": "vite",
|
|
48
50
|
"build": "vite build",
|
|
51
|
+
"build:analyze": "ANALYZE=true vite build",
|
|
49
52
|
"preview": "vite preview",
|
|
50
53
|
"publish-beta": "npm version prerelease --preid=beta && npm run build && npm publish --tag beta",
|
|
51
54
|
"storybook": "storybook dev -p 6006",
|
|
@@ -62,14 +65,16 @@
|
|
|
62
65
|
"author": "",
|
|
63
66
|
"license": "MIT",
|
|
64
67
|
"dependencies": {
|
|
68
|
+
"@radix-ui/react-portal": "^1.1.9",
|
|
65
69
|
"@storybook/cli": "^8.4.2",
|
|
66
70
|
"color2k": "^2.0.3",
|
|
71
|
+
"colorthief": "^2.6.0",
|
|
72
|
+
"radix-ui": "^1.4.2",
|
|
67
73
|
"react": "^18.3.1",
|
|
68
74
|
"react-aria": "^3.39.0",
|
|
69
75
|
"react-aria-components": "^1.8.0",
|
|
70
76
|
"react-dom": "^18.3.1",
|
|
71
|
-
"react-stately": "^3.37.0"
|
|
72
|
-
"colorthief": "^2.6.0"
|
|
77
|
+
"react-stately": "^3.37.0"
|
|
73
78
|
},
|
|
74
79
|
"devDependencies": {
|
|
75
80
|
"@chromatic-com/storybook": "^3.2.2",
|
|
@@ -95,6 +100,7 @@
|
|
|
95
100
|
"ts-jest": "^29.2.5",
|
|
96
101
|
"ts-node": "^10.9.2",
|
|
97
102
|
"vite": "^5.4.10",
|
|
103
|
+
"vite-bundle-analyzer": "^0.22.3",
|
|
98
104
|
"vite-plugin-dts": "^4.3.0"
|
|
99
105
|
}
|
|
100
106
|
}
|