@strands.gg/accui 2.17.24 → 2.17.26
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/dist/accui.css +1 -1
- package/dist/index.cjs.js +5 -5
- package/dist/index.es.js +864 -856
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as De, S as lt, U as Xa, a as Ja, b as es, c as ts, d as kt, M as as, e as _t, f as Yt, g as xa, u as Oa, C as _a, h as Ze, i as ht, j as Ra, k as mt, l as Ht } from "./StrandsUIPlugin-RTFzvRED.es.js";
|
|
2
2
|
import { m as td } from "./StrandsUIPlugin-RTFzvRED.es.js";
|
|
3
|
-
import { defineComponent as Ve, computed as
|
|
3
|
+
import { defineComponent as Ve, computed as U, provide as Xt, onMounted as We, onUnmounted as xt, createElementBlock as o, openBlock as a, normalizeClass as be, createElementVNode as e, createBlock as Ce, renderSlot as je, Teleport as qt, createCommentVNode as I, toDisplayString as R, ref as $, watch as Le, createTextVNode as Q, reactive as Ye, withModifiers as Be, createStaticVNode as Jt, createVNode as d, withDirectives as Xe, withCtx as x, unref as n, vModelText as Je, nextTick as yt, Fragment as Ue, Transition as rt, createSlots as Zt, normalizeStyle as Oe, renderList as Ke, mergeProps as $a, useSlots as ga, inject as ma, resolveDynamicComponent as ot, onBeforeUnmount as Fa, withKeys as Re, h as oe, isMemoSame as ss, getCurrentInstance as os } from "vue";
|
|
4
4
|
import { u as pt, p as La } from "./useStrandsConfig-CMKVW1p3.es.js";
|
|
5
5
|
import { s as sd } from "./useStrandsConfig-CMKVW1p3.es.js";
|
|
6
6
|
import { u as ft } from "./useStrandsAuth-mv5zJr7L.es.js";
|
|
@@ -18,19 +18,19 @@ const ls = { class: "app-content" }, ns = {
|
|
|
18
18
|
loadingMessage: { default: "" }
|
|
19
19
|
},
|
|
20
20
|
setup(s) {
|
|
21
|
-
const r = s, t =
|
|
21
|
+
const r = s, t = U(() => r.loading), l = U(() => ({
|
|
22
22
|
"ui-app--light": r.theme === "light",
|
|
23
23
|
"ui-app--dark": r.theme === "dark",
|
|
24
24
|
"ui-app--auto": r.theme === "auto",
|
|
25
25
|
"ui-app--loading": t.value
|
|
26
26
|
})), z = (y) => {
|
|
27
|
-
}, V =
|
|
27
|
+
}, V = U(() => r.theme);
|
|
28
28
|
return Xt("uiApp", {
|
|
29
29
|
theme: V,
|
|
30
30
|
isLoading: t
|
|
31
31
|
}), Xt("themeProvider", {
|
|
32
32
|
theme: V,
|
|
33
|
-
isForced:
|
|
33
|
+
isForced: U(() => r.theme !== "auto")
|
|
34
34
|
}), We(() => {
|
|
35
35
|
document.addEventListener("keydown", z), document.body.classList.add("ui-app-body"), r.theme !== "auto" && document.body.classList.add(`ui-app-theme--${r.theme}`);
|
|
36
36
|
}), xt(() => {
|
|
@@ -136,28 +136,28 @@ const Ha = kt("users", [
|
|
|
136
136
|
},
|
|
137
137
|
emits: ["update:modelValue", "change"],
|
|
138
138
|
setup(s, { emit: r }) {
|
|
139
|
-
const t = s, l = r, z =
|
|
140
|
-
Le(() => t.checked, (
|
|
141
|
-
|
|
139
|
+
const t = s, l = r, z = $(!1), V = U(() => t.modelValue !== void 0 ? !!t.modelValue : t.checked !== void 0 ? typeof t.checked == "string" ? t.checked === "" || t.checked === "true" : !!t.checked : z.value);
|
|
140
|
+
Le(() => t.checked, (M) => {
|
|
141
|
+
M !== void 0 && (typeof M == "string" ? z.value = M === "" || M === "true" : z.value = !!M);
|
|
142
142
|
}, { immediate: !0 });
|
|
143
|
-
const y =
|
|
143
|
+
const y = U(() => t.id || `ui-toggle-${Math.random().toString(36).substr(2, 9)}`), k = U(() => [
|
|
144
144
|
"ui-toggle",
|
|
145
145
|
{
|
|
146
146
|
"ui-toggle--on": V.value,
|
|
147
147
|
"ui-toggle--off": !V.value,
|
|
148
148
|
"ui-toggle--disabled": t.disabled
|
|
149
149
|
}
|
|
150
|
-
]), u =
|
|
150
|
+
]), u = U(() => [
|
|
151
151
|
{
|
|
152
152
|
"ui-toggle-thumb--on": V.value,
|
|
153
153
|
"ui-toggle-thumb--off": !V.value
|
|
154
154
|
}
|
|
155
|
-
]),
|
|
155
|
+
]), g = () => {
|
|
156
156
|
if (t.disabled) return;
|
|
157
|
-
const
|
|
158
|
-
z.value =
|
|
157
|
+
const M = !V.value;
|
|
158
|
+
z.value = M, l("update:modelValue", M), l("change", M);
|
|
159
159
|
};
|
|
160
|
-
return (
|
|
160
|
+
return (M, A) => (a(), o("div", hs, [
|
|
161
161
|
s.label ? (a(), o("label", {
|
|
162
162
|
key: 0,
|
|
163
163
|
for: y.value,
|
|
@@ -172,7 +172,7 @@ const Ha = kt("users", [
|
|
|
172
172
|
class: be(k.value),
|
|
173
173
|
"aria-pressed": V.value,
|
|
174
174
|
"aria-labelledby": s.label ? `${y.value}-label` : void 0,
|
|
175
|
-
onClick:
|
|
175
|
+
onClick: g
|
|
176
176
|
}, [
|
|
177
177
|
e("span", {
|
|
178
178
|
class: be(["ui-toggle-thumb", u.value])
|
|
@@ -194,11 +194,11 @@ const Ha = kt("users", [
|
|
|
194
194
|
},
|
|
195
195
|
emits: ["upload", "error"],
|
|
196
196
|
setup(s, { emit: r }) {
|
|
197
|
-
const t = s, l = r, z =
|
|
197
|
+
const t = s, l = r, z = $(), V = $(), y = $(), k = $(""), u = $(), g = $(t.size), M = $(t.previewSize), A = $(t.size / 2.5), c = Ye({ x: 0, y: 0 }), h = $(1), E = $(0.1), D = $(3), C = $(!1), N = $(!1), p = $(!1), L = Ye({ x: 0, y: 0, imageX: 0, imageY: 0 });
|
|
198
198
|
We(() => {
|
|
199
199
|
if (V.value) {
|
|
200
200
|
const j = V.value.getContext("2d");
|
|
201
|
-
j && (j.fillStyle = "#f9fafb", j.fillRect(0, 0,
|
|
201
|
+
j && (j.fillStyle = "#f9fafb", j.fillRect(0, 0, g.value, g.value));
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
const O = () => {
|
|
@@ -233,9 +233,9 @@ const Ha = kt("users", [
|
|
|
233
233
|
A.value * 2 / K.width,
|
|
234
234
|
A.value * 2 / K.height
|
|
235
235
|
), ae = ie;
|
|
236
|
-
|
|
236
|
+
E.value = ie, D.value = Math.max(1, ie);
|
|
237
237
|
const W = K.width * ae, le = K.height * ae;
|
|
238
|
-
c.x = (
|
|
238
|
+
c.x = (g.value - W) / 2, c.y = (g.value - le) / 2, h.value = ae, ue(), yt(() => {
|
|
239
239
|
N.value = !1;
|
|
240
240
|
}), yt(() => {
|
|
241
241
|
b();
|
|
@@ -245,15 +245,15 @@ const Ha = kt("users", [
|
|
|
245
245
|
if (!u.value || !V.value) return;
|
|
246
246
|
const j = V.value.getContext("2d");
|
|
247
247
|
if (!j) return;
|
|
248
|
-
j.fillStyle = "#f9fafb", j.fillRect(0, 0,
|
|
249
|
-
const K = u.value, ie = K.width *
|
|
248
|
+
j.fillStyle = "#f9fafb", j.fillRect(0, 0, g.value, g.value);
|
|
249
|
+
const K = u.value, ie = K.width * h.value, ae = K.height * h.value;
|
|
250
250
|
j.drawImage(K, c.x, c.y, ie, ae), T();
|
|
251
251
|
}, T = () => {
|
|
252
252
|
if (!u.value || !y.value || !V.value) return;
|
|
253
253
|
const j = y.value.getContext("2d");
|
|
254
254
|
if (!j) return;
|
|
255
|
-
j.fillStyle = "#ffffff", j.fillRect(0, 0,
|
|
256
|
-
const K =
|
|
255
|
+
j.fillStyle = "#ffffff", j.fillRect(0, 0, M.value, M.value), j.save(), j.beginPath(), j.arc(M.value / 2, M.value / 2, M.value / 2, 0, Math.PI * 2), j.clip();
|
|
256
|
+
const K = g.value / 2 - A.value, ie = g.value / 2 - A.value, ae = A.value * 2;
|
|
257
257
|
j.drawImage(
|
|
258
258
|
V.value,
|
|
259
259
|
K,
|
|
@@ -262,14 +262,14 @@ const Ha = kt("users", [
|
|
|
262
262
|
ae,
|
|
263
263
|
0,
|
|
264
264
|
0,
|
|
265
|
-
|
|
266
|
-
|
|
265
|
+
M.value,
|
|
266
|
+
M.value
|
|
267
267
|
), j.restore();
|
|
268
268
|
}, te = (j) => {
|
|
269
269
|
u.value && (C.value = !0, L.x = j.clientX, L.y = j.clientY, L.imageX = c.x, L.imageY = c.y, document.addEventListener("mousemove", ye), document.addEventListener("mouseup", Me));
|
|
270
270
|
}, ue = () => {
|
|
271
271
|
if (!u.value) return;
|
|
272
|
-
const j = u.value, K = j.width *
|
|
272
|
+
const j = u.value, K = j.width * h.value, ie = j.height * h.value, ae = g.value / 2 - A.value, W = g.value / 2 - A.value, le = g.value / 2 + A.value, _e = g.value / 2 + A.value, Te = le - K, Ee = ae, $e = _e - ie, re = W;
|
|
273
273
|
c.x = Math.min(Ee, Math.max(Te, c.x)), c.y = Math.min(re, Math.max($e, c.y));
|
|
274
274
|
}, ye = (j) => {
|
|
275
275
|
if (!C.value) return;
|
|
@@ -279,11 +279,11 @@ const Ha = kt("users", [
|
|
|
279
279
|
C.value = !1, document.removeEventListener("mousemove", ye), document.removeEventListener("mouseup", Me);
|
|
280
280
|
}, Ae = (j) => {
|
|
281
281
|
j.preventDefault();
|
|
282
|
-
const K = j.deltaY > 0 ? -0.05 : 0.05, ie = Math.max(
|
|
283
|
-
if (ie !==
|
|
282
|
+
const K = j.deltaY > 0 ? -0.05 : 0.05, ie = Math.max(E.value, Math.min(D.value, h.value + K));
|
|
283
|
+
if (ie !== h.value && u.value) {
|
|
284
284
|
p.value = !0;
|
|
285
|
-
const ae = u.value, W =
|
|
286
|
-
c.x = W + Ie - Te / 2, c.y = W + G - Ee / 2,
|
|
285
|
+
const ae = u.value, W = g.value / 2, le = ae.width * h.value, _e = ae.height * h.value, Te = ae.width * ie, Ee = ae.height * ie, $e = c.x + le / 2 - W, re = c.y + _e / 2 - W, ve = ie / h.value, Ie = $e * ve, G = re * ve;
|
|
286
|
+
c.x = W + Ie - Te / 2, c.y = W + G - Ee / 2, h.value = ie, ue(), b(), setTimeout(() => {
|
|
287
287
|
p.value = !1;
|
|
288
288
|
}, 16);
|
|
289
289
|
}
|
|
@@ -295,9 +295,9 @@ const Ha = kt("users", [
|
|
|
295
295
|
A.value * 2 / j.width,
|
|
296
296
|
A.value * 2 / j.height
|
|
297
297
|
), ie = K;
|
|
298
|
-
|
|
298
|
+
E.value = K, D.value = Math.max(1, K);
|
|
299
299
|
const ae = j.width * ie, W = j.height * ie;
|
|
300
|
-
c.x = (
|
|
300
|
+
c.x = (g.value - ae) / 2, c.y = (g.value - W) / 2, h.value = ie, ue(), yt(() => {
|
|
301
301
|
N.value = !1;
|
|
302
302
|
}), b();
|
|
303
303
|
}, xe = async () => {
|
|
@@ -307,7 +307,7 @@ const Ha = kt("users", [
|
|
|
307
307
|
const K = j.getContext("2d");
|
|
308
308
|
if (!K) return;
|
|
309
309
|
K.fillStyle = "#ffffff", K.fillRect(0, 0, 256, 256), K.save(), K.beginPath(), K.arc(128, 128, 128, 0, Math.PI * 2), K.clip();
|
|
310
|
-
const ie =
|
|
310
|
+
const ie = g.value / 2 - A.value, ae = g.value / 2 - A.value, W = A.value * 2;
|
|
311
311
|
K.drawImage(
|
|
312
312
|
V.value,
|
|
313
313
|
ie,
|
|
@@ -327,10 +327,10 @@ const Ha = kt("users", [
|
|
|
327
327
|
}, ne = () => {
|
|
328
328
|
O();
|
|
329
329
|
};
|
|
330
|
-
return Le(
|
|
330
|
+
return Le(h, (j, K) => {
|
|
331
331
|
if (!(N.value || p.value)) {
|
|
332
332
|
if (j !== K && u.value && K > 0 && K !== 1) {
|
|
333
|
-
const ie = u.value, ae =
|
|
333
|
+
const ie = u.value, ae = g.value / 2, W = ie.width * K, le = ie.height * K, _e = ie.width * j, Te = ie.height * j, Ee = c.x + W / 2 - ae, $e = c.y + le / 2 - ae, re = j / K, ve = Ee * re, Ie = $e * re;
|
|
334
334
|
c.x = ae + ve - _e / 2, c.y = ae + Ie - Te / 2;
|
|
335
335
|
}
|
|
336
336
|
b();
|
|
@@ -353,8 +353,8 @@ const Ha = kt("users", [
|
|
|
353
353
|
e("canvas", {
|
|
354
354
|
ref_key: "canvas",
|
|
355
355
|
ref: V,
|
|
356
|
-
width:
|
|
357
|
-
height:
|
|
356
|
+
width: g.value,
|
|
357
|
+
height: g.value,
|
|
358
358
|
class: "canvas",
|
|
359
359
|
onMousedown: te,
|
|
360
360
|
onWheel: Ae
|
|
@@ -367,13 +367,13 @@ const Ha = kt("users", [
|
|
|
367
367
|
e("rect", {
|
|
368
368
|
x: "0",
|
|
369
369
|
y: "0",
|
|
370
|
-
width:
|
|
371
|
-
height:
|
|
370
|
+
width: g.value,
|
|
371
|
+
height: g.value,
|
|
372
372
|
fill: "white"
|
|
373
373
|
}, null, 8, Vs),
|
|
374
374
|
e("circle", {
|
|
375
|
-
cx:
|
|
376
|
-
cy:
|
|
375
|
+
cx: g.value / 2,
|
|
376
|
+
cy: g.value / 2,
|
|
377
377
|
r: A.value,
|
|
378
378
|
fill: "black"
|
|
379
379
|
}, null, 8, Is)
|
|
@@ -382,8 +382,8 @@ const Ha = kt("users", [
|
|
|
382
382
|
e("rect", {
|
|
383
383
|
x: "0",
|
|
384
384
|
y: "0",
|
|
385
|
-
width:
|
|
386
|
-
height:
|
|
385
|
+
width: g.value,
|
|
386
|
+
height: g.value,
|
|
387
387
|
fill: "black",
|
|
388
388
|
opacity: "0.5",
|
|
389
389
|
mask: "url(#backdrop-mask)"
|
|
@@ -392,8 +392,8 @@ const Ha = kt("users", [
|
|
|
392
392
|
]),
|
|
393
393
|
(a(), o("svg", Es, [
|
|
394
394
|
e("circle", {
|
|
395
|
-
cx:
|
|
396
|
-
cy:
|
|
395
|
+
cx: g.value / 2,
|
|
396
|
+
cy: g.value / 2,
|
|
397
397
|
r: A.value,
|
|
398
398
|
fill: "none",
|
|
399
399
|
stroke: "white",
|
|
@@ -407,7 +407,7 @@ const Ha = kt("users", [
|
|
|
407
407
|
e("div", Ds, [
|
|
408
408
|
d(lt, {
|
|
409
409
|
onClick: K[2] || (K[2] = (ie) => {
|
|
410
|
-
|
|
410
|
+
h.value = Math.max(E.value, h.value - 0.1), ue(), b();
|
|
411
411
|
}),
|
|
412
412
|
icon: !0,
|
|
413
413
|
squircle: !0,
|
|
@@ -422,9 +422,9 @@ const Ha = kt("users", [
|
|
|
422
422
|
}),
|
|
423
423
|
Xe(e("input", {
|
|
424
424
|
type: "range",
|
|
425
|
-
"onUpdate:modelValue": K[3] || (K[3] = (ie) =>
|
|
426
|
-
min:
|
|
427
|
-
max:
|
|
425
|
+
"onUpdate:modelValue": K[3] || (K[3] = (ie) => h.value = ie),
|
|
426
|
+
min: E.value,
|
|
427
|
+
max: D.value,
|
|
428
428
|
step: 0.01,
|
|
429
429
|
class: "zoom-slider",
|
|
430
430
|
onInput: K[4] || (K[4] = (ie) => {
|
|
@@ -433,14 +433,14 @@ const Ha = kt("users", [
|
|
|
433
433
|
}, null, 40, Ns), [
|
|
434
434
|
[
|
|
435
435
|
Je,
|
|
436
|
-
|
|
436
|
+
h.value,
|
|
437
437
|
void 0,
|
|
438
438
|
{ number: !0 }
|
|
439
439
|
]
|
|
440
440
|
]),
|
|
441
441
|
d(lt, {
|
|
442
442
|
onClick: K[5] || (K[5] = (ie) => {
|
|
443
|
-
|
|
443
|
+
h.value = Math.min(D.value, h.value + 0.1), ue(), b();
|
|
444
444
|
}),
|
|
445
445
|
icon: !0,
|
|
446
446
|
squircle: !0,
|
|
@@ -496,8 +496,8 @@ const Ha = kt("users", [
|
|
|
496
496
|
e("canvas", {
|
|
497
497
|
ref_key: "previewCanvas",
|
|
498
498
|
ref: y,
|
|
499
|
-
width:
|
|
500
|
-
height:
|
|
499
|
+
width: M.value,
|
|
500
|
+
height: M.value,
|
|
501
501
|
class: "preview-canvas"
|
|
502
502
|
}, null, 8, Os)
|
|
503
503
|
]),
|
|
@@ -559,8 +559,8 @@ class Sa {
|
|
|
559
559
|
{ freq: 783.99, time: 0.3 }
|
|
560
560
|
// G5
|
|
561
561
|
].forEach((u) => {
|
|
562
|
-
const
|
|
563
|
-
|
|
562
|
+
const g = r.createOscillator(), M = r.createGain();
|
|
563
|
+
g.connect(M), M.connect(r.destination), g.type = "sine", g.frequency.setValueAtTime(u.freq, t + u.time), g.frequency.exponentialRampToValueAtTime(u.freq * 1.02, t + u.time + 0.1), g.frequency.exponentialRampToValueAtTime(u.freq, t + u.time + 0.4), M.gain.setValueAtTime(0, t + u.time), M.gain.linearRampToValueAtTime(0.08, t + u.time + 0.03), M.gain.linearRampToValueAtTime(0.06, t + u.time + 0.2), M.gain.exponentialRampToValueAtTime(0.01, t + u.time + 0.5), g.start(t + u.time), g.stop(t + u.time + 0.5);
|
|
564
564
|
});
|
|
565
565
|
const z = r.createOscillator(), V = r.createGain();
|
|
566
566
|
z.connect(V), V.connect(r.destination), z.type = "triangle", z.frequency.setValueAtTime(261.63, t), V.gain.setValueAtTime(0, t), V.gain.linearRampToValueAtTime(0.04, t + 0.1), V.gain.linearRampToValueAtTime(0.03, t + 0.4), V.gain.exponentialRampToValueAtTime(0.01, t + 0.8), z.start(t), z.stop(t + 0.8);
|
|
@@ -587,16 +587,16 @@ class Sa {
|
|
|
587
587
|
{ freq: 659.25, time: 0.8 }
|
|
588
588
|
// E5
|
|
589
589
|
].forEach((u) => {
|
|
590
|
-
const
|
|
591
|
-
|
|
590
|
+
const g = r.createOscillator(), M = r.createGain();
|
|
591
|
+
g.connect(M), M.connect(r.destination), g.type = "sine", g.frequency.setValueAtTime(u.freq, t + u.time), M.gain.setValueAtTime(0, t + u.time), M.gain.linearRampToValueAtTime(0.15, t + u.time + 0.05), M.gain.exponentialRampToValueAtTime(0.01, t + u.time + 0.8), g.start(t + u.time), g.stop(t + u.time + 0.8);
|
|
592
592
|
}), [
|
|
593
593
|
{ freq: 130.81, time: 0, duration: 1.5 },
|
|
594
594
|
// C3
|
|
595
595
|
{ freq: 196, time: 0.8, duration: 1.7 }
|
|
596
596
|
// G3
|
|
597
597
|
].forEach((u) => {
|
|
598
|
-
const
|
|
599
|
-
|
|
598
|
+
const g = r.createOscillator(), M = r.createGain();
|
|
599
|
+
g.connect(M), M.connect(r.destination), g.type = "triangle", g.frequency.setValueAtTime(u.freq, t + u.time), M.gain.setValueAtTime(0, t + u.time), M.gain.linearRampToValueAtTime(0.08, t + u.time + 0.3), M.gain.exponentialRampToValueAtTime(0.01, t + u.time + u.duration), g.start(t + u.time), g.stop(t + u.time + u.duration);
|
|
600
600
|
}), [
|
|
601
601
|
{ freq: 1046.5, time: 1 },
|
|
602
602
|
// C6
|
|
@@ -605,11 +605,11 @@ class Sa {
|
|
|
605
605
|
{ freq: 1567.98, time: 1.6 }
|
|
606
606
|
// G6
|
|
607
607
|
].forEach((u) => {
|
|
608
|
-
const
|
|
609
|
-
|
|
608
|
+
const g = r.createOscillator(), M = r.createGain();
|
|
609
|
+
g.connect(M), M.connect(r.destination), g.type = "sine", g.frequency.setValueAtTime(u.freq, t + u.time), M.gain.setValueAtTime(0, t + u.time), M.gain.linearRampToValueAtTime(0.1, t + u.time + 0.02), M.gain.exponentialRampToValueAtTime(0.01, t + u.time + 0.4), g.start(t + u.time), g.stop(t + u.time + 0.4);
|
|
610
610
|
}), [261.63, 329.63, 392, 523.25].forEach((u) => {
|
|
611
|
-
const
|
|
612
|
-
|
|
611
|
+
const g = r.createOscillator(), M = r.createGain();
|
|
612
|
+
g.connect(M), M.connect(r.destination), g.type = "sine", g.frequency.setValueAtTime(u, t + 1.8), M.gain.setValueAtTime(0, t + 1.8), M.gain.linearRampToValueAtTime(0.12, t + 1.9), M.gain.exponentialRampToValueAtTime(0.01, t + l), g.start(t + 1.8), g.stop(t + l);
|
|
613
613
|
});
|
|
614
614
|
}
|
|
615
615
|
/**
|
|
@@ -623,8 +623,8 @@ class Sa {
|
|
|
623
623
|
[659.25, 830.61].forEach((z, V) => {
|
|
624
624
|
const y = r.createOscillator(), k = r.createGain();
|
|
625
625
|
y.connect(k), k.connect(r.destination), y.type = "sine", y.frequency.setValueAtTime(z, t);
|
|
626
|
-
const u = V * 0.1,
|
|
627
|
-
k.gain.setValueAtTime(0, t), k.gain.linearRampToValueAtTime(0.2, t + u + 0.01), k.gain.exponentialRampToValueAtTime(0.01, t + u +
|
|
626
|
+
const u = V * 0.1, g = 0.15;
|
|
627
|
+
k.gain.setValueAtTime(0, t), k.gain.linearRampToValueAtTime(0.2, t + u + 0.01), k.gain.exponentialRampToValueAtTime(0.01, t + u + g), y.start(t + u), y.stop(t + u + g);
|
|
628
628
|
});
|
|
629
629
|
}
|
|
630
630
|
/**
|
|
@@ -701,31 +701,31 @@ const Fs = (s, r) => Sa.playLevelUp(s, r), qs = { class: "level-progress-contain
|
|
|
701
701
|
},
|
|
702
702
|
emits: ["levelup"],
|
|
703
703
|
setup(s, { emit: r }) {
|
|
704
|
-
const t = s, l = r, z =
|
|
705
|
-
let k = null, u = t.value,
|
|
706
|
-
const
|
|
704
|
+
const t = s, l = r, z = $(!1), V = $(t.value), y = $("forward");
|
|
705
|
+
let k = null, u = t.value, g = t.level;
|
|
706
|
+
const M = Kt, A = t.size ?? Kt, c = Kt / 2, h = U(() => t.thickness ?? 24), E = U(() => t.labelThickness ?? 46), D = U(() => t.gapAngle ?? 16), C = U(() => (Kt - h.value) / 2 - Da), N = U(() => (Kt - E.value) / 1.9 - Da), p = U(() => N.value + 10), L = U(() => C.value - h.value / 2 - so), O = U(() => t.levelLabel?.length ?? 0), S = U(() => O.value * no + lo), w = U(() => -S.value / 2), q = U(() => S.value / 2), Z = U(
|
|
707
707
|
() => xe(c, c, N.value, w.value, q.value)
|
|
708
|
-
), b =
|
|
708
|
+
), b = U(
|
|
709
709
|
() => (
|
|
710
710
|
// Top arc: right to left, so text is right-side up at the top after rotation
|
|
711
711
|
xe(c, c, p.value, -90, 90)
|
|
712
712
|
)
|
|
713
|
-
), T =
|
|
714
|
-
const ie = Math.max(0, Math.min(1, V.value / t.max)), ae = q.value +
|
|
713
|
+
), T = U(() => {
|
|
714
|
+
const ie = Math.max(0, Math.min(1, V.value / t.max)), ae = q.value + D.value, W = 360 - S.value - 3 * D.value;
|
|
715
715
|
if (ie >= 1) {
|
|
716
|
-
const Te = w.value -
|
|
716
|
+
const Te = w.value - D.value + 360;
|
|
717
717
|
return xe(c, c, C.value, ae, Te);
|
|
718
718
|
}
|
|
719
719
|
const le = W * ie, _e = ae + le;
|
|
720
720
|
return xe(c, c, C.value, ae, _e);
|
|
721
|
-
}), te =
|
|
722
|
-
const ie = q.value +
|
|
721
|
+
}), te = U(() => {
|
|
722
|
+
const ie = q.value + D.value, ae = 360 - S.value - 3 * D.value, W = Math.max(0, Math.min(1, V.value / t.max)), le = ae * W, _e = ie + le, Te = W === 0 ? ie : _e + D.value, Ee = w.value - D.value + 360;
|
|
723
723
|
return xe(c, c, C.value, Te, Ee);
|
|
724
|
-
}), ue =
|
|
725
|
-
const ie = q.value +
|
|
724
|
+
}), ue = U(() => "url(#staticGradient)"), ye = U(() => "url(#progressGradient)"), Me = U(() => {
|
|
725
|
+
const ie = q.value + D.value;
|
|
726
726
|
return Se(c, c, C.value, ie);
|
|
727
|
-
}), Ae =
|
|
728
|
-
const ie = q.value +
|
|
727
|
+
}), Ae = U(() => {
|
|
728
|
+
const ie = q.value + D.value, ae = 360 - S.value - 3 * D.value, W = Math.max(0, Math.min(1, V.value / t.max)), le = ae * W, _e = ie + le;
|
|
729
729
|
return Se(c, c, C.value, _e);
|
|
730
730
|
});
|
|
731
731
|
function Se(ie, ae, W, le) {
|
|
@@ -773,12 +773,12 @@ const Fs = (s, r) => Sa.playLevelUp(s, r), qs = { class: "level-progress-contain
|
|
|
773
773
|
return Le(() => t.value, (ie) => {
|
|
774
774
|
y.value = ie >= u ? "forward" : "backward", j(ie, u), u = ie;
|
|
775
775
|
}), Le(() => t.level, (ie) => {
|
|
776
|
-
ie !==
|
|
776
|
+
ie !== g && ie > g && K(), g = ie;
|
|
777
777
|
}), (ie, ae) => (a(), o("div", qs, [
|
|
778
778
|
(a(), o("svg", {
|
|
779
779
|
width: n(A),
|
|
780
780
|
height: n(A),
|
|
781
|
-
viewBox: `0 0 ${n(
|
|
781
|
+
viewBox: `0 0 ${n(M)} ${n(M)}`,
|
|
782
782
|
style: { position: "relative" }
|
|
783
783
|
}, [
|
|
784
784
|
z.value ? (a(), o("g", Ks, [
|
|
@@ -803,14 +803,14 @@ const Fs = (s, r) => Sa.playLevelUp(s, r), qs = { class: "level-progress-contain
|
|
|
803
803
|
key: 1,
|
|
804
804
|
d: te.value,
|
|
805
805
|
stroke: "#ddd",
|
|
806
|
-
"stroke-width":
|
|
806
|
+
"stroke-width": h.value,
|
|
807
807
|
fill: "none",
|
|
808
808
|
"stroke-linecap": "round"
|
|
809
809
|
}, null, 8, Ws)) : I("", !0),
|
|
810
810
|
e("path", {
|
|
811
811
|
d: Z.value,
|
|
812
812
|
stroke: ue.value,
|
|
813
|
-
"stroke-width":
|
|
813
|
+
"stroke-width": E.value,
|
|
814
814
|
fill: "none",
|
|
815
815
|
"stroke-linecap": "round"
|
|
816
816
|
}, null, 8, Qs),
|
|
@@ -825,7 +825,7 @@ const Fs = (s, r) => Sa.playLevelUp(s, r), qs = { class: "level-progress-contain
|
|
|
825
825
|
key: 2,
|
|
826
826
|
d: T.value,
|
|
827
827
|
stroke: ye.value,
|
|
828
|
-
"stroke-width":
|
|
828
|
+
"stroke-width": h.value,
|
|
829
829
|
fill: "none",
|
|
830
830
|
"stroke-linecap": "round"
|
|
831
831
|
}, null, 8, Js)) : I("", !0),
|
|
@@ -953,21 +953,21 @@ function uo(s = {}) {
|
|
|
953
953
|
closeOnEscape: r = !0,
|
|
954
954
|
priority: t = "normal",
|
|
955
955
|
component: l
|
|
956
|
-
} = s, z =
|
|
956
|
+
} = s, z = $(null), V = $(!1), y = $(null), k = async (A) => {
|
|
957
957
|
if (V.value) return;
|
|
958
958
|
const c = /* @__PURE__ */ Symbol("modal");
|
|
959
959
|
z.value = c;
|
|
960
|
-
const
|
|
960
|
+
const h = Ft.add({
|
|
961
961
|
id: c,
|
|
962
962
|
closeModal: A || u,
|
|
963
963
|
closeOnEscape: r,
|
|
964
964
|
priority: t,
|
|
965
965
|
component: l
|
|
966
966
|
});
|
|
967
|
-
return y.value =
|
|
967
|
+
return y.value = h, V.value = !0, await yt(), h;
|
|
968
968
|
}, u = () => {
|
|
969
969
|
!z.value || !V.value || (Ft.remove(z.value), z.value = null, y.value = null, V.value = !1);
|
|
970
|
-
},
|
|
970
|
+
}, g = () => z.value ? document.querySelector(`[data-modal-id="${z.value.toString()}"]`) : null, M = () => y.value ? document.querySelector(`.ui-app-modal-backdrop[style*="z-index: ${y.value.zIndex - 1}"]`) : null;
|
|
971
971
|
try {
|
|
972
972
|
xt(() => {
|
|
973
973
|
V.value && u();
|
|
@@ -983,8 +983,8 @@ function uo(s = {}) {
|
|
|
983
983
|
openModal: k,
|
|
984
984
|
closeModal: u,
|
|
985
985
|
// Utilities
|
|
986
|
-
getModalContainer:
|
|
987
|
-
getModalBackdrop:
|
|
986
|
+
getModalContainer: g,
|
|
987
|
+
getModalBackdrop: M,
|
|
988
988
|
// Computed values
|
|
989
989
|
zIndex: () => y.value?.zIndex || 0,
|
|
990
990
|
isTopModal: () => {
|
|
@@ -1001,7 +1001,7 @@ function Mc(s) {
|
|
|
1001
1001
|
};
|
|
1002
1002
|
}
|
|
1003
1003
|
function $c() {
|
|
1004
|
-
const s =
|
|
1004
|
+
const s = $(Ft.state), r = Ft.subscribe((t) => {
|
|
1005
1005
|
s.value = t;
|
|
1006
1006
|
});
|
|
1007
1007
|
try {
|
|
@@ -1046,13 +1046,13 @@ const co = {
|
|
|
1046
1046
|
},
|
|
1047
1047
|
emits: ["update:modelValue", "open", "close"],
|
|
1048
1048
|
setup(s, { emit: r }) {
|
|
1049
|
-
const t = s, l = r, z =
|
|
1049
|
+
const t = s, l = r, z = $(!1), V = $(null), y = $(null), k = $(null), u = uo({
|
|
1050
1050
|
closeOnEscape: t.closeOnEscape,
|
|
1051
1051
|
priority: "normal",
|
|
1052
1052
|
component: "UiModal"
|
|
1053
1053
|
});
|
|
1054
|
-
|
|
1055
|
-
const
|
|
1054
|
+
$(!0);
|
|
1055
|
+
const g = U(() => t.modelValue !== void 0 ? t.modelValue : z.value), M = U(() => ({
|
|
1056
1056
|
sm: "ui-modal-size-sm",
|
|
1057
1057
|
md: "ui-modal-size-md",
|
|
1058
1058
|
lg: "ui-modal-size-lg",
|
|
@@ -1065,50 +1065,50 @@ const co = {
|
|
|
1065
1065
|
full: "ui-modal-size-full",
|
|
1066
1066
|
auto: "ui-modal-size-auto"
|
|
1067
1067
|
})[t.size]), A = async () => {
|
|
1068
|
-
k.value = document.activeElement, await u.openModal(
|
|
1068
|
+
k.value = document.activeElement, await u.openModal(h), t.modelValue !== void 0 ? l("update:modelValue", !0) : z.value = !0, l("open");
|
|
1069
1069
|
}, c = () => {
|
|
1070
1070
|
V.value && (k.value = V.value.querySelector('button, [tabindex]:not([tabindex="-1"]), a[href], input, select, textarea'), k.value || (k.value = V.value)), A();
|
|
1071
|
-
},
|
|
1071
|
+
}, h = () => {
|
|
1072
1072
|
t.modelValue !== void 0 ? l("update:modelValue", !1) : z.value = !1, l("close"), u.closeModal(), yt(() => {
|
|
1073
1073
|
k.value && document.contains(k.value) && k.value.focus(), k.value = null;
|
|
1074
1074
|
});
|
|
1075
1075
|
};
|
|
1076
|
-
Le(
|
|
1077
|
-
|
|
1076
|
+
Le(g, async (D) => {
|
|
1077
|
+
D ? (u.isOpen.value || await u.openModal(h), await yt(), y.value && y.value.focus()) : u.isOpen.value && u.closeModal();
|
|
1078
1078
|
});
|
|
1079
|
-
const
|
|
1080
|
-
if (!
|
|
1079
|
+
const E = (D) => {
|
|
1080
|
+
if (!g.value || D.key !== "Tab" || !y.value) return;
|
|
1081
1081
|
const C = y.value.querySelectorAll(
|
|
1082
1082
|
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
1083
1083
|
), N = Array.from(C);
|
|
1084
1084
|
if (N.length === 0) return;
|
|
1085
1085
|
const p = N[0], L = N[N.length - 1];
|
|
1086
|
-
|
|
1086
|
+
D.shiftKey ? document.activeElement === p && (D.preventDefault(), L.focus()) : document.activeElement === L && (D.preventDefault(), p.focus());
|
|
1087
1087
|
};
|
|
1088
1088
|
return We(() => {
|
|
1089
|
-
document.addEventListener("keydown",
|
|
1089
|
+
document.addEventListener("keydown", E);
|
|
1090
1090
|
}), xt(() => {
|
|
1091
|
-
document.removeEventListener("keydown",
|
|
1092
|
-
}), (
|
|
1093
|
-
|
|
1091
|
+
document.removeEventListener("keydown", E);
|
|
1092
|
+
}), (D, C) => (a(), o(Ue, null, [
|
|
1093
|
+
D.$slots.trigger ? (a(), o("span", {
|
|
1094
1094
|
key: 0,
|
|
1095
1095
|
ref_key: "triggerElement",
|
|
1096
1096
|
ref: V,
|
|
1097
1097
|
onClick: c
|
|
1098
1098
|
}, [
|
|
1099
|
-
je(
|
|
1099
|
+
je(D.$slots, "trigger", {
|
|
1100
1100
|
open: c,
|
|
1101
|
-
close:
|
|
1102
|
-
isOpen:
|
|
1101
|
+
close: h,
|
|
1102
|
+
isOpen: g.value
|
|
1103
1103
|
}, void 0, !0)
|
|
1104
1104
|
], 512)) : I("", !0),
|
|
1105
|
-
|
|
1105
|
+
g.value ? (a(), Ce(qt, {
|
|
1106
1106
|
key: 1,
|
|
1107
1107
|
to: "body"
|
|
1108
1108
|
}, [
|
|
1109
1109
|
d(rt, { name: "modal" }, {
|
|
1110
1110
|
default: x(() => [
|
|
1111
|
-
|
|
1111
|
+
g.value ? (a(), o("div", co, [
|
|
1112
1112
|
e("div", {
|
|
1113
1113
|
class: "ui-modal-container",
|
|
1114
1114
|
ref_key: "modalContainer",
|
|
@@ -1119,26 +1119,26 @@ const co = {
|
|
|
1119
1119
|
padding: s.cardPadding,
|
|
1120
1120
|
shadow: s.cardShadow,
|
|
1121
1121
|
color: s.cardColor,
|
|
1122
|
-
class: be([s.cardClass,
|
|
1122
|
+
class: be([s.cardClass, M.value]),
|
|
1123
1123
|
tabindex: "-1"
|
|
1124
1124
|
}, Zt({
|
|
1125
1125
|
header: x(() => [
|
|
1126
1126
|
e("div", vo, [
|
|
1127
1127
|
e("div", po, [
|
|
1128
|
-
je(
|
|
1129
|
-
handleClose:
|
|
1130
|
-
isOpen:
|
|
1128
|
+
je(D.$slots, "header", {
|
|
1129
|
+
handleClose: h,
|
|
1130
|
+
isOpen: g.value,
|
|
1131
1131
|
openModal: A
|
|
1132
1132
|
}, () => [
|
|
1133
|
-
|
|
1134
|
-
|
|
1133
|
+
D.$props.title ? (a(), o("h2", fo, R(D.$props.title), 1)) : I("", !0),
|
|
1134
|
+
D.$props.subtitle ? (a(), o("p", mo, R(D.$props.subtitle), 1)) : I("", !0)
|
|
1135
1135
|
], !0)
|
|
1136
1136
|
]),
|
|
1137
1137
|
s.showCloseButton ? (a(), o("button", {
|
|
1138
1138
|
key: 0,
|
|
1139
1139
|
type: "button",
|
|
1140
1140
|
class: "ui-modal-close-button",
|
|
1141
|
-
onClick:
|
|
1141
|
+
onClick: h,
|
|
1142
1142
|
"aria-label": "Close modal"
|
|
1143
1143
|
}, [...C[0] || (C[0] = [
|
|
1144
1144
|
e("svg", {
|
|
@@ -1156,17 +1156,17 @@ const co = {
|
|
|
1156
1156
|
]),
|
|
1157
1157
|
default: x(() => [
|
|
1158
1158
|
e("div", ho, [
|
|
1159
|
-
je(
|
|
1159
|
+
je(D.$slots, "default", {}, void 0, !0)
|
|
1160
1160
|
])
|
|
1161
1161
|
]),
|
|
1162
1162
|
_: 2
|
|
1163
1163
|
}, [
|
|
1164
|
-
|
|
1164
|
+
D.$slots.footer ? {
|
|
1165
1165
|
name: "footer",
|
|
1166
1166
|
fn: x(() => [
|
|
1167
|
-
je(
|
|
1168
|
-
handleClose:
|
|
1169
|
-
isOpen:
|
|
1167
|
+
je(D.$slots, "footer", {
|
|
1168
|
+
handleClose: h,
|
|
1169
|
+
isOpen: g.value,
|
|
1170
1170
|
openModal: A
|
|
1171
1171
|
}, void 0, !0)
|
|
1172
1172
|
]),
|
|
@@ -1837,16 +1837,16 @@ const co = {
|
|
|
1837
1837
|
}
|
|
1838
1838
|
return "#EA00A8";
|
|
1839
1839
|
}
|
|
1840
|
-
const l = s, z = r, V =
|
|
1840
|
+
const l = s, z = r, V = $(), y = $(), k = $(), u = $(0), g = $(1), M = $(1), A = $(1), c = $(l.modelValue || t()), h = $({ r: 234, g: 0, b: 168 }), E = $(100), D = $(l.defaultColorFormat || "hex"), C = $({ h: 0, s: 0, l: 0 }), N = $({ l: 0, c: 0, h: 0 }), p = $(!1), L = $(!1), O = $(!1), S = $(!1), w = $(!1), q = U(() => p.value), Z = $(null), b = $(l.compareColor);
|
|
1841
1841
|
let T = null, te = null;
|
|
1842
|
-
const ue =
|
|
1842
|
+
const ue = $(!1);
|
|
1843
1843
|
let ye = "";
|
|
1844
1844
|
Le(() => [l.showContrast, l.compareColor], ([v, i], m) => {
|
|
1845
1845
|
v && i && !S.value && (S.value = !0), typeof i == "string" && (b.value = i), m && i !== m[1] && (Ct.value = [], nt.value = [], it.value = "", zt.value = "", Vt.value = "", It.value = "");
|
|
1846
1846
|
}, { immediate: !0 }), Le(S, (v) => {
|
|
1847
1847
|
v && l.showContrast && l.compareColor && ea();
|
|
1848
1848
|
});
|
|
1849
|
-
const Me =
|
|
1849
|
+
const Me = U(() => l.swatches ? l.swatches : Co), Ae = U(() => {
|
|
1850
1850
|
const v = Me.value;
|
|
1851
1851
|
if (Array.isArray(v)) {
|
|
1852
1852
|
const i = {};
|
|
@@ -1855,7 +1855,7 @@ const co = {
|
|
|
1855
1855
|
}), i;
|
|
1856
1856
|
}
|
|
1857
1857
|
return v;
|
|
1858
|
-
}), Se =
|
|
1858
|
+
}), Se = U(() => {
|
|
1859
1859
|
if (!l.additionalSwatches) return {};
|
|
1860
1860
|
const v = l.additionalSwatches;
|
|
1861
1861
|
if (Array.isArray(v)) {
|
|
@@ -1865,7 +1865,7 @@ const co = {
|
|
|
1865
1865
|
}), i;
|
|
1866
1866
|
}
|
|
1867
1867
|
return v;
|
|
1868
|
-
}), xe =
|
|
1868
|
+
}), xe = U(() => Object.keys(Ae.value)), ne = U(() => Object.keys(Se.value)), j = U(() => {
|
|
1869
1869
|
const v = Ae.value, i = Se.value, m = at.value.toLowerCase();
|
|
1870
1870
|
for (const [ee, _] of Object.entries(v))
|
|
1871
1871
|
if (ee.toLowerCase() === m && _.shades || _.shades?.some((Y) => Y.toLowerCase() === m))
|
|
@@ -1874,12 +1874,12 @@ const co = {
|
|
|
1874
1874
|
if (ee.toLowerCase() === m && _.shades || _.shades?.some((Y) => Y.toLowerCase() === m))
|
|
1875
1875
|
return ee;
|
|
1876
1876
|
return null;
|
|
1877
|
-
}), K =
|
|
1877
|
+
}), K = $([]), ie = $(""), ae = U(() => {
|
|
1878
1878
|
if (!j.value)
|
|
1879
1879
|
return K.value;
|
|
1880
1880
|
const v = Ae.value[j.value], i = Se.value[j.value], m = v?.shades || i?.shades || [];
|
|
1881
1881
|
return m.length > 0 && (K.value = m), m;
|
|
1882
|
-
}), W =
|
|
1882
|
+
}), W = U(() => j.value !== null), le = U(() => {
|
|
1883
1883
|
if (!j.value)
|
|
1884
1884
|
return ie.value;
|
|
1885
1885
|
const v = Ae.value, i = Se.value;
|
|
@@ -1893,8 +1893,8 @@ const co = {
|
|
|
1893
1893
|
}
|
|
1894
1894
|
return m && (ie.value = m), m;
|
|
1895
1895
|
}), _e = (v) => v.toLowerCase() === at.value.toLowerCase(), Te = (v) => {
|
|
1896
|
-
const i = v.replace("#", ""), m = parseInt(i.substring(0, 2), 16), ee = parseInt(i.substring(2, 4), 16), _ = parseInt(i.substring(4, 6), 16), Y = Math.pow(m / 255, 2.4), F = Math.pow(ee / 255, 2.4),
|
|
1897
|
-
return 0.2126729 * Y + 0.7151522 * F + 0.072175 *
|
|
1896
|
+
const i = v.replace("#", ""), m = parseInt(i.substring(0, 2), 16), ee = parseInt(i.substring(2, 4), 16), _ = parseInt(i.substring(4, 6), 16), Y = Math.pow(m / 255, 2.4), F = Math.pow(ee / 255, 2.4), H = Math.pow(_ / 255, 2.4);
|
|
1897
|
+
return 0.2126729 * Y + 0.7151522 * F + 0.072175 * H < 0.3 ? "#ffffff" : "#000000";
|
|
1898
1898
|
}, Ee = (v) => {
|
|
1899
1899
|
const i = {
|
|
1900
1900
|
"--_color": v
|
|
@@ -1925,23 +1925,23 @@ const co = {
|
|
|
1925
1925
|
return v;
|
|
1926
1926
|
}, re = (v, i, m) => {
|
|
1927
1927
|
v = Math.round(v * 1e3) / 1e3, i = Math.round(i * 1e3) / 1e3, m = Math.round(m * 1e3) / 1e3;
|
|
1928
|
-
const ee = Math.floor(v / 60), _ = v / 60 - ee, Y = m * (1 - i), F = m * (1 - i * _),
|
|
1928
|
+
const ee = Math.floor(v / 60), _ = v / 60 - ee, Y = m * (1 - i), F = m * (1 - i * _), H = m * (1 - i * (1 - _));
|
|
1929
1929
|
let f, B, se;
|
|
1930
1930
|
switch (ee % 6) {
|
|
1931
1931
|
case 0:
|
|
1932
|
-
f = m, B =
|
|
1932
|
+
f = m, B = H, se = Y;
|
|
1933
1933
|
break;
|
|
1934
1934
|
case 1:
|
|
1935
1935
|
f = F, B = m, se = Y;
|
|
1936
1936
|
break;
|
|
1937
1937
|
case 2:
|
|
1938
|
-
f = Y, B = m, se =
|
|
1938
|
+
f = Y, B = m, se = H;
|
|
1939
1939
|
break;
|
|
1940
1940
|
case 3:
|
|
1941
1941
|
f = Y, B = F, se = m;
|
|
1942
1942
|
break;
|
|
1943
1943
|
case 4:
|
|
1944
|
-
f =
|
|
1944
|
+
f = H, B = Y, se = m;
|
|
1945
1945
|
break;
|
|
1946
1946
|
case 5:
|
|
1947
1947
|
f = m, B = Y, se = F;
|
|
@@ -1958,7 +1958,7 @@ const co = {
|
|
|
1958
1958
|
v /= 255, i /= 255, m /= 255;
|
|
1959
1959
|
const ee = Math.max(v, i, m), _ = Math.min(v, i, m), Y = ee - _;
|
|
1960
1960
|
let F = 0;
|
|
1961
|
-
const
|
|
1961
|
+
const H = ee === 0 ? 0 : Y / ee, f = ee;
|
|
1962
1962
|
if (Y !== 0)
|
|
1963
1963
|
switch (ee) {
|
|
1964
1964
|
case v:
|
|
@@ -1974,7 +1974,7 @@ const co = {
|
|
|
1974
1974
|
return {
|
|
1975
1975
|
h: Math.round(F * 1e3) / 1e3,
|
|
1976
1976
|
// 3 decimal precision
|
|
1977
|
-
s: Math.round(
|
|
1977
|
+
s: Math.round(H * 1e3) / 1e3,
|
|
1978
1978
|
v: Math.round(f * 1e3) / 1e3
|
|
1979
1979
|
};
|
|
1980
1980
|
}, Ie = (v) => {
|
|
@@ -1987,27 +1987,27 @@ const co = {
|
|
|
1987
1987
|
}, G = (v, i, m) => `#${((1 << 24) + (v << 16) + (i << 8) + m).toString(16).slice(1)}`, he = (v, i, m) => {
|
|
1988
1988
|
v /= 255, i /= 255, m /= 255;
|
|
1989
1989
|
const ee = Math.max(v, i, m), _ = Math.min(v, i, m), Y = ee - _, F = ee + _;
|
|
1990
|
-
let
|
|
1990
|
+
let H = 0, f = 0, B = F / 2;
|
|
1991
1991
|
if (Y !== 0)
|
|
1992
1992
|
switch (f = B > 0.5 ? Y / (2 - F) : Y / F, ee) {
|
|
1993
1993
|
case v:
|
|
1994
|
-
|
|
1994
|
+
H = ((i - m) / Y + (i < m ? 6 : 0)) / 6;
|
|
1995
1995
|
break;
|
|
1996
1996
|
case i:
|
|
1997
|
-
|
|
1997
|
+
H = ((m - v) / Y + 2) / 6;
|
|
1998
1998
|
break;
|
|
1999
1999
|
case m:
|
|
2000
|
-
|
|
2000
|
+
H = ((v - i) / Y + 4) / 6;
|
|
2001
2001
|
break;
|
|
2002
2002
|
}
|
|
2003
2003
|
return {
|
|
2004
|
-
h: Math.round(
|
|
2004
|
+
h: Math.round(H * 360),
|
|
2005
2005
|
s: Math.round(f * 100),
|
|
2006
2006
|
l: Math.round(B * 100)
|
|
2007
2007
|
};
|
|
2008
2008
|
}, X = (v, i, m) => {
|
|
2009
2009
|
v /= 360, i /= 100, m /= 100;
|
|
2010
|
-
const ee = (F,
|
|
2010
|
+
const ee = (F, H, f) => (f < 0 && (f += 1), f > 1 && (f -= 1), f < 1 / 6 ? F + (H - F) * 6 * f : f < 1 / 2 ? H : f < 2 / 3 ? F + (H - F) * (2 / 3 - f) * 6 : F);
|
|
2011
2011
|
if (i === 0)
|
|
2012
2012
|
return { r: Math.round(m * 255), g: Math.round(m * 255), b: Math.round(m * 255) };
|
|
2013
2013
|
const _ = m < 0.5 ? m * (1 + i) : m + i - m * i, Y = 2 * m - _;
|
|
@@ -2017,7 +2017,7 @@ const co = {
|
|
|
2017
2017
|
b: Math.round(ee(Y, _, v - 1 / 3) * 255)
|
|
2018
2018
|
};
|
|
2019
2019
|
}, fe = (v, i, m) => {
|
|
2020
|
-
const ee = (St) => (St /= 255, St <= 0.04045 ? St / 12.92 : Math.pow((St + 0.055) / 1.055, 2.4)), _ = ee(v), Y = ee(i), F = ee(m),
|
|
2020
|
+
const ee = (St) => (St /= 255, St <= 0.04045 ? St / 12.92 : Math.pow((St + 0.055) / 1.055, 2.4)), _ = ee(v), Y = ee(i), F = ee(m), H = 0.4122214708 * _ + 0.5363325363 * Y + 0.0514459929 * F, f = 0.2119034982 * _ + 0.6806995451 * Y + 0.1073969566 * F, B = 0.0883024619 * _ + 0.2817188376 * Y + 0.6299787005 * F, se = Math.sign(H) * Math.pow(Math.abs(H), 1 / 3), de = Math.sign(f) * Math.pow(Math.abs(f), 1 / 3), ke = Math.sign(B) * Math.pow(Math.abs(B), 1 / 3), ge = 0.2104542553 * se + 0.793617785 * de - 0.0040720468 * ke, me = 1.9779984951 * se - 2.428592205 * de + 0.4505937099 * ke, ze = 0.0259040371 * se + 0.7827717662 * de - 0.808675766 * ke, qe = ge, Ge = Math.sqrt(me * me + ze * ze);
|
|
2021
2021
|
let st = Math.atan2(ze, me) * 180 / Math.PI;
|
|
2022
2022
|
return st < 0 && (st += 360), {
|
|
2023
2023
|
l: Math.round(qe * 100),
|
|
@@ -2026,7 +2026,7 @@ const co = {
|
|
|
2026
2026
|
};
|
|
2027
2027
|
}, pe = (v, i, m) => {
|
|
2028
2028
|
v /= 100, i /= 100, m = m * Math.PI / 180;
|
|
2029
|
-
const ee = i * Math.cos(m), _ = i * Math.sin(m), Y = v + 0.3963377774 * ee + 0.2158037573 * _, F = v - 0.1055613458 * ee - 0.0638541728 * _,
|
|
2029
|
+
const ee = i * Math.cos(m), _ = i * Math.sin(m), Y = v + 0.3963377774 * ee + 0.2158037573 * _, F = v - 0.1055613458 * ee - 0.0638541728 * _, H = v - 0.0894841775 * ee - 1.291485548 * _, f = Y * Y * Y, B = F * F * F, se = H * H * H, de = 4.0767416621 * f - 3.3077115913 * B + 0.2309699292 * se, ke = -1.2684380046 * f + 2.6097574011 * B - 0.3413193965 * se, ge = -0.0041960863 * f - 0.7034186147 * B + 1.707614701 * se, me = (ze) => ze <= 31308e-7 ? ze * 12.92 : 1.055 * Math.pow(ze, 1 / 2.4) - 0.055;
|
|
2030
2030
|
return {
|
|
2031
2031
|
r: Math.max(0, Math.min(255, Math.round(me(de) * 255))),
|
|
2032
2032
|
g: Math.max(0, Math.min(255, Math.round(me(ke) * 255))),
|
|
@@ -2048,8 +2048,8 @@ const co = {
|
|
|
2048
2048
|
}, Fe = (v, i) => {
|
|
2049
2049
|
const m = Ie(v), ee = Ie(i);
|
|
2050
2050
|
if (!m || !ee) return 1;
|
|
2051
|
-
const _ = Ne(m.r, m.g, m.b), Y = Ne(ee.r, ee.g, ee.b), F = Math.max(_, Y),
|
|
2052
|
-
return (F + 0.05) / (
|
|
2051
|
+
const _ = Ne(m.r, m.g, m.b), Y = Ne(ee.r, ee.g, ee.b), F = Math.max(_, Y), H = Math.min(_, Y);
|
|
2052
|
+
return (F + 0.05) / (H + 0.05);
|
|
2053
2053
|
}, gt = (v, i = "normal") => {
|
|
2054
2054
|
if (i === "large") {
|
|
2055
2055
|
if (v >= 4.5) return "AAA";
|
|
@@ -2059,7 +2059,7 @@ const co = {
|
|
|
2059
2059
|
if (v >= 4.5) return "AA";
|
|
2060
2060
|
}
|
|
2061
2061
|
return "FAIL";
|
|
2062
|
-
}, Pe =
|
|
2062
|
+
}, Pe = U(() => re(u.value, g.value, M.value)), Ut = U(() => `rgb(${Pe.value.r}, ${Pe.value.g}, ${Pe.value.b})`), at = U(() => {
|
|
2063
2063
|
const { r: v, g: i, b: m } = Pe.value;
|
|
2064
2064
|
return l.showAlpha && A.value < 0.99 ? `rgba(${v}, ${i}, ${m}, ${A.value})` : G(v, i, m);
|
|
2065
2065
|
}), ea = () => {
|
|
@@ -2075,9 +2075,9 @@ const co = {
|
|
|
2075
2075
|
currentColor: v,
|
|
2076
2076
|
compareColor: l.compareColor
|
|
2077
2077
|
};
|
|
2078
|
-
}, et =
|
|
2078
|
+
}, et = U(() => (T && clearTimeout(T), T = setTimeout(() => {
|
|
2079
2079
|
ea();
|
|
2080
|
-
}, 100), Z.value)), ta =
|
|
2080
|
+
}, 100), Z.value)), ta = U(() => {
|
|
2081
2081
|
if (!S.value || !b.value) return "";
|
|
2082
2082
|
if (it.value)
|
|
2083
2083
|
return it.value;
|
|
@@ -2119,34 +2119,34 @@ const co = {
|
|
|
2119
2119
|
F.push(_[f]);
|
|
2120
2120
|
if (F.length > 0 && F[F.length - 1] !== _[_.length - 1] && F.push(_[_.length - 1]), F.length === 0) return "";
|
|
2121
2121
|
if (F.length === 1) return `M ${F[0].x} ${F[0].y}`;
|
|
2122
|
-
let
|
|
2122
|
+
let H = `M ${F[0].x} ${F[0].y}`;
|
|
2123
2123
|
if (F.length === 2)
|
|
2124
|
-
|
|
2124
|
+
H += ` L ${F[1].x} ${F[1].y}`;
|
|
2125
2125
|
else {
|
|
2126
2126
|
for (let B = 1; B < F.length - 1; B++) {
|
|
2127
2127
|
const se = F[B], de = F[B + 1], ke = (se.x + de.x) / 2, ge = (se.y + de.y) / 2;
|
|
2128
|
-
|
|
2128
|
+
H += ` Q ${se.x} ${se.y} ${ke} ${ge}`;
|
|
2129
2129
|
}
|
|
2130
2130
|
const f = F[F.length - 1];
|
|
2131
|
-
|
|
2131
|
+
H += ` Q ${f.x} ${f.y} ${f.x} ${f.y}`;
|
|
2132
2132
|
}
|
|
2133
|
-
return it.value =
|
|
2134
|
-
}), Dt =
|
|
2133
|
+
return it.value = H, H;
|
|
2134
|
+
}), Dt = U(() => {
|
|
2135
2135
|
if (!S.value || !b.value) return "";
|
|
2136
2136
|
if (zt.value)
|
|
2137
2137
|
return zt.value;
|
|
2138
|
-
const v = dt, i = vt, m = 4.5, ee = (
|
|
2139
|
-
const B = Math.max(0, Math.min(v,
|
|
2138
|
+
const v = dt, i = vt, m = 4.5, ee = (H, f) => {
|
|
2139
|
+
const B = Math.max(0, Math.min(v, H)), se = Math.max(0, Math.min(i, f)), de = Math.max(0, Math.min(1, B / v)), ke = Math.max(0, Math.min(1, 1 - se / i)), ge = re(u.value, de, ke), me = G(ge.r, ge.g, ge.b);
|
|
2140
2140
|
return Fe(me, b.value);
|
|
2141
2141
|
}, _ = [], Y = [];
|
|
2142
|
-
for (let
|
|
2142
|
+
for (let H = -20; H <= v + 20; H += 2) {
|
|
2143
2143
|
let f = !1, B = -1;
|
|
2144
2144
|
for (let se = i - 1; se >= 1; se--) {
|
|
2145
|
-
const de = ee(
|
|
2145
|
+
const de = ee(H, se), ke = ee(H, se - 1);
|
|
2146
2146
|
if (de >= m && ke < m) {
|
|
2147
2147
|
let ge = se - 1, me = se;
|
|
2148
2148
|
for (let ze = 0; ze < 8; ze++) {
|
|
2149
|
-
const qe = (ge + me) / 2, Ge = ee(
|
|
2149
|
+
const qe = (ge + me) / 2, Ge = ee(H, qe);
|
|
2150
2150
|
if (Math.abs(Ge - m) < 0.01) {
|
|
2151
2151
|
B = qe, f = !0;
|
|
2152
2152
|
break;
|
|
@@ -2157,50 +2157,50 @@ const co = {
|
|
|
2157
2157
|
break;
|
|
2158
2158
|
}
|
|
2159
2159
|
}
|
|
2160
|
-
f && B >= 0 && Y.push({ x:
|
|
2160
|
+
f && B >= 0 && Y.push({ x: H, y: B });
|
|
2161
2161
|
}
|
|
2162
2162
|
if (Y.length === 0) return "";
|
|
2163
2163
|
if (Y.length > 4) {
|
|
2164
2164
|
_.push(Y[0]);
|
|
2165
|
-
const
|
|
2166
|
-
for (let B =
|
|
2165
|
+
const H = Math.floor(Y.length / 4);
|
|
2166
|
+
for (let B = H; B < Y.length - H; B += H)
|
|
2167
2167
|
_.push(Y[B]);
|
|
2168
2168
|
const f = Y[Y.length - 1];
|
|
2169
2169
|
_.push(f);
|
|
2170
2170
|
} else
|
|
2171
2171
|
_.push(...Y);
|
|
2172
2172
|
if (_.length > 0) {
|
|
2173
|
-
const
|
|
2174
|
-
|
|
2173
|
+
const H = _[0], f = _[_.length - 1];
|
|
2174
|
+
H.x < 0 && (H.x = 0), f.x < v && f.y > 5 && f.y < i - 5 ? _.push({ x: v, y: f.y }) : f.x > v && (f.x = v);
|
|
2175
2175
|
}
|
|
2176
2176
|
if (_.length < 2) return "";
|
|
2177
2177
|
if (_.length === 2)
|
|
2178
2178
|
return `M ${_[0].x} ${_[0].y} L ${_[1].x} ${_[1].y}`;
|
|
2179
2179
|
let F = `M ${_[0].x} ${_[0].y}`;
|
|
2180
|
-
for (let
|
|
2181
|
-
const f = _[
|
|
2180
|
+
for (let H = 1; H < _.length; H++) {
|
|
2181
|
+
const f = _[H];
|
|
2182
2182
|
if (_.length <= 3)
|
|
2183
|
-
if (
|
|
2183
|
+
if (H === 1 && _.length === 3) {
|
|
2184
2184
|
F += ` Q ${f.x} ${f.y} ${_[2].x} ${_[2].y}`;
|
|
2185
2185
|
break;
|
|
2186
2186
|
} else
|
|
2187
2187
|
F += ` L ${f.x} ${f.y}`;
|
|
2188
2188
|
else {
|
|
2189
|
-
const B = _[
|
|
2190
|
-
if (
|
|
2191
|
-
const se = _[
|
|
2189
|
+
const B = _[H - 1];
|
|
2190
|
+
if (H === 1) {
|
|
2191
|
+
const se = _[H + 1], de = B.x + (f.x - B.x) * 0.3, ke = B.y + (f.y - B.y) * 0.3, ge = f.x - (se.x - B.x) * 0.1, me = f.y - (se.y - B.y) * 0.1;
|
|
2192
2192
|
F += ` C ${de} ${ke}, ${ge} ${me}, ${f.x} ${f.y}`;
|
|
2193
|
-
} else if (
|
|
2194
|
-
const se = _[
|
|
2193
|
+
} else if (H === _.length - 1) {
|
|
2194
|
+
const se = _[H - 2], de = B.x + (f.x - se.x) * 0.1, ke = B.y + (f.y - se.y) * 0.1, ge = f.x - (f.x - B.x) * 0.3, me = f.y - (f.y - B.y) * 0.3;
|
|
2195
2195
|
F += ` C ${de} ${ke}, ${ge} ${me}, ${f.x} ${f.y}`;
|
|
2196
2196
|
} else {
|
|
2197
|
-
const se = _[
|
|
2197
|
+
const se = _[H + 1], de = H >= 2 ? _[H - 2] : B, ke = B.x + (f.x - de.x) * 0.1, ge = B.y + (f.y - de.y) * 0.1, me = f.x - (se.x - B.x) * 0.1, ze = f.y - (se.y - B.y) * 0.1;
|
|
2198
2198
|
F += ` C ${ke} ${ge}, ${me} ${ze}, ${f.x} ${f.y}`;
|
|
2199
2199
|
}
|
|
2200
2200
|
}
|
|
2201
2201
|
}
|
|
2202
2202
|
return zt.value = F, F;
|
|
2203
|
-
}), aa =
|
|
2203
|
+
}), aa = U(() => {
|
|
2204
2204
|
if (!S.value || !b.value) return "";
|
|
2205
2205
|
if (Vt.value)
|
|
2206
2206
|
return Vt.value;
|
|
@@ -2242,34 +2242,34 @@ const co = {
|
|
|
2242
2242
|
F.push(_[f]);
|
|
2243
2243
|
if (F.length > 0 && F[F.length - 1] !== _[_.length - 1] && F.push(_[_.length - 1]), F.length === 0) return "";
|
|
2244
2244
|
if (F.length === 1) return `M ${F[0].x} ${F[0].y}`;
|
|
2245
|
-
let
|
|
2245
|
+
let H = `M ${F[0].x} ${F[0].y}`;
|
|
2246
2246
|
if (F.length === 2)
|
|
2247
|
-
|
|
2247
|
+
H += ` L ${F[1].x} ${F[1].y}`;
|
|
2248
2248
|
else {
|
|
2249
2249
|
for (let B = 1; B < F.length - 1; B++) {
|
|
2250
2250
|
const se = F[B], de = F[B + 1], ke = (se.x + de.x) / 2, ge = (se.y + de.y) / 2;
|
|
2251
|
-
|
|
2251
|
+
H += ` Q ${se.x} ${se.y} ${ke} ${ge}`;
|
|
2252
2252
|
}
|
|
2253
2253
|
const f = F[F.length - 1];
|
|
2254
|
-
|
|
2254
|
+
H += ` Q ${f.x} ${f.y} ${f.x} ${f.y}`;
|
|
2255
2255
|
}
|
|
2256
|
-
return Vt.value =
|
|
2257
|
-
}), sa =
|
|
2256
|
+
return Vt.value = H, H;
|
|
2257
|
+
}), sa = U(() => {
|
|
2258
2258
|
if (!S.value || !b.value) return "";
|
|
2259
2259
|
if (It.value)
|
|
2260
2260
|
return It.value;
|
|
2261
|
-
const v = dt, i = vt, m = 3, ee = (
|
|
2262
|
-
const B = Math.max(0, Math.min(v,
|
|
2261
|
+
const v = dt, i = vt, m = 3, ee = (H, f) => {
|
|
2262
|
+
const B = Math.max(0, Math.min(v, H)), se = Math.max(0, Math.min(i, f)), de = Math.max(0, Math.min(1, B / v)), ke = Math.max(0, Math.min(1, 1 - se / i)), ge = re(u.value, de, ke), me = G(ge.r, ge.g, ge.b);
|
|
2263
2263
|
return Fe(me, b.value);
|
|
2264
2264
|
}, _ = [], Y = [];
|
|
2265
|
-
for (let
|
|
2265
|
+
for (let H = -20; H <= v + 20; H += 2) {
|
|
2266
2266
|
let f = !1, B = -1;
|
|
2267
2267
|
for (let se = i - 1; se >= 1; se--) {
|
|
2268
|
-
const de = ee(
|
|
2268
|
+
const de = ee(H, se), ke = ee(H, se - 1);
|
|
2269
2269
|
if (de >= m && ke < m) {
|
|
2270
2270
|
let ge = se - 1, me = se;
|
|
2271
2271
|
for (let ze = 0; ze < 8; ze++) {
|
|
2272
|
-
const qe = (ge + me) / 2, Ge = ee(
|
|
2272
|
+
const qe = (ge + me) / 2, Ge = ee(H, qe);
|
|
2273
2273
|
if (Math.abs(Ge - m) < 0.01) {
|
|
2274
2274
|
B = qe, f = !0;
|
|
2275
2275
|
break;
|
|
@@ -2280,68 +2280,68 @@ const co = {
|
|
|
2280
2280
|
break;
|
|
2281
2281
|
}
|
|
2282
2282
|
}
|
|
2283
|
-
f && B >= 0 && Y.push({ x:
|
|
2283
|
+
f && B >= 0 && Y.push({ x: H, y: B });
|
|
2284
2284
|
}
|
|
2285
2285
|
if (Y.length === 0) return "";
|
|
2286
2286
|
if (Y.length > 4) {
|
|
2287
2287
|
_.push(Y[0]);
|
|
2288
|
-
const
|
|
2289
|
-
for (let B =
|
|
2288
|
+
const H = Math.floor(Y.length / 4);
|
|
2289
|
+
for (let B = H; B < Y.length - H; B += H)
|
|
2290
2290
|
_.push(Y[B]);
|
|
2291
2291
|
const f = Y[Y.length - 1];
|
|
2292
2292
|
_.push(f);
|
|
2293
2293
|
} else
|
|
2294
2294
|
_.push(...Y);
|
|
2295
2295
|
if (_.length > 0) {
|
|
2296
|
-
const
|
|
2297
|
-
|
|
2296
|
+
const H = _[0], f = _[_.length - 1];
|
|
2297
|
+
H.x < 0 && (H.x = 0), f.x < v && f.y > 5 && f.y < i - 5 ? _.push({ x: v, y: f.y }) : f.x > v && (f.x = v);
|
|
2298
2298
|
}
|
|
2299
2299
|
if (_.length < 2) return "";
|
|
2300
2300
|
if (_.length === 2)
|
|
2301
2301
|
return `M ${_[0].x} ${_[0].y} L ${_[1].x} ${_[1].y}`;
|
|
2302
2302
|
let F = `M ${_[0].x} ${_[0].y}`;
|
|
2303
|
-
for (let
|
|
2304
|
-
const f = _[
|
|
2303
|
+
for (let H = 1; H < _.length; H++) {
|
|
2304
|
+
const f = _[H];
|
|
2305
2305
|
if (_.length <= 3)
|
|
2306
|
-
if (
|
|
2306
|
+
if (H === 1 && _.length === 3) {
|
|
2307
2307
|
F += ` Q ${f.x} ${f.y} ${_[2].x} ${_[2].y}`;
|
|
2308
2308
|
break;
|
|
2309
2309
|
} else
|
|
2310
2310
|
F += ` L ${f.x} ${f.y}`;
|
|
2311
2311
|
else {
|
|
2312
|
-
const B = _[
|
|
2313
|
-
if (
|
|
2314
|
-
const se = _[
|
|
2312
|
+
const B = _[H - 1];
|
|
2313
|
+
if (H === 1) {
|
|
2314
|
+
const se = _[H + 1], de = B.x + (f.x - B.x) * 0.3, ke = B.y + (f.y - B.y) * 0.3, ge = f.x - (se.x - B.x) * 0.1, me = f.y - (se.y - B.y) * 0.1;
|
|
2315
2315
|
F += ` C ${de} ${ke}, ${ge} ${me}, ${f.x} ${f.y}`;
|
|
2316
|
-
} else if (
|
|
2317
|
-
const se = _[
|
|
2316
|
+
} else if (H === _.length - 1) {
|
|
2317
|
+
const se = _[H - 2], de = B.x + (f.x - se.x) * 0.1, ke = B.y + (f.y - se.y) * 0.1, ge = f.x - (f.x - B.x) * 0.3, me = f.y - (f.y - B.y) * 0.3;
|
|
2318
2318
|
F += ` C ${de} ${ke}, ${ge} ${me}, ${f.x} ${f.y}`;
|
|
2319
2319
|
} else {
|
|
2320
|
-
const se = _[
|
|
2320
|
+
const se = _[H + 1], de = H >= 2 ? _[H - 2] : B, ke = B.x + (f.x - de.x) * 0.1, ge = B.y + (f.y - de.y) * 0.1, me = f.x - (se.x - B.x) * 0.1, ze = f.y - (se.y - B.y) * 0.1;
|
|
2321
2321
|
F += ` C ${ke} ${ge}, ${me} ${ze}, ${f.x} ${f.y}`;
|
|
2322
2322
|
}
|
|
2323
2323
|
}
|
|
2324
2324
|
}
|
|
2325
2325
|
return It.value = F, F;
|
|
2326
2326
|
});
|
|
2327
|
-
|
|
2327
|
+
U(() => {
|
|
2328
2328
|
if (!S.value || !et.value) return [];
|
|
2329
2329
|
const v = dt, i = vt, m = (_, Y) => {
|
|
2330
|
-
const F = Math.max(0, Math.min(v, _)),
|
|
2330
|
+
const F = Math.max(0, Math.min(v, _)), H = Math.max(0, Math.min(i, Y)), f = Math.max(0, Math.min(1, F / v)), B = Math.max(0, Math.min(1, 1 - H / i)), se = re(u.value, f, B), de = G(se.r, se.g, se.b);
|
|
2331
2331
|
return Fe(de, b.value);
|
|
2332
2332
|
}, ee = [];
|
|
2333
2333
|
for (let _ = 0; _ <= v; _ += 3)
|
|
2334
2334
|
for (let Y = 0; Y < i; Y++) {
|
|
2335
|
-
const F = m(_, Y),
|
|
2336
|
-
if (F < 3.1 &&
|
|
2335
|
+
const F = m(_, Y), H = m(_, Y + 1);
|
|
2336
|
+
if (F < 3.1 && H >= 3.1 || F >= 3.1 && H < 3.1) {
|
|
2337
2337
|
ee.push({ x: _, y: Y });
|
|
2338
2338
|
break;
|
|
2339
2339
|
}
|
|
2340
2340
|
}
|
|
2341
2341
|
for (let _ = i - 3; _ >= 0; _ -= 3)
|
|
2342
2342
|
for (let Y = 0; Y < v; Y++) {
|
|
2343
|
-
const F = m(Y, _),
|
|
2344
|
-
if (F < 3.1 &&
|
|
2343
|
+
const F = m(Y, _), H = m(Y + 1, _);
|
|
2344
|
+
if (F < 3.1 && H >= 3.1 || F >= 3.1 && H < 3.1) {
|
|
2345
2345
|
!ee.some(
|
|
2346
2346
|
(B) => Math.abs(B.x - Y) < 6 && Math.abs(B.y - _) < 6
|
|
2347
2347
|
) && ee.push({ x: Y, y: _ });
|
|
@@ -2350,51 +2350,51 @@ const co = {
|
|
|
2350
2350
|
}
|
|
2351
2351
|
return ee;
|
|
2352
2352
|
});
|
|
2353
|
-
const Ct =
|
|
2354
|
-
|
|
2353
|
+
const Ct = $([]), nt = $([]), it = $(""), zt = $(""), Vt = $(""), It = $(""), oa = U(() => S.value && b.value && (!Ct.value.length || !nt.value.length)), Ca = U(() => S.value && b.value);
|
|
2354
|
+
U(() => Ca.value), U(() => {
|
|
2355
2355
|
if (!S.value || !b.value) return [];
|
|
2356
2356
|
if (q.value && Ct.value.length > 0 || !oa.value && Ct.value.length > 0)
|
|
2357
2357
|
return Ct.value;
|
|
2358
|
-
const v = [], i = dt, m = vt, ee = 6, _ = (
|
|
2359
|
-
const B = Math.max(0, Math.min(i,
|
|
2358
|
+
const v = [], i = dt, m = vt, ee = 6, _ = (H, f) => {
|
|
2359
|
+
const B = Math.max(0, Math.min(i, H)), se = Math.max(0, Math.min(m, f)), de = Math.max(0, Math.min(1, B / i)), ke = Math.max(0, Math.min(1, 1 - se / m)), ge = re(u.value, de, ke), me = G(ge.r, ge.g, ge.b);
|
|
2360
2360
|
return Fe(me, b.value);
|
|
2361
2361
|
}, Y = [];
|
|
2362
|
-
for (let
|
|
2362
|
+
for (let H = 0; H <= i; H += 6)
|
|
2363
2363
|
for (let f = 0; f < m - 1; f += 1) {
|
|
2364
|
-
const B = _(
|
|
2364
|
+
const B = _(H, f), se = _(H, f + 1);
|
|
2365
2365
|
if (B >= 4.5 && se < 4.5 || B < 4.5 && se >= 4.5) {
|
|
2366
2366
|
let de = f, ke = f + 1;
|
|
2367
2367
|
for (let ge = 0; ge < 6; ge++) {
|
|
2368
|
-
const me = (de + ke) / 2, ze = _(
|
|
2368
|
+
const me = (de + ke) / 2, ze = _(H, me);
|
|
2369
2369
|
if (Math.abs(ze - 4.5) < 0.05) {
|
|
2370
|
-
Y.push({ x:
|
|
2370
|
+
Y.push({ x: H, y: me });
|
|
2371
2371
|
break;
|
|
2372
2372
|
}
|
|
2373
2373
|
ze > 4.5 ? de = me : ke = me;
|
|
2374
2374
|
}
|
|
2375
|
-
(Y.length === 0 || Y[Y.length - 1].x !==
|
|
2375
|
+
(Y.length === 0 || Y[Y.length - 1].x !== H) && Y.push({ x: H, y: (de + ke) / 2 });
|
|
2376
2376
|
break;
|
|
2377
2377
|
}
|
|
2378
2378
|
}
|
|
2379
|
-
const F = (
|
|
2379
|
+
const F = (H, f) => {
|
|
2380
2380
|
if (Y.length === 0) return 50;
|
|
2381
2381
|
let B = 1 / 0;
|
|
2382
2382
|
for (const se of Y) {
|
|
2383
2383
|
const de = Math.sqrt(
|
|
2384
|
-
Math.pow(
|
|
2384
|
+
Math.pow(H - se.x, 2) + Math.pow(f - se.y, 2)
|
|
2385
2385
|
);
|
|
2386
2386
|
B = Math.min(B, de);
|
|
2387
2387
|
}
|
|
2388
2388
|
return B;
|
|
2389
2389
|
};
|
|
2390
|
-
for (let
|
|
2390
|
+
for (let H = ee / 2; H < i; H += ee)
|
|
2391
2391
|
for (let f = ee / 2; f < m; f += ee)
|
|
2392
|
-
if (_(
|
|
2393
|
-
const se = F(
|
|
2392
|
+
if (_(H, f) < 4.5) {
|
|
2393
|
+
const se = F(H, f), de = 4;
|
|
2394
2394
|
if (se >= de) {
|
|
2395
2395
|
const ge = se - de, me = Math.min(ge / 40, 1), ze = 0.6, Ge = ze - (ze - 0.3) * Math.pow(me, 0.7), st = 1.8, ba = st - (st - 1.5) * Math.pow(me, 0.6);
|
|
2396
2396
|
Ge > 0.2 && ba > 0.8 && v.push({
|
|
2397
|
-
x:
|
|
2397
|
+
x: H,
|
|
2398
2398
|
y: f,
|
|
2399
2399
|
radius: ba,
|
|
2400
2400
|
opacity: Ge,
|
|
@@ -2403,7 +2403,7 @@ const co = {
|
|
|
2403
2403
|
}
|
|
2404
2404
|
}
|
|
2405
2405
|
return Ct.value = v, v;
|
|
2406
|
-
}),
|
|
2406
|
+
}), U(() => {
|
|
2407
2407
|
if (!S.value || !b.value) return [];
|
|
2408
2408
|
if (q.value && nt.value.length > 0 || !oa.value && nt.value.length > 0)
|
|
2409
2409
|
return nt.value;
|
|
@@ -2426,7 +2426,7 @@ const co = {
|
|
|
2426
2426
|
}
|
|
2427
2427
|
}
|
|
2428
2428
|
}
|
|
2429
|
-
const
|
|
2429
|
+
const H = (f, B) => {
|
|
2430
2430
|
let se = 1 / 0;
|
|
2431
2431
|
for (const de of F) {
|
|
2432
2432
|
const ke = Math.sqrt(Math.pow(f - de.x, 2) + Math.pow(B - de.y, 2));
|
|
@@ -2437,7 +2437,7 @@ const co = {
|
|
|
2437
2437
|
for (let f = _ / 2; f < i; f += _)
|
|
2438
2438
|
for (let B = _ / 2; B < m; B += _)
|
|
2439
2439
|
if (Y(f, B) < ee) {
|
|
2440
|
-
const de =
|
|
2440
|
+
const de = H(f, B), ke = 4;
|
|
2441
2441
|
if (de >= ke) {
|
|
2442
2442
|
const me = de - ke, ze = Math.min(me / 40, 1), qe = 0.6, st = qe - (qe - 0.3) * Math.pow(ze, 0.7), St = 1.8, Ia = St - (St - 1.5) * Math.pow(ze, 0.6);
|
|
2443
2443
|
st > 0.2 && Ia > 0.8 && v.push({
|
|
@@ -2452,21 +2452,21 @@ const co = {
|
|
|
2452
2452
|
}
|
|
2453
2453
|
return nt.value = v, v;
|
|
2454
2454
|
});
|
|
2455
|
-
const la =
|
|
2455
|
+
const la = U(() => {
|
|
2456
2456
|
if (!S.value || !b.value) return "";
|
|
2457
|
-
const v = dt, i = vt, m = (F,
|
|
2458
|
-
const f = Math.max(0, Math.min(v, F)), B = Math.max(0, Math.min(i,
|
|
2457
|
+
const v = dt, i = vt, m = (F, H) => {
|
|
2458
|
+
const f = Math.max(0, Math.min(v, F)), B = Math.max(0, Math.min(i, H)), se = Math.max(0, Math.min(1, f / v)), de = Math.max(0, Math.min(1, 1 - B / i)), ke = re(u.value, se, de), ge = G(ke.r, ke.g, ke.b);
|
|
2459
2459
|
return Fe(ge, b.value);
|
|
2460
2460
|
}, ee = [], _ = [];
|
|
2461
2461
|
for (let F = -20; F <= v + 20; F += 2) {
|
|
2462
|
-
for (let
|
|
2463
|
-
if (m(F,
|
|
2464
|
-
ee.push({ x: F, y:
|
|
2462
|
+
for (let H = 0; H < i; H++)
|
|
2463
|
+
if (m(F, H) < 4.5) {
|
|
2464
|
+
ee.push({ x: F, y: H });
|
|
2465
2465
|
break;
|
|
2466
2466
|
}
|
|
2467
|
-
for (let
|
|
2468
|
-
if (m(F,
|
|
2469
|
-
_.push({ x: F, y:
|
|
2467
|
+
for (let H = i - 1; H >= 0; H--)
|
|
2468
|
+
if (m(F, H) < 4.5) {
|
|
2469
|
+
_.push({ x: F, y: H });
|
|
2470
2470
|
break;
|
|
2471
2471
|
}
|
|
2472
2472
|
}
|
|
@@ -2474,41 +2474,41 @@ const co = {
|
|
|
2474
2474
|
return "";
|
|
2475
2475
|
let Y = "M";
|
|
2476
2476
|
for (let F = 0; F < ee.length; F++) {
|
|
2477
|
-
const
|
|
2478
|
-
F === 0 ? Y += ` ${
|
|
2477
|
+
const H = ee[F];
|
|
2478
|
+
F === 0 ? Y += ` ${H.x} ${H.y}` : Y += ` L ${H.x} ${H.y}`;
|
|
2479
2479
|
}
|
|
2480
2480
|
for (let F = _.length - 1; F >= 0; F--) {
|
|
2481
|
-
const
|
|
2482
|
-
Y += ` L ${
|
|
2481
|
+
const H = _[F];
|
|
2482
|
+
Y += ` L ${H.x} ${H.y}`;
|
|
2483
2483
|
}
|
|
2484
2484
|
return Y += " Z", Y;
|
|
2485
|
-
}), na =
|
|
2485
|
+
}), na = U(() => {
|
|
2486
2486
|
if (!S.value || !b.value) return "";
|
|
2487
|
-
const v = dt, i = vt, m = 3, ee = (
|
|
2488
|
-
const B = Math.max(0, Math.min(v,
|
|
2487
|
+
const v = dt, i = vt, m = 3, ee = (H, f) => {
|
|
2488
|
+
const B = Math.max(0, Math.min(v, H)), se = Math.max(0, Math.min(i, f)), de = Math.max(0, Math.min(1, B / v)), ke = Math.max(0, Math.min(1, 1 - se / i)), ge = re(u.value, de, ke), me = G(ge.r, ge.g, ge.b);
|
|
2489
2489
|
return Fe(me, b.value);
|
|
2490
2490
|
}, _ = [], Y = [];
|
|
2491
|
-
for (let
|
|
2491
|
+
for (let H = -20; H <= v + 20; H += 2) {
|
|
2492
2492
|
for (let f = 0; f < i; f++)
|
|
2493
|
-
if (ee(
|
|
2494
|
-
_.push({ x:
|
|
2493
|
+
if (ee(H, f) < m) {
|
|
2494
|
+
_.push({ x: H, y: f });
|
|
2495
2495
|
break;
|
|
2496
2496
|
}
|
|
2497
2497
|
for (let f = i - 1; f >= 0; f--)
|
|
2498
|
-
if (ee(
|
|
2499
|
-
Y.push({ x:
|
|
2498
|
+
if (ee(H, f) < m) {
|
|
2499
|
+
Y.push({ x: H, y: f });
|
|
2500
2500
|
break;
|
|
2501
2501
|
}
|
|
2502
2502
|
}
|
|
2503
2503
|
if (_.length < 3 || Y.length < 3)
|
|
2504
2504
|
return "";
|
|
2505
2505
|
let F = "M";
|
|
2506
|
-
for (let
|
|
2507
|
-
const f = _[
|
|
2508
|
-
|
|
2506
|
+
for (let H = 0; H < _.length; H++) {
|
|
2507
|
+
const f = _[H];
|
|
2508
|
+
H === 0 ? F += ` ${f.x} ${f.y}` : F += ` L ${f.x} ${f.y}`;
|
|
2509
2509
|
}
|
|
2510
|
-
for (let
|
|
2511
|
-
const f = Y[
|
|
2510
|
+
for (let H = Y.length - 1; H >= 0; H--) {
|
|
2511
|
+
const f = Y[H];
|
|
2512
2512
|
F += ` L ${f.x} ${f.y}`;
|
|
2513
2513
|
}
|
|
2514
2514
|
return F += " Z", F;
|
|
@@ -2521,7 +2521,7 @@ const co = {
|
|
|
2521
2521
|
}, ra = (v) => {
|
|
2522
2522
|
if (!V.value) return;
|
|
2523
2523
|
const i = V.value.getBoundingClientRect(), m = "touches" in v ? v.touches[0].clientX : v.clientX, ee = "touches" in v ? v.touches[0].clientY : v.clientY, _ = Math.max(0, Math.min(i.width, m - i.left)), Y = Math.max(0, Math.min(i.height, ee - i.top));
|
|
2524
|
-
|
|
2524
|
+
g.value = _ / i.width, M.value = 1 - Y / i.height;
|
|
2525
2525
|
}, ua = (v) => {
|
|
2526
2526
|
l.disabled || (L.value = !0, ca(v), document.addEventListener("mousemove", Nt), document.addEventListener("mouseup", Bt), document.addEventListener("touchmove", Nt), document.addEventListener("touchend", Bt));
|
|
2527
2527
|
}, Nt = (v) => {
|
|
@@ -2541,49 +2541,49 @@ const co = {
|
|
|
2541
2541
|
}, we = (v) => {
|
|
2542
2542
|
if (!k.value) return;
|
|
2543
2543
|
const i = k.value.getBoundingClientRect(), m = "touches" in v ? v.touches[0].clientX : v.clientX, ee = Math.max(0, Math.min(i.width, m - i.left));
|
|
2544
|
-
A.value = ee / i.width,
|
|
2544
|
+
A.value = ee / i.width, E.value = Math.round(A.value * 100);
|
|
2545
2545
|
}, wt = () => {
|
|
2546
2546
|
const v = c.value;
|
|
2547
2547
|
if (v.length === 7 && v.startsWith("#")) {
|
|
2548
2548
|
const i = Ie(v);
|
|
2549
2549
|
if (i) {
|
|
2550
2550
|
const m = ve(i.r, i.g, i.b);
|
|
2551
|
-
u.value = m.h,
|
|
2551
|
+
u.value = m.h, g.value = m.s, M.value = m.v, Rt();
|
|
2552
2552
|
}
|
|
2553
2553
|
}
|
|
2554
2554
|
}, Pt = () => {
|
|
2555
2555
|
const { r: v, g: i, b: m } = Pe.value;
|
|
2556
2556
|
c.value = G(v, i, m);
|
|
2557
2557
|
}, tt = () => {
|
|
2558
|
-
const { r: v, g: i, b: m } =
|
|
2558
|
+
const { r: v, g: i, b: m } = h.value;
|
|
2559
2559
|
if (v >= 0 && v <= 255 && i >= 0 && i <= 255 && m >= 0 && m <= 255) {
|
|
2560
2560
|
const ee = ve(v, i, m);
|
|
2561
|
-
u.value = ee.h,
|
|
2561
|
+
u.value = ee.h, g.value = ee.s, M.value = ee.v, Ot(), ya(), ka();
|
|
2562
2562
|
}
|
|
2563
2563
|
}, ct = () => {
|
|
2564
2564
|
const { h: v, s: i, l: m } = C.value;
|
|
2565
2565
|
if (v >= 0 && v <= 360 && i >= 0 && i <= 100 && m >= 0 && m <= 100) {
|
|
2566
2566
|
const ee = X(v, i, m), _ = ve(ee.r, ee.g, ee.b);
|
|
2567
|
-
u.value = _.h,
|
|
2567
|
+
u.value = _.h, g.value = _.s, M.value = _.v, Ot(), Rt(), ka();
|
|
2568
2568
|
}
|
|
2569
2569
|
}, bt = () => {
|
|
2570
2570
|
const { l: v, c: i, h: m } = N.value;
|
|
2571
2571
|
if (v >= 0 && v <= 100 && i >= 0 && i <= 100 && m >= 0 && m <= 360) {
|
|
2572
2572
|
const ee = pe(v, i, m), _ = ve(ee.r, ee.g, ee.b);
|
|
2573
|
-
u.value = _.h,
|
|
2573
|
+
u.value = _.h, g.value = _.s, M.value = _.v, Ot(), Rt(), ya();
|
|
2574
2574
|
}
|
|
2575
2575
|
}, jt = () => {
|
|
2576
|
-
const v = Math.max(0, Math.min(100,
|
|
2577
|
-
A.value = v / 100,
|
|
2576
|
+
const v = Math.max(0, Math.min(100, E.value));
|
|
2577
|
+
A.value = v / 100, E.value = v;
|
|
2578
2578
|
}, va = () => {
|
|
2579
|
-
const v = ["hex", "rgb", "hsl", "oklch"], m = (v.indexOf(
|
|
2580
|
-
|
|
2579
|
+
const v = ["hex", "rgb", "hsl", "oklch"], m = (v.indexOf(D.value) + 1) % v.length;
|
|
2580
|
+
D.value = v[m];
|
|
2581
2581
|
}, Ot = () => {
|
|
2582
2582
|
const { r: v, g: i, b: m } = Pe.value;
|
|
2583
2583
|
c.value = G(v, i, m);
|
|
2584
2584
|
}, Rt = () => {
|
|
2585
2585
|
const { r: v, g: i, b: m } = Pe.value;
|
|
2586
|
-
|
|
2586
|
+
h.value = { r: v, g: i, b: m };
|
|
2587
2587
|
}, ya = () => {
|
|
2588
2588
|
const { r: v, g: i, b: m } = Pe.value, ee = he(v, i, m);
|
|
2589
2589
|
C.value = ee;
|
|
@@ -2595,7 +2595,7 @@ const co = {
|
|
|
2595
2595
|
const i = Ie(v);
|
|
2596
2596
|
if (i) {
|
|
2597
2597
|
const m = ve(i.r, i.g, i.b);
|
|
2598
|
-
u.value = m.h,
|
|
2598
|
+
u.value = m.h, g.value = m.s, M.value = m.v, Ot(), Rt();
|
|
2599
2599
|
}
|
|
2600
2600
|
}, Qa = () => {
|
|
2601
2601
|
S.value = !S.value;
|
|
@@ -2614,10 +2614,10 @@ const co = {
|
|
|
2614
2614
|
}
|
|
2615
2615
|
if (v) {
|
|
2616
2616
|
const i = ve(v.r, v.g, v.b);
|
|
2617
|
-
u.value = i.h,
|
|
2617
|
+
u.value = i.h, g.value = i.s, M.value = i.v, Ot(), Rt();
|
|
2618
2618
|
}
|
|
2619
2619
|
};
|
|
2620
|
-
return Le([u,
|
|
2620
|
+
return Le([u, g, M, A], () => {
|
|
2621
2621
|
Ot(), Rt(), ya(), ka();
|
|
2622
2622
|
const v = He(at.value);
|
|
2623
2623
|
v !== ye && (w.value ? (te && clearTimeout(te), te = setTimeout(() => {
|
|
@@ -2767,8 +2767,8 @@ const co = {
|
|
|
2767
2767
|
e("div", {
|
|
2768
2768
|
class: "ui-color-picker-cursor",
|
|
2769
2769
|
style: Oe({
|
|
2770
|
-
left: `${
|
|
2771
|
-
top: `${(1 -
|
|
2770
|
+
left: `${g.value * 100}%`,
|
|
2771
|
+
top: `${(1 - M.value) * 100}%`,
|
|
2772
2772
|
backgroundColor: at.value
|
|
2773
2773
|
})
|
|
2774
2774
|
}, [...i[15] || (i[15] = [
|
|
@@ -2898,7 +2898,7 @@ const co = {
|
|
|
2898
2898
|
}, null, 4)
|
|
2899
2899
|
], 544)) : I("", !0),
|
|
2900
2900
|
e("div", Po, [
|
|
2901
|
-
|
|
2901
|
+
D.value === "hex" ? (a(), o("div", jo, [
|
|
2902
2902
|
e("div", Oo, [
|
|
2903
2903
|
i[24] || (i[24] = e("label", { class: "ui-color-picker-label" }, "Hex", -1)),
|
|
2904
2904
|
Xe(e("input", {
|
|
@@ -2928,11 +2928,11 @@ const co = {
|
|
|
2928
2928
|
_: 1
|
|
2929
2929
|
})
|
|
2930
2930
|
])
|
|
2931
|
-
])) :
|
|
2931
|
+
])) : D.value === "rgb" ? (a(), o("div", Fo, [
|
|
2932
2932
|
e("div", qo, [
|
|
2933
2933
|
i[25] || (i[25] = e("label", { class: "ui-color-picker-label" }, "R", -1)),
|
|
2934
2934
|
Xe(e("input", {
|
|
2935
|
-
"onUpdate:modelValue": i[1] || (i[1] = (m) =>
|
|
2935
|
+
"onUpdate:modelValue": i[1] || (i[1] = (m) => h.value.r = m),
|
|
2936
2936
|
onInput: tt,
|
|
2937
2937
|
class: "ui-color-picker-input",
|
|
2938
2938
|
type: "number",
|
|
@@ -2941,7 +2941,7 @@ const co = {
|
|
|
2941
2941
|
}, null, 544), [
|
|
2942
2942
|
[
|
|
2943
2943
|
Je,
|
|
2944
|
-
|
|
2944
|
+
h.value.r,
|
|
2945
2945
|
void 0,
|
|
2946
2946
|
{ number: !0 }
|
|
2947
2947
|
]
|
|
@@ -2950,7 +2950,7 @@ const co = {
|
|
|
2950
2950
|
e("div", Zo, [
|
|
2951
2951
|
i[26] || (i[26] = e("label", { class: "ui-color-picker-label" }, "G", -1)),
|
|
2952
2952
|
Xe(e("input", {
|
|
2953
|
-
"onUpdate:modelValue": i[2] || (i[2] = (m) =>
|
|
2953
|
+
"onUpdate:modelValue": i[2] || (i[2] = (m) => h.value.g = m),
|
|
2954
2954
|
onInput: tt,
|
|
2955
2955
|
class: "ui-color-picker-input",
|
|
2956
2956
|
type: "number",
|
|
@@ -2959,7 +2959,7 @@ const co = {
|
|
|
2959
2959
|
}, null, 544), [
|
|
2960
2960
|
[
|
|
2961
2961
|
Je,
|
|
2962
|
-
|
|
2962
|
+
h.value.g,
|
|
2963
2963
|
void 0,
|
|
2964
2964
|
{ number: !0 }
|
|
2965
2965
|
]
|
|
@@ -2968,7 +2968,7 @@ const co = {
|
|
|
2968
2968
|
e("div", Ko, [
|
|
2969
2969
|
i[27] || (i[27] = e("label", { class: "ui-color-picker-label" }, "B", -1)),
|
|
2970
2970
|
Xe(e("input", {
|
|
2971
|
-
"onUpdate:modelValue": i[3] || (i[3] = (m) =>
|
|
2971
|
+
"onUpdate:modelValue": i[3] || (i[3] = (m) => h.value.b = m),
|
|
2972
2972
|
onInput: tt,
|
|
2973
2973
|
class: "ui-color-picker-input",
|
|
2974
2974
|
type: "number",
|
|
@@ -2977,7 +2977,7 @@ const co = {
|
|
|
2977
2977
|
}, null, 544), [
|
|
2978
2978
|
[
|
|
2979
2979
|
Je,
|
|
2980
|
-
|
|
2980
|
+
h.value.b,
|
|
2981
2981
|
void 0,
|
|
2982
2982
|
{ number: !0 }
|
|
2983
2983
|
]
|
|
@@ -2986,7 +2986,7 @@ const co = {
|
|
|
2986
2986
|
l.showAlpha ? (a(), o("div", Go, [
|
|
2987
2987
|
i[28] || (i[28] = e("label", { class: "ui-color-picker-label" }, "A", -1)),
|
|
2988
2988
|
Xe(e("input", {
|
|
2989
|
-
"onUpdate:modelValue": i[4] || (i[4] = (m) =>
|
|
2989
|
+
"onUpdate:modelValue": i[4] || (i[4] = (m) => E.value = m),
|
|
2990
2990
|
onInput: jt,
|
|
2991
2991
|
class: "ui-color-picker-input",
|
|
2992
2992
|
type: "number",
|
|
@@ -2995,7 +2995,7 @@ const co = {
|
|
|
2995
2995
|
}, null, 544), [
|
|
2996
2996
|
[
|
|
2997
2997
|
Je,
|
|
2998
|
-
|
|
2998
|
+
E.value,
|
|
2999
2999
|
void 0,
|
|
3000
3000
|
{ number: !0 }
|
|
3001
3001
|
]
|
|
@@ -3016,7 +3016,7 @@ const co = {
|
|
|
3016
3016
|
_: 1
|
|
3017
3017
|
})
|
|
3018
3018
|
])
|
|
3019
|
-
])) :
|
|
3019
|
+
])) : D.value === "hsl" ? (a(), o("div", Wo, [
|
|
3020
3020
|
e("div", Qo, [
|
|
3021
3021
|
i[29] || (i[29] = e("label", { class: "ui-color-picker-label" }, "H", -1)),
|
|
3022
3022
|
Xe(e("input", {
|
|
@@ -3074,7 +3074,7 @@ const co = {
|
|
|
3074
3074
|
l.showAlpha ? (a(), o("div", e1, [
|
|
3075
3075
|
i[32] || (i[32] = e("label", { class: "ui-color-picker-label" }, "A", -1)),
|
|
3076
3076
|
Xe(e("input", {
|
|
3077
|
-
"onUpdate:modelValue": i[8] || (i[8] = (m) =>
|
|
3077
|
+
"onUpdate:modelValue": i[8] || (i[8] = (m) => E.value = m),
|
|
3078
3078
|
onInput: jt,
|
|
3079
3079
|
class: "ui-color-picker-input",
|
|
3080
3080
|
type: "number",
|
|
@@ -3083,7 +3083,7 @@ const co = {
|
|
|
3083
3083
|
}, null, 544), [
|
|
3084
3084
|
[
|
|
3085
3085
|
Je,
|
|
3086
|
-
|
|
3086
|
+
E.value,
|
|
3087
3087
|
void 0,
|
|
3088
3088
|
{ number: !0 }
|
|
3089
3089
|
]
|
|
@@ -3104,7 +3104,7 @@ const co = {
|
|
|
3104
3104
|
_: 1
|
|
3105
3105
|
})
|
|
3106
3106
|
])
|
|
3107
|
-
])) :
|
|
3107
|
+
])) : D.value === "oklch" ? (a(), o("div", a1, [
|
|
3108
3108
|
e("div", s1, [
|
|
3109
3109
|
i[33] || (i[33] = e("label", { class: "ui-color-picker-label" }, "L", -1)),
|
|
3110
3110
|
Xe(e("input", {
|
|
@@ -3162,7 +3162,7 @@ const co = {
|
|
|
3162
3162
|
l.showAlpha ? (a(), o("div", n1, [
|
|
3163
3163
|
i[36] || (i[36] = e("label", { class: "ui-color-picker-label" }, "A", -1)),
|
|
3164
3164
|
Xe(e("input", {
|
|
3165
|
-
"onUpdate:modelValue": i[12] || (i[12] = (m) =>
|
|
3165
|
+
"onUpdate:modelValue": i[12] || (i[12] = (m) => E.value = m),
|
|
3166
3166
|
onInput: jt,
|
|
3167
3167
|
class: "ui-color-picker-input",
|
|
3168
3168
|
type: "number",
|
|
@@ -3171,7 +3171,7 @@ const co = {
|
|
|
3171
3171
|
}, null, 544), [
|
|
3172
3172
|
[
|
|
3173
3173
|
Je,
|
|
3174
|
-
|
|
3174
|
+
E.value,
|
|
3175
3175
|
void 0,
|
|
3176
3176
|
{ number: !0 }
|
|
3177
3177
|
]
|
|
@@ -3289,12 +3289,12 @@ const co = {
|
|
|
3289
3289
|
},
|
|
3290
3290
|
emits: ["update:modelValue"],
|
|
3291
3291
|
setup(s, { emit: r }) {
|
|
3292
|
-
const t = s, l = r, z =
|
|
3292
|
+
const t = s, l = r, z = $(), V = $(), y = $(!1), k = U({
|
|
3293
3293
|
get: () => t.modelValue,
|
|
3294
|
-
set: (
|
|
3295
|
-
}), u =
|
|
3296
|
-
floatingStyle:
|
|
3297
|
-
updatePosition:
|
|
3294
|
+
set: (h) => l("update:modelValue", h)
|
|
3295
|
+
}), u = U(() => t.modelValue || "#000000"), {
|
|
3296
|
+
floatingStyle: g,
|
|
3297
|
+
updatePosition: M,
|
|
3298
3298
|
cleanup: A
|
|
3299
3299
|
} = Oa({
|
|
3300
3300
|
trigger: z,
|
|
@@ -3311,14 +3311,14 @@ const co = {
|
|
|
3311
3311
|
}
|
|
3312
3312
|
}
|
|
3313
3313
|
}), c = async () => {
|
|
3314
|
-
t.disabled || (y.value = !y.value, y.value && (await yt(),
|
|
3314
|
+
t.disabled || (y.value = !y.value, y.value && (await yt(), M()));
|
|
3315
3315
|
};
|
|
3316
3316
|
return Le(
|
|
3317
3317
|
[() => t.showContrast, () => t.compareColor],
|
|
3318
3318
|
() => {
|
|
3319
3319
|
y.value && yt(() => {
|
|
3320
3320
|
setTimeout(() => {
|
|
3321
|
-
|
|
3321
|
+
M();
|
|
3322
3322
|
}, 50);
|
|
3323
3323
|
});
|
|
3324
3324
|
},
|
|
@@ -3328,13 +3328,13 @@ const co = {
|
|
|
3328
3328
|
() => {
|
|
3329
3329
|
y.value && t.showContrast && t.compareColor && yt(() => {
|
|
3330
3330
|
setTimeout(() => {
|
|
3331
|
-
|
|
3331
|
+
M();
|
|
3332
3332
|
}, 100);
|
|
3333
3333
|
});
|
|
3334
3334
|
}
|
|
3335
3335
|
), xt(() => {
|
|
3336
3336
|
A();
|
|
3337
|
-
}), (
|
|
3337
|
+
}), (h, E) => (a(), o("div", {
|
|
3338
3338
|
ref_key: "containerRef",
|
|
3339
3339
|
ref: z,
|
|
3340
3340
|
class: "ui-color-picker-button-container"
|
|
@@ -3356,7 +3356,7 @@ const co = {
|
|
|
3356
3356
|
d(n(_a))
|
|
3357
3357
|
]),
|
|
3358
3358
|
default: x(() => [
|
|
3359
|
-
|
|
3359
|
+
E[2] || (E[2] = Q(" Color ", -1))
|
|
3360
3360
|
]),
|
|
3361
3361
|
_: 1
|
|
3362
3362
|
}, 8, ["disabled"]),
|
|
@@ -3366,13 +3366,13 @@ const co = {
|
|
|
3366
3366
|
ref_key: "popoverRef",
|
|
3367
3367
|
ref: V,
|
|
3368
3368
|
class: "ui-color-picker-popover",
|
|
3369
|
-
style: Oe(n(
|
|
3369
|
+
style: Oe(n(g))
|
|
3370
3370
|
}, [
|
|
3371
3371
|
d(Za, $a({
|
|
3372
3372
|
modelValue: k.value,
|
|
3373
|
-
"onUpdate:modelValue":
|
|
3373
|
+
"onUpdate:modelValue": E[0] || (E[0] = (D) => k.value = D)
|
|
3374
3374
|
}, t, {
|
|
3375
|
-
"onUpdate:modelValue":
|
|
3375
|
+
"onUpdate:modelValue": E[1] || (E[1] = (D) => h.$emit("update:modelValue", D))
|
|
3376
3376
|
}), null, 16, ["modelValue"])
|
|
3377
3377
|
], 4)) : I("", !0)
|
|
3378
3378
|
]))
|
|
@@ -3405,7 +3405,7 @@ const co = {
|
|
|
3405
3405
|
}
|
|
3406
3406
|
return "#EA00A8";
|
|
3407
3407
|
}
|
|
3408
|
-
const V =
|
|
3408
|
+
const V = U({
|
|
3409
3409
|
get: () => t.modelValue === "#EA00A8" ? z() : t.modelValue,
|
|
3410
3410
|
set: (y) => {
|
|
3411
3411
|
l("update:modelValue", y), l("change", y);
|
|
@@ -3458,22 +3458,22 @@ const co = {
|
|
|
3458
3458
|
},
|
|
3459
3459
|
emits: ["rowClick", "rowSelect", "sort", "columnReorder", "cellUpdate"],
|
|
3460
3460
|
setup(s, { expose: r, emit: t }) {
|
|
3461
|
-
const l = s, z = t, V = ga(), y =
|
|
3461
|
+
const l = s, z = t, V = ga(), y = $(null), k = $([...l.data]), u = $([...l.columns]);
|
|
3462
3462
|
Le(() => l.data, (G) => {
|
|
3463
3463
|
k.value = [...G];
|
|
3464
3464
|
}, { deep: !0 }), Le(() => l.columns, (G) => {
|
|
3465
3465
|
u.value = [...G];
|
|
3466
3466
|
}, { deep: !0 });
|
|
3467
|
-
const
|
|
3467
|
+
const g = () => {
|
|
3468
3468
|
k.value = [...l.data], p.value.clear(), L.value.clear();
|
|
3469
|
-
},
|
|
3469
|
+
}, M = () => {
|
|
3470
3470
|
u.value = [...l.columns];
|
|
3471
|
-
}, A =
|
|
3471
|
+
}, A = $(""), c = $("asc"), h = $({}), E = $({}), D = $(""), C = $(/* @__PURE__ */ new Set()), N = $(/* @__PURE__ */ new Set()), p = $(/* @__PURE__ */ new Set()), L = $(/* @__PURE__ */ new Map()), O = $(null), S = $(null), w = $(!1), q = $(0), Z = $(0), b = U(() => {
|
|
3472
3472
|
const G = {
|
|
3473
3473
|
"--_cols": l.columns.length.toString()
|
|
3474
3474
|
};
|
|
3475
3475
|
return l.maxHeight && (G.maxHeight = typeof l.maxHeight == "number" || !l.maxHeight.endsWith("px") ? `${l.maxHeight}px` : l.maxHeight), l.maxWidth && (G.maxWidth = typeof l.maxWidth == "number" || !l.maxWidth.endsWith("px") ? `${l.maxWidth}px` : l.maxWidth), G;
|
|
3476
|
-
}), T =
|
|
3476
|
+
}), T = U(() => ({
|
|
3477
3477
|
gridColumn: `1 / ${l.columns.length + 1}`
|
|
3478
3478
|
})), te = (G) => w.value ? G === O.value ? {
|
|
3479
3479
|
transform: `translateX(${Z.value - q.value}px)`,
|
|
@@ -3487,9 +3487,9 @@ const co = {
|
|
|
3487
3487
|
} : {} : {}, ue = (G) => !w.value || G !== O.value ? {} : {
|
|
3488
3488
|
opacity: "0.8",
|
|
3489
3489
|
zIndex: 10
|
|
3490
|
-
}, ye =
|
|
3490
|
+
}, ye = U(() => {
|
|
3491
3491
|
let G = [...k.value];
|
|
3492
|
-
if (l.filterable && Object.keys(
|
|
3492
|
+
if (l.filterable && Object.keys(h.value).length > 0 && (G = G.filter((he) => Object.entries(h.value).every(([X, fe]) => {
|
|
3493
3493
|
if (!fe || fe === "") return !0;
|
|
3494
3494
|
const pe = u.value.find((Fe) => Fe.key === X), He = Me(he, X, pe), Ne = String(He || "").toLowerCase();
|
|
3495
3495
|
return Array.isArray(fe) ? fe.some((Fe) => Ne.includes(String(Fe).toLowerCase())) : Ne.includes(String(fe).toLowerCase());
|
|
@@ -3500,9 +3500,9 @@ const co = {
|
|
|
3500
3500
|
return pe < He ? c.value === "asc" ? -1 : 1 : pe > He ? c.value === "asc" ? 1 : -1 : 0;
|
|
3501
3501
|
});
|
|
3502
3502
|
}
|
|
3503
|
-
if (
|
|
3504
|
-
const he = l.columns.find((fe) => fe.key ===
|
|
3505
|
-
const He = Me(pe,
|
|
3503
|
+
if (D.value && l.groupable) {
|
|
3504
|
+
const he = l.columns.find((fe) => fe.key === D.value), X = G.reduce((fe, pe) => {
|
|
3505
|
+
const He = Me(pe, D.value, he), Ne = String(He || "Ungrouped");
|
|
3506
3506
|
return fe[Ne] || (fe[Ne] = []), fe[Ne].push(pe), fe;
|
|
3507
3507
|
}, {});
|
|
3508
3508
|
return Object.entries(X).flatMap(([fe, pe]) => [
|
|
@@ -3527,7 +3527,7 @@ const co = {
|
|
|
3527
3527
|
}, Ae = (G) => {
|
|
3528
3528
|
const he = l.columns.find((X) => X.key === G);
|
|
3529
3529
|
!l.sortable && !he?.sortable || (A.value === G ? c.value = c.value === "asc" ? "desc" : "asc" : (A.value = G, c.value = "asc"), z("sort", G, c.value));
|
|
3530
|
-
}, Se =
|
|
3530
|
+
}, Se = U(() => l.stickyColumns || []), xe = U(() => l.columns.some((G) => V[`footer-${G.key}`])), ne = (G, he) => {
|
|
3531
3531
|
const X = V[`cell-${G.key}`] || G.key === "actions" || V.actions;
|
|
3532
3532
|
return G.key === "actions" && X;
|
|
3533
3533
|
}, j = (G) => {
|
|
@@ -3539,9 +3539,9 @@ const co = {
|
|
|
3539
3539
|
fe != null && he.add(String(fe));
|
|
3540
3540
|
}), Array.from(he).sort().map((X) => ({ label: X, value: X }));
|
|
3541
3541
|
}, K = (G) => {
|
|
3542
|
-
|
|
3542
|
+
E.value[G] = !E.value[G];
|
|
3543
3543
|
}, ie = (G) => {
|
|
3544
|
-
|
|
3544
|
+
D.value = D.value === G ? "" : G;
|
|
3545
3545
|
}, ae = (G, he) => {
|
|
3546
3546
|
G._isGroupHeader || (l.expandable && (C.value.has(he) ? C.value.delete(he) : C.value.add(he)), l.selectable && (N.value.has(he) ? N.value.delete(he) : N.value.add(he), z("rowSelect", N.value)), z("rowClick", G, he));
|
|
3547
3547
|
}, W = (G, he, X, fe) => {
|
|
@@ -3596,8 +3596,8 @@ const co = {
|
|
|
3596
3596
|
r({
|
|
3597
3597
|
internalData: k,
|
|
3598
3598
|
internalColumns: u,
|
|
3599
|
-
restoreData:
|
|
3600
|
-
restoreColumns:
|
|
3599
|
+
restoreData: g,
|
|
3600
|
+
restoreColumns: M,
|
|
3601
3601
|
modifiedCells: p,
|
|
3602
3602
|
cellValues: L
|
|
3603
3603
|
});
|
|
@@ -3685,23 +3685,23 @@ const co = {
|
|
|
3685
3685
|
s.filterable || X.filterable ? (a(), o("button", {
|
|
3686
3686
|
key: 0,
|
|
3687
3687
|
onClick: (pe) => K(X.key),
|
|
3688
|
-
class: be(["ui-table-filter-btn", { "ui-table-filter-btn--active":
|
|
3688
|
+
class: be(["ui-table-filter-btn", { "ui-table-filter-btn--active": h.value[X.key] }])
|
|
3689
3689
|
}, [
|
|
3690
3690
|
d(n(ds), { size: 14 })
|
|
3691
3691
|
], 10, _1)) : I("", !0),
|
|
3692
3692
|
s.groupable || X.groupable ? (a(), o("button", {
|
|
3693
3693
|
key: 1,
|
|
3694
3694
|
onClick: (pe) => ie(X.key),
|
|
3695
|
-
class: be(["ui-table-group-btn", { "ui-table-group-btn--active":
|
|
3695
|
+
class: be(["ui-table-group-btn", { "ui-table-group-btn--active": D.value === X.key }])
|
|
3696
3696
|
}, [
|
|
3697
3697
|
d(n(Ha), { size: 14 })
|
|
3698
3698
|
], 10, T1)) : I("", !0)
|
|
3699
3699
|
])
|
|
3700
3700
|
]),
|
|
3701
|
-
|
|
3701
|
+
E.value[X.key] ? (a(), o("div", z1, [
|
|
3702
3702
|
d(Ze, {
|
|
3703
|
-
modelValue:
|
|
3704
|
-
"onUpdate:modelValue": (pe) =>
|
|
3703
|
+
modelValue: h.value[X.key],
|
|
3704
|
+
"onUpdate:modelValue": (pe) => h.value[X.key] = pe,
|
|
3705
3705
|
type: X.filterType,
|
|
3706
3706
|
options: X.filterType === "select" ? j(X) : void 0,
|
|
3707
3707
|
placeholder: `Filter ${X.label}...`,
|
|
@@ -3891,10 +3891,10 @@ const co = {
|
|
|
3891
3891
|
borderColor: { default: "transparent" }
|
|
3892
3892
|
},
|
|
3893
3893
|
setup(s) {
|
|
3894
|
-
const r = s, t = ga(), l =
|
|
3894
|
+
const r = s, t = ga(), l = U(() => !!t.default), z = U(() => !!t.header), V = U(() => !!t.navigation), y = U(() => r.sticky ? r.sticky === !0 ? { side: "top", offset: "0" } : {
|
|
3895
3895
|
side: r.sticky.side || "top",
|
|
3896
3896
|
offset: r.sticky.offset || "0"
|
|
3897
|
-
} : null), k =
|
|
3897
|
+
} : null), k = U(() => {
|
|
3898
3898
|
if (!y.value) return {};
|
|
3899
3899
|
const { side: A, offset: c } = y.value;
|
|
3900
3900
|
return {
|
|
@@ -3902,16 +3902,16 @@ const co = {
|
|
|
3902
3902
|
[A]: c,
|
|
3903
3903
|
zIndex: 20
|
|
3904
3904
|
};
|
|
3905
|
-
}), u =
|
|
3905
|
+
}), u = U(() => {
|
|
3906
3906
|
if (!r.gradient || r.variant !== "gradient" && r.variant !== "space") return null;
|
|
3907
3907
|
const { angle: A = "135deg", stops: c = [] } = r.gradient;
|
|
3908
3908
|
if (c.length === 0) return null;
|
|
3909
|
-
const
|
|
3910
|
-
return `linear-gradient(${A}, ${
|
|
3911
|
-
}),
|
|
3909
|
+
const h = c.sort((E, D) => E.position - D.position).map((E) => `${E.color} ${E.position}%`).join(", ");
|
|
3910
|
+
return `linear-gradient(${A}, ${h})`;
|
|
3911
|
+
}), g = U(() => {
|
|
3912
3912
|
const A = {};
|
|
3913
3913
|
return u.value && (A["--hero-custom-background"] = u.value), A;
|
|
3914
|
-
}),
|
|
3914
|
+
}), M = U(() => {
|
|
3915
3915
|
const A = { ...k.value };
|
|
3916
3916
|
return u.value && (A["--shadow-gradient"] = u.value), A["--border-color"] = r.borderColor, A;
|
|
3917
3917
|
});
|
|
@@ -3920,7 +3920,7 @@ const co = {
|
|
|
3920
3920
|
`ui-hero-wrapper--${s.variant}`,
|
|
3921
3921
|
`ui-hero-wrapper--shadow-${s.shadow}`
|
|
3922
3922
|
]]),
|
|
3923
|
-
style: Oe(
|
|
3923
|
+
style: Oe(M.value)
|
|
3924
3924
|
}, [
|
|
3925
3925
|
e("div", {
|
|
3926
3926
|
class: be(["ui-hero", [
|
|
@@ -3930,7 +3930,7 @@ const co = {
|
|
|
3930
3930
|
"ui-hero--sticky": !!s.sticky
|
|
3931
3931
|
}
|
|
3932
3932
|
]]),
|
|
3933
|
-
style: Oe(
|
|
3933
|
+
style: Oe(g.value)
|
|
3934
3934
|
}, [
|
|
3935
3935
|
e("div", R1, [
|
|
3936
3936
|
z.value || s.title || s.description ? (a(), o("div", F1, [
|
|
@@ -3954,7 +3954,7 @@ const co = {
|
|
|
3954
3954
|
], 6)
|
|
3955
3955
|
], 6));
|
|
3956
3956
|
}
|
|
3957
|
-
}), _c = /* @__PURE__ */ De(Q1, [["__scopeId", "data-v-00e0d581"]]), At =
|
|
3957
|
+
}), _c = /* @__PURE__ */ De(Q1, [["__scopeId", "data-v-00e0d581"]]), At = $("system"), Ma = $(!1), Ta = "strands-ui-theme";
|
|
3958
3958
|
function X1() {
|
|
3959
3959
|
return typeof window > "u" ? !1 : window.matchMedia("(prefers-color-scheme: dark)").matches;
|
|
3960
3960
|
}
|
|
@@ -3981,7 +3981,7 @@ function Na(s) {
|
|
|
3981
3981
|
typeof document > "u" || (s ? (document.documentElement.setAttribute("data-theme", "dark"), document.documentElement.classList.add("dark")) : (document.documentElement.setAttribute("data-theme", "light"), document.documentElement.classList.remove("dark")));
|
|
3982
3982
|
}
|
|
3983
3983
|
function tl() {
|
|
3984
|
-
const s =
|
|
3984
|
+
const s = U(() => At.value === "dark" ? !0 : At.value === "light" ? !1 : Ma.value), r = U(() => {
|
|
3985
3985
|
switch (At.value) {
|
|
3986
3986
|
case "light":
|
|
3987
3987
|
return "Light";
|
|
@@ -4019,20 +4019,20 @@ function tl() {
|
|
|
4019
4019
|
function V() {
|
|
4020
4020
|
if (typeof window > "u") return;
|
|
4021
4021
|
Ma.value = X1();
|
|
4022
|
-
const y = window.matchMedia("(prefers-color-scheme: dark)"), k = (
|
|
4023
|
-
Ma.value =
|
|
4022
|
+
const y = window.matchMedia("(prefers-color-scheme: dark)"), k = (g) => {
|
|
4023
|
+
Ma.value = g.matches;
|
|
4024
4024
|
};
|
|
4025
4025
|
y.addEventListener ? y.addEventListener("change", k) : y.addListener(k);
|
|
4026
4026
|
const u = J1();
|
|
4027
|
-
At.value = u, Na(s.value), Le(s, (
|
|
4028
|
-
Na(
|
|
4027
|
+
At.value = u, Na(s.value), Le(s, (g) => {
|
|
4028
|
+
Na(g);
|
|
4029
4029
|
}, { immediate: !1 });
|
|
4030
4030
|
}
|
|
4031
4031
|
return We(() => {
|
|
4032
4032
|
V();
|
|
4033
4033
|
}), {
|
|
4034
4034
|
// State
|
|
4035
|
-
currentTheme:
|
|
4035
|
+
currentTheme: U(() => At.value),
|
|
4036
4036
|
isDark: s,
|
|
4037
4037
|
themeLabel: r,
|
|
4038
4038
|
// Actions
|
|
@@ -4053,7 +4053,7 @@ function al() {
|
|
|
4053
4053
|
return pa || (pa = tl(), typeof window < "u" && (localStorage.getItem(Ta) === null && (At.value = "system"), pa.initialize())), pa;
|
|
4054
4054
|
}
|
|
4055
4055
|
function sl(s = "auto") {
|
|
4056
|
-
const r = ma("themeProvider", null), t = ma("uiApp", null), l =
|
|
4056
|
+
const r = ma("themeProvider", null), t = ma("uiApp", null), l = U(() => r?.isForced.value ? r.theme.value : t?.theme.value ? t.theme.value : s), z = U(() => r?.isForced.value ?? !1), V = U(() => l.value === "auto" ? typeof window < "u" ? window.matchMedia("(prefers-color-scheme: dark)").matches : !1 : l.value === "dark"), y = U(() => l.value === "auto" ? typeof window < "u" ? !window.matchMedia("(prefers-color-scheme: dark)").matches : !0 : l.value === "light"), k = U(() => ({
|
|
4057
4057
|
"ui-theme--light": y.value,
|
|
4058
4058
|
"ui-theme--dark": V.value,
|
|
4059
4059
|
"ui-theme--forced": z.value
|
|
@@ -4086,21 +4086,21 @@ const ol = {
|
|
|
4086
4086
|
includeLabel: { type: Boolean, default: !1 }
|
|
4087
4087
|
},
|
|
4088
4088
|
setup(s) {
|
|
4089
|
-
const r = s, { isForced: t } = sl(), { currentTheme: l, themeLabel: z, setTheme: V, cycleTheme: y, themeOptions: k } = al(), u =
|
|
4089
|
+
const r = s, { isForced: t } = sl(), { currentTheme: l, themeLabel: z, setTheme: V, cycleTheme: y, themeOptions: k } = al(), u = U(() => t.value), g = $(!1), M = {
|
|
4090
4090
|
sun: ms,
|
|
4091
4091
|
moon: ps,
|
|
4092
4092
|
monitor: Ea,
|
|
4093
4093
|
"chevron-up": qa,
|
|
4094
4094
|
"chevron-down": _a
|
|
4095
|
-
}, A = (C) =>
|
|
4095
|
+
}, A = (C) => M[C] || Ea, c = U(() => l.value === "dark" ? "moon" : l.value === "light" ? "sun" : "monitor"), h = U(() => l.value === "dark" ? "Light" : l.value === "light" ? "System" : "Dark"), E = () => {
|
|
4096
4096
|
r.variant === "button" && y();
|
|
4097
|
-
},
|
|
4098
|
-
C.target.closest(".ui-theme-toggle-dropdown") || (
|
|
4097
|
+
}, D = (C) => {
|
|
4098
|
+
C.target.closest(".ui-theme-toggle-dropdown") || (g.value = !1);
|
|
4099
4099
|
};
|
|
4100
4100
|
return We(() => {
|
|
4101
|
-
document.addEventListener("click",
|
|
4101
|
+
document.addEventListener("click", D);
|
|
4102
4102
|
}), xt(() => {
|
|
4103
|
-
document.removeEventListener("click",
|
|
4103
|
+
document.removeEventListener("click", D);
|
|
4104
4104
|
}), (C, N) => (a(), o("div", {
|
|
4105
4105
|
class: be(["ui-theme-toggle", { "ui-theme-toggle--full-width": s.fullWidth }])
|
|
4106
4106
|
}, [
|
|
@@ -4111,8 +4111,8 @@ const ol = {
|
|
|
4111
4111
|
variant: "ghost",
|
|
4112
4112
|
size: s.size,
|
|
4113
4113
|
disabled: u.value,
|
|
4114
|
-
onClick: N[0] || (N[0] = (p) => u.value ? null :
|
|
4115
|
-
title: u.value ? "Theme is locked by app settings" : `Switch to ${
|
|
4114
|
+
onClick: N[0] || (N[0] = (p) => u.value ? null : E),
|
|
4115
|
+
title: u.value ? "Theme is locked by app settings" : `Switch to ${h.value.toLowerCase()} theme`,
|
|
4116
4116
|
class: be(["ui-theme-toggle-button", { "ui-theme-toggle--disabled": u.value }])
|
|
4117
4117
|
}, Zt({
|
|
4118
4118
|
default: x(() => [
|
|
@@ -4141,7 +4141,7 @@ const ol = {
|
|
|
4141
4141
|
variant: "ghost",
|
|
4142
4142
|
size: s.size,
|
|
4143
4143
|
disabled: u.value,
|
|
4144
|
-
onClick: N[1] || (N[1] = (p) => u.value ? null :
|
|
4144
|
+
onClick: N[1] || (N[1] = (p) => u.value ? null : g.value = !g.value),
|
|
4145
4145
|
class: be(["ui-theme-toggle-trigger", { "ui-theme-toggle--disabled": u.value }]),
|
|
4146
4146
|
title: u.value ? "Theme is locked by app settings" : void 0
|
|
4147
4147
|
}, {
|
|
@@ -4149,17 +4149,17 @@ const ol = {
|
|
|
4149
4149
|
(a(), Ce(ot(A(c.value))))
|
|
4150
4150
|
]),
|
|
4151
4151
|
"trailing-icon": x(() => [
|
|
4152
|
-
(a(), Ce(ot(A(
|
|
4152
|
+
(a(), Ce(ot(A(g.value ? "chevron-up" : "chevron-down"))))
|
|
4153
4153
|
]),
|
|
4154
4154
|
default: x(() => [
|
|
4155
4155
|
Q(" " + R(n(z)) + R(u.value ? " (Locked)" : "") + " ", 1)
|
|
4156
4156
|
]),
|
|
4157
4157
|
_: 1
|
|
4158
4158
|
}, 8, ["size", "disabled", "class", "title"]),
|
|
4159
|
-
|
|
4159
|
+
g.value ? (a(), o("div", {
|
|
4160
4160
|
key: 0,
|
|
4161
4161
|
class: "ui-theme-toggle-menu",
|
|
4162
|
-
onClick: N[2] || (N[2] = (p) =>
|
|
4162
|
+
onClick: N[2] || (N[2] = (p) => g.value = !1)
|
|
4163
4163
|
}, [
|
|
4164
4164
|
(a(!0), o(Ue, null, Ke(n(k), (p) => (a(), o("button", {
|
|
4165
4165
|
key: p.value,
|
|
@@ -4274,16 +4274,16 @@ const ol = {
|
|
|
4274
4274
|
},
|
|
4275
4275
|
emits: ["update:modelValue", "change", "input", "focus", "blur"],
|
|
4276
4276
|
setup(s, { emit: r }) {
|
|
4277
|
-
const t = s, l = r, z =
|
|
4277
|
+
const t = s, l = r, z = $(), V = $(!1), y = $(0), k = $(null), u = $(0), g = U(() => t.modelValue !== void 0 ? Number(t.modelValue) : t.value !== void 0 ? Number(t.value) : u.value);
|
|
4278
4278
|
Le(() => t.value, (S) => {
|
|
4279
4279
|
S !== void 0 && (u.value = Number(S));
|
|
4280
4280
|
}, { immediate: !0 }), Le(() => t.modelValue, (S) => {
|
|
4281
4281
|
S !== void 0 && (u.value = Number(S));
|
|
4282
4282
|
}, { immediate: !0 });
|
|
4283
|
-
const
|
|
4284
|
-
const S = t.max - t.min, w = (
|
|
4283
|
+
const M = U(() => {
|
|
4284
|
+
const S = t.max - t.min, w = (g.value - t.min) / S * 100;
|
|
4285
4285
|
return Math.max(0, Math.min(100, w));
|
|
4286
|
-
}), A =
|
|
4286
|
+
}), A = U(() => g.value?.toFixed(t.step < 1 ? 1 : 0) || "0"), c = U(() => `slider-size-${t.size}`), h = U(() => t.color ? `slider-color-${t.color}` : ""), E = U(() => {
|
|
4287
4287
|
if (!t.showTicks) return [];
|
|
4288
4288
|
const S = [], w = t.max - t.min, q = w / (t.tickCount - 1);
|
|
4289
4289
|
for (let Z = 0; Z < t.tickCount; Z++) {
|
|
@@ -4295,7 +4295,7 @@ const ol = {
|
|
|
4295
4295
|
});
|
|
4296
4296
|
}
|
|
4297
4297
|
return S;
|
|
4298
|
-
}),
|
|
4298
|
+
}), D = (S) => {
|
|
4299
4299
|
const w = S.target, q = parseFloat(w.value);
|
|
4300
4300
|
y.value++, y.value > 1 && (V.value = !0, k.value && clearTimeout(k.value), k.value = setTimeout(() => {
|
|
4301
4301
|
V.value = !1, y.value = 0;
|
|
@@ -4315,7 +4315,7 @@ const ol = {
|
|
|
4315
4315
|
return (S, w) => (a(), o("div", {
|
|
4316
4316
|
class: be(["slider-wrapper", [
|
|
4317
4317
|
c.value,
|
|
4318
|
-
|
|
4318
|
+
h.value,
|
|
4319
4319
|
{
|
|
4320
4320
|
"slider-disabled": s.disabled,
|
|
4321
4321
|
"slider-dragging": V.value
|
|
@@ -4343,14 +4343,14 @@ const ol = {
|
|
|
4343
4343
|
ref_key: "sliderRef",
|
|
4344
4344
|
ref: z,
|
|
4345
4345
|
type: "range",
|
|
4346
|
-
value:
|
|
4346
|
+
value: g.value,
|
|
4347
4347
|
min: s.min,
|
|
4348
4348
|
max: s.max,
|
|
4349
4349
|
step: s.step,
|
|
4350
4350
|
disabled: s.disabled,
|
|
4351
4351
|
required: s.required,
|
|
4352
4352
|
class: "slider-input",
|
|
4353
|
-
onInput:
|
|
4353
|
+
onInput: D,
|
|
4354
4354
|
onChange: C,
|
|
4355
4355
|
onFocus: N,
|
|
4356
4356
|
onBlur: p,
|
|
@@ -4362,18 +4362,18 @@ const ol = {
|
|
|
4362
4362
|
e("div", hl, [
|
|
4363
4363
|
e("div", {
|
|
4364
4364
|
class: "slider-progress",
|
|
4365
|
-
style: Oe({ width:
|
|
4365
|
+
style: Oe({ width: M.value + "%" })
|
|
4366
4366
|
}, null, 4)
|
|
4367
4367
|
]),
|
|
4368
4368
|
e("div", {
|
|
4369
4369
|
class: "slider-thumb",
|
|
4370
|
-
style: Oe({ left:
|
|
4370
|
+
style: Oe({ left: M.value + "%" })
|
|
4371
4371
|
}, null, 4)
|
|
4372
4372
|
]),
|
|
4373
4373
|
s.showMinMax ? (a(), o("div", gl, R(s.max) + R(s.unit), 1)) : I("", !0)
|
|
4374
4374
|
], 2),
|
|
4375
4375
|
s.showTicks ? (a(), o("div", Cl, [
|
|
4376
|
-
(a(!0), o(Ue, null, Ke(
|
|
4376
|
+
(a(!0), o(Ue, null, Ke(E.value, (q) => (a(), o("div", {
|
|
4377
4377
|
key: q.value,
|
|
4378
4378
|
class: "slider-tick",
|
|
4379
4379
|
style: Oe({ left: q.position + "%" })
|
|
@@ -4429,17 +4429,17 @@ const ol = {
|
|
|
4429
4429
|
},
|
|
4430
4430
|
emits: ["update:modelValue", "change", "focus", "blur"],
|
|
4431
4431
|
setup(s, { emit: r }) {
|
|
4432
|
-
const t = s, l = r, z =
|
|
4433
|
-
t.disabled ||
|
|
4434
|
-
}, k = (
|
|
4435
|
-
const c =
|
|
4432
|
+
const t = s, l = r, z = U(() => `radio-group-size-${t.size}`), V = U(() => t.orientation === "horizontal" ? "radio-options-horizontal" : "radio-options-vertical"), y = (M) => {
|
|
4433
|
+
t.disabled || M.disabled || t.modelValue !== M.value && (l("update:modelValue", M.value), l("change", M.value));
|
|
4434
|
+
}, k = (M) => {
|
|
4435
|
+
const c = M.target.value;
|
|
4436
4436
|
l("update:modelValue", c), l("change", c);
|
|
4437
|
-
}, u = (
|
|
4438
|
-
l("focus",
|
|
4439
|
-
},
|
|
4440
|
-
l("blur",
|
|
4437
|
+
}, u = (M) => {
|
|
4438
|
+
l("focus", M);
|
|
4439
|
+
}, g = (M) => {
|
|
4440
|
+
l("blur", M);
|
|
4441
4441
|
};
|
|
4442
|
-
return (
|
|
4442
|
+
return (M, A) => (a(), o("div", {
|
|
4443
4443
|
class: be(["radio-group", [
|
|
4444
4444
|
z.value,
|
|
4445
4445
|
{ "radio-group-disabled": s.disabled }
|
|
@@ -4465,7 +4465,7 @@ const ol = {
|
|
|
4465
4465
|
"radio-option-card": s.variant === "card"
|
|
4466
4466
|
}
|
|
4467
4467
|
]]),
|
|
4468
|
-
onClick: (
|
|
4468
|
+
onClick: (h) => y(c)
|
|
4469
4469
|
}, [
|
|
4470
4470
|
e("input", {
|
|
4471
4471
|
id: `${s.fieldId}-${c.value}`,
|
|
@@ -4478,7 +4478,7 @@ const ol = {
|
|
|
4478
4478
|
class: "radio-input",
|
|
4479
4479
|
onChange: k,
|
|
4480
4480
|
onFocus: u,
|
|
4481
|
-
onBlur:
|
|
4481
|
+
onBlur: g
|
|
4482
4482
|
}, null, 40, _l),
|
|
4483
4483
|
A[0] || (A[0] = e("div", { class: "radio-button" }, [
|
|
4484
4484
|
e("div", { class: "radio-button-inner" })
|
|
@@ -4567,19 +4567,19 @@ const ol = {
|
|
|
4567
4567
|
},
|
|
4568
4568
|
emits: ["update:modelValue", "change", "focus", "blur"],
|
|
4569
4569
|
setup(s, { emit: r }) {
|
|
4570
|
-
const t = s, l = r, z =
|
|
4570
|
+
const t = s, l = r, z = U(() => `checkbox-group-size-${t.size}`), V = U(() => t.orientation === "horizontal" ? "checkbox-options-horizontal" : "checkbox-options-vertical"), y = U(() => {
|
|
4571
4571
|
const C = t.options.filter((N) => !N.disabled);
|
|
4572
4572
|
return C.length > 0 && C.every(
|
|
4573
4573
|
(N) => t.modelValue.includes(N.value)
|
|
4574
4574
|
);
|
|
4575
|
-
}), k =
|
|
4575
|
+
}), k = U(() => t.options.filter((N) => !N.disabled).some((N) => t.modelValue.includes(N.value))), u = (C) => t.modelValue.includes(C), g = (C) => t.options.find((p) => p.value === C)?.indeterminate || !1, M = (C) => {
|
|
4576
4576
|
t.disabled || C.disabled || A(C);
|
|
4577
4577
|
}, A = (C, N) => {
|
|
4578
4578
|
const p = [...t.modelValue], L = p.indexOf(C.value);
|
|
4579
4579
|
L > -1 ? p.splice(L, 1) : p.push(C.value), l("update:modelValue", p), l("change", p);
|
|
4580
4580
|
}, c = () => {
|
|
4581
|
-
t.disabled ||
|
|
4582
|
-
},
|
|
4581
|
+
t.disabled || h();
|
|
4582
|
+
}, h = () => {
|
|
4583
4583
|
const C = t.options.filter((N) => !N.disabled);
|
|
4584
4584
|
if (y.value) {
|
|
4585
4585
|
const N = t.modelValue.filter(
|
|
@@ -4590,9 +4590,9 @@ const ol = {
|
|
|
4590
4590
|
const N = C.map((L) => L.value), p = [.../* @__PURE__ */ new Set([...t.modelValue, ...N])];
|
|
4591
4591
|
l("update:modelValue", p), l("change", p);
|
|
4592
4592
|
}
|
|
4593
|
-
},
|
|
4593
|
+
}, E = (C) => {
|
|
4594
4594
|
l("focus", C);
|
|
4595
|
-
},
|
|
4595
|
+
}, D = (C) => {
|
|
4596
4596
|
l("blur", C);
|
|
4597
4597
|
};
|
|
4598
4598
|
return (C, N) => (a(), o("div", {
|
|
@@ -4619,10 +4619,10 @@ const ol = {
|
|
|
4619
4619
|
"checkbox-option-selected": u(p.value),
|
|
4620
4620
|
"checkbox-option-disabled": s.disabled || p.disabled,
|
|
4621
4621
|
"checkbox-option-card": s.variant === "card",
|
|
4622
|
-
"checkbox-option-indeterminate":
|
|
4622
|
+
"checkbox-option-indeterminate": g(p.value)
|
|
4623
4623
|
}
|
|
4624
4624
|
]]),
|
|
4625
|
-
onClick: (L) =>
|
|
4625
|
+
onClick: (L) => M(p)
|
|
4626
4626
|
}, [
|
|
4627
4627
|
e("input", {
|
|
4628
4628
|
id: `${s.fieldId}-${p.value}`,
|
|
@@ -4632,11 +4632,11 @@ const ol = {
|
|
|
4632
4632
|
checked: u(p.value),
|
|
4633
4633
|
disabled: s.disabled || p.disabled,
|
|
4634
4634
|
required: s.required && s.modelValue.length === 0,
|
|
4635
|
-
indeterminate:
|
|
4635
|
+
indeterminate: g(p.value),
|
|
4636
4636
|
class: "checkbox-input",
|
|
4637
4637
|
onChange: (L) => A(p),
|
|
4638
|
-
onFocus:
|
|
4639
|
-
onBlur:
|
|
4638
|
+
onFocus: E,
|
|
4639
|
+
onBlur: D
|
|
4640
4640
|
}, null, 40, jl),
|
|
4641
4641
|
e("div", Ol, [
|
|
4642
4642
|
u(p.value) ? (a(), o("svg", Rl, [...N[0] || (N[0] = [
|
|
@@ -4645,7 +4645,7 @@ const ol = {
|
|
|
4645
4645
|
d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
|
|
4646
4646
|
"clip-rule": "evenodd"
|
|
4647
4647
|
}, null, -1)
|
|
4648
|
-
])])) :
|
|
4648
|
+
])])) : g(p.value) ? (a(), o("svg", Fl, [...N[1] || (N[1] = [
|
|
4649
4649
|
e("path", {
|
|
4650
4650
|
"fill-rule": "evenodd",
|
|
4651
4651
|
d: "M4 10a1 1 0 011-1h10a1 1 0 110 2H5a1 1 0 01-1-1z",
|
|
@@ -4679,7 +4679,7 @@ const ol = {
|
|
|
4679
4679
|
checked: y.value,
|
|
4680
4680
|
indeterminate: k.value && !y.value,
|
|
4681
4681
|
class: "checkbox-input select-all-input",
|
|
4682
|
-
onChange:
|
|
4682
|
+
onChange: h
|
|
4683
4683
|
}, null, 40, Wl),
|
|
4684
4684
|
e("div", Ql, [
|
|
4685
4685
|
y.value ? (a(), o("svg", Xl, [...N[2] || (N[2] = [
|
|
@@ -4733,7 +4733,7 @@ const ol = {
|
|
|
4733
4733
|
},
|
|
4734
4734
|
emits: ["remove"],
|
|
4735
4735
|
setup(s, { emit: r }) {
|
|
4736
|
-
const t = s, l =
|
|
4736
|
+
const t = s, l = U(() => [
|
|
4737
4737
|
"ui-pill",
|
|
4738
4738
|
`ui-pill-${t.variant}`,
|
|
4739
4739
|
`ui-pill-${t.size}`,
|
|
@@ -4742,7 +4742,7 @@ const ol = {
|
|
|
4742
4742
|
t.iconOnly ? "ui-pill-icon-only" : "",
|
|
4743
4743
|
t.removable ? "ui-pill-removable" : "",
|
|
4744
4744
|
t.disabled ? "ui-pill-disabled" : ""
|
|
4745
|
-
].filter(Boolean).join(" ")), z =
|
|
4745
|
+
].filter(Boolean).join(" ")), z = U(() => ({}));
|
|
4746
4746
|
return (V, y) => (a(), o("div", ln, [
|
|
4747
4747
|
s.variant === "dot-only" ? (a(), Ce(Yt, {
|
|
4748
4748
|
key: 0,
|
|
@@ -4796,7 +4796,7 @@ const ol = {
|
|
|
4796
4796
|
config: {}
|
|
4797
4797
|
},
|
|
4798
4798
|
setup(s) {
|
|
4799
|
-
const r = s, { config: t } = pt(r.config), l =
|
|
4799
|
+
const r = s, { config: t } = pt(r.config), l = U(() => t.value.baseUrl !== "https://accounts.strands.gg"), z = ga(), V = U(() => vn("default", z));
|
|
4800
4800
|
return (y, k) => (a(), o("div", fn, [
|
|
4801
4801
|
l.value ? (a(), o("div", {
|
|
4802
4802
|
key: 0,
|
|
@@ -4815,9 +4815,9 @@ const ol = {
|
|
|
4815
4815
|
], 2)) : I("", !0)
|
|
4816
4816
|
]));
|
|
4817
4817
|
}
|
|
4818
|
-
}), Et = /* @__PURE__ */ De(gn, [["__scopeId", "data-v-fe426315"]]), fa =
|
|
4818
|
+
}), Et = /* @__PURE__ */ De(gn, [["__scopeId", "data-v-fe426315"]]), fa = $([]), Ba = $(!1), Qe = $(!1);
|
|
4819
4819
|
function Tt() {
|
|
4820
|
-
const { getUrl: s } = pt(), { currentSession: r } = ft(), t =
|
|
4820
|
+
const { getUrl: s } = pt(), { currentSession: r } = ft(), t = U(() => fa.value.length > 0), l = U(
|
|
4821
4821
|
() => fa.value.filter(
|
|
4822
4822
|
(C) => C.is_active && C.device_type !== "hardware" && C.device_type !== "passkey"
|
|
4823
4823
|
)
|
|
@@ -4888,7 +4888,7 @@ function Tt() {
|
|
|
4888
4888
|
} finally {
|
|
4889
4889
|
Qe.value = !1;
|
|
4890
4890
|
}
|
|
4891
|
-
},
|
|
4891
|
+
}, g = async (C) => {
|
|
4892
4892
|
Qe.value = !0;
|
|
4893
4893
|
try {
|
|
4894
4894
|
await z(s("mfaEmailSend"), {
|
|
@@ -4898,7 +4898,7 @@ function Tt() {
|
|
|
4898
4898
|
} finally {
|
|
4899
4899
|
Qe.value = !1;
|
|
4900
4900
|
}
|
|
4901
|
-
},
|
|
4901
|
+
}, M = async (C, N) => {
|
|
4902
4902
|
Qe.value = !0;
|
|
4903
4903
|
try {
|
|
4904
4904
|
return (await z(s("mfaEmailVerify"), {
|
|
@@ -4931,7 +4931,7 @@ function Tt() {
|
|
|
4931
4931
|
} finally {
|
|
4932
4932
|
Qe.value = !1;
|
|
4933
4933
|
}
|
|
4934
|
-
},
|
|
4934
|
+
}, h = (C) => {
|
|
4935
4935
|
switch (C) {
|
|
4936
4936
|
case "totp":
|
|
4937
4937
|
return "📱";
|
|
@@ -4948,7 +4948,7 @@ function Tt() {
|
|
|
4948
4948
|
default:
|
|
4949
4949
|
return "🔒";
|
|
4950
4950
|
}
|
|
4951
|
-
},
|
|
4951
|
+
}, E = (C) => {
|
|
4952
4952
|
switch (C) {
|
|
4953
4953
|
case "totp":
|
|
4954
4954
|
return "Authenticator App";
|
|
@@ -4961,16 +4961,16 @@ function Tt() {
|
|
|
4961
4961
|
default:
|
|
4962
4962
|
return "Unknown";
|
|
4963
4963
|
}
|
|
4964
|
-
},
|
|
4964
|
+
}, D = (C) => {
|
|
4965
4965
|
if (!C) return "Never";
|
|
4966
4966
|
const N = new Date(C), L = (/* @__PURE__ */ new Date()).getTime() - N.getTime(), O = Math.floor(L / (1e3 * 60 * 60 * 24));
|
|
4967
4967
|
return O === 0 ? "Today" : O === 1 ? "Yesterday" : O < 30 ? `${O} days ago` : N.toLocaleDateString();
|
|
4968
4968
|
};
|
|
4969
4969
|
return {
|
|
4970
4970
|
// State
|
|
4971
|
-
mfaDevices:
|
|
4972
|
-
mfaEnabled:
|
|
4973
|
-
loading:
|
|
4971
|
+
mfaDevices: U(() => fa.value),
|
|
4972
|
+
mfaEnabled: U(() => Ba.value),
|
|
4973
|
+
loading: U(() => Qe.value),
|
|
4974
4974
|
hasMfaDevices: t,
|
|
4975
4975
|
activeMfaDevices: l,
|
|
4976
4976
|
// Methods
|
|
@@ -4978,14 +4978,14 @@ function Tt() {
|
|
|
4978
4978
|
setupTotp: y,
|
|
4979
4979
|
verifyTotpSetup: k,
|
|
4980
4980
|
setupEmailMfa: u,
|
|
4981
|
-
sendEmailMfaCode:
|
|
4982
|
-
verifyEmailMfaCode:
|
|
4981
|
+
sendEmailMfaCode: g,
|
|
4982
|
+
verifyEmailMfaCode: M,
|
|
4983
4983
|
disableMfaDevice: A,
|
|
4984
4984
|
regenerateBackupCodes: c,
|
|
4985
4985
|
// Helper methods
|
|
4986
|
-
getDeviceTypeIcon:
|
|
4987
|
-
getDeviceTypeName:
|
|
4988
|
-
formatLastUsed:
|
|
4986
|
+
getDeviceTypeIcon: h,
|
|
4987
|
+
getDeviceTypeName: E,
|
|
4988
|
+
formatLastUsed: D
|
|
4989
4989
|
};
|
|
4990
4990
|
}
|
|
4991
4991
|
const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-content" }, kn = {
|
|
@@ -5119,26 +5119,26 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5119
5119
|
oe("path", { d: "m12 17 .01 0" })
|
|
5120
5120
|
]);
|
|
5121
5121
|
}
|
|
5122
|
-
}, u = s,
|
|
5123
|
-
loading:
|
|
5122
|
+
}, u = s, g = r, {
|
|
5123
|
+
loading: M,
|
|
5124
5124
|
getDeviceTypeName: A
|
|
5125
5125
|
} = Tt(), {
|
|
5126
5126
|
verifyMfa: c,
|
|
5127
|
-
sendMfaEmailCode:
|
|
5128
|
-
getMfaWebAuthnChallenge:
|
|
5129
|
-
mfaSessionId:
|
|
5127
|
+
sendMfaEmailCode: h,
|
|
5128
|
+
getMfaWebAuthnChallenge: E,
|
|
5129
|
+
mfaSessionId: D,
|
|
5130
5130
|
loading: C,
|
|
5131
5131
|
loadingMessage: N,
|
|
5132
5132
|
isSendingMfaEmail: p,
|
|
5133
5133
|
isVerifyingMfa: L
|
|
5134
|
-
} = ft(), O =
|
|
5134
|
+
} = ft(), O = U(() => M.value || C.value), S = U({
|
|
5135
5135
|
get: () => u.show,
|
|
5136
5136
|
set: ($e) => {
|
|
5137
|
-
$e ||
|
|
5137
|
+
$e || g("close");
|
|
5138
5138
|
}
|
|
5139
|
-
}), w =
|
|
5139
|
+
}), w = $(null), q = $(""), Z = $(""), b = $(""), T = $(""), te = $(!1), ue = $(!1), ye = $(!1), Me = $(0);
|
|
5140
5140
|
let Ae = null;
|
|
5141
|
-
const Se =
|
|
5141
|
+
const Se = U(() => (u.availableMfaMethods || []).filter(
|
|
5142
5142
|
(re) => re.device_type !== "hardware" && re.device_type !== "passkey"
|
|
5143
5143
|
));
|
|
5144
5144
|
Le(() => Se.value, ($e) => {
|
|
@@ -5146,16 +5146,16 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5146
5146
|
}, { immediate: !0 }), Le(() => u.show, async ($e) => {
|
|
5147
5147
|
$e ? (q.value = "", Z.value = "", b.value = "", T.value = "", te.value = !1, ue.value = !1, ye.value = !1, Me.value = 0, Ae && (clearInterval(Ae), Ae = null), Se.value.length === 1 && (w.value = Se.value[0], w.value.device_type === "email" && setTimeout(async () => {
|
|
5148
5148
|
try {
|
|
5149
|
-
await
|
|
5149
|
+
await h(w.value.id), ue.value = !0, W();
|
|
5150
5150
|
} catch (re) {
|
|
5151
|
-
|
|
5151
|
+
g("error", re instanceof Error ? re.message : "Failed to send email code");
|
|
5152
5152
|
}
|
|
5153
5153
|
}, 100))) : w.value = null;
|
|
5154
5154
|
}), Fa(() => {
|
|
5155
5155
|
Ae && clearInterval(Ae);
|
|
5156
5156
|
});
|
|
5157
5157
|
const xe = () => {
|
|
5158
|
-
|
|
5158
|
+
g("close");
|
|
5159
5159
|
}, ne = ($e) => {
|
|
5160
5160
|
w.value = $e, q.value = "", Z.value = "", ue.value = !1, te.value = !1;
|
|
5161
5161
|
}, j = ($e) => {
|
|
@@ -5178,9 +5178,9 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5178
5178
|
}, ae = async () => {
|
|
5179
5179
|
if (!(!w.value || w.value.device_type !== "email"))
|
|
5180
5180
|
try {
|
|
5181
|
-
await
|
|
5181
|
+
await h(w.value.id), ue.value = !0, W();
|
|
5182
5182
|
} catch ($e) {
|
|
5183
|
-
|
|
5183
|
+
g("error", $e instanceof Error ? $e.message : "Failed to send email code");
|
|
5184
5184
|
}
|
|
5185
5185
|
}, W = () => {
|
|
5186
5186
|
ye.value = !0, Me.value = 30, Ae = setInterval(() => {
|
|
@@ -5190,7 +5190,7 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5190
5190
|
if (!(!w.value || !q.value)) {
|
|
5191
5191
|
Z.value = "";
|
|
5192
5192
|
try {
|
|
5193
|
-
await c(w.value.id, q.value),
|
|
5193
|
+
await c(w.value.id, q.value), g("success");
|
|
5194
5194
|
} catch ($e) {
|
|
5195
5195
|
Z.value = $e instanceof Error ? $e.message : "Invalid verification code";
|
|
5196
5196
|
}
|
|
@@ -5199,7 +5199,7 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5199
5199
|
if (b.value) {
|
|
5200
5200
|
T.value = "";
|
|
5201
5201
|
try {
|
|
5202
|
-
await c("", b.value, !0),
|
|
5202
|
+
await c("", b.value, !0), g("success");
|
|
5203
5203
|
} catch ($e) {
|
|
5204
5204
|
T.value = $e instanceof Error ? $e.message : "Invalid backup code";
|
|
5205
5205
|
}
|
|
@@ -5218,15 +5218,15 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5218
5218
|
return V;
|
|
5219
5219
|
}
|
|
5220
5220
|
}, Ee = async () => {
|
|
5221
|
-
const $e = u.sessionId ||
|
|
5221
|
+
const $e = u.sessionId || D.value;
|
|
5222
5222
|
if (!w.value || w.value.device_type !== "hardware" && w.value.device_type !== "passkey" || !$e) {
|
|
5223
|
-
|
|
5223
|
+
g("error", "Missing requirements for hardware key authentication");
|
|
5224
5224
|
return;
|
|
5225
5225
|
}
|
|
5226
5226
|
try {
|
|
5227
5227
|
if (!window.navigator.credentials || !window.PublicKeyCredential)
|
|
5228
5228
|
throw new Error("Hardware keys are not supported in this browser");
|
|
5229
|
-
const re = await
|
|
5229
|
+
const re = await E(w.value.id), ve = re.challenge.publicKey || re.challenge, Ie = (Ne) => {
|
|
5230
5230
|
if (!Ne || typeof Ne != "string")
|
|
5231
5231
|
return new Uint8Array(0);
|
|
5232
5232
|
const Fe = "=".repeat((4 - Ne.length % 4) % 4), gt = (Ne + Fe).replace(/-/g, "+").replace(/_/g, "/"), Pe = window.atob(gt), Ut = new Uint8Array(Pe.length);
|
|
@@ -5277,9 +5277,9 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5277
5277
|
deviceInfo: pe
|
|
5278
5278
|
// Include detected device info
|
|
5279
5279
|
};
|
|
5280
|
-
await c(w.value.id, JSON.stringify(He)),
|
|
5280
|
+
await c(w.value.id, JSON.stringify(He)), g("success");
|
|
5281
5281
|
} catch (re) {
|
|
5282
|
-
|
|
5282
|
+
g("error", re instanceof Error ? re.message : "Hardware key authentication failed");
|
|
5283
5283
|
}
|
|
5284
5284
|
};
|
|
5285
5285
|
return ($e, re) => (a(), o("div", Cn, [
|
|
@@ -5562,22 +5562,22 @@ const Cn = { class: "accui-component-scope" }, yn = { class: "mfa-verification-c
|
|
|
5562
5562
|
}
|
|
5563
5563
|
}), Ka = /* @__PURE__ */ De(ei, [["__scopeId", "data-v-f0750b5a"]]), Pa = /* @__PURE__ */ new Map(), ti = 300 * 1e3;
|
|
5564
5564
|
function za(s = {}) {
|
|
5565
|
-
const { getUrl: r, config: t } = pt(), l =
|
|
5565
|
+
const { getUrl: r, config: t } = pt(), l = $([]), z = $(!1), V = $(null), y = U(
|
|
5566
5566
|
() => l.value.filter((c) => c.enabled)
|
|
5567
5567
|
), k = async () => {
|
|
5568
|
-
const c = JSON.stringify(s),
|
|
5569
|
-
if (
|
|
5570
|
-
return l.value =
|
|
5568
|
+
const c = JSON.stringify(s), h = Pa.get(c);
|
|
5569
|
+
if (h && Date.now() - h.timestamp < ti)
|
|
5570
|
+
return l.value = h.data, h.data;
|
|
5571
5571
|
z.value = !0, V.value = null;
|
|
5572
5572
|
try {
|
|
5573
|
-
let
|
|
5574
|
-
const
|
|
5575
|
-
if (
|
|
5573
|
+
let E = r("oauthProviders");
|
|
5574
|
+
const D = s.redirectUrl || t.value?.oauth2RedirectUrl;
|
|
5575
|
+
if (D) {
|
|
5576
5576
|
const p = new URLSearchParams();
|
|
5577
|
-
let L =
|
|
5578
|
-
|
|
5577
|
+
let L = D;
|
|
5578
|
+
D.startsWith("/") && (L = `${window.location.origin}${D}`), p.append("redirect_url", L), E = `${E}?${p.toString()}`;
|
|
5579
5579
|
}
|
|
5580
|
-
const C = await fetch(
|
|
5580
|
+
const C = await fetch(E, {
|
|
5581
5581
|
method: "GET",
|
|
5582
5582
|
headers: {
|
|
5583
5583
|
"Content-Type": "application/json"
|
|
@@ -5592,20 +5592,20 @@ function za(s = {}) {
|
|
|
5592
5592
|
data: l.value,
|
|
5593
5593
|
timestamp: Date.now()
|
|
5594
5594
|
});
|
|
5595
|
-
} catch (
|
|
5596
|
-
const
|
|
5597
|
-
V.value =
|
|
5595
|
+
} catch (E) {
|
|
5596
|
+
const D = E instanceof Error ? E.message : "Failed to fetch OAuth providers";
|
|
5597
|
+
V.value = D;
|
|
5598
5598
|
} finally {
|
|
5599
5599
|
z.value = !1;
|
|
5600
5600
|
}
|
|
5601
|
-
}, u = async (c,
|
|
5602
|
-
const
|
|
5603
|
-
if (
|
|
5604
|
-
let L =
|
|
5605
|
-
|
|
5601
|
+
}, u = async (c, h) => {
|
|
5602
|
+
const E = { ...s, ...h }, D = new URLSearchParams();
|
|
5603
|
+
if (E.redirectUrl) {
|
|
5604
|
+
let L = E.redirectUrl;
|
|
5605
|
+
E.redirectUrl.startsWith("/") && (L = `${window.location.origin}${E.redirectUrl}`), D.append("redirect_url", L);
|
|
5606
5606
|
}
|
|
5607
|
-
|
|
5608
|
-
const C =
|
|
5607
|
+
E.scopes && E.scopes.length > 0 && D.append("scopes", E.scopes.join(","));
|
|
5608
|
+
const C = D.toString(), N = r("oauthProvider").replace("{provider_id}", c), p = C ? `${N}?${C}` : N;
|
|
5609
5609
|
try {
|
|
5610
5610
|
const L = await fetch(p, {
|
|
5611
5611
|
method: "GET",
|
|
@@ -5625,18 +5625,18 @@ function za(s = {}) {
|
|
|
5625
5625
|
const O = L instanceof Error ? L.message : "Failed to get OAuth auth URL";
|
|
5626
5626
|
throw new Error(O);
|
|
5627
5627
|
}
|
|
5628
|
-
},
|
|
5628
|
+
}, g = async (c, h) => {
|
|
5629
5629
|
try {
|
|
5630
|
-
const
|
|
5631
|
-
if (!
|
|
5630
|
+
const E = l.value.find((D) => D.id === c);
|
|
5631
|
+
if (!E)
|
|
5632
5632
|
throw new Error(`OAuth provider '${c}' not found`);
|
|
5633
|
-
if (!
|
|
5633
|
+
if (!E.auth_url)
|
|
5634
5634
|
throw new Error(`No auth URL configured for provider '${c}'`);
|
|
5635
|
-
window.location.href =
|
|
5636
|
-
} catch (
|
|
5637
|
-
throw V.value =
|
|
5635
|
+
window.location.href = E.auth_url;
|
|
5636
|
+
} catch (E) {
|
|
5637
|
+
throw V.value = E instanceof Error ? E.message : "Failed to redirect to OAuth provider", E;
|
|
5638
5638
|
}
|
|
5639
|
-
},
|
|
5639
|
+
}, M = (c) => l.value.find((h) => h.id === c), A = (c) => {
|
|
5640
5640
|
if (c.iconUrl)
|
|
5641
5641
|
return c.iconUrl;
|
|
5642
5642
|
switch (c.id.toLowerCase()) {
|
|
@@ -5654,14 +5654,14 @@ function za(s = {}) {
|
|
|
5654
5654
|
}
|
|
5655
5655
|
};
|
|
5656
5656
|
return {
|
|
5657
|
-
providers:
|
|
5657
|
+
providers: U(() => l.value),
|
|
5658
5658
|
enabledProviders: y,
|
|
5659
|
-
loading:
|
|
5660
|
-
error:
|
|
5659
|
+
loading: U(() => z.value),
|
|
5660
|
+
error: U(() => V.value),
|
|
5661
5661
|
fetchProviders: k,
|
|
5662
5662
|
getProviderAuthUrl: u,
|
|
5663
|
-
redirectToProvider:
|
|
5664
|
-
getProviderById:
|
|
5663
|
+
redirectToProvider: g,
|
|
5664
|
+
getProviderById: M,
|
|
5665
5665
|
getProviderIcon: A
|
|
5666
5666
|
};
|
|
5667
5667
|
}
|
|
@@ -5816,22 +5816,22 @@ const ai = {
|
|
|
5816
5816
|
const t = s, l = r, { getUrl: z, getSupportEmail: V, config: y } = pt(t.config), {
|
|
5817
5817
|
signIn: k,
|
|
5818
5818
|
mfaRequired: u,
|
|
5819
|
-
availableMfaMethods:
|
|
5820
|
-
currentUser:
|
|
5819
|
+
availableMfaMethods: g,
|
|
5820
|
+
currentUser: M,
|
|
5821
5821
|
loadingMessage: A
|
|
5822
5822
|
} = ft(), {
|
|
5823
5823
|
enabledProviders: c,
|
|
5824
|
-
loading:
|
|
5825
|
-
fetchProviders:
|
|
5826
|
-
redirectToProvider:
|
|
5824
|
+
loading: h,
|
|
5825
|
+
fetchProviders: E,
|
|
5826
|
+
redirectToProvider: D
|
|
5827
5827
|
} = za({
|
|
5828
5828
|
redirectUrl: t.redirectUrl
|
|
5829
5829
|
});
|
|
5830
5830
|
We(() => {
|
|
5831
|
-
|
|
5831
|
+
E().catch((ae) => {
|
|
5832
5832
|
});
|
|
5833
5833
|
});
|
|
5834
|
-
const C =
|
|
5834
|
+
const C = U(() => c.value), N = {
|
|
5835
5835
|
async signIn(ae, W) {
|
|
5836
5836
|
const le = await fetch(z("signIn"), {
|
|
5837
5837
|
method: "POST",
|
|
@@ -5861,20 +5861,20 @@ const ai = {
|
|
|
5861
5861
|
async requestPasswordReset(ae) {
|
|
5862
5862
|
throw new Error("Password reset functionality is not yet implemented in the API. Please contact support.");
|
|
5863
5863
|
}
|
|
5864
|
-
}, p =
|
|
5864
|
+
}, p = $(t.mode), L = $(!1), O = $(""), S = $(!1), w = $(!1), q = Ye({
|
|
5865
5865
|
firstName: "",
|
|
5866
5866
|
lastName: "",
|
|
5867
5867
|
email: "",
|
|
5868
5868
|
password: "",
|
|
5869
5869
|
confirmPassword: ""
|
|
5870
|
-
}), Z =
|
|
5871
|
-
|
|
5872
|
-
const T =
|
|
5870
|
+
}), Z = U(() => p.value === "signup"), b = U(() => p.value === "reset-password");
|
|
5871
|
+
U(() => q.password === q.confirmPassword);
|
|
5872
|
+
const T = U(() => b.value ? q.email.trim() && !S.value : Z.value ? q.email.trim() : q.email.trim() && q.password);
|
|
5873
5873
|
Le(u, (ae) => {
|
|
5874
5874
|
ae && (w.value = !0);
|
|
5875
5875
|
}, { immediate: !0 });
|
|
5876
5876
|
const te = () => {
|
|
5877
|
-
w.value = !1, l("success",
|
|
5877
|
+
w.value = !1, l("success", M.value), y.value.onSignInUrl && typeof window < "u" && (window.location.href = y.value.onSignInUrl);
|
|
5878
5878
|
}, ue = () => {
|
|
5879
5879
|
w.value = !1;
|
|
5880
5880
|
}, ye = (ae) => {
|
|
@@ -5907,7 +5907,7 @@ const ai = {
|
|
|
5907
5907
|
}
|
|
5908
5908
|
}, Ae = async (ae) => {
|
|
5909
5909
|
try {
|
|
5910
|
-
await
|
|
5910
|
+
await D(ae, {
|
|
5911
5911
|
redirectUrl: t.redirectUrl
|
|
5912
5912
|
});
|
|
5913
5913
|
} catch (W) {
|
|
@@ -6032,7 +6032,7 @@ const ai = {
|
|
|
6032
6032
|
key: le.id,
|
|
6033
6033
|
variant: "outline",
|
|
6034
6034
|
"full-width": "",
|
|
6035
|
-
disabled: n(
|
|
6035
|
+
disabled: n(h),
|
|
6036
6036
|
onClick: (_e) => Ae(le.id),
|
|
6037
6037
|
class: "auth-oauth-button"
|
|
6038
6038
|
}, {
|
|
@@ -6255,7 +6255,7 @@ const ai = {
|
|
|
6255
6255
|
}, 8, ["variant", "color", "class"]),
|
|
6256
6256
|
d(Ka, {
|
|
6257
6257
|
show: w.value,
|
|
6258
|
-
"available-mfa-methods": n(
|
|
6258
|
+
"available-mfa-methods": n(g),
|
|
6259
6259
|
onSuccess: te,
|
|
6260
6260
|
onClose: ue,
|
|
6261
6261
|
onError: ye
|
|
@@ -6326,12 +6326,12 @@ const ai = {
|
|
|
6326
6326
|
mfaSessionId: y,
|
|
6327
6327
|
availableMfaMethods: k,
|
|
6328
6328
|
loading: u,
|
|
6329
|
-
currentUser:
|
|
6329
|
+
currentUser: g
|
|
6330
6330
|
} = ft(), {
|
|
6331
|
-
enabledProviders:
|
|
6331
|
+
enabledProviders: M,
|
|
6332
6332
|
loading: A,
|
|
6333
6333
|
fetchProviders: c,
|
|
6334
|
-
redirectToProvider:
|
|
6334
|
+
redirectToProvider: h
|
|
6335
6335
|
} = za({
|
|
6336
6336
|
redirectUrl: t.redirectUrl,
|
|
6337
6337
|
scopes: t.oauthScopes
|
|
@@ -6341,7 +6341,7 @@ const ai = {
|
|
|
6341
6341
|
console.warn("Failed to fetch OAuth providers:", q);
|
|
6342
6342
|
});
|
|
6343
6343
|
});
|
|
6344
|
-
const
|
|
6344
|
+
const E = U(() => u.value), D = $(""), C = $(!1);
|
|
6345
6345
|
Le(V, (q) => {
|
|
6346
6346
|
q && (C.value = !0);
|
|
6347
6347
|
});
|
|
@@ -6349,7 +6349,7 @@ const ai = {
|
|
|
6349
6349
|
email: "",
|
|
6350
6350
|
password: ""
|
|
6351
6351
|
}), p = async () => {
|
|
6352
|
-
|
|
6352
|
+
D.value = "";
|
|
6353
6353
|
try {
|
|
6354
6354
|
const q = await z({
|
|
6355
6355
|
email: N.email,
|
|
@@ -6362,25 +6362,25 @@ const ai = {
|
|
|
6362
6362
|
}
|
|
6363
6363
|
} catch (q) {
|
|
6364
6364
|
const Z = q instanceof Error ? q.message : "Sign in failed";
|
|
6365
|
-
|
|
6365
|
+
D.value = Z, l("error", Z);
|
|
6366
6366
|
}
|
|
6367
6367
|
}, L = () => {
|
|
6368
|
-
C.value = !1, l("success",
|
|
6368
|
+
C.value = !1, l("success", g.value);
|
|
6369
6369
|
const { config: q } = pt(t.config);
|
|
6370
6370
|
q.value.onSignInUrl && typeof window < "u" && (window.location.href = q.value.onSignInUrl);
|
|
6371
6371
|
}, O = () => {
|
|
6372
6372
|
C.value = !1;
|
|
6373
6373
|
}, S = (q) => {
|
|
6374
|
-
|
|
6374
|
+
D.value = q, l("error", q);
|
|
6375
6375
|
}, w = async (q) => {
|
|
6376
6376
|
try {
|
|
6377
|
-
await
|
|
6377
|
+
await h(q, {
|
|
6378
6378
|
redirectUrl: t.redirectUrl,
|
|
6379
6379
|
scopes: t.oauthScopes
|
|
6380
6380
|
});
|
|
6381
6381
|
} catch (Z) {
|
|
6382
6382
|
const b = Z instanceof Error ? Z.message : `Failed to sign in with ${q}`;
|
|
6383
|
-
|
|
6383
|
+
D.value = b, l("error", b);
|
|
6384
6384
|
}
|
|
6385
6385
|
};
|
|
6386
6386
|
return (q, Z) => (a(), o("div", Li, [
|
|
@@ -6399,8 +6399,8 @@ const ai = {
|
|
|
6399
6399
|
Q("to continue ")
|
|
6400
6400
|
])
|
|
6401
6401
|
], -1)),
|
|
6402
|
-
n(
|
|
6403
|
-
(a(!0), o(Ue, null, Ke(n(
|
|
6402
|
+
n(M)?.length ? (a(), o("div", Ni, [
|
|
6403
|
+
(a(!0), o(Ue, null, Ke(n(M), (b, T, te, ue) => {
|
|
6404
6404
|
const ye = [b.id, b.name, b.displayName, n(A)];
|
|
6405
6405
|
if (ue && ue.key === b.id && ss(ue, ye)) return ue;
|
|
6406
6406
|
const Me = (a(), Ce(n(ce), {
|
|
@@ -6432,7 +6432,7 @@ const ai = {
|
|
|
6432
6432
|
return Me.memo = ye, Me;
|
|
6433
6433
|
}, Z, 0), 128))
|
|
6434
6434
|
])) : I("", !0),
|
|
6435
|
-
n(
|
|
6435
|
+
n(M)?.length ? (a(), o("div", qi, [...Z[7] || (Z[7] = [
|
|
6436
6436
|
e("span", { class: "divider-text" }, "Or sign in with email", -1)
|
|
6437
6437
|
])])) : I("", !0),
|
|
6438
6438
|
e("form", {
|
|
@@ -6494,8 +6494,8 @@ const ai = {
|
|
|
6494
6494
|
type: "submit",
|
|
6495
6495
|
variant: "primary",
|
|
6496
6496
|
"full-width": "",
|
|
6497
|
-
disabled:
|
|
6498
|
-
loading:
|
|
6497
|
+
disabled: E.value || !N.email || !N.password,
|
|
6498
|
+
loading: E.value,
|
|
6499
6499
|
"loading-text": "Signing in...",
|
|
6500
6500
|
class: "accui-auth-submit"
|
|
6501
6501
|
}, {
|
|
@@ -6505,13 +6505,13 @@ const ai = {
|
|
|
6505
6505
|
_: 1
|
|
6506
6506
|
}, 8, ["disabled", "loading"])
|
|
6507
6507
|
], 32),
|
|
6508
|
-
|
|
6508
|
+
D.value ? (a(), Ce(n(Ht), {
|
|
6509
6509
|
key: 2,
|
|
6510
6510
|
variant: "error",
|
|
6511
|
-
message:
|
|
6511
|
+
message: D.value,
|
|
6512
6512
|
class: "accui-mt-4 accui-animate-fade-in",
|
|
6513
6513
|
dismissible: "",
|
|
6514
|
-
onDismiss: Z[4] || (Z[4] = (b) =>
|
|
6514
|
+
onDismiss: Z[4] || (Z[4] = (b) => D.value = "")
|
|
6515
6515
|
}, null, 8, ["message"])) : I("", !0),
|
|
6516
6516
|
e("div", Wi, [
|
|
6517
6517
|
e("p", Qi, [
|
|
@@ -6594,7 +6594,7 @@ const ai = {
|
|
|
6594
6594
|
enabledProviders: y,
|
|
6595
6595
|
loading: k,
|
|
6596
6596
|
fetchProviders: u,
|
|
6597
|
-
redirectToProvider:
|
|
6597
|
+
redirectToProvider: g
|
|
6598
6598
|
} = za({
|
|
6599
6599
|
redirectUrl: t.redirectUrl,
|
|
6600
6600
|
scopes: t.oauthScopes
|
|
@@ -6604,12 +6604,12 @@ const ai = {
|
|
|
6604
6604
|
console.warn("Failed to fetch OAuth providers:", O);
|
|
6605
6605
|
});
|
|
6606
6606
|
});
|
|
6607
|
-
const
|
|
6607
|
+
const M = $(!1), A = $(""), c = $(!1), h = $(""), E = $("Magic Link Sent!"), D = $(""), C = Ye({
|
|
6608
6608
|
email: ""
|
|
6609
6609
|
});
|
|
6610
|
-
|
|
6610
|
+
U(() => C.email.trim() && C.email.includes("@"));
|
|
6611
6611
|
const N = async () => {
|
|
6612
|
-
|
|
6612
|
+
M.value = !0, A.value = "";
|
|
6613
6613
|
try {
|
|
6614
6614
|
const O = z("signUp"), S = await fetch(O, {
|
|
6615
6615
|
method: "POST",
|
|
@@ -6631,7 +6631,7 @@ const ai = {
|
|
|
6631
6631
|
throw new Error(q);
|
|
6632
6632
|
}
|
|
6633
6633
|
const w = await S.json();
|
|
6634
|
-
c.value = !0,
|
|
6634
|
+
c.value = !0, D.value = C.email, h.value = w.message || "Magic link sent! Check your email.", w.message && (w.message.includes("already have an account") || w.message.includes("Welcome back") ? E.value = "Welcome Back!" : w.message.includes("Magic link sent") || w.message.includes("Check your email") ? E.value = "Magic Link Sent!" : E.value = "Success!"), l("success", {
|
|
6635
6635
|
email: C.email,
|
|
6636
6636
|
message: w.message || "Magic link sent! Check your email."
|
|
6637
6637
|
});
|
|
@@ -6647,13 +6647,13 @@ const ai = {
|
|
|
6647
6647
|
S = O.message;
|
|
6648
6648
|
A.value = S, l("error", S);
|
|
6649
6649
|
} finally {
|
|
6650
|
-
|
|
6650
|
+
M.value = !1;
|
|
6651
6651
|
}
|
|
6652
6652
|
}, p = () => {
|
|
6653
|
-
c.value = !1,
|
|
6653
|
+
c.value = !1, h.value = "", E.value = "Magic Link Sent!", D.value = "", C.email = "", A.value = "";
|
|
6654
6654
|
}, L = async (O) => {
|
|
6655
6655
|
try {
|
|
6656
|
-
await
|
|
6656
|
+
await g(O, {
|
|
6657
6657
|
redirectUrl: t.redirectUrl,
|
|
6658
6658
|
scopes: t.oauthScopes
|
|
6659
6659
|
});
|
|
@@ -6671,10 +6671,10 @@ const ai = {
|
|
|
6671
6671
|
e("div", sr, [
|
|
6672
6672
|
e("div", or, [
|
|
6673
6673
|
S[4] || (S[4] = e("div", { class: "signup-success-icon" }, "📧", -1)),
|
|
6674
|
-
e("h1", lr, R(
|
|
6675
|
-
e("p", nr, R(
|
|
6676
|
-
|
|
6677
|
-
e("strong", null, R(
|
|
6674
|
+
e("h1", lr, R(E.value), 1),
|
|
6675
|
+
e("p", nr, R(h.value), 1),
|
|
6676
|
+
D.value ? (a(), o("div", ir, [
|
|
6677
|
+
e("strong", null, R(D.value), 1)
|
|
6678
6678
|
])) : I("", !0),
|
|
6679
6679
|
S[5] || (S[5] = e("p", { class: "signup-success-instructions" }, " Click the link in your email to complete your account setup. The link will expire in 24 hours. ", -1)),
|
|
6680
6680
|
d(n(ce), {
|
|
@@ -6786,8 +6786,8 @@ const ai = {
|
|
|
6786
6786
|
type: "submit",
|
|
6787
6787
|
variant: "primary",
|
|
6788
6788
|
"full-width": "",
|
|
6789
|
-
disabled:
|
|
6790
|
-
loading:
|
|
6789
|
+
disabled: M.value || !C.email,
|
|
6790
|
+
loading: M.value,
|
|
6791
6791
|
"loading-text": "Sending magic link...",
|
|
6792
6792
|
class: "accui-auth-submit"
|
|
6793
6793
|
}, {
|
|
@@ -6876,25 +6876,25 @@ const ai = {
|
|
|
6876
6876
|
},
|
|
6877
6877
|
emits: ["success", "error", "invalid-token", "request-new-link", "start-registration"],
|
|
6878
6878
|
setup(s, { emit: r }) {
|
|
6879
|
-
const t = s, l = r, { getUrl: z, getSupportEmail: V } = pt(t.config), { setAuthData: y } = ft(), k =
|
|
6879
|
+
const t = s, l = r, { getUrl: z, getSupportEmail: V } = pt(t.config), { setAuthData: y } = ft(), k = $(!1), u = $(!1), g = $(!1), M = $(""), A = $(""), c = Ye({
|
|
6880
6880
|
firstName: "",
|
|
6881
6881
|
lastName: "",
|
|
6882
6882
|
password: ""
|
|
6883
|
-
}),
|
|
6883
|
+
}), h = Ye({
|
|
6884
6884
|
firstName: "",
|
|
6885
6885
|
lastName: "",
|
|
6886
6886
|
password: ""
|
|
6887
|
-
}),
|
|
6887
|
+
}), E = U(() => {
|
|
6888
6888
|
const p = c.password.trim(), L = c.password.length >= 8, O = !!t.token;
|
|
6889
6889
|
return p && L && O;
|
|
6890
6890
|
});
|
|
6891
6891
|
Le(
|
|
6892
6892
|
() => c.password,
|
|
6893
6893
|
(p) => {
|
|
6894
|
-
p && p.length < 8 ?
|
|
6894
|
+
p && p.length < 8 ? h.password = "Password must be at least 8 characters long" : h.password = "";
|
|
6895
6895
|
}
|
|
6896
6896
|
);
|
|
6897
|
-
const
|
|
6897
|
+
const D = U(() => t.redirectUrl || window.location.origin);
|
|
6898
6898
|
We(() => {
|
|
6899
6899
|
if (t.token)
|
|
6900
6900
|
try {
|
|
@@ -6908,19 +6908,19 @@ const ai = {
|
|
|
6908
6908
|
}
|
|
6909
6909
|
});
|
|
6910
6910
|
const C = () => {
|
|
6911
|
-
|
|
6911
|
+
D.value && (window.location.href = D.value);
|
|
6912
6912
|
}, N = async () => {
|
|
6913
6913
|
if (!t.token) {
|
|
6914
|
-
|
|
6914
|
+
M.value = "Registration token is required";
|
|
6915
6915
|
return;
|
|
6916
6916
|
}
|
|
6917
|
-
if (
|
|
6918
|
-
|
|
6919
|
-
}), !
|
|
6920
|
-
|
|
6917
|
+
if (M.value = "", Object.keys(h).forEach((p) => {
|
|
6918
|
+
h[p] = "";
|
|
6919
|
+
}), !E.value) {
|
|
6920
|
+
M.value = "Please fill in all required fields correctly";
|
|
6921
6921
|
return;
|
|
6922
6922
|
}
|
|
6923
|
-
|
|
6923
|
+
g.value = !0;
|
|
6924
6924
|
try {
|
|
6925
6925
|
const p = {
|
|
6926
6926
|
"Content-Type": "application/json"
|
|
@@ -6945,9 +6945,9 @@ const ai = {
|
|
|
6945
6945
|
C();
|
|
6946
6946
|
}, 2e3);
|
|
6947
6947
|
} catch (p) {
|
|
6948
|
-
p instanceof Error ? p.message.includes("CONFLICT") || p.message.includes("409") ?
|
|
6948
|
+
p instanceof Error ? p.message.includes("CONFLICT") || p.message.includes("409") ? M.value = "This account already exists. Please try signing in instead." : p.message.includes("BAD_REQUEST") || p.message.includes("400") ? (M.value = "Invalid or expired registration link. Please request a new one.", u.value = !0, l("invalid-token")) : M.value = p.message : M.value = "Failed to complete registration. Please try again.", l("error", M.value);
|
|
6949
6949
|
} finally {
|
|
6950
|
-
|
|
6950
|
+
g.value = !1;
|
|
6951
6951
|
}
|
|
6952
6952
|
};
|
|
6953
6953
|
return (p, L) => (a(), o("div", Ir, [
|
|
@@ -7023,7 +7023,7 @@ const ai = {
|
|
|
7023
7023
|
label: "First Name (Optional)",
|
|
7024
7024
|
placeholder: "Enter your first name",
|
|
7025
7025
|
autocomplete: "given-name",
|
|
7026
|
-
error:
|
|
7026
|
+
error: h.firstName
|
|
7027
7027
|
}, null, 8, ["modelValue", "error"])
|
|
7028
7028
|
]),
|
|
7029
7029
|
e("div", null, [
|
|
@@ -7035,7 +7035,7 @@ const ai = {
|
|
|
7035
7035
|
label: "Last Name (Optional)",
|
|
7036
7036
|
placeholder: "Enter your last name",
|
|
7037
7037
|
autocomplete: "family-name",
|
|
7038
|
-
error:
|
|
7038
|
+
error: h.lastName
|
|
7039
7039
|
}, null, 8, ["modelValue", "error"])
|
|
7040
7040
|
]),
|
|
7041
7041
|
e("div", null, [
|
|
@@ -7049,7 +7049,7 @@ const ai = {
|
|
|
7049
7049
|
autocomplete: "new-password",
|
|
7050
7050
|
required: "",
|
|
7051
7051
|
minlength: "8",
|
|
7052
|
-
error:
|
|
7052
|
+
error: h.password
|
|
7053
7053
|
}, null, 8, ["modelValue", "error"]),
|
|
7054
7054
|
L[19] || (L[19] = e("div", { class: "complete-signup-password-hint" }, " Password must be at least 8 characters long ", -1))
|
|
7055
7055
|
]),
|
|
@@ -7057,8 +7057,8 @@ const ai = {
|
|
|
7057
7057
|
type: "submit",
|
|
7058
7058
|
variant: "primary",
|
|
7059
7059
|
"full-width": "",
|
|
7060
|
-
disabled:
|
|
7061
|
-
loading:
|
|
7060
|
+
disabled: g.value || !E.value,
|
|
7061
|
+
loading: g.value,
|
|
7062
7062
|
"loading-text": "Creating account..."
|
|
7063
7063
|
}, {
|
|
7064
7064
|
default: x(() => [...L[20] || (L[20] = [
|
|
@@ -7067,13 +7067,13 @@ const ai = {
|
|
|
7067
7067
|
_: 1
|
|
7068
7068
|
}, 8, ["disabled", "loading"])
|
|
7069
7069
|
], 32),
|
|
7070
|
-
|
|
7070
|
+
M.value ? (a(), Ce(n(Ht), {
|
|
7071
7071
|
key: 0,
|
|
7072
7072
|
variant: "error",
|
|
7073
|
-
message:
|
|
7073
|
+
message: M.value,
|
|
7074
7074
|
class: "complete-signup-error-alert",
|
|
7075
7075
|
dismissible: "",
|
|
7076
|
-
onDismiss: L[4] || (L[4] = (O) =>
|
|
7076
|
+
onDismiss: L[4] || (L[4] = (O) => M.value = "")
|
|
7077
7077
|
}, null, 8, ["message"])) : I("", !0),
|
|
7078
7078
|
d(Et, {
|
|
7079
7079
|
config: t.config
|
|
@@ -7153,52 +7153,52 @@ const ai = {
|
|
|
7153
7153
|
},
|
|
7154
7154
|
emits: ["close", "success"],
|
|
7155
7155
|
setup(s, { emit: r }) {
|
|
7156
|
-
const t = s, l = r, { setupTotp: z, verifyTotpSetup: V, loading: y } = Tt(), k =
|
|
7156
|
+
const t = s, l = r, { setupTotp: z, verifyTotpSetup: V, loading: y } = Tt(), k = U({
|
|
7157
7157
|
get: () => t.show,
|
|
7158
7158
|
set: (S) => {
|
|
7159
7159
|
S || l("close");
|
|
7160
7160
|
}
|
|
7161
|
-
}), u =
|
|
7161
|
+
}), u = $(1), g = $(""), M = $(""), A = $(""), c = $(""), h = $(null), E = $("");
|
|
7162
7162
|
Le(() => t.show, (S) => {
|
|
7163
|
-
S && (u.value = 1,
|
|
7164
|
-
}), Le(() =>
|
|
7163
|
+
S && (u.value = 1, g.value = "", M.value = "", A.value = "", c.value = "", h.value = null, E.value = "");
|
|
7164
|
+
}), Le(() => h.value, async (S) => {
|
|
7165
7165
|
if (S?.qr_code_url)
|
|
7166
7166
|
try {
|
|
7167
7167
|
const w = `https://api.qrserver.com/v1/create-qr-code/?size=192x192&data=${encodeURIComponent(S.qr_code_url)}&bgcolor=ffffff&color=000000`;
|
|
7168
|
-
|
|
7168
|
+
E.value = w;
|
|
7169
7169
|
} catch (w) {
|
|
7170
7170
|
console.error("Failed to generate QR code:", w);
|
|
7171
7171
|
}
|
|
7172
7172
|
});
|
|
7173
|
-
const
|
|
7173
|
+
const D = () => {
|
|
7174
7174
|
l("close");
|
|
7175
7175
|
}, C = async () => {
|
|
7176
|
-
if (!
|
|
7177
|
-
|
|
7176
|
+
if (!g.value.trim()) {
|
|
7177
|
+
M.value = "Device name is required";
|
|
7178
7178
|
return;
|
|
7179
7179
|
}
|
|
7180
|
-
|
|
7180
|
+
M.value = "";
|
|
7181
7181
|
try {
|
|
7182
|
-
const S = await z(
|
|
7183
|
-
|
|
7182
|
+
const S = await z(g.value.trim());
|
|
7183
|
+
h.value = S, u.value = 2;
|
|
7184
7184
|
} catch (S) {
|
|
7185
|
-
console.error("Failed to setup TOTP:", S),
|
|
7185
|
+
console.error("Failed to setup TOTP:", S), M.value = S instanceof Error ? S.message : "Failed to setup TOTP";
|
|
7186
7186
|
}
|
|
7187
7187
|
}, N = (S) => {
|
|
7188
7188
|
c.value = "", S.length === 6 && p();
|
|
7189
7189
|
}, p = async () => {
|
|
7190
|
-
if (!(!
|
|
7190
|
+
if (!(!h.value || !A.value)) {
|
|
7191
7191
|
c.value = "";
|
|
7192
7192
|
try {
|
|
7193
|
-
await V(
|
|
7193
|
+
await V(h.value.device_id, A.value), u.value = 4;
|
|
7194
7194
|
} catch (S) {
|
|
7195
7195
|
console.error("Failed to verify TOTP code:", S), c.value = S instanceof Error ? S.message : "Invalid verification code";
|
|
7196
7196
|
}
|
|
7197
7197
|
}
|
|
7198
7198
|
}, L = async () => {
|
|
7199
|
-
if (
|
|
7199
|
+
if (h.value?.backup_codes)
|
|
7200
7200
|
try {
|
|
7201
|
-
const S =
|
|
7201
|
+
const S = h.value.backup_codes.join(`
|
|
7202
7202
|
`);
|
|
7203
7203
|
await navigator.clipboard.writeText(S);
|
|
7204
7204
|
} catch (S) {
|
|
@@ -7220,17 +7220,17 @@ const ai = {
|
|
|
7220
7220
|
e("p", { class: "step-description" }, ' Give this authenticator a memorable name (e.g., "iPhone", "Work Phone") ')
|
|
7221
7221
|
], -1)),
|
|
7222
7222
|
d(n(Ze), {
|
|
7223
|
-
modelValue:
|
|
7224
|
-
"onUpdate:modelValue": w[0] || (w[0] = (q) =>
|
|
7223
|
+
modelValue: g.value,
|
|
7224
|
+
"onUpdate:modelValue": w[0] || (w[0] = (q) => g.value = q),
|
|
7225
7225
|
label: "Device Name",
|
|
7226
7226
|
placeholder: "My Authenticator",
|
|
7227
|
-
error:
|
|
7227
|
+
error: M.value,
|
|
7228
7228
|
disabled: n(y)
|
|
7229
7229
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
7230
7230
|
e("div", Gr, [
|
|
7231
7231
|
d(n(ce), {
|
|
7232
7232
|
variant: "secondary",
|
|
7233
|
-
onClick:
|
|
7233
|
+
onClick: D,
|
|
7234
7234
|
disabled: n(y)
|
|
7235
7235
|
}, {
|
|
7236
7236
|
default: x(() => [...w[6] || (w[6] = [
|
|
@@ -7241,7 +7241,7 @@ const ai = {
|
|
|
7241
7241
|
d(n(ce), {
|
|
7242
7242
|
variant: "primary",
|
|
7243
7243
|
onClick: C,
|
|
7244
|
-
disabled: !
|
|
7244
|
+
disabled: !g.value.trim() || n(y),
|
|
7245
7245
|
loading: n(y)
|
|
7246
7246
|
}, {
|
|
7247
7247
|
default: x(() => [...w[7] || (w[7] = [
|
|
@@ -7257,9 +7257,9 @@ const ai = {
|
|
|
7257
7257
|
e("p", { class: "step-description" }, " Scan this QR code with your authenticator app (Google Authenticator, Authy, etc.) ")
|
|
7258
7258
|
], -1)),
|
|
7259
7259
|
e("div", Wr, [
|
|
7260
|
-
|
|
7260
|
+
E.value ? (a(), o("div", Qr, [
|
|
7261
7261
|
e("img", {
|
|
7262
|
-
src:
|
|
7262
|
+
src: E.value,
|
|
7263
7263
|
alt: "TOTP QR Code",
|
|
7264
7264
|
class: "qr-image",
|
|
7265
7265
|
width: "200",
|
|
@@ -7271,9 +7271,9 @@ const ai = {
|
|
|
7271
7271
|
]),
|
|
7272
7272
|
e("div", e2, [
|
|
7273
7273
|
w[9] || (w[9] = e("p", { class: "manual-label" }, " Can't scan? Enter this code manually: ", -1)),
|
|
7274
|
-
e("code", t2, R(
|
|
7274
|
+
e("code", t2, R(h.value?.secret || "..."), 1)
|
|
7275
7275
|
]),
|
|
7276
|
-
|
|
7276
|
+
h.value?.backup_codes ? (a(), o("div", a2, [...w[10] || (w[10] = [
|
|
7277
7277
|
e("div", { class: "flex items-start space-x-2" }, [
|
|
7278
7278
|
e("svg", {
|
|
7279
7279
|
class: "w-5 h-5 text-yellow-600 mt-0.5 flex-shrink-0",
|
|
@@ -7395,7 +7395,7 @@ const ai = {
|
|
|
7395
7395
|
], -1)),
|
|
7396
7396
|
e("div", r2, [
|
|
7397
7397
|
e("div", u2, [
|
|
7398
|
-
(a(!0), o(Ue, null, Ke(
|
|
7398
|
+
(a(!0), o(Ue, null, Ke(h.value?.backup_codes, (q, Z) => (a(), o("div", {
|
|
7399
7399
|
key: Z,
|
|
7400
7400
|
class: "totp-setup-backup-code"
|
|
7401
7401
|
}, R(q), 1))), 128))
|
|
@@ -7446,55 +7446,55 @@ const ai = {
|
|
|
7446
7446
|
},
|
|
7447
7447
|
emits: ["close", "success"],
|
|
7448
7448
|
setup(s, { emit: r }) {
|
|
7449
|
-
const t = s, l = r, { setupEmailMfa: z, sendEmailMfaCode: V, verifyEmailMfaCode: y, loading: k } = Tt(), u =
|
|
7449
|
+
const t = s, l = r, { setupEmailMfa: z, sendEmailMfaCode: V, verifyEmailMfaCode: y, loading: k } = Tt(), u = U({
|
|
7450
7450
|
get: () => t.show,
|
|
7451
7451
|
set: (b) => {
|
|
7452
7452
|
b || l("close");
|
|
7453
7453
|
}
|
|
7454
|
-
}),
|
|
7454
|
+
}), g = $(1), M = $(""), A = $(""), c = $(""), h = $(""), E = $(null), D = $(!1), C = $(0);
|
|
7455
7455
|
let N = null;
|
|
7456
7456
|
Le(() => t.show, (b) => {
|
|
7457
|
-
b && (
|
|
7457
|
+
b && (g.value = 1, M.value = "", A.value = "", c.value = "", h.value = "", E.value = null, D.value = !1, C.value = 0, N && (clearInterval(N), N = null));
|
|
7458
7458
|
}), Le(c, () => {
|
|
7459
|
-
|
|
7459
|
+
h.value && (h.value = "");
|
|
7460
7460
|
}), Fa(() => {
|
|
7461
7461
|
N && clearInterval(N);
|
|
7462
7462
|
});
|
|
7463
7463
|
const p = () => {
|
|
7464
7464
|
l("close");
|
|
7465
7465
|
}, L = async () => {
|
|
7466
|
-
if (
|
|
7466
|
+
if (!M.value.trim()) {
|
|
7467
7467
|
A.value = "Device name is required";
|
|
7468
7468
|
return;
|
|
7469
7469
|
}
|
|
7470
7470
|
A.value = "";
|
|
7471
7471
|
try {
|
|
7472
|
-
const b = await z(
|
|
7473
|
-
|
|
7472
|
+
const b = await z(M.value.trim());
|
|
7473
|
+
E.value = b.device_id, await V(b.device_id), g.value = 2, q();
|
|
7474
7474
|
} catch (b) {
|
|
7475
7475
|
console.error("Failed to setup email MFA:", b), A.value = b instanceof Error ? b.message : "Failed to setup email MFA";
|
|
7476
7476
|
}
|
|
7477
7477
|
}, O = (b) => {
|
|
7478
|
-
|
|
7478
|
+
h.value = "", b.length === 6 && S();
|
|
7479
7479
|
}, S = async () => {
|
|
7480
|
-
if (!(!
|
|
7481
|
-
|
|
7480
|
+
if (!(!E.value || !c.value)) {
|
|
7481
|
+
h.value = "";
|
|
7482
7482
|
try {
|
|
7483
|
-
await y(
|
|
7483
|
+
await y(E.value, c.value) ? g.value = 3 : h.value = "Invalid verification code";
|
|
7484
7484
|
} catch (b) {
|
|
7485
|
-
console.error("Failed to verify email MFA code:", b),
|
|
7485
|
+
console.error("Failed to verify email MFA code:", b), h.value = b instanceof Error ? b.message : "Invalid verification code";
|
|
7486
7486
|
}
|
|
7487
7487
|
}
|
|
7488
7488
|
}, w = async () => {
|
|
7489
|
-
if (!(!
|
|
7489
|
+
if (!(!E.value || D.value))
|
|
7490
7490
|
try {
|
|
7491
|
-
await V(
|
|
7491
|
+
await V(E.value), q();
|
|
7492
7492
|
} catch (b) {
|
|
7493
7493
|
console.warn("Failed to resend email MFA verification code:", b);
|
|
7494
7494
|
}
|
|
7495
7495
|
}, q = () => {
|
|
7496
|
-
|
|
7497
|
-
C.value -= 1, C.value <= 0 && (
|
|
7496
|
+
D.value = !0, C.value = 30, N = setInterval(() => {
|
|
7497
|
+
C.value -= 1, C.value <= 0 && (D.value = !1, N && (clearInterval(N), N = null));
|
|
7498
7498
|
}, 1e3);
|
|
7499
7499
|
}, Z = () => {
|
|
7500
7500
|
l("success");
|
|
@@ -7506,14 +7506,14 @@ const ai = {
|
|
|
7506
7506
|
"card-class": "email-mfa-setup-modal"
|
|
7507
7507
|
}, {
|
|
7508
7508
|
default: x(() => [
|
|
7509
|
-
|
|
7509
|
+
g.value === 1 ? (a(), o("div", p2, [
|
|
7510
7510
|
T[7] || (T[7] = e("div", null, [
|
|
7511
7511
|
e("h3", { class: "email-mfa-setup-step-title" }, "Name Your Email 2FA"),
|
|
7512
7512
|
e("p", { class: "email-mfa-setup-step-description" }, ' Give this email 2FA method a memorable name (e.g., "Personal Email", "Work Email") ')
|
|
7513
7513
|
], -1)),
|
|
7514
7514
|
d(n(Ze), {
|
|
7515
|
-
modelValue:
|
|
7516
|
-
"onUpdate:modelValue": T[0] || (T[0] = (te) =>
|
|
7515
|
+
modelValue: M.value,
|
|
7516
|
+
"onUpdate:modelValue": T[0] || (T[0] = (te) => M.value = te),
|
|
7517
7517
|
label: "Device Name",
|
|
7518
7518
|
placeholder: "Personal Email",
|
|
7519
7519
|
error: A.value,
|
|
@@ -7541,7 +7541,7 @@ const ai = {
|
|
|
7541
7541
|
}, 8, ["disabled"]),
|
|
7542
7542
|
d(n(ce), {
|
|
7543
7543
|
onClick: L,
|
|
7544
|
-
disabled:
|
|
7544
|
+
disabled: !M.value.trim() || n(k),
|
|
7545
7545
|
loading: n(k)
|
|
7546
7546
|
}, {
|
|
7547
7547
|
default: x(() => [...T[6] || (T[6] = [
|
|
@@ -7551,7 +7551,7 @@ const ai = {
|
|
|
7551
7551
|
}, 8, ["disabled", "loading"])
|
|
7552
7552
|
])
|
|
7553
7553
|
])) : I("", !0),
|
|
7554
|
-
|
|
7554
|
+
g.value === 2 ? (a(), o("div", m2, [
|
|
7555
7555
|
T[10] || (T[10] = e("div", null, [
|
|
7556
7556
|
e("h3", { class: "email-mfa-setup-step-title" }, "Test Email 2FA"),
|
|
7557
7557
|
e("p", { class: "email-mfa-setup-step-description" }, " We've sent a test verification code to your email. Enter it below to complete setup. ")
|
|
@@ -7582,7 +7582,7 @@ const ai = {
|
|
|
7582
7582
|
label: "Verification Code",
|
|
7583
7583
|
"max-length": 6,
|
|
7584
7584
|
variant: "numeric",
|
|
7585
|
-
error:
|
|
7585
|
+
error: h.value,
|
|
7586
7586
|
disabled: n(k),
|
|
7587
7587
|
onComplete: O
|
|
7588
7588
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
@@ -7591,10 +7591,10 @@ const ai = {
|
|
|
7591
7591
|
color: "secondary",
|
|
7592
7592
|
size: "sm",
|
|
7593
7593
|
onClick: w,
|
|
7594
|
-
disabled: n(k) ||
|
|
7594
|
+
disabled: n(k) || D.value
|
|
7595
7595
|
}, {
|
|
7596
7596
|
default: x(() => [
|
|
7597
|
-
Q(R(
|
|
7597
|
+
Q(R(D.value ? `Resend in ${C.value}s` : "Resend Code"), 1)
|
|
7598
7598
|
]),
|
|
7599
7599
|
_: 1
|
|
7600
7600
|
}, 8, ["disabled"])
|
|
@@ -7602,7 +7602,7 @@ const ai = {
|
|
|
7602
7602
|
e("div", g2, [
|
|
7603
7603
|
d(n(ce), {
|
|
7604
7604
|
color: "secondary",
|
|
7605
|
-
onClick: T[2] || (T[2] = (te) =>
|
|
7605
|
+
onClick: T[2] || (T[2] = (te) => g.value = 1),
|
|
7606
7606
|
disabled: n(k)
|
|
7607
7607
|
}, {
|
|
7608
7608
|
default: x(() => [...T[8] || (T[8] = [
|
|
@@ -7622,7 +7622,7 @@ const ai = {
|
|
|
7622
7622
|
}, 8, ["disabled", "loading"])
|
|
7623
7623
|
])
|
|
7624
7624
|
])) : I("", !0),
|
|
7625
|
-
|
|
7625
|
+
g.value === 3 ? (a(), o("div", C2, [
|
|
7626
7626
|
T[13] || (T[13] = e("div", { class: "email-mfa-setup-completion" }, [
|
|
7627
7627
|
e("div", { class: "email-mfa-setup-completion-icon" }, [
|
|
7628
7628
|
e("svg", {
|
|
@@ -7700,14 +7700,14 @@ const ai = {
|
|
|
7700
7700
|
},
|
|
7701
7701
|
emits: ["close", "success"],
|
|
7702
7702
|
setup(s, { emit: r }) {
|
|
7703
|
-
const t = s, l = r, { loading: z } = Tt(), { registerHardwareKey: V, completeHardwareKeyRegistration: y, currentSession: k } = ft(), u =
|
|
7703
|
+
const t = s, l = r, { loading: z } = Tt(), { registerHardwareKey: V, completeHardwareKeyRegistration: y, currentSession: k } = ft(), u = $(!1), g = U(() => z.value || u.value), M = U(() => t.deviceType === "passkey" ? "Setup Passkey" : "Setup Hardware Key"), A = U({
|
|
7704
7704
|
get: () => t.show,
|
|
7705
7705
|
set: (b) => {
|
|
7706
7706
|
b || l("close");
|
|
7707
7707
|
}
|
|
7708
|
-
}), c =
|
|
7708
|
+
}), c = $(1), h = $(""), E = $(""), D = $("Please touch your hardware key when prompted"), C = $(""), N = $([]);
|
|
7709
7709
|
Le(() => t.show, (b) => {
|
|
7710
|
-
b && (c.value = 1,
|
|
7710
|
+
b && (c.value = 1, h.value = "", E.value = "", D.value = "Please touch your hardware key when prompted", C.value = "", N.value = []);
|
|
7711
7711
|
});
|
|
7712
7712
|
const p = () => {
|
|
7713
7713
|
l("close");
|
|
@@ -7793,13 +7793,13 @@ const ai = {
|
|
|
7793
7793
|
throw new Error("Unable to process WebAuthn challenge data");
|
|
7794
7794
|
}
|
|
7795
7795
|
}, S = async () => {
|
|
7796
|
-
if (!
|
|
7797
|
-
|
|
7796
|
+
if (!h.value.trim()) {
|
|
7797
|
+
E.value = "Device name is required";
|
|
7798
7798
|
return;
|
|
7799
7799
|
}
|
|
7800
|
-
|
|
7800
|
+
E.value = "", c.value = 2;
|
|
7801
7801
|
}, w = async () => {
|
|
7802
|
-
u.value = !0, c.value = 3,
|
|
7802
|
+
u.value = !0, c.value = 3, D.value = `Starting ${t.deviceType === "passkey" ? "passkey" : "hardware key"} registration...`;
|
|
7803
7803
|
try {
|
|
7804
7804
|
if (!window.navigator.credentials || !window.PublicKeyCredential)
|
|
7805
7805
|
throw new Error("WebAuthn is not supported in this browser");
|
|
@@ -7809,17 +7809,17 @@ const ai = {
|
|
|
7809
7809
|
}
|
|
7810
7810
|
if (!k.value?.accessToken)
|
|
7811
7811
|
throw new Error("Not authenticated. Please sign in again.");
|
|
7812
|
-
const { device_id: b, challenge: T } = await V(
|
|
7812
|
+
const { device_id: b, challenge: T } = await V(h.value.trim(), k.value.accessToken);
|
|
7813
7813
|
if (!T || typeof T != "object")
|
|
7814
7814
|
throw new Error("Invalid challenge received from server");
|
|
7815
7815
|
const te = O(T, t.deviceType);
|
|
7816
|
-
|
|
7816
|
+
D.value = "Please touch your hardware key now...";
|
|
7817
7817
|
const ue = await navigator.credentials.create({
|
|
7818
7818
|
publicKey: te
|
|
7819
7819
|
});
|
|
7820
7820
|
if (!ue)
|
|
7821
7821
|
throw new Error("Hardware key registration was cancelled");
|
|
7822
|
-
|
|
7822
|
+
D.value = "Completing registration...";
|
|
7823
7823
|
const ye = ue.response;
|
|
7824
7824
|
try {
|
|
7825
7825
|
if (!ue.rawId)
|
|
@@ -7865,7 +7865,7 @@ const ai = {
|
|
|
7865
7865
|
return (b, T) => (a(), Ce(ut, {
|
|
7866
7866
|
modelValue: A.value,
|
|
7867
7867
|
"onUpdate:modelValue": T[3] || (T[3] = (te) => A.value = te),
|
|
7868
|
-
title:
|
|
7868
|
+
title: M.value,
|
|
7869
7869
|
"card-class": "hardware-key-setup-modal"
|
|
7870
7870
|
}, {
|
|
7871
7871
|
default: x(() => [
|
|
@@ -7875,18 +7875,18 @@ const ai = {
|
|
|
7875
7875
|
e("p", { class: "hardware-key-setup-step-description" }, ' Give your hardware key a memorable name (e.g., "YubiKey 5", "Work Security Key") ')
|
|
7876
7876
|
], -1)),
|
|
7877
7877
|
d(n(Ze), {
|
|
7878
|
-
modelValue:
|
|
7879
|
-
"onUpdate:modelValue": T[0] || (T[0] = (te) =>
|
|
7878
|
+
modelValue: h.value,
|
|
7879
|
+
"onUpdate:modelValue": T[0] || (T[0] = (te) => h.value = te),
|
|
7880
7880
|
label: "Device Name",
|
|
7881
7881
|
placeholder: "My Hardware Key",
|
|
7882
|
-
error:
|
|
7883
|
-
disabled:
|
|
7882
|
+
error: E.value,
|
|
7883
|
+
disabled: g.value
|
|
7884
7884
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
7885
7885
|
e("div", b2, [
|
|
7886
7886
|
d(n(ce), {
|
|
7887
7887
|
variant: "secondary",
|
|
7888
7888
|
onClick: p,
|
|
7889
|
-
disabled:
|
|
7889
|
+
disabled: g.value
|
|
7890
7890
|
}, {
|
|
7891
7891
|
default: x(() => [...T[4] || (T[4] = [
|
|
7892
7892
|
Q(" Cancel ", -1)
|
|
@@ -7896,8 +7896,8 @@ const ai = {
|
|
|
7896
7896
|
d(n(ce), {
|
|
7897
7897
|
variant: "primary",
|
|
7898
7898
|
onClick: S,
|
|
7899
|
-
disabled: !
|
|
7900
|
-
loading:
|
|
7899
|
+
disabled: !h.value.trim() || g.value,
|
|
7900
|
+
loading: g.value
|
|
7901
7901
|
}, {
|
|
7902
7902
|
default: x(() => [...T[5] || (T[5] = [
|
|
7903
7903
|
Q(" Continue ", -1)
|
|
@@ -7965,7 +7965,7 @@ const ai = {
|
|
|
7965
7965
|
d(n(ce), {
|
|
7966
7966
|
variant: "secondary",
|
|
7967
7967
|
onClick: T[1] || (T[1] = (te) => c.value = 1),
|
|
7968
|
-
disabled:
|
|
7968
|
+
disabled: g.value
|
|
7969
7969
|
}, {
|
|
7970
7970
|
default: x(() => [...T[15] || (T[15] = [
|
|
7971
7971
|
Q(" Back ", -1)
|
|
@@ -7975,8 +7975,8 @@ const ai = {
|
|
|
7975
7975
|
d(n(ce), {
|
|
7976
7976
|
variant: "primary",
|
|
7977
7977
|
onClick: w,
|
|
7978
|
-
disabled:
|
|
7979
|
-
loading:
|
|
7978
|
+
disabled: g.value,
|
|
7979
|
+
loading: g.value
|
|
7980
7980
|
}, {
|
|
7981
7981
|
default: x(() => [...T[16] || (T[16] = [
|
|
7982
7982
|
Q(" Register Key ", -1)
|
|
@@ -7994,7 +7994,7 @@ const ai = {
|
|
|
7994
7994
|
})
|
|
7995
7995
|
]),
|
|
7996
7996
|
T[19] || (T[19] = e("h3", { class: "hardware-key-setup-step-title" }, "Registering Hardware Key", -1)),
|
|
7997
|
-
e("p", V2, R(
|
|
7997
|
+
e("p", V2, R(D.value), 1)
|
|
7998
7998
|
]),
|
|
7999
7999
|
T[20] || (T[20] = e("div", { class: "hardware-key-setup-progress-indicator" }, [
|
|
8000
8000
|
e("div", { class: "hardware-key-setup-progress-content" }, [
|
|
@@ -8155,41 +8155,41 @@ const ai = {
|
|
|
8155
8155
|
},
|
|
8156
8156
|
emits: ["close"],
|
|
8157
8157
|
setup(s, { emit: r }) {
|
|
8158
|
-
const t = s, l = r, { regenerateBackupCodes: z, loading: V, getDeviceTypeName: y } = Tt(), k =
|
|
8158
|
+
const t = s, l = r, { regenerateBackupCodes: z, loading: V, getDeviceTypeName: y } = Tt(), k = U({
|
|
8159
8159
|
get: () => t.show,
|
|
8160
|
-
set: (
|
|
8161
|
-
|
|
8160
|
+
set: (D) => {
|
|
8161
|
+
D || l("close");
|
|
8162
8162
|
}
|
|
8163
|
-
}), u =
|
|
8164
|
-
Le(() => t.show, async (
|
|
8165
|
-
|
|
8163
|
+
}), u = $([]), g = $(!1);
|
|
8164
|
+
Le(() => t.show, async (D) => {
|
|
8165
|
+
D && t.device && (g.value = !1, u.value = []);
|
|
8166
8166
|
}), We(async () => {
|
|
8167
8167
|
t.show && t.device && (u.value = []);
|
|
8168
8168
|
});
|
|
8169
|
-
const
|
|
8169
|
+
const M = () => {
|
|
8170
8170
|
l("close");
|
|
8171
8171
|
}, A = () => {
|
|
8172
|
-
|
|
8172
|
+
g.value = !0;
|
|
8173
8173
|
}, c = async () => {
|
|
8174
8174
|
if (t.device)
|
|
8175
8175
|
try {
|
|
8176
|
-
const
|
|
8177
|
-
u.value =
|
|
8178
|
-
} catch (
|
|
8179
|
-
console.error("Failed to regenerate backup codes:",
|
|
8176
|
+
const D = await z(t.device.id);
|
|
8177
|
+
u.value = D.backup_codes, g.value = !1;
|
|
8178
|
+
} catch (D) {
|
|
8179
|
+
console.error("Failed to regenerate backup codes:", D);
|
|
8180
8180
|
}
|
|
8181
|
-
},
|
|
8181
|
+
}, h = async () => {
|
|
8182
8182
|
if (u.value.length !== 0)
|
|
8183
8183
|
try {
|
|
8184
|
-
const
|
|
8184
|
+
const D = u.value.join(`
|
|
8185
8185
|
`);
|
|
8186
|
-
await navigator.clipboard.writeText(
|
|
8187
|
-
} catch (
|
|
8188
|
-
console.warn("Failed to copy backup codes to clipboard:",
|
|
8186
|
+
await navigator.clipboard.writeText(D);
|
|
8187
|
+
} catch (D) {
|
|
8188
|
+
console.warn("Failed to copy backup codes to clipboard:", D);
|
|
8189
8189
|
}
|
|
8190
|
-
},
|
|
8190
|
+
}, E = () => {
|
|
8191
8191
|
if (u.value.length === 0) return;
|
|
8192
|
-
const
|
|
8192
|
+
const D = t.device?.device_name || "device", C = (/* @__PURE__ */ new Date()).toISOString().split("T")[0], N = `strands-backup-codes-${D}-${C}.txt`, p = [
|
|
8193
8193
|
"Strands Account Backup Codes",
|
|
8194
8194
|
"============================",
|
|
8195
8195
|
"",
|
|
@@ -8209,7 +8209,7 @@ const ai = {
|
|
|
8209
8209
|
`), L = new Blob([p], { type: "text/plain" }), O = URL.createObjectURL(L), S = document.createElement("a");
|
|
8210
8210
|
S.href = O, S.download = N, document.body.appendChild(S), S.click(), document.body.removeChild(S), URL.revokeObjectURL(O);
|
|
8211
8211
|
};
|
|
8212
|
-
return (
|
|
8212
|
+
return (D, C) => (a(), o("div", R2, [
|
|
8213
8213
|
d(ut, {
|
|
8214
8214
|
modelValue: k.value,
|
|
8215
8215
|
"onUpdate:modelValue": C[1] || (C[1] = (N) => k.value = N),
|
|
@@ -8268,7 +8268,7 @@ const ai = {
|
|
|
8268
8268
|
d(n(ce), {
|
|
8269
8269
|
variant: "secondary",
|
|
8270
8270
|
size: "sm",
|
|
8271
|
-
onClick:
|
|
8271
|
+
onClick: h
|
|
8272
8272
|
}, {
|
|
8273
8273
|
default: x(() => [...C[4] || (C[4] = [
|
|
8274
8274
|
Q(" 📋 Copy All Codes ", -1)
|
|
@@ -8278,7 +8278,7 @@ const ai = {
|
|
|
8278
8278
|
d(n(ce), {
|
|
8279
8279
|
variant: "secondary",
|
|
8280
8280
|
size: "sm",
|
|
8281
|
-
onClick:
|
|
8281
|
+
onClick: E
|
|
8282
8282
|
}, {
|
|
8283
8283
|
default: x(() => [...C[5] || (C[5] = [
|
|
8284
8284
|
Q(" 💾 Download ", -1)
|
|
@@ -8302,7 +8302,7 @@ const ai = {
|
|
|
8302
8302
|
}, 8, ["disabled", "loading"]),
|
|
8303
8303
|
d(n(ce), {
|
|
8304
8304
|
variant: "primary",
|
|
8305
|
-
onClick:
|
|
8305
|
+
onClick: M
|
|
8306
8306
|
}, {
|
|
8307
8307
|
default: x(() => [...C[8] || (C[8] = [
|
|
8308
8308
|
Q(" Done ", -1)
|
|
@@ -8311,7 +8311,7 @@ const ai = {
|
|
|
8311
8311
|
})
|
|
8312
8312
|
])
|
|
8313
8313
|
]),
|
|
8314
|
-
|
|
8314
|
+
g.value ? (a(), o("div", a3, [
|
|
8315
8315
|
e("div", s3, [
|
|
8316
8316
|
C[13] || (C[13] = e("svg", {
|
|
8317
8317
|
class: "backup-codes-regenerate-icon",
|
|
@@ -8343,7 +8343,7 @@ const ai = {
|
|
|
8343
8343
|
d(n(ce), {
|
|
8344
8344
|
variant: "secondary",
|
|
8345
8345
|
size: "sm",
|
|
8346
|
-
onClick: C[0] || (C[0] = (N) =>
|
|
8346
|
+
onClick: C[0] || (C[0] = (N) => g.value = !1)
|
|
8347
8347
|
}, {
|
|
8348
8348
|
default: x(() => [...C[10] || (C[10] = [
|
|
8349
8349
|
Q(" Cancel ", -1)
|
|
@@ -8372,7 +8372,7 @@ const ai = {
|
|
|
8372
8372
|
},
|
|
8373
8373
|
emits: ["confirm", "cancel"],
|
|
8374
8374
|
setup(s, { emit: r }) {
|
|
8375
|
-
const t = s, l = r, z =
|
|
8375
|
+
const t = s, l = r, z = $(!1), V = U({
|
|
8376
8376
|
get: () => t.show,
|
|
8377
8377
|
set: (u) => {
|
|
8378
8378
|
u || l("cancel");
|
|
@@ -8382,10 +8382,10 @@ const ai = {
|
|
|
8382
8382
|
}, k = () => {
|
|
8383
8383
|
l("cancel");
|
|
8384
8384
|
};
|
|
8385
|
-
return (u,
|
|
8385
|
+
return (u, g) => (a(), o("div", i3, [
|
|
8386
8386
|
d(ut, {
|
|
8387
8387
|
modelValue: V.value,
|
|
8388
|
-
"onUpdate:modelValue":
|
|
8388
|
+
"onUpdate:modelValue": g[0] || (g[0] = (M) => V.value = M),
|
|
8389
8389
|
"card-class": "confirm-modal"
|
|
8390
8390
|
}, {
|
|
8391
8391
|
header: x(() => [
|
|
@@ -8464,8 +8464,8 @@ const ai = {
|
|
|
8464
8464
|
activeMfaDevices: y,
|
|
8465
8465
|
fetchMfaDevices: k,
|
|
8466
8466
|
disableMfaDevice: u,
|
|
8467
|
-
sendEmailMfaCode:
|
|
8468
|
-
} = Tt(),
|
|
8467
|
+
sendEmailMfaCode: g
|
|
8468
|
+
} = Tt(), M = {
|
|
8469
8469
|
props: ["size"],
|
|
8470
8470
|
render() {
|
|
8471
8471
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -8489,7 +8489,7 @@ const ai = {
|
|
|
8489
8489
|
oe("circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
8490
8490
|
]);
|
|
8491
8491
|
}
|
|
8492
|
-
},
|
|
8492
|
+
}, h = {
|
|
8493
8493
|
props: ["size"],
|
|
8494
8494
|
render() {
|
|
8495
8495
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -8504,14 +8504,14 @@ const ai = {
|
|
|
8504
8504
|
oe("path", { d: "M9 6.8a6 6 0 0 1 9 5.2c0 .47 0 1.17-.02 2" })
|
|
8505
8505
|
]);
|
|
8506
8506
|
}
|
|
8507
|
-
},
|
|
8507
|
+
}, E = {
|
|
8508
8508
|
props: ["size"],
|
|
8509
8509
|
render() {
|
|
8510
8510
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
8511
8511
|
oe("path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z" })
|
|
8512
8512
|
]);
|
|
8513
8513
|
}
|
|
8514
|
-
},
|
|
8514
|
+
}, D = {
|
|
8515
8515
|
props: ["size"],
|
|
8516
8516
|
render() {
|
|
8517
8517
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -8520,10 +8520,10 @@ const ai = {
|
|
|
8520
8520
|
oe("path", { d: "m12 17 .01 0" })
|
|
8521
8521
|
]);
|
|
8522
8522
|
}
|
|
8523
|
-
}, C =
|
|
8523
|
+
}, C = $("add"), N = Ye({}), p = Ye({}), L = $(!1), O = $(!1), S = $(!1), w = $(!1), q = U({
|
|
8524
8524
|
get: () => t.modelValue || !1,
|
|
8525
8525
|
set: (xe) => l("update:modelValue", xe)
|
|
8526
|
-
}), Z =
|
|
8526
|
+
}), Z = U(() => {
|
|
8527
8527
|
const xe = [
|
|
8528
8528
|
{ label: "Add Device", value: "add" }
|
|
8529
8529
|
];
|
|
@@ -8536,7 +8536,7 @@ const ai = {
|
|
|
8536
8536
|
});
|
|
8537
8537
|
const b = async (xe) => {
|
|
8538
8538
|
try {
|
|
8539
|
-
N[xe.id] = !0, await
|
|
8539
|
+
N[xe.id] = !0, await g(xe.id);
|
|
8540
8540
|
} catch (ne) {
|
|
8541
8541
|
console.error("Failed to send email MFA code:", ne);
|
|
8542
8542
|
} finally {
|
|
@@ -8589,7 +8589,7 @@ const ai = {
|
|
|
8589
8589
|
]),
|
|
8590
8590
|
e("div", y3, [
|
|
8591
8591
|
n(z) ? (a(), o("span", k3, [
|
|
8592
|
-
d(
|
|
8592
|
+
d(E, {
|
|
8593
8593
|
size: 12,
|
|
8594
8594
|
class: "mfa-badge-icon"
|
|
8595
8595
|
}),
|
|
@@ -8612,7 +8612,7 @@ const ai = {
|
|
|
8612
8612
|
e("div", M3, [
|
|
8613
8613
|
e("div", $3, [
|
|
8614
8614
|
e("div", S3, [
|
|
8615
|
-
d(
|
|
8615
|
+
d(M, { size: 24 })
|
|
8616
8616
|
]),
|
|
8617
8617
|
ne[14] || (ne[14] = e("div", { class: "mfa-device-option-info" }, [
|
|
8618
8618
|
e("h4", { class: "mfa-device-option-title" }, "Authenticator App"),
|
|
@@ -8675,7 +8675,7 @@ const ai = {
|
|
|
8675
8675
|
e("div", L3, [
|
|
8676
8676
|
e("div", E3, [
|
|
8677
8677
|
e("div", H3, [
|
|
8678
|
-
d(
|
|
8678
|
+
d(h, { size: 24 })
|
|
8679
8679
|
]),
|
|
8680
8680
|
ne[20] || (ne[20] = e("div", { class: "mfa-device-option-info" }, [
|
|
8681
8681
|
e("h4", { class: "mfa-device-option-title" }, "Passkey"),
|
|
@@ -8698,7 +8698,7 @@ const ai = {
|
|
|
8698
8698
|
])) : j?.value === "manage" ? (a(), o("div", U3, [
|
|
8699
8699
|
n(y).length === 0 ? (a(), o("div", D3, [
|
|
8700
8700
|
e("div", N3, [
|
|
8701
|
-
d(
|
|
8701
|
+
d(E, { size: 48 })
|
|
8702
8702
|
]),
|
|
8703
8703
|
ne[24] || (ne[24] = e("h3", { class: "mfa-empty-title" }, "No MFA Devices", -1)),
|
|
8704
8704
|
ne[25] || (ne[25] = e("p", { class: "mfa-empty-description" }, "You haven't set up any multi-factor authentication devices yet.", -1)),
|
|
@@ -8719,7 +8719,7 @@ const ai = {
|
|
|
8719
8719
|
e("div", P3, [
|
|
8720
8720
|
e("div", j3, [
|
|
8721
8721
|
e("div", O3, [
|
|
8722
|
-
K.device_type === "totp" ? (a(), Ce(
|
|
8722
|
+
K.device_type === "totp" ? (a(), Ce(M, {
|
|
8723
8723
|
key: 0,
|
|
8724
8724
|
size: 20
|
|
8725
8725
|
})) : K.device_type === "email" ? (a(), Ce(A, {
|
|
@@ -8728,7 +8728,7 @@ const ai = {
|
|
|
8728
8728
|
})) : K.device_type === "hardware" ? (a(), Ce(c, {
|
|
8729
8729
|
key: 2,
|
|
8730
8730
|
size: 20
|
|
8731
|
-
})) : K.device_type === "passkey" ? (a(), Ce(
|
|
8731
|
+
})) : K.device_type === "passkey" ? (a(), Ce(h, {
|
|
8732
8732
|
key: 3,
|
|
8733
8733
|
size: 20
|
|
8734
8734
|
})) : I("", !0)
|
|
@@ -8777,7 +8777,7 @@ const ai = {
|
|
|
8777
8777
|
K.device_type === "email" && !K.verified ? (a(), o("div", Z3, [
|
|
8778
8778
|
e("div", K3, [
|
|
8779
8779
|
e("div", G3, [
|
|
8780
|
-
d(
|
|
8780
|
+
d(D, { size: 16 })
|
|
8781
8781
|
]),
|
|
8782
8782
|
ne[26] || (ne[26] = e("span", { class: "mfa-warning-text" }, "Email not verified - click Test to verify", -1))
|
|
8783
8783
|
])
|
|
@@ -8860,20 +8860,20 @@ const ai = {
|
|
|
8860
8860
|
},
|
|
8861
8861
|
emits: ["close", "settings-updated"],
|
|
8862
8862
|
setup(s, { emit: r }) {
|
|
8863
|
-
const t = r, { currentUser: l, updateUserSettings: z } = ft(), V =
|
|
8863
|
+
const t = r, { currentUser: l, updateUserSettings: z } = ft(), V = $(!1), y = $(null), k = Ye({
|
|
8864
8864
|
levelUpSounds: l.value?.settings?.levelUpSounds ?? !0,
|
|
8865
8865
|
milestoneSounds: l.value?.settings?.milestoneSounds ?? !0
|
|
8866
8866
|
});
|
|
8867
8867
|
Le(() => l.value?.settings, (c) => {
|
|
8868
8868
|
c && (k.levelUpSounds = c.levelUpSounds ?? !0, k.milestoneSounds = c.milestoneSounds ?? !0);
|
|
8869
8869
|
}, { deep: !0 });
|
|
8870
|
-
const u = (c,
|
|
8871
|
-
k[c] =
|
|
8872
|
-
},
|
|
8870
|
+
const u = (c, h) => {
|
|
8871
|
+
k[c] = h;
|
|
8872
|
+
}, g = () => {
|
|
8873
8873
|
y.value || (y.value = "regular", Sa.playLevelUp(5), setTimeout(() => {
|
|
8874
8874
|
y.value === "regular" && (y.value = null);
|
|
8875
8875
|
}, 800));
|
|
8876
|
-
},
|
|
8876
|
+
}, M = () => {
|
|
8877
8877
|
y.value || (y.value = "milestone", Sa.playLevelUp(50), setTimeout(() => {
|
|
8878
8878
|
y.value === "milestone" && (y.value = null);
|
|
8879
8879
|
}, 2500));
|
|
@@ -8885,33 +8885,33 @@ const ai = {
|
|
|
8885
8885
|
...l.value?.settings,
|
|
8886
8886
|
...k
|
|
8887
8887
|
}), t("settings-updated", { ...k });
|
|
8888
|
-
} catch (
|
|
8889
|
-
console.warn("Failed to save settings:",
|
|
8888
|
+
} catch (h) {
|
|
8889
|
+
console.warn("Failed to save settings:", h);
|
|
8890
8890
|
} finally {
|
|
8891
8891
|
V.value = !1, c();
|
|
8892
8892
|
}
|
|
8893
8893
|
}
|
|
8894
8894
|
};
|
|
8895
|
-
return (c,
|
|
8895
|
+
return (c, h) => (a(), o("div", Q3, [
|
|
8896
8896
|
d(ut, {
|
|
8897
8897
|
onClose: c.onClose,
|
|
8898
8898
|
title: "Account Settings",
|
|
8899
8899
|
"card-class": "max-w-lg"
|
|
8900
8900
|
}, Zt({
|
|
8901
|
-
footer: x(({ handleClose:
|
|
8901
|
+
footer: x(({ handleClose: E }) => [
|
|
8902
8902
|
e("div", c4, [
|
|
8903
8903
|
d(lt, {
|
|
8904
8904
|
variant: "secondary",
|
|
8905
|
-
onClick:
|
|
8905
|
+
onClick: E
|
|
8906
8906
|
}, {
|
|
8907
|
-
default: x(() => [...
|
|
8907
|
+
default: x(() => [...h[11] || (h[11] = [
|
|
8908
8908
|
Q(" Close ", -1)
|
|
8909
8909
|
])]),
|
|
8910
8910
|
_: 1
|
|
8911
8911
|
}, 8, ["onClick"]),
|
|
8912
8912
|
d(lt, {
|
|
8913
8913
|
variant: "primary",
|
|
8914
|
-
onClick: (
|
|
8914
|
+
onClick: (D) => A(E),
|
|
8915
8915
|
loading: V.value
|
|
8916
8916
|
}, {
|
|
8917
8917
|
default: x(() => [
|
|
@@ -8924,10 +8924,10 @@ const ai = {
|
|
|
8924
8924
|
default: x(() => [
|
|
8925
8925
|
e("div", X3, [
|
|
8926
8926
|
e("div", J3, [
|
|
8927
|
-
|
|
8927
|
+
h[10] || (h[10] = e("h3", { class: "settings-section-title" }, "Audio Preferences", -1)),
|
|
8928
8928
|
e("div", e4, [
|
|
8929
8929
|
e("div", t4, [
|
|
8930
|
-
|
|
8930
|
+
h[6] || (h[6] = e("div", { class: "settings-option-info" }, [
|
|
8931
8931
|
e("label", {
|
|
8932
8932
|
for: "level-up-sounds",
|
|
8933
8933
|
class: "settings-option-label"
|
|
@@ -8938,15 +8938,15 @@ const ai = {
|
|
|
8938
8938
|
d(lt, {
|
|
8939
8939
|
variant: "outline",
|
|
8940
8940
|
size: "sm",
|
|
8941
|
-
onClick:
|
|
8941
|
+
onClick: g,
|
|
8942
8942
|
disabled: y.value === "regular",
|
|
8943
8943
|
"aria-label": y.value === "regular" ? "Stop preview" : "Play preview",
|
|
8944
8944
|
class: "preview-icon-button"
|
|
8945
8945
|
}, {
|
|
8946
8946
|
default: x(() => [
|
|
8947
|
-
y.value !== "regular" ? (a(), o("svg", s4, [...
|
|
8947
|
+
y.value !== "regular" ? (a(), o("svg", s4, [...h[4] || (h[4] = [
|
|
8948
8948
|
e("path", { d: "M8 5v14l11-7z" }, null, -1)
|
|
8949
|
-
])])) : (a(), o("svg", o4, [...
|
|
8949
|
+
])])) : (a(), o("svg", o4, [...h[5] || (h[5] = [
|
|
8950
8950
|
e("rect", {
|
|
8951
8951
|
x: "6",
|
|
8952
8952
|
y: "6",
|
|
@@ -8961,8 +8961,8 @@ const ai = {
|
|
|
8961
8961
|
id: "level-up-sounds",
|
|
8962
8962
|
modelValue: k.levelUpSounds,
|
|
8963
8963
|
"onUpdate:modelValue": [
|
|
8964
|
-
|
|
8965
|
-
|
|
8964
|
+
h[0] || (h[0] = (E) => k.levelUpSounds = E),
|
|
8965
|
+
h[1] || (h[1] = (E) => u("levelUpSounds", E))
|
|
8966
8966
|
]
|
|
8967
8967
|
}, null, 8, ["modelValue"])
|
|
8968
8968
|
])
|
|
@@ -8970,7 +8970,7 @@ const ai = {
|
|
|
8970
8970
|
]),
|
|
8971
8971
|
e("div", l4, [
|
|
8972
8972
|
e("div", n4, [
|
|
8973
|
-
|
|
8973
|
+
h[9] || (h[9] = e("div", { class: "settings-option-info" }, [
|
|
8974
8974
|
e("label", {
|
|
8975
8975
|
for: "milestone-sounds",
|
|
8976
8976
|
class: "settings-option-label"
|
|
@@ -8981,15 +8981,15 @@ const ai = {
|
|
|
8981
8981
|
d(lt, {
|
|
8982
8982
|
variant: "outline",
|
|
8983
8983
|
size: "sm",
|
|
8984
|
-
onClick:
|
|
8984
|
+
onClick: M,
|
|
8985
8985
|
disabled: y.value === "milestone",
|
|
8986
8986
|
"aria-label": y.value === "milestone" ? "Stop preview" : "Play preview",
|
|
8987
8987
|
class: "preview-icon-button"
|
|
8988
8988
|
}, {
|
|
8989
8989
|
default: x(() => [
|
|
8990
|
-
y.value !== "milestone" ? (a(), o("svg", r4, [...
|
|
8990
|
+
y.value !== "milestone" ? (a(), o("svg", r4, [...h[7] || (h[7] = [
|
|
8991
8991
|
e("path", { d: "M8 5v14l11-7z" }, null, -1)
|
|
8992
|
-
])])) : (a(), o("svg", u4, [...
|
|
8992
|
+
])])) : (a(), o("svg", u4, [...h[8] || (h[8] = [
|
|
8993
8993
|
e("rect", {
|
|
8994
8994
|
x: "6",
|
|
8995
8995
|
y: "6",
|
|
@@ -9004,8 +9004,8 @@ const ai = {
|
|
|
9004
9004
|
id: "milestone-sounds",
|
|
9005
9005
|
modelValue: k.milestoneSounds,
|
|
9006
9006
|
"onUpdate:modelValue": [
|
|
9007
|
-
|
|
9008
|
-
|
|
9007
|
+
h[2] || (h[2] = (E) => k.milestoneSounds = E),
|
|
9008
|
+
h[3] || (h[3] = (E) => u("milestoneSounds", E))
|
|
9009
9009
|
]
|
|
9010
9010
|
}, null, 8, ["modelValue"])
|
|
9011
9011
|
])
|
|
@@ -9074,7 +9074,7 @@ const ai = {
|
|
|
9074
9074
|
oe("line", { x1: "12", y1: "17", x2: "12", y2: "21" })
|
|
9075
9075
|
]);
|
|
9076
9076
|
}
|
|
9077
|
-
},
|
|
9077
|
+
}, g = {
|
|
9078
9078
|
props: ["size"],
|
|
9079
9079
|
render() {
|
|
9080
9080
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -9083,7 +9083,7 @@ const ai = {
|
|
|
9083
9083
|
oe("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })
|
|
9084
9084
|
]);
|
|
9085
9085
|
}
|
|
9086
|
-
},
|
|
9086
|
+
}, M = {
|
|
9087
9087
|
props: ["size"],
|
|
9088
9088
|
render() {
|
|
9089
9089
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -9101,7 +9101,7 @@ const ai = {
|
|
|
9101
9101
|
oe("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
|
|
9102
9102
|
]);
|
|
9103
9103
|
}
|
|
9104
|
-
}, c =
|
|
9104
|
+
}, c = $([]), h = $(null), E = $(!1), D = $(null), C = Ye({}), N = $(!1), p = U({
|
|
9105
9105
|
get: () => t.modelValue || !1,
|
|
9106
9106
|
set: (T) => l("update:modelValue", T)
|
|
9107
9107
|
});
|
|
@@ -9111,29 +9111,29 @@ const ai = {
|
|
|
9111
9111
|
(typeof t.modelValue > "u" || t.modelValue) && L();
|
|
9112
9112
|
});
|
|
9113
9113
|
const L = async () => {
|
|
9114
|
-
|
|
9114
|
+
E.value = !0, D.value = null;
|
|
9115
9115
|
try {
|
|
9116
9116
|
const T = await z();
|
|
9117
9117
|
if (c.value = T || [], c.value.length > 0) {
|
|
9118
9118
|
const te = c.value.filter((ye) => ye.is_current || ye.last_activity_at), ue = [...new Set(c.value.map((ye) => q(ye)).filter(Boolean))];
|
|
9119
|
-
|
|
9119
|
+
h.value = {
|
|
9120
9120
|
total_sessions: c.value.length,
|
|
9121
9121
|
active_sessions: te.length,
|
|
9122
9122
|
unique_locations: ue
|
|
9123
9123
|
};
|
|
9124
9124
|
} else
|
|
9125
|
-
|
|
9125
|
+
h.value = null;
|
|
9126
9126
|
} catch (T) {
|
|
9127
|
-
|
|
9127
|
+
D.value = T instanceof Error ? T.message : "Failed to load sessions", console.error("Failed to load sessions:", T);
|
|
9128
9128
|
} finally {
|
|
9129
|
-
|
|
9129
|
+
E.value = !1;
|
|
9130
9130
|
}
|
|
9131
9131
|
}, O = async (T) => {
|
|
9132
9132
|
C[T] = !0;
|
|
9133
9133
|
try {
|
|
9134
9134
|
await V(T), await L(), l("sessions-updated");
|
|
9135
9135
|
} catch (te) {
|
|
9136
|
-
console.error("Failed to revoke session:", te),
|
|
9136
|
+
console.error("Failed to revoke session:", te), D.value = te instanceof Error ? te.message : "Failed to revoke session";
|
|
9137
9137
|
} finally {
|
|
9138
9138
|
C[T] = !1;
|
|
9139
9139
|
}
|
|
@@ -9142,7 +9142,7 @@ const ai = {
|
|
|
9142
9142
|
try {
|
|
9143
9143
|
await y(), await L(), l("sessions-updated");
|
|
9144
9144
|
} catch (T) {
|
|
9145
|
-
console.error("Failed to revoke all other sessions:", T),
|
|
9145
|
+
console.error("Failed to revoke all other sessions:", T), D.value = T instanceof Error ? T.message : "Failed to revoke sessions";
|
|
9146
9146
|
} finally {
|
|
9147
9147
|
N.value = !1;
|
|
9148
9148
|
}
|
|
@@ -9172,7 +9172,7 @@ const ai = {
|
|
|
9172
9172
|
}, {
|
|
9173
9173
|
default: x(() => [
|
|
9174
9174
|
e("div", p4, [
|
|
9175
|
-
|
|
9175
|
+
E.value ? (a(), o("div", f4, [
|
|
9176
9176
|
d(n(ht), { size: 40 }),
|
|
9177
9177
|
te[1] || (te[1] = e("p", { class: "loading-text" }, "Loading sessions...", -1))
|
|
9178
9178
|
])) : c.value.length === 0 ? (a(), o("div", m4, [...te[2] || (te[2] = [
|
|
@@ -9209,18 +9209,18 @@ const ai = {
|
|
|
9209
9209
|
e("h3", { class: "empty-title" }, "No Active Sessions", -1),
|
|
9210
9210
|
e("p", { class: "empty-description" }, "You don't have any active sessions at the moment.", -1)
|
|
9211
9211
|
])])) : (a(), o("div", h4, [
|
|
9212
|
-
|
|
9212
|
+
h.value ? (a(), o("div", g4, [
|
|
9213
9213
|
e("div", C4, [
|
|
9214
9214
|
te[3] || (te[3] = e("span", { class: "stat-label" }, "Total Sessions", -1)),
|
|
9215
|
-
e("span", y4, R(
|
|
9215
|
+
e("span", y4, R(h.value.total_sessions), 1)
|
|
9216
9216
|
]),
|
|
9217
9217
|
e("div", k4, [
|
|
9218
9218
|
te[4] || (te[4] = e("span", { class: "stat-label" }, "Active Devices", -1)),
|
|
9219
|
-
e("span", w4, R(
|
|
9219
|
+
e("span", w4, R(h.value.active_sessions), 1)
|
|
9220
9220
|
]),
|
|
9221
|
-
|
|
9221
|
+
h.value.unique_locations && h.value.unique_locations.length > 0 ? (a(), o("div", b4, [
|
|
9222
9222
|
te[5] || (te[5] = e("span", { class: "stat-label" }, "Locations", -1)),
|
|
9223
|
-
e("span", x4, R(
|
|
9223
|
+
e("span", x4, R(h.value.unique_locations.length), 1)
|
|
9224
9224
|
])) : I("", !0)
|
|
9225
9225
|
])) : I("", !0),
|
|
9226
9226
|
e("div", M4, [
|
|
@@ -9262,13 +9262,13 @@ const ai = {
|
|
|
9262
9262
|
]),
|
|
9263
9263
|
e("div", H4, [
|
|
9264
9264
|
e("span", U4, [
|
|
9265
|
-
d(
|
|
9265
|
+
d(g, { size: 14 })
|
|
9266
9266
|
]),
|
|
9267
9267
|
e("span", D4, R(ue.ip_address), 1)
|
|
9268
9268
|
]),
|
|
9269
9269
|
e("div", N4, [
|
|
9270
9270
|
e("span", B4, [
|
|
9271
|
-
d(
|
|
9271
|
+
d(M, { size: 14 })
|
|
9272
9272
|
]),
|
|
9273
9273
|
e("span", P4, " Last active " + R(Z(ue.last_activity_at || ue.created_at)), 1)
|
|
9274
9274
|
]),
|
|
@@ -9391,7 +9391,7 @@ const ai = {
|
|
|
9391
9391
|
oe("circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
9392
9392
|
]);
|
|
9393
9393
|
}
|
|
9394
|
-
}, V = s, y = r, { getSupportEmail: k, getUrl: u } = pt(V.config), { fetchProfile:
|
|
9394
|
+
}, V = s, y = r, { getSupportEmail: k, getUrl: u } = pt(V.config), { fetchProfile: g, updateProfile: M, changeEmail: A, changeUsername: c, getUsernameCooldown: h, checkUsernameAvailability: E, getUserSessions: D, currentUser: C, currentSession: N, isAuthenticated: p, refreshToken: L, signOut: O } = ft(), { activeMfaDevices: S, fetchMfaDevices: w } = Tt(), q = $(null), Z = $(!1), b = U(() => C.value || V.user || q.value), T = $(!1), te = $(!1), ue = $(!1), ye = $(!1), Me = $(!1), Ae = $(!1), Se = $(!1), xe = $(!1), ne = $(!1), j = $(!1), K = $(!1), ie = $(null), ae = $(""), W = $(""), le = $([]), _e = $(!1), Te = Ye({
|
|
9395
9395
|
canChange: !0,
|
|
9396
9396
|
cooldownEnd: null,
|
|
9397
9397
|
daysRemaining: 0
|
|
@@ -9399,7 +9399,7 @@ const ai = {
|
|
|
9399
9399
|
available: !1,
|
|
9400
9400
|
message: "",
|
|
9401
9401
|
checking: !1
|
|
9402
|
-
}), $e =
|
|
9402
|
+
}), $e = $(), re = Ye({
|
|
9403
9403
|
firstName: "",
|
|
9404
9404
|
lastName: "",
|
|
9405
9405
|
email: ""
|
|
@@ -9423,13 +9423,13 @@ const ai = {
|
|
|
9423
9423
|
firstName: "",
|
|
9424
9424
|
lastName: "",
|
|
9425
9425
|
email: ""
|
|
9426
|
-
}), X =
|
|
9426
|
+
}), X = U(() => {
|
|
9427
9427
|
const J = b.value;
|
|
9428
9428
|
return J ? re.firstName !== (J.firstName || "") || re.lastName !== (J.lastName || "") : !1;
|
|
9429
|
-
}), fe =
|
|
9429
|
+
}), fe = U(() => Ie.current && Ie.new && Ie.confirm && Ie.new === Ie.confirm && Ie.new.length >= 8), pe = U(() => ve.newEmail && ve.password && ve.newEmail !== b.value?.email && ve.newEmail.includes("@")), He = U(() => {
|
|
9430
9430
|
const J = /^[a-zA-Z0-9_-]{3,30}$/;
|
|
9431
9431
|
return G.username && J.test(G.username) && G.username !== b.value?.username && !Ee.checking;
|
|
9432
|
-
}), Ne =
|
|
9432
|
+
}), Ne = U(() => {
|
|
9433
9433
|
const J = b.value;
|
|
9434
9434
|
if (!J) return "Never";
|
|
9435
9435
|
const P = J.passwordUpdatedAt || J.createdAt;
|
|
@@ -9444,7 +9444,7 @@ const ai = {
|
|
|
9444
9444
|
}
|
|
9445
9445
|
const ct = Math.floor(tt / 365);
|
|
9446
9446
|
return ct === 1 ? "1 year ago" : `${ct} years ago`;
|
|
9447
|
-
}), Fe =
|
|
9447
|
+
}), Fe = U(() => {
|
|
9448
9448
|
const J = S.value || [], P = {
|
|
9449
9449
|
totp: 0,
|
|
9450
9450
|
email: 0,
|
|
@@ -9454,7 +9454,7 @@ const ai = {
|
|
|
9454
9454
|
return J.forEach((we) => {
|
|
9455
9455
|
we.device_type in P && P[we.device_type]++;
|
|
9456
9456
|
}), P;
|
|
9457
|
-
}), gt =
|
|
9457
|
+
}), gt = U(() => {
|
|
9458
9458
|
const J = [], P = Fe.value;
|
|
9459
9459
|
if (P.totp > 0 && J.push({
|
|
9460
9460
|
type: "totp",
|
|
@@ -9492,14 +9492,14 @@ const ai = {
|
|
|
9492
9492
|
if (J < we || (P++, P > 1e3)) break;
|
|
9493
9493
|
}
|
|
9494
9494
|
return P;
|
|
9495
|
-
}, at =
|
|
9495
|
+
}, at = U(() => Ut(b.value?.xp || 0)), ea = U(() => {
|
|
9496
9496
|
const J = at.value, P = Pe(J);
|
|
9497
9497
|
return (b.value?.xp || 0) - P;
|
|
9498
|
-
}), et =
|
|
9498
|
+
}), et = U(() => {
|
|
9499
9499
|
const J = at.value, P = Pe(J);
|
|
9500
9500
|
return Pe(J + 1) - P;
|
|
9501
|
-
}), ta =
|
|
9502
|
-
|
|
9501
|
+
}), ta = U(() => Math.round(ea.value / et.value * 100)), Dt = U(() => 2 * Math.PI * 54), aa = U(() => ta.value / 100 * Dt.value);
|
|
9502
|
+
U(() => {
|
|
9503
9503
|
const J = Dt.value * 5 / 360;
|
|
9504
9504
|
return Dt.value - aa.value - J;
|
|
9505
9505
|
});
|
|
@@ -9507,7 +9507,7 @@ const ai = {
|
|
|
9507
9507
|
if (!(!V.autoFetch || V.user || !p.value)) {
|
|
9508
9508
|
Z.value = !0;
|
|
9509
9509
|
try {
|
|
9510
|
-
await
|
|
9510
|
+
await g(), p.value && await w();
|
|
9511
9511
|
} catch (J) {
|
|
9512
9512
|
console.error("Failed to load profile:", J);
|
|
9513
9513
|
const P = J instanceof Error ? J.message : "Failed to load profile";
|
|
@@ -9520,7 +9520,7 @@ const ai = {
|
|
|
9520
9520
|
if (p.value) {
|
|
9521
9521
|
_e.value = !0;
|
|
9522
9522
|
try {
|
|
9523
|
-
const J = await
|
|
9523
|
+
const J = await D();
|
|
9524
9524
|
le.value = J || [];
|
|
9525
9525
|
} catch (J) {
|
|
9526
9526
|
console.warn("Failed to load sessions (non-critical):", J);
|
|
@@ -9549,7 +9549,7 @@ const ai = {
|
|
|
9549
9549
|
}, zt = async () => {
|
|
9550
9550
|
it(), T.value = !0;
|
|
9551
9551
|
try {
|
|
9552
|
-
const J = await
|
|
9552
|
+
const J = await M({
|
|
9553
9553
|
firstName: re.firstName,
|
|
9554
9554
|
lastName: re.lastName
|
|
9555
9555
|
});
|
|
@@ -9592,7 +9592,7 @@ const ai = {
|
|
|
9592
9592
|
else {
|
|
9593
9593
|
xe.value = !0;
|
|
9594
9594
|
try {
|
|
9595
|
-
const J = await
|
|
9595
|
+
const J = await h();
|
|
9596
9596
|
Te.canChange = J.can_change, Te.cooldownEnd = J.cooldown_end ? new Date(J.cooldown_end) : null, Te.daysRemaining = J.days_remaining || 0, Te.canChange ? (Se.value = !0, G.username = b.value?.username || "") : W.value = `You can change your username again in ${Te.daysRemaining} days`;
|
|
9597
9597
|
} catch (J) {
|
|
9598
9598
|
console.error("Failed to check username cooldown:", J), W.value = "Failed to check username cooldown", Se.value = !0;
|
|
@@ -9608,7 +9608,7 @@ const ai = {
|
|
|
9608
9608
|
}
|
|
9609
9609
|
Ee.checking = !0, Ee.message = "Checking availability...";
|
|
9610
9610
|
try {
|
|
9611
|
-
const P = await
|
|
9611
|
+
const P = await E(G.username);
|
|
9612
9612
|
if (Ee.available = P.available, Ee.message = P.message, !P.available) {
|
|
9613
9613
|
G.errors.username = "Username is not available";
|
|
9614
9614
|
return;
|
|
@@ -9683,7 +9683,7 @@ const ai = {
|
|
|
9683
9683
|
const bt = await ct.json();
|
|
9684
9684
|
C.value && (C.value.avatar = bt.avatar_url, typeof window < "u" && localStorage.setItem("strands_auth_user", JSON.stringify(C.value))), q.value && (q.value.avatar = bt.avatar_url);
|
|
9685
9685
|
try {
|
|
9686
|
-
await
|
|
9686
|
+
await g();
|
|
9687
9687
|
} catch {
|
|
9688
9688
|
}
|
|
9689
9689
|
ae.value = "Avatar updated successfully", b.value && y("profile-updated", b.value);
|
|
@@ -9700,7 +9700,7 @@ const ai = {
|
|
|
9700
9700
|
const Pt = await wt.json();
|
|
9701
9701
|
C.value && (C.value.avatar = Pt.avatar_url, typeof window < "u" && localStorage.setItem("strands_auth_user", JSON.stringify(C.value))), q.value && (q.value.avatar = Pt.avatar_url);
|
|
9702
9702
|
try {
|
|
9703
|
-
await
|
|
9703
|
+
await g();
|
|
9704
9704
|
} catch {
|
|
9705
9705
|
}
|
|
9706
9706
|
ae.value = "Avatar updated successfully", b.value && y("profile-updated", b.value);
|
|
@@ -9713,7 +9713,7 @@ const ai = {
|
|
|
9713
9713
|
}
|
|
9714
9714
|
}, ua = async () => {
|
|
9715
9715
|
try {
|
|
9716
|
-
await
|
|
9716
|
+
await g(), await w(), ae.value = "MFA settings updated successfully", y("mfa-toggle", b.value?.mfaEnabled || !1);
|
|
9717
9717
|
} catch (J) {
|
|
9718
9718
|
console.warn("Failed to refresh profile after MFA update:", J);
|
|
9719
9719
|
}
|
|
@@ -9737,7 +9737,7 @@ const ai = {
|
|
|
9737
9737
|
return We(async () => {
|
|
9738
9738
|
if (b.value && p.value)
|
|
9739
9739
|
try {
|
|
9740
|
-
const J = await
|
|
9740
|
+
const J = await h();
|
|
9741
9741
|
Te.canChange = J.can_change, Te.cooldownEnd = J.cooldown_end ? new Date(J.cooldown_end) : null, Te.daysRemaining = J.days_remaining || 0;
|
|
9742
9742
|
} catch (J) {
|
|
9743
9743
|
console.warn("Failed to fetch username cooldown:", J);
|
|
@@ -10244,19 +10244,19 @@ const ai = {
|
|
|
10244
10244
|
},
|
|
10245
10245
|
emits: ["success", "error", "back-to-signin"],
|
|
10246
10246
|
setup(s, { emit: r }) {
|
|
10247
|
-
const t = s, l = r, { getSupportEmail: z } = pt(t.config), V =
|
|
10247
|
+
const t = s, l = r, { getSupportEmail: z } = pt(t.config), V = $(!1), y = $(""), k = $(!1), u = Ye({
|
|
10248
10248
|
email: ""
|
|
10249
|
-
}),
|
|
10249
|
+
}), g = async () => {
|
|
10250
10250
|
V.value = !0, y.value = "";
|
|
10251
10251
|
try {
|
|
10252
|
-
await new Promise((
|
|
10252
|
+
await new Promise((M) => setTimeout(M, 1e3)), k.value = !0, l("success", u.email);
|
|
10253
10253
|
} catch {
|
|
10254
10254
|
y.value = "Failed to send password reset email. Please try again.", l("error", y.value);
|
|
10255
10255
|
} finally {
|
|
10256
10256
|
V.value = !1;
|
|
10257
10257
|
}
|
|
10258
10258
|
};
|
|
10259
|
-
return (
|
|
10259
|
+
return (M, A) => (a(), o("div", Z0, [
|
|
10260
10260
|
e("div", K0, [
|
|
10261
10261
|
d(n(_t), {
|
|
10262
10262
|
variant: "modern",
|
|
@@ -10268,7 +10268,7 @@ const ai = {
|
|
|
10268
10268
|
e("p", { class: "accui-text-neutral-600" }, "Enter your email address and we'll send you a link to reset your password")
|
|
10269
10269
|
], -1)),
|
|
10270
10270
|
e("form", {
|
|
10271
|
-
onSubmit: Be(
|
|
10271
|
+
onSubmit: Be(g, ["prevent"]),
|
|
10272
10272
|
class: "accui-space-y-6"
|
|
10273
10273
|
}, [
|
|
10274
10274
|
d(n(Ze), {
|
|
@@ -10313,7 +10313,7 @@ const ai = {
|
|
|
10313
10313
|
}, null, 8, ["message"])) : I("", !0),
|
|
10314
10314
|
e("div", G0, [
|
|
10315
10315
|
d(n(mt), {
|
|
10316
|
-
onClick: A[2] || (A[2] = (c) =>
|
|
10316
|
+
onClick: A[2] || (A[2] = (c) => M.$emit("back-to-signin")),
|
|
10317
10317
|
class: "accui-inline-flex accui-items-center accui-gap-2"
|
|
10318
10318
|
}, {
|
|
10319
10319
|
default: x(() => [...A[3] || (A[3] = [
|
|
@@ -10376,44 +10376,52 @@ const ai = {
|
|
|
10376
10376
|
},
|
|
10377
10377
|
emits: ["sign-in-required"],
|
|
10378
10378
|
setup(s, { emit: r }) {
|
|
10379
|
-
const t = r, { isAuthenticated: l, isInitializing: z, user: V, signOut: y, initialize: k, isInitialized: u } = ft(),
|
|
10380
|
-
|
|
10381
|
-
console.log("[SignedIn] onMounted
|
|
10382
|
-
})
|
|
10383
|
-
|
|
10384
|
-
|
|
10385
|
-
|
|
10379
|
+
const t = r, { isAuthenticated: l, isInitializing: z, user: V, signOut: y, initialize: k, isInitialized: u } = ft(), g = $(!1);
|
|
10380
|
+
We(async () => {
|
|
10381
|
+
console.log("[SignedIn] onMounted - starting initialization"), g.value = !0, await k(), console.log("[SignedIn] onMounted - initialization complete, isAuthenticated:", l.value);
|
|
10382
|
+
});
|
|
10383
|
+
const M = U(() => !!(!g.value || z.value || !u.value)), A = U(() => {
|
|
10384
|
+
const E = !M.value && l.value;
|
|
10385
|
+
return console.log("[SignedIn] isSignedIn computed:", E, "(isLoading:", M.value, "isAuthenticated:", l.value, ")"), E;
|
|
10386
|
+
}), c = U(() => {
|
|
10387
|
+
const E = !M.value && !l.value;
|
|
10388
|
+
return console.log("[SignedIn] isSignedOut computed:", E), E;
|
|
10389
|
+
}), h = () => {
|
|
10386
10390
|
t("sign-in-required");
|
|
10387
10391
|
};
|
|
10388
|
-
return (
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10393
|
-
|
|
10394
|
-
|
|
10395
|
-
|
|
10396
|
-
|
|
10397
|
-
|
|
10398
|
-
|
|
10399
|
-
|
|
10400
|
-
e("
|
|
10401
|
-
|
|
10402
|
-
|
|
10403
|
-
|
|
10404
|
-
|
|
10405
|
-
|
|
10406
|
-
|
|
10407
|
-
|
|
10408
|
-
|
|
10409
|
-
|
|
10410
|
-
|
|
10411
|
-
|
|
10412
|
-
|
|
10413
|
-
|
|
10414
|
-
|
|
10392
|
+
return (E, D) => (a(), o(Ue, null, [
|
|
10393
|
+
A.value ? (a(), o("div", {
|
|
10394
|
+
key: 0,
|
|
10395
|
+
class: be(["animate-fade-in", s.inline ? "is_inline" : ""])
|
|
10396
|
+
}, [
|
|
10397
|
+
je(E.$slots, "default", {
|
|
10398
|
+
user: n(V),
|
|
10399
|
+
signOut: n(y)
|
|
10400
|
+
}, void 0, !0)
|
|
10401
|
+
], 2)) : I("", !0),
|
|
10402
|
+
c.value && s.showFallback ? (a(), o("div", X0, [
|
|
10403
|
+
je(E.$slots, "fallback", { signIn: h }, () => [
|
|
10404
|
+
e("div", { class: "signed-in-fallback" }, [
|
|
10405
|
+
D[0] || (D[0] = Jt('<div class="signed-in-icon-container" data-v-6fe20c32><svg class="signed-in-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-v-6fe20c32><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z" data-v-6fe20c32></path></svg></div><h3 class="signed-in-title" data-v-6fe20c32>Sign in required</h3><p class="signed-in-subtitle" data-v-6fe20c32>You need to be signed in to access this content.</p>', 3)),
|
|
10406
|
+
e("button", {
|
|
10407
|
+
onClick: h,
|
|
10408
|
+
class: "signed-in-button"
|
|
10409
|
+
}, " Sign in ")
|
|
10410
|
+
])
|
|
10411
|
+
], !0)
|
|
10412
|
+
])) : I("", !0),
|
|
10413
|
+
M.value ? (a(), o("div", J0, [
|
|
10414
|
+
je(E.$slots, "loading", {}, () => [
|
|
10415
|
+
d(n(ht), {
|
|
10416
|
+
size: 30,
|
|
10417
|
+
variant: "circle",
|
|
10418
|
+
"show-particles": !0
|
|
10419
|
+
})
|
|
10420
|
+
], !0)
|
|
10421
|
+
])) : I("", !0)
|
|
10422
|
+
], 64));
|
|
10415
10423
|
}
|
|
10416
|
-
}), tu = /* @__PURE__ */ De(eu, [["__scopeId", "data-v-
|
|
10424
|
+
}), tu = /* @__PURE__ */ De(eu, [["__scopeId", "data-v-6fe20c32"]]), Nc = /* @__PURE__ */ Ve({
|
|
10417
10425
|
__name: "StrandsConfigProvider",
|
|
10418
10426
|
props: {
|
|
10419
10427
|
config: {}
|
|
@@ -10441,7 +10449,7 @@ const ai = {
|
|
|
10441
10449
|
md: "w-5 h-5",
|
|
10442
10450
|
lg: "w-6 h-6",
|
|
10443
10451
|
xl: "w-8 h-8"
|
|
10444
|
-
}, l =
|
|
10452
|
+
}, l = U(() => `${t[r.size]} ${r.class}`), z = U(() => "0 0 24 24"), V = {
|
|
10445
10453
|
eye: () => oe("g", [
|
|
10446
10454
|
oe("path", {
|
|
10447
10455
|
"stroke-linecap": "round",
|
|
@@ -10536,7 +10544,7 @@ const ai = {
|
|
|
10536
10544
|
d: "M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z",
|
|
10537
10545
|
"clip-rule": "evenodd"
|
|
10538
10546
|
})
|
|
10539
|
-
}, y =
|
|
10547
|
+
}, y = U(() => {
|
|
10540
10548
|
const k = V[r.name];
|
|
10541
10549
|
return k ? k() : oe("path", { d: "" });
|
|
10542
10550
|
});
|
|
@@ -10600,8 +10608,8 @@ const ai = {
|
|
|
10600
10608
|
},
|
|
10601
10609
|
emits: ["profile-updated", "signed-out", "signed-in"],
|
|
10602
10610
|
setup(s, { emit: r }) {
|
|
10603
|
-
const t = s, l = r, { currentUser: z, signOut: V, isAuthenticated: y } = ft(), k =
|
|
10604
|
-
trigger:
|
|
10611
|
+
const t = s, l = r, { currentUser: z, signOut: V, isAuthenticated: y } = ft(), k = $(!1), u = $(!1), g = $(!1), M = $(), A = $(), c = $(), h = U(() => A.value), { floatingStyle: E, updatePosition: D } = Oa({
|
|
10612
|
+
trigger: h,
|
|
10605
10613
|
floating: c,
|
|
10606
10614
|
placement: "bottom-end",
|
|
10607
10615
|
offset: 8,
|
|
@@ -10612,7 +10620,7 @@ const ai = {
|
|
|
10612
10620
|
enabled: !0,
|
|
10613
10621
|
handler: () => w()
|
|
10614
10622
|
}
|
|
10615
|
-
}), C =
|
|
10623
|
+
}), C = U(() => {
|
|
10616
10624
|
if (t.variant === "mini-profile")
|
|
10617
10625
|
switch (t.size) {
|
|
10618
10626
|
case "sm":
|
|
@@ -10634,7 +10642,7 @@ const ai = {
|
|
|
10634
10642
|
default:
|
|
10635
10643
|
return 32;
|
|
10636
10644
|
}
|
|
10637
|
-
}), N =
|
|
10645
|
+
}), N = U(() => {
|
|
10638
10646
|
switch (t.size) {
|
|
10639
10647
|
case "sm":
|
|
10640
10648
|
return 48;
|
|
@@ -10645,9 +10653,9 @@ const ai = {
|
|
|
10645
10653
|
default:
|
|
10646
10654
|
return 64;
|
|
10647
10655
|
}
|
|
10648
|
-
}), p =
|
|
10656
|
+
}), p = U(() => t.user ? t.user : y.value ? z.value : null), L = U(() => p.value ? p.value.username ? p.value.username : p.value.firstName && p.value.lastName ? `${p.value.firstName} ${p.value.lastName}` : p.value.firstName ? p.value.firstName : p.value.email || "User" : "User"), O = () => {
|
|
10649
10657
|
k.value = !k.value, k.value && yt(() => {
|
|
10650
|
-
|
|
10658
|
+
D();
|
|
10651
10659
|
});
|
|
10652
10660
|
}, S = () => {
|
|
10653
10661
|
k.value = !0;
|
|
@@ -10664,9 +10672,9 @@ const ai = {
|
|
|
10664
10672
|
l("profile-updated");
|
|
10665
10673
|
}, ye = () => {
|
|
10666
10674
|
}, Me = () => {
|
|
10667
|
-
|
|
10675
|
+
g.value = !0;
|
|
10668
10676
|
}, Ae = () => {
|
|
10669
|
-
|
|
10677
|
+
g.value = !1, l("signed-in");
|
|
10670
10678
|
}, Se = () => {
|
|
10671
10679
|
}, xe = async () => {
|
|
10672
10680
|
try {
|
|
@@ -10677,7 +10685,7 @@ const ai = {
|
|
|
10677
10685
|
return (ne, j) => (a(), o("div", {
|
|
10678
10686
|
class: "accui-component-scope",
|
|
10679
10687
|
ref_key: "containerRef",
|
|
10680
|
-
ref:
|
|
10688
|
+
ref: M
|
|
10681
10689
|
}, [
|
|
10682
10690
|
t.user ? (a(), o(Ue, { key: 0 }, [
|
|
10683
10691
|
s.variant === "mini-profile" ? (a(), o("div", {
|
|
@@ -10818,7 +10826,7 @@ const ai = {
|
|
|
10818
10826
|
ref_key: "dropdownRef",
|
|
10819
10827
|
ref: c,
|
|
10820
10828
|
class: "strands-user-dropdown",
|
|
10821
|
-
style: Oe(n(
|
|
10829
|
+
style: Oe(n(E)),
|
|
10822
10830
|
role: "menu",
|
|
10823
10831
|
"aria-orientation": "vertical",
|
|
10824
10832
|
onKeydown: [
|
|
@@ -10936,8 +10944,8 @@ const ai = {
|
|
|
10936
10944
|
_: 1
|
|
10937
10945
|
}),
|
|
10938
10946
|
d(n(ut), {
|
|
10939
|
-
modelValue:
|
|
10940
|
-
"onUpdate:modelValue": j[2] || (j[2] = (K) =>
|
|
10947
|
+
modelValue: g.value,
|
|
10948
|
+
"onUpdate:modelValue": j[2] || (j[2] = (K) => g.value = K)
|
|
10941
10949
|
}, {
|
|
10942
10950
|
default: x(() => [
|
|
10943
10951
|
e("div", Ru, [
|
|
@@ -11097,7 +11105,7 @@ const ai = {
|
|
|
11097
11105
|
ref_key: "dropdownRef",
|
|
11098
11106
|
ref: c,
|
|
11099
11107
|
class: "strands-user-dropdown",
|
|
11100
|
-
style: Oe(n(
|
|
11108
|
+
style: Oe(n(E)),
|
|
11101
11109
|
role: "menu",
|
|
11102
11110
|
"aria-orientation": "vertical",
|
|
11103
11111
|
onKeydown: [
|
|
@@ -11207,10 +11215,10 @@ const ai = {
|
|
|
11207
11215
|
});
|
|
11208
11216
|
Xt("userNavState", z);
|
|
11209
11217
|
const V = (k) => {
|
|
11210
|
-
const u = z.items.findIndex((
|
|
11218
|
+
const u = z.items.findIndex((g) => g.id === k.id);
|
|
11211
11219
|
u >= 0 ? z.items[u] = k : z.items.push(k);
|
|
11212
11220
|
}, y = (k) => {
|
|
11213
|
-
const u = z.items.findIndex((
|
|
11221
|
+
const u = z.items.findIndex((g) => g.id === k);
|
|
11214
11222
|
u >= 0 && z.items.splice(u, 1);
|
|
11215
11223
|
};
|
|
11216
11224
|
return Xt("registerNavItem", V), Xt("unregisterNavItem", y), r({
|
|
@@ -11255,36 +11263,36 @@ const ai = {
|
|
|
11255
11263
|
align: {}
|
|
11256
11264
|
},
|
|
11257
11265
|
setup(s) {
|
|
11258
|
-
const r = s, t = ga(), l = ma("registerNavItem"), z = ma("unregisterNavItem"), V =
|
|
11266
|
+
const r = s, t = ga(), l = ma("registerNavItem"), z = ma("unregisterNavItem"), V = $(`nav-item-${Math.random().toString(36).substring(2, 11)}`), y = os(), k = U(() => {
|
|
11259
11267
|
if (typeof window < "u" && y) {
|
|
11260
|
-
const
|
|
11261
|
-
if (
|
|
11262
|
-
return
|
|
11268
|
+
const h = y.vnode.el?.parentElement;
|
|
11269
|
+
if (h)
|
|
11270
|
+
return h.closest('[role="menu"]') !== null;
|
|
11263
11271
|
}
|
|
11264
11272
|
return !1;
|
|
11265
11273
|
}), u = () => {
|
|
11266
11274
|
try {
|
|
11267
|
-
const
|
|
11268
|
-
return
|
|
11269
|
-
(
|
|
11275
|
+
const h = t.default?.();
|
|
11276
|
+
return h ? h.map((E) => typeof E.children == "string" ? E.children : E.children && Array.isArray(E.children) ? E.children.map(
|
|
11277
|
+
(D) => typeof D == "string" ? D : ""
|
|
11270
11278
|
).join("") : "").join("").trim() : "";
|
|
11271
11279
|
} catch {
|
|
11272
11280
|
return "";
|
|
11273
11281
|
}
|
|
11274
|
-
},
|
|
11282
|
+
}, g = () => r.type === "button" ? "" : [
|
|
11275
11283
|
"strands-nav-item",
|
|
11276
11284
|
`strands-nav-item--color-${r.color}`,
|
|
11277
11285
|
{ "strands-nav-item--disabled": r.disabled }
|
|
11278
|
-
],
|
|
11286
|
+
], M = () => {
|
|
11279
11287
|
r.disabled;
|
|
11280
|
-
}, A = (
|
|
11281
|
-
const
|
|
11288
|
+
}, A = (h) => {
|
|
11289
|
+
const E = {
|
|
11282
11290
|
dashboard: "M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6",
|
|
11283
11291
|
settings: "M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z M15 12a3 3 0 11-6 0 3 3 0 016 0z",
|
|
11284
11292
|
help: "M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
11285
11293
|
};
|
|
11286
|
-
return
|
|
11287
|
-
}, c =
|
|
11294
|
+
return E[h] || E.dashboard;
|
|
11295
|
+
}, c = U(() => ({
|
|
11288
11296
|
id: V.value,
|
|
11289
11297
|
label: u(),
|
|
11290
11298
|
to: r.to,
|
|
@@ -11299,10 +11307,10 @@ const ai = {
|
|
|
11299
11307
|
z && z(V.value);
|
|
11300
11308
|
}), Le(() => [r.to, r.icon, r.disabled], () => {
|
|
11301
11309
|
l && l(c.value);
|
|
11302
|
-
}, { deep: !0 }), (
|
|
11310
|
+
}, { deep: !0 }), (h, E) => (a(), Ce(n(ce), {
|
|
11303
11311
|
to: r.to,
|
|
11304
|
-
onClick:
|
|
11305
|
-
class: be(
|
|
11312
|
+
onClick: M,
|
|
11313
|
+
class: be(g()),
|
|
11306
11314
|
variant: r.variant,
|
|
11307
11315
|
color: r.color,
|
|
11308
11316
|
size: r.size,
|
|
@@ -11321,7 +11329,7 @@ const ai = {
|
|
|
11321
11329
|
d: A(r.icon)
|
|
11322
11330
|
}, null, 8, Wu)
|
|
11323
11331
|
])) : I("", !0),
|
|
11324
|
-
je(
|
|
11332
|
+
je(h.$slots, "default")
|
|
11325
11333
|
]),
|
|
11326
11334
|
_: 2
|
|
11327
11335
|
}, [
|
|
@@ -11353,65 +11361,65 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11353
11361
|
overscan: { default: 5 }
|
|
11354
11362
|
},
|
|
11355
11363
|
setup(s, { expose: r }) {
|
|
11356
|
-
const t = s, l =
|
|
11357
|
-
const c = Math.floor(z.value / t.itemHeight),
|
|
11364
|
+
const t = s, l = $(), z = $(0), V = U(() => {
|
|
11365
|
+
const c = Math.floor(z.value / t.itemHeight), h = Math.min(
|
|
11358
11366
|
c + Math.ceil(t.containerHeight / t.itemHeight),
|
|
11359
11367
|
t.items.length - 1
|
|
11360
11368
|
);
|
|
11361
11369
|
return {
|
|
11362
11370
|
start: Math.max(0, c - t.overscan),
|
|
11363
|
-
end: Math.min(t.items.length - 1,
|
|
11371
|
+
end: Math.min(t.items.length - 1, h + t.overscan)
|
|
11364
11372
|
};
|
|
11365
|
-
}), y =
|
|
11366
|
-
const { start: c, end:
|
|
11367
|
-
for (let
|
|
11368
|
-
|
|
11369
|
-
index:
|
|
11370
|
-
data: t.items[
|
|
11371
|
-
top:
|
|
11373
|
+
}), y = U(() => {
|
|
11374
|
+
const { start: c, end: h } = V.value, E = [];
|
|
11375
|
+
for (let D = c; D <= h; D++)
|
|
11376
|
+
E.push({
|
|
11377
|
+
index: D,
|
|
11378
|
+
data: t.items[D],
|
|
11379
|
+
top: D * t.itemHeight
|
|
11372
11380
|
});
|
|
11373
|
-
return
|
|
11374
|
-
}), k =
|
|
11375
|
-
let
|
|
11376
|
-
const
|
|
11377
|
-
|
|
11378
|
-
const
|
|
11379
|
-
z.value =
|
|
11381
|
+
return E;
|
|
11382
|
+
}), k = U(() => t.items.length * t.itemHeight), u = (c) => typeof t.itemKey == "function" ? t.itemKey(c) : c[t.itemKey] || c.id || Math.random();
|
|
11383
|
+
let g = null;
|
|
11384
|
+
const M = (c) => {
|
|
11385
|
+
g && clearTimeout(g), g = setTimeout(() => {
|
|
11386
|
+
const h = c.target;
|
|
11387
|
+
z.value = h.scrollTop;
|
|
11380
11388
|
}, 16);
|
|
11381
11389
|
};
|
|
11382
11390
|
return xt(() => {
|
|
11383
|
-
|
|
11391
|
+
g && clearTimeout(g);
|
|
11384
11392
|
}), r({
|
|
11385
|
-
scrollToItem: (c,
|
|
11393
|
+
scrollToItem: (c, h = "start") => {
|
|
11386
11394
|
if (!l.value) return;
|
|
11387
|
-
let
|
|
11388
|
-
|
|
11395
|
+
let E = c * t.itemHeight;
|
|
11396
|
+
h === "center" ? E -= t.containerHeight / 2 - t.itemHeight / 2 : h === "end" && (E -= t.containerHeight - t.itemHeight), l.value.scrollTop = Math.max(0, E);
|
|
11389
11397
|
}
|
|
11390
|
-
}), (c,
|
|
11398
|
+
}), (c, h) => (a(), o("div", {
|
|
11391
11399
|
ref_key: "scrollContainer",
|
|
11392
11400
|
ref: l,
|
|
11393
11401
|
style: Oe({ height: s.containerHeight + "px", overflowY: "auto" }),
|
|
11394
|
-
onScroll:
|
|
11402
|
+
onScroll: M,
|
|
11395
11403
|
class: "accui-virtual-list"
|
|
11396
11404
|
}, [
|
|
11397
11405
|
e("div", {
|
|
11398
11406
|
style: Oe({ height: k.value + "px", position: "relative" })
|
|
11399
11407
|
}, [
|
|
11400
|
-
(a(!0), o(Ue, null, Ke(y.value, (
|
|
11401
|
-
key: u(
|
|
11408
|
+
(a(!0), o(Ue, null, Ke(y.value, (E) => (a(), o("div", {
|
|
11409
|
+
key: u(E.data),
|
|
11402
11410
|
style: Oe({
|
|
11403
11411
|
position: "absolute",
|
|
11404
|
-
top:
|
|
11412
|
+
top: E.top + "px",
|
|
11405
11413
|
left: 0,
|
|
11406
11414
|
right: 0,
|
|
11407
11415
|
height: s.itemHeight + "px"
|
|
11408
11416
|
})
|
|
11409
11417
|
}, [
|
|
11410
11418
|
je(c.$slots, "default", {
|
|
11411
|
-
item:
|
|
11412
|
-
index:
|
|
11419
|
+
item: E.data,
|
|
11420
|
+
index: E.index
|
|
11413
11421
|
}, () => [
|
|
11414
|
-
e("div", Xu, R(JSON.stringify(
|
|
11422
|
+
e("div", Xu, R(JSON.stringify(E.data)), 1)
|
|
11415
11423
|
], !0)
|
|
11416
11424
|
], 4))), 128))
|
|
11417
11425
|
], 4)
|
|
@@ -11514,15 +11522,15 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11514
11522
|
}
|
|
11515
11523
|
}, y = s, k = r, {
|
|
11516
11524
|
mfaEnabled: u,
|
|
11517
|
-
loading:
|
|
11518
|
-
activeMfaDevices:
|
|
11525
|
+
loading: g,
|
|
11526
|
+
activeMfaDevices: M,
|
|
11519
11527
|
fetchMfaDevices: A
|
|
11520
|
-
} = Tt(), c =
|
|
11528
|
+
} = Tt(), c = U({
|
|
11521
11529
|
get: () => y.show,
|
|
11522
11530
|
set: (q) => {
|
|
11523
11531
|
q || k("close");
|
|
11524
11532
|
}
|
|
11525
|
-
}),
|
|
11533
|
+
}), h = $(!1), E = $(!1), D = $(!1), C = $(!1);
|
|
11526
11534
|
Le(() => y.show, async (q) => {
|
|
11527
11535
|
q && await A();
|
|
11528
11536
|
}), We(async () => {
|
|
@@ -11531,13 +11539,13 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11531
11539
|
const N = () => {
|
|
11532
11540
|
k("close");
|
|
11533
11541
|
}, p = () => {
|
|
11534
|
-
|
|
11542
|
+
h.value = !0;
|
|
11535
11543
|
}, L = () => {
|
|
11536
|
-
|
|
11544
|
+
E.value = !0;
|
|
11537
11545
|
}, O = () => {
|
|
11538
11546
|
C.value = !0;
|
|
11539
11547
|
}, S = async () => {
|
|
11540
|
-
|
|
11548
|
+
h.value = !1, E.value = !1, D.value = !1, await A(), k("success");
|
|
11541
11549
|
}, w = async () => {
|
|
11542
11550
|
await A();
|
|
11543
11551
|
};
|
|
@@ -11555,8 +11563,8 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11555
11563
|
], -1)),
|
|
11556
11564
|
e("div", ac, [
|
|
11557
11565
|
e("span", {
|
|
11558
|
-
class: be(["mfa-setup-status-badge", n(u) || n(
|
|
11559
|
-
}, R(n(u) || n(
|
|
11566
|
+
class: be(["mfa-setup-status-badge", n(u) || n(M).length > 0 ? "mfa-setup-status-enabled" : "mfa-setup-status-disabled"])
|
|
11567
|
+
}, R(n(u) || n(M).length > 0 ? "Enabled" : "Not Enabled"), 3)
|
|
11560
11568
|
])
|
|
11561
11569
|
])
|
|
11562
11570
|
]),
|
|
@@ -11565,7 +11573,7 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11565
11573
|
d(n(ce), {
|
|
11566
11574
|
variant: "secondary",
|
|
11567
11575
|
onClick: N,
|
|
11568
|
-
disabled: n(
|
|
11576
|
+
disabled: n(g)
|
|
11569
11577
|
}, {
|
|
11570
11578
|
default: x(() => [...Z[15] || (Z[15] = [
|
|
11571
11579
|
Q(" Cancel ", -1)
|
|
@@ -11576,11 +11584,11 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11576
11584
|
]),
|
|
11577
11585
|
default: x(() => [
|
|
11578
11586
|
e("div", sc, [
|
|
11579
|
-
n(
|
|
11587
|
+
n(g) ? (a(), o("div", oc, [
|
|
11580
11588
|
d(n(ht), { size: 32 }),
|
|
11581
11589
|
Z[6] || (Z[6] = e("span", { class: "mfa-setup-loading-text" }, "Loading MFA settings...", -1))
|
|
11582
11590
|
])) : (a(), o("div", lc, [
|
|
11583
|
-
n(u) || n(
|
|
11591
|
+
n(u) || n(M).length > 0 ? (a(), o("div", nc, [
|
|
11584
11592
|
e("div", ic, [
|
|
11585
11593
|
e("div", rc, [
|
|
11586
11594
|
d(z, {
|
|
@@ -11616,7 +11624,7 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11616
11624
|
variant: "primary",
|
|
11617
11625
|
size: "md",
|
|
11618
11626
|
onClick: Be(p, ["stop"]),
|
|
11619
|
-
disabled: n(
|
|
11627
|
+
disabled: n(g),
|
|
11620
11628
|
class: "mfa-setup-method-button"
|
|
11621
11629
|
}, {
|
|
11622
11630
|
default: x(() => [...Z[8] || (Z[8] = [
|
|
@@ -11645,7 +11653,7 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11645
11653
|
variant: "primary",
|
|
11646
11654
|
size: "md",
|
|
11647
11655
|
onClick: Be(L, ["stop"]),
|
|
11648
|
-
disabled: n(
|
|
11656
|
+
disabled: n(g),
|
|
11649
11657
|
class: "mfa-setup-method-button"
|
|
11650
11658
|
}, {
|
|
11651
11659
|
default: x(() => [...Z[10] || (Z[10] = [
|
|
@@ -11657,17 +11665,17 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11657
11665
|
])
|
|
11658
11666
|
])
|
|
11659
11667
|
]),
|
|
11660
|
-
n(
|
|
11668
|
+
n(M).length > 0 ? (a(), o("div", fc, [
|
|
11661
11669
|
e("div", mc, [
|
|
11662
11670
|
e("div", null, [
|
|
11663
11671
|
Z[13] || (Z[13] = e("h3", { class: "mfa-setup-manage-title" }, "Manage Existing Methods", -1)),
|
|
11664
|
-
e("p", hc, R(n(
|
|
11672
|
+
e("p", hc, R(n(M).length) + " device(s) currently active", 1)
|
|
11665
11673
|
]),
|
|
11666
11674
|
d(n(ce), {
|
|
11667
11675
|
variant: "secondary",
|
|
11668
11676
|
size: "md",
|
|
11669
11677
|
onClick: O,
|
|
11670
|
-
disabled: n(
|
|
11678
|
+
disabled: n(g)
|
|
11671
11679
|
}, {
|
|
11672
11680
|
default: x(() => [
|
|
11673
11681
|
d(V, {
|
|
@@ -11685,22 +11693,22 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11685
11693
|
]),
|
|
11686
11694
|
_: 1
|
|
11687
11695
|
}, 8, ["modelValue"]),
|
|
11688
|
-
|
|
11696
|
+
h.value ? (a(), Ce(Ga, {
|
|
11689
11697
|
key: 0,
|
|
11690
|
-
show:
|
|
11691
|
-
onClose: Z[1] || (Z[1] = (b) =>
|
|
11698
|
+
show: h.value,
|
|
11699
|
+
onClose: Z[1] || (Z[1] = (b) => h.value = !1),
|
|
11692
11700
|
onSuccess: S
|
|
11693
11701
|
}, null, 8, ["show"])) : I("", !0),
|
|
11694
|
-
|
|
11702
|
+
E.value ? (a(), Ce(Ya, {
|
|
11695
11703
|
key: 1,
|
|
11696
|
-
show:
|
|
11697
|
-
onClose: Z[2] || (Z[2] = (b) =>
|
|
11704
|
+
show: E.value,
|
|
11705
|
+
onClose: Z[2] || (Z[2] = (b) => E.value = !1),
|
|
11698
11706
|
onSuccess: S
|
|
11699
11707
|
}, null, 8, ["show"])) : I("", !0),
|
|
11700
|
-
|
|
11708
|
+
D.value ? (a(), Ce(Aa, {
|
|
11701
11709
|
key: 2,
|
|
11702
|
-
show:
|
|
11703
|
-
onClose: Z[3] || (Z[3] = (b) =>
|
|
11710
|
+
show: D.value,
|
|
11711
|
+
onClose: Z[3] || (Z[3] = (b) => D.value = !1),
|
|
11704
11712
|
onSuccess: S
|
|
11705
11713
|
}, null, 8, ["show"])) : I("", !0),
|
|
11706
11714
|
C.value ? (a(), Ce(Wa, {
|
|
@@ -11713,19 +11721,19 @@ const Xu = { class: "accui-p-2 accui-border-b" }, Ju = /* @__PURE__ */ Ve({
|
|
|
11713
11721
|
}
|
|
11714
11722
|
}), Rc = /* @__PURE__ */ De(Cc, [["__scopeId", "data-v-5e4af8e5"]]);
|
|
11715
11723
|
function Gt() {
|
|
11716
|
-
const { config: s } = pt(), { currentSession: r, refreshToken: t, getAuthHeaders: l } = ft(), z = async (
|
|
11724
|
+
const { config: s } = pt(), { currentSession: r, refreshToken: t, getAuthHeaders: l } = ft(), z = async (M, A = {}) => {
|
|
11717
11725
|
const {
|
|
11718
11726
|
autoRefresh: c = !0,
|
|
11719
|
-
requireAuth:
|
|
11720
|
-
baseURL:
|
|
11721
|
-
...
|
|
11727
|
+
requireAuth: h = !0,
|
|
11728
|
+
baseURL: E,
|
|
11729
|
+
...D
|
|
11722
11730
|
} = A;
|
|
11723
|
-
if (
|
|
11731
|
+
if (h && !r.value?.accessToken)
|
|
11724
11732
|
throw new Error("User is not authenticated");
|
|
11725
|
-
let C =
|
|
11726
|
-
const N =
|
|
11727
|
-
N && typeof
|
|
11728
|
-
const p = new Headers(
|
|
11733
|
+
let C = M;
|
|
11734
|
+
const N = E || s.value.baseUrl;
|
|
11735
|
+
N && typeof M == "string" && !M.startsWith("http") && (C = new URL(M, N).toString());
|
|
11736
|
+
const p = new Headers(D.headers);
|
|
11729
11737
|
if (r.value?.accessToken)
|
|
11730
11738
|
try {
|
|
11731
11739
|
const S = l();
|
|
@@ -11733,11 +11741,11 @@ function Gt() {
|
|
|
11733
11741
|
p.set(w, q);
|
|
11734
11742
|
});
|
|
11735
11743
|
} catch (S) {
|
|
11736
|
-
if (console.warn("[Strands Auth] Failed to get auth headers:", S),
|
|
11744
|
+
if (console.warn("[Strands Auth] Failed to get auth headers:", S), h)
|
|
11737
11745
|
throw S;
|
|
11738
11746
|
}
|
|
11739
11747
|
const L = {
|
|
11740
|
-
...
|
|
11748
|
+
...D,
|
|
11741
11749
|
headers: p
|
|
11742
11750
|
};
|
|
11743
11751
|
let O = await fetch(C, L);
|
|
@@ -11756,32 +11764,32 @@ function Gt() {
|
|
|
11756
11764
|
};
|
|
11757
11765
|
return {
|
|
11758
11766
|
authenticatedFetch: z,
|
|
11759
|
-
get: (
|
|
11760
|
-
post: (
|
|
11761
|
-
const
|
|
11762
|
-
return A && typeof A == "object" && !
|
|
11767
|
+
get: (M, A) => z(M, { ...A, method: "GET" }),
|
|
11768
|
+
post: (M, A, c) => {
|
|
11769
|
+
const h = new Headers(c?.headers);
|
|
11770
|
+
return A && typeof A == "object" && !h.has("Content-Type") && h.set("Content-Type", "application/json"), z(M, {
|
|
11763
11771
|
...c,
|
|
11764
11772
|
method: "POST",
|
|
11765
|
-
headers:
|
|
11773
|
+
headers: h,
|
|
11766
11774
|
body: typeof A == "object" ? JSON.stringify(A) : A
|
|
11767
11775
|
});
|
|
11768
11776
|
},
|
|
11769
|
-
put: (
|
|
11770
|
-
const
|
|
11771
|
-
return A && typeof A == "object" && !
|
|
11777
|
+
put: (M, A, c) => {
|
|
11778
|
+
const h = new Headers(c?.headers);
|
|
11779
|
+
return A && typeof A == "object" && !h.has("Content-Type") && h.set("Content-Type", "application/json"), z(M, {
|
|
11772
11780
|
...c,
|
|
11773
11781
|
method: "PUT",
|
|
11774
|
-
headers:
|
|
11782
|
+
headers: h,
|
|
11775
11783
|
body: typeof A == "object" ? JSON.stringify(A) : A
|
|
11776
11784
|
});
|
|
11777
11785
|
},
|
|
11778
|
-
delete: (
|
|
11779
|
-
patch: (
|
|
11780
|
-
const
|
|
11781
|
-
return A && typeof A == "object" && !
|
|
11786
|
+
delete: (M, A) => z(M, { ...A, method: "DELETE" }),
|
|
11787
|
+
patch: (M, A, c) => {
|
|
11788
|
+
const h = new Headers(c?.headers);
|
|
11789
|
+
return A && typeof A == "object" && !h.has("Content-Type") && h.set("Content-Type", "application/json"), z(M, {
|
|
11782
11790
|
...c,
|
|
11783
11791
|
method: "PATCH",
|
|
11784
|
-
headers:
|
|
11792
|
+
headers: h,
|
|
11785
11793
|
body: typeof A == "object" ? JSON.stringify(A) : A
|
|
11786
11794
|
});
|
|
11787
11795
|
}
|