@strands.gg/accui 2.17.14 → 2.17.16
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 +664 -670
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -23,18 +23,18 @@ const os = { class: "app-content" }, ls = {
|
|
|
23
23
|
"ui-app--dark": r.theme === "dark",
|
|
24
24
|
"ui-app--auto": r.theme === "auto",
|
|
25
25
|
"ui-app--loading": t.value
|
|
26
|
-
})),
|
|
27
|
-
},
|
|
26
|
+
})), z = (C) => {
|
|
27
|
+
}, V = H(() => r.theme);
|
|
28
28
|
return Yt("uiApp", {
|
|
29
|
-
theme:
|
|
29
|
+
theme: V,
|
|
30
30
|
isLoading: t
|
|
31
31
|
}), Yt("themeProvider", {
|
|
32
|
-
theme:
|
|
32
|
+
theme: V,
|
|
33
33
|
isForced: H(() => r.theme !== "auto")
|
|
34
34
|
}), Ye(() => {
|
|
35
|
-
document.addEventListener("keydown",
|
|
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
|
}), Mt(() => {
|
|
37
|
-
document.removeEventListener("keydown",
|
|
37
|
+
document.removeEventListener("keydown", z), document.body.classList.remove("ui-app-body"), document.body.classList.remove("ui-app-theme--light", "ui-app-theme--dark");
|
|
38
38
|
}), (C, w) => (a(), o("div", {
|
|
39
39
|
class: Me(["ui-app", l.value])
|
|
40
40
|
}, [
|
|
@@ -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,
|
|
139
|
+
const t = s, l = r, z = M(!1), V = H(() => t.modelValue !== void 0 ? !!t.modelValue : t.checked !== void 0 ? typeof t.checked == "string" ? t.checked === "" || t.checked === "true" : !!t.checked : z.value);
|
|
140
140
|
Le(() => t.checked, (x) => {
|
|
141
|
-
x !== void 0 && (typeof x == "string" ?
|
|
141
|
+
x !== void 0 && (typeof x == "string" ? z.value = x === "" || x === "true" : z.value = !!x);
|
|
142
142
|
}, { immediate: !0 });
|
|
143
143
|
const C = H(() => t.id || `ui-toggle-${Math.random().toString(36).substr(2, 9)}`), w = H(() => [
|
|
144
144
|
"ui-toggle",
|
|
145
145
|
{
|
|
146
|
-
"ui-toggle--on":
|
|
147
|
-
"ui-toggle--off": !
|
|
146
|
+
"ui-toggle--on": V.value,
|
|
147
|
+
"ui-toggle--off": !V.value,
|
|
148
148
|
"ui-toggle--disabled": t.disabled
|
|
149
149
|
}
|
|
150
150
|
]), c = H(() => [
|
|
151
151
|
{
|
|
152
|
-
"ui-toggle-thumb--on":
|
|
153
|
-
"ui-toggle-thumb--off": !
|
|
152
|
+
"ui-toggle-thumb--on": V.value,
|
|
153
|
+
"ui-toggle-thumb--off": !V.value
|
|
154
154
|
}
|
|
155
155
|
]), h = () => {
|
|
156
156
|
if (t.disabled) return;
|
|
157
|
-
const x = !
|
|
158
|
-
|
|
157
|
+
const x = !V.value;
|
|
158
|
+
z.value = x, l("update:modelValue", x), l("change", x);
|
|
159
159
|
};
|
|
160
|
-
return (x,
|
|
160
|
+
return (x, $) => (a(), o("div", ms, [
|
|
161
161
|
s.label ? (a(), o("label", {
|
|
162
162
|
key: 0,
|
|
163
163
|
for: C.value,
|
|
@@ -170,7 +170,7 @@ const Ha = kt("users", [
|
|
|
170
170
|
id: C.value,
|
|
171
171
|
type: "button",
|
|
172
172
|
class: Me(w.value),
|
|
173
|
-
"aria-pressed":
|
|
173
|
+
"aria-pressed": V.value,
|
|
174
174
|
"aria-labelledby": s.label ? `${C.value}-label` : void 0,
|
|
175
175
|
onClick: h
|
|
176
176
|
}, [
|
|
@@ -194,16 +194,16 @@ const Ha = kt("users", [
|
|
|
194
194
|
},
|
|
195
195
|
emits: ["upload", "error"],
|
|
196
196
|
setup(s, { emit: r }) {
|
|
197
|
-
const t = s, l = r,
|
|
197
|
+
const t = s, l = r, z = M(), V = M(), C = M(), w = M(""), c = M(), h = M(t.size), x = M(t.previewSize), $ = M(t.size / 2.5), u = Ge({ x: 0, y: 0 }), m = M(1), U = M(0.1), D = M(3), g = M(!1), N = M(!1), y = M(!1), L = Ge({ x: 0, y: 0, imageX: 0, imageY: 0 });
|
|
198
198
|
Ye(() => {
|
|
199
|
-
if (
|
|
200
|
-
const W =
|
|
199
|
+
if (V.value) {
|
|
200
|
+
const W = V.value.getContext("2d");
|
|
201
201
|
W && (W.fillStyle = "#f9fafb", W.fillRect(0, 0, h.value, h.value));
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
const F = () => {
|
|
205
|
-
|
|
206
|
-
},
|
|
205
|
+
z.value?.click();
|
|
206
|
+
}, S = (W) => {
|
|
207
207
|
const ie = W.target.files?.[0];
|
|
208
208
|
ie && O(ie);
|
|
209
209
|
}, k = (W) => {
|
|
@@ -230,8 +230,8 @@ const Ha = kt("users", [
|
|
|
230
230
|
Z.onload = () => {
|
|
231
231
|
c.value = Z, N.value = !0;
|
|
232
232
|
const ie = Math.max(
|
|
233
|
-
|
|
234
|
-
|
|
233
|
+
$.value * 2 / Z.width,
|
|
234
|
+
$.value * 2 / Z.height
|
|
235
235
|
), te = ie;
|
|
236
236
|
U.value = ie, D.value = Math.max(1, ie);
|
|
237
237
|
const Y = Z.width * te, le = Z.height * te;
|
|
@@ -242,20 +242,20 @@ const Ha = kt("users", [
|
|
|
242
242
|
});
|
|
243
243
|
}, Z.src = W;
|
|
244
244
|
}, b = () => {
|
|
245
|
-
if (!c.value || !
|
|
246
|
-
const W =
|
|
245
|
+
if (!c.value || !V.value) return;
|
|
246
|
+
const W = V.value.getContext("2d");
|
|
247
247
|
if (!W) return;
|
|
248
248
|
W.fillStyle = "#f9fafb", W.fillRect(0, 0, h.value, h.value);
|
|
249
249
|
const Z = c.value, ie = Z.width * m.value, te = Z.height * m.value;
|
|
250
|
-
W.drawImage(Z, u.x, u.y, ie, te),
|
|
251
|
-
},
|
|
252
|
-
if (!c.value || !C.value || !
|
|
250
|
+
W.drawImage(Z, u.x, u.y, ie, te), T();
|
|
251
|
+
}, T = () => {
|
|
252
|
+
if (!c.value || !C.value || !V.value) return;
|
|
253
253
|
const W = C.value.getContext("2d");
|
|
254
254
|
if (!W) return;
|
|
255
255
|
W.fillStyle = "#ffffff", W.fillRect(0, 0, x.value, x.value), W.save(), W.beginPath(), W.arc(x.value / 2, x.value / 2, x.value / 2, 0, Math.PI * 2), W.clip();
|
|
256
|
-
const Z = h.value / 2 -
|
|
256
|
+
const Z = h.value / 2 - $.value, ie = h.value / 2 - $.value, te = $.value * 2;
|
|
257
257
|
W.drawImage(
|
|
258
|
-
|
|
258
|
+
V.value,
|
|
259
259
|
Z,
|
|
260
260
|
ie,
|
|
261
261
|
te,
|
|
@@ -269,7 +269,7 @@ const Ha = kt("users", [
|
|
|
269
269
|
c.value && (g.value = !0, L.x = W.clientX, L.y = W.clientY, L.imageX = u.x, L.imageY = u.y, document.addEventListener("mousemove", Ce), document.addEventListener("mouseup", xe));
|
|
270
270
|
}, ce = () => {
|
|
271
271
|
if (!c.value) return;
|
|
272
|
-
const W = c.value, Z = W.width * m.value, ie = W.height * m.value, te = h.value / 2 -
|
|
272
|
+
const W = c.value, Z = W.width * m.value, ie = W.height * m.value, te = h.value / 2 - $.value, Y = h.value / 2 - $.value, le = h.value / 2 + $.value, _e = h.value / 2 + $.value, Te = le - Z, Ee = te, $e = _e - ie, re = Y;
|
|
273
273
|
u.x = Math.min(Ee, Math.max(Te, u.x)), u.y = Math.min(re, Math.max($e, u.y));
|
|
274
274
|
}, Ce = (W) => {
|
|
275
275
|
if (!g.value) return;
|
|
@@ -292,8 +292,8 @@ const Ha = kt("users", [
|
|
|
292
292
|
const W = c.value;
|
|
293
293
|
N.value = !0;
|
|
294
294
|
const Z = Math.max(
|
|
295
|
-
|
|
296
|
-
|
|
295
|
+
$.value * 2 / W.width,
|
|
296
|
+
$.value * 2 / W.height
|
|
297
297
|
), ie = Z;
|
|
298
298
|
U.value = Z, D.value = Math.max(1, Z);
|
|
299
299
|
const te = W.width * ie, Y = W.height * ie;
|
|
@@ -301,15 +301,15 @@ const Ha = kt("users", [
|
|
|
301
301
|
N.value = !1;
|
|
302
302
|
}), b();
|
|
303
303
|
}, be = async () => {
|
|
304
|
-
if (!c.value || !
|
|
304
|
+
if (!c.value || !V.value) return;
|
|
305
305
|
const W = document.createElement("canvas");
|
|
306
306
|
W.width = 256, W.height = 256;
|
|
307
307
|
const Z = W.getContext("2d");
|
|
308
308
|
if (!Z) return;
|
|
309
309
|
Z.fillStyle = "#ffffff", Z.fillRect(0, 0, 256, 256), Z.save(), Z.beginPath(), Z.arc(128, 128, 128, 0, Math.PI * 2), Z.clip();
|
|
310
|
-
const ie = h.value / 2 -
|
|
310
|
+
const ie = h.value / 2 - $.value, te = h.value / 2 - $.value, Y = $.value * 2;
|
|
311
311
|
Z.drawImage(
|
|
312
|
-
|
|
312
|
+
V.value,
|
|
313
313
|
ie,
|
|
314
314
|
te,
|
|
315
315
|
Y,
|
|
@@ -341,18 +341,18 @@ const Ha = kt("users", [
|
|
|
341
341
|
e("div", ws, [
|
|
342
342
|
e("input", {
|
|
343
343
|
ref_key: "fileInput",
|
|
344
|
-
ref:
|
|
344
|
+
ref: z,
|
|
345
345
|
type: "file",
|
|
346
346
|
accept: "image/*",
|
|
347
347
|
class: "hidden-input",
|
|
348
|
-
onChange:
|
|
348
|
+
onChange: S
|
|
349
349
|
}, null, 544),
|
|
350
350
|
w.value ? (a(), o("div", bs, [
|
|
351
351
|
e("div", Ms, [
|
|
352
352
|
e("div", xs, [
|
|
353
353
|
e("canvas", {
|
|
354
354
|
ref_key: "canvas",
|
|
355
|
-
ref:
|
|
355
|
+
ref: V,
|
|
356
356
|
width: h.value,
|
|
357
357
|
height: h.value,
|
|
358
358
|
class: "canvas",
|
|
@@ -374,7 +374,7 @@ const Ha = kt("users", [
|
|
|
374
374
|
e("circle", {
|
|
375
375
|
cx: h.value / 2,
|
|
376
376
|
cy: h.value / 2,
|
|
377
|
-
r:
|
|
377
|
+
r: $.value,
|
|
378
378
|
fill: "black"
|
|
379
379
|
}, null, 8, Vs)
|
|
380
380
|
])
|
|
@@ -394,7 +394,7 @@ const Ha = kt("users", [
|
|
|
394
394
|
e("circle", {
|
|
395
395
|
cx: h.value / 2,
|
|
396
396
|
cy: h.value / 2,
|
|
397
|
-
r:
|
|
397
|
+
r: $.value,
|
|
398
398
|
fill: "none",
|
|
399
399
|
stroke: "white",
|
|
400
400
|
"stroke-width": "2",
|
|
@@ -540,8 +540,8 @@ class $a {
|
|
|
540
540
|
* A pleasant major chord with arpeggio and bell overtones
|
|
541
541
|
*/
|
|
542
542
|
static playLevelUp(r, t) {
|
|
543
|
-
const
|
|
544
|
-
t && (
|
|
543
|
+
const z = r && [10, 25, 50, 100, 150, 200].includes(r);
|
|
544
|
+
t && (z && t.milestoneSounds === !1 || !z && t.levelUpSounds === !1) || (z ? this.playMilestoneLevelUp() : this.playRegularLevelUp());
|
|
545
545
|
}
|
|
546
546
|
/**
|
|
547
547
|
* Play regular level up sound for normal levels
|
|
@@ -562,8 +562,8 @@ class $a {
|
|
|
562
562
|
const h = r.createOscillator(), x = r.createGain();
|
|
563
563
|
h.connect(x), x.connect(r.destination), h.type = "sine", h.frequency.setValueAtTime(c.freq, t + c.time), h.frequency.exponentialRampToValueAtTime(c.freq * 1.02, t + c.time + 0.1), h.frequency.exponentialRampToValueAtTime(c.freq, t + c.time + 0.4), x.gain.setValueAtTime(0, t + c.time), x.gain.linearRampToValueAtTime(0.08, t + c.time + 0.03), x.gain.linearRampToValueAtTime(0.06, t + c.time + 0.2), x.gain.exponentialRampToValueAtTime(0.01, t + c.time + 0.5), h.start(t + c.time), h.stop(t + c.time + 0.5);
|
|
564
564
|
});
|
|
565
|
-
const
|
|
566
|
-
|
|
565
|
+
const z = r.createOscillator(), V = r.createGain();
|
|
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);
|
|
567
567
|
const C = r.createOscillator(), w = r.createGain();
|
|
568
568
|
C.connect(w), w.connect(r.destination), C.type = "sine", C.frequency.setValueAtTime(1046.5, t + 0.2), w.gain.setValueAtTime(0, t + 0.2), w.gain.linearRampToValueAtTime(0.03, t + 0.25), w.gain.exponentialRampToValueAtTime(1e-3, t + 0.6), C.start(t + 0.2), C.stop(t + 0.6);
|
|
569
569
|
}
|
|
@@ -620,10 +620,10 @@ class $a {
|
|
|
620
620
|
const r = this.getAudioContext();
|
|
621
621
|
if (!r) return;
|
|
622
622
|
const t = r.currentTime;
|
|
623
|
-
[659.25, 830.61].forEach((
|
|
623
|
+
[659.25, 830.61].forEach((z, V) => {
|
|
624
624
|
const C = r.createOscillator(), w = r.createGain();
|
|
625
|
-
C.connect(w), w.connect(r.destination), C.type = "sine", C.frequency.setValueAtTime(
|
|
626
|
-
const c =
|
|
625
|
+
C.connect(w), w.connect(r.destination), C.type = "sine", C.frequency.setValueAtTime(z, t);
|
|
626
|
+
const c = V * 0.1, h = 0.15;
|
|
627
627
|
w.gain.setValueAtTime(0, t), w.gain.linearRampToValueAtTime(0.2, t + c + 0.01), w.gain.exponentialRampToValueAtTime(0.01, t + c + h), C.start(t + c), C.stop(t + c + h);
|
|
628
628
|
});
|
|
629
629
|
}
|
|
@@ -634,8 +634,8 @@ class $a {
|
|
|
634
634
|
static playError() {
|
|
635
635
|
const r = this.getAudioContext();
|
|
636
636
|
if (!r) return;
|
|
637
|
-
const t = r.currentTime, l = r.createOscillator(),
|
|
638
|
-
l.connect(
|
|
637
|
+
const t = r.currentTime, l = r.createOscillator(), z = r.createGain();
|
|
638
|
+
l.connect(z), z.connect(r.destination), l.type = "sawtooth", l.frequency.setValueAtTime(200, t), l.frequency.exponentialRampToValueAtTime(100, t + 0.3), z.gain.setValueAtTime(0.15, t), z.gain.exponentialRampToValueAtTime(0.01, t + 0.3), l.start(t), l.stop(t + 0.3);
|
|
639
639
|
}
|
|
640
640
|
/**
|
|
641
641
|
* Play a click/button press sound
|
|
@@ -644,8 +644,8 @@ class $a {
|
|
|
644
644
|
static playClick() {
|
|
645
645
|
const r = this.getAudioContext();
|
|
646
646
|
if (!r) return;
|
|
647
|
-
const t = r.currentTime, l = r.createOscillator(),
|
|
648
|
-
l.connect(
|
|
647
|
+
const t = r.currentTime, l = r.createOscillator(), z = r.createGain();
|
|
648
|
+
l.connect(z), z.connect(r.destination), l.type = "sine", l.frequency.setValueAtTime(1e3, t), z.gain.setValueAtTime(0.1, t), z.gain.exponentialRampToValueAtTime(0.01, t + 0.03), l.start(t), l.stop(t + 0.03);
|
|
649
649
|
}
|
|
650
650
|
/**
|
|
651
651
|
* Play a notification sound
|
|
@@ -655,10 +655,10 @@ class $a {
|
|
|
655
655
|
const r = this.getAudioContext();
|
|
656
656
|
if (!r) return;
|
|
657
657
|
const t = r.currentTime;
|
|
658
|
-
[880, 1174.66].forEach((
|
|
658
|
+
[880, 1174.66].forEach((z, V) => {
|
|
659
659
|
const C = r.createOscillator(), w = r.createGain();
|
|
660
|
-
C.connect(w), w.connect(r.destination), C.type = "sine", C.frequency.setValueAtTime(
|
|
661
|
-
const c =
|
|
660
|
+
C.connect(w), w.connect(r.destination), C.type = "sine", C.frequency.setValueAtTime(z, t);
|
|
661
|
+
const c = V * 0.15;
|
|
662
662
|
w.gain.setValueAtTime(0, t), w.gain.linearRampToValueAtTime(0.12, t + c + 0.02), w.gain.exponentialRampToValueAtTime(0.01, t + c + 0.4), C.start(t + c), C.stop(t + c + 0.4);
|
|
663
663
|
});
|
|
664
664
|
}
|
|
@@ -669,8 +669,8 @@ class $a {
|
|
|
669
669
|
static playXpGain() {
|
|
670
670
|
const r = this.getAudioContext();
|
|
671
671
|
if (!r) return;
|
|
672
|
-
const t = r.currentTime, l = r.createOscillator(),
|
|
673
|
-
l.connect(
|
|
672
|
+
const t = r.currentTime, l = r.createOscillator(), z = r.createGain();
|
|
673
|
+
l.connect(z), z.connect(r.destination), l.type = "sine", l.frequency.setValueAtTime(440, t), l.frequency.exponentialRampToValueAtTime(880, t + 0.15), z.gain.setValueAtTime(0, t), z.gain.linearRampToValueAtTime(0.15, t + 0.01), z.gain.exponentialRampToValueAtTime(0.01, t + 0.2), l.start(t), l.stop(t + 0.2);
|
|
674
674
|
}
|
|
675
675
|
}
|
|
676
676
|
const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-container" }, qs = ["width", "height", "viewBox"], Zs = { key: 0 }, Ks = ["r"], Gs = ["y"], Ys = ["d", "stroke-width"], Ws = ["d", "stroke", "stroke-width"], Qs = ["d"], Xs = ["d", "stroke", "stroke-width"], Js = {
|
|
@@ -701,17 +701,17 @@ const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-contain
|
|
|
701
701
|
},
|
|
702
702
|
emits: ["levelup"],
|
|
703
703
|
setup(s, { emit: r }) {
|
|
704
|
-
const t = s, l = r,
|
|
704
|
+
const t = s, l = r, z = M(!1), V = M(t.value), C = M("forward");
|
|
705
705
|
let w = null, c = t.value, h = t.level;
|
|
706
|
-
const x = qt,
|
|
706
|
+
const x = qt, $ = t.size ?? qt, u = qt / 2, m = H(() => t.thickness ?? 24), U = H(() => t.labelThickness ?? 46), D = H(() => t.gapAngle ?? 16), g = H(() => (qt - m.value) / 2 - Da), N = H(() => (qt - U.value) / 1.9 - Da), y = H(() => N.value + 10), L = H(() => g.value - m.value / 2 - ao), F = H(() => t.levelLabel?.length ?? 0), S = H(() => F.value * lo + oo), k = H(() => -S.value / 2), O = H(() => S.value / 2), q = H(
|
|
707
707
|
() => be(u, u, N.value, k.value, O.value)
|
|
708
708
|
), b = H(
|
|
709
709
|
() => (
|
|
710
710
|
// Top arc: right to left, so text is right-side up at the top after rotation
|
|
711
711
|
be(u, u, y.value, -90, 90)
|
|
712
712
|
)
|
|
713
|
-
),
|
|
714
|
-
const ie = Math.max(0, Math.min(1,
|
|
713
|
+
), T = H(() => {
|
|
714
|
+
const ie = Math.max(0, Math.min(1, V.value / t.max)), te = O.value + D.value, Y = 360 - S.value - 3 * D.value;
|
|
715
715
|
if (ie >= 1) {
|
|
716
716
|
const Te = k.value - D.value + 360;
|
|
717
717
|
return be(u, u, g.value, te, Te);
|
|
@@ -719,13 +719,13 @@ const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-contain
|
|
|
719
719
|
const le = Y * ie, _e = te + le;
|
|
720
720
|
return be(u, u, g.value, te, _e);
|
|
721
721
|
}), ae = H(() => {
|
|
722
|
-
const ie = O.value + D.value, te = 360 -
|
|
722
|
+
const ie = O.value + D.value, te = 360 - S.value - 3 * D.value, Y = Math.max(0, Math.min(1, V.value / t.max)), le = te * Y, _e = ie + le, Te = Y === 0 ? ie : _e + D.value, Ee = k.value - D.value + 360;
|
|
723
723
|
return be(u, u, g.value, Te, Ee);
|
|
724
724
|
}), ce = H(() => "url(#staticGradient)"), Ce = H(() => "url(#progressGradient)"), xe = H(() => {
|
|
725
725
|
const ie = O.value + D.value;
|
|
726
726
|
return Se(u, u, g.value, ie);
|
|
727
727
|
}), Ae = H(() => {
|
|
728
|
-
const ie = O.value + D.value, te = 360 -
|
|
728
|
+
const ie = O.value + D.value, te = 360 - S.value - 3 * D.value, Y = Math.max(0, Math.min(1, V.value / t.max)), le = te * Y, _e = ie + le;
|
|
729
729
|
return Se(u, u, g.value, _e);
|
|
730
730
|
});
|
|
731
731
|
function Se(ie, te, Y, le) {
|
|
@@ -759,15 +759,15 @@ const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-contain
|
|
|
759
759
|
const Y = te, le = ie - Y, _e = performance.now();
|
|
760
760
|
function Te(Ee) {
|
|
761
761
|
const $e = Ee - _e, re = Math.min($e / so, 1), ve = ne(re);
|
|
762
|
-
|
|
762
|
+
V.value = Y + le * ve, re < 1 ? w = requestAnimationFrame(Te) : (V.value = ie, w = null);
|
|
763
763
|
}
|
|
764
764
|
w = requestAnimationFrame(Te);
|
|
765
765
|
}
|
|
766
766
|
function Z() {
|
|
767
|
-
|
|
767
|
+
z.value = !0, Rs(t.level, t.userSettings), l("levelup");
|
|
768
768
|
const te = [10, 25, 50, 100, 150, 200].includes(t.level);
|
|
769
769
|
setTimeout(() => {
|
|
770
|
-
|
|
770
|
+
z.value = !1;
|
|
771
771
|
}, te ? 2e3 : 1200);
|
|
772
772
|
}
|
|
773
773
|
return Le(() => t.value, (ie) => {
|
|
@@ -776,12 +776,12 @@ const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-contain
|
|
|
776
776
|
ie !== h && ie > h && Z(), h = ie;
|
|
777
777
|
}), (ie, te) => (a(), o("div", Fs, [
|
|
778
778
|
(a(), o("svg", {
|
|
779
|
-
width: i(
|
|
780
|
-
height: i(
|
|
779
|
+
width: i($),
|
|
780
|
+
height: i($),
|
|
781
781
|
viewBox: `0 0 ${i(x)} ${i(x)}`,
|
|
782
782
|
style: { position: "relative" }
|
|
783
783
|
}, [
|
|
784
|
-
|
|
784
|
+
z.value ? (a(), o("g", Zs, [
|
|
785
785
|
e("circle", {
|
|
786
786
|
cx: u,
|
|
787
787
|
cy: u,
|
|
@@ -799,7 +799,7 @@ const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-contain
|
|
|
799
799
|
style: { "font-family": "'Montserrat', sans-serif" }
|
|
800
800
|
}, "Level Up", 8, Gs)
|
|
801
801
|
])) : I("", !0),
|
|
802
|
-
|
|
802
|
+
V.value >= 0 && V.value < t.max ? (a(), o("path", {
|
|
803
803
|
key: 1,
|
|
804
804
|
d: ae.value,
|
|
805
805
|
stroke: "#ddd",
|
|
@@ -821,9 +821,9 @@ const Rs = (s, r) => $a.playLevelUp(s, r), Fs = { class: "level-progress-contain
|
|
|
821
821
|
fill: "none",
|
|
822
822
|
transform: "scale(-1, 1) translate(-400, 0)"
|
|
823
823
|
}, null, 8, Qs),
|
|
824
|
-
|
|
824
|
+
V.value > 0 ? (a(), o("path", {
|
|
825
825
|
key: 2,
|
|
826
|
-
d:
|
|
826
|
+
d: T.value,
|
|
827
827
|
stroke: Ce.value,
|
|
828
828
|
"stroke-width": m.value,
|
|
829
829
|
fill: "none",
|
|
@@ -890,8 +890,8 @@ class io {
|
|
|
890
890
|
normal: 100,
|
|
891
891
|
high: 200,
|
|
892
892
|
critical: 300
|
|
893
|
-
}, l = this.baseZIndex + t[r],
|
|
894
|
-
return l +
|
|
893
|
+
}, l = this.baseZIndex + t[r], z = this.stack.length;
|
|
894
|
+
return l + z;
|
|
895
895
|
}
|
|
896
896
|
lockBodyScroll() {
|
|
897
897
|
typeof document > "u" || (this.originalBodyOverflow === null && (this.originalBodyOverflow = document.body.style.overflow || ""), document.body.style.overflow = "hidden");
|
|
@@ -953,31 +953,31 @@ function ro(s = {}) {
|
|
|
953
953
|
closeOnEscape: r = !0,
|
|
954
954
|
priority: t = "normal",
|
|
955
955
|
component: l
|
|
956
|
-
} = s,
|
|
957
|
-
if (
|
|
956
|
+
} = s, z = M(null), V = M(!1), C = M(null), w = async ($) => {
|
|
957
|
+
if (V.value) return;
|
|
958
958
|
const u = /* @__PURE__ */ Symbol("modal");
|
|
959
|
-
|
|
959
|
+
z.value = u;
|
|
960
960
|
const m = Rt.add({
|
|
961
961
|
id: u,
|
|
962
|
-
closeModal:
|
|
962
|
+
closeModal: $ || c,
|
|
963
963
|
closeOnEscape: r,
|
|
964
964
|
priority: t,
|
|
965
965
|
component: l
|
|
966
966
|
});
|
|
967
|
-
return C.value = m,
|
|
967
|
+
return C.value = m, V.value = !0, await yt(), m;
|
|
968
968
|
}, c = () => {
|
|
969
|
-
!
|
|
970
|
-
}, h = () =>
|
|
969
|
+
!z.value || !V.value || (Rt.remove(z.value), z.value = null, C.value = null, V.value = !1);
|
|
970
|
+
}, h = () => z.value ? document.querySelector(`[data-modal-id="${z.value.toString()}"]`) : null, x = () => C.value ? document.querySelector(`.ui-app-modal-backdrop[style*="z-index: ${C.value.zIndex - 1}"]`) : null;
|
|
971
971
|
try {
|
|
972
972
|
Mt(() => {
|
|
973
|
-
|
|
973
|
+
V.value && c();
|
|
974
974
|
});
|
|
975
975
|
} catch {
|
|
976
976
|
}
|
|
977
977
|
return {
|
|
978
978
|
// State
|
|
979
|
-
isOpen:
|
|
980
|
-
modalId:
|
|
979
|
+
isOpen: V,
|
|
980
|
+
modalId: z,
|
|
981
981
|
modalInstance: C,
|
|
982
982
|
// Actions
|
|
983
983
|
openModal: w,
|
|
@@ -988,8 +988,8 @@ function ro(s = {}) {
|
|
|
988
988
|
// Computed values
|
|
989
989
|
zIndex: () => C.value?.zIndex || 0,
|
|
990
990
|
isTopModal: () => {
|
|
991
|
-
const
|
|
992
|
-
return C.value ===
|
|
991
|
+
const $ = Rt.state;
|
|
992
|
+
return C.value === $.topModal;
|
|
993
993
|
}
|
|
994
994
|
};
|
|
995
995
|
}
|
|
@@ -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,
|
|
1049
|
+
const t = s, l = r, z = M(!1), V = M(null), C = M(null), w = M(null), c = ro({
|
|
1050
1050
|
closeOnEscape: t.closeOnEscape,
|
|
1051
1051
|
priority: "normal",
|
|
1052
1052
|
component: "UiModal"
|
|
1053
1053
|
});
|
|
1054
1054
|
M(!0);
|
|
1055
|
-
const h = H(() => t.modelValue !== void 0 ? t.modelValue :
|
|
1055
|
+
const h = H(() => t.modelValue !== void 0 ? t.modelValue : z.value), x = H(() => ({
|
|
1056
1056
|
sm: "ui-modal-size-sm",
|
|
1057
1057
|
md: "ui-modal-size-md",
|
|
1058
1058
|
lg: "ui-modal-size-lg",
|
|
@@ -1064,12 +1064,12 @@ const co = {
|
|
|
1064
1064
|
"6xl": "ui-modal-size-6xl",
|
|
1065
1065
|
full: "ui-modal-size-full",
|
|
1066
1066
|
auto: "ui-modal-size-auto"
|
|
1067
|
-
})[t.size]),
|
|
1068
|
-
w.value = document.activeElement, await c.openModal(m), t.modelValue !== void 0 ? l("update:modelValue", !0) :
|
|
1067
|
+
})[t.size]), $ = async () => {
|
|
1068
|
+
w.value = document.activeElement, await c.openModal(m), t.modelValue !== void 0 ? l("update:modelValue", !0) : z.value = !0, l("open");
|
|
1069
1069
|
}, u = () => {
|
|
1070
|
-
|
|
1070
|
+
V.value && (w.value = V.value.querySelector('button, [tabindex]:not([tabindex="-1"]), a[href], input, select, textarea'), w.value || (w.value = V.value)), $();
|
|
1071
1071
|
}, m = () => {
|
|
1072
|
-
t.modelValue !== void 0 ? l("update:modelValue", !1) :
|
|
1072
|
+
t.modelValue !== void 0 ? l("update:modelValue", !1) : z.value = !1, l("close"), c.closeModal(), yt(() => {
|
|
1073
1073
|
w.value && document.contains(w.value) && w.value.focus(), w.value = null;
|
|
1074
1074
|
});
|
|
1075
1075
|
};
|
|
@@ -1093,7 +1093,7 @@ const co = {
|
|
|
1093
1093
|
D.$slots.trigger ? (a(), o("span", {
|
|
1094
1094
|
key: 0,
|
|
1095
1095
|
ref_key: "triggerElement",
|
|
1096
|
-
ref:
|
|
1096
|
+
ref: V,
|
|
1097
1097
|
onClick: u
|
|
1098
1098
|
}, [
|
|
1099
1099
|
Pe(D.$slots, "trigger", {
|
|
@@ -1128,7 +1128,7 @@ const co = {
|
|
|
1128
1128
|
Pe(D.$slots, "header", {
|
|
1129
1129
|
handleClose: m,
|
|
1130
1130
|
isOpen: h.value,
|
|
1131
|
-
openModal:
|
|
1131
|
+
openModal: $
|
|
1132
1132
|
}, () => [
|
|
1133
1133
|
D.$props.title ? (a(), o("h2", po, R(D.$props.title), 1)) : I("", !0),
|
|
1134
1134
|
D.$props.subtitle ? (a(), o("p", fo, R(D.$props.subtitle), 1)) : I("", !0)
|
|
@@ -1167,7 +1167,7 @@ const co = {
|
|
|
1167
1167
|
Pe(D.$slots, "footer", {
|
|
1168
1168
|
handleClose: m,
|
|
1169
1169
|
isOpen: h.value,
|
|
1170
|
-
openModal:
|
|
1170
|
+
openModal: $
|
|
1171
1171
|
}, void 0, !0)
|
|
1172
1172
|
]),
|
|
1173
1173
|
key: "0"
|
|
@@ -1837,13 +1837,13 @@ const co = {
|
|
|
1837
1837
|
}
|
|
1838
1838
|
return "#EA00A8";
|
|
1839
1839
|
}
|
|
1840
|
-
const l = s,
|
|
1841
|
-
let
|
|
1840
|
+
const l = s, z = r, V = M(), C = M(), w = M(), c = M(0), h = M(1), x = M(1), $ = M(1), u = M(l.modelValue || t()), m = M({ r: 234, g: 0, b: 168 }), U = M(100), D = M(l.defaultColorFormat || "hex"), g = M({ h: 0, s: 0, l: 0 }), N = M({ l: 0, c: 0, h: 0 }), y = M(!1), L = M(!1), F = M(!1), S = M(!1), k = M(!1), O = H(() => y.value), q = M(null), b = M(l.compareColor);
|
|
1841
|
+
let T = null, ae = null;
|
|
1842
1842
|
const ce = M(!1);
|
|
1843
1843
|
let Ce = "";
|
|
1844
1844
|
Le(() => [l.showContrast, l.compareColor], ([v, n], f) => {
|
|
1845
|
-
v && n &&
|
|
1846
|
-
}, { immediate: !0 }), Le(
|
|
1845
|
+
v && n && !S.value && (S.value = !0), typeof n == "string" && (b.value = n), f && n !== f[1] && (Ct.value = [], nt.value = [], it.value = "", zt.value = "", Vt.value = "", It.value = "");
|
|
1846
|
+
}, { immediate: !0 }), Le(S, (v) => {
|
|
1847
1847
|
v && l.showContrast && l.compareColor && Xt();
|
|
1848
1848
|
});
|
|
1849
1849
|
const xe = H(() => l.swatches ? l.swatches : go), Ae = H(() => {
|
|
@@ -2061,7 +2061,7 @@ const co = {
|
|
|
2061
2061
|
return "FAIL";
|
|
2062
2062
|
}, Be = H(() => re(c.value, h.value, x.value)), Ht = H(() => `rgb(${Be.value.r}, ${Be.value.g}, ${Be.value.b})`), tt = H(() => {
|
|
2063
2063
|
const { r: v, g: n, b: f } = Be.value;
|
|
2064
|
-
return l.showAlpha &&
|
|
2064
|
+
return l.showAlpha && $.value < 0.99 ? `rgba(${v}, ${n}, ${f}, ${$.value})` : K(v, n, f);
|
|
2065
2065
|
}), Xt = () => {
|
|
2066
2066
|
if (!l.showContrast || !l.compareColor) {
|
|
2067
2067
|
q.value = null;
|
|
@@ -2075,10 +2075,10 @@ const co = {
|
|
|
2075
2075
|
currentColor: v,
|
|
2076
2076
|
compareColor: l.compareColor
|
|
2077
2077
|
};
|
|
2078
|
-
}, Je = H(() => (
|
|
2078
|
+
}, Je = H(() => (T && clearTimeout(T), T = setTimeout(() => {
|
|
2079
2079
|
Xt();
|
|
2080
2080
|
}, 100), q.value)), Jt = H(() => {
|
|
2081
|
-
if (
|
|
2081
|
+
if (!S.value || !b.value) return "";
|
|
2082
2082
|
if (it.value)
|
|
2083
2083
|
return it.value;
|
|
2084
2084
|
const v = ut, n = dt, f = 4.5, ee = (p, B) => {
|
|
@@ -2132,7 +2132,7 @@ const co = {
|
|
|
2132
2132
|
}
|
|
2133
2133
|
return it.value = E, E;
|
|
2134
2134
|
}), Ut = H(() => {
|
|
2135
|
-
if (
|
|
2135
|
+
if (!S.value || !b.value) return "";
|
|
2136
2136
|
if (zt.value)
|
|
2137
2137
|
return zt.value;
|
|
2138
2138
|
const v = ut, n = dt, f = 4.5, ee = (E, p) => {
|
|
@@ -2201,7 +2201,7 @@ const co = {
|
|
|
2201
2201
|
}
|
|
2202
2202
|
return zt.value = j, j;
|
|
2203
2203
|
}), ea = H(() => {
|
|
2204
|
-
if (
|
|
2204
|
+
if (!S.value || !b.value) return "";
|
|
2205
2205
|
if (Vt.value)
|
|
2206
2206
|
return Vt.value;
|
|
2207
2207
|
const v = ut, n = dt, f = 3, ee = (p, B) => {
|
|
@@ -2255,7 +2255,7 @@ const co = {
|
|
|
2255
2255
|
}
|
|
2256
2256
|
return Vt.value = E, E;
|
|
2257
2257
|
}), ta = H(() => {
|
|
2258
|
-
if (
|
|
2258
|
+
if (!S.value || !b.value) return "";
|
|
2259
2259
|
if (It.value)
|
|
2260
2260
|
return It.value;
|
|
2261
2261
|
const v = ut, n = dt, f = 3, ee = (E, p) => {
|
|
@@ -2325,7 +2325,7 @@ const co = {
|
|
|
2325
2325
|
return It.value = j, j;
|
|
2326
2326
|
});
|
|
2327
2327
|
H(() => {
|
|
2328
|
-
if (
|
|
2328
|
+
if (!S.value || !Je.value) return [];
|
|
2329
2329
|
const v = ut, n = dt, f = (A, G) => {
|
|
2330
2330
|
const j = Math.max(0, Math.min(v, A)), E = Math.max(0, Math.min(n, G)), p = Math.max(0, Math.min(1, j / v)), B = Math.max(0, Math.min(1, 1 - E / n)), se = re(c.value, p, B), de = K(se.r, se.g, se.b);
|
|
2331
2331
|
return Oe(de, b.value);
|
|
@@ -2350,9 +2350,9 @@ const co = {
|
|
|
2350
2350
|
}
|
|
2351
2351
|
return ee;
|
|
2352
2352
|
});
|
|
2353
|
-
const Ct = M([]), nt = M([]), it = M(""), zt = M(""), Vt = M(""), It = M(""), aa = H(() =>
|
|
2353
|
+
const Ct = M([]), nt = M([]), it = M(""), zt = M(""), Vt = M(""), It = M(""), aa = H(() => S.value && b.value && (!Ct.value.length || !nt.value.length)), ga = H(() => S.value && b.value);
|
|
2354
2354
|
H(() => ga.value), H(() => {
|
|
2355
|
-
if (
|
|
2355
|
+
if (!S.value || !b.value) return [];
|
|
2356
2356
|
if (O.value && Ct.value.length > 0 || !aa.value && Ct.value.length > 0)
|
|
2357
2357
|
return Ct.value;
|
|
2358
2358
|
const v = [], n = ut, f = dt, ee = 6, A = (E, p) => {
|
|
@@ -2404,7 +2404,7 @@ const co = {
|
|
|
2404
2404
|
}
|
|
2405
2405
|
return Ct.value = v, v;
|
|
2406
2406
|
}), H(() => {
|
|
2407
|
-
if (
|
|
2407
|
+
if (!S.value || !b.value) return [];
|
|
2408
2408
|
if (O.value && nt.value.length > 0 || !aa.value && nt.value.length > 0)
|
|
2409
2409
|
return nt.value;
|
|
2410
2410
|
const v = [], n = ut, f = dt, ee = 3, A = 6, G = (p, B) => {
|
|
@@ -2453,7 +2453,7 @@ const co = {
|
|
|
2453
2453
|
return nt.value = v, v;
|
|
2454
2454
|
});
|
|
2455
2455
|
const sa = H(() => {
|
|
2456
|
-
if (
|
|
2456
|
+
if (!S.value || !b.value) return "";
|
|
2457
2457
|
const v = ut, n = dt, f = (j, E) => {
|
|
2458
2458
|
const p = Math.max(0, Math.min(v, j)), B = Math.max(0, Math.min(n, E)), se = Math.max(0, Math.min(1, p / v)), de = Math.max(0, Math.min(1, 1 - B / n)), ke = re(c.value, se, de), ge = K(ke.r, ke.g, ke.b);
|
|
2459
2459
|
return Oe(ge, b.value);
|
|
@@ -2483,7 +2483,7 @@ const co = {
|
|
|
2483
2483
|
}
|
|
2484
2484
|
return G += " Z", G;
|
|
2485
2485
|
}), oa = H(() => {
|
|
2486
|
-
if (
|
|
2486
|
+
if (!S.value || !b.value) return "";
|
|
2487
2487
|
const v = ut, n = dt, f = 3, ee = (E, p) => {
|
|
2488
2488
|
const B = Math.max(0, Math.min(v, E)), se = Math.max(0, Math.min(n, p)), de = Math.max(0, Math.min(1, B / v)), ke = Math.max(0, Math.min(1, 1 - se / n)), ge = re(c.value, de, ke), me = K(ge.r, ge.g, ge.b);
|
|
2489
2489
|
return Oe(me, b.value);
|
|
@@ -2519,8 +2519,8 @@ const co = {
|
|
|
2519
2519
|
}, $t = () => {
|
|
2520
2520
|
y.value = !1, document.removeEventListener("mousemove", xt), document.removeEventListener("mouseup", $t), document.removeEventListener("touchmove", xt), document.removeEventListener("touchend", $t);
|
|
2521
2521
|
}, na = (v) => {
|
|
2522
|
-
if (!
|
|
2523
|
-
const n =
|
|
2522
|
+
if (!V.value) return;
|
|
2523
|
+
const n = V.value.getBoundingClientRect(), f = "touches" in v ? v.touches[0].clientX : v.clientX, ee = "touches" in v ? v.touches[0].clientY : v.clientY, A = Math.max(0, Math.min(n.width, f - n.left)), G = Math.max(0, Math.min(n.height, ee - n.top));
|
|
2524
2524
|
h.value = A / n.width, x.value = 1 - G / n.height;
|
|
2525
2525
|
}, ia = (v) => {
|
|
2526
2526
|
l.disabled || (L.value = !0, ra(v), document.addEventListener("mousemove", Dt), document.addEventListener("mouseup", Nt), document.addEventListener("touchmove", Dt), document.addEventListener("touchend", Nt));
|
|
@@ -2541,7 +2541,7 @@ const co = {
|
|
|
2541
2541
|
}, we = (v) => {
|
|
2542
2542
|
if (!w.value) return;
|
|
2543
2543
|
const n = w.value.getBoundingClientRect(), f = "touches" in v ? v.touches[0].clientX : v.clientX, ee = Math.max(0, Math.min(n.width, f - n.left));
|
|
2544
|
-
|
|
2544
|
+
$.value = ee / n.width, U.value = Math.round($.value * 100);
|
|
2545
2545
|
}, wt = () => {
|
|
2546
2546
|
const v = u.value;
|
|
2547
2547
|
if (v.length === 7 && v.startsWith("#")) {
|
|
@@ -2574,7 +2574,7 @@ const co = {
|
|
|
2574
2574
|
}
|
|
2575
2575
|
}, Pt = () => {
|
|
2576
2576
|
const v = Math.max(0, Math.min(100, U.value));
|
|
2577
|
-
|
|
2577
|
+
$.value = v / 100, U.value = v;
|
|
2578
2578
|
}, ua = () => {
|
|
2579
2579
|
const v = ["hex", "rgb", "hsl", "oklch"], f = (v.indexOf(D.value) + 1) % v.length;
|
|
2580
2580
|
D.value = v[f];
|
|
@@ -2598,7 +2598,7 @@ const co = {
|
|
|
2598
2598
|
c.value = f.h, h.value = f.s, x.value = f.v, jt(), Ot();
|
|
2599
2599
|
}
|
|
2600
2600
|
}, Wa = () => {
|
|
2601
|
-
|
|
2601
|
+
S.value = !S.value;
|
|
2602
2602
|
}, Va = () => {
|
|
2603
2603
|
if (!l.modelValue) return;
|
|
2604
2604
|
let v;
|
|
@@ -2617,19 +2617,19 @@ const co = {
|
|
|
2617
2617
|
c.value = n.h, h.value = n.s, x.value = n.v, jt(), Ot();
|
|
2618
2618
|
}
|
|
2619
2619
|
};
|
|
2620
|
-
return Le([c, h, x,
|
|
2620
|
+
return Le([c, h, x, $], () => {
|
|
2621
2621
|
jt(), Ot(), Ca(), ya();
|
|
2622
2622
|
const v = He(tt.value);
|
|
2623
2623
|
v !== Ce && (k.value ? (ae && clearTimeout(ae), ae = setTimeout(() => {
|
|
2624
2624
|
const n = He(tt.value);
|
|
2625
|
-
n !== Ce && (ce.value = !0, Ce = n,
|
|
2625
|
+
n !== Ce && (ce.value = !0, Ce = n, z("update:modelValue", n), z("change", n), setTimeout(() => {
|
|
2626
2626
|
ce.value = !1;
|
|
2627
2627
|
}, 5));
|
|
2628
|
-
}, 16)) : (ce.value = !0, Ce = v,
|
|
2628
|
+
}, 16)) : (ce.value = !0, Ce = v, z("update:modelValue", v), z("change", v), setTimeout(() => {
|
|
2629
2629
|
ce.value = !1;
|
|
2630
2630
|
}, 5)));
|
|
2631
2631
|
}, { deep: !0 }), Le(c, () => {
|
|
2632
|
-
|
|
2632
|
+
S.value && l.compareColor && (Ct.value = [], nt.value = [], it.value = "", zt.value = "", Vt.value = "", It.value = "");
|
|
2633
2633
|
}), Le(() => l.modelValue, (v) => {
|
|
2634
2634
|
if (v && !ce.value) {
|
|
2635
2635
|
const n = He(v), f = He(tt.value);
|
|
@@ -2638,12 +2638,12 @@ const co = {
|
|
|
2638
2638
|
}), Ye(() => {
|
|
2639
2639
|
Va();
|
|
2640
2640
|
}), Mt(() => {
|
|
2641
|
-
|
|
2641
|
+
T && clearTimeout(T), document.removeEventListener("mousemove", xt), document.removeEventListener("mouseup", $t), document.removeEventListener("touchmove", xt), document.removeEventListener("touchend", $t);
|
|
2642
2642
|
}), (v, n) => (a(), o("div", Co, [
|
|
2643
2643
|
e("div", yo, [
|
|
2644
2644
|
e("div", {
|
|
2645
2645
|
ref_key: "colorAreaRef",
|
|
2646
|
-
ref:
|
|
2646
|
+
ref: V,
|
|
2647
2647
|
class: "ui-color-picker-area",
|
|
2648
2648
|
style: je({ "--_global-picker-width": `${ut}px`, "--_global-picker-height": `${dt}px`, backgroundColor: `hsl(${c.value}, 100%, 50%)` }),
|
|
2649
2649
|
onMousedown: la,
|
|
@@ -2653,7 +2653,7 @@ const co = {
|
|
|
2653
2653
|
n[17] || (n[17] = e("div", { class: "ui-color-picker-brightness" }, null, -1)),
|
|
2654
2654
|
b.value ? (a(), o("div", {
|
|
2655
2655
|
key: 0,
|
|
2656
|
-
class: Me(["ui-color-picker-contrast-overlay", { "contrast-overlay-visible":
|
|
2656
|
+
class: Me(["ui-color-picker-contrast-overlay", { "contrast-overlay-visible": S.value }])
|
|
2657
2657
|
}, [
|
|
2658
2658
|
Je.value ? (a(), o("svg", {
|
|
2659
2659
|
key: 0,
|
|
@@ -2794,7 +2794,7 @@ const co = {
|
|
|
2794
2794
|
}, null, 4),
|
|
2795
2795
|
l.showContrast && l.compareColor ? (a(), ye(i(Kt), {
|
|
2796
2796
|
key: 0,
|
|
2797
|
-
content:
|
|
2797
|
+
content: S.value ? "Hide contrast analysis" : "Show contrast analysis",
|
|
2798
2798
|
position: "top",
|
|
2799
2799
|
delay: 300
|
|
2800
2800
|
}, {
|
|
@@ -2804,7 +2804,7 @@ const co = {
|
|
|
2804
2804
|
icon: !0,
|
|
2805
2805
|
squircle: !0,
|
|
2806
2806
|
size: "xs",
|
|
2807
|
-
variant:
|
|
2807
|
+
variant: S.value ? "primary" : "ghost"
|
|
2808
2808
|
}, {
|
|
2809
2809
|
icon: _(() => [
|
|
2810
2810
|
d(i(cs))
|
|
@@ -2817,7 +2817,7 @@ const co = {
|
|
|
2817
2817
|
])
|
|
2818
2818
|
]),
|
|
2819
2819
|
e("div", {
|
|
2820
|
-
class: Me(["ui-color-picker-contrast-wrapper", { "contrast-block-visible":
|
|
2820
|
+
class: Me(["ui-color-picker-contrast-wrapper", { "contrast-block-visible": S.value }])
|
|
2821
2821
|
}, [
|
|
2822
2822
|
Je.value ? (a(), o("div", _o, [
|
|
2823
2823
|
e("div", To, [
|
|
@@ -2894,7 +2894,7 @@ const co = {
|
|
|
2894
2894
|
}, null, 4),
|
|
2895
2895
|
e("div", {
|
|
2896
2896
|
class: "ui-color-picker-alpha-thumb",
|
|
2897
|
-
style: je({ left: `${
|
|
2897
|
+
style: je({ left: `${$.value * 100}%` })
|
|
2898
2898
|
}, null, 4)
|
|
2899
2899
|
], 544)) : I("", !0),
|
|
2900
2900
|
e("div", Bo, [
|
|
@@ -3289,16 +3289,16 @@ const co = {
|
|
|
3289
3289
|
},
|
|
3290
3290
|
emits: ["update:modelValue"],
|
|
3291
3291
|
setup(s, { emit: r }) {
|
|
3292
|
-
const t = s, l = r,
|
|
3292
|
+
const t = s, l = r, z = M(), V = M(), C = M(!1), w = H({
|
|
3293
3293
|
get: () => t.modelValue,
|
|
3294
3294
|
set: (m) => l("update:modelValue", m)
|
|
3295
3295
|
}), c = H(() => t.modelValue || "#000000"), {
|
|
3296
3296
|
floatingStyle: h,
|
|
3297
3297
|
updatePosition: x,
|
|
3298
|
-
cleanup:
|
|
3298
|
+
cleanup: $
|
|
3299
3299
|
} = ja({
|
|
3300
|
-
trigger:
|
|
3301
|
-
floating:
|
|
3300
|
+
trigger: z,
|
|
3301
|
+
floating: V,
|
|
3302
3302
|
placement: "bottom-start",
|
|
3303
3303
|
offset: 8,
|
|
3304
3304
|
shift: !0,
|
|
@@ -3333,10 +3333,10 @@ const co = {
|
|
|
3333
3333
|
});
|
|
3334
3334
|
}
|
|
3335
3335
|
), Mt(() => {
|
|
3336
|
-
|
|
3336
|
+
$();
|
|
3337
3337
|
}), (m, U) => (a(), o("div", {
|
|
3338
3338
|
ref_key: "containerRef",
|
|
3339
|
-
ref:
|
|
3339
|
+
ref: z,
|
|
3340
3340
|
class: "ui-color-picker-button-container"
|
|
3341
3341
|
}, [
|
|
3342
3342
|
d(lt, {
|
|
@@ -3364,7 +3364,7 @@ const co = {
|
|
|
3364
3364
|
C.value ? (a(), o("div", {
|
|
3365
3365
|
key: 0,
|
|
3366
3366
|
ref_key: "popoverRef",
|
|
3367
|
-
ref:
|
|
3367
|
+
ref: V,
|
|
3368
3368
|
class: "ui-color-picker-popover",
|
|
3369
3369
|
style: je(i(h))
|
|
3370
3370
|
}, [
|
|
@@ -3397,7 +3397,7 @@ const co = {
|
|
|
3397
3397
|
emits: ["update:modelValue", "change"],
|
|
3398
3398
|
setup(s, { emit: r }) {
|
|
3399
3399
|
const t = s, l = r;
|
|
3400
|
-
function
|
|
3400
|
+
function z() {
|
|
3401
3401
|
if (typeof window < "u") {
|
|
3402
3402
|
const C = getComputedStyle(document.documentElement).getPropertyValue("--strands-accent").trim();
|
|
3403
3403
|
if (C)
|
|
@@ -3405,20 +3405,20 @@ const co = {
|
|
|
3405
3405
|
}
|
|
3406
3406
|
return "#EA00A8";
|
|
3407
3407
|
}
|
|
3408
|
-
const
|
|
3409
|
-
get: () => t.modelValue === "#EA00A8" ?
|
|
3408
|
+
const V = H({
|
|
3409
|
+
get: () => t.modelValue === "#EA00A8" ? z() : t.modelValue,
|
|
3410
3410
|
set: (C) => {
|
|
3411
3411
|
l("update:modelValue", C), l("change", C);
|
|
3412
3412
|
}
|
|
3413
3413
|
});
|
|
3414
3414
|
return (C, w) => t.variant === "button" ? (a(), ye(C1, xa({
|
|
3415
3415
|
key: 0,
|
|
3416
|
-
modelValue:
|
|
3417
|
-
"onUpdate:modelValue": w[0] || (w[0] = (c) =>
|
|
3416
|
+
modelValue: V.value,
|
|
3417
|
+
"onUpdate:modelValue": w[0] || (w[0] = (c) => V.value = c)
|
|
3418
3418
|
}, t), null, 16, ["modelValue"])) : (a(), ye(qa, xa({
|
|
3419
3419
|
key: 1,
|
|
3420
|
-
modelValue:
|
|
3421
|
-
"onUpdate:modelValue": w[1] || (w[1] = (c) =>
|
|
3420
|
+
modelValue: V.value,
|
|
3421
|
+
"onUpdate:modelValue": w[1] || (w[1] = (c) => V.value = c)
|
|
3422
3422
|
}, t), null, 16, ["modelValue"]));
|
|
3423
3423
|
}
|
|
3424
3424
|
}), y1 = { class: "ui-table-container" }, k1 = {
|
|
@@ -3458,7 +3458,7 @@ const co = {
|
|
|
3458
3458
|
},
|
|
3459
3459
|
emits: ["rowClick", "rowSelect", "sort", "columnReorder", "cellUpdate"],
|
|
3460
3460
|
setup(s, { expose: r, emit: t }) {
|
|
3461
|
-
const l = s,
|
|
3461
|
+
const l = s, z = t, V = ha(), C = M(null), w = M([...l.data]), c = M([...l.columns]);
|
|
3462
3462
|
Le(() => l.data, (K) => {
|
|
3463
3463
|
w.value = [...K];
|
|
3464
3464
|
}, { deep: !0 }), Le(() => l.columns, (K) => {
|
|
@@ -3468,12 +3468,12 @@ const co = {
|
|
|
3468
3468
|
w.value = [...l.data], y.value.clear(), L.value.clear();
|
|
3469
3469
|
}, x = () => {
|
|
3470
3470
|
c.value = [...l.columns];
|
|
3471
|
-
},
|
|
3471
|
+
}, $ = M(""), u = M("asc"), m = M({}), U = M({}), D = M(""), g = M(/* @__PURE__ */ new Set()), N = M(/* @__PURE__ */ new Set()), y = M(/* @__PURE__ */ new Set()), L = M(/* @__PURE__ */ new Map()), F = M(null), S = M(null), k = M(!1), O = M(0), q = M(0), b = H(() => {
|
|
3472
3472
|
const K = {
|
|
3473
3473
|
"--_cols": l.columns.length.toString()
|
|
3474
3474
|
};
|
|
3475
3475
|
return l.maxHeight && (K.maxHeight = typeof l.maxHeight == "number" || !l.maxHeight.endsWith("px") ? `${l.maxHeight}px` : l.maxHeight), l.maxWidth && (K.maxWidth = typeof l.maxWidth == "number" || !l.maxWidth.endsWith("px") ? `${l.maxWidth}px` : l.maxWidth), K;
|
|
3476
|
-
}),
|
|
3476
|
+
}), T = H(() => ({
|
|
3477
3477
|
gridColumn: `1 / ${l.columns.length + 1}`
|
|
3478
3478
|
})), ae = (K) => k.value ? K === F.value ? {
|
|
3479
3479
|
transform: `translateX(${q.value - O.value}px)`,
|
|
@@ -3481,8 +3481,8 @@ const co = {
|
|
|
3481
3481
|
zIndex: 1e3,
|
|
3482
3482
|
transition: "none"
|
|
3483
3483
|
// No transition for dragged column
|
|
3484
|
-
} : K ===
|
|
3485
|
-
transform: `translateX(${(F.value <
|
|
3484
|
+
} : K === S.value && S.value !== null ? {
|
|
3485
|
+
transform: `translateX(${(F.value < S.value ? -1 : 1) * 100}px)`,
|
|
3486
3486
|
transition: "transform var(--accui-transition-duration) ease"
|
|
3487
3487
|
} : {} : {}, ce = (K) => !k.value || K !== F.value ? {} : {
|
|
3488
3488
|
opacity: "0.8",
|
|
@@ -3493,10 +3493,10 @@ const co = {
|
|
|
3493
3493
|
if (!fe || fe === "") return !0;
|
|
3494
3494
|
const pe = c.value.find((Oe) => Oe.key === Q), He = xe(he, Q, pe), Ne = String(He || "").toLowerCase();
|
|
3495
3495
|
return Array.isArray(fe) ? fe.some((Oe) => Ne.includes(String(Oe).toLowerCase())) : Ne.includes(String(fe).toLowerCase());
|
|
3496
|
-
}))),
|
|
3497
|
-
const he = c.value.find((Q) => Q.key ===
|
|
3496
|
+
}))), $.value && (l.sortable || c.value.find((he) => he.key === $.value)?.sortable)) {
|
|
3497
|
+
const he = c.value.find((Q) => Q.key === $.value);
|
|
3498
3498
|
K.sort((Q, fe) => {
|
|
3499
|
-
const pe = xe(Q,
|
|
3499
|
+
const pe = xe(Q, $.value, he), He = xe(fe, $.value, he);
|
|
3500
3500
|
return pe < He ? u.value === "asc" ? -1 : 1 : pe > He ? u.value === "asc" ? 1 : -1 : 0;
|
|
3501
3501
|
});
|
|
3502
3502
|
}
|
|
@@ -3526,9 +3526,9 @@ const co = {
|
|
|
3526
3526
|
}, pe)), pe;
|
|
3527
3527
|
}, Ae = (K) => {
|
|
3528
3528
|
const he = l.columns.find((Q) => Q.key === K);
|
|
3529
|
-
!l.sortable && !he?.sortable || (
|
|
3530
|
-
}, Se = H(() => l.stickyColumns || []), be = H(() => l.columns.some((K) =>
|
|
3531
|
-
const Q =
|
|
3529
|
+
!l.sortable && !he?.sortable || ($.value === K ? u.value = u.value === "asc" ? "desc" : "asc" : ($.value = K, u.value = "asc"), z("sort", K, u.value));
|
|
3530
|
+
}, Se = H(() => l.stickyColumns || []), be = H(() => l.columns.some((K) => V[`footer-${K.key}`])), ne = (K, he) => {
|
|
3531
|
+
const Q = V[`cell-${K.key}`] || K.key === "actions" || V.actions;
|
|
3532
3532
|
return K.key === "actions" && Q;
|
|
3533
3533
|
}, W = (K) => {
|
|
3534
3534
|
if (K.filterOptions)
|
|
@@ -3543,7 +3543,7 @@ const co = {
|
|
|
3543
3543
|
}, ie = (K) => {
|
|
3544
3544
|
D.value = D.value === K ? "" : K;
|
|
3545
3545
|
}, te = (K, he) => {
|
|
3546
|
-
K._isGroupHeader || (l.expandable && (g.value.has(he) ? g.value.delete(he) : g.value.add(he)), l.selectable && (N.value.has(he) ? N.value.delete(he) : N.value.add(he),
|
|
3546
|
+
K._isGroupHeader || (l.expandable && (g.value.has(he) ? g.value.delete(he) : g.value.add(he)), l.selectable && (N.value.has(he) ? N.value.delete(he) : N.value.add(he), z("rowSelect", N.value)), z("rowClick", K, he));
|
|
3547
3547
|
}, Y = (K, he, Q, fe) => {
|
|
3548
3548
|
const pe = w.value.findIndex((Be) => Be === K);
|
|
3549
3549
|
if (pe === -1) return;
|
|
@@ -3558,7 +3558,7 @@ const co = {
|
|
|
3558
3558
|
Oe = Oe[Ne[Be]];
|
|
3559
3559
|
Oe[Ne[Ne.length - 1]] = Q;
|
|
3560
3560
|
const gt = L.value.get(He);
|
|
3561
|
-
Q !== gt ? y.value.add(He) : y.value.delete(He),
|
|
3561
|
+
Q !== gt ? y.value.add(He) : y.value.delete(He), z("cellUpdate", K, he, Q, pe);
|
|
3562
3562
|
}, le = (K, he) => {
|
|
3563
3563
|
if (l.reorderable) {
|
|
3564
3564
|
if (F.value = he, k.value = !0, O.value = K.clientX, q.value = K.clientX, K.dataTransfer) {
|
|
@@ -3578,20 +3578,20 @@ const co = {
|
|
|
3578
3578
|
}, _e = (K) => {
|
|
3579
3579
|
k.value && (q.value = K.clientX);
|
|
3580
3580
|
}, Te = (K) => {
|
|
3581
|
-
!k.value || K === F.value || (
|
|
3581
|
+
!k.value || K === F.value || (S.value = K);
|
|
3582
3582
|
}, Ee = () => {
|
|
3583
3583
|
}, $e = (K, he) => {
|
|
3584
3584
|
if (!l.reorderable || F.value === null) return;
|
|
3585
3585
|
const Q = F.value;
|
|
3586
3586
|
if (Q !== he) {
|
|
3587
3587
|
const fe = [...c.value], pe = fe.splice(Q, 1)[0];
|
|
3588
|
-
fe.splice(he, 0, pe), c.value = fe,
|
|
3588
|
+
fe.splice(he, 0, pe), c.value = fe, z("columnReorder", Q, he, fe);
|
|
3589
3589
|
}
|
|
3590
3590
|
ve();
|
|
3591
3591
|
}, re = () => {
|
|
3592
3592
|
ve();
|
|
3593
3593
|
}, ve = () => {
|
|
3594
|
-
document.removeEventListener("dragover", _e), document.removeEventListener("drag", _e), F.value = null,
|
|
3594
|
+
document.removeEventListener("dragover", _e), document.removeEventListener("drag", _e), F.value = null, S.value = null, k.value = !1, O.value = 0, q.value = 0;
|
|
3595
3595
|
};
|
|
3596
3596
|
r({
|
|
3597
3597
|
internalData: w,
|
|
@@ -3637,7 +3637,7 @@ const co = {
|
|
|
3637
3637
|
"ui-table-cell--sticky": Q.sticky || Se.value.includes(Q.key) || ne(Q),
|
|
3638
3638
|
"ui-table-cell--actions": ne(Q),
|
|
3639
3639
|
"ui-table-cell--dragging": F.value === fe,
|
|
3640
|
-
"ui-table-cell--drag-over":
|
|
3640
|
+
"ui-table-cell--drag-over": S.value === fe && F.value !== fe,
|
|
3641
3641
|
"ui-table-cell--drag-target": k.value && F.value !== fe
|
|
3642
3642
|
}
|
|
3643
3643
|
]),
|
|
@@ -3669,10 +3669,10 @@ const co = {
|
|
|
3669
3669
|
e("span", null, R(Q.label), 1)
|
|
3670
3670
|
], !0),
|
|
3671
3671
|
Q.sortable ? (a(), o("span", $1, [
|
|
3672
|
-
|
|
3672
|
+
$.value === Q.key && u.value === "asc" ? (a(), ye(i(Fa), {
|
|
3673
3673
|
key: 0,
|
|
3674
3674
|
size: 16
|
|
3675
|
-
})) :
|
|
3675
|
+
})) : $.value === Q.key && u.value === "desc" ? (a(), ye(i(_a), {
|
|
3676
3676
|
key: 1,
|
|
3677
3677
|
size: 16
|
|
3678
3678
|
})) : (a(), ye(i(Gt), {
|
|
@@ -3812,7 +3812,7 @@ const co = {
|
|
|
3812
3812
|
g.value.has(fe) ? (a(), o("div", {
|
|
3813
3813
|
key: 2,
|
|
3814
3814
|
class: "ui-table-subrow",
|
|
3815
|
-
style: je(
|
|
3815
|
+
style: je(T.value)
|
|
3816
3816
|
}, [
|
|
3817
3817
|
e("div", D1, [
|
|
3818
3818
|
Pe(K.$slots, "expanded-row", {
|
|
@@ -3891,31 +3891,31 @@ const co = {
|
|
|
3891
3891
|
borderColor: { default: "transparent" }
|
|
3892
3892
|
},
|
|
3893
3893
|
setup(s) {
|
|
3894
|
-
const r = s, t = ha(), l = H(() => !!t.default),
|
|
3894
|
+
const r = s, t = ha(), l = H(() => !!t.default), z = H(() => !!t.header), V = H(() => !!t.navigation), C = H(() => r.sticky ? r.sticky === !0 ? { side: "top", offset: "0" } : {
|
|
3895
3895
|
side: r.sticky.side || "top",
|
|
3896
3896
|
offset: r.sticky.offset || "0"
|
|
3897
3897
|
} : null), w = H(() => {
|
|
3898
3898
|
if (!C.value) return {};
|
|
3899
|
-
const { side:
|
|
3899
|
+
const { side: $, offset: u } = C.value;
|
|
3900
3900
|
return {
|
|
3901
3901
|
position: "sticky",
|
|
3902
|
-
[
|
|
3902
|
+
[$]: u,
|
|
3903
3903
|
zIndex: 20
|
|
3904
3904
|
};
|
|
3905
3905
|
}), c = H(() => {
|
|
3906
3906
|
if (!r.gradient || r.variant !== "gradient" && r.variant !== "space") return null;
|
|
3907
|
-
const { angle:
|
|
3907
|
+
const { angle: $ = "135deg", stops: u = [] } = r.gradient;
|
|
3908
3908
|
if (u.length === 0) return null;
|
|
3909
3909
|
const m = u.sort((U, D) => U.position - D.position).map((U) => `${U.color} ${U.position}%`).join(", ");
|
|
3910
|
-
return `linear-gradient(${
|
|
3910
|
+
return `linear-gradient(${$}, ${m})`;
|
|
3911
3911
|
}), h = H(() => {
|
|
3912
|
-
const
|
|
3913
|
-
return c.value && (
|
|
3912
|
+
const $ = {};
|
|
3913
|
+
return c.value && ($["--hero-custom-background"] = c.value), $;
|
|
3914
3914
|
}), x = H(() => {
|
|
3915
|
-
const
|
|
3916
|
-
return c.value && (
|
|
3915
|
+
const $ = { ...w.value };
|
|
3916
|
+
return c.value && ($["--shadow-gradient"] = c.value), $["--border-color"] = r.borderColor, $;
|
|
3917
3917
|
});
|
|
3918
|
-
return (
|
|
3918
|
+
return ($, u) => (a(), o("div", {
|
|
3919
3919
|
class: Me(["ui-hero-wrapper", [
|
|
3920
3920
|
`ui-hero-wrapper--${s.variant}`,
|
|
3921
3921
|
`ui-hero-wrapper--shadow-${s.shadow}`
|
|
@@ -3933,17 +3933,17 @@ const co = {
|
|
|
3933
3933
|
style: je(h.value)
|
|
3934
3934
|
}, [
|
|
3935
3935
|
e("div", O1, [
|
|
3936
|
-
|
|
3937
|
-
Pe(
|
|
3936
|
+
z.value || s.title || s.description ? (a(), o("div", R1, [
|
|
3937
|
+
Pe($.$slots, "header", {}, () => [
|
|
3938
3938
|
s.title ? (a(), o("h1", F1, R(s.title), 1)) : I("", !0),
|
|
3939
3939
|
s.description ? (a(), o("p", q1, R(s.description), 1)) : I("", !0)
|
|
3940
3940
|
], !0)
|
|
3941
3941
|
])) : I("", !0),
|
|
3942
|
-
|
|
3943
|
-
Pe(
|
|
3942
|
+
V.value ? (a(), o("div", Z1, [
|
|
3943
|
+
Pe($.$slots, "navigation", {}, void 0, !0)
|
|
3944
3944
|
])) : I("", !0),
|
|
3945
3945
|
l.value ? (a(), o("div", K1, [
|
|
3946
|
-
Pe(
|
|
3946
|
+
Pe($.$slots, "default", {}, void 0, !0)
|
|
3947
3947
|
])) : I("", !0)
|
|
3948
3948
|
]),
|
|
3949
3949
|
s.variant === "space" ? (a(), o("div", G1, [...u[0] || (u[0] = [
|
|
@@ -4000,7 +4000,7 @@ function el() {
|
|
|
4000
4000
|
const C = s.value ? "light" : "dark";
|
|
4001
4001
|
t(C);
|
|
4002
4002
|
}
|
|
4003
|
-
function
|
|
4003
|
+
function z() {
|
|
4004
4004
|
switch (At.value) {
|
|
4005
4005
|
case "light":
|
|
4006
4006
|
t("dark");
|
|
@@ -4016,7 +4016,7 @@ function el() {
|
|
|
4016
4016
|
break;
|
|
4017
4017
|
}
|
|
4018
4018
|
}
|
|
4019
|
-
function
|
|
4019
|
+
function V() {
|
|
4020
4020
|
if (typeof window > "u") return;
|
|
4021
4021
|
Ma.value = Q1();
|
|
4022
4022
|
const C = window.matchMedia("(prefers-color-scheme: dark)"), w = (h) => {
|
|
@@ -4029,7 +4029,7 @@ function el() {
|
|
|
4029
4029
|
}, { immediate: !1 });
|
|
4030
4030
|
}
|
|
4031
4031
|
return Ye(() => {
|
|
4032
|
-
|
|
4032
|
+
V();
|
|
4033
4033
|
}), {
|
|
4034
4034
|
// State
|
|
4035
4035
|
currentTheme: H(() => At.value),
|
|
@@ -4038,8 +4038,8 @@ function el() {
|
|
|
4038
4038
|
// Actions
|
|
4039
4039
|
setTheme: t,
|
|
4040
4040
|
toggle: l,
|
|
4041
|
-
cycleTheme:
|
|
4042
|
-
initialize:
|
|
4041
|
+
cycleTheme: z,
|
|
4042
|
+
initialize: V,
|
|
4043
4043
|
// Theme options for UI
|
|
4044
4044
|
themeOptions: [
|
|
4045
4045
|
{ value: "light", label: "Light", icon: "sun" },
|
|
@@ -4053,16 +4053,16 @@ function tl() {
|
|
|
4053
4053
|
return da || (da = el(), typeof window < "u" && (localStorage.getItem(Ta) === null && (At.value = "system"), da.initialize())), da;
|
|
4054
4054
|
}
|
|
4055
4055
|
function al(s = "auto") {
|
|
4056
|
-
const r = fa("themeProvider", null), t = fa("uiApp", null), l = H(() => r?.isForced.value ? r.theme.value : t?.theme.value ? t.theme.value : s),
|
|
4056
|
+
const r = fa("themeProvider", null), t = fa("uiApp", null), l = H(() => r?.isForced.value ? r.theme.value : t?.theme.value ? t.theme.value : s), z = H(() => r?.isForced.value ?? !1), V = H(() => l.value === "auto" ? typeof window < "u" ? window.matchMedia("(prefers-color-scheme: dark)").matches : !1 : l.value === "dark"), C = H(() => l.value === "auto" ? typeof window < "u" ? !window.matchMedia("(prefers-color-scheme: dark)").matches : !0 : l.value === "light"), w = H(() => ({
|
|
4057
4057
|
"ui-theme--light": C.value,
|
|
4058
|
-
"ui-theme--dark":
|
|
4059
|
-
"ui-theme--forced":
|
|
4058
|
+
"ui-theme--dark": V.value,
|
|
4059
|
+
"ui-theme--forced": z.value
|
|
4060
4060
|
}));
|
|
4061
4061
|
return {
|
|
4062
4062
|
theme: l,
|
|
4063
|
-
isDark:
|
|
4063
|
+
isDark: V,
|
|
4064
4064
|
isLight: C,
|
|
4065
|
-
isForced:
|
|
4065
|
+
isForced: z,
|
|
4066
4066
|
themeClass: w
|
|
4067
4067
|
};
|
|
4068
4068
|
}
|
|
@@ -4086,13 +4086,13 @@ const sl = {
|
|
|
4086
4086
|
includeLabel: { type: Boolean, default: !1 }
|
|
4087
4087
|
},
|
|
4088
4088
|
setup(s) {
|
|
4089
|
-
const r = s, { isForced: t } = al(), { currentTheme: l, themeLabel:
|
|
4089
|
+
const r = s, { isForced: t } = al(), { currentTheme: l, themeLabel: z, setTheme: V, cycleTheme: C, themeOptions: w } = tl(), c = H(() => t.value), h = M(!1), x = {
|
|
4090
4090
|
sun: fs,
|
|
4091
4091
|
moon: vs,
|
|
4092
4092
|
monitor: Ea,
|
|
4093
4093
|
"chevron-up": Fa,
|
|
4094
4094
|
"chevron-down": _a
|
|
4095
|
-
},
|
|
4095
|
+
}, $ = (g) => x[g] || Ea, u = H(() => l.value === "dark" ? "moon" : l.value === "light" ? "sun" : "monitor"), m = H(() => l.value === "dark" ? "Light" : l.value === "light" ? "System" : "Dark"), U = () => {
|
|
4096
4096
|
r.variant === "button" && C();
|
|
4097
4097
|
}, D = (g) => {
|
|
4098
4098
|
g.target.closest(".ui-theme-toggle-dropdown") || (h.value = !1);
|
|
@@ -4117,7 +4117,7 @@ const sl = {
|
|
|
4117
4117
|
}, Ft({
|
|
4118
4118
|
default: _(() => [
|
|
4119
4119
|
s.includeLabel ? (a(), o(De, { key: 0 }, [
|
|
4120
|
-
J(R(i(
|
|
4120
|
+
J(R(i(z)) + R(c.value ? " (Locked)" : ""), 1)
|
|
4121
4121
|
], 64)) : I("", !0)
|
|
4122
4122
|
]),
|
|
4123
4123
|
_: 2
|
|
@@ -4125,13 +4125,13 @@ const sl = {
|
|
|
4125
4125
|
s.includeLabel ? {
|
|
4126
4126
|
name: "leading-icon",
|
|
4127
4127
|
fn: _(() => [
|
|
4128
|
-
(a(), ye(ot(
|
|
4128
|
+
(a(), ye(ot($(u.value))))
|
|
4129
4129
|
]),
|
|
4130
4130
|
key: "0"
|
|
4131
4131
|
} : {
|
|
4132
4132
|
name: "icon",
|
|
4133
4133
|
fn: _(() => [
|
|
4134
|
-
(a(), ye(ot(
|
|
4134
|
+
(a(), ye(ot($(u.value))))
|
|
4135
4135
|
]),
|
|
4136
4136
|
key: "1"
|
|
4137
4137
|
}
|
|
@@ -4146,13 +4146,13 @@ const sl = {
|
|
|
4146
4146
|
title: c.value ? "Theme is locked by app settings" : void 0
|
|
4147
4147
|
}, {
|
|
4148
4148
|
"leading-icon": _(() => [
|
|
4149
|
-
(a(), ye(ot(
|
|
4149
|
+
(a(), ye(ot($(u.value))))
|
|
4150
4150
|
]),
|
|
4151
4151
|
"trailing-icon": _(() => [
|
|
4152
|
-
(a(), ye(ot(
|
|
4152
|
+
(a(), ye(ot($(h.value ? "chevron-up" : "chevron-down"))))
|
|
4153
4153
|
]),
|
|
4154
4154
|
default: _(() => [
|
|
4155
|
-
J(" " + R(i(
|
|
4155
|
+
J(" " + R(i(z)) + R(c.value ? " (Locked)" : "") + " ", 1)
|
|
4156
4156
|
]),
|
|
4157
4157
|
_: 1
|
|
4158
4158
|
}, 8, ["size", "disabled", "class", "title"]),
|
|
@@ -4171,9 +4171,9 @@ const sl = {
|
|
|
4171
4171
|
}
|
|
4172
4172
|
]),
|
|
4173
4173
|
disabled: c.value,
|
|
4174
|
-
onClick: (L) => c.value ? null : i(
|
|
4174
|
+
onClick: (L) => c.value ? null : i(V)(y.value)
|
|
4175
4175
|
}, [
|
|
4176
|
-
(a(), ye(ot(
|
|
4176
|
+
(a(), ye(ot($(y.icon)), { class: "ui-theme-toggle-option-icon" })),
|
|
4177
4177
|
e("span", null, R(y.label), 1),
|
|
4178
4178
|
i(l) === y.value ? (a(), o("div", ll)) : I("", !0)
|
|
4179
4179
|
], 10, ol))), 128))
|
|
@@ -4192,7 +4192,7 @@ const sl = {
|
|
|
4192
4192
|
]),
|
|
4193
4193
|
"aria-pressed": i(l) === y.value,
|
|
4194
4194
|
"aria-label": `${y.label} theme`,
|
|
4195
|
-
onClick: (L) => i(
|
|
4195
|
+
onClick: (L) => i(V)(y.value),
|
|
4196
4196
|
title: `Switch to ${y.label.toLowerCase()} theme`
|
|
4197
4197
|
}, Ft({
|
|
4198
4198
|
default: _(() => [
|
|
@@ -4205,13 +4205,13 @@ const sl = {
|
|
|
4205
4205
|
s.includeLabel ? {
|
|
4206
4206
|
name: "leading-icon",
|
|
4207
4207
|
fn: _(() => [
|
|
4208
|
-
(a(), ye(ot(
|
|
4208
|
+
(a(), ye(ot($(y.icon))))
|
|
4209
4209
|
]),
|
|
4210
4210
|
key: "0"
|
|
4211
4211
|
} : {
|
|
4212
4212
|
name: "icon",
|
|
4213
4213
|
fn: _(() => [
|
|
4214
|
-
(a(), ye(ot(
|
|
4214
|
+
(a(), ye(ot($(y.icon))))
|
|
4215
4215
|
]),
|
|
4216
4216
|
key: "1"
|
|
4217
4217
|
}
|
|
@@ -4274,51 +4274,51 @@ const sl = {
|
|
|
4274
4274
|
},
|
|
4275
4275
|
emits: ["update:modelValue", "change", "input", "focus", "blur"],
|
|
4276
4276
|
setup(s, { emit: r }) {
|
|
4277
|
-
const t = s, l = r,
|
|
4278
|
-
Le(() => t.value, (
|
|
4279
|
-
|
|
4280
|
-
}, { immediate: !0 }), Le(() => t.modelValue, (
|
|
4281
|
-
|
|
4277
|
+
const t = s, l = r, z = M(), V = M(!1), C = M(0), w = M(null), c = M(0), h = H(() => t.modelValue !== void 0 ? Number(t.modelValue) : t.value !== void 0 ? Number(t.value) : c.value);
|
|
4278
|
+
Le(() => t.value, (S) => {
|
|
4279
|
+
S !== void 0 && (c.value = Number(S));
|
|
4280
|
+
}, { immediate: !0 }), Le(() => t.modelValue, (S) => {
|
|
4281
|
+
S !== void 0 && (c.value = Number(S));
|
|
4282
4282
|
}, { immediate: !0 });
|
|
4283
4283
|
const x = H(() => {
|
|
4284
|
-
const
|
|
4284
|
+
const S = t.max - t.min, k = (h.value - t.min) / S * 100;
|
|
4285
4285
|
return Math.max(0, Math.min(100, k));
|
|
4286
|
-
}),
|
|
4286
|
+
}), $ = H(() => h.value?.toFixed(t.step < 1 ? 1 : 0) || "0"), u = H(() => `slider-size-${t.size}`), m = H(() => t.color ? `slider-color-${t.color}` : ""), U = H(() => {
|
|
4287
4287
|
if (!t.showTicks) return [];
|
|
4288
|
-
const
|
|
4288
|
+
const S = [], k = t.max - t.min, O = k / (t.tickCount - 1);
|
|
4289
4289
|
for (let q = 0; q < t.tickCount; q++) {
|
|
4290
|
-
const b = t.min + O * q,
|
|
4291
|
-
|
|
4290
|
+
const b = t.min + O * q, T = (b - t.min) / k * 100;
|
|
4291
|
+
S.push({
|
|
4292
4292
|
value: b,
|
|
4293
|
-
position:
|
|
4293
|
+
position: T,
|
|
4294
4294
|
label: b.toFixed(t.step < 1 ? 1 : 0)
|
|
4295
4295
|
});
|
|
4296
4296
|
}
|
|
4297
|
-
return
|
|
4298
|
-
}), D = (
|
|
4299
|
-
const k =
|
|
4300
|
-
C.value++, C.value > 1 && (
|
|
4301
|
-
|
|
4297
|
+
return S;
|
|
4298
|
+
}), D = (S) => {
|
|
4299
|
+
const k = S.target, O = parseFloat(k.value);
|
|
4300
|
+
C.value++, C.value > 1 && (V.value = !0, w.value && clearTimeout(w.value), w.value = setTimeout(() => {
|
|
4301
|
+
V.value = !1, C.value = 0;
|
|
4302
4302
|
}, 100)), c.value = O, l("update:modelValue", O), l("input", O);
|
|
4303
|
-
}, g = (
|
|
4304
|
-
const k =
|
|
4303
|
+
}, g = (S) => {
|
|
4304
|
+
const k = S.target, O = parseFloat(k.value);
|
|
4305
4305
|
l("change", O);
|
|
4306
|
-
}, N = (
|
|
4307
|
-
l("focus",
|
|
4308
|
-
}, y = (
|
|
4309
|
-
l("blur",
|
|
4306
|
+
}, N = (S) => {
|
|
4307
|
+
l("focus", S);
|
|
4308
|
+
}, y = (S) => {
|
|
4309
|
+
l("blur", S);
|
|
4310
4310
|
}, L = () => {
|
|
4311
4311
|
C.value = 0;
|
|
4312
4312
|
}, F = () => {
|
|
4313
|
-
C.value = 0,
|
|
4313
|
+
C.value = 0, V.value = !1, w.value && (clearTimeout(w.value), w.value = null);
|
|
4314
4314
|
};
|
|
4315
|
-
return (
|
|
4315
|
+
return (S, k) => (a(), o("div", {
|
|
4316
4316
|
class: Me(["slider-wrapper", [
|
|
4317
4317
|
u.value,
|
|
4318
4318
|
m.value,
|
|
4319
4319
|
{
|
|
4320
4320
|
"slider-disabled": s.disabled,
|
|
4321
|
-
"slider-dragging":
|
|
4321
|
+
"slider-dragging": V.value
|
|
4322
4322
|
}
|
|
4323
4323
|
]])
|
|
4324
4324
|
}, [
|
|
@@ -4331,7 +4331,7 @@ const sl = {
|
|
|
4331
4331
|
J(R(s.label) + " ", 1),
|
|
4332
4332
|
s.required ? (a(), o("span", ul, "*")) : I("", !0)
|
|
4333
4333
|
], 8, cl)) : I("", !0),
|
|
4334
|
-
s.showValue ? (a(), o("div", dl, R(
|
|
4334
|
+
s.showValue ? (a(), o("div", dl, R($.value) + R(s.unit), 1)) : I("", !0)
|
|
4335
4335
|
])) : I("", !0),
|
|
4336
4336
|
e("div", {
|
|
4337
4337
|
class: Me(["slider-container", { "slider-error": s.error }])
|
|
@@ -4341,7 +4341,7 @@ const sl = {
|
|
|
4341
4341
|
e("input", {
|
|
4342
4342
|
id: s.inputId,
|
|
4343
4343
|
ref_key: "sliderRef",
|
|
4344
|
-
ref:
|
|
4344
|
+
ref: z,
|
|
4345
4345
|
type: "range",
|
|
4346
4346
|
value: h.value,
|
|
4347
4347
|
min: s.min,
|
|
@@ -4429,7 +4429,7 @@ const sl = {
|
|
|
4429
4429
|
},
|
|
4430
4430
|
emits: ["update:modelValue", "change", "focus", "blur"],
|
|
4431
4431
|
setup(s, { emit: r }) {
|
|
4432
|
-
const t = s, l = r,
|
|
4432
|
+
const t = s, l = r, z = H(() => `radio-group-size-${t.size}`), V = H(() => t.orientation === "horizontal" ? "radio-options-horizontal" : "radio-options-vertical"), C = (x) => {
|
|
4433
4433
|
t.disabled || x.disabled || t.modelValue !== x.value && (l("update:modelValue", x.value), l("change", x.value));
|
|
4434
4434
|
}, w = (x) => {
|
|
4435
4435
|
const u = x.target.value;
|
|
@@ -4439,9 +4439,9 @@ const sl = {
|
|
|
4439
4439
|
}, h = (x) => {
|
|
4440
4440
|
l("blur", x);
|
|
4441
4441
|
};
|
|
4442
|
-
return (x,
|
|
4442
|
+
return (x, $) => (a(), o("div", {
|
|
4443
4443
|
class: Me(["radio-group", [
|
|
4444
|
-
|
|
4444
|
+
z.value,
|
|
4445
4445
|
{ "radio-group-disabled": s.disabled }
|
|
4446
4446
|
]])
|
|
4447
4447
|
}, [
|
|
@@ -4452,7 +4452,7 @@ const sl = {
|
|
|
4452
4452
|
s.description ? (a(), o("p", $l, R(s.description), 1)) : I("", !0),
|
|
4453
4453
|
e("div", {
|
|
4454
4454
|
class: Me(["radio-options", [
|
|
4455
|
-
|
|
4455
|
+
V.value,
|
|
4456
4456
|
{ "radio-options-cards": s.variant === "card" }
|
|
4457
4457
|
]])
|
|
4458
4458
|
}, [
|
|
@@ -4480,7 +4480,7 @@ const sl = {
|
|
|
4480
4480
|
onFocus: c,
|
|
4481
4481
|
onBlur: h
|
|
4482
4482
|
}, null, 40, Al),
|
|
4483
|
-
|
|
4483
|
+
$[0] || ($[0] = e("div", { class: "radio-button" }, [
|
|
4484
4484
|
e("div", { class: "radio-button-inner" })
|
|
4485
4485
|
], -1)),
|
|
4486
4486
|
e("div", _l, [
|
|
@@ -4567,14 +4567,14 @@ const sl = {
|
|
|
4567
4567
|
},
|
|
4568
4568
|
emits: ["update:modelValue", "change", "focus", "blur"],
|
|
4569
4569
|
setup(s, { emit: r }) {
|
|
4570
|
-
const t = s, l = r,
|
|
4570
|
+
const t = s, l = r, z = H(() => `checkbox-group-size-${t.size}`), V = H(() => t.orientation === "horizontal" ? "checkbox-options-horizontal" : "checkbox-options-vertical"), C = H(() => {
|
|
4571
4571
|
const g = t.options.filter((N) => !N.disabled);
|
|
4572
4572
|
return g.length > 0 && g.every(
|
|
4573
4573
|
(N) => t.modelValue.includes(N.value)
|
|
4574
4574
|
);
|
|
4575
4575
|
}), w = H(() => t.options.filter((N) => !N.disabled).some((N) => t.modelValue.includes(N.value))), c = (g) => t.modelValue.includes(g), h = (g) => t.options.find((y) => y.value === g)?.indeterminate || !1, x = (g) => {
|
|
4576
|
-
t.disabled || g.disabled ||
|
|
4577
|
-
},
|
|
4576
|
+
t.disabled || g.disabled || $(g);
|
|
4577
|
+
}, $ = (g, N) => {
|
|
4578
4578
|
const y = [...t.modelValue], L = y.indexOf(g.value);
|
|
4579
4579
|
L > -1 ? y.splice(L, 1) : y.push(g.value), l("update:modelValue", y), l("change", y);
|
|
4580
4580
|
}, u = () => {
|
|
@@ -4597,7 +4597,7 @@ const sl = {
|
|
|
4597
4597
|
};
|
|
4598
4598
|
return (g, N) => (a(), o("div", {
|
|
4599
4599
|
class: Me(["checkbox-group", [
|
|
4600
|
-
|
|
4600
|
+
z.value,
|
|
4601
4601
|
{ "checkbox-group-disabled": s.disabled }
|
|
4602
4602
|
]])
|
|
4603
4603
|
}, [
|
|
@@ -4608,7 +4608,7 @@ const sl = {
|
|
|
4608
4608
|
s.description ? (a(), o("p", Nl, R(s.description), 1)) : I("", !0),
|
|
4609
4609
|
e("div", {
|
|
4610
4610
|
class: Me(["checkbox-options", [
|
|
4611
|
-
|
|
4611
|
+
V.value,
|
|
4612
4612
|
{ "checkbox-options-cards": s.variant === "card" }
|
|
4613
4613
|
]])
|
|
4614
4614
|
}, [
|
|
@@ -4634,7 +4634,7 @@ const sl = {
|
|
|
4634
4634
|
required: s.required && s.modelValue.length === 0,
|
|
4635
4635
|
indeterminate: h(y.value),
|
|
4636
4636
|
class: "checkbox-input",
|
|
4637
|
-
onChange: (L) =>
|
|
4637
|
+
onChange: (L) => $(y),
|
|
4638
4638
|
onFocus: U,
|
|
4639
4639
|
onBlur: D
|
|
4640
4640
|
}, null, 40, Pl),
|
|
@@ -4742,39 +4742,39 @@ const sl = {
|
|
|
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(" ")),
|
|
4746
|
-
return (
|
|
4745
|
+
].filter(Boolean).join(" ")), z = H(() => ({}));
|
|
4746
|
+
return (V, C) => (a(), o("div", on, [
|
|
4747
4747
|
s.variant === "dot-only" ? (a(), ye(Kt, {
|
|
4748
4748
|
key: 0,
|
|
4749
|
-
content: s.tooltip ||
|
|
4749
|
+
content: s.tooltip || V.$slots.default?.()?.[0]?.children || "",
|
|
4750
4750
|
delay: 0
|
|
4751
4751
|
}, {
|
|
4752
4752
|
default: _(() => [
|
|
4753
4753
|
e("span", {
|
|
4754
4754
|
class: Me(l.value),
|
|
4755
|
-
style: je(
|
|
4755
|
+
style: je(z.value)
|
|
4756
4756
|
}, null, 6)
|
|
4757
4757
|
]),
|
|
4758
4758
|
_: 1
|
|
4759
4759
|
}, 8, ["content"])) : (a(), o("span", {
|
|
4760
4760
|
key: 1,
|
|
4761
4761
|
class: Me([l.value, {
|
|
4762
|
-
"ui-pill-has-leading-icon":
|
|
4763
|
-
"ui-pill-has-trailing-icon":
|
|
4762
|
+
"ui-pill-has-leading-icon": V.$slots["leading-icon"],
|
|
4763
|
+
"ui-pill-has-trailing-icon": V.$slots["trailing-icon"]
|
|
4764
4764
|
}]),
|
|
4765
|
-
style: je(
|
|
4765
|
+
style: je(z.value)
|
|
4766
4766
|
}, [
|
|
4767
|
-
|
|
4768
|
-
Pe(
|
|
4767
|
+
V.$slots["leading-icon"] && !s.iconOnly ? (a(), o("span", ln, [
|
|
4768
|
+
Pe(V.$slots, "leading-icon", {}, void 0, !0)
|
|
4769
4769
|
])) : I("", !0),
|
|
4770
4770
|
s.icon && s.iconOnly ? (a(), o("span", nn, [
|
|
4771
|
-
Pe(
|
|
4771
|
+
Pe(V.$slots, "icon", {}, void 0, !0)
|
|
4772
4772
|
])) : I("", !0),
|
|
4773
4773
|
s.iconOnly ? I("", !0) : (a(), o("span", rn, [
|
|
4774
|
-
Pe(
|
|
4774
|
+
Pe(V.$slots, "default", {}, void 0, !0)
|
|
4775
4775
|
])),
|
|
4776
|
-
|
|
4777
|
-
Pe(
|
|
4776
|
+
V.$slots["trailing-icon"] && !s.iconOnly ? (a(), o("span", cn, [
|
|
4777
|
+
Pe(V.$slots, "trailing-icon", {}, void 0, !0)
|
|
4778
4778
|
])) : I("", !0)
|
|
4779
4779
|
], 6))
|
|
4780
4780
|
]));
|
|
@@ -4796,11 +4796,11 @@ const sl = {
|
|
|
4796
4796
|
config: {}
|
|
4797
4797
|
},
|
|
4798
4798
|
setup(s) {
|
|
4799
|
-
const r = s, { config: t } = vt(r.config), l = H(() => t.value.baseUrl !== "https://accounts.strands.gg"),
|
|
4799
|
+
const r = s, { config: t } = vt(r.config), l = H(() => t.value.baseUrl !== "https://accounts.strands.gg"), z = ha(), V = H(() => dn("default", z));
|
|
4800
4800
|
return (C, w) => (a(), o("div", pn, [
|
|
4801
4801
|
l.value ? (a(), o("div", {
|
|
4802
4802
|
key: 0,
|
|
4803
|
-
class: Me(["secured-footer", { "secured-footer-with-content":
|
|
4803
|
+
class: Me(["secured-footer", { "secured-footer-with-content": V.value, "secured-footer-centered": !V.value }])
|
|
4804
4804
|
}, [
|
|
4805
4805
|
Pe(C.$slots, "default", {}, void 0, !0),
|
|
4806
4806
|
l.value ? (a(), o("div", fn, [
|
|
@@ -4821,7 +4821,7 @@ function Tt() {
|
|
|
4821
4821
|
() => va.value.filter(
|
|
4822
4822
|
(g) => g.is_active && g.device_type !== "hardware" && g.device_type !== "passkey"
|
|
4823
4823
|
)
|
|
4824
|
-
),
|
|
4824
|
+
), z = async (g, N = {}) => {
|
|
4825
4825
|
const y = {
|
|
4826
4826
|
"Content-Type": "application/json",
|
|
4827
4827
|
...N.headers || {}
|
|
@@ -4833,20 +4833,20 @@ function Tt() {
|
|
|
4833
4833
|
});
|
|
4834
4834
|
if (!L.ok) {
|
|
4835
4835
|
const F = await L.text();
|
|
4836
|
-
let
|
|
4836
|
+
let S = `Request failed: ${L.status} ${L.statusText}`;
|
|
4837
4837
|
try {
|
|
4838
4838
|
const k = JSON.parse(F);
|
|
4839
|
-
|
|
4839
|
+
S = k.error?.message || k.message || S;
|
|
4840
4840
|
} catch {
|
|
4841
|
-
F && (
|
|
4841
|
+
F && (S = F);
|
|
4842
4842
|
}
|
|
4843
|
-
throw new Error(
|
|
4843
|
+
throw new Error(S);
|
|
4844
4844
|
}
|
|
4845
4845
|
return L.json();
|
|
4846
|
-
},
|
|
4846
|
+
}, V = async () => {
|
|
4847
4847
|
We.value = !0;
|
|
4848
4848
|
try {
|
|
4849
|
-
const g = await
|
|
4849
|
+
const g = await z(s("mfaDevices"), {
|
|
4850
4850
|
method: "GET"
|
|
4851
4851
|
});
|
|
4852
4852
|
return va.value = g.devices || [], Ba.value = g.mfa_enabled || !1, g;
|
|
@@ -4856,42 +4856,42 @@ function Tt() {
|
|
|
4856
4856
|
}, C = async (g) => {
|
|
4857
4857
|
We.value = !0;
|
|
4858
4858
|
try {
|
|
4859
|
-
const N = await
|
|
4859
|
+
const N = await z(s("mfaTotpSetup"), {
|
|
4860
4860
|
method: "POST",
|
|
4861
4861
|
body: JSON.stringify({ device_name: g })
|
|
4862
4862
|
});
|
|
4863
|
-
return await
|
|
4863
|
+
return await V(), N;
|
|
4864
4864
|
} finally {
|
|
4865
4865
|
We.value = !1;
|
|
4866
4866
|
}
|
|
4867
4867
|
}, w = async (g, N) => {
|
|
4868
4868
|
We.value = !0;
|
|
4869
4869
|
try {
|
|
4870
|
-
await
|
|
4870
|
+
await z(s("mfaTotpVerify"), {
|
|
4871
4871
|
method: "POST",
|
|
4872
4872
|
body: JSON.stringify({
|
|
4873
4873
|
device_id: g,
|
|
4874
4874
|
totp_code: N
|
|
4875
4875
|
})
|
|
4876
|
-
}), await
|
|
4876
|
+
}), await V();
|
|
4877
4877
|
} finally {
|
|
4878
4878
|
We.value = !1;
|
|
4879
4879
|
}
|
|
4880
4880
|
}, c = async (g) => {
|
|
4881
4881
|
We.value = !0;
|
|
4882
4882
|
try {
|
|
4883
|
-
const N = await
|
|
4883
|
+
const N = await z(s("mfaEmailSetup"), {
|
|
4884
4884
|
method: "POST",
|
|
4885
4885
|
body: JSON.stringify({ device_name: g })
|
|
4886
4886
|
});
|
|
4887
|
-
return await
|
|
4887
|
+
return await V(), N;
|
|
4888
4888
|
} finally {
|
|
4889
4889
|
We.value = !1;
|
|
4890
4890
|
}
|
|
4891
4891
|
}, h = async (g) => {
|
|
4892
4892
|
We.value = !0;
|
|
4893
4893
|
try {
|
|
4894
|
-
await
|
|
4894
|
+
await z(s("mfaEmailSend"), {
|
|
4895
4895
|
method: "POST",
|
|
4896
4896
|
body: JSON.stringify({ device_id: g })
|
|
4897
4897
|
});
|
|
@@ -4901,7 +4901,7 @@ function Tt() {
|
|
|
4901
4901
|
}, x = async (g, N) => {
|
|
4902
4902
|
We.value = !0;
|
|
4903
4903
|
try {
|
|
4904
|
-
return (await
|
|
4904
|
+
return (await z(s("mfaEmailVerify"), {
|
|
4905
4905
|
method: "POST",
|
|
4906
4906
|
body: JSON.stringify({
|
|
4907
4907
|
device_id: g,
|
|
@@ -4911,20 +4911,20 @@ function Tt() {
|
|
|
4911
4911
|
} finally {
|
|
4912
4912
|
We.value = !1;
|
|
4913
4913
|
}
|
|
4914
|
-
},
|
|
4914
|
+
}, $ = async (g) => {
|
|
4915
4915
|
We.value = !0;
|
|
4916
4916
|
try {
|
|
4917
|
-
await
|
|
4917
|
+
await z(s("mfaDeviceDisable"), {
|
|
4918
4918
|
method: "POST",
|
|
4919
4919
|
body: JSON.stringify({ device_id: g })
|
|
4920
|
-
}), await
|
|
4920
|
+
}), await V();
|
|
4921
4921
|
} finally {
|
|
4922
4922
|
We.value = !1;
|
|
4923
4923
|
}
|
|
4924
4924
|
}, u = async (g) => {
|
|
4925
4925
|
We.value = !0;
|
|
4926
4926
|
try {
|
|
4927
|
-
return await
|
|
4927
|
+
return await z(s("mfaBackupCodes"), {
|
|
4928
4928
|
method: "POST",
|
|
4929
4929
|
body: JSON.stringify({ device_id: g })
|
|
4930
4930
|
});
|
|
@@ -4974,13 +4974,13 @@ function Tt() {
|
|
|
4974
4974
|
hasMfaDevices: t,
|
|
4975
4975
|
activeMfaDevices: l,
|
|
4976
4976
|
// Methods
|
|
4977
|
-
fetchMfaDevices:
|
|
4977
|
+
fetchMfaDevices: V,
|
|
4978
4978
|
setupTotp: C,
|
|
4979
4979
|
verifyTotpSetup: w,
|
|
4980
4980
|
setupEmailMfa: c,
|
|
4981
4981
|
sendEmailMfaCode: h,
|
|
4982
4982
|
verifyEmailMfaCode: x,
|
|
4983
|
-
disableMfaDevice:
|
|
4983
|
+
disableMfaDevice: $,
|
|
4984
4984
|
regenerateBackupCodes: u,
|
|
4985
4985
|
// Helper methods
|
|
4986
4986
|
getDeviceTypeIcon: m,
|
|
@@ -5062,7 +5062,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5062
5062
|
oe("path", { d: "m22 6-10 7L2 6" })
|
|
5063
5063
|
]);
|
|
5064
5064
|
}
|
|
5065
|
-
},
|
|
5065
|
+
}, z = {
|
|
5066
5066
|
props: ["size"],
|
|
5067
5067
|
render() {
|
|
5068
5068
|
return oe("svg", {
|
|
@@ -5077,7 +5077,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5077
5077
|
oe("path", { d: "m15.5 7.5 3 3L22 7l-3-3" })
|
|
5078
5078
|
]);
|
|
5079
5079
|
}
|
|
5080
|
-
},
|
|
5080
|
+
}, V = {
|
|
5081
5081
|
props: ["size"],
|
|
5082
5082
|
render() {
|
|
5083
5083
|
return oe("svg", {
|
|
@@ -5121,7 +5121,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5121
5121
|
}
|
|
5122
5122
|
}, c = s, h = r, {
|
|
5123
5123
|
loading: x,
|
|
5124
|
-
getDeviceTypeName:
|
|
5124
|
+
getDeviceTypeName: $
|
|
5125
5125
|
} = Tt(), {
|
|
5126
5126
|
verifyMfa: u,
|
|
5127
5127
|
sendMfaEmailCode: m,
|
|
@@ -5131,12 +5131,12 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5131
5131
|
loadingMessage: N,
|
|
5132
5132
|
isSendingMfaEmail: y,
|
|
5133
5133
|
isVerifyingMfa: L
|
|
5134
|
-
} = ft(), F = H(() => x.value || g.value),
|
|
5134
|
+
} = ft(), F = H(() => x.value || g.value), S = H({
|
|
5135
5135
|
get: () => c.show,
|
|
5136
5136
|
set: ($e) => {
|
|
5137
5137
|
$e || h("close");
|
|
5138
5138
|
}
|
|
5139
|
-
}), k = M(null), O = M(""), q = M(""), b = M(""),
|
|
5139
|
+
}), k = M(null), O = M(""), q = M(""), b = M(""), T = M(""), ae = M(!1), ce = M(!1), Ce = M(!1), xe = M(0);
|
|
5140
5140
|
let Ae = null;
|
|
5141
5141
|
const Se = H(() => (c.availableMfaMethods || []).filter(
|
|
5142
5142
|
(re) => re.device_type !== "hardware" && re.device_type !== "passkey"
|
|
@@ -5144,7 +5144,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5144
5144
|
Le(() => Se.value, ($e) => {
|
|
5145
5145
|
$e.length === 1 ? k.value = $e[0] : $e.length === 0 && (k.value = null);
|
|
5146
5146
|
}, { immediate: !0 }), Le(() => c.show, async ($e) => {
|
|
5147
|
-
$e ? (O.value = "", q.value = "", b.value = "",
|
|
5147
|
+
$e ? (O.value = "", q.value = "", b.value = "", T.value = "", ae.value = !1, ce.value = !1, Ce.value = !1, xe.value = 0, Ae && (clearInterval(Ae), Ae = null), Se.value.length === 1 && (k.value = Se.value[0], k.value.device_type === "email" && setTimeout(async () => {
|
|
5148
5148
|
try {
|
|
5149
5149
|
await m(k.value.id), ce.value = !0, Y();
|
|
5150
5150
|
} catch (re) {
|
|
@@ -5166,7 +5166,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5166
5166
|
const ve = re.substring(0, 4), Ie = re.substring(4, 8);
|
|
5167
5167
|
re = Ie ? `${ve}-${Ie}` : ve;
|
|
5168
5168
|
}
|
|
5169
|
-
re.replace(/-/g, "").length <= 8 && (b.value = re),
|
|
5169
|
+
re.replace(/-/g, "").length <= 8 && (b.value = re), T.value = "";
|
|
5170
5170
|
}, ie = ($e) => {
|
|
5171
5171
|
$e.preventDefault();
|
|
5172
5172
|
let ve = ($e.clipboardData?.getData("text/plain") || "").replace(/[^a-zA-Z0-9-]/g, "").toLowerCase();
|
|
@@ -5174,7 +5174,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5174
5174
|
const Ie = ve.substring(0, 4), K = ve.substring(4, 8);
|
|
5175
5175
|
ve = K ? `${Ie}-${K}` : Ie;
|
|
5176
5176
|
}
|
|
5177
|
-
ve.replace(/-/g, "").length <= 8 && (b.value = ve),
|
|
5177
|
+
ve.replace(/-/g, "").length <= 8 && (b.value = ve), T.value = "";
|
|
5178
5178
|
}, te = async () => {
|
|
5179
5179
|
if (!(!k.value || k.value.device_type !== "email"))
|
|
5180
5180
|
try {
|
|
@@ -5197,11 +5197,11 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5197
5197
|
}
|
|
5198
5198
|
}, _e = async () => {
|
|
5199
5199
|
if (b.value) {
|
|
5200
|
-
|
|
5200
|
+
T.value = "";
|
|
5201
5201
|
try {
|
|
5202
5202
|
await u("", b.value, !0), h("success");
|
|
5203
5203
|
} catch ($e) {
|
|
5204
|
-
|
|
5204
|
+
T.value = $e instanceof Error ? $e.message : "Invalid backup code";
|
|
5205
5205
|
}
|
|
5206
5206
|
}
|
|
5207
5207
|
}, Te = ($e) => {
|
|
@@ -5211,11 +5211,11 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5211
5211
|
case "email":
|
|
5212
5212
|
return l;
|
|
5213
5213
|
case "hardware":
|
|
5214
|
-
return
|
|
5214
|
+
return z;
|
|
5215
5215
|
case "passkey":
|
|
5216
|
-
return
|
|
5216
|
+
return V;
|
|
5217
5217
|
default:
|
|
5218
|
-
return
|
|
5218
|
+
return V;
|
|
5219
5219
|
}
|
|
5220
5220
|
}, Ee = async () => {
|
|
5221
5221
|
const $e = c.sessionId || D.value;
|
|
@@ -5284,8 +5284,8 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5284
5284
|
};
|
|
5285
5285
|
return ($e, re) => (a(), o("div", gn, [
|
|
5286
5286
|
d(pt, {
|
|
5287
|
-
modelValue:
|
|
5288
|
-
"onUpdate:modelValue": re[6] || (re[6] = (ve) =>
|
|
5287
|
+
modelValue: S.value,
|
|
5288
|
+
"onUpdate:modelValue": re[6] || (re[6] = (ve) => S.value = ve),
|
|
5289
5289
|
"card-class": "mfa-verification-modal",
|
|
5290
5290
|
class: "mfa-verification-modal-wrapper"
|
|
5291
5291
|
}, {
|
|
@@ -5344,7 +5344,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5344
5344
|
})),
|
|
5345
5345
|
e("div", $n, [
|
|
5346
5346
|
e("p", Sn, R(ve.device_name), 1),
|
|
5347
|
-
e("p", An, R(i(
|
|
5347
|
+
e("p", An, R(i($)(ve.device_type)), 1)
|
|
5348
5348
|
]),
|
|
5349
5349
|
k.value?.id === ve.id ? (a(), o("div", _n, [
|
|
5350
5350
|
d(C, { size: 20 })
|
|
@@ -5359,7 +5359,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5359
5359
|
})),
|
|
5360
5360
|
e("div", null, [
|
|
5361
5361
|
e("h3", Vn, R(k.value.device_name), 1),
|
|
5362
|
-
e("p", In, R(i(
|
|
5362
|
+
e("p", In, R(i($)(k.value.device_type)), 1)
|
|
5363
5363
|
])
|
|
5364
5364
|
])
|
|
5365
5365
|
])) : I("", !0),
|
|
@@ -5381,7 +5381,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5381
5381
|
e("div", Hn, [
|
|
5382
5382
|
e("div", Un, [
|
|
5383
5383
|
e("div", Dn, [
|
|
5384
|
-
(a(), ye(ot(k.value.device_type === "passkey" ?
|
|
5384
|
+
(a(), ye(ot(k.value.device_type === "passkey" ? V : z), {
|
|
5385
5385
|
size: 24,
|
|
5386
5386
|
class: "mfa-hardware-icon-svg"
|
|
5387
5387
|
}))
|
|
@@ -5411,7 +5411,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5411
5411
|
class: "mfa-backup-toggle-button"
|
|
5412
5412
|
}, {
|
|
5413
5413
|
default: _(() => [
|
|
5414
|
-
d(
|
|
5414
|
+
d(z, {
|
|
5415
5415
|
size: 16,
|
|
5416
5416
|
class: "mfa-backup-toggle-icon"
|
|
5417
5417
|
}),
|
|
@@ -5436,7 +5436,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5436
5436
|
"onUpdate:modelValue": re[1] || (re[1] = (ve) => b.value = ve),
|
|
5437
5437
|
label: "Backup Code",
|
|
5438
5438
|
placeholder: "abcd-1234",
|
|
5439
|
-
error:
|
|
5439
|
+
error: T.value,
|
|
5440
5440
|
disabled: F.value,
|
|
5441
5441
|
onInput: Z,
|
|
5442
5442
|
onPaste: ie,
|
|
@@ -5513,7 +5513,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5513
5513
|
class: "mfa-backup-toggle-button"
|
|
5514
5514
|
}, {
|
|
5515
5515
|
default: _(() => [
|
|
5516
|
-
d(
|
|
5516
|
+
d(z, {
|
|
5517
5517
|
size: 16,
|
|
5518
5518
|
class: "mfa-backup-toggle-icon"
|
|
5519
5519
|
}),
|
|
@@ -5538,7 +5538,7 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5538
5538
|
"onUpdate:modelValue": re[4] || (re[4] = (ve) => b.value = ve),
|
|
5539
5539
|
label: "Backup Code",
|
|
5540
5540
|
placeholder: "abcd-1234",
|
|
5541
|
-
error:
|
|
5541
|
+
error: T.value,
|
|
5542
5542
|
disabled: F.value,
|
|
5543
5543
|
onInput: Z,
|
|
5544
5544
|
onPaste: ie,
|
|
@@ -5562,13 +5562,13 @@ const gn = { class: "accui-component-scope" }, Cn = { class: "mfa-verification-c
|
|
|
5562
5562
|
}
|
|
5563
5563
|
}), Za = /* @__PURE__ */ Ue(Jn, [["__scopeId", "data-v-f0750b5a"]]), Pa = /* @__PURE__ */ new Map(), ei = 300 * 1e3;
|
|
5564
5564
|
function za(s = {}) {
|
|
5565
|
-
const { getUrl: r, config: t } = vt(), l = M([]),
|
|
5565
|
+
const { getUrl: r, config: t } = vt(), l = M([]), z = M(!1), V = M(null), C = H(
|
|
5566
5566
|
() => l.value.filter((u) => u.enabled)
|
|
5567
5567
|
), w = async () => {
|
|
5568
5568
|
const u = JSON.stringify(s), m = Pa.get(u);
|
|
5569
5569
|
if (m && Date.now() - m.timestamp < ei)
|
|
5570
5570
|
return l.value = m.data, m.data;
|
|
5571
|
-
|
|
5571
|
+
z.value = !0, V.value = null;
|
|
5572
5572
|
try {
|
|
5573
5573
|
let U = r("oauthProviders");
|
|
5574
5574
|
const D = s.redirectUrl || t.value?.oauth2RedirectUrl;
|
|
@@ -5594,9 +5594,9 @@ function za(s = {}) {
|
|
|
5594
5594
|
});
|
|
5595
5595
|
} catch (U) {
|
|
5596
5596
|
const D = U instanceof Error ? U.message : "Failed to fetch OAuth providers";
|
|
5597
|
-
|
|
5597
|
+
V.value = D;
|
|
5598
5598
|
} finally {
|
|
5599
|
-
|
|
5599
|
+
z.value = !1;
|
|
5600
5600
|
}
|
|
5601
5601
|
}, c = async (u, m) => {
|
|
5602
5602
|
const U = { ...s, ...m }, D = new URLSearchParams();
|
|
@@ -5614,8 +5614,8 @@ function za(s = {}) {
|
|
|
5614
5614
|
}
|
|
5615
5615
|
});
|
|
5616
5616
|
if (!L.ok) {
|
|
5617
|
-
const
|
|
5618
|
-
throw new Error(
|
|
5617
|
+
const S = await L.json().catch(() => ({}));
|
|
5618
|
+
throw new Error(S.error?.message || `HTTP ${L.status}: ${L.statusText}`);
|
|
5619
5619
|
}
|
|
5620
5620
|
const F = await L.json();
|
|
5621
5621
|
if (!F.success)
|
|
@@ -5634,9 +5634,9 @@ function za(s = {}) {
|
|
|
5634
5634
|
throw new Error(`No auth URL configured for provider '${u}'`);
|
|
5635
5635
|
window.location.href = U.auth_url;
|
|
5636
5636
|
} catch (U) {
|
|
5637
|
-
throw
|
|
5637
|
+
throw V.value = U instanceof Error ? U.message : "Failed to redirect to OAuth provider", U;
|
|
5638
5638
|
}
|
|
5639
|
-
}, x = (u) => l.value.find((m) => m.id === u),
|
|
5639
|
+
}, x = (u) => l.value.find((m) => m.id === u), $ = (u) => {
|
|
5640
5640
|
if (u.iconUrl)
|
|
5641
5641
|
return u.iconUrl;
|
|
5642
5642
|
switch (u.id.toLowerCase()) {
|
|
@@ -5656,13 +5656,13 @@ function za(s = {}) {
|
|
|
5656
5656
|
return {
|
|
5657
5657
|
providers: H(() => l.value),
|
|
5658
5658
|
enabledProviders: C,
|
|
5659
|
-
loading: H(() =>
|
|
5660
|
-
error: H(() =>
|
|
5659
|
+
loading: H(() => z.value),
|
|
5660
|
+
error: H(() => V.value),
|
|
5661
5661
|
fetchProviders: w,
|
|
5662
5662
|
getProviderAuthUrl: c,
|
|
5663
5663
|
redirectToProvider: h,
|
|
5664
5664
|
getProviderById: x,
|
|
5665
|
-
getProviderIcon:
|
|
5665
|
+
getProviderIcon: $
|
|
5666
5666
|
};
|
|
5667
5667
|
}
|
|
5668
5668
|
const ti = {
|
|
@@ -5813,12 +5813,12 @@ const ti = {
|
|
|
5813
5813
|
},
|
|
5814
5814
|
emits: ["success", "error", "forgot-password", "password-reset-sent", "mode-changed"],
|
|
5815
5815
|
setup(s, { emit: r }) {
|
|
5816
|
-
const t = s, l = r, { getUrl:
|
|
5816
|
+
const t = s, l = r, { getUrl: z, getSupportEmail: V, config: C } = vt(t.config), {
|
|
5817
5817
|
signIn: w,
|
|
5818
5818
|
mfaRequired: c,
|
|
5819
5819
|
availableMfaMethods: h,
|
|
5820
5820
|
currentUser: x,
|
|
5821
|
-
loadingMessage:
|
|
5821
|
+
loadingMessage: $
|
|
5822
5822
|
} = ft(), {
|
|
5823
5823
|
enabledProviders: u,
|
|
5824
5824
|
loading: m,
|
|
@@ -5833,7 +5833,7 @@ const ti = {
|
|
|
5833
5833
|
});
|
|
5834
5834
|
const g = H(() => u.value), N = {
|
|
5835
5835
|
async signIn(te, Y) {
|
|
5836
|
-
const le = await fetch(
|
|
5836
|
+
const le = await fetch(z("signIn"), {
|
|
5837
5837
|
method: "POST",
|
|
5838
5838
|
headers: {
|
|
5839
5839
|
"Content-Type": "application/json"
|
|
@@ -5845,7 +5845,7 @@ const ti = {
|
|
|
5845
5845
|
return await le.json();
|
|
5846
5846
|
},
|
|
5847
5847
|
async signUp(te, Y, le, _e) {
|
|
5848
|
-
const Te = await fetch(
|
|
5848
|
+
const Te = await fetch(z("signUp"), {
|
|
5849
5849
|
method: "POST",
|
|
5850
5850
|
headers: {
|
|
5851
5851
|
"Content-Type": "application/json"
|
|
@@ -5861,7 +5861,7 @@ const ti = {
|
|
|
5861
5861
|
async requestPasswordReset(te) {
|
|
5862
5862
|
throw new Error("Password reset functionality is not yet implemented in the API. Please contact support.");
|
|
5863
5863
|
}
|
|
5864
|
-
}, y = M(t.mode), L = M(!1), F = M(""),
|
|
5864
|
+
}, y = M(t.mode), L = M(!1), F = M(""), S = M(!1), k = M(!1), O = Ge({
|
|
5865
5865
|
firstName: "",
|
|
5866
5866
|
lastName: "",
|
|
5867
5867
|
email: "",
|
|
@@ -5869,7 +5869,7 @@ const ti = {
|
|
|
5869
5869
|
confirmPassword: ""
|
|
5870
5870
|
}), q = H(() => y.value === "signup"), b = H(() => y.value === "reset-password");
|
|
5871
5871
|
H(() => O.password === O.confirmPassword);
|
|
5872
|
-
const
|
|
5872
|
+
const T = H(() => b.value ? O.email.trim() && !S.value : q.value ? O.email.trim() : O.email.trim() && O.password);
|
|
5873
5873
|
Le(c, (te) => {
|
|
5874
5874
|
te && (k.value = !0);
|
|
5875
5875
|
}, { immediate: !0 });
|
|
@@ -5883,7 +5883,7 @@ const ti = {
|
|
|
5883
5883
|
L.value = !0, F.value = "";
|
|
5884
5884
|
try {
|
|
5885
5885
|
if (b.value)
|
|
5886
|
-
await N.requestPasswordReset(O.email),
|
|
5886
|
+
await N.requestPasswordReset(O.email), S.value = !0, l("password-reset-sent", O.email);
|
|
5887
5887
|
else if (q.value) {
|
|
5888
5888
|
const te = await N.signUp(
|
|
5889
5889
|
O.email,
|
|
@@ -5918,7 +5918,7 @@ const ti = {
|
|
|
5918
5918
|
Le(() => t.mode, (te) => {
|
|
5919
5919
|
y.value = te;
|
|
5920
5920
|
}), Le(y, (te) => {
|
|
5921
|
-
F.value = "",
|
|
5921
|
+
F.value = "", S.value = !1, O.firstName = "", O.lastName = "", O.email = "", O.password = "", O.confirmPassword = "", l("mode-changed", te);
|
|
5922
5922
|
});
|
|
5923
5923
|
let Se = 0;
|
|
5924
5924
|
const be = (te) => {
|
|
@@ -5985,7 +5985,7 @@ const ti = {
|
|
|
5985
5985
|
key: y.value,
|
|
5986
5986
|
class: "auth-subtitle"
|
|
5987
5987
|
}, [
|
|
5988
|
-
|
|
5988
|
+
S.value ? (a(), o("span", ii, " We've sent a password reset link to your email ")) : b.value ? (a(), o("span", ri, " Enter your email to reset your password ")) : q.value ? (a(), o("span", ci, " Create an account to get started ")) : (a(), o("span", ui, [...Y[6] || (Y[6] = [
|
|
5989
5989
|
J(" Sign in or register a ", -1),
|
|
5990
5990
|
e("b", null, "Strands account", -1),
|
|
5991
5991
|
J(" to continue ", -1)
|
|
@@ -6154,12 +6154,12 @@ const ti = {
|
|
|
6154
6154
|
type: "submit",
|
|
6155
6155
|
variant: "primary",
|
|
6156
6156
|
"full-width": "",
|
|
6157
|
-
disabled: L.value || !
|
|
6157
|
+
disabled: L.value || !T.value,
|
|
6158
6158
|
loading: L.value,
|
|
6159
|
-
"loading-text": i(
|
|
6159
|
+
"loading-text": i($)
|
|
6160
6160
|
}, {
|
|
6161
6161
|
default: _(() => [
|
|
6162
|
-
J(R(b.value ?
|
|
6162
|
+
J(R(b.value ? S.value ? "Link sent!" : "Send reset link" : q.value ? "Send magic link" : "Sign in"), 1)
|
|
6163
6163
|
]),
|
|
6164
6164
|
_: 1
|
|
6165
6165
|
}, 8, ["disabled", "loading", "loading-text"])
|
|
@@ -6169,7 +6169,7 @@ const ti = {
|
|
|
6169
6169
|
mode: "out-in"
|
|
6170
6170
|
}, {
|
|
6171
6171
|
default: _(() => [
|
|
6172
|
-
b.value &&
|
|
6172
|
+
b.value && S.value ? (a(), ye(i(Et), {
|
|
6173
6173
|
key: "reset-success",
|
|
6174
6174
|
variant: "success",
|
|
6175
6175
|
message: `Check your email - We've sent a password reset link to ${O.email}`,
|
|
@@ -6226,7 +6226,7 @@ const ti = {
|
|
|
6226
6226
|
config: t.config
|
|
6227
6227
|
}, {
|
|
6228
6228
|
default: _(() => [
|
|
6229
|
-
i(
|
|
6229
|
+
i(V)() ? (a(), ye(rt, {
|
|
6230
6230
|
key: 0,
|
|
6231
6231
|
name: "support-fade"
|
|
6232
6232
|
}, {
|
|
@@ -6235,7 +6235,7 @@ const ti = {
|
|
|
6235
6235
|
Y[12] || (Y[12] = J(" Need help? ", -1)),
|
|
6236
6236
|
d(i(mt), {
|
|
6237
6237
|
variant: "primary",
|
|
6238
|
-
href: `mailto:${i(
|
|
6238
|
+
href: `mailto:${i(V)()}`
|
|
6239
6239
|
}, {
|
|
6240
6240
|
default: _(() => [...Y[11] || (Y[11] = [
|
|
6241
6241
|
J(" Contact Support ", -1)
|
|
@@ -6321,15 +6321,15 @@ const ti = {
|
|
|
6321
6321
|
const t = s, l = r;
|
|
6322
6322
|
vt(t.config);
|
|
6323
6323
|
const {
|
|
6324
|
-
signIn:
|
|
6325
|
-
mfaRequired:
|
|
6324
|
+
signIn: z,
|
|
6325
|
+
mfaRequired: V,
|
|
6326
6326
|
mfaSessionId: C,
|
|
6327
6327
|
availableMfaMethods: w,
|
|
6328
6328
|
loading: c,
|
|
6329
6329
|
currentUser: h
|
|
6330
6330
|
} = ft(), {
|
|
6331
6331
|
enabledProviders: x,
|
|
6332
|
-
loading:
|
|
6332
|
+
loading: $,
|
|
6333
6333
|
fetchProviders: u,
|
|
6334
6334
|
redirectToProvider: m
|
|
6335
6335
|
} = za({
|
|
@@ -6342,7 +6342,7 @@ const ti = {
|
|
|
6342
6342
|
});
|
|
6343
6343
|
});
|
|
6344
6344
|
const U = H(() => c.value), D = M(""), g = M(!1);
|
|
6345
|
-
Le(
|
|
6345
|
+
Le(V, (O) => {
|
|
6346
6346
|
O && (g.value = !0);
|
|
6347
6347
|
});
|
|
6348
6348
|
const N = Ge({
|
|
@@ -6351,7 +6351,7 @@ const ti = {
|
|
|
6351
6351
|
}), y = async () => {
|
|
6352
6352
|
D.value = "";
|
|
6353
6353
|
try {
|
|
6354
|
-
const O = await
|
|
6354
|
+
const O = await z({
|
|
6355
6355
|
email: N.email,
|
|
6356
6356
|
password: N.password
|
|
6357
6357
|
});
|
|
@@ -6370,7 +6370,7 @@ const ti = {
|
|
|
6370
6370
|
O.value.onSignInUrl && typeof window < "u" && (window.location.href = O.value.onSignInUrl);
|
|
6371
6371
|
}, F = () => {
|
|
6372
6372
|
g.value = !1;
|
|
6373
|
-
},
|
|
6373
|
+
}, S = (O) => {
|
|
6374
6374
|
D.value = O, l("error", O);
|
|
6375
6375
|
}, k = async (O) => {
|
|
6376
6376
|
try {
|
|
@@ -6400,14 +6400,14 @@ const ti = {
|
|
|
6400
6400
|
])
|
|
6401
6401
|
], -1)),
|
|
6402
6402
|
i(x)?.length ? (a(), o("div", Di, [
|
|
6403
|
-
(a(!0), o(De, null, Ze(i(x), (b,
|
|
6404
|
-
const Ce = [b.id, b.name, b.displayName, i(
|
|
6403
|
+
(a(!0), o(De, null, Ze(i(x), (b, T, ae, ce) => {
|
|
6404
|
+
const Ce = [b.id, b.name, b.displayName, i($)];
|
|
6405
6405
|
if (ce && ce.key === b.id && as(ce, Ce)) return ce;
|
|
6406
6406
|
const xe = (a(), ye(i(ue), {
|
|
6407
6407
|
key: b.id,
|
|
6408
6408
|
variant: "outline",
|
|
6409
6409
|
"full-width": "",
|
|
6410
|
-
disabled: i(
|
|
6410
|
+
disabled: i($),
|
|
6411
6411
|
onClick: (Ae) => k(b.id),
|
|
6412
6412
|
class: "btn-oauth accui-group"
|
|
6413
6413
|
}, {
|
|
@@ -6544,7 +6544,7 @@ const ti = {
|
|
|
6544
6544
|
"session-id": i(C),
|
|
6545
6545
|
onSuccess: L,
|
|
6546
6546
|
onClose: F,
|
|
6547
|
-
onError:
|
|
6547
|
+
onError: S
|
|
6548
6548
|
}, null, 8, ["show", "available-mfa-methods", "session-id"])
|
|
6549
6549
|
])
|
|
6550
6550
|
]));
|
|
@@ -6590,7 +6590,7 @@ const ti = {
|
|
|
6590
6590
|
},
|
|
6591
6591
|
emits: ["success", "error", "switch-to-signin"],
|
|
6592
6592
|
setup(s, { emit: r }) {
|
|
6593
|
-
const t = s, l = r, { getUrl:
|
|
6593
|
+
const t = s, l = r, { getUrl: z, getSupportEmail: V } = vt(t.config), {
|
|
6594
6594
|
enabledProviders: C,
|
|
6595
6595
|
loading: w,
|
|
6596
6596
|
fetchProviders: c,
|
|
@@ -6604,14 +6604,14 @@ const ti = {
|
|
|
6604
6604
|
console.warn("Failed to fetch OAuth providers:", F);
|
|
6605
6605
|
});
|
|
6606
6606
|
});
|
|
6607
|
-
const x = M(!1),
|
|
6607
|
+
const x = M(!1), $ = M(""), u = M(!1), m = M(""), U = M("Magic Link Sent!"), D = M(""), g = Ge({
|
|
6608
6608
|
email: ""
|
|
6609
6609
|
});
|
|
6610
6610
|
H(() => g.email.trim() && g.email.includes("@"));
|
|
6611
6611
|
const N = async () => {
|
|
6612
|
-
x.value = !0,
|
|
6612
|
+
x.value = !0, $.value = "";
|
|
6613
6613
|
try {
|
|
6614
|
-
const F =
|
|
6614
|
+
const F = z("signUp"), S = await fetch(F, {
|
|
6615
6615
|
method: "POST",
|
|
6616
6616
|
headers: {
|
|
6617
6617
|
"Content-Type": "application/json"
|
|
@@ -6620,49 +6620,49 @@ const ti = {
|
|
|
6620
6620
|
email: g.email
|
|
6621
6621
|
})
|
|
6622
6622
|
});
|
|
6623
|
-
if (
|
|
6624
|
-
let O = `Sign up failed (${
|
|
6623
|
+
if (!S.ok) {
|
|
6624
|
+
let O = `Sign up failed (${S.status})`;
|
|
6625
6625
|
try {
|
|
6626
|
-
const q = await
|
|
6626
|
+
const q = await S.json();
|
|
6627
6627
|
O = q.message || q.error || O;
|
|
6628
6628
|
} catch {
|
|
6629
|
-
O = await
|
|
6629
|
+
O = await S.text() || O;
|
|
6630
6630
|
}
|
|
6631
6631
|
throw new Error(O);
|
|
6632
6632
|
}
|
|
6633
|
-
const k = await
|
|
6633
|
+
const k = await S.json();
|
|
6634
6634
|
u.value = !0, D.value = g.email, m.value = k.message || "Magic link sent! Check your email.", k.message && (k.message.includes("already have an account") || k.message.includes("Welcome back") ? U.value = "Welcome Back!" : k.message.includes("Magic link sent") || k.message.includes("Check your email") ? U.value = "Magic Link Sent!" : U.value = "Success!"), l("success", {
|
|
6635
6635
|
email: g.email,
|
|
6636
6636
|
message: k.message || "Magic link sent! Check your email."
|
|
6637
6637
|
});
|
|
6638
6638
|
} catch (F) {
|
|
6639
|
-
let
|
|
6639
|
+
let S = "Unable to send magic link. Please try again.";
|
|
6640
6640
|
if (F instanceof Error)
|
|
6641
6641
|
if (F.message.includes("fetch"))
|
|
6642
|
-
|
|
6642
|
+
S = "Unable to connect to authentication service. Please check your internet connection and try again.";
|
|
6643
6643
|
else if (F.message.includes("CORS")) {
|
|
6644
|
-
const k =
|
|
6645
|
-
|
|
6644
|
+
const k = V();
|
|
6645
|
+
S = k ? `Authentication service configuration error. Please contact ${k}.` : "Authentication service configuration error.";
|
|
6646
6646
|
} else
|
|
6647
|
-
|
|
6648
|
-
|
|
6647
|
+
S = F.message;
|
|
6648
|
+
$.value = S, l("error", S);
|
|
6649
6649
|
} finally {
|
|
6650
6650
|
x.value = !1;
|
|
6651
6651
|
}
|
|
6652
6652
|
}, y = () => {
|
|
6653
|
-
u.value = !1, m.value = "", U.value = "Magic Link Sent!", D.value = "", g.email = "",
|
|
6653
|
+
u.value = !1, m.value = "", U.value = "Magic Link Sent!", D.value = "", g.email = "", $.value = "";
|
|
6654
6654
|
}, L = async (F) => {
|
|
6655
6655
|
try {
|
|
6656
6656
|
await h(F, {
|
|
6657
6657
|
redirectUrl: t.redirectUrl,
|
|
6658
6658
|
scopes: t.oauthScopes
|
|
6659
6659
|
});
|
|
6660
|
-
} catch (
|
|
6661
|
-
const k =
|
|
6662
|
-
|
|
6660
|
+
} catch (S) {
|
|
6661
|
+
const k = S instanceof Error ? S.message : `Failed to sign up with ${F}`;
|
|
6662
|
+
$.value = k, l("error", k);
|
|
6663
6663
|
}
|
|
6664
6664
|
};
|
|
6665
|
-
return (F,
|
|
6665
|
+
return (F, S) => (a(), o("div", Xi, [
|
|
6666
6666
|
e("div", Ji, [
|
|
6667
6667
|
u.value ? (a(), o("div", er, [
|
|
6668
6668
|
e("div", tr, [
|
|
@@ -6670,20 +6670,20 @@ const ti = {
|
|
|
6670
6670
|
]),
|
|
6671
6671
|
e("div", ar, [
|
|
6672
6672
|
e("div", sr, [
|
|
6673
|
-
|
|
6673
|
+
S[4] || (S[4] = e("div", { class: "signup-success-icon" }, "📧", -1)),
|
|
6674
6674
|
e("h1", or, R(U.value), 1),
|
|
6675
6675
|
e("p", lr, R(m.value), 1),
|
|
6676
6676
|
D.value ? (a(), o("div", nr, [
|
|
6677
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(i(ue), {
|
|
6681
6681
|
variant: "outline",
|
|
6682
6682
|
"full-width": "",
|
|
6683
6683
|
onClick: y,
|
|
6684
6684
|
class: "accui-auth-submit"
|
|
6685
6685
|
}, {
|
|
6686
|
-
default: _(() => [
|
|
6686
|
+
default: _(() => [...S[3] || (S[3] = [
|
|
6687
6687
|
J(" Send Another Link ", -1)
|
|
6688
6688
|
])]),
|
|
6689
6689
|
_: 1
|
|
@@ -6695,7 +6695,7 @@ const ti = {
|
|
|
6695
6695
|
d(ma, { class: "accui-auth-logo" })
|
|
6696
6696
|
]),
|
|
6697
6697
|
e("div", cr, [
|
|
6698
|
-
|
|
6698
|
+
S[17] || (S[17] = e("div", { class: "accui-auth-welcome" }, [
|
|
6699
6699
|
e("h1", { class: "accui-auth-title" }, "Create account"),
|
|
6700
6700
|
e("p", { class: "accui-auth-subtitle" }, [
|
|
6701
6701
|
J(" Sign up for a "),
|
|
@@ -6723,7 +6723,7 @@ const ti = {
|
|
|
6723
6723
|
width: "20",
|
|
6724
6724
|
height: "20"
|
|
6725
6725
|
}, null, 8, pr)
|
|
6726
|
-
])) : k.id === "google" ? (a(), o("svg", fr, [
|
|
6726
|
+
])) : k.id === "google" ? (a(), o("svg", fr, [...S[6] || (S[6] = [
|
|
6727
6727
|
e("path", {
|
|
6728
6728
|
fill: "#4285F4",
|
|
6729
6729
|
d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z"
|
|
@@ -6740,7 +6740,7 @@ const ti = {
|
|
|
6740
6740
|
fill: "#EA4335",
|
|
6741
6741
|
d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z"
|
|
6742
6742
|
}, null, -1)
|
|
6743
|
-
])])) : k.id === "github" ? (a(), o("svg", mr, [
|
|
6743
|
+
])])) : k.id === "github" ? (a(), o("svg", mr, [...S[7] || (S[7] = [
|
|
6744
6744
|
e("path", { d: "M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" }, null, -1)
|
|
6745
6745
|
])])) : (a(), o("div", hr, [
|
|
6746
6746
|
e("span", gr, R((k.displayName || k.name).charAt(0).toUpperCase()), 1)
|
|
@@ -6751,7 +6751,7 @@ const ti = {
|
|
|
6751
6751
|
_: 2
|
|
6752
6752
|
}, 1032, ["disabled", "onClick"]))), 128))
|
|
6753
6753
|
])) : I("", !0),
|
|
6754
|
-
i(C)?.length ? (a(), o("div", yr, [
|
|
6754
|
+
i(C)?.length ? (a(), o("div", yr, [...S[8] || (S[8] = [
|
|
6755
6755
|
e("span", { class: "divider-text" }, "Or create account with email", -1)
|
|
6756
6756
|
])])) : I("", !0),
|
|
6757
6757
|
e("form", {
|
|
@@ -6759,9 +6759,9 @@ const ti = {
|
|
|
6759
6759
|
class: "accui-auth-form"
|
|
6760
6760
|
}, [
|
|
6761
6761
|
e("div", kr, [
|
|
6762
|
-
|
|
6762
|
+
S[10] || (S[10] = e("label", { class: "accui-form-label" }, "Email address", -1)),
|
|
6763
6763
|
e("div", wr, [
|
|
6764
|
-
|
|
6764
|
+
S[9] || (S[9] = e("svg", {
|
|
6765
6765
|
class: "accui-input-icon",
|
|
6766
6766
|
viewBox: "0 0 20 20",
|
|
6767
6767
|
fill: "currentColor"
|
|
@@ -6771,7 +6771,7 @@ const ti = {
|
|
|
6771
6771
|
], -1)),
|
|
6772
6772
|
Qe(e("input", {
|
|
6773
6773
|
id: "email",
|
|
6774
|
-
"onUpdate:modelValue":
|
|
6774
|
+
"onUpdate:modelValue": S[0] || (S[0] = (k) => g.email = k),
|
|
6775
6775
|
type: "email",
|
|
6776
6776
|
class: "accui-auth-input",
|
|
6777
6777
|
placeholder: "example@email.com",
|
|
@@ -6791,16 +6791,16 @@ const ti = {
|
|
|
6791
6791
|
"loading-text": "Sending magic link...",
|
|
6792
6792
|
class: "accui-auth-submit"
|
|
6793
6793
|
}, {
|
|
6794
|
-
default: _(() => [
|
|
6794
|
+
default: _(() => [...S[11] || (S[11] = [
|
|
6795
6795
|
J(" Send magic link ", -1)
|
|
6796
6796
|
])]),
|
|
6797
6797
|
_: 1
|
|
6798
6798
|
}, 8, ["disabled", "loading"])
|
|
6799
6799
|
], 32),
|
|
6800
|
-
|
|
6800
|
+
$.value ? (a(), o("div", br, [
|
|
6801
6801
|
e("div", Mr, [
|
|
6802
6802
|
e("div", xr, [
|
|
6803
|
-
|
|
6803
|
+
S[12] || (S[12] = e("svg", {
|
|
6804
6804
|
class: "signup-error-icon",
|
|
6805
6805
|
fill: "currentColor",
|
|
6806
6806
|
viewBox: "0 0 20 20"
|
|
@@ -6811,19 +6811,19 @@ const ti = {
|
|
|
6811
6811
|
"clip-rule": "evenodd"
|
|
6812
6812
|
})
|
|
6813
6813
|
], -1)),
|
|
6814
|
-
e("p", $r, R(
|
|
6814
|
+
e("p", $r, R($.value), 1)
|
|
6815
6815
|
])
|
|
6816
6816
|
])
|
|
6817
6817
|
])) : I("", !0),
|
|
6818
6818
|
e("div", Sr, [
|
|
6819
6819
|
e("p", Ar, [
|
|
6820
|
-
|
|
6820
|
+
S[14] || (S[14] = J(" Already have an account? ", -1)),
|
|
6821
6821
|
d(i(mt), {
|
|
6822
6822
|
variant: "primary",
|
|
6823
|
-
onClick:
|
|
6823
|
+
onClick: S[1] || (S[1] = (k) => F.$emit("switch-to-signin")),
|
|
6824
6824
|
class: "signup-signin-link"
|
|
6825
6825
|
}, {
|
|
6826
|
-
default: _(() => [
|
|
6826
|
+
default: _(() => [...S[13] || (S[13] = [
|
|
6827
6827
|
J(" Sign in ", -1)
|
|
6828
6828
|
])]),
|
|
6829
6829
|
_: 1
|
|
@@ -6832,12 +6832,12 @@ const ti = {
|
|
|
6832
6832
|
]),
|
|
6833
6833
|
e("div", _r, [
|
|
6834
6834
|
e("p", Tr, [
|
|
6835
|
-
|
|
6835
|
+
S[16] || (S[16] = J(" Already have an account? ", -1)),
|
|
6836
6836
|
d(i(mt), {
|
|
6837
|
-
onClick:
|
|
6837
|
+
onClick: S[2] || (S[2] = (k) => F.$emit("switch-to-signin")),
|
|
6838
6838
|
class: "accui-text-primary"
|
|
6839
6839
|
}, {
|
|
6840
|
-
default: _(() => [
|
|
6840
|
+
default: _(() => [...S[15] || (S[15] = [
|
|
6841
6841
|
J(" Sign in → ", -1)
|
|
6842
6842
|
])]),
|
|
6843
6843
|
_: 1
|
|
@@ -6876,7 +6876,7 @@ const ti = {
|
|
|
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:
|
|
6879
|
+
const t = s, l = r, { getUrl: z, getSupportEmail: V } = vt(t.config), { setAuthData: C } = ft(), w = M(!1), c = M(!1), h = M(!1), x = M(""), $ = M(""), u = Ge({
|
|
6880
6880
|
firstName: "",
|
|
6881
6881
|
lastName: "",
|
|
6882
6882
|
password: ""
|
|
@@ -6901,7 +6901,7 @@ const ti = {
|
|
|
6901
6901
|
const y = t.token.split(".");
|
|
6902
6902
|
if (y.length === 3) {
|
|
6903
6903
|
const L = JSON.parse(atob(y[1]));
|
|
6904
|
-
L.email && (
|
|
6904
|
+
L.email && ($.value = L.email);
|
|
6905
6905
|
}
|
|
6906
6906
|
} catch (y) {
|
|
6907
6907
|
console.warn("Failed to decode registration token:", y);
|
|
@@ -6926,7 +6926,7 @@ const ti = {
|
|
|
6926
6926
|
"Content-Type": "application/json"
|
|
6927
6927
|
};
|
|
6928
6928
|
typeof window < "u" && window.location && (y.Origin = window.location.origin);
|
|
6929
|
-
const L = await fetch(
|
|
6929
|
+
const L = await fetch(z("completeRegistration"), {
|
|
6930
6930
|
method: "POST",
|
|
6931
6931
|
headers: y,
|
|
6932
6932
|
body: JSON.stringify({
|
|
@@ -6937,8 +6937,8 @@ const ti = {
|
|
|
6937
6937
|
})
|
|
6938
6938
|
});
|
|
6939
6939
|
if (!L.ok) {
|
|
6940
|
-
const
|
|
6941
|
-
throw new Error(`Failed to complete registration: ${
|
|
6940
|
+
const S = await L.text();
|
|
6941
|
+
throw new Error(`Failed to complete registration: ${S}`);
|
|
6942
6942
|
}
|
|
6943
6943
|
const F = await L.json();
|
|
6944
6944
|
F.access_token && F.refresh_token && F.user ? C(F) : console.warn("Registration response missing user data or token"), w.value = !0, l("success", F), setTimeout(() => {
|
|
@@ -7003,10 +7003,10 @@ const ti = {
|
|
|
7003
7003
|
e("div", Dr, [
|
|
7004
7004
|
L[17] || (L[17] = e("h1", { class: "complete-signup-title" }, "Complete Your Registration", -1)),
|
|
7005
7005
|
L[18] || (L[18] = e("p", { class: "complete-signup-subtitle" }, "Set up your account details to finish registration", -1)),
|
|
7006
|
-
|
|
7006
|
+
$.value ? (a(), o("div", Nr, [
|
|
7007
7007
|
e("p", Br, [
|
|
7008
7008
|
L[16] || (L[16] = J("Creating account for: ", -1)),
|
|
7009
|
-
e("span", Pr, R(
|
|
7009
|
+
e("span", Pr, R($.value), 1)
|
|
7010
7010
|
])
|
|
7011
7011
|
])) : I("", !0)
|
|
7012
7012
|
]),
|
|
@@ -7079,12 +7079,12 @@ const ti = {
|
|
|
7079
7079
|
config: t.config
|
|
7080
7080
|
}, {
|
|
7081
7081
|
default: _(() => [
|
|
7082
|
-
i(
|
|
7082
|
+
i(V)() ? (a(), o("div", jr, [
|
|
7083
7083
|
e("p", Or, [
|
|
7084
7084
|
L[22] || (L[22] = J(" Need help? ", -1)),
|
|
7085
7085
|
d(i(mt), {
|
|
7086
7086
|
variant: "primary",
|
|
7087
|
-
href: `mailto:${i(
|
|
7087
|
+
href: `mailto:${i(V)()}`
|
|
7088
7088
|
}, {
|
|
7089
7089
|
default: _(() => [...L[21] || (L[21] = [
|
|
7090
7090
|
J(" Contact Support ", -1)
|
|
@@ -7153,18 +7153,18 @@ const ti = {
|
|
|
7153
7153
|
},
|
|
7154
7154
|
emits: ["close", "success"],
|
|
7155
7155
|
setup(s, { emit: r }) {
|
|
7156
|
-
const t = s, l = r, { setupTotp:
|
|
7156
|
+
const t = s, l = r, { setupTotp: z, verifyTotpSetup: V, loading: C } = Tt(), w = H({
|
|
7157
7157
|
get: () => t.show,
|
|
7158
|
-
set: (
|
|
7159
|
-
|
|
7160
|
-
}
|
|
7161
|
-
}), c = M(1), h = M(""), x = M(""),
|
|
7162
|
-
Le(() => t.show, (
|
|
7163
|
-
|
|
7164
|
-
}), Le(() => m.value, async (
|
|
7165
|
-
if (
|
|
7158
|
+
set: (S) => {
|
|
7159
|
+
S || l("close");
|
|
7160
|
+
}
|
|
7161
|
+
}), c = M(1), h = M(""), x = M(""), $ = M(""), u = M(""), m = M(null), U = M("");
|
|
7162
|
+
Le(() => t.show, (S) => {
|
|
7163
|
+
S && (c.value = 1, h.value = "", x.value = "", $.value = "", u.value = "", m.value = null, U.value = "");
|
|
7164
|
+
}), Le(() => m.value, async (S) => {
|
|
7165
|
+
if (S?.qr_code_url)
|
|
7166
7166
|
try {
|
|
7167
|
-
const k = `https://api.qrserver.com/v1/create-qr-code/?size=192x192&data=${encodeURIComponent(
|
|
7167
|
+
const k = `https://api.qrserver.com/v1/create-qr-code/?size=192x192&data=${encodeURIComponent(S.qr_code_url)}&bgcolor=ffffff&color=000000`;
|
|
7168
7168
|
U.value = k;
|
|
7169
7169
|
} catch (k) {
|
|
7170
7170
|
console.error("Failed to generate QR code:", k);
|
|
@@ -7179,35 +7179,35 @@ const ti = {
|
|
|
7179
7179
|
}
|
|
7180
7180
|
x.value = "";
|
|
7181
7181
|
try {
|
|
7182
|
-
const
|
|
7183
|
-
m.value =
|
|
7184
|
-
} catch (
|
|
7185
|
-
console.error("Failed to setup TOTP:",
|
|
7182
|
+
const S = await z(h.value.trim());
|
|
7183
|
+
m.value = S, c.value = 2;
|
|
7184
|
+
} catch (S) {
|
|
7185
|
+
console.error("Failed to setup TOTP:", S), x.value = S instanceof Error ? S.message : "Failed to setup TOTP";
|
|
7186
7186
|
}
|
|
7187
|
-
}, N = (
|
|
7188
|
-
u.value = "",
|
|
7187
|
+
}, N = (S) => {
|
|
7188
|
+
u.value = "", S.length === 6 && y();
|
|
7189
7189
|
}, y = async () => {
|
|
7190
|
-
if (!(!m.value ||
|
|
7190
|
+
if (!(!m.value || !$.value)) {
|
|
7191
7191
|
u.value = "";
|
|
7192
7192
|
try {
|
|
7193
|
-
await
|
|
7194
|
-
} catch (
|
|
7195
|
-
console.error("Failed to verify TOTP code:",
|
|
7193
|
+
await V(m.value.device_id, $.value), c.value = 4;
|
|
7194
|
+
} catch (S) {
|
|
7195
|
+
console.error("Failed to verify TOTP code:", S), u.value = S instanceof Error ? S.message : "Invalid verification code";
|
|
7196
7196
|
}
|
|
7197
7197
|
}
|
|
7198
7198
|
}, L = async () => {
|
|
7199
7199
|
if (m.value?.backup_codes)
|
|
7200
7200
|
try {
|
|
7201
|
-
const
|
|
7201
|
+
const S = m.value.backup_codes.join(`
|
|
7202
7202
|
`);
|
|
7203
|
-
await navigator.clipboard.writeText(
|
|
7204
|
-
} catch (
|
|
7205
|
-
console.warn("Failed to copy backup codes to clipboard:",
|
|
7203
|
+
await navigator.clipboard.writeText(S);
|
|
7204
|
+
} catch (S) {
|
|
7205
|
+
console.warn("Failed to copy backup codes to clipboard:", S);
|
|
7206
7206
|
}
|
|
7207
7207
|
}, F = () => {
|
|
7208
7208
|
l("success");
|
|
7209
7209
|
};
|
|
7210
|
-
return (
|
|
7210
|
+
return (S, k) => (a(), ye(pt, {
|
|
7211
7211
|
modelValue: w.value,
|
|
7212
7212
|
"onUpdate:modelValue": k[5] || (k[5] = (O) => w.value = O),
|
|
7213
7213
|
title: "Setup Authenticator App",
|
|
@@ -7321,8 +7321,8 @@ const ti = {
|
|
|
7321
7321
|
e("p", { class: "text-sm text-gray-600 mb-4" }, " Enter the 6-digit code from your authenticator app to complete setup ")
|
|
7322
7322
|
], -1)),
|
|
7323
7323
|
d(i(Fe), {
|
|
7324
|
-
modelValue:
|
|
7325
|
-
"onUpdate:modelValue": k[3] || (k[3] = (O) =>
|
|
7324
|
+
modelValue: $.value,
|
|
7325
|
+
"onUpdate:modelValue": k[3] || (k[3] = (O) => $.value = O),
|
|
7326
7326
|
type: "pincode",
|
|
7327
7327
|
label: "Verification Code",
|
|
7328
7328
|
"max-length": 6,
|
|
@@ -7345,7 +7345,7 @@ const ti = {
|
|
|
7345
7345
|
d(i(ue), {
|
|
7346
7346
|
variant: "primary",
|
|
7347
7347
|
onClick: y,
|
|
7348
|
-
disabled:
|
|
7348
|
+
disabled: $.value.length !== 6 || i(C),
|
|
7349
7349
|
loading: i(C)
|
|
7350
7350
|
}, {
|
|
7351
7351
|
default: _(() => [...k[15] || (k[15] = [
|
|
@@ -7446,15 +7446,15 @@ const ti = {
|
|
|
7446
7446
|
},
|
|
7447
7447
|
emits: ["close", "success"],
|
|
7448
7448
|
setup(s, { emit: r }) {
|
|
7449
|
-
const t = s, l = r, { setupEmailMfa:
|
|
7449
|
+
const t = s, l = r, { setupEmailMfa: z, sendEmailMfaCode: V, verifyEmailMfaCode: C, loading: w } = Tt(), c = H({
|
|
7450
7450
|
get: () => t.show,
|
|
7451
7451
|
set: (b) => {
|
|
7452
7452
|
b || l("close");
|
|
7453
7453
|
}
|
|
7454
|
-
}), h = M(1), x = M(""),
|
|
7454
|
+
}), h = M(1), x = M(""), $ = M(""), u = M(""), m = M(""), U = M(null), D = M(!1), g = M(0);
|
|
7455
7455
|
let N = null;
|
|
7456
7456
|
Le(() => t.show, (b) => {
|
|
7457
|
-
b && (h.value = 1, x.value = "",
|
|
7457
|
+
b && (h.value = 1, x.value = "", $.value = "", u.value = "", m.value = "", U.value = null, D.value = !1, g.value = 0, N && (clearInterval(N), N = null));
|
|
7458
7458
|
}), Le(u, () => {
|
|
7459
7459
|
m.value && (m.value = "");
|
|
7460
7460
|
}), Ra(() => {
|
|
@@ -7464,19 +7464,19 @@ const ti = {
|
|
|
7464
7464
|
l("close");
|
|
7465
7465
|
}, L = async () => {
|
|
7466
7466
|
if (!x.value.trim()) {
|
|
7467
|
-
|
|
7467
|
+
$.value = "Device name is required";
|
|
7468
7468
|
return;
|
|
7469
7469
|
}
|
|
7470
|
-
|
|
7470
|
+
$.value = "";
|
|
7471
7471
|
try {
|
|
7472
|
-
const b = await
|
|
7473
|
-
U.value = b.device_id, await
|
|
7472
|
+
const b = await z(x.value.trim());
|
|
7473
|
+
U.value = b.device_id, await V(b.device_id), h.value = 2, O();
|
|
7474
7474
|
} catch (b) {
|
|
7475
|
-
console.error("Failed to setup email MFA:", b),
|
|
7475
|
+
console.error("Failed to setup email MFA:", b), $.value = b instanceof Error ? b.message : "Failed to setup email MFA";
|
|
7476
7476
|
}
|
|
7477
7477
|
}, F = (b) => {
|
|
7478
|
-
m.value = "", b.length === 6 &&
|
|
7479
|
-
},
|
|
7478
|
+
m.value = "", b.length === 6 && S();
|
|
7479
|
+
}, S = async () => {
|
|
7480
7480
|
if (!(!U.value || !u.value)) {
|
|
7481
7481
|
m.value = "";
|
|
7482
7482
|
try {
|
|
@@ -7488,7 +7488,7 @@ const ti = {
|
|
|
7488
7488
|
}, k = async () => {
|
|
7489
7489
|
if (!(!U.value || D.value))
|
|
7490
7490
|
try {
|
|
7491
|
-
await
|
|
7491
|
+
await V(U.value), O();
|
|
7492
7492
|
} catch (b) {
|
|
7493
7493
|
console.warn("Failed to resend email MFA verification code:", b);
|
|
7494
7494
|
}
|
|
@@ -7499,31 +7499,31 @@ const ti = {
|
|
|
7499
7499
|
}, q = () => {
|
|
7500
7500
|
l("success");
|
|
7501
7501
|
};
|
|
7502
|
-
return (b,
|
|
7502
|
+
return (b, T) => (a(), ye(pt, {
|
|
7503
7503
|
modelValue: c.value,
|
|
7504
|
-
"onUpdate:modelValue":
|
|
7504
|
+
"onUpdate:modelValue": T[3] || (T[3] = (ae) => c.value = ae),
|
|
7505
7505
|
title: "Setup Email 2FA",
|
|
7506
7506
|
"card-class": "email-mfa-setup-modal"
|
|
7507
7507
|
}, {
|
|
7508
7508
|
default: _(() => [
|
|
7509
7509
|
h.value === 1 ? (a(), o("div", v2, [
|
|
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(i(Fe), {
|
|
7515
7515
|
modelValue: x.value,
|
|
7516
|
-
"onUpdate:modelValue":
|
|
7516
|
+
"onUpdate:modelValue": T[0] || (T[0] = (ae) => x.value = ae),
|
|
7517
7517
|
label: "Device Name",
|
|
7518
7518
|
placeholder: "Personal Email",
|
|
7519
|
-
error:
|
|
7519
|
+
error: $.value,
|
|
7520
7520
|
disabled: i(w)
|
|
7521
7521
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
7522
7522
|
d(i(Et), {
|
|
7523
7523
|
variant: "info",
|
|
7524
7524
|
title: "Email 2FA"
|
|
7525
7525
|
}, {
|
|
7526
|
-
default: _(() => [...
|
|
7526
|
+
default: _(() => [...T[4] || (T[4] = [
|
|
7527
7527
|
J(" Verification codes will be sent to your registered email address when logging in. ", -1)
|
|
7528
7528
|
])]),
|
|
7529
7529
|
_: 1
|
|
@@ -7534,7 +7534,7 @@ const ti = {
|
|
|
7534
7534
|
onClick: y,
|
|
7535
7535
|
disabled: i(w)
|
|
7536
7536
|
}, {
|
|
7537
|
-
default: _(() => [...
|
|
7537
|
+
default: _(() => [...T[5] || (T[5] = [
|
|
7538
7538
|
J(" Cancel ", -1)
|
|
7539
7539
|
])]),
|
|
7540
7540
|
_: 1
|
|
@@ -7544,7 +7544,7 @@ const ti = {
|
|
|
7544
7544
|
disabled: !x.value.trim() || i(w),
|
|
7545
7545
|
loading: i(w)
|
|
7546
7546
|
}, {
|
|
7547
|
-
default: _(() => [...
|
|
7547
|
+
default: _(() => [...T[6] || (T[6] = [
|
|
7548
7548
|
J(" Setup Email 2FA ", -1)
|
|
7549
7549
|
])]),
|
|
7550
7550
|
_: 1
|
|
@@ -7552,11 +7552,11 @@ const ti = {
|
|
|
7552
7552
|
])
|
|
7553
7553
|
])) : I("", !0),
|
|
7554
7554
|
h.value === 2 ? (a(), o("div", f2, [
|
|
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. ")
|
|
7558
7558
|
], -1)),
|
|
7559
|
-
|
|
7559
|
+
T[11] || (T[11] = e("div", { class: "email-mfa-setup-success-notification" }, [
|
|
7560
7560
|
e("div", { class: "email-mfa-setup-success-content" }, [
|
|
7561
7561
|
e("svg", {
|
|
7562
7562
|
class: "email-mfa-setup-success-icon",
|
|
@@ -7577,7 +7577,7 @@ const ti = {
|
|
|
7577
7577
|
], -1)),
|
|
7578
7578
|
d(i(Fe), {
|
|
7579
7579
|
modelValue: u.value,
|
|
7580
|
-
"onUpdate:modelValue":
|
|
7580
|
+
"onUpdate:modelValue": T[1] || (T[1] = (ae) => u.value = ae),
|
|
7581
7581
|
type: "pincode",
|
|
7582
7582
|
label: "Verification Code",
|
|
7583
7583
|
"max-length": 6,
|
|
@@ -7602,20 +7602,20 @@ const ti = {
|
|
|
7602
7602
|
e("div", h2, [
|
|
7603
7603
|
d(i(ue), {
|
|
7604
7604
|
color: "secondary",
|
|
7605
|
-
onClick:
|
|
7605
|
+
onClick: T[2] || (T[2] = (ae) => h.value = 1),
|
|
7606
7606
|
disabled: i(w)
|
|
7607
7607
|
}, {
|
|
7608
|
-
default: _(() => [...
|
|
7608
|
+
default: _(() => [...T[8] || (T[8] = [
|
|
7609
7609
|
J(" Back ", -1)
|
|
7610
7610
|
])]),
|
|
7611
7611
|
_: 1
|
|
7612
7612
|
}, 8, ["disabled"]),
|
|
7613
7613
|
d(i(ue), {
|
|
7614
|
-
onClick:
|
|
7614
|
+
onClick: S,
|
|
7615
7615
|
disabled: u.value.length !== 6 || i(w),
|
|
7616
7616
|
loading: i(w)
|
|
7617
7617
|
}, {
|
|
7618
|
-
default: _(() => [...
|
|
7618
|
+
default: _(() => [...T[9] || (T[9] = [
|
|
7619
7619
|
J(" Verify & Enable ", -1)
|
|
7620
7620
|
])]),
|
|
7621
7621
|
_: 1
|
|
@@ -7623,7 +7623,7 @@ const ti = {
|
|
|
7623
7623
|
])
|
|
7624
7624
|
])) : I("", !0),
|
|
7625
7625
|
h.value === 3 ? (a(), o("div", g2, [
|
|
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", {
|
|
7629
7629
|
class: "email-mfa-setup-check-icon",
|
|
@@ -7642,7 +7642,7 @@ const ti = {
|
|
|
7642
7642
|
e("h3", { class: "email-mfa-setup-step-title" }, "Email 2FA Setup Complete!"),
|
|
7643
7643
|
e("p", { class: "email-mfa-setup-completion-description" }, " Email verification is now active for your account. You'll receive codes at your registered email address. ")
|
|
7644
7644
|
], -1)),
|
|
7645
|
-
|
|
7645
|
+
T[14] || (T[14] = e("div", { class: "email-mfa-setup-info" }, [
|
|
7646
7646
|
e("div", { class: "email-mfa-setup-info-content" }, [
|
|
7647
7647
|
e("svg", {
|
|
7648
7648
|
class: "email-mfa-setup-info-icon",
|
|
@@ -7666,7 +7666,7 @@ const ti = {
|
|
|
7666
7666
|
variant: "primary",
|
|
7667
7667
|
onClick: q
|
|
7668
7668
|
}, {
|
|
7669
|
-
default: _(() => [...
|
|
7669
|
+
default: _(() => [...T[12] || (T[12] = [
|
|
7670
7670
|
J(" Done ", -1)
|
|
7671
7671
|
])]),
|
|
7672
7672
|
_: 1
|
|
@@ -7700,7 +7700,7 @@ const ti = {
|
|
|
7700
7700
|
},
|
|
7701
7701
|
emits: ["close", "success"],
|
|
7702
7702
|
setup(s, { emit: r }) {
|
|
7703
|
-
const t = s, l = r, { loading:
|
|
7703
|
+
const t = s, l = r, { loading: z } = Tt(), { registerHardwareKey: V, completeHardwareKeyRegistration: C, currentSession: w } = ft(), c = M(!1), h = H(() => z.value || c.value), x = H(() => t.deviceType === "passkey" ? "Setup Passkey" : "Setup Hardware Key"), $ = H({
|
|
7704
7704
|
get: () => t.show,
|
|
7705
7705
|
set: (b) => {
|
|
7706
7706
|
b || l("close");
|
|
@@ -7726,7 +7726,7 @@ const ti = {
|
|
|
7726
7726
|
residentKey: "discouraged",
|
|
7727
7727
|
userVerification: "discouraged"
|
|
7728
7728
|
// YubiKeys work better with discouraged
|
|
7729
|
-
}, F = (b,
|
|
7729
|
+
}, F = (b, T) => {
|
|
7730
7730
|
const ae = (ce) => {
|
|
7731
7731
|
try {
|
|
7732
7732
|
if (!ce)
|
|
@@ -7779,10 +7779,10 @@ const ti = {
|
|
|
7779
7779
|
{ type: "public-key", alg: -8 }
|
|
7780
7780
|
// EdDSA (Ed25519)
|
|
7781
7781
|
],
|
|
7782
|
-
timeout: b.timeout || (
|
|
7782
|
+
timeout: b.timeout || (T === "passkey" ? 3e5 : 12e4),
|
|
7783
7783
|
// Longer timeout for passkeys
|
|
7784
|
-
authenticatorSelection: b.authenticatorSelection || L(
|
|
7785
|
-
attestation: b.attestation || (
|
|
7784
|
+
authenticatorSelection: b.authenticatorSelection || L(T),
|
|
7785
|
+
attestation: b.attestation || (T === "passkey" ? "none" : "direct")
|
|
7786
7786
|
// Different attestation preferences
|
|
7787
7787
|
};
|
|
7788
7788
|
return b.excludeCredentials && Array.isArray(b.excludeCredentials) && b.excludeCredentials.length > 0 && (ce.excludeCredentials = b.excludeCredentials.map((Ce) => ({
|
|
@@ -7792,7 +7792,7 @@ const ti = {
|
|
|
7792
7792
|
} catch {
|
|
7793
7793
|
throw new Error("Unable to process WebAuthn challenge data");
|
|
7794
7794
|
}
|
|
7795
|
-
},
|
|
7795
|
+
}, S = async () => {
|
|
7796
7796
|
if (!m.value.trim()) {
|
|
7797
7797
|
U.value = "Device name is required";
|
|
7798
7798
|
return;
|
|
@@ -7809,10 +7809,10 @@ const ti = {
|
|
|
7809
7809
|
}
|
|
7810
7810
|
if (!w.value?.accessToken)
|
|
7811
7811
|
throw new Error("Not authenticated. Please sign in again.");
|
|
7812
|
-
const { device_id: b, challenge:
|
|
7813
|
-
if (!
|
|
7812
|
+
const { device_id: b, challenge: T } = await V(m.value.trim(), w.value.accessToken);
|
|
7813
|
+
if (!T || typeof T != "object")
|
|
7814
7814
|
throw new Error("Invalid challenge received from server");
|
|
7815
|
-
const ae = F(
|
|
7815
|
+
const ae = F(T, t.deviceType);
|
|
7816
7816
|
D.value = "Please touch your hardware key now...";
|
|
7817
7817
|
const ce = await navigator.credentials.create({
|
|
7818
7818
|
publicKey: ae
|
|
@@ -7842,12 +7842,12 @@ const ti = {
|
|
|
7842
7842
|
throw new Error(`Failed to process hardware key data: ${xe instanceof Error ? xe.message : String(xe)}`);
|
|
7843
7843
|
}
|
|
7844
7844
|
} catch (b) {
|
|
7845
|
-
let
|
|
7845
|
+
let T = "Hardware key registration failed";
|
|
7846
7846
|
if (b instanceof Error) {
|
|
7847
7847
|
const ae = b.message.toLowerCase();
|
|
7848
|
-
ae.includes("not supported") || ae.includes("webauthn") ?
|
|
7848
|
+
ae.includes("not supported") || ae.includes("webauthn") ? T = "WebAuthn is not supported in this browser. Please use Chrome, Firefox, Safari, or Edge." : ae.includes("cancelled") || ae.includes("aborted") ? T = "Hardware key registration was cancelled. Please try again and touch your key when prompted." : ae.includes("timeout") ? T = "Hardware key registration timed out. Please ensure your key is connected and try again." : ae.includes("not allowed") || ae.includes("invalid state") ? T = "This hardware key may already be registered or cannot be used. Try a different key or contact support." : ae.includes("can't be used") || ae.includes("newer or different") ? T = "Your hardware key is not compatible. Please ensure you have a FIDO2/WebAuthn compatible key like YubiKey 5 Series, and that it's properly connected." : ae.includes("user verification") || ae.includes("pin") ? T = "Hardware key verification failed. If your key has a PIN, please enter it when prompted." : T = b.message;
|
|
7849
7849
|
}
|
|
7850
|
-
g.value =
|
|
7850
|
+
g.value = T, u.value = 5;
|
|
7851
7851
|
} finally {
|
|
7852
7852
|
c.value = !1;
|
|
7853
7853
|
}
|
|
@@ -7862,21 +7862,21 @@ const ti = {
|
|
|
7862
7862
|
}, q = () => {
|
|
7863
7863
|
l("success");
|
|
7864
7864
|
};
|
|
7865
|
-
return (b,
|
|
7866
|
-
modelValue:
|
|
7867
|
-
"onUpdate:modelValue":
|
|
7865
|
+
return (b, T) => (a(), ye(pt, {
|
|
7866
|
+
modelValue: $.value,
|
|
7867
|
+
"onUpdate:modelValue": T[3] || (T[3] = (ae) => $.value = ae),
|
|
7868
7868
|
title: x.value,
|
|
7869
7869
|
"card-class": "hardware-key-setup-modal"
|
|
7870
7870
|
}, {
|
|
7871
7871
|
default: _(() => [
|
|
7872
7872
|
u.value === 1 ? (a(), o("div", k2, [
|
|
7873
|
-
|
|
7873
|
+
T[6] || (T[6] = e("div", null, [
|
|
7874
7874
|
e("h3", { class: "hardware-key-setup-step-title" }, "Name Your Hardware Key"),
|
|
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(i(Fe), {
|
|
7878
7878
|
modelValue: m.value,
|
|
7879
|
-
"onUpdate:modelValue":
|
|
7879
|
+
"onUpdate:modelValue": T[0] || (T[0] = (ae) => m.value = ae),
|
|
7880
7880
|
label: "Device Name",
|
|
7881
7881
|
placeholder: "My Hardware Key",
|
|
7882
7882
|
error: U.value,
|
|
@@ -7888,18 +7888,18 @@ const ti = {
|
|
|
7888
7888
|
onClick: y,
|
|
7889
7889
|
disabled: h.value
|
|
7890
7890
|
}, {
|
|
7891
|
-
default: _(() => [...
|
|
7891
|
+
default: _(() => [...T[4] || (T[4] = [
|
|
7892
7892
|
J(" Cancel ", -1)
|
|
7893
7893
|
])]),
|
|
7894
7894
|
_: 1
|
|
7895
7895
|
}, 8, ["disabled"]),
|
|
7896
7896
|
d(i(ue), {
|
|
7897
7897
|
variant: "primary",
|
|
7898
|
-
onClick:
|
|
7898
|
+
onClick: S,
|
|
7899
7899
|
disabled: !m.value.trim() || h.value,
|
|
7900
7900
|
loading: h.value
|
|
7901
7901
|
}, {
|
|
7902
|
-
default: _(() => [...
|
|
7902
|
+
default: _(() => [...T[5] || (T[5] = [
|
|
7903
7903
|
J(" Continue ", -1)
|
|
7904
7904
|
])]),
|
|
7905
7905
|
_: 1
|
|
@@ -7907,11 +7907,11 @@ const ti = {
|
|
|
7907
7907
|
])
|
|
7908
7908
|
])) : I("", !0),
|
|
7909
7909
|
u.value === 2 ? (a(), o("div", b2, [
|
|
7910
|
-
|
|
7910
|
+
T[17] || (T[17] = e("div", null, [
|
|
7911
7911
|
e("h3", { class: "hardware-key-setup-step-title" }, "Register Hardware Key"),
|
|
7912
7912
|
e("p", { class: "hardware-key-setup-step-description" }, " Insert your hardware key and follow your browser's prompts to complete registration. ")
|
|
7913
7913
|
], -1)),
|
|
7914
|
-
|
|
7914
|
+
T[18] || (T[18] = e("div", { class: "hardware-key-setup-illustration" }, [
|
|
7915
7915
|
e("div", { class: "hardware-key-setup-illustration-content" }, [
|
|
7916
7916
|
e("div", { class: "hardware-key-setup-icon-container" }, [
|
|
7917
7917
|
e("svg", {
|
|
@@ -7934,7 +7934,7 @@ const ti = {
|
|
|
7934
7934
|
], -1)),
|
|
7935
7935
|
e("div", M2, [
|
|
7936
7936
|
e("div", x2, [
|
|
7937
|
-
|
|
7937
|
+
T[14] || (T[14] = e("svg", {
|
|
7938
7938
|
class: "hardware-key-setup-info-icon",
|
|
7939
7939
|
fill: "currentColor",
|
|
7940
7940
|
viewBox: "0 0 20 20"
|
|
@@ -7946,16 +7946,16 @@ const ti = {
|
|
|
7946
7946
|
})
|
|
7947
7947
|
], -1)),
|
|
7948
7948
|
e("div", null, [
|
|
7949
|
-
|
|
7949
|
+
T[13] || (T[13] = e("p", { class: "hardware-key-setup-instructions-title" }, "Setup Instructions", -1)),
|
|
7950
7950
|
e("ul", $2, [
|
|
7951
7951
|
t.deviceType === "passkey" ? (a(), o(De, { key: 0 }, [
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7952
|
+
T[7] || (T[7] = e("li", null, "• Your browser will prompt you to create a passkey", -1)),
|
|
7953
|
+
T[8] || (T[8] = e("li", null, "• Use Touch ID, Face ID, Windows Hello, or PIN", -1)),
|
|
7954
|
+
T[9] || (T[9] = e("li", null, "• Follow the prompts to complete setup", -1))
|
|
7955
7955
|
], 64)) : (a(), o(De, { key: 1 }, [
|
|
7956
|
-
|
|
7957
|
-
|
|
7958
|
-
|
|
7956
|
+
T[10] || (T[10] = e("li", null, "• Insert your hardware key into a USB port", -1)),
|
|
7957
|
+
T[11] || (T[11] = e("li", null, "• Your browser will prompt you to interact with the key", -1)),
|
|
7958
|
+
T[12] || (T[12] = e("li", null, "• Touch the key's button or sensor when prompted", -1))
|
|
7959
7959
|
], 64))
|
|
7960
7960
|
])
|
|
7961
7961
|
])
|
|
@@ -7964,10 +7964,10 @@ const ti = {
|
|
|
7964
7964
|
e("div", S2, [
|
|
7965
7965
|
d(i(ue), {
|
|
7966
7966
|
variant: "secondary",
|
|
7967
|
-
onClick:
|
|
7967
|
+
onClick: T[1] || (T[1] = (ae) => u.value = 1),
|
|
7968
7968
|
disabled: h.value
|
|
7969
7969
|
}, {
|
|
7970
|
-
default: _(() => [...
|
|
7970
|
+
default: _(() => [...T[15] || (T[15] = [
|
|
7971
7971
|
J(" Back ", -1)
|
|
7972
7972
|
])]),
|
|
7973
7973
|
_: 1
|
|
@@ -7978,7 +7978,7 @@ const ti = {
|
|
|
7978
7978
|
disabled: h.value,
|
|
7979
7979
|
loading: h.value
|
|
7980
7980
|
}, {
|
|
7981
|
-
default: _(() => [...
|
|
7981
|
+
default: _(() => [...T[16] || (T[16] = [
|
|
7982
7982
|
J(" Register Key ", -1)
|
|
7983
7983
|
])]),
|
|
7984
7984
|
_: 1
|
|
@@ -7993,10 +7993,10 @@ const ti = {
|
|
|
7993
7993
|
class: "hardware-key-setup-loader"
|
|
7994
7994
|
})
|
|
7995
7995
|
]),
|
|
7996
|
-
|
|
7996
|
+
T[19] || (T[19] = e("h3", { class: "hardware-key-setup-step-title" }, "Registering Hardware Key", -1)),
|
|
7997
7997
|
e("p", z2, 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" }, [
|
|
8001
8001
|
e("div", { class: "hardware-key-setup-progress-check" }, [
|
|
8002
8002
|
e("div", { class: "hardware-key-setup-check-icon" }, [
|
|
@@ -8020,7 +8020,7 @@ const ti = {
|
|
|
8020
8020
|
], -1))
|
|
8021
8021
|
])) : I("", !0),
|
|
8022
8022
|
u.value === 4 ? (a(), o("div", V2, [
|
|
8023
|
-
|
|
8023
|
+
T[24] || (T[24] = e("div", { class: "hardware-key-setup-success" }, [
|
|
8024
8024
|
e("div", { class: "hardware-key-setup-success-icon" }, [
|
|
8025
8025
|
e("svg", {
|
|
8026
8026
|
class: "hardware-key-setup-success-check",
|
|
@@ -8040,7 +8040,7 @@ const ti = {
|
|
|
8040
8040
|
e("p", { class: "hardware-key-setup-success-message" }, " Your hardware key is now active for two-factor authentication. ")
|
|
8041
8041
|
], -1)),
|
|
8042
8042
|
e("div", I2, [
|
|
8043
|
-
|
|
8043
|
+
T[22] || (T[22] = e("div", { class: "hardware-key-setup-backup-codes-header" }, [
|
|
8044
8044
|
e("svg", {
|
|
8045
8045
|
class: "hardware-key-setup-warning-icon",
|
|
8046
8046
|
fill: "currentColor",
|
|
@@ -8071,7 +8071,7 @@ const ti = {
|
|
|
8071
8071
|
size: "sm",
|
|
8072
8072
|
onClick: O
|
|
8073
8073
|
}, {
|
|
8074
|
-
default: _(() => [...
|
|
8074
|
+
default: _(() => [...T[21] || (T[21] = [
|
|
8075
8075
|
J(" 📋 Copy Codes ", -1)
|
|
8076
8076
|
])]),
|
|
8077
8077
|
_: 1
|
|
@@ -8083,7 +8083,7 @@ const ti = {
|
|
|
8083
8083
|
variant: "primary",
|
|
8084
8084
|
onClick: q
|
|
8085
8085
|
}, {
|
|
8086
|
-
default: _(() => [...
|
|
8086
|
+
default: _(() => [...T[23] || (T[23] = [
|
|
8087
8087
|
J(" Done ", -1)
|
|
8088
8088
|
])]),
|
|
8089
8089
|
_: 1
|
|
@@ -8092,7 +8092,7 @@ const ti = {
|
|
|
8092
8092
|
])) : I("", !0),
|
|
8093
8093
|
u.value === 5 ? (a(), o("div", D2, [
|
|
8094
8094
|
e("div", N2, [
|
|
8095
|
-
|
|
8095
|
+
T[25] || (T[25] = e("div", { class: "hardware-key-setup-error-icon" }, [
|
|
8096
8096
|
e("svg", {
|
|
8097
8097
|
class: "hardware-key-setup-error-x",
|
|
8098
8098
|
fill: "none",
|
|
@@ -8107,15 +8107,15 @@ const ti = {
|
|
|
8107
8107
|
})
|
|
8108
8108
|
])
|
|
8109
8109
|
], -1)),
|
|
8110
|
-
|
|
8110
|
+
T[26] || (T[26] = e("h3", { class: "hardware-key-setup-step-title" }, "Registration Failed", -1)),
|
|
8111
8111
|
e("p", B2, R(g.value), 1)
|
|
8112
8112
|
]),
|
|
8113
8113
|
e("div", P2, [
|
|
8114
8114
|
d(i(ue), {
|
|
8115
8115
|
variant: "secondary",
|
|
8116
|
-
onClick:
|
|
8116
|
+
onClick: T[2] || (T[2] = (ae) => u.value = 1)
|
|
8117
8117
|
}, {
|
|
8118
|
-
default: _(() => [...
|
|
8118
|
+
default: _(() => [...T[27] || (T[27] = [
|
|
8119
8119
|
J(" Start Over ", -1)
|
|
8120
8120
|
])]),
|
|
8121
8121
|
_: 1
|
|
@@ -8124,7 +8124,7 @@ const ti = {
|
|
|
8124
8124
|
variant: "primary",
|
|
8125
8125
|
onClick: y
|
|
8126
8126
|
}, {
|
|
8127
|
-
default: _(() => [...
|
|
8127
|
+
default: _(() => [...T[28] || (T[28] = [
|
|
8128
8128
|
J(" Close ", -1)
|
|
8129
8129
|
])]),
|
|
8130
8130
|
_: 1
|
|
@@ -8155,7 +8155,7 @@ const ti = {
|
|
|
8155
8155
|
},
|
|
8156
8156
|
emits: ["close"],
|
|
8157
8157
|
setup(s, { emit: r }) {
|
|
8158
|
-
const t = s, l = r, { regenerateBackupCodes:
|
|
8158
|
+
const t = s, l = r, { regenerateBackupCodes: z, loading: V, getDeviceTypeName: C } = Tt(), w = H({
|
|
8159
8159
|
get: () => t.show,
|
|
8160
8160
|
set: (D) => {
|
|
8161
8161
|
D || l("close");
|
|
@@ -8168,12 +8168,12 @@ const ti = {
|
|
|
8168
8168
|
});
|
|
8169
8169
|
const x = () => {
|
|
8170
8170
|
l("close");
|
|
8171
|
-
},
|
|
8171
|
+
}, $ = () => {
|
|
8172
8172
|
h.value = !0;
|
|
8173
8173
|
}, u = async () => {
|
|
8174
8174
|
if (t.device)
|
|
8175
8175
|
try {
|
|
8176
|
-
const D = await
|
|
8176
|
+
const D = await z(t.device.id);
|
|
8177
8177
|
c.value = D.backup_codes, h.value = !1;
|
|
8178
8178
|
} catch (D) {
|
|
8179
8179
|
console.error("Failed to regenerate backup codes:", D);
|
|
@@ -8206,8 +8206,8 @@ const ti = {
|
|
|
8206
8206
|
"",
|
|
8207
8207
|
"============================"
|
|
8208
8208
|
].join(`
|
|
8209
|
-
`), L = new Blob([y], { type: "text/plain" }), F = URL.createObjectURL(L),
|
|
8210
|
-
|
|
8209
|
+
`), L = new Blob([y], { type: "text/plain" }), F = URL.createObjectURL(L), S = document.createElement("a");
|
|
8210
|
+
S.href = F, S.download = N, document.body.appendChild(S), S.click(), document.body.removeChild(S), URL.revokeObjectURL(F);
|
|
8211
8211
|
};
|
|
8212
8212
|
return (D, g) => (a(), o("div", O2, [
|
|
8213
8213
|
d(pt, {
|
|
@@ -8217,7 +8217,7 @@ const ti = {
|
|
|
8217
8217
|
"card-class": "backup-codes-modal"
|
|
8218
8218
|
}, {
|
|
8219
8219
|
default: _(() => [
|
|
8220
|
-
i(
|
|
8220
|
+
i(V) ? (a(), o("div", R2, [
|
|
8221
8221
|
d(i(ht), { size: 24 }),
|
|
8222
8222
|
g[2] || (g[2] = e("span", { class: "backup-codes-loading-text" }, "Loading backup codes...", -1))
|
|
8223
8223
|
])) : (a(), o("div", F2, [
|
|
@@ -8291,9 +8291,9 @@ const ti = {
|
|
|
8291
8291
|
e("div", e3, [
|
|
8292
8292
|
d(i(ue), {
|
|
8293
8293
|
variant: "secondary",
|
|
8294
|
-
onClick:
|
|
8295
|
-
disabled: i(
|
|
8296
|
-
loading: i(
|
|
8294
|
+
onClick: $,
|
|
8295
|
+
disabled: i(V),
|
|
8296
|
+
loading: i(V)
|
|
8297
8297
|
}, {
|
|
8298
8298
|
default: _(() => [...g[7] || (g[7] = [
|
|
8299
8299
|
J(" 🔄 Regenerate Codes ", -1)
|
|
@@ -8332,8 +8332,8 @@ const ti = {
|
|
|
8332
8332
|
variant: "primary",
|
|
8333
8333
|
size: "sm",
|
|
8334
8334
|
onClick: u,
|
|
8335
|
-
disabled: i(
|
|
8336
|
-
loading: i(
|
|
8335
|
+
disabled: i(V),
|
|
8336
|
+
loading: i(V)
|
|
8337
8337
|
}, {
|
|
8338
8338
|
default: _(() => [...g[9] || (g[9] = [
|
|
8339
8339
|
J(" Yes, Regenerate ", -1)
|
|
@@ -8372,20 +8372,20 @@ const ti = {
|
|
|
8372
8372
|
},
|
|
8373
8373
|
emits: ["confirm", "cancel"],
|
|
8374
8374
|
setup(s, { emit: r }) {
|
|
8375
|
-
const t = s, l = r,
|
|
8375
|
+
const t = s, l = r, z = M(!1), V = H({
|
|
8376
8376
|
get: () => t.show,
|
|
8377
8377
|
set: (c) => {
|
|
8378
8378
|
c || l("cancel");
|
|
8379
8379
|
}
|
|
8380
8380
|
}), C = () => {
|
|
8381
|
-
|
|
8381
|
+
z.value = !0, l("confirm");
|
|
8382
8382
|
}, w = () => {
|
|
8383
8383
|
l("cancel");
|
|
8384
8384
|
};
|
|
8385
8385
|
return (c, h) => (a(), o("div", n3, [
|
|
8386
8386
|
d(pt, {
|
|
8387
|
-
modelValue:
|
|
8388
|
-
"onUpdate:modelValue": h[0] || (h[0] = (x) =>
|
|
8387
|
+
modelValue: V.value,
|
|
8388
|
+
"onUpdate:modelValue": h[0] || (h[0] = (x) => V.value = x),
|
|
8389
8389
|
"card-class": "confirm-modal"
|
|
8390
8390
|
}, {
|
|
8391
8391
|
header: _(() => [
|
|
@@ -8397,7 +8397,7 @@ const ti = {
|
|
|
8397
8397
|
d(i(ue), {
|
|
8398
8398
|
variant: "secondary",
|
|
8399
8399
|
onClick: w,
|
|
8400
|
-
disabled:
|
|
8400
|
+
disabled: z.value
|
|
8401
8401
|
}, {
|
|
8402
8402
|
default: _(() => [
|
|
8403
8403
|
J(R(s.cancelText), 1)
|
|
@@ -8407,8 +8407,8 @@ const ti = {
|
|
|
8407
8407
|
d(i(ue), {
|
|
8408
8408
|
variant: s.variant,
|
|
8409
8409
|
onClick: C,
|
|
8410
|
-
disabled:
|
|
8411
|
-
loading:
|
|
8410
|
+
disabled: z.value,
|
|
8411
|
+
loading: z.value
|
|
8412
8412
|
}, {
|
|
8413
8413
|
default: _(() => [
|
|
8414
8414
|
J(R(s.confirmText), 1)
|
|
@@ -8459,8 +8459,8 @@ const ti = {
|
|
|
8459
8459
|
emits: ["update:modelValue", "mfa-updated"],
|
|
8460
8460
|
setup(s, { emit: r }) {
|
|
8461
8461
|
const t = s, l = r, {
|
|
8462
|
-
mfaEnabled:
|
|
8463
|
-
loading:
|
|
8462
|
+
mfaEnabled: z,
|
|
8463
|
+
loading: V,
|
|
8464
8464
|
activeMfaDevices: C,
|
|
8465
8465
|
fetchMfaDevices: w,
|
|
8466
8466
|
disableMfaDevice: c,
|
|
@@ -8473,7 +8473,7 @@ const ti = {
|
|
|
8473
8473
|
oe("line", { x1: "12", y1: "18", x2: "12.01", y2: "18" })
|
|
8474
8474
|
]);
|
|
8475
8475
|
}
|
|
8476
|
-
},
|
|
8476
|
+
}, $ = {
|
|
8477
8477
|
props: ["size"],
|
|
8478
8478
|
render() {
|
|
8479
8479
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -8520,7 +8520,7 @@ const ti = {
|
|
|
8520
8520
|
oe("path", { d: "m12 17 .01 0" })
|
|
8521
8521
|
]);
|
|
8522
8522
|
}
|
|
8523
|
-
}, g = M("add"), N = Ge({}), y = Ge({}), L = M(!1), F = M(!1),
|
|
8523
|
+
}, g = M("add"), N = Ge({}), y = Ge({}), L = M(!1), F = M(!1), S = M(!1), k = M(!1), O = H({
|
|
8524
8524
|
get: () => t.modelValue || !1,
|
|
8525
8525
|
set: (be) => l("update:modelValue", be)
|
|
8526
8526
|
}), q = H(() => {
|
|
@@ -8542,7 +8542,7 @@ const ti = {
|
|
|
8542
8542
|
} finally {
|
|
8543
8543
|
N[be.id] = !1;
|
|
8544
8544
|
}
|
|
8545
|
-
},
|
|
8545
|
+
}, T = async (be) => {
|
|
8546
8546
|
try {
|
|
8547
8547
|
y[be.id] = !0, await c(be.id), await w(), l("mfa-updated");
|
|
8548
8548
|
} catch (ne) {
|
|
@@ -8577,7 +8577,7 @@ const ti = {
|
|
|
8577
8577
|
}, {
|
|
8578
8578
|
default: _(() => [
|
|
8579
8579
|
e("div", v3, [
|
|
8580
|
-
i(
|
|
8580
|
+
i(V) ? (a(), o("div", p3, [
|
|
8581
8581
|
d(i(ht), { size: 32 }),
|
|
8582
8582
|
ne[11] || (ne[11] = e("span", { class: "mfa-loading-text" }, "Loading MFA settings...", -1))
|
|
8583
8583
|
])) : (a(), o("div", f3, [
|
|
@@ -8585,10 +8585,10 @@ const ti = {
|
|
|
8585
8585
|
e("div", h3, [
|
|
8586
8586
|
e("div", null, [
|
|
8587
8587
|
ne[12] || (ne[12] = e("h3", { class: "mfa-status-title" }, "Two-Factor Authentication", -1)),
|
|
8588
|
-
e("p", g3, R(i(
|
|
8588
|
+
e("p", g3, R(i(z) ? "Enabled" : "Add extra security to your account"), 1)
|
|
8589
8589
|
]),
|
|
8590
8590
|
e("div", C3, [
|
|
8591
|
-
i(
|
|
8591
|
+
i(z) ? (a(), o("span", y3, [
|
|
8592
8592
|
d(U, {
|
|
8593
8593
|
size: 12,
|
|
8594
8594
|
class: "mfa-badge-icon"
|
|
@@ -8633,7 +8633,7 @@ const ti = {
|
|
|
8633
8633
|
e("div", S3, [
|
|
8634
8634
|
e("div", A3, [
|
|
8635
8635
|
e("div", _3, [
|
|
8636
|
-
d(
|
|
8636
|
+
d($, { size: 24 })
|
|
8637
8637
|
]),
|
|
8638
8638
|
ne[16] || (ne[16] = e("div", { class: "mfa-device-option-info" }, [
|
|
8639
8639
|
e("h4", { class: "mfa-device-option-title" }, "Email Verification"),
|
|
@@ -8664,7 +8664,7 @@ const ti = {
|
|
|
8664
8664
|
d(i(ue), {
|
|
8665
8665
|
variant: "outline",
|
|
8666
8666
|
size: "sm",
|
|
8667
|
-
onClick: ne[2] || (ne[2] = (Z) =>
|
|
8667
|
+
onClick: ne[2] || (ne[2] = (Z) => S.value = !0)
|
|
8668
8668
|
}, {
|
|
8669
8669
|
default: _(() => [...ne[19] || (ne[19] = [
|
|
8670
8670
|
J(" Setup ", -1)
|
|
@@ -8722,7 +8722,7 @@ const ti = {
|
|
|
8722
8722
|
Z.device_type === "totp" ? (a(), ye(x, {
|
|
8723
8723
|
key: 0,
|
|
8724
8724
|
size: 20
|
|
8725
|
-
})) : Z.device_type === "email" ? (a(), ye(
|
|
8725
|
+
})) : Z.device_type === "email" ? (a(), ye($, {
|
|
8726
8726
|
key: 1,
|
|
8727
8727
|
size: 20
|
|
8728
8728
|
})) : Z.device_type === "hardware" ? (a(), ye(u, {
|
|
@@ -8756,7 +8756,7 @@ const ti = {
|
|
|
8756
8756
|
message: `Are you sure you want to remove this ${Ae(Z.device_type).toLowerCase()}? You will no longer be able to use it for authentication.`,
|
|
8757
8757
|
"confirm-text": "Remove Device",
|
|
8758
8758
|
"confirm-variant": "danger",
|
|
8759
|
-
onConfirm: (ie) =>
|
|
8759
|
+
onConfirm: (ie) => T(Z)
|
|
8760
8760
|
}, {
|
|
8761
8761
|
trigger: _(() => [
|
|
8762
8762
|
d(i(ue), {
|
|
@@ -8820,10 +8820,10 @@ const ti = {
|
|
|
8820
8820
|
onClose: ne[8] || (ne[8] = (W) => F.value = !1)
|
|
8821
8821
|
}, null, 8, ["show"]),
|
|
8822
8822
|
d(Aa, {
|
|
8823
|
-
show:
|
|
8823
|
+
show: S.value,
|
|
8824
8824
|
"device-type": "hardware",
|
|
8825
8825
|
onSuccess: Ce,
|
|
8826
|
-
onClose: ne[9] || (ne[9] = (W) =>
|
|
8826
|
+
onClose: ne[9] || (ne[9] = (W) => S.value = !1)
|
|
8827
8827
|
}, null, 8, ["show"]),
|
|
8828
8828
|
d(Aa, {
|
|
8829
8829
|
show: k.value,
|
|
@@ -8860,7 +8860,7 @@ const ti = {
|
|
|
8860
8860
|
},
|
|
8861
8861
|
emits: ["close", "settings-updated"],
|
|
8862
8862
|
setup(s, { emit: r }) {
|
|
8863
|
-
const t = r, { currentUser: l, updateUserSettings:
|
|
8863
|
+
const t = r, { currentUser: l, updateUserSettings: z } = ft(), V = M(!1), C = M(null), w = Ge({
|
|
8864
8864
|
levelUpSounds: l.value?.settings?.levelUpSounds ?? !0,
|
|
8865
8865
|
milestoneSounds: l.value?.settings?.milestoneSounds ?? !0
|
|
8866
8866
|
});
|
|
@@ -8877,18 +8877,18 @@ const ti = {
|
|
|
8877
8877
|
C.value || (C.value = "milestone", $a.playLevelUp(50), setTimeout(() => {
|
|
8878
8878
|
C.value === "milestone" && (C.value = null);
|
|
8879
8879
|
}, 2500));
|
|
8880
|
-
},
|
|
8881
|
-
if (!
|
|
8882
|
-
|
|
8880
|
+
}, $ = async (u) => {
|
|
8881
|
+
if (!V.value) {
|
|
8882
|
+
V.value = !0;
|
|
8883
8883
|
try {
|
|
8884
|
-
await
|
|
8884
|
+
await z({
|
|
8885
8885
|
...l.value?.settings,
|
|
8886
8886
|
...w
|
|
8887
8887
|
}), t("settings-updated", { ...w });
|
|
8888
8888
|
} catch (m) {
|
|
8889
8889
|
console.warn("Failed to save settings:", m);
|
|
8890
8890
|
} finally {
|
|
8891
|
-
|
|
8891
|
+
V.value = !1, u();
|
|
8892
8892
|
}
|
|
8893
8893
|
}
|
|
8894
8894
|
};
|
|
@@ -8911,11 +8911,11 @@ const ti = {
|
|
|
8911
8911
|
}, 8, ["onClick"]),
|
|
8912
8912
|
d(lt, {
|
|
8913
8913
|
variant: "primary",
|
|
8914
|
-
onClick: (D) =>
|
|
8915
|
-
loading:
|
|
8914
|
+
onClick: (D) => $(U),
|
|
8915
|
+
loading: V.value
|
|
8916
8916
|
}, {
|
|
8917
8917
|
default: _(() => [
|
|
8918
|
-
J(R(
|
|
8918
|
+
J(R(V.value ? "Saving..." : "Save Settings"), 1)
|
|
8919
8919
|
]),
|
|
8920
8920
|
_: 1
|
|
8921
8921
|
}, 8, ["onClick", "loading"])
|
|
@@ -9057,7 +9057,7 @@ const ti = {
|
|
|
9057
9057
|
},
|
|
9058
9058
|
emits: ["update:modelValue", "sessions-updated"],
|
|
9059
9059
|
setup(s, { emit: r }) {
|
|
9060
|
-
const t = s, l = r, { getUserSessions:
|
|
9060
|
+
const t = s, l = r, { getUserSessions: z, revokeSession: V, revokeAllOtherSessions: C } = ft(), w = {
|
|
9061
9061
|
props: ["size"],
|
|
9062
9062
|
render() {
|
|
9063
9063
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -9091,7 +9091,7 @@ const ti = {
|
|
|
9091
9091
|
oe("polyline", { points: "12,6 12,12 16,14" })
|
|
9092
9092
|
]);
|
|
9093
9093
|
}
|
|
9094
|
-
},
|
|
9094
|
+
}, $ = {
|
|
9095
9095
|
props: ["size"],
|
|
9096
9096
|
render() {
|
|
9097
9097
|
return oe("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -9103,18 +9103,18 @@ const ti = {
|
|
|
9103
9103
|
}
|
|
9104
9104
|
}, u = M([]), m = M(null), U = M(!1), D = M(null), g = Ge({}), N = M(!1), y = H({
|
|
9105
9105
|
get: () => t.modelValue || !1,
|
|
9106
|
-
set: (
|
|
9106
|
+
set: (T) => l("update:modelValue", T)
|
|
9107
9107
|
});
|
|
9108
|
-
Le(() => y.value, (
|
|
9109
|
-
|
|
9108
|
+
Le(() => y.value, (T) => {
|
|
9109
|
+
T && L();
|
|
9110
9110
|
}), Ye(() => {
|
|
9111
9111
|
(typeof t.modelValue > "u" || t.modelValue) && L();
|
|
9112
9112
|
});
|
|
9113
9113
|
const L = async () => {
|
|
9114
9114
|
U.value = !0, D.value = null;
|
|
9115
9115
|
try {
|
|
9116
|
-
const
|
|
9117
|
-
if (u.value =
|
|
9116
|
+
const T = await z();
|
|
9117
|
+
if (u.value = T || [], u.value.length > 0) {
|
|
9118
9118
|
const ae = u.value.filter((Ce) => Ce.is_current || Ce.last_activity_at), ce = [...new Set(u.value.map((Ce) => O(Ce)).filter(Boolean))];
|
|
9119
9119
|
m.value = {
|
|
9120
9120
|
total_sessions: u.value.length,
|
|
@@ -9123,48 +9123,48 @@ const ti = {
|
|
|
9123
9123
|
};
|
|
9124
9124
|
} else
|
|
9125
9125
|
m.value = null;
|
|
9126
|
-
} catch (
|
|
9127
|
-
D.value =
|
|
9126
|
+
} catch (T) {
|
|
9127
|
+
D.value = T instanceof Error ? T.message : "Failed to load sessions", console.error("Failed to load sessions:", T);
|
|
9128
9128
|
} finally {
|
|
9129
9129
|
U.value = !1;
|
|
9130
9130
|
}
|
|
9131
|
-
}, F = async (
|
|
9132
|
-
g[
|
|
9131
|
+
}, F = async (T) => {
|
|
9132
|
+
g[T] = !0;
|
|
9133
9133
|
try {
|
|
9134
|
-
await T
|
|
9134
|
+
await V(T), await L(), l("sessions-updated");
|
|
9135
9135
|
} catch (ae) {
|
|
9136
9136
|
console.error("Failed to revoke session:", ae), D.value = ae instanceof Error ? ae.message : "Failed to revoke session";
|
|
9137
9137
|
} finally {
|
|
9138
|
-
g[
|
|
9138
|
+
g[T] = !1;
|
|
9139
9139
|
}
|
|
9140
|
-
},
|
|
9140
|
+
}, S = async () => {
|
|
9141
9141
|
N.value = !0;
|
|
9142
9142
|
try {
|
|
9143
9143
|
await C(), await L(), l("sessions-updated");
|
|
9144
|
-
} catch (
|
|
9145
|
-
console.error("Failed to revoke all other sessions:",
|
|
9144
|
+
} catch (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
|
}
|
|
9149
|
-
}, k = (
|
|
9150
|
-
if (
|
|
9151
|
-
const ae =
|
|
9149
|
+
}, k = (T) => {
|
|
9150
|
+
if (T.device_name) return T.device_name;
|
|
9151
|
+
const ae = T.user_agent || "";
|
|
9152
9152
|
return ae.includes("Mobile") || ae.includes("Android") || ae.includes("iPhone") ? "Mobile Device" : ae.includes("iPad") ? "iPad" : ae.includes("Mac") ? "Mac" : ae.includes("Windows") ? "Windows PC" : ae.includes("Linux") ? "Linux" : "Unknown Device";
|
|
9153
|
-
}, O = (
|
|
9153
|
+
}, O = (T) => {
|
|
9154
9154
|
const ae = [];
|
|
9155
|
-
return
|
|
9156
|
-
}, q = (
|
|
9157
|
-
if (!
|
|
9158
|
-
const ae = new Date(
|
|
9155
|
+
return T.city && ae.push(T.city), T.region && ae.push(T.region), T.country && ae.push(T.country), ae.length > 0 ? ae.join(", ") : T.ip_address || "Unknown Location";
|
|
9156
|
+
}, q = (T) => {
|
|
9157
|
+
if (!T) return "Unknown";
|
|
9158
|
+
const ae = new Date(T), Ce = (/* @__PURE__ */ new Date()).getTime() - ae.getTime(), xe = Math.floor(Ce / (1e3 * 60)), Ae = Math.floor(Ce / (1e3 * 60 * 60)), Se = Math.floor(Ce / (1e3 * 60 * 60 * 24));
|
|
9159
9159
|
return xe < 1 ? "Just now" : xe < 60 ? `${xe}m ago` : Ae < 24 ? `${Ae}h ago` : Se < 7 ? `${Se}d ago` : Se < 30 ? `${Math.floor(Se / 7)}w ago` : Se < 365 ? `${Math.floor(Se / 30)}mo ago` : `${Math.floor(Se / 365)}y ago`;
|
|
9160
|
-
}, b = (
|
|
9160
|
+
}, b = (T) => T ? new Date(T).toLocaleDateString(void 0, {
|
|
9161
9161
|
year: "numeric",
|
|
9162
9162
|
month: "short",
|
|
9163
9163
|
day: "numeric",
|
|
9164
9164
|
hour: "2-digit",
|
|
9165
9165
|
minute: "2-digit"
|
|
9166
9166
|
}) : "Unknown";
|
|
9167
|
-
return (
|
|
9167
|
+
return (T, ae) => (a(), ye(i(pt), {
|
|
9168
9168
|
modelValue: y.value,
|
|
9169
9169
|
"onUpdate:modelValue": ae[0] || (ae[0] = (ce) => y.value = ce),
|
|
9170
9170
|
title: "Active Sessions",
|
|
@@ -9274,7 +9274,7 @@ const ti = {
|
|
|
9274
9274
|
]),
|
|
9275
9275
|
e("div", P4, [
|
|
9276
9276
|
e("span", j4, [
|
|
9277
|
-
d(
|
|
9277
|
+
d($, { size: 14 })
|
|
9278
9278
|
]),
|
|
9279
9279
|
e("span", O4, " Started " + R(b(ce.created_at)), 1)
|
|
9280
9280
|
])
|
|
@@ -9284,7 +9284,7 @@ const ti = {
|
|
|
9284
9284
|
u.value.length > 1 ? (a(), o("div", R4, [
|
|
9285
9285
|
d(i(ue), {
|
|
9286
9286
|
variant: "outline",
|
|
9287
|
-
onClick:
|
|
9287
|
+
onClick: S,
|
|
9288
9288
|
disabled: N.value
|
|
9289
9289
|
}, {
|
|
9290
9290
|
default: _(() => [
|
|
@@ -9377,7 +9377,7 @@ const ti = {
|
|
|
9377
9377
|
oe("polyline", { points: "22,6 12,13 2,6" })
|
|
9378
9378
|
]);
|
|
9379
9379
|
}
|
|
9380
|
-
},
|
|
9380
|
+
}, z = {
|
|
9381
9381
|
props: ["size"],
|
|
9382
9382
|
render() {
|
|
9383
9383
|
return oe("svg", {
|
|
@@ -9391,7 +9391,7 @@ const ti = {
|
|
|
9391
9391
|
oe("circle", { cx: "16.5", cy: "7.5", r: ".5", fill: "currentColor" })
|
|
9392
9392
|
]);
|
|
9393
9393
|
}
|
|
9394
|
-
},
|
|
9394
|
+
}, V = s, C = r, { getSupportEmail: w, getUrl: c } = vt(V.config), { fetchProfile: h, updateProfile: x, changeEmail: $, changeUsername: u, getUsernameCooldown: m, checkUsernameAvailability: U, getUserSessions: D, currentUser: g, currentSession: N, isAuthenticated: y, refreshToken: L, signOut: F } = ft(), { activeMfaDevices: S, fetchMfaDevices: k } = Tt(), O = M(null), q = M(!1), b = H(() => g.value || V.user || O.value), T = M(!1), ae = M(!1), ce = M(!1), Ce = M(!1), xe = M(!1), Ae = M(!1), Se = M(!1), be = M(!1), ne = M(!1), W = M(!1), Z = M(!1), ie = M(null), te = M(""), Y = M(""), le = M([]), _e = M(!1), Te = Ge({
|
|
9395
9395
|
canChange: !0,
|
|
9396
9396
|
cooldownEnd: null,
|
|
9397
9397
|
daysRemaining: 0
|
|
@@ -9445,7 +9445,7 @@ const ti = {
|
|
|
9445
9445
|
const ct = Math.floor(et / 365);
|
|
9446
9446
|
return ct === 1 ? "1 year ago" : `${ct} years ago`;
|
|
9447
9447
|
}), Oe = H(() => {
|
|
9448
|
-
const X =
|
|
9448
|
+
const X = S.value || [], P = {
|
|
9449
9449
|
totp: 0,
|
|
9450
9450
|
email: 0,
|
|
9451
9451
|
hardware: 0,
|
|
@@ -9474,7 +9474,7 @@ const ti = {
|
|
|
9474
9474
|
type: "hardware",
|
|
9475
9475
|
count: we,
|
|
9476
9476
|
label: we === 1 ? "Key" : "Keys",
|
|
9477
|
-
icon:
|
|
9477
|
+
icon: z,
|
|
9478
9478
|
color: "chip-purple"
|
|
9479
9479
|
});
|
|
9480
9480
|
}
|
|
@@ -9504,7 +9504,7 @@ const ti = {
|
|
|
9504
9504
|
return Ut.value - ea.value - X;
|
|
9505
9505
|
});
|
|
9506
9506
|
const ta = (X, P) => !X && !P ? "U" : `${X?.[0] || ""}${P?.[0] || ""}`.toUpperCase(), Ct = async () => {
|
|
9507
|
-
if (!(!
|
|
9507
|
+
if (!(!V.autoFetch || V.user || !y.value)) {
|
|
9508
9508
|
q.value = !0;
|
|
9509
9509
|
try {
|
|
9510
9510
|
await h(), y.value && await k();
|
|
@@ -9547,7 +9547,7 @@ const ti = {
|
|
|
9547
9547
|
he[X] = "";
|
|
9548
9548
|
});
|
|
9549
9549
|
}, zt = async () => {
|
|
9550
|
-
it(),
|
|
9550
|
+
it(), T.value = !0;
|
|
9551
9551
|
try {
|
|
9552
9552
|
const X = await x({
|
|
9553
9553
|
firstName: re.firstName,
|
|
@@ -9559,24 +9559,24 @@ const ti = {
|
|
|
9559
9559
|
const P = X instanceof Error ? X.message : "Failed to update profile";
|
|
9560
9560
|
Y.value = P, C("error", P);
|
|
9561
9561
|
} finally {
|
|
9562
|
-
|
|
9562
|
+
T.value = !1;
|
|
9563
9563
|
}
|
|
9564
9564
|
}, Vt = async () => {
|
|
9565
9565
|
if (fe.value) {
|
|
9566
|
-
it(),
|
|
9566
|
+
it(), T.value = !0;
|
|
9567
9567
|
try {
|
|
9568
9568
|
await new Promise((X) => setTimeout(X, 1e3)), te.value = "Password updated successfully", Ce.value = !1, Ie.current = "", Ie.new = "", Ie.confirm = "";
|
|
9569
9569
|
} catch (X) {
|
|
9570
9570
|
console.error("Failed to update password:", X), Y.value = "Failed to update password";
|
|
9571
9571
|
} finally {
|
|
9572
|
-
|
|
9572
|
+
T.value = !1;
|
|
9573
9573
|
}
|
|
9574
9574
|
}
|
|
9575
9575
|
}, It = async () => {
|
|
9576
9576
|
if (pe.value) {
|
|
9577
9577
|
ve.errors.newEmail = "", ve.errors.password = "", it(), Ae.value = !0;
|
|
9578
9578
|
try {
|
|
9579
|
-
const X = await
|
|
9579
|
+
const X = await $(ve.newEmail, ve.password);
|
|
9580
9580
|
te.value = X.message || "Email updated successfully. Please verify your new email address.", xe.value = !1, ve.newEmail = "", ve.password = "", b.value && C("profile-updated", b.value);
|
|
9581
9581
|
} catch (X) {
|
|
9582
9582
|
console.error("Failed to update email:", X);
|
|
@@ -9826,7 +9826,7 @@ const ti = {
|
|
|
9826
9826
|
label: "First name",
|
|
9827
9827
|
placeholder: "Enter your first name",
|
|
9828
9828
|
autocomplete: "given-name",
|
|
9829
|
-
disabled:
|
|
9829
|
+
disabled: T.value || q.value,
|
|
9830
9830
|
error: he.firstName
|
|
9831
9831
|
}, null, 8, ["modelValue", "disabled", "error"]),
|
|
9832
9832
|
d(i(Fe), {
|
|
@@ -9837,7 +9837,7 @@ const ti = {
|
|
|
9837
9837
|
label: "Last name",
|
|
9838
9838
|
placeholder: "Enter your last name",
|
|
9839
9839
|
autocomplete: "family-name",
|
|
9840
|
-
disabled:
|
|
9840
|
+
disabled: T.value || q.value,
|
|
9841
9841
|
error: he.lastName
|
|
9842
9842
|
}, null, 8, ["modelValue", "disabled", "error"]),
|
|
9843
9843
|
e("div", l0, [
|
|
@@ -10063,18 +10063,18 @@ const ti = {
|
|
|
10063
10063
|
Q.value ? (a(), o("div", T0, [
|
|
10064
10064
|
d(i(ue), {
|
|
10065
10065
|
type: "submit",
|
|
10066
|
-
disabled:
|
|
10067
|
-
loading:
|
|
10066
|
+
disabled: T.value,
|
|
10067
|
+
loading: T.value
|
|
10068
10068
|
}, {
|
|
10069
10069
|
default: _(() => [
|
|
10070
|
-
J(R(
|
|
10070
|
+
J(R(T.value ? "Saving changes..." : "Save changes"), 1)
|
|
10071
10071
|
]),
|
|
10072
10072
|
_: 1
|
|
10073
10073
|
}, 8, ["disabled", "loading"]),
|
|
10074
10074
|
d(i(ue), {
|
|
10075
10075
|
color: "secondary",
|
|
10076
10076
|
onClick: ra,
|
|
10077
|
-
disabled:
|
|
10077
|
+
disabled: T.value
|
|
10078
10078
|
}, {
|
|
10079
10079
|
default: _(() => [...P[24] || (P[24] = [
|
|
10080
10080
|
J(" Cancel ", -1)
|
|
@@ -10120,7 +10120,7 @@ const ti = {
|
|
|
10120
10120
|
])
|
|
10121
10121
|
])) : I("", !0),
|
|
10122
10122
|
d(Lt, {
|
|
10123
|
-
config:
|
|
10123
|
+
config: V.config
|
|
10124
10124
|
}, {
|
|
10125
10125
|
default: _(() => [
|
|
10126
10126
|
e("div", N0, [
|
|
@@ -10244,26 +10244,26 @@ const ti = {
|
|
|
10244
10244
|
},
|
|
10245
10245
|
emits: ["success", "error", "back-to-signin"],
|
|
10246
10246
|
setup(s, { emit: r }) {
|
|
10247
|
-
const t = s, l = r, { getSupportEmail:
|
|
10247
|
+
const t = s, l = r, { getSupportEmail: z } = vt(t.config), V = M(!1), C = M(""), w = M(!1), c = Ge({
|
|
10248
10248
|
email: ""
|
|
10249
10249
|
}), h = async () => {
|
|
10250
|
-
|
|
10250
|
+
V.value = !0, C.value = "";
|
|
10251
10251
|
try {
|
|
10252
10252
|
await new Promise((x) => setTimeout(x, 1e3)), w.value = !0, l("success", c.email);
|
|
10253
10253
|
} catch {
|
|
10254
10254
|
C.value = "Failed to send password reset email. Please try again.", l("error", C.value);
|
|
10255
10255
|
} finally {
|
|
10256
|
-
|
|
10256
|
+
V.value = !1;
|
|
10257
10257
|
}
|
|
10258
10258
|
};
|
|
10259
|
-
return (x,
|
|
10259
|
+
return (x, $) => (a(), o("div", Z0, [
|
|
10260
10260
|
e("div", K0, [
|
|
10261
10261
|
d(i(_t), {
|
|
10262
10262
|
variant: "modern",
|
|
10263
10263
|
color: "secondary"
|
|
10264
10264
|
}, {
|
|
10265
10265
|
default: _(() => [
|
|
10266
|
-
|
|
10266
|
+
$[6] || ($[6] = e("div", { class: "accui-text-center accui-mb-8" }, [
|
|
10267
10267
|
e("h1", { class: "accui-text-3xl accui-font-bold accui-text-gradient accui-mb-2" }, "Reset password"),
|
|
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)),
|
|
@@ -10274,21 +10274,21 @@ const ti = {
|
|
|
10274
10274
|
d(i(Fe), {
|
|
10275
10275
|
id: "email",
|
|
10276
10276
|
modelValue: c.email,
|
|
10277
|
-
"onUpdate:modelValue":
|
|
10277
|
+
"onUpdate:modelValue": $[0] || ($[0] = (u) => c.email = u),
|
|
10278
10278
|
type: "email",
|
|
10279
10279
|
label: "Email address",
|
|
10280
10280
|
placeholder: "Enter your email address",
|
|
10281
10281
|
autocomplete: "email",
|
|
10282
10282
|
required: "",
|
|
10283
|
-
disabled:
|
|
10283
|
+
disabled: V.value || w.value,
|
|
10284
10284
|
error: C.value ? "Email address not found" : void 0
|
|
10285
10285
|
}, null, 8, ["modelValue", "disabled", "error"]),
|
|
10286
10286
|
d(i(ue), {
|
|
10287
10287
|
type: "submit",
|
|
10288
10288
|
variant: "primary",
|
|
10289
10289
|
"full-width": "",
|
|
10290
|
-
disabled:
|
|
10291
|
-
loading:
|
|
10290
|
+
disabled: V.value || !c.email.trim() || w.value,
|
|
10291
|
+
loading: V.value,
|
|
10292
10292
|
"loading-text": "Sending link..."
|
|
10293
10293
|
}, {
|
|
10294
10294
|
default: _(() => [
|
|
@@ -10309,14 +10309,14 @@ const ti = {
|
|
|
10309
10309
|
message: C.value,
|
|
10310
10310
|
class: "accui-mt-6 accui-animate-fade-in",
|
|
10311
10311
|
dismissible: "",
|
|
10312
|
-
onDismiss:
|
|
10312
|
+
onDismiss: $[1] || ($[1] = (u) => C.value = "")
|
|
10313
10313
|
}, null, 8, ["message"])) : I("", !0),
|
|
10314
10314
|
e("div", G0, [
|
|
10315
10315
|
d(i(mt), {
|
|
10316
|
-
onClick:
|
|
10316
|
+
onClick: $[2] || ($[2] = (u) => x.$emit("back-to-signin")),
|
|
10317
10317
|
class: "accui-inline-flex accui-items-center accui-gap-2"
|
|
10318
10318
|
}, {
|
|
10319
|
-
default: _(() => [
|
|
10319
|
+
default: _(() => [...$[3] || ($[3] = [
|
|
10320
10320
|
e("svg", {
|
|
10321
10321
|
class: "accui-w-4 accui-h-4",
|
|
10322
10322
|
fill: "none",
|
|
@@ -10339,14 +10339,14 @@ const ti = {
|
|
|
10339
10339
|
config: t.config
|
|
10340
10340
|
}, {
|
|
10341
10341
|
default: _(() => [
|
|
10342
|
-
i(
|
|
10342
|
+
i(z)() ? (a(), o("div", Y0, [
|
|
10343
10343
|
e("p", W0, [
|
|
10344
|
-
|
|
10344
|
+
$[5] || ($[5] = J(" Need help? ", -1)),
|
|
10345
10345
|
d(i(mt), {
|
|
10346
10346
|
variant: "primary",
|
|
10347
|
-
href: `mailto:${i(
|
|
10347
|
+
href: `mailto:${i(z)()}`
|
|
10348
10348
|
}, {
|
|
10349
|
-
default: _(() => [
|
|
10349
|
+
default: _(() => [...$[4] || ($[4] = [
|
|
10350
10350
|
J(" Contact Support ", -1)
|
|
10351
10351
|
])]),
|
|
10352
10352
|
_: 1
|
|
@@ -10376,35 +10376,29 @@ const ti = {
|
|
|
10376
10376
|
},
|
|
10377
10377
|
emits: ["sign-in-required"],
|
|
10378
10378
|
setup(s, { emit: r }) {
|
|
10379
|
-
const t = r, l =
|
|
10380
|
-
console.log("[SignedIn] Component script executing - v2.17.14");
|
|
10381
|
-
const { isAuthenticated: V, isInitializing: T, user: C, signOut: w, initialize: c } = ft(), h = H(() => (console.log("[SignedIn] isLoading check:", { isInitializing: T.value, isReady: l.value }), T.value || !l.value)), x = H(() => !h.value && V.value), S = H(() => !h.value && !V.value);
|
|
10382
|
-
Ye(async () => {
|
|
10383
|
-
console.log("[SignedIn] onMounted - calling initialize()"), await c(), console.log("[SignedIn] initialize() completed, isInitializing:", T.value), l.value = !0, console.log("[SignedIn] isReady set to true");
|
|
10384
|
-
});
|
|
10385
|
-
const u = () => {
|
|
10379
|
+
const t = r, { isAuthenticated: l, isInitializing: z, user: V, signOut: C } = ft(), w = typeof window < "u", c = H(() => !w || z.value), h = H(() => !c.value && l.value), x = H(() => !c.value && !l.value), $ = () => {
|
|
10386
10380
|
t("sign-in-required");
|
|
10387
10381
|
};
|
|
10388
|
-
return (
|
|
10382
|
+
return (u, m) => h.value ? (a(), o("div", {
|
|
10389
10383
|
key: 0,
|
|
10390
10384
|
class: Me(["animate-fade-in", s.inline ? "is_inline" : ""])
|
|
10391
10385
|
}, [
|
|
10392
|
-
Pe(
|
|
10393
|
-
user: i(
|
|
10394
|
-
signOut: i(
|
|
10386
|
+
Pe(u.$slots, "default", {
|
|
10387
|
+
user: i(V),
|
|
10388
|
+
signOut: i(C)
|
|
10395
10389
|
}, void 0, !0)
|
|
10396
|
-
], 2)) :
|
|
10397
|
-
Pe(
|
|
10390
|
+
], 2)) : x.value && s.showFallback ? (a(), o("div", X0, [
|
|
10391
|
+
Pe(u.$slots, "fallback", { signIn: $ }, () => [
|
|
10398
10392
|
e("div", { class: "signed-in-fallback" }, [
|
|
10399
|
-
|
|
10393
|
+
m[0] || (m[0] = Qt('<div class="signed-in-icon-container" data-v-0094f02a><svg class="signed-in-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-v-0094f02a><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-0094f02a></path></svg></div><h3 class="signed-in-title" data-v-0094f02a>Sign in required</h3><p class="signed-in-subtitle" data-v-0094f02a>You need to be signed in to access this content.</p>', 3)),
|
|
10400
10394
|
e("button", {
|
|
10401
|
-
onClick:
|
|
10395
|
+
onClick: $,
|
|
10402
10396
|
class: "signed-in-button"
|
|
10403
10397
|
}, " Sign in ")
|
|
10404
10398
|
])
|
|
10405
10399
|
], !0)
|
|
10406
|
-
])) :
|
|
10407
|
-
Pe(
|
|
10400
|
+
])) : c.value ? (a(), o("div", J0, [
|
|
10401
|
+
Pe(u.$slots, "loading", {}, () => [
|
|
10408
10402
|
d(i(ht), {
|
|
10409
10403
|
size: 30,
|
|
10410
10404
|
variant: "circle",
|
|
@@ -10413,7 +10407,7 @@ const ti = {
|
|
|
10413
10407
|
], !0)
|
|
10414
10408
|
])) : I("", !0);
|
|
10415
10409
|
}
|
|
10416
|
-
}), tc = /* @__PURE__ */ Ue(ec, [["__scopeId", "data-v-
|
|
10410
|
+
}), tc = /* @__PURE__ */ Ue(ec, [["__scopeId", "data-v-0094f02a"]]), Cu = /* @__PURE__ */ Ve({
|
|
10417
10411
|
__name: "StrandsConfigProvider",
|
|
10418
10412
|
props: {
|
|
10419
10413
|
config: {}
|
|
@@ -10441,7 +10435,7 @@ const ti = {
|
|
|
10441
10435
|
md: "w-5 h-5",
|
|
10442
10436
|
lg: "w-6 h-6",
|
|
10443
10437
|
xl: "w-8 h-8"
|
|
10444
|
-
}, l = H(() => `${t[r.size]} ${r.class}`),
|
|
10438
|
+
}, l = H(() => `${t[r.size]} ${r.class}`), z = H(() => "0 0 24 24"), V = {
|
|
10445
10439
|
eye: () => oe("g", [
|
|
10446
10440
|
oe("path", {
|
|
10447
10441
|
"stroke-linecap": "round",
|
|
@@ -10537,14 +10531,14 @@ const ti = {
|
|
|
10537
10531
|
"clip-rule": "evenodd"
|
|
10538
10532
|
})
|
|
10539
10533
|
}, C = H(() => {
|
|
10540
|
-
const w =
|
|
10534
|
+
const w = V[r.name];
|
|
10541
10535
|
return w ? w() : oe("path", { d: "" });
|
|
10542
10536
|
});
|
|
10543
10537
|
return (w, c) => (a(), o("svg", {
|
|
10544
10538
|
class: Me(l.value),
|
|
10545
10539
|
fill: s.fill,
|
|
10546
10540
|
stroke: s.stroke,
|
|
10547
|
-
viewBox:
|
|
10541
|
+
viewBox: z.value,
|
|
10548
10542
|
"aria-hidden": s.ariaHidden
|
|
10549
10543
|
}, [
|
|
10550
10544
|
(a(), ye(ot(C.value)))
|
|
@@ -10582,7 +10576,7 @@ const ti = {
|
|
|
10582
10576
|
},
|
|
10583
10577
|
emits: ["profile-updated", "signed-out", "signed-in"],
|
|
10584
10578
|
setup(s, { emit: r }) {
|
|
10585
|
-
const t = s, l = r, { currentUser:
|
|
10579
|
+
const t = s, l = r, { currentUser: z, signOut: V, isAuthenticated: C } = ft(), w = M(!1), c = M(!1), h = M(!1), x = M(), $ = M(), u = M(), m = H(() => $.value), { floatingStyle: U, updatePosition: D } = ja({
|
|
10586
10580
|
trigger: m,
|
|
10587
10581
|
floating: u,
|
|
10588
10582
|
placement: "bottom-end",
|
|
@@ -10627,19 +10621,19 @@ const ti = {
|
|
|
10627
10621
|
default:
|
|
10628
10622
|
return 64;
|
|
10629
10623
|
}
|
|
10630
|
-
}), y = H(() => t.user ? t.user : C.value ?
|
|
10624
|
+
}), y = H(() => t.user ? t.user : C.value ? z.value : null), L = H(() => y.value ? y.value.username ? y.value.username : y.value.firstName && y.value.lastName ? `${y.value.firstName} ${y.value.lastName}` : y.value.firstName ? y.value.firstName : y.value.email || "User" : "User"), F = () => {
|
|
10631
10625
|
w.value = !w.value, w.value && yt(() => {
|
|
10632
10626
|
D();
|
|
10633
10627
|
});
|
|
10634
|
-
},
|
|
10628
|
+
}, S = () => {
|
|
10635
10629
|
w.value = !0;
|
|
10636
10630
|
}, k = () => {
|
|
10637
10631
|
w.value = !1;
|
|
10638
10632
|
}, O = () => {
|
|
10639
10633
|
}, q = () => {
|
|
10640
10634
|
}, b = () => {
|
|
10641
|
-
|
|
10642
|
-
},
|
|
10635
|
+
$.value?.$el?.focus();
|
|
10636
|
+
}, T = () => {
|
|
10643
10637
|
}, ae = () => {
|
|
10644
10638
|
c.value = !0, k();
|
|
10645
10639
|
}, ce = () => {
|
|
@@ -10652,7 +10646,7 @@ const ti = {
|
|
|
10652
10646
|
}, Se = () => {
|
|
10653
10647
|
}, be = async () => {
|
|
10654
10648
|
try {
|
|
10655
|
-
await
|
|
10649
|
+
await V(), k(), l("signed-out");
|
|
10656
10650
|
} catch {
|
|
10657
10651
|
}
|
|
10658
10652
|
};
|
|
@@ -10716,14 +10710,14 @@ const ti = {
|
|
|
10716
10710
|
s.variant === "mini-profile" ? (a(), o("div", {
|
|
10717
10711
|
key: 0,
|
|
10718
10712
|
ref_key: "triggerRef",
|
|
10719
|
-
ref:
|
|
10713
|
+
ref: $,
|
|
10720
10714
|
class: Me(["mini-profile-static-card", `user-button-size-${s.size}`, { "mini-profile-active": w.value, "full-width": s.fullWidth }]),
|
|
10721
10715
|
onClick: F,
|
|
10722
10716
|
onKeydown: [
|
|
10723
10717
|
st(F, ["enter"]),
|
|
10724
10718
|
st(qe(F, ["prevent"]), ["space"]),
|
|
10725
10719
|
st(k, ["escape"]),
|
|
10726
|
-
st(qe(
|
|
10720
|
+
st(qe(S, ["prevent"]), ["arrow-down"])
|
|
10727
10721
|
],
|
|
10728
10722
|
role: "button",
|
|
10729
10723
|
tabindex: "0",
|
|
@@ -10783,7 +10777,7 @@ const ti = {
|
|
|
10783
10777
|
], 42, sc)) : (a(), o("div", {
|
|
10784
10778
|
key: 1,
|
|
10785
10779
|
ref_key: "triggerRef",
|
|
10786
|
-
ref:
|
|
10780
|
+
ref: $,
|
|
10787
10781
|
class: Me(["user-button-wrapper", { "full-width": s.fullWidth }])
|
|
10788
10782
|
}, [
|
|
10789
10783
|
d(i(ue), {
|
|
@@ -10795,7 +10789,7 @@ const ti = {
|
|
|
10795
10789
|
st(F, ["enter"]),
|
|
10796
10790
|
st(qe(F, ["prevent"]), ["space"]),
|
|
10797
10791
|
st(k, ["escape"]),
|
|
10798
|
-
st(qe(
|
|
10792
|
+
st(qe(S, ["prevent"]), ["arrow-down"])
|
|
10799
10793
|
],
|
|
10800
10794
|
"aria-haspopup": "true",
|
|
10801
10795
|
"aria-expanded": w.value,
|
|
@@ -10859,7 +10853,7 @@ const ti = {
|
|
|
10859
10853
|
st(qe(q, ["prevent"]), ["arrow-up"]),
|
|
10860
10854
|
st(qe(O, ["prevent"]), ["arrow-down"]),
|
|
10861
10855
|
st(qe(b, ["prevent"]), ["home"]),
|
|
10862
|
-
st(qe(
|
|
10856
|
+
st(qe(T, ["prevent"]), ["end"])
|
|
10863
10857
|
]
|
|
10864
10858
|
}, [
|
|
10865
10859
|
e("div", fc, [
|
|
@@ -10956,19 +10950,19 @@ const ti = {
|
|
|
10956
10950
|
const t = s, l = () => [
|
|
10957
10951
|
"user-nav",
|
|
10958
10952
|
`user-nav-${t.direction}`
|
|
10959
|
-
],
|
|
10953
|
+
], z = Ge({
|
|
10960
10954
|
items: []
|
|
10961
10955
|
});
|
|
10962
|
-
Yt("userNavState",
|
|
10963
|
-
const
|
|
10964
|
-
const c =
|
|
10965
|
-
c >= 0 ?
|
|
10956
|
+
Yt("userNavState", z);
|
|
10957
|
+
const V = (w) => {
|
|
10958
|
+
const c = z.items.findIndex((h) => h.id === w.id);
|
|
10959
|
+
c >= 0 ? z.items[c] = w : z.items.push(w);
|
|
10966
10960
|
}, C = (w) => {
|
|
10967
|
-
const c =
|
|
10968
|
-
c >= 0 &&
|
|
10961
|
+
const c = z.items.findIndex((h) => h.id === w);
|
|
10962
|
+
c >= 0 && z.items.splice(c, 1);
|
|
10969
10963
|
};
|
|
10970
|
-
return Yt("registerNavItem",
|
|
10971
|
-
items:
|
|
10964
|
+
return Yt("registerNavItem", V), Yt("unregisterNavItem", C), r({
|
|
10965
|
+
items: z.items
|
|
10972
10966
|
}), (w, c) => (a(), o("div", {
|
|
10973
10967
|
class: Me(l())
|
|
10974
10968
|
}, [
|
|
@@ -11009,7 +11003,7 @@ const ti = {
|
|
|
11009
11003
|
align: {}
|
|
11010
11004
|
},
|
|
11011
11005
|
setup(s) {
|
|
11012
|
-
const r = s, t = ha(), l = fa("registerNavItem"),
|
|
11006
|
+
const r = s, t = ha(), l = fa("registerNavItem"), z = fa("unregisterNavItem"), V = M(`nav-item-${Math.random().toString(36).substring(2, 11)}`), C = ss(), w = H(() => {
|
|
11013
11007
|
if (typeof window < "u" && C) {
|
|
11014
11008
|
const m = C.vnode.el?.parentElement;
|
|
11015
11009
|
if (m)
|
|
@@ -11031,7 +11025,7 @@ const ti = {
|
|
|
11031
11025
|
{ "strands-nav-item--disabled": r.disabled }
|
|
11032
11026
|
], x = () => {
|
|
11033
11027
|
r.disabled;
|
|
11034
|
-
},
|
|
11028
|
+
}, $ = (m) => {
|
|
11035
11029
|
const U = {
|
|
11036
11030
|
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",
|
|
11037
11031
|
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",
|
|
@@ -11039,7 +11033,7 @@ const ti = {
|
|
|
11039
11033
|
};
|
|
11040
11034
|
return U[m] || U.dashboard;
|
|
11041
11035
|
}, u = H(() => ({
|
|
11042
|
-
id:
|
|
11036
|
+
id: V.value,
|
|
11043
11037
|
label: c(),
|
|
11044
11038
|
to: r.to,
|
|
11045
11039
|
icon: r.icon,
|
|
@@ -11050,7 +11044,7 @@ const ti = {
|
|
|
11050
11044
|
return Ye(() => {
|
|
11051
11045
|
l && l(u.value);
|
|
11052
11046
|
}), Mt(() => {
|
|
11053
|
-
|
|
11047
|
+
z && z(V.value);
|
|
11054
11048
|
}), Le(() => [r.to, r.icon, r.disabled], () => {
|
|
11055
11049
|
l && l(u.value);
|
|
11056
11050
|
}, { deep: !0 }), (m, U) => (a(), ye(i(ue), {
|
|
@@ -11072,7 +11066,7 @@ const ti = {
|
|
|
11072
11066
|
"stroke-linecap": "round",
|
|
11073
11067
|
"stroke-linejoin": "round",
|
|
11074
11068
|
"stroke-width": "2",
|
|
11075
|
-
d:
|
|
11069
|
+
d: $(r.icon)
|
|
11076
11070
|
}, null, 8, zc)
|
|
11077
11071
|
])) : I("", !0),
|
|
11078
11072
|
Pe(m.$slots, "default")
|
|
@@ -11087,7 +11081,7 @@ const ti = {
|
|
|
11087
11081
|
"stroke-linecap": "round",
|
|
11088
11082
|
"stroke-linejoin": "round",
|
|
11089
11083
|
"stroke-width": "2",
|
|
11090
|
-
d:
|
|
11084
|
+
d: $(r.icon)
|
|
11091
11085
|
}, null, 8, _c)
|
|
11092
11086
|
])) : I("", !0)
|
|
11093
11087
|
]),
|
|
@@ -11107,8 +11101,8 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11107
11101
|
overscan: { default: 5 }
|
|
11108
11102
|
},
|
|
11109
11103
|
setup(s, { expose: r }) {
|
|
11110
|
-
const t = s, l = M(),
|
|
11111
|
-
const u = Math.floor(
|
|
11104
|
+
const t = s, l = M(), z = M(0), V = H(() => {
|
|
11105
|
+
const u = Math.floor(z.value / t.itemHeight), m = Math.min(
|
|
11112
11106
|
u + Math.ceil(t.containerHeight / t.itemHeight),
|
|
11113
11107
|
t.items.length - 1
|
|
11114
11108
|
);
|
|
@@ -11117,7 +11111,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11117
11111
|
end: Math.min(t.items.length - 1, m + t.overscan)
|
|
11118
11112
|
};
|
|
11119
11113
|
}), C = H(() => {
|
|
11120
|
-
const { start: u, end: m } =
|
|
11114
|
+
const { start: u, end: m } = V.value, U = [];
|
|
11121
11115
|
for (let D = u; D <= m; D++)
|
|
11122
11116
|
U.push({
|
|
11123
11117
|
index: D,
|
|
@@ -11130,7 +11124,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11130
11124
|
const x = (u) => {
|
|
11131
11125
|
h && clearTimeout(h), h = setTimeout(() => {
|
|
11132
11126
|
const m = u.target;
|
|
11133
|
-
|
|
11127
|
+
z.value = m.scrollTop;
|
|
11134
11128
|
}, 16);
|
|
11135
11129
|
};
|
|
11136
11130
|
return Mt(() => {
|
|
@@ -11229,7 +11223,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11229
11223
|
oe("polyline", { points: "22,6 12,13 2,6" })
|
|
11230
11224
|
]);
|
|
11231
11225
|
}
|
|
11232
|
-
},
|
|
11226
|
+
}, z = {
|
|
11233
11227
|
props: {
|
|
11234
11228
|
size: {
|
|
11235
11229
|
type: [String, Number],
|
|
@@ -11247,7 +11241,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11247
11241
|
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" })
|
|
11248
11242
|
]);
|
|
11249
11243
|
}
|
|
11250
|
-
},
|
|
11244
|
+
}, V = {
|
|
11251
11245
|
props: {
|
|
11252
11246
|
size: {
|
|
11253
11247
|
type: [String, Number],
|
|
@@ -11270,7 +11264,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11270
11264
|
mfaEnabled: c,
|
|
11271
11265
|
loading: h,
|
|
11272
11266
|
activeMfaDevices: x,
|
|
11273
|
-
fetchMfaDevices:
|
|
11267
|
+
fetchMfaDevices: $
|
|
11274
11268
|
} = Tt(), u = H({
|
|
11275
11269
|
get: () => C.show,
|
|
11276
11270
|
set: (O) => {
|
|
@@ -11278,9 +11272,9 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11278
11272
|
}
|
|
11279
11273
|
}), m = M(!1), U = M(!1), D = M(!1), g = M(!1);
|
|
11280
11274
|
Le(() => C.show, async (O) => {
|
|
11281
|
-
O && await
|
|
11275
|
+
O && await $();
|
|
11282
11276
|
}), Ye(async () => {
|
|
11283
|
-
C.show && await
|
|
11277
|
+
C.show && await $();
|
|
11284
11278
|
});
|
|
11285
11279
|
const N = () => {
|
|
11286
11280
|
w("close");
|
|
@@ -11290,10 +11284,10 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11290
11284
|
U.value = !0;
|
|
11291
11285
|
}, F = () => {
|
|
11292
11286
|
g.value = !0;
|
|
11293
|
-
},
|
|
11294
|
-
m.value = !1, U.value = !1, D.value = !1, await
|
|
11287
|
+
}, S = async () => {
|
|
11288
|
+
m.value = !1, U.value = !1, D.value = !1, await $(), w("success");
|
|
11295
11289
|
}, k = async () => {
|
|
11296
|
-
await
|
|
11290
|
+
await $();
|
|
11297
11291
|
};
|
|
11298
11292
|
return (O, q) => (a(), o("div", Ec, [
|
|
11299
11293
|
d(pt, {
|
|
@@ -11337,7 +11331,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11337
11331
|
i(c) || i(x).length > 0 ? (a(), o("div", Pc, [
|
|
11338
11332
|
e("div", jc, [
|
|
11339
11333
|
e("div", Oc, [
|
|
11340
|
-
d(
|
|
11334
|
+
d(z, {
|
|
11341
11335
|
size: 20,
|
|
11342
11336
|
class: "mfa-setup-shield-icon"
|
|
11343
11337
|
})
|
|
@@ -11424,7 +11418,7 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11424
11418
|
disabled: i(h)
|
|
11425
11419
|
}, {
|
|
11426
11420
|
default: _(() => [
|
|
11427
|
-
d(
|
|
11421
|
+
d(V, {
|
|
11428
11422
|
size: 16,
|
|
11429
11423
|
class: "mfa-setup-manage-icon"
|
|
11430
11424
|
}),
|
|
@@ -11443,19 +11437,19 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11443
11437
|
key: 0,
|
|
11444
11438
|
show: m.value,
|
|
11445
11439
|
onClose: q[1] || (q[1] = (b) => m.value = !1),
|
|
11446
|
-
onSuccess:
|
|
11440
|
+
onSuccess: S
|
|
11447
11441
|
}, null, 8, ["show"])) : I("", !0),
|
|
11448
11442
|
U.value ? (a(), ye(Ga, {
|
|
11449
11443
|
key: 1,
|
|
11450
11444
|
show: U.value,
|
|
11451
11445
|
onClose: q[2] || (q[2] = (b) => U.value = !1),
|
|
11452
|
-
onSuccess:
|
|
11446
|
+
onSuccess: S
|
|
11453
11447
|
}, null, 8, ["show"])) : I("", !0),
|
|
11454
11448
|
D.value ? (a(), ye(Aa, {
|
|
11455
11449
|
key: 2,
|
|
11456
11450
|
show: D.value,
|
|
11457
11451
|
onClose: q[3] || (q[3] = (b) => D.value = !1),
|
|
11458
|
-
onSuccess:
|
|
11452
|
+
onSuccess: S
|
|
11459
11453
|
}, null, 8, ["show"])) : I("", !0),
|
|
11460
11454
|
g.value ? (a(), ye(Ya, {
|
|
11461
11455
|
key: 3,
|
|
@@ -11467,13 +11461,13 @@ const Ic = { class: "accui-p-2 accui-border-b" }, Lc = /* @__PURE__ */ Ve({
|
|
|
11467
11461
|
}
|
|
11468
11462
|
}), Mu = /* @__PURE__ */ Ue(Xc, [["__scopeId", "data-v-5e4af8e5"]]);
|
|
11469
11463
|
function Zt() {
|
|
11470
|
-
const { config: s } = vt(), { currentSession: r, refreshToken: t, getAuthHeaders: l } = ft(),
|
|
11464
|
+
const { config: s } = vt(), { currentSession: r, refreshToken: t, getAuthHeaders: l } = ft(), z = async (x, $ = {}) => {
|
|
11471
11465
|
const {
|
|
11472
11466
|
autoRefresh: u = !0,
|
|
11473
11467
|
requireAuth: m = !0,
|
|
11474
11468
|
baseURL: U,
|
|
11475
11469
|
...D
|
|
11476
|
-
} =
|
|
11470
|
+
} = $;
|
|
11477
11471
|
if (m && !r.value?.accessToken)
|
|
11478
11472
|
throw new Error("User is not authenticated");
|
|
11479
11473
|
let g = x;
|
|
@@ -11482,13 +11476,13 @@ function Zt() {
|
|
|
11482
11476
|
const y = new Headers(D.headers);
|
|
11483
11477
|
if (r.value?.accessToken)
|
|
11484
11478
|
try {
|
|
11485
|
-
const
|
|
11486
|
-
Object.entries(
|
|
11479
|
+
const S = l();
|
|
11480
|
+
Object.entries(S).forEach(([k, O]) => {
|
|
11487
11481
|
y.set(k, O);
|
|
11488
11482
|
});
|
|
11489
|
-
} catch (
|
|
11490
|
-
if (console.warn("[Strands Auth] Failed to get auth headers:",
|
|
11491
|
-
throw
|
|
11483
|
+
} catch (S) {
|
|
11484
|
+
if (console.warn("[Strands Auth] Failed to get auth headers:", S), m)
|
|
11485
|
+
throw S;
|
|
11492
11486
|
}
|
|
11493
11487
|
const L = {
|
|
11494
11488
|
...D,
|
|
@@ -11503,40 +11497,40 @@ function Zt() {
|
|
|
11503
11497
|
y.set(O, q);
|
|
11504
11498
|
}), F = await fetch(g, { ...L, headers: y });
|
|
11505
11499
|
}
|
|
11506
|
-
} catch (
|
|
11507
|
-
console.error("[Strands Auth] Token refresh failed:",
|
|
11500
|
+
} catch (S) {
|
|
11501
|
+
console.error("[Strands Auth] Token refresh failed:", S);
|
|
11508
11502
|
}
|
|
11509
11503
|
return F;
|
|
11510
11504
|
};
|
|
11511
11505
|
return {
|
|
11512
|
-
authenticatedFetch:
|
|
11513
|
-
get: (x,
|
|
11514
|
-
post: (x,
|
|
11506
|
+
authenticatedFetch: z,
|
|
11507
|
+
get: (x, $) => z(x, { ...$, method: "GET" }),
|
|
11508
|
+
post: (x, $, u) => {
|
|
11515
11509
|
const m = new Headers(u?.headers);
|
|
11516
|
-
return
|
|
11510
|
+
return $ && typeof $ == "object" && !m.has("Content-Type") && m.set("Content-Type", "application/json"), z(x, {
|
|
11517
11511
|
...u,
|
|
11518
11512
|
method: "POST",
|
|
11519
11513
|
headers: m,
|
|
11520
|
-
body: typeof
|
|
11514
|
+
body: typeof $ == "object" ? JSON.stringify($) : $
|
|
11521
11515
|
});
|
|
11522
11516
|
},
|
|
11523
|
-
put: (x,
|
|
11517
|
+
put: (x, $, u) => {
|
|
11524
11518
|
const m = new Headers(u?.headers);
|
|
11525
|
-
return
|
|
11519
|
+
return $ && typeof $ == "object" && !m.has("Content-Type") && m.set("Content-Type", "application/json"), z(x, {
|
|
11526
11520
|
...u,
|
|
11527
11521
|
method: "PUT",
|
|
11528
11522
|
headers: m,
|
|
11529
|
-
body: typeof
|
|
11523
|
+
body: typeof $ == "object" ? JSON.stringify($) : $
|
|
11530
11524
|
});
|
|
11531
11525
|
},
|
|
11532
|
-
delete: (x,
|
|
11533
|
-
patch: (x,
|
|
11526
|
+
delete: (x, $) => z(x, { ...$, method: "DELETE" }),
|
|
11527
|
+
patch: (x, $, u) => {
|
|
11534
11528
|
const m = new Headers(u?.headers);
|
|
11535
|
-
return
|
|
11529
|
+
return $ && typeof $ == "object" && !m.has("Content-Type") && m.set("Content-Type", "application/json"), z(x, {
|
|
11536
11530
|
...u,
|
|
11537
11531
|
method: "PATCH",
|
|
11538
11532
|
headers: m,
|
|
11539
|
-
body: typeof
|
|
11533
|
+
body: typeof $ == "object" ? JSON.stringify($) : $
|
|
11540
11534
|
});
|
|
11541
11535
|
}
|
|
11542
11536
|
};
|
|
@@ -11567,8 +11561,8 @@ const xu = {
|
|
|
11567
11561
|
let t = 0;
|
|
11568
11562
|
s.length < 8 ? r.push("Password must be at least 8 characters long") : t += 1, /[A-Z]/.test(s) ? t += 1 : r.push("Password must contain at least one uppercase letter"), /[a-z]/.test(s) ? t += 1 : r.push("Password must contain at least one lowercase letter"), /\d/.test(s) ? t += 1 : r.push("Password must contain at least one number"), /[!@#$%^&*(),.?":{}|<>]/.test(s) ? t += 1 : r.push("Password must contain at least one special character");
|
|
11569
11563
|
const l = r.length === 0;
|
|
11570
|
-
let
|
|
11571
|
-
return t >= 4 ?
|
|
11564
|
+
let z = "weak";
|
|
11565
|
+
return t >= 4 ? z = "strong" : t >= 3 && (z = "medium"), { isValid: l, strength: z, errors: r };
|
|
11572
11566
|
}, Au = (s) => s.trim().length >= 2, _u = (s) => s.trim().length > 0, Tu = (s, r) => s === r, zu = (s, r) => {
|
|
11573
11567
|
const t = s?.charAt(0).toUpperCase() || "", l = r?.charAt(0).toUpperCase() || "";
|
|
11574
11568
|
return t + l || "U";
|