@connectycube/chat-widget 0.37.6 → 0.37.7
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/index.es.js +583 -588
- package/dist/index.umd.js +1 -1
- package/dist/react18.es.js +600 -605
- package/package.json +2 -2
package/dist/index.es.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import Mq, { useRef as wq, useEffect as $, useState as Bq, useMemo as Cq, useCallback as yq, forwardRef as
|
|
1
|
+
import Mq, { useRef as wq, useEffect as $, useState as Bq, useMemo as Cq, useCallback as yq, forwardRef as Le, useImperativeHandle as zs, memo as Ke } from "react";
|
|
2
2
|
import Io from "i18next";
|
|
3
3
|
import { initReactI18next as So, useTranslation as dq } from "react-i18next";
|
|
4
4
|
import { create as Jq } from "zustand";
|
|
5
|
-
import { ConnectyCube as Wq, DevicePlatform as Bo, NotificationChannel as yo, useConnectyCube as pq, CallDataType as
|
|
5
|
+
import { ConnectyCube as Wq, DevicePlatform as Bo, NotificationChannel as yo, useConnectyCube as pq, CallDataType as Te, DialogType as ce, ActiveMedia as TV, CallType as LA, MessageStatus as we, ChatStatus as yA, ChatType as xo } from "@connectycube/react";
|
|
6
6
|
import To from "get-browser-fingerprint";
|
|
7
7
|
import * as CA from "@radix-ui/react-alert-dialog";
|
|
8
|
-
import { clsx as
|
|
9
|
-
import { Slot as
|
|
10
|
-
import { cva as
|
|
11
|
-
import { toast as
|
|
12
|
-
import { VideoOff as Do, Video as
|
|
8
|
+
import { clsx as Js } from "clsx";
|
|
9
|
+
import { Slot as Ps } from "@radix-ui/react-slot";
|
|
10
|
+
import { cva as Ws } from "class-variance-authority";
|
|
11
|
+
import { toast as qA, Toaster as bo } from "sonner";
|
|
12
|
+
import { VideoOff as Do, Video as Zs, MicOff as Uo, Mic as Qo, Phone as KV, ScreenShareOff as vo, ScreenShare as No, Minimize as Go, Maximize as jo, PictureInPicture2 as Ro, PhoneOff as Yo, ChevronRightIcon as Fo, Ellipsis as Oo, Paperclip as Lo, CheckIcon as Ko, XIcon as zo } from "lucide-react";
|
|
13
13
|
import { createPortal as Jo } from "react-dom";
|
|
14
|
-
import * as
|
|
14
|
+
import * as zV from "@radix-ui/react-avatar";
|
|
15
15
|
import * as EA from "@radix-ui/react-dropdown-menu";
|
|
16
|
-
import { generateText as
|
|
16
|
+
import { generateText as Hs } from "ai";
|
|
17
17
|
import { createGoogleGenerativeAI as Po } from "@ai-sdk/google";
|
|
18
|
-
import { VList as
|
|
18
|
+
import { VList as Xs } from "virtua";
|
|
19
19
|
import { useInView as Wo } from "react-intersection-observer";
|
|
20
|
-
import
|
|
20
|
+
import _s from "linkify-react";
|
|
21
21
|
import * as Zo from "@radix-ui/react-label";
|
|
22
|
-
import * as
|
|
23
|
-
import { useForm as
|
|
24
|
-
import * as
|
|
22
|
+
import * as lt from "@radix-ui/react-checkbox";
|
|
23
|
+
import { useForm as JV } from "react-hook-form";
|
|
24
|
+
import * as ze from "@radix-ui/react-tabs";
|
|
25
25
|
import * as MA from "@radix-ui/react-dialog";
|
|
26
|
-
import { DialogDescription as
|
|
26
|
+
import { DialogDescription as $s } from "@radix-ui/react-dialog";
|
|
27
27
|
import * as JA from "@radix-ui/react-tooltip";
|
|
28
|
-
import * as
|
|
28
|
+
import * as dt from "@radix-ui/react-switch";
|
|
29
29
|
function Ho(e) {
|
|
30
30
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
31
31
|
}
|
|
32
|
-
var
|
|
32
|
+
var Me = { exports: {} }, XA = {};
|
|
33
33
|
/**
|
|
34
34
|
* @license React
|
|
35
35
|
* react-jsx-runtime.production.js
|
|
@@ -39,10 +39,10 @@ var we = { exports: {} }, XA = {};
|
|
|
39
39
|
* This source code is licensed under the MIT license found in the
|
|
40
40
|
* LICENSE file in the root directory of this source tree.
|
|
41
41
|
*/
|
|
42
|
-
var
|
|
42
|
+
var gt;
|
|
43
43
|
function Xo() {
|
|
44
|
-
if (
|
|
45
|
-
|
|
44
|
+
if (gt) return XA;
|
|
45
|
+
gt = 1;
|
|
46
46
|
var e = Symbol.for("react.transitional.element"), q = Symbol.for("react.fragment");
|
|
47
47
|
function A(V, t, s) {
|
|
48
48
|
var a = null;
|
|
@@ -61,10 +61,10 @@ function Xo() {
|
|
|
61
61
|
}
|
|
62
62
|
return XA.Fragment = q, XA.jsx = A, XA.jsxs = A, XA;
|
|
63
63
|
}
|
|
64
|
-
var _A = {},
|
|
64
|
+
var _A = {}, ut;
|
|
65
65
|
function _o() {
|
|
66
|
-
if (
|
|
67
|
-
|
|
66
|
+
if (ut) return _A;
|
|
67
|
+
ut = 1;
|
|
68
68
|
/**
|
|
69
69
|
* @license React
|
|
70
70
|
* react-jsx-runtime.development.js
|
|
@@ -303,9 +303,9 @@ React keys must be passed directly to JSX without using spread:
|
|
|
303
303
|
};
|
|
304
304
|
})(), _A;
|
|
305
305
|
}
|
|
306
|
-
var
|
|
306
|
+
var ht;
|
|
307
307
|
function $o() {
|
|
308
|
-
return
|
|
308
|
+
return ht || (ht = 1, "production".NODE_ENV === "production" ? Me.exports = Xo() : Me.exports = _o()), Me.exports;
|
|
309
309
|
}
|
|
310
310
|
var o = $o();
|
|
311
311
|
const qn = "Add members", An = "Admin", en = "are typing", Vn = "Cancel", tn = "Chat name", rn = "Chat name is required", sn = "Chat", an = "Chats", on = "Choose a chat", nn = "Continue", cn = "Create group chat", ln = "Delete", dn = "Draft", gn = "Enter message", un = "Enter user name", hn = "Exit chat", pn = "File format is not supported", mn = "is typing", wn = "me", Mn = "Members", fn = "members", Cn = "New group", En = "New message", kn = "Begin your first chat and see what happens!", In = "No messages yet", Sn = "No online users", Bn = "Profile", yn = "Remove members", xn = "Reset", Tn = "Search", bn = "Select", Dn = "Send", Un = "Start chat", Qn = "Send message to user", vn = "Start a new Group", Nn = "typing", Gn = "Users", jn = "you", Rn = "Block", Yn = "Unblock", Fn = "Report", On = "Report user", Ln = "What's wrong with this user?", Kn = "Reason for reporting", zn = "Report has been created successfully", Jn = "Failed to submit report", Pn = "My profile", Wn = "You are blocked by this user", Zn = "Block list", Hn = "Add to block list", Xn = "Remove from block list", _n = "Block list is empty", $n = "Notification settings", qi = "Notifications", Ai = "Notification sound", ei = "Push notifications", Vi = "Please wait", ti = "Available", ri = "Busy", si = "Away", ai = "Online", oi = "Incoming call", ni = "Incoming audio call from {{name}}", ii = "Incoming video call from {{name}}", ci = "Accept", li = "Reject", di = "{{name}} rejected the call", gi = "Missed call from {{name}}", ui = { Login: "Login", Password: "Password", Register: "Register", Registration: "Registration", LoginRequired: "Login is required", LoginMinLimit: "Login must be at least {{limit}} symbols", LoginMaxLimit: "Login must be at most {{limit}} symbols", PasswordRequired: "Login is required", PasswordMinLimit: "Password must be at least {{limit}} symbols", PasswordMaxLimit: "Password must be at most {{limit}} symbols", LoginDescription: "Enter your login and password to access your account", RegisterDescription: "Fill in the form below to sign up", "ToRegister?": "Don't have an account?", "ToLogin?": "Already have an account?" }, hi = { Title: "Submit your contact data to start a chat", Subtitle: "We will not share your email address. Your email address is used solely to contact you", NamePlaceholder: "Name", NameRequired: "Name is required", EmailPlaceholder: "Email", EmailRequired: "Email is required", EmailInvalid: "Invalid email format", AcceptTermsAndConditions: "Accept terms and conditions", AcceptTermsAndConditionsError: "You must accept the terms and conditions", TermsAndConditionsText: "By clicking this checkbox, you agree to the", TermsAndConditionsLink: "terms and conditions", RememberMe: "Remember me", RememberMeText: "This is my private device", Next: "Next" }, pi = "Opponent(s) for the chat not found", mi = "Information", wi = { GetSummary: "Get summary", ChangeMessageTone: "Change message tone", SummaryMessageTitle: "Only you can see this message", forLast7Days: "for last 7 days", forLastDay: "for last day", forUnreads: "for unreads", MessageTone: "Change message tone", EmptyMessage: "Can't change tone of empty message", positive: "positive", negative: "negative", cringe: "cringe" }, Mi = { RejectedIncoming: "Rejected incoming", RejectedOutgoing: "Rejected outgoing", Unanswered: "Unanswered", Missed: "Missed", Canceled: "Canceled", Ended: "Ended", videoCall: "video call", audioCall: "audio call", defaultCall: "call" }, fi = {
|
|
@@ -542,7 +542,7 @@ const qn = "Add members", An = "Admin", en = "are typing", Vn = "Cancel", tn = "
|
|
|
542
542
|
Information: sd,
|
|
543
543
|
AI: ad,
|
|
544
544
|
CallHistory: od
|
|
545
|
-
},
|
|
545
|
+
}, qa = {
|
|
546
546
|
en: "English",
|
|
547
547
|
ua: "Ukrainian",
|
|
548
548
|
el: "Greek"
|
|
@@ -560,34 +560,34 @@ Io.use(So).init({
|
|
|
560
560
|
}
|
|
561
561
|
});
|
|
562
562
|
var uA = /* @__PURE__ */ ((e) => (e.CHATS = "chats", e.USERS = "users", e))(uA || {});
|
|
563
|
-
const
|
|
563
|
+
const pt = {
|
|
564
564
|
activeTab: "chats"
|
|
565
565
|
/* CHATS */
|
|
566
|
-
},
|
|
567
|
-
...
|
|
566
|
+
}, Je = Jq((e) => ({
|
|
567
|
+
...pt,
|
|
568
568
|
setActiveTab: (q) => e({ activeTab: q }),
|
|
569
|
-
resetActiveTab: () => e({ activeTab:
|
|
569
|
+
resetActiveTab: () => e({ activeTab: pt.activeTab })
|
|
570
570
|
})), cd = () => {
|
|
571
|
-
|
|
571
|
+
Je.setState({
|
|
572
572
|
activeTab: "chats"
|
|
573
573
|
/* CHATS */
|
|
574
574
|
});
|
|
575
575
|
}, bV = {
|
|
576
576
|
visible: !1,
|
|
577
577
|
title: ""
|
|
578
|
-
},
|
|
578
|
+
}, Pe = Jq((e) => ({
|
|
579
579
|
...bV,
|
|
580
580
|
showAlertBusy: (q = "") => e({ visible: !0, title: q }),
|
|
581
581
|
hideAlertBusy: () => e({ visible: !1, title: bV.title })
|
|
582
582
|
})), ld = () => {
|
|
583
|
-
|
|
583
|
+
Pe.setState({ visible: !1, title: bV.title });
|
|
584
584
|
}, dd = { CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_EXTERNAL_ID: "EXTERNAL-id-012345", CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_NAME: "Test Store Name - PROD", CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_OPPONENTS_IDS: "4Ja3BiEWTo,bfoosyJijU,o8k9iLdYiI", CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_PHOTO: "/logo.png" }, {
|
|
585
585
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_EXTERNAL_ID: gd,
|
|
586
586
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_NAME: ud,
|
|
587
587
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_PHOTO: hd,
|
|
588
588
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_OPPONENTS_IDS: pd
|
|
589
589
|
} = dd || "production";
|
|
590
|
-
var
|
|
590
|
+
var be = /* @__PURE__ */ ((e) => (e.SINGLE = "1on1", e.GROUP = "group", e))(be || {});
|
|
591
591
|
const KA = {
|
|
592
592
|
defaultChat: null,
|
|
593
593
|
singleViewChat: {
|
|
@@ -596,16 +596,16 @@ const KA = {
|
|
|
596
596
|
name: ud,
|
|
597
597
|
photo: hd
|
|
598
598
|
}
|
|
599
|
-
},
|
|
599
|
+
}, PV = Jq((e) => ({
|
|
600
600
|
...KA,
|
|
601
601
|
setDefaultChat: (q) => e({ defaultChat: q }),
|
|
602
602
|
setSingleViewChat: (q) => e({ singleViewChat: q }),
|
|
603
603
|
resetDefaultChat: () => e({ defaultChat: KA.defaultChat }),
|
|
604
604
|
resetSingleViewChat: () => e({ singleViewChat: KA.singleViewChat })
|
|
605
605
|
})), md = (e) => {
|
|
606
|
-
|
|
606
|
+
PV.setState(e);
|
|
607
607
|
}, wd = () => {
|
|
608
|
-
|
|
608
|
+
PV.setState(KA);
|
|
609
609
|
}, vq = {
|
|
610
610
|
opened: !1,
|
|
611
611
|
splitView: !1,
|
|
@@ -641,119 +641,119 @@ const KA = {
|
|
|
641
641
|
Fq.setState(e);
|
|
642
642
|
}, fd = () => {
|
|
643
643
|
Fq.setState(vq);
|
|
644
|
-
},
|
|
644
|
+
}, mt = (e = []) => e.slice().filter(Boolean).sort((q, A) => q.id - A.id).reduce((q, { id: A }) => `${q}:${A}`, Ue), Cd = (e) => new Promise((q) => setTimeout(q, e)), Ed = (e) => e.replace(
|
|
645
645
|
/@supports\s*\(\(*\s*-webkit-hyphens\s*:\s*none\s*\)*\s*and\s*\(not\s*\(margin-trim\s*:\s*inline\)\)\s*\)\s*or\s*\(\(*\s*-moz-orient\s*:\s*inline\s*\)*\s*and\s*\(not\s*\(color\s*:\s*rgb\(from\s+red\s+r\s+g\s+b\)\)\)\s*\)\s*\{\s*([\s\S]*?)\s*\}/gm,
|
|
646
646
|
(q, A) => A.trim()
|
|
647
647
|
), rA = typeof window == "object" && typeof document == "object";
|
|
648
648
|
var ee = /* @__PURE__ */ ((e) => (e.WRAPPER = "data-connectycube-chat-widget-wrapper", e.FOCUSED = "data-connectycube-chat-widget-focused", e))(ee || {});
|
|
649
|
-
const
|
|
650
|
-
var mA = /* @__PURE__ */ ((e) => (e.GET_SUMMARY = "ai:get-summary", e.CHANGE_TONE = "ai:change-tone", e.DEFAULT = "ai:default", e))(mA || {}), vA = /* @__PURE__ */ ((e) => (e.LAST_7_DAYS = "last-7-days", e.LAST_DAY = "last-day", e.UNREADS = "unreads", e))(vA || {}),
|
|
651
|
-
const
|
|
649
|
+
const wt = "15px", Mt = "400", Ue = "external_id", ft = "::current_user";
|
|
650
|
+
var mA = /* @__PURE__ */ ((e) => (e.GET_SUMMARY = "ai:get-summary", e.CHANGE_TONE = "ai:change-tone", e.DEFAULT = "ai:default", e))(mA || {}), vA = /* @__PURE__ */ ((e) => (e.LAST_7_DAYS = "last-7-days", e.LAST_DAY = "last-day", e.UNREADS = "unreads", e))(vA || {}), De = /* @__PURE__ */ ((e) => (e.POSITIVE = "positive", e.NEGATIVE = "negative", e.CRINGE = "cringe", e))(De || {}), WV = /* @__PURE__ */ ((e) => (e.AI_TEXT_SUMMARY = "ai-text-summary", e))(WV || {});
|
|
651
|
+
const We = "@connectycube/chat-widget:draftMessages", kd = () => {
|
|
652
652
|
try {
|
|
653
|
-
const e = rA ? localStorage?.getItem(
|
|
653
|
+
const e = rA ? localStorage?.getItem(We) : null;
|
|
654
654
|
return e ? JSON.parse(e) : {};
|
|
655
655
|
} catch (e) {
|
|
656
656
|
return console.error("Could not load state from localStorage", e), {};
|
|
657
657
|
}
|
|
658
|
-
},
|
|
658
|
+
}, fe = (e) => {
|
|
659
659
|
if (rA)
|
|
660
660
|
try {
|
|
661
661
|
const q = JSON.stringify(e);
|
|
662
|
-
localStorage?.setItem(
|
|
662
|
+
localStorage?.setItem(We, q);
|
|
663
663
|
} catch (q) {
|
|
664
664
|
console.error("Could not save state to localStorage", q);
|
|
665
665
|
}
|
|
666
666
|
}, Id = () => {
|
|
667
667
|
if (rA)
|
|
668
668
|
try {
|
|
669
|
-
localStorage?.removeItem(
|
|
669
|
+
localStorage?.removeItem(We);
|
|
670
670
|
} catch (e) {
|
|
671
671
|
console.error("Could not clear state from localStorage", e);
|
|
672
672
|
}
|
|
673
|
-
}, aV = kd(),
|
|
673
|
+
}, aV = kd(), Ze = Jq((e) => ({
|
|
674
674
|
draftMessages: aV,
|
|
675
675
|
setDraftMessages: (q) => {
|
|
676
|
-
e({ draftMessages: q }),
|
|
676
|
+
e({ draftMessages: q }), fe(q);
|
|
677
677
|
},
|
|
678
678
|
upsertDraftMessage: (q) => {
|
|
679
679
|
e((A) => {
|
|
680
680
|
const V = { ...A.draftMessages, ...q };
|
|
681
|
-
return
|
|
681
|
+
return fe(V), { draftMessages: V };
|
|
682
682
|
});
|
|
683
683
|
},
|
|
684
684
|
deleteDraftMessage: (q) => {
|
|
685
685
|
e((A) => {
|
|
686
686
|
const V = { ...A.draftMessages };
|
|
687
|
-
return delete V[q],
|
|
687
|
+
return delete V[q], fe(V), { draftMessages: V };
|
|
688
688
|
});
|
|
689
689
|
},
|
|
690
690
|
resetDraftMessages: () => {
|
|
691
|
-
e({ draftMessages: aV }),
|
|
691
|
+
e({ draftMessages: aV }), fe(aV);
|
|
692
692
|
}
|
|
693
693
|
})), Sd = () => {
|
|
694
|
-
Id(),
|
|
694
|
+
Id(), Ze.setState({ draftMessages: {} });
|
|
695
695
|
};
|
|
696
|
-
var
|
|
697
|
-
const
|
|
696
|
+
var Aa = /* @__PURE__ */ ((e) => (e.UPDATE_USER = "user/UPDATE", e))(Aa || {}), Lq = /* @__PURE__ */ ((e) => (e.AVAILABLE = "Available", e.BUSY = "Busy", e.AWAY = "Away", e))(Lq || {});
|
|
697
|
+
const ZV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:guest", UV = "@connectycube/chat-widget:rememberMe", Ct = "widget_", Bd = (e, q) => {
|
|
698
698
|
Wq.init(e, q);
|
|
699
699
|
}, yd = async (e, q, A, V) => {
|
|
700
|
-
const t = !
|
|
700
|
+
const t = !ca();
|
|
701
701
|
if (t) {
|
|
702
702
|
const s = DA();
|
|
703
|
-
s && (Wq.setSession(s), await
|
|
703
|
+
s && (Wq.setSession(s), await aa(s, e, q, A, V));
|
|
704
704
|
}
|
|
705
705
|
return t;
|
|
706
|
-
},
|
|
707
|
-
const q = DA()?.user?.login, A = typeof q == "string" && (await
|
|
708
|
-
return q && A ? await
|
|
709
|
-
},
|
|
706
|
+
}, ea = async () => {
|
|
707
|
+
const q = DA()?.user?.login, A = typeof q == "string" && (await la(q)).substring(0, 32);
|
|
708
|
+
return q && A ? await He(q, A) : null;
|
|
709
|
+
}, He = async (e, q) => {
|
|
710
710
|
const A = await Wq.createSession({ login: e, password: q });
|
|
711
|
-
return
|
|
712
|
-
},
|
|
713
|
-
const t = Dd(e), s = (await
|
|
711
|
+
return Xe(A, de()), A;
|
|
712
|
+
}, Va = async (e, q, A, V) => {
|
|
713
|
+
const t = Dd(e), s = (await la(t)).substring(0, 32), a = e;
|
|
714
714
|
let i;
|
|
715
715
|
try {
|
|
716
|
-
i = await
|
|
716
|
+
i = await He(t, s), await aa(i, q, a, A, V);
|
|
717
717
|
} catch (c) {
|
|
718
718
|
if (c?.code === 404)
|
|
719
|
-
i = await
|
|
719
|
+
i = await sa(t, s, q, a, A, V);
|
|
720
720
|
else
|
|
721
721
|
throw c;
|
|
722
722
|
}
|
|
723
723
|
return i;
|
|
724
|
-
},
|
|
724
|
+
}, ta = async () => {
|
|
725
725
|
try {
|
|
726
|
-
await Wq.destroySession(),
|
|
726
|
+
await Wq.destroySession(), HV();
|
|
727
727
|
} catch (e) {
|
|
728
728
|
console.error(e);
|
|
729
729
|
}
|
|
730
|
-
},
|
|
730
|
+
}, ra = () => {
|
|
731
731
|
const e = Wq.service?.getSession();
|
|
732
732
|
return e || null;
|
|
733
|
-
},
|
|
733
|
+
}, sa = async (e, q, A, V, t, s) => {
|
|
734
734
|
const a = { login: e, password: q, full_name: A || e };
|
|
735
|
-
return V && (a.external_id = V + ""), t && (a.avatar = t), s && (a.website = s), await Wq.users.signup(a),
|
|
735
|
+
return V && (a.external_id = V + ""), t && (a.avatar = t), s && (a.website = s), await Wq.users.signup(a), He(e, q);
|
|
736
736
|
}, xd = (e = {}) => Wq.service?.sdkInstance?.config?.set?.(e), QV = async (e, q) => {
|
|
737
|
-
const A = q?.user_id ??
|
|
737
|
+
const A = q?.user_id ?? ia(), V = q?.token ?? Td(), t = A && V ? { userId: A, password: V } : null;
|
|
738
738
|
return t ? e(t) : Promise.reject(new Error("[useConnectyCube.connect] Missing userId and password"));
|
|
739
|
-
},
|
|
739
|
+
}, aa = async (e, q, A, V, t) => {
|
|
740
740
|
const s = {};
|
|
741
741
|
if (q && e?.user?.full_name !== q && (s.full_name = q), A && e?.user?.external_id !== A + "" && (s.external_id = A + ""), V && e?.user?.avatar !== V && (s.avatar = V), t && e?.user?.website !== t && (s.website = t), Object.keys(s).length > 0) {
|
|
742
742
|
const { user: a } = await Wq.users.update(s);
|
|
743
|
-
a && (e.user = a,
|
|
743
|
+
a && (e.user = a, Xe(e, de()));
|
|
744
744
|
}
|
|
745
745
|
return e;
|
|
746
|
-
},
|
|
747
|
-
rA && !q && localStorage.setItem(
|
|
746
|
+
}, Xe = (e, q = !1) => {
|
|
747
|
+
rA && !q && localStorage.setItem(ZV, JSON.stringify(e));
|
|
748
748
|
}, DA = () => {
|
|
749
|
-
const e = rA && localStorage.getItem(
|
|
750
|
-
return e ? JSON.parse(e) :
|
|
751
|
-
},
|
|
752
|
-
rA && (localStorage.removeItem(
|
|
749
|
+
const e = rA && localStorage.getItem(ZV);
|
|
750
|
+
return e ? JSON.parse(e) : de() ? ra() : null;
|
|
751
|
+
}, HV = () => {
|
|
752
|
+
rA && (localStorage.removeItem(ZV), localStorage.removeItem(We));
|
|
753
753
|
}, UA = () => {
|
|
754
754
|
const e = DA();
|
|
755
755
|
return e ? e.user : null;
|
|
756
|
-
},
|
|
756
|
+
}, oa = (e) => {
|
|
757
757
|
if (typeof e?.custom_data == "string")
|
|
758
758
|
try {
|
|
759
759
|
return JSON.parse(e.custom_data);
|
|
@@ -761,26 +761,26 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
761
761
|
return console.error("Error parsing custom data:", q), null;
|
|
762
762
|
}
|
|
763
763
|
return null;
|
|
764
|
-
},
|
|
764
|
+
}, na = () => {
|
|
765
765
|
const e = UA();
|
|
766
|
-
return
|
|
767
|
-
},
|
|
768
|
-
const A =
|
|
766
|
+
return oa(e);
|
|
767
|
+
}, le = (e) => oa(e || UA())?.userStatus ?? "Available", Ce = async (e, q = !1) => {
|
|
768
|
+
const A = na(), V = Object.assign({}, A, e), t = JSON.stringify(V), s = DA();
|
|
769
769
|
let a = UA();
|
|
770
|
-
return a && q ? a = { ...a, custom_data: t } : a = (await Wq.users.update({ custom_data: t })).user, s &&
|
|
770
|
+
return a && q ? a = { ...a, custom_data: t } : a = (await Wq.users.update({ custom_data: t })).user, s && Xe({ ...s, user: a }, de()), a;
|
|
771
771
|
}, Td = () => {
|
|
772
772
|
const e = DA();
|
|
773
773
|
return e ? e.token : null;
|
|
774
|
-
},
|
|
774
|
+
}, ia = () => {
|
|
775
775
|
const e = DA();
|
|
776
776
|
return e ? e.user_id : null;
|
|
777
|
-
},
|
|
778
|
-
const q = (
|
|
777
|
+
}, ca = () => {
|
|
778
|
+
const q = (de() ? null : DA())?.updated_at ?? (/* @__PURE__ */ new Date(0)).toISOString(), A = new Date(q).getTime(), t = Date.now() - A, s = 6e4 * 119;
|
|
779
779
|
return t > s;
|
|
780
780
|
}, bd = (e) => {
|
|
781
781
|
const q = DA();
|
|
782
782
|
return q ? !!(e && q.user?.external_id !== e) : !1;
|
|
783
|
-
},
|
|
783
|
+
}, la = async (e) => {
|
|
784
784
|
const q = new TextEncoder().encode(e);
|
|
785
785
|
let A;
|
|
786
786
|
try {
|
|
@@ -789,8 +789,8 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
789
789
|
A = new Uint8Array(q.length).map(() => Math.random() * 256 | 0).buffer;
|
|
790
790
|
}
|
|
791
791
|
return Array.from(new Uint8Array(A)).map((V) => V.toString(16).padStart(2, "0")).join("");
|
|
792
|
-
}, Zq = (e, q = !0) => e ? e.full_name || e.login || `Unknown:${e.id}` : q ? "Unknown" : "",
|
|
793
|
-
const q = await To(), A =
|
|
792
|
+
}, Zq = (e, q = !0) => e ? e.full_name || e.login || `Unknown:${e.id}` : q ? "Unknown" : "", XV = (e) => e ? /^(https?:\/\/|\/|\.\/|\.\.\/)/.test(e) ? e : Wq.storage.privateUrl(e) : "", Dd = (e) => e ? `${Ct}${e}` : `${Ct}${Math.random().toString(36).substring(2, 14)}`, Ud = async (e, q) => Wq.data.create("UserReports", { reportedUserId: e, reason: q }), Qd = async (e) => {
|
|
793
|
+
const q = await To(), A = ia(), V = btoa(`${A}:${q}`), { endpoint: t, auth: s, p256dh: a } = e ?? {};
|
|
794
794
|
if (t && s && a && V)
|
|
795
795
|
return Wq.pushnotifications.subscriptions.create({
|
|
796
796
|
notification_channel: yo.WEB,
|
|
@@ -814,7 +814,7 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
814
814
|
rA && (e ? localStorage.setItem(UV, "1") : localStorage.removeItem(UV));
|
|
815
815
|
}, jd = (e = !1) => {
|
|
816
816
|
rA && (e ? localStorage.setItem(DV, "1") : localStorage.removeItem(DV));
|
|
817
|
-
}, Rd = () => rA ? !!localStorage.getItem(UV) : !1, Yd = () => rA ? !!localStorage.getItem(DV) : !1,
|
|
817
|
+
}, Rd = () => rA ? !!localStorage.getItem(UV) : !1, Yd = () => rA ? !!localStorage.getItem(DV) : !1, de = () => Yd() && !Rd(), Fd = { CHAT_WIDGET_CONNECTYCUBE_TERMS_AND_CONDITIONS: "https://connectycube.com/terms-of-use/" }, { CHAT_WIDGET_CONNECTYCUBE_TERMS_AND_CONDITIONS: Od } = Fd || "production", Sq = {
|
|
818
818
|
userAuthorized: !1,
|
|
819
819
|
attachmentsAccept: "*/*",
|
|
820
820
|
attachmentsAcceptList: ["*/*"],
|
|
@@ -830,7 +830,7 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
830
830
|
}, Uq = Jq((e, q) => ({
|
|
831
831
|
...Sq,
|
|
832
832
|
setUserAuthorized: (A) => e({ userAuthorized: A }),
|
|
833
|
-
setAttachmentsAccept: (A) => e({ attachmentsAccept: A, attachmentsAcceptList:
|
|
833
|
+
setAttachmentsAccept: (A) => e({ attachmentsAccept: A, attachmentsAcceptList: ga(A) }),
|
|
834
834
|
setEnableUserLogin: (A) => e({ enableUserLogin: A }),
|
|
835
835
|
setEnableCalls: (A) => e({ enableCalls: A && Nd }),
|
|
836
836
|
setEnableUserStatuses: (A) => e({ enableUserStatuses: A }),
|
|
@@ -855,11 +855,11 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
855
855
|
resetLimitUrlsPreviews: () => e({ limitUrlsPreviews: Sq.limitUrlsPreviews }),
|
|
856
856
|
resetTermsAndConditions: () => e({ termsAndConditions: Sq.termsAndConditions }),
|
|
857
857
|
isSupportedFile: (A) => Kd(A, q().attachmentsAcceptList)
|
|
858
|
-
})),
|
|
859
|
-
e.attachmentsAccept && (e.attachmentsAcceptList =
|
|
858
|
+
})), da = (e) => {
|
|
859
|
+
e.attachmentsAccept && (e.attachmentsAcceptList = ga(e.attachmentsAccept)), e.limitUrlsPreviews && (e.limitUrlsPreviews = e.limitUrlsPreviews > 5 ? 5 : e.limitUrlsPreviews), Uq.setState(e);
|
|
860
860
|
}, Ld = () => {
|
|
861
861
|
Uq.setState(Sq);
|
|
862
|
-
},
|
|
862
|
+
}, ga = (e) => typeof e == "string" ? e.split(/\s*,\s*|\s+/).map((q) => q.toLowerCase().trim()) : null, Kd = (e, q) => {
|
|
863
863
|
const { type: A, size: V } = e;
|
|
864
864
|
if (q === null || typeof A != "string" || typeof V != "number" || V <= 0 || A.length === 0)
|
|
865
865
|
return !1;
|
|
@@ -898,20 +898,20 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
898
898
|
description: "",
|
|
899
899
|
actions: []
|
|
900
900
|
}
|
|
901
|
-
},
|
|
901
|
+
}, _V = Jq((e) => ({
|
|
902
902
|
...Qe,
|
|
903
903
|
setQuickActions: (q) => e({ quickActions: q }),
|
|
904
904
|
resetQuickActions: () => e({ quickActions: Qe.quickActions })
|
|
905
905
|
})), Hd = (e) => {
|
|
906
|
-
|
|
906
|
+
_V.setState(e);
|
|
907
907
|
}, Xd = () => {
|
|
908
|
-
|
|
908
|
+
_V.setState(Qe);
|
|
909
909
|
}, dA = {
|
|
910
910
|
requestOnlineUsersInterval: 300,
|
|
911
911
|
// in seconds
|
|
912
912
|
enableOnlineUsersBadge: !1,
|
|
913
913
|
onlineUsersCount: 0
|
|
914
|
-
},
|
|
914
|
+
}, ge = Jq((e) => ({
|
|
915
915
|
requestOnlineUsersInterval: dA.requestOnlineUsersInterval,
|
|
916
916
|
// in seconds
|
|
917
917
|
enableOnlineUsersBadge: dA.enableOnlineUsersBadge,
|
|
@@ -927,10 +927,10 @@ const HV = "@connectycube/chat-widget:session", DV = "@connectycube/chat-widget:
|
|
|
927
927
|
resetEnableOnlineUsersBadge: () => e({ enableOnlineUsersBadge: dA.enableOnlineUsersBadge }),
|
|
928
928
|
resetOnlineUsersCount: () => e({ onlineUsersCount: dA.onlineUsersCount })
|
|
929
929
|
})), _d = () => {
|
|
930
|
-
|
|
931
|
-
},
|
|
930
|
+
ge.setState({ onlineUsersCount: 0 });
|
|
931
|
+
}, $V = typeof Buffer == "function";
|
|
932
932
|
typeof TextDecoder == "function" && new TextDecoder();
|
|
933
|
-
const
|
|
933
|
+
const Et = typeof TextEncoder == "function" ? new TextEncoder() : void 0, $d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", Ve = Array.prototype.slice.call($d);
|
|
934
934
|
((e) => {
|
|
935
935
|
let q = {};
|
|
936
936
|
return e.forEach((A, V) => q[A] = V), q;
|
|
@@ -946,11 +946,11 @@ const qg = (e) => e.replace(/=/g, "").replace(/[+\/]/g, (q) => q == "+" ? "-" :
|
|
|
946
946
|
q = A << 16 | V << 8 | t, s += Ve[q >> 18 & 63] + Ve[q >> 12 & 63] + Ve[q >> 6 & 63] + Ve[q & 63];
|
|
947
947
|
}
|
|
948
948
|
return a ? s.slice(0, a - 3) + "===".substring(a) : s;
|
|
949
|
-
},
|
|
949
|
+
}, ua = typeof btoa == "function" ? (e) => btoa(e) : $V ? (e) => Buffer.from(e, "binary").toString("base64") : Ag, eg = $V ? (e) => Buffer.from(e).toString("base64") : (e) => {
|
|
950
950
|
let A = [];
|
|
951
951
|
for (let V = 0, t = e.length; V < t; V += 4096)
|
|
952
952
|
A.push(iA.apply(null, e.subarray(V, V + 4096)));
|
|
953
|
-
return
|
|
953
|
+
return ua(A.join(""));
|
|
954
954
|
}, Vg = (e) => {
|
|
955
955
|
if (e.length < 2) {
|
|
956
956
|
var q = e.charCodeAt(0);
|
|
@@ -959,10 +959,10 @@ const qg = (e) => e.replace(/=/g, "").replace(/[+\/]/g, (q) => q == "+" ? "-" :
|
|
|
959
959
|
var q = 65536 + (e.charCodeAt(0) - 55296) * 1024 + (e.charCodeAt(1) - 56320);
|
|
960
960
|
return iA(240 | q >>> 18 & 7) + iA(128 | q >>> 12 & 63) + iA(128 | q >>> 6 & 63) + iA(128 | q & 63);
|
|
961
961
|
}
|
|
962
|
-
}, tg = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, rg = (e) => e.replace(tg, Vg),
|
|
963
|
-
var oV = { exports: {} },
|
|
962
|
+
}, tg = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, rg = (e) => e.replace(tg, Vg), kt = $V ? (e) => Buffer.from(e, "utf8").toString("base64") : Et ? (e) => eg(Et.encode(e)) : (e) => ua(rg(e)), ha = (e, q = !1) => q ? qg(kt(e)) : kt(e);
|
|
963
|
+
var oV = { exports: {} }, It;
|
|
964
964
|
function sg() {
|
|
965
|
-
return
|
|
965
|
+
return It || (It = 1, (function(e) {
|
|
966
966
|
var q = Object.prototype.hasOwnProperty, A = "~";
|
|
967
967
|
function V() {
|
|
968
968
|
}
|
|
@@ -1068,15 +1068,15 @@ function sg() {
|
|
|
1068
1068
|
})(oV)), oV.exports;
|
|
1069
1069
|
}
|
|
1070
1070
|
var ag = sg();
|
|
1071
|
-
const
|
|
1072
|
-
var
|
|
1071
|
+
const ae = /* @__PURE__ */ Ho(ag);
|
|
1072
|
+
var St, Bt;
|
|
1073
1073
|
(function(e) {
|
|
1074
1074
|
e[e.COMPACT = 1] = "COMPACT", e[e.FULL = 0] = "FULL";
|
|
1075
|
-
})(
|
|
1075
|
+
})(St || (St = {})), (function(e) {
|
|
1076
1076
|
e.FACEBOOK = "facebook", e.TWITTER = "twitter", e.FIREBASE_PHONE = "firebase_phone", e.FIREBASE_EMAIL = "firebase_email";
|
|
1077
|
-
})(
|
|
1077
|
+
})(Bt || (Bt = {}));
|
|
1078
1078
|
const og = "WebRTCVideoChat";
|
|
1079
|
-
var Kq, hA, jq, bA, Xq,
|
|
1079
|
+
var Kq, hA, jq, bA, Xq, $q, ve, Qq, vV, NV, Ne, yt, xt, Tt, bt, Dt, GV, Yq, pA, Ge, VA, Pq, Ut, qq, xq, Qt, vt, Nt;
|
|
1080
1080
|
(function(e) {
|
|
1081
1081
|
e.CALL = "call", e.ACCEPT = "accept", e.REJECT = "reject", e.STOP = "hangUp", e.RESTART = "iceRestart", e.RESTART_ACCEPT = "iceRestartAccept", e.CANDIDATE = "iceCandidates";
|
|
1082
1082
|
})(Kq || (Kq = {})), (function(e) {
|
|
@@ -1089,7 +1089,7 @@ var Kq, hA, jq, bA, Xq, qA, ve, Qq, vV, NV, Ne, xt, Tt, bt, Dt, Ut, GV, Yq, pA,
|
|
|
1089
1089
|
e.CALL = "call", e.ACCEPT = "accept", e.REJECT = "reject", e.STOP = "stop", e.INVALID = "invalid", e.NOT_ANSWER = "not-answer", e.REMOTE_STREAM = "remote-stream", e.CONNECTION_STATE = "connection-state", e.CLOSE = "close", e.STATS_REPORT = "stats-report", e.DEVICES = "devices";
|
|
1090
1090
|
})(Xq || (Xq = {})), (function(e) {
|
|
1091
1091
|
e[e.NEW = 1] = "NEW", e[e.CONNECTING = 2] = "CONNECTING", e[e.CHECKING = 3] = "CHECKING", e[e.CONNECTED = 4] = "CONNECTED", e[e.DISCONNECTED = 5] = "DISCONNECTED", e[e.FAILED = 6] = "FAILED", e[e.CLOSED = 7] = "CLOSED", e[e.COMPLETED = 8] = "COMPLETED";
|
|
1092
|
-
})(
|
|
1092
|
+
})($q || ($q = {})), (function(e) {
|
|
1093
1093
|
e.CHAT = "chat", e.GROUPCHAT = "groupchat";
|
|
1094
1094
|
})(ve || (ve = {})), (function(e) {
|
|
1095
1095
|
e.STATUS = "status", e.ERROR = "error", e.DISCONNECTED = "disconnected", e.RECONNECTED = "reconnected", e.MESSAGE = "message", e.SYSTEM_MESSAGE = "system-message", e.ERROR_MESSAGE = "error-message", e.TYPING_MESSAGE = "typing-message", e.UPDATE_MESSAGE = "update-message", e.DELETE_MESSAGE = "delete-message", e.REACTIONS_MESSAGE = "reactions-message", e.DELIVERED_MESSAGE = "delivered-message", e.READ_MESSAGE = "read-message", e.SENT_MESSAGE = "sent-message", e.USER_LAST_ACTIVITY = "user-last-activity", e.JOIN = "join", e.LEAVE = "leave", e.KICK = "kick";
|
|
@@ -1101,15 +1101,15 @@ var Kq, hA, jq, bA, Xq, qA, ve, Qq, vV, NV, Ne, xt, Tt, bt, Dt, Ut, GV, Yq, pA,
|
|
|
1101
1101
|
e.ALL = "all", e.TRACE = "trace", e.DEBUG = "debug", e.VDEBUG = "vdebug", e.LOG = "log", e.WARN = "warn", e.ERROR = "error";
|
|
1102
1102
|
})(Ne || (Ne = {})), (function(e) {
|
|
1103
1103
|
e.CREATE = "create", e.READ = "read", e.UPDATE = "update", e.DELETE = "delete";
|
|
1104
|
-
})(
|
|
1104
|
+
})(yt || (yt = {})), (function(e) {
|
|
1105
1105
|
e.OPEN = "open", e.OWNER = "owner", e.NOT_ALLOWED = "not_allowed", e.OPEN_FOR_GROUPS = "open_for_groups", e.OPEN_FOR_USERS_IDS = "open_for_users_ids";
|
|
1106
|
-
})(
|
|
1106
|
+
})(xt || (xt = {})), (function(e) {
|
|
1107
1107
|
e[e.PUBLIC = 1] = "PUBLIC", e[e.GROUP = 2] = "GROUP", e[e.PRIVATE = 3] = "PRIVATE", e[e.BROADCAST = 4] = "BROADCAST", e[e.MEETING = 5] = "MEETING";
|
|
1108
|
-
})(
|
|
1108
|
+
})(Tt || (Tt = {})), (function(e) {
|
|
1109
1109
|
e.SENT = "sent", e.DELIVERED = "delivered", e.READ = "read";
|
|
1110
|
-
})(
|
|
1110
|
+
})(bt || (bt = {})), (function(e) {
|
|
1111
1111
|
e.CREATED = "created_at", e.UPDATED = "updated_at", e.LAST_MESSAGE = "last_message_date_sent";
|
|
1112
|
-
})(
|
|
1112
|
+
})(Dt || (Dt = {})), (function(e) {
|
|
1113
1113
|
e.VIDEO = "videoinput", e.AUDIO = "audioinput";
|
|
1114
1114
|
})(GV || (GV = {})), (function(e) {
|
|
1115
1115
|
e.PARTICIPANT_JOINED = "participant_joined", e.PARTICIPANT_LEFT = "participant_left", e.LOCAL_STREAM = "local_stream", e.REMOTE_STREAM = "remote_stream", e.REMOTE_TRACKS_UPDATED = "remote_tracks_updated", e.DATA_CHANNEL_OPEN = "data_channel_open", e.DATA_CHANNEL_MESSAGE = "data_channel_message", e.ERROR = "error";
|
|
@@ -1123,28 +1123,23 @@ var Kq, hA, jq, bA, Xq, qA, ve, Qq, vV, NV, Ne, xt, Tt, bt, Dt, Ut, GV, Yq, pA,
|
|
|
1123
1123
|
e.AUDIO = "audio", e.VIDEO = "video", e.NONE = "none";
|
|
1124
1124
|
})(Pq || (Pq = {})), (function(e) {
|
|
1125
1125
|
e.MINUTES = "minutes", e.HOURS = "hours", e.DAYS = "days", e.WEEK = "weeks";
|
|
1126
|
-
})(
|
|
1126
|
+
})(Ut || (Ut = {})), (function(e) {
|
|
1127
1127
|
e.GET = "GET", e.POST = "POST", e.PUT = "PUT", e.PATCH = "PATCH", e.DELETE = "DELETE", e.HEAD = "HEAD";
|
|
1128
1128
|
})(qq || (qq = {})), (function(e) {
|
|
1129
1129
|
e.JSON = "json", e.TEXT = "text";
|
|
1130
1130
|
})(xq || (xq = {})), (function(e) {
|
|
1131
1131
|
e.APNS = "apns", e.VOIP = "apns_voip", e.GCM = "gcm", e.WEB = "web";
|
|
1132
|
-
})(
|
|
1132
|
+
})(Qt || (Qt = {})), (function(e) {
|
|
1133
1133
|
e.IOS = "ios", e.ANDROID = "android", e.WEB = "web";
|
|
1134
|
-
})(
|
|
1134
|
+
})(vt || (vt = {})), (function(e) {
|
|
1135
1135
|
e.DEV = "development", e.PROD = "production";
|
|
1136
|
-
})(
|
|
1137
|
-
const
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
} catch {
|
|
1141
|
-
console.warn("Install WebRTC adapter if you want to use ConnectyCube.videochatconference. More info https://github.com/webrtc/adapter");
|
|
1142
|
-
}
|
|
1143
|
-
const De = $q ? window.adapter : void 0, ae = $q ? window.navigator : void 0, zq = $q && ae ? ae.mediaDevices : void 0, et = $q ? window.MediaStream : void 0, ng = $q ? window.MediaStreamTrack : void 0, ig = $q ? window.RTCIceCandidate : void 0, je = $q ? window.RTCPeerConnection : void 0, cg = $q ? window.RTCRtpReceiver : void 0, lg = $q ? window.RTCRtpSender : void 0, fa = $q ? window.RTCSessionDescription : void 0, RV = !!$q && !!(zq && je);
|
|
1144
|
-
var dg = Object.freeze({ __proto__: null, FormDataImpl: Ma, MediaStream: et, MediaStreamTrack: ng, RTCIceCandidate: ig, RTCPeerConnection: je, RTCRtpReceiver: cg, RTCRtpSender: lg, RTCSessionDescription: fa, adapter: De, base64Encode: pa, fetchImpl: jV, isBrowser: $q, isExpo: wa, isNodeJS: Xe, isReactNative: ma, isWebRTCAvailable: RV, mediaDevices: zq, navigator: ae, sdkVersion: At });
|
|
1136
|
+
})(Nt || (Nt = {}));
|
|
1137
|
+
const qt = "4.7.18", AA = typeof window < "u" && typeof document == "object", pa = typeof process == "object" && typeof process.versions == "object" && !!process.versions.node, ma = !1, wa = !1, jV = fetch, Ma = FormData, se = AA ? window.adapter : void 0, oe = AA ? window.navigator : void 0, zq = AA && oe ? oe.mediaDevices : void 0, At = AA ? window.MediaStream : void 0, ng = AA ? window.MediaStreamTrack : void 0, ig = AA ? window.RTCIceCandidate : void 0, je = AA ? window.RTCPeerConnection : void 0, cg = AA ? window.RTCRtpReceiver : void 0, lg = AA ? window.RTCRtpSender : void 0, fa = AA ? window.RTCSessionDescription : void 0, Re = !!AA && !!(zq && je);
|
|
1138
|
+
Re && !se && console.warn("Install WebRTC adapter if you want to use ConnectyCube.videochatconference. More info https://github.com/webrtc/adapter");
|
|
1139
|
+
var dg = Object.freeze({ __proto__: null, FormDataImpl: Ma, MediaStream: At, MediaStreamTrack: ng, RTCIceCandidate: ig, RTCPeerConnection: je, RTCRtpReceiver: cg, RTCRtpSender: lg, RTCSessionDescription: fa, adapter: se, base64Encode: ha, fetchImpl: jV, isBrowser: AA, isExpo: wa, isNodeJS: pa, isReactNative: ma, isWebRTCAvailable: Re, mediaDevices: zq, navigator: oe, sdkVersion: qt });
|
|
1145
1140
|
class OA {
|
|
1146
1141
|
static instance;
|
|
1147
|
-
version =
|
|
1142
|
+
version = qt;
|
|
1148
1143
|
creds = { appId: "", authKey: "" };
|
|
1149
1144
|
endpoints = { api: "api.connectycube.com", chat: "chat.connectycube.com", muc: "muc.chat.connectycube.com" };
|
|
1150
1145
|
chatProtocol = { bosh: "https://chat.connectycube.com:5281", websocket: "wss://chat.connectycube.com:5291", active: 2 };
|
|
@@ -1176,7 +1171,7 @@ class OA {
|
|
|
1176
1171
|
var K = OA.getInstance();
|
|
1177
1172
|
class p {
|
|
1178
1173
|
static loggers = [];
|
|
1179
|
-
static env = { isReactNative: ma, isBrowser:
|
|
1174
|
+
static env = { isReactNative: ma, isBrowser: AA, isNodeJS: pa, isExpo: wa };
|
|
1180
1175
|
static safeCallbackCall(q = () => {
|
|
1181
1176
|
}) {
|
|
1182
1177
|
return (...A) => {
|
|
@@ -1437,27 +1432,27 @@ function Ca(e) {
|
|
|
1437
1432
|
} });
|
|
1438
1433
|
}), A;
|
|
1439
1434
|
}
|
|
1440
|
-
var jt, Rt, Yt, Ft,
|
|
1441
|
-
function
|
|
1442
|
-
return
|
|
1435
|
+
var Gt, jt, Rt, Yt, nV, Ft, iV, Ot, Lt, Kt, zt, $A = {}, SA = {};
|
|
1436
|
+
function et() {
|
|
1437
|
+
return jt ? Gt : (jt = 1, Gt = class extends Error {
|
|
1443
1438
|
constructor(e) {
|
|
1444
1439
|
super(e), this.name = "TimeoutError";
|
|
1445
1440
|
}
|
|
1446
1441
|
});
|
|
1447
1442
|
}
|
|
1448
1443
|
function Ea() {
|
|
1449
|
-
return
|
|
1444
|
+
return Yt || (Yt = 1, Rt = function(e) {
|
|
1450
1445
|
let q;
|
|
1451
1446
|
const A = new Promise((V) => {
|
|
1452
1447
|
q = setTimeout(V, e);
|
|
1453
1448
|
});
|
|
1454
1449
|
return A.timeout = q, A;
|
|
1455
|
-
}),
|
|
1450
|
+
}), Rt;
|
|
1456
1451
|
}
|
|
1457
1452
|
function pg() {
|
|
1458
|
-
if (
|
|
1459
|
-
|
|
1460
|
-
const e =
|
|
1453
|
+
if (Ft) return nV;
|
|
1454
|
+
Ft = 1;
|
|
1455
|
+
const e = et(), q = Ea();
|
|
1461
1456
|
return nV = function(A, V) {
|
|
1462
1457
|
const t = q(V);
|
|
1463
1458
|
return Promise.race([A.finally(function() {
|
|
@@ -1468,9 +1463,9 @@ function pg() {
|
|
|
1468
1463
|
}, nV;
|
|
1469
1464
|
}
|
|
1470
1465
|
function mg() {
|
|
1471
|
-
if (
|
|
1472
|
-
|
|
1473
|
-
const e =
|
|
1466
|
+
if (Ot) return iV;
|
|
1467
|
+
Ot = 1;
|
|
1468
|
+
const e = et();
|
|
1474
1469
|
return iV = function(q, A, V = "error", t) {
|
|
1475
1470
|
return new Promise((s, a) => {
|
|
1476
1471
|
let i;
|
|
@@ -1490,31 +1485,31 @@ function mg() {
|
|
|
1490
1485
|
}, iV;
|
|
1491
1486
|
}
|
|
1492
1487
|
function wg() {
|
|
1493
|
-
return
|
|
1488
|
+
return Kt || (Kt = 1, Lt = function() {
|
|
1494
1489
|
this.promise = new Promise((e, q) => {
|
|
1495
1490
|
this.resolve = e, this.reject = q;
|
|
1496
1491
|
});
|
|
1497
|
-
}),
|
|
1492
|
+
}), Lt;
|
|
1498
1493
|
}
|
|
1499
|
-
function
|
|
1500
|
-
if (
|
|
1501
|
-
|
|
1502
|
-
const e = pg(), q = Ea(), A =
|
|
1494
|
+
function ne() {
|
|
1495
|
+
if (zt) return SA;
|
|
1496
|
+
zt = 1;
|
|
1497
|
+
const e = pg(), q = Ea(), A = et(), V = mg(), t = ae, s = wg();
|
|
1503
1498
|
return SA.EventEmitter = t, SA.timeout = e, SA.delay = q, SA.TimeoutError = A, SA.promise = V, SA.Deferred = s, SA;
|
|
1504
1499
|
}
|
|
1505
|
-
var Pt, Wt, Zt, Ht, Xt,
|
|
1500
|
+
var Jt, Pt, Wt, Zt, Ht, Xt, nA = { exports: {} }, Ee = {};
|
|
1506
1501
|
function ka() {
|
|
1507
|
-
return
|
|
1502
|
+
return Jt || (Jt = 1, Ee.detect = function(e) {
|
|
1508
1503
|
return e ? e.replaceAll(String.raw`\20`, "").replaceAll(String.raw`\22`, "").replaceAll(String.raw`\26`, "").replaceAll(String.raw`\27`, "").replaceAll(String.raw`\2f`, "").replaceAll(String.raw`\3a`, "").replaceAll(String.raw`\3c`, "").replaceAll(String.raw`\3e`, "").replaceAll(String.raw`\40`, "").replaceAll(String.raw`\5c`, "").search(/[ "&'/:<>@\\]/g) !== -1 : !1;
|
|
1509
|
-
},
|
|
1504
|
+
}, Ee.escape = function(e) {
|
|
1510
1505
|
return e === null ? null : e.replaceAll(/^\s+|\s+$/g, "").replaceAll("\\", String.raw`\5c`).replaceAll(" ", String.raw`\20`).replaceAll('"', String.raw`\22`).replaceAll("&", String.raw`\26`).replaceAll("'", String.raw`\27`).replaceAll("/", String.raw`\2f`).replaceAll(":", String.raw`\3a`).replaceAll("<", String.raw`\3c`).replaceAll(">", String.raw`\3e`).replaceAll("@", String.raw`\40`);
|
|
1511
|
-
},
|
|
1506
|
+
}, Ee.unescape = function(e) {
|
|
1512
1507
|
return e === null ? null : e.replaceAll(String.raw`\20`, " ").replaceAll(String.raw`\22`, '"').replaceAll(String.raw`\26`, "&").replaceAll(String.raw`\27`, "'").replaceAll(String.raw`\2f`, "/").replaceAll(String.raw`\3a`, ":").replaceAll(String.raw`\3c`, "<").replaceAll(String.raw`\3e`, ">").replaceAll(String.raw`\40`, "@").replaceAll(String.raw`\5c`, "\\");
|
|
1513
|
-
}),
|
|
1508
|
+
}), Ee;
|
|
1514
1509
|
}
|
|
1515
|
-
function
|
|
1516
|
-
if (
|
|
1517
|
-
|
|
1510
|
+
function _t() {
|
|
1511
|
+
if (Wt) return Pt;
|
|
1512
|
+
Wt = 1;
|
|
1518
1513
|
const e = ka();
|
|
1519
1514
|
class q {
|
|
1520
1515
|
constructor(V, t, s) {
|
|
@@ -1554,16 +1549,16 @@ function $t() {
|
|
|
1554
1549
|
return this._resource;
|
|
1555
1550
|
}
|
|
1556
1551
|
}
|
|
1557
|
-
return Object.defineProperty(q.prototype, "local", { get: q.prototype.getLocal, set: q.prototype.setLocal }), Object.defineProperty(q.prototype, "domain", { get: q.prototype.getDomain, set: q.prototype.setDomain }), Object.defineProperty(q.prototype, "resource", { get: q.prototype.getResource, set: q.prototype.setResource }),
|
|
1552
|
+
return Object.defineProperty(q.prototype, "local", { get: q.prototype.getLocal, set: q.prototype.setLocal }), Object.defineProperty(q.prototype, "domain", { get: q.prototype.getDomain, set: q.prototype.setDomain }), Object.defineProperty(q.prototype, "resource", { get: q.prototype.getResource, set: q.prototype.setResource }), Pt = q;
|
|
1558
1553
|
}
|
|
1559
|
-
function
|
|
1560
|
-
if (
|
|
1561
|
-
|
|
1562
|
-
const e =
|
|
1563
|
-
if (
|
|
1564
|
-
|
|
1565
|
-
const t =
|
|
1566
|
-
return
|
|
1554
|
+
function Ye() {
|
|
1555
|
+
if (Xt) return nA.exports;
|
|
1556
|
+
Xt = 1;
|
|
1557
|
+
const e = _t(), q = ka(), A = (function() {
|
|
1558
|
+
if (Ht) return Zt;
|
|
1559
|
+
Ht = 1;
|
|
1560
|
+
const t = _t();
|
|
1561
|
+
return Zt = function(s) {
|
|
1567
1562
|
let a, i;
|
|
1568
1563
|
const c = s.indexOf("/");
|
|
1569
1564
|
c !== -1 && (i = s.slice(c + 1), s = s.slice(0, c));
|
|
@@ -1578,10 +1573,10 @@ function Re() {
|
|
|
1578
1573
|
return t.equals(s);
|
|
1579
1574
|
}, nA.exports.detectEscape = q.detect, nA.exports.escapeLocal = q.escape, nA.exports.unescapeLocal = q.unescape, nA.exports.parse = A, nA.exports;
|
|
1580
1575
|
}
|
|
1581
|
-
var qr, Ar, er, Vr, tr, rr, sr, ar, or, nr, ir, cr, lr, dr, gr, ur
|
|
1582
|
-
function
|
|
1583
|
-
if (
|
|
1584
|
-
|
|
1576
|
+
var $t, qr, Ar, er, Vr, tr, rr, sr, ar, or, nr, ir, cr, lr, dr, gr, ur = { exports: {} }, YA = {};
|
|
1577
|
+
function Vt() {
|
|
1578
|
+
if ($t) return YA;
|
|
1579
|
+
$t = 1;
|
|
1585
1580
|
const e = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" };
|
|
1586
1581
|
function q(t) {
|
|
1587
1582
|
return e[t];
|
|
@@ -1608,10 +1603,10 @@ function tt() {
|
|
|
1608
1603
|
return t.replace(/&(amp|#38|lt|#60|gt|#62);/g, V);
|
|
1609
1604
|
}, YA;
|
|
1610
1605
|
}
|
|
1611
|
-
function
|
|
1612
|
-
if (
|
|
1613
|
-
|
|
1614
|
-
var e =
|
|
1606
|
+
function RV() {
|
|
1607
|
+
if (Ar) return qr;
|
|
1608
|
+
Ar = 1;
|
|
1609
|
+
var e = Vt();
|
|
1615
1610
|
class q {
|
|
1616
1611
|
constructor(V, t) {
|
|
1617
1612
|
this.name = V, this.parent = null, this.children = [], this.attrs = {}, this.setAttrs(t);
|
|
@@ -1742,22 +1737,22 @@ function YV() {
|
|
|
1742
1737
|
this.children.length === 0 ? V("/>") : this._addChildren(V);
|
|
1743
1738
|
}
|
|
1744
1739
|
}
|
|
1745
|
-
return q.prototype.tree = q.prototype.root,
|
|
1740
|
+
return q.prototype.tree = q.prototype.root, qr = q;
|
|
1746
1741
|
}
|
|
1747
1742
|
function Ia() {
|
|
1748
|
-
return
|
|
1743
|
+
return ar ? sr : (ar = 1, sr = class extends Error {
|
|
1749
1744
|
constructor(...e) {
|
|
1750
1745
|
super(...e), this.name = "XMLError";
|
|
1751
1746
|
}
|
|
1752
1747
|
});
|
|
1753
1748
|
}
|
|
1754
1749
|
function Sa() {
|
|
1755
|
-
if (
|
|
1756
|
-
|
|
1750
|
+
if (nr) return or;
|
|
1751
|
+
nr = 1;
|
|
1757
1752
|
const e = (function() {
|
|
1758
|
-
if (
|
|
1759
|
-
|
|
1760
|
-
var s =
|
|
1753
|
+
if (rr) return tr;
|
|
1754
|
+
rr = 1;
|
|
1755
|
+
var s = ae, a = Vt();
|
|
1761
1756
|
class i extends s.EventEmitter {
|
|
1762
1757
|
constructor() {
|
|
1763
1758
|
super();
|
|
@@ -1849,8 +1844,8 @@ function Sa() {
|
|
|
1849
1844
|
};
|
|
1850
1845
|
}
|
|
1851
1846
|
}
|
|
1852
|
-
return
|
|
1853
|
-
})(), q =
|
|
1847
|
+
return tr = i;
|
|
1848
|
+
})(), q = RV(), A = ae, V = Ia();
|
|
1854
1849
|
class t extends A {
|
|
1855
1850
|
constructor() {
|
|
1856
1851
|
super();
|
|
@@ -1879,19 +1874,19 @@ function Sa() {
|
|
|
1879
1874
|
a && this.parser.write(a);
|
|
1880
1875
|
}
|
|
1881
1876
|
}
|
|
1882
|
-
return t.XMLError = V,
|
|
1877
|
+
return t.XMLError = V, or = t;
|
|
1883
1878
|
}
|
|
1884
1879
|
function fA() {
|
|
1885
|
-
return
|
|
1886
|
-
const q =
|
|
1887
|
-
if (
|
|
1888
|
-
|
|
1889
|
-
var r =
|
|
1880
|
+
return ir || (ir = 1, (function(e) {
|
|
1881
|
+
const q = RV(), A = (function() {
|
|
1882
|
+
if (Vr) return er;
|
|
1883
|
+
Vr = 1;
|
|
1884
|
+
var r = RV();
|
|
1890
1885
|
function n(l, d) {
|
|
1891
1886
|
if (Array.isArray(d)) for (const m of d) n(l, m);
|
|
1892
1887
|
else d !== "" && d != null && d !== !0 && d !== !1 && l.cnode(d);
|
|
1893
1888
|
}
|
|
1894
|
-
return
|
|
1889
|
+
return er = function(l, d, ...m) {
|
|
1895
1890
|
if (typeof d == "object" && d !== null) {
|
|
1896
1891
|
delete d.__source, delete d.__self;
|
|
1897
1892
|
for (const [M, k] of Object.entries(d)) k == null ? delete d[M] : d[M] = k.toString(10);
|
|
@@ -1900,15 +1895,15 @@ function fA() {
|
|
|
1900
1895
|
for (const M of m) n(w, M);
|
|
1901
1896
|
return w;
|
|
1902
1897
|
};
|
|
1903
|
-
})(), V = Sa(), { escapeXML: t, unescapeXML: s, escapeXMLText: a, unescapeXMLText: i } =
|
|
1898
|
+
})(), V = Sa(), { escapeXML: t, unescapeXML: s, escapeXMLText: a, unescapeXMLText: i } = Vt(), c = Ia();
|
|
1904
1899
|
e.exports = function(...r) {
|
|
1905
1900
|
return A(...r);
|
|
1906
1901
|
}, Object.assign(e.exports, { Element: q, createElement: A, Parser: V, escapeXML: t, unescapeXML: s, escapeXMLText: a, unescapeXMLText: i, XMLError: c });
|
|
1907
|
-
})(
|
|
1902
|
+
})(ur)), ur.exports;
|
|
1908
1903
|
}
|
|
1909
|
-
function
|
|
1910
|
-
if (
|
|
1911
|
-
|
|
1904
|
+
function tt() {
|
|
1905
|
+
if (lr) return cr;
|
|
1906
|
+
lr = 1;
|
|
1912
1907
|
class e extends Error {
|
|
1913
1908
|
constructor(A, V, t) {
|
|
1914
1909
|
super(A + (V ? ` - ${V}` : "")), this.name = "XMPPError", this.condition = A, this.text = V, this.application = t;
|
|
@@ -1921,22 +1916,22 @@ function rt() {
|
|
|
1921
1916
|
return c.element = A, c;
|
|
1922
1917
|
}
|
|
1923
1918
|
}
|
|
1924
|
-
return
|
|
1919
|
+
return cr = e;
|
|
1925
1920
|
}
|
|
1926
|
-
var pr, mr, wr, Mr, fr, Cr
|
|
1921
|
+
var hr, pr, mr, wr, Mr, fr, Cr = { exports: {} };
|
|
1927
1922
|
function Ba() {
|
|
1928
|
-
if (
|
|
1929
|
-
|
|
1930
|
-
const { EventEmitter: e, promise: q } =
|
|
1931
|
-
if (
|
|
1932
|
-
|
|
1933
|
-
const c =
|
|
1934
|
-
return
|
|
1923
|
+
if (mr) return pr;
|
|
1924
|
+
mr = 1;
|
|
1925
|
+
const { EventEmitter: e, promise: q } = ne(), A = Ye(), V = fA(), t = (function() {
|
|
1926
|
+
if (gr) return dr;
|
|
1927
|
+
gr = 1;
|
|
1928
|
+
const c = tt();
|
|
1929
|
+
return dr = class extends c {
|
|
1935
1930
|
constructor(...r) {
|
|
1936
1931
|
super(...r), this.name = "StreamError";
|
|
1937
1932
|
}
|
|
1938
1933
|
};
|
|
1939
|
-
})(), { parseHost: s, parseService: a } = (
|
|
1934
|
+
})(), { parseHost: s, parseService: a } = (hr || (hr = 1, (function(c) {
|
|
1940
1935
|
function r(l) {
|
|
1941
1936
|
let { port: d, hostname: m, protocol: w } = new URL(l);
|
|
1942
1937
|
return m === "[::1]" && (m = "::1"), { port: d, hostname: m, protocol: w };
|
|
@@ -1948,7 +1943,7 @@ function Ba() {
|
|
|
1948
1943
|
Object.assign(c.exports, { parseURI: r, parseHost: n, parseService: function(l) {
|
|
1949
1944
|
return l.includes("://") ? r(l) : n(l);
|
|
1950
1945
|
} });
|
|
1951
|
-
})(
|
|
1946
|
+
})(Cr)), Cr.exports);
|
|
1952
1947
|
class i extends e {
|
|
1953
1948
|
constructor(r = {}) {
|
|
1954
1949
|
super(), this.jid = null, this.timeout = 2e3, this.options = r, this.socketListeners = /* @__PURE__ */ Object.create(null), this.parserListeners = /* @__PURE__ */ Object.create(null), this.status = "offline", this.socket = null, this.parser = null, this.root = null;
|
|
@@ -2109,14 +2104,14 @@ function Ba() {
|
|
|
2109
2104
|
socketParameters() {
|
|
2110
2105
|
}
|
|
2111
2106
|
}
|
|
2112
|
-
return i.prototype.NS = "", i.prototype.Socket = null, i.prototype.Parser = null,
|
|
2107
|
+
return i.prototype.NS = "", i.prototype.Socket = null, i.prototype.Parser = null, pr = i;
|
|
2113
2108
|
}
|
|
2114
|
-
var
|
|
2115
|
-
if (
|
|
2116
|
-
|
|
2109
|
+
var Er, kr, ya = (function() {
|
|
2110
|
+
if (fr) return $A;
|
|
2111
|
+
fr = 1;
|
|
2117
2112
|
const e = (function() {
|
|
2118
|
-
if (
|
|
2119
|
-
|
|
2113
|
+
if (Mr) return wr;
|
|
2114
|
+
Mr = 1;
|
|
2120
2115
|
const V = Ba();
|
|
2121
2116
|
class t extends V {
|
|
2122
2117
|
constructor(a) {
|
|
@@ -2158,13 +2153,13 @@ var kr, Ir, ya = (function() {
|
|
|
2158
2153
|
return this.Transport.prototype.footerElement(...a);
|
|
2159
2154
|
}
|
|
2160
2155
|
}
|
|
2161
|
-
return t.prototype.NS = "jabber:client",
|
|
2162
|
-
})(), q = fA(), A =
|
|
2156
|
+
return t.prototype.NS = "jabber:client", wr = t;
|
|
2157
|
+
})(), q = fA(), A = Ye();
|
|
2163
2158
|
return $A.Client = e, $A.xml = q, $A.jid = A, $A;
|
|
2164
|
-
})(), cV, Sr, Br, yr, xr, Tr, br,
|
|
2165
|
-
if (
|
|
2166
|
-
|
|
2167
|
-
const { EventEmitter: e } =
|
|
2159
|
+
})(), cV, Ir, Sr, Br, yr, xr, Tr, br, Mg = (function() {
|
|
2160
|
+
if (kr) return Er;
|
|
2161
|
+
kr = 1;
|
|
2162
|
+
const { EventEmitter: e } = ne();
|
|
2168
2163
|
class q extends e {
|
|
2169
2164
|
constructor(V) {
|
|
2170
2165
|
super(), this.delay = 1e3, this.entity = V, this._timeout = null;
|
|
@@ -2195,18 +2190,18 @@ var kr, Ir, ya = (function() {
|
|
|
2195
2190
|
V.removeListener("disconnect", t.disconnect), clearTimeout(s);
|
|
2196
2191
|
}
|
|
2197
2192
|
}
|
|
2198
|
-
return
|
|
2193
|
+
return Er = function({ entity: A }) {
|
|
2199
2194
|
const V = new q(A);
|
|
2200
2195
|
return V.start(), V;
|
|
2201
2196
|
};
|
|
2202
|
-
})(), fg = eA(Mg),
|
|
2197
|
+
})(), fg = eA(Mg), rt = Ca(Object.freeze({ __proto__: null, default: {} }));
|
|
2203
2198
|
function Cg() {
|
|
2204
|
-
if (
|
|
2205
|
-
|
|
2199
|
+
if (xr) return yr;
|
|
2200
|
+
xr = 1;
|
|
2206
2201
|
const e = (function() {
|
|
2207
|
-
if (
|
|
2208
|
-
|
|
2209
|
-
const a =
|
|
2202
|
+
if (Ir) return cV;
|
|
2203
|
+
Ir = 1;
|
|
2204
|
+
const a = rt, i = globalThis.WebSocket || a, c = ae, r = "ECONNERROR";
|
|
2210
2205
|
return cV = class extends c {
|
|
2211
2206
|
constructor() {
|
|
2212
2207
|
super(), this.listeners = /* @__PURE__ */ Object.create(null);
|
|
@@ -2241,10 +2236,10 @@ function Cg() {
|
|
|
2241
2236
|
}
|
|
2242
2237
|
}, cV;
|
|
2243
2238
|
})(), q = Ba(), A = fA(), V = (function() {
|
|
2244
|
-
if (
|
|
2245
|
-
|
|
2239
|
+
if (Br) return Sr;
|
|
2240
|
+
Br = 1;
|
|
2246
2241
|
const { Parser: a, Element: i, XMLError: c } = fA();
|
|
2247
|
-
return
|
|
2242
|
+
return Sr = class extends a {
|
|
2248
2243
|
onStartElement(r, n) {
|
|
2249
2244
|
const l = new i(r, n), { cursor: d } = this;
|
|
2250
2245
|
d && d.append(l), this.cursor = l;
|
|
@@ -2273,29 +2268,29 @@ function Cg() {
|
|
|
2273
2268
|
return /^wss?:\/\//.test(i) ? i : void 0;
|
|
2274
2269
|
}
|
|
2275
2270
|
}
|
|
2276
|
-
return s.prototype.Socket = e, s.prototype.NS = "jabber:client", s.prototype.Parser = V,
|
|
2271
|
+
return s.prototype.Socket = e, s.prototype.NS = "jabber:client", s.prototype.Parser = V, yr = s;
|
|
2277
2272
|
}
|
|
2278
|
-
var Ur, Qr, vr, Nr,
|
|
2279
|
-
if (
|
|
2280
|
-
|
|
2273
|
+
var Dr, Ur, Qr, vr, lV, Nr, dV, Gr, jr, Rr, Eg = eA((function() {
|
|
2274
|
+
if (br) return Tr;
|
|
2275
|
+
br = 1;
|
|
2281
2276
|
const e = Cg();
|
|
2282
|
-
return
|
|
2277
|
+
return Tr = function({ entity: q }) {
|
|
2283
2278
|
q.transports.push(e);
|
|
2284
2279
|
};
|
|
2285
2280
|
})());
|
|
2286
|
-
function
|
|
2287
|
-
return
|
|
2281
|
+
function Yr() {
|
|
2282
|
+
return vr || (vr = 1, Qr = class {
|
|
2288
2283
|
constructor(e, q) {
|
|
2289
2284
|
this.stanza = q, this.entity = e;
|
|
2290
2285
|
const { name: A, attrs: V } = q, { type: t, id: s } = V;
|
|
2291
2286
|
this.name = A, this.id = s || "", this.type = A === "message" ? t || "normal" : A === "presence" ? t || "available" : t || "", this.from = null, this.to = null, this.local = "", this.domain = "", this.resource = "";
|
|
2292
2287
|
}
|
|
2293
|
-
}),
|
|
2288
|
+
}), Qr;
|
|
2294
2289
|
}
|
|
2295
|
-
var
|
|
2296
|
-
if (
|
|
2297
|
-
|
|
2298
|
-
const e = (
|
|
2290
|
+
var Fr, Or, gV, Lr, kg = (function() {
|
|
2291
|
+
if (Rr) return jr;
|
|
2292
|
+
Rr = 1;
|
|
2293
|
+
const e = (Ur || (Ur = 1, Dr = function(s) {
|
|
2299
2294
|
if (!Array.isArray(s)) throw new TypeError("Middleware stack must be an array!");
|
|
2300
2295
|
for (const a of s) if (typeof a != "function") throw new TypeError("Middleware must be composed of functions!");
|
|
2301
2296
|
return function(a, i) {
|
|
@@ -2312,10 +2307,10 @@ var Or, Lr, gV, Kr, kg = (function() {
|
|
|
2312
2307
|
}
|
|
2313
2308
|
})(0);
|
|
2314
2309
|
};
|
|
2315
|
-
}),
|
|
2316
|
-
if (
|
|
2317
|
-
|
|
2318
|
-
const s =
|
|
2310
|
+
}), Dr), q = (function() {
|
|
2311
|
+
if (Nr) return lV;
|
|
2312
|
+
Nr = 1;
|
|
2313
|
+
const s = Yr(), a = Ye();
|
|
2319
2314
|
return lV = class extends s {
|
|
2320
2315
|
constructor(i, c) {
|
|
2321
2316
|
super(i, c);
|
|
@@ -2324,9 +2319,9 @@ var Or, Lr, gV, Kr, kg = (function() {
|
|
|
2324
2319
|
}
|
|
2325
2320
|
}, lV;
|
|
2326
2321
|
})(), A = (function() {
|
|
2327
|
-
if (
|
|
2328
|
-
|
|
2329
|
-
const s =
|
|
2322
|
+
if (Gr) return dV;
|
|
2323
|
+
Gr = 1;
|
|
2324
|
+
const s = Yr(), a = Ye();
|
|
2330
2325
|
return dV = class extends s {
|
|
2331
2326
|
constructor(i, c) {
|
|
2332
2327
|
super(i, c);
|
|
@@ -2346,22 +2341,22 @@ var Or, Lr, gV, Kr, kg = (function() {
|
|
|
2346
2341
|
i().then((c) => c && s.send(c)).catch((c) => s.emit("error", c));
|
|
2347
2342
|
};
|
|
2348
2343
|
}
|
|
2349
|
-
return
|
|
2344
|
+
return jr = function({ entity: s }) {
|
|
2350
2345
|
const a = [t(s)], i = [], c = V(s, a, q), r = V(s, i, A);
|
|
2351
2346
|
return s.on("element", c), s.hookOutgoing = r, { use: (n) => (a.push(n), n), filter: (n) => (i.push(n), n) };
|
|
2352
2347
|
};
|
|
2353
|
-
})(),
|
|
2348
|
+
})(), Kr = eA(kg);
|
|
2354
2349
|
function Ig() {
|
|
2355
|
-
return
|
|
2350
|
+
return Or ? Fr : (Or = 1, Fr = function() {
|
|
2356
2351
|
return async ({ stanza: e, entity: q }, A) => {
|
|
2357
2352
|
if (!e.is("features", "http://etherx.jabber.org/streams")) return A();
|
|
2358
2353
|
!await A() && q.jid && q._status("online", q.jid);
|
|
2359
2354
|
};
|
|
2360
2355
|
});
|
|
2361
2356
|
}
|
|
2362
|
-
var
|
|
2363
|
-
if (
|
|
2364
|
-
|
|
2357
|
+
var zr, Jr, uV, Pr, Wr, Zr, Sg = (function() {
|
|
2358
|
+
if (Lr) return gV;
|
|
2359
|
+
Lr = 1;
|
|
2365
2360
|
const e = Ig();
|
|
2366
2361
|
return gV = function({ middleware: q }) {
|
|
2367
2362
|
return q.use(e()), { use: function(A, V, t) {
|
|
@@ -2373,17 +2368,17 @@ var Jr, Pr, uV, Wr, Zr, Hr, Sg = (function() {
|
|
|
2373
2368
|
});
|
|
2374
2369
|
} };
|
|
2375
2370
|
}, gV;
|
|
2376
|
-
})(), Bg = eA(Sg), hV,
|
|
2377
|
-
if (
|
|
2378
|
-
|
|
2379
|
-
const e =
|
|
2371
|
+
})(), Bg = eA(Sg), hV, Hr, yg = (function() {
|
|
2372
|
+
if (Zr) return Wr;
|
|
2373
|
+
Zr = 1;
|
|
2374
|
+
const e = Jr ? zr : (Jr = 1, zr = function() {
|
|
2380
2375
|
let a;
|
|
2381
2376
|
for (; !a; ) a = Math.random().toString(36).slice(2, 12);
|
|
2382
2377
|
return a;
|
|
2383
2378
|
}), q = (function() {
|
|
2384
|
-
if (
|
|
2385
|
-
|
|
2386
|
-
const a =
|
|
2379
|
+
if (Pr) return uV;
|
|
2380
|
+
Pr = 1;
|
|
2381
|
+
const a = tt();
|
|
2387
2382
|
return uV = class extends a {
|
|
2388
2383
|
constructor(i, c, r, n) {
|
|
2389
2384
|
super(i, c, r), this.type = n, this.name = "StanzaError";
|
|
@@ -2393,7 +2388,7 @@ var Jr, Pr, uV, Wr, Zr, Hr, Sg = (function() {
|
|
|
2393
2388
|
return c.type = i.attrs.type, c;
|
|
2394
2389
|
}
|
|
2395
2390
|
}, uV;
|
|
2396
|
-
})(), { Deferred: A } =
|
|
2391
|
+
})(), { Deferred: A } = ne(), V = ne().timeout, t = fA();
|
|
2397
2392
|
class s {
|
|
2398
2393
|
constructor({ entity: i, middleware: c }) {
|
|
2399
2394
|
this.handlers = /* @__PURE__ */ new Map(), this.entity = i, this.middleware = c;
|
|
@@ -2431,13 +2426,13 @@ var Jr, Pr, uV, Wr, Zr, Hr, Sg = (function() {
|
|
|
2431
2426
|
return this._childRequest("set", ...i);
|
|
2432
2427
|
}
|
|
2433
2428
|
}
|
|
2434
|
-
return
|
|
2429
|
+
return Wr = function(...a) {
|
|
2435
2430
|
const i = new s(...a);
|
|
2436
2431
|
return i.start(), i;
|
|
2437
2432
|
};
|
|
2438
|
-
})(), xg = eA(yg), pV,
|
|
2439
|
-
if (
|
|
2440
|
-
|
|
2433
|
+
})(), xg = eA(yg), pV, Xr, Tg = (function() {
|
|
2434
|
+
if (Hr) return hV;
|
|
2435
|
+
Hr = 1;
|
|
2441
2436
|
const e = fA();
|
|
2442
2437
|
function q({ stanza: a }) {
|
|
2443
2438
|
return e("iq", { to: a.attrs.from, from: a.attrs.to, id: a.attrs.id });
|
|
@@ -2483,8 +2478,8 @@ var Jr, Pr, uV, Wr, Zr, Hr, Sg = (function() {
|
|
|
2483
2478
|
}, hV;
|
|
2484
2479
|
})(), bg = eA(Tg), qe = { exports: {} }, mV = {};
|
|
2485
2480
|
function Dg() {
|
|
2486
|
-
if (
|
|
2487
|
-
|
|
2481
|
+
if (Xr) return pV;
|
|
2482
|
+
Xr = 1;
|
|
2488
2483
|
const e = Sa();
|
|
2489
2484
|
return pV = function(q) {
|
|
2490
2485
|
const A = new e();
|
|
@@ -2499,16 +2494,16 @@ function Dg() {
|
|
|
2499
2494
|
return V;
|
|
2500
2495
|
}, pV;
|
|
2501
2496
|
}
|
|
2502
|
-
var $r, qs, As, es,
|
|
2497
|
+
var _r, $r, qs, As, es, wV = {};
|
|
2503
2498
|
function Ug() {
|
|
2504
|
-
if (
|
|
2505
|
-
|
|
2506
|
-
const e = globalThis.fetch ||
|
|
2507
|
-
if (
|
|
2499
|
+
if ($r) return mV;
|
|
2500
|
+
$r = 1;
|
|
2501
|
+
const e = globalThis.fetch || rt, q = Dg(), A = (function() {
|
|
2502
|
+
if (_r) return wV;
|
|
2508
2503
|
function V(t) {
|
|
2509
2504
|
return t.startsWith("https") || t.startsWith("wss");
|
|
2510
2505
|
}
|
|
2511
|
-
return
|
|
2506
|
+
return _r = 1, wV.compare = function(t, s) {
|
|
2512
2507
|
let a, i;
|
|
2513
2508
|
return a = V(t.uri) && !V(s.uri) ? -1 : !V(t.uri) && V(s.uri) ? 1 : 0, a !== 0 ? a : (i = t.method === s.method ? 0 : t.method === "websocket" ? -1 : s.method === "websocket" ? 1 : t.method === "xbosh" ? -1 : s.method === "xbosh" ? 1 : t.method === "httppoll" ? -1 : s.method === "httppoll" ? 1 : 0, i !== 0 ? i : 0);
|
|
2514
2509
|
}, wV;
|
|
@@ -2518,17 +2513,17 @@ function Ug() {
|
|
|
2518
2513
|
}, mV;
|
|
2519
2514
|
}
|
|
2520
2515
|
function Qg() {
|
|
2521
|
-
if (
|
|
2522
|
-
|
|
2523
|
-
const e =
|
|
2516
|
+
if (qs) return qe.exports;
|
|
2517
|
+
qs = 1;
|
|
2518
|
+
const e = rt, q = Ug();
|
|
2524
2519
|
return qe.exports = function(...A) {
|
|
2525
2520
|
return Promise.all([e.resolve ? e.resolve(...A) : Promise.resolve([]), q.resolve(...A)]).then(([V, t]) => [...V, ...t]);
|
|
2526
2521
|
}, e.resolve && (qe.exports.dns = e), qe.exports.http = q, qe.exports;
|
|
2527
2522
|
}
|
|
2528
|
-
var ts, rs,
|
|
2529
|
-
if (
|
|
2530
|
-
|
|
2531
|
-
const e = Qg(), { promise: q } =
|
|
2523
|
+
var Vs, ts, rs, vg = (function() {
|
|
2524
|
+
if (es) return As;
|
|
2525
|
+
es = 1;
|
|
2526
|
+
const e = Qg(), { promise: q } = ne();
|
|
2532
2527
|
async function A(t) {
|
|
2533
2528
|
const s = await e(t, { srv: [{ service: "xmpps-client", protocol: "tcp" }, { service: "xmpp-client", protocol: "tcp" }] });
|
|
2534
2529
|
return [...new Set(s.map((a) => a.uri))];
|
|
@@ -2546,7 +2541,7 @@ var ts, rs, ss, vg = (function() {
|
|
|
2546
2541
|
}
|
|
2547
2542
|
t._attachSocket(r), r.emit("connect"), t.Transport = i, t.Socket = i.prototype.Socket, t.Parser = i.prototype.Parser;
|
|
2548
2543
|
}
|
|
2549
|
-
return
|
|
2544
|
+
return As = function({ entity: t }) {
|
|
2550
2545
|
const s = t.connect;
|
|
2551
2546
|
t.connect = async function(a) {
|
|
2552
2547
|
if (!a || /:\/\//.test(a)) return s.call(this, a);
|
|
@@ -2561,9 +2556,9 @@ var ts, rs, ss, vg = (function() {
|
|
|
2561
2556
|
}
|
|
2562
2557
|
};
|
|
2563
2558
|
};
|
|
2564
|
-
})(), Ng = eA(vg), MV = {},
|
|
2559
|
+
})(), Ng = eA(vg), MV = {}, ss, as = { exports: {} }, os = { exports: {} }, ns, fV, is;
|
|
2565
2560
|
function Gg() {
|
|
2566
|
-
return
|
|
2561
|
+
return ns || (ns = 1, e = as, ss || (ss = 1, (function(A, V) {
|
|
2567
2562
|
function t() {
|
|
2568
2563
|
this._mechs = [];
|
|
2569
2564
|
}
|
|
@@ -2576,21 +2571,21 @@ function Gg() {
|
|
|
2576
2571
|
}
|
|
2577
2572
|
return null;
|
|
2578
2573
|
}, V.exports = t;
|
|
2579
|
-
})(0,
|
|
2574
|
+
})(0, os)), q = os.exports, (e.exports = q).Factory = q), as.exports;
|
|
2580
2575
|
var e, q;
|
|
2581
2576
|
}
|
|
2582
|
-
var CV,
|
|
2583
|
-
if (
|
|
2584
|
-
|
|
2585
|
-
const { encode: e, decode: q } = (
|
|
2577
|
+
var CV, cs, jg = (function() {
|
|
2578
|
+
if (is) return fV;
|
|
2579
|
+
is = 1;
|
|
2580
|
+
const { encode: e, decode: q } = (Vs || (Vs = 1, MV.encode = function(i) {
|
|
2586
2581
|
return globalThis.btoa(i);
|
|
2587
2582
|
}, MV.decode = function(i) {
|
|
2588
2583
|
return globalThis.atob(i);
|
|
2589
2584
|
}), MV), A = (function() {
|
|
2590
|
-
if (
|
|
2591
|
-
|
|
2592
|
-
const i =
|
|
2593
|
-
return
|
|
2585
|
+
if (rs) return ts;
|
|
2586
|
+
rs = 1;
|
|
2587
|
+
const i = tt();
|
|
2588
|
+
return ts = class extends i {
|
|
2594
2589
|
constructor(...c) {
|
|
2595
2590
|
super(...c), this.name = "SASLError";
|
|
2596
2591
|
}
|
|
@@ -2622,9 +2617,9 @@ var CV, ls, jg = (function() {
|
|
|
2622
2617
|
typeof c == "function" ? await c((M) => a(r, l, w, M), w) : (c.username || c.password || (w = "ANONYMOUS"), await a(r, l, w, c)), await l.restart();
|
|
2623
2618
|
}), { use: (...n) => r.use(...n) };
|
|
2624
2619
|
}, fV;
|
|
2625
|
-
})(), Rg = eA(jg), EV,
|
|
2626
|
-
if (
|
|
2627
|
-
|
|
2620
|
+
})(), Rg = eA(jg), EV, ls, Yg = (function() {
|
|
2621
|
+
if (cs) return CV;
|
|
2622
|
+
cs = 1;
|
|
2628
2623
|
const e = fA(), q = "urn:ietf:params:xml:ns:xmpp-bind";
|
|
2629
2624
|
async function A(V, t, s) {
|
|
2630
2625
|
const a = await t.set((function(c) {
|
|
@@ -2639,35 +2634,35 @@ var CV, ls, jg = (function() {
|
|
|
2639
2634
|
};
|
|
2640
2635
|
})({ iqCaller: t }, s));
|
|
2641
2636
|
}, CV;
|
|
2642
|
-
})(), Fg = eA(Yg),
|
|
2643
|
-
if (
|
|
2644
|
-
|
|
2637
|
+
})(), Fg = eA(Yg), ds, Og = (function() {
|
|
2638
|
+
if (ls) return EV;
|
|
2639
|
+
ls = 1;
|
|
2645
2640
|
const e = fA(), q = "urn:ietf:params:xml:ns:xmpp-session";
|
|
2646
2641
|
return EV = function({ iqCaller: A, streamFeatures: V }) {
|
|
2647
2642
|
V.use("session", q, async (t, s, a) => (a.getChild("optional") || await A.set(e("session", q)), s()));
|
|
2648
2643
|
}, EV;
|
|
2649
|
-
})(), Lg = eA(Og),
|
|
2644
|
+
})(), Lg = eA(Og), gs = { exports: {} }, us = { exports: {} }, hs, kV, ps;
|
|
2650
2645
|
function Kg() {
|
|
2651
|
-
return
|
|
2646
|
+
return hs || (hs = 1, e = gs, ds || (ds = 1, (function(A, V) {
|
|
2652
2647
|
function t() {
|
|
2653
2648
|
}
|
|
2654
2649
|
t.prototype.name = "ANONYMOUS", t.prototype.clientFirst = !0, t.prototype.response = function(s) {
|
|
2655
2650
|
return s.trace || "";
|
|
2656
2651
|
}, t.prototype.challenge = function(s) {
|
|
2657
2652
|
}, V.exports = t;
|
|
2658
|
-
})(0,
|
|
2653
|
+
})(0, us)), q = us.exports, (e.exports = q).Mechanism = q), gs.exports;
|
|
2659
2654
|
var e, q;
|
|
2660
2655
|
}
|
|
2661
|
-
var
|
|
2662
|
-
if (
|
|
2663
|
-
|
|
2656
|
+
var ms, zg = (function() {
|
|
2657
|
+
if (ps) return kV;
|
|
2658
|
+
ps = 1;
|
|
2664
2659
|
const e = Kg();
|
|
2665
2660
|
return kV = function(q) {
|
|
2666
2661
|
q.use(e);
|
|
2667
2662
|
}, kV;
|
|
2668
|
-
})(), Jg = eA(zg),
|
|
2663
|
+
})(), Jg = eA(zg), ws = { exports: {} }, Ms = { exports: {} }, fs, IV, Cs;
|
|
2669
2664
|
function Pg() {
|
|
2670
|
-
return
|
|
2665
|
+
return fs || (fs = 1, e = ws, ms || (ms = 1, (function(A, V) {
|
|
2671
2666
|
function t() {
|
|
2672
2667
|
}
|
|
2673
2668
|
t.prototype.name = "PLAIN", t.prototype.clientFirst = !0, t.prototype.response = function(s) {
|
|
@@ -2676,18 +2671,18 @@ function Pg() {
|
|
|
2676
2671
|
}, t.prototype.challenge = function(s) {
|
|
2677
2672
|
return this;
|
|
2678
2673
|
}, V.exports = t;
|
|
2679
|
-
})(0,
|
|
2674
|
+
})(0, Ms)), q = Ms.exports, (e.exports = q).Mechanism = q), ws.exports;
|
|
2680
2675
|
var e, q;
|
|
2681
2676
|
}
|
|
2682
2677
|
var Wg = (function() {
|
|
2683
|
-
if (
|
|
2684
|
-
|
|
2678
|
+
if (Cs) return IV;
|
|
2679
|
+
Cs = 1;
|
|
2685
2680
|
const e = Pg();
|
|
2686
2681
|
return IV = function(q) {
|
|
2687
2682
|
q.use(e);
|
|
2688
2683
|
}, IV;
|
|
2689
2684
|
})(), Zg = eA(Wg);
|
|
2690
|
-
const
|
|
2685
|
+
const ke = ya.xml;
|
|
2691
2686
|
class Hg {
|
|
2692
2687
|
proxy;
|
|
2693
2688
|
route = `${K.urls.chat}/Dialog`;
|
|
@@ -2806,16 +2801,16 @@ class I {
|
|
|
2806
2801
|
return `${q}-${K.creds.appId}`;
|
|
2807
2802
|
}
|
|
2808
2803
|
static createMessageStanza(q) {
|
|
2809
|
-
return
|
|
2804
|
+
return ke("message", q);
|
|
2810
2805
|
}
|
|
2811
2806
|
static createIqStanza(q) {
|
|
2812
|
-
return
|
|
2807
|
+
return ke("iq", q);
|
|
2813
2808
|
}
|
|
2814
2809
|
static createPresenceStanza(q) {
|
|
2815
|
-
return
|
|
2810
|
+
return ke("presence", q);
|
|
2816
2811
|
}
|
|
2817
2812
|
static createNonza(q, A) {
|
|
2818
|
-
return
|
|
2813
|
+
return ke(q, A);
|
|
2819
2814
|
}
|
|
2820
2815
|
static getAttr(q, A) {
|
|
2821
2816
|
return q?.getAttr(A) || q?.attrs[A] || null;
|
|
@@ -3268,7 +3263,7 @@ class Vu {
|
|
|
3268
3263
|
this.proxy = q, this.dialog = new Hg(q), this.message = new Xg(q), this.helpers = new _g(), this.xmppClient = (function(V) {
|
|
3269
3264
|
const { resource: t, credentials: s, username: a, password: i, ...c } = V, { domain: r, service: n } = c;
|
|
3270
3265
|
!r && n && (c.domain = (n.split("://")[1] || n).split(":")[0].split("/")[0]);
|
|
3271
|
-
const l = new ya.Client(c), d = fg({ entity: l }), m = Eg({ entity: l }), w =
|
|
3266
|
+
const l = new ya.Client(c), d = fg({ entity: l }), m = Eg({ entity: l }), w = Kr({ entity: l }), M = Bg({ middleware: w }), k = xg({ middleware: w, entity: l }), y = bg({ middleware: w, entity: l }), U = Kr({ entity: l }), D = Ng({ entity: l }), b = Rg({ streamFeatures: M }, s || { username: a, password: i }), E = Fg({ iqCaller: k, streamFeatures: M }, t), j = Lg({ iqCaller: k, streamFeatures: M }), G = Object.entries({ plain: Zg, anonymous: Jg }).map(([Q, J]) => ({ [Q]: J(b) }));
|
|
3272
3267
|
return Object.assign(l, { entity: l, reconnect: d, websocket: m, middleware: w, streamFeatures: M, iqCaller: k, iqCallee: y, starttls: U, resolve: D, sasl: b, resourceBinding: E, sessionEstablishment: j, mechanisms: G, sendOnline: function(Q, ...J) {
|
|
3273
3268
|
if (l.status === "online") return l.send.call(l, Q, ...J);
|
|
3274
3269
|
{
|
|
@@ -3560,9 +3555,9 @@ class Vu {
|
|
|
3560
3555
|
});
|
|
3561
3556
|
}
|
|
3562
3557
|
}
|
|
3563
|
-
var
|
|
3564
|
-
if (
|
|
3565
|
-
|
|
3558
|
+
var Es, ks, tu = Ca(dg), ru = (function() {
|
|
3559
|
+
if (ks) return Es;
|
|
3560
|
+
ks = 1;
|
|
3566
3561
|
const { adapter: e, navigator: q, MediaStream: A, MediaStreamTrack: V, RTCPeerConnection: t, RTCRtpReceiver: s, RTCRtpSender: a, isReactNative: i } = tu;
|
|
3567
3562
|
r.sessions = {}, r.mobile = i, r.isExtensionEnabled = function() {
|
|
3568
3563
|
if (r.mobile) return !1;
|
|
@@ -3969,7 +3964,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
3969
3964
|
};
|
|
3970
3965
|
}
|
|
3971
3966
|
async function oq(C, g, f) {
|
|
3972
|
-
(f = f || {}).success = typeof f.success == "function" ? f.success : r.noop, f.error = typeof f.error == "function" ? f.error :
|
|
3967
|
+
(f = f || {}).success = typeof f.success == "function" ? f.success : r.noop, f.error = typeof f.error == "function" ? f.error : me;
|
|
3973
3968
|
let h = f.jsep;
|
|
3974
3969
|
if (g && h) return r.error("Provided a JSEP to a createOffer"), void f.error("Provided a JSEP to a createOffer");
|
|
3975
3970
|
if (!(g || h && h.type && h.sdp)) return r.error("A valid JSEP is required for createAnswer"), void f.error("A valid JSEP is required for createAnswer");
|
|
@@ -4031,7 +4026,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
4031
4026
|
}
|
|
4032
4027
|
}
|
|
4033
4028
|
function kq(C, g) {
|
|
4034
|
-
(g = g || {}).success = typeof g.success == "function" ? g.success : r.noop, g.error = typeof g.error == "function" ? g.error :
|
|
4029
|
+
(g = g || {}).success = typeof g.success == "function" ? g.success : r.noop, g.error = typeof g.error == "function" ? g.error : me, g.customizeSdp = typeof g.customizeSdp == "function" ? g.customizeSdp : r.noop;
|
|
4035
4030
|
let f = g.jsep, h = Aq[C];
|
|
4036
4031
|
if (!h || !h.webrtcStuff) return r.warn("Invalid handle"), void g.error("Invalid handle");
|
|
4037
4032
|
let T = h.webrtcStuff;
|
|
@@ -4377,7 +4372,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
4377
4372
|
}
|
|
4378
4373
|
return r.warn("Getting the video bitrate unsupported by browser"), "Feature unsupported by browser";
|
|
4379
4374
|
}
|
|
4380
|
-
function
|
|
4375
|
+
function pe(C, g, f) {
|
|
4381
4376
|
let h = Aq[C];
|
|
4382
4377
|
if (!h || !h.webrtcStuff) return void r.warn("Invalid handle");
|
|
4383
4378
|
let T = h.webrtcStuff;
|
|
@@ -4388,7 +4383,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
4388
4383
|
let S = x.sender.getParameters();
|
|
4389
4384
|
S && S.encodings && S.encodings.length !== 0 ? S.encodings.length > 1 ? r.warn("Ignoring bitrate for simulcast track, use sendEncodings for that") : isNaN(f) || f < 0 ? r.warn("Invalid bitrate (must be a positive integer)") : (S.encodings[0].maxBitrate = f, x.sender.setParameters(S)) : r.warn("No parameters encodings");
|
|
4390
4385
|
}
|
|
4391
|
-
function
|
|
4386
|
+
function me(C) {
|
|
4392
4387
|
r.error("WebRTC error:", C);
|
|
4393
4388
|
}
|
|
4394
4389
|
function HA(C, g) {
|
|
@@ -4498,7 +4493,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
4498
4493
|
}, getBitrate: function(B) {
|
|
4499
4494
|
return jA(u, B);
|
|
4500
4495
|
}, setMaxBitrate: function(B, X) {
|
|
4501
|
-
return
|
|
4496
|
+
return pe(u, B, X);
|
|
4502
4497
|
}, send: function(B) {
|
|
4503
4498
|
Vq(u, B);
|
|
4504
4499
|
}, data: function(B) {
|
|
@@ -4553,7 +4548,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
4553
4548
|
}, getBitrate: function(B) {
|
|
4554
4549
|
return jA(u, B);
|
|
4555
4550
|
}, setMaxBitrate: function(B, X) {
|
|
4556
|
-
return
|
|
4551
|
+
return pe(u, B, X);
|
|
4557
4552
|
}, send: function(B) {
|
|
4558
4553
|
Vq(u, B);
|
|
4559
4554
|
}, data: function(B) {
|
|
@@ -4726,7 +4721,7 @@ var ks, Is, tu = Ca(dg), ru = (function() {
|
|
|
4726
4721
|
d += l.charAt(w);
|
|
4727
4722
|
}
|
|
4728
4723
|
return d;
|
|
4729
|
-
},
|
|
4724
|
+
}, Es = r;
|
|
4730
4725
|
})(), SV = eA(ru);
|
|
4731
4726
|
class su {
|
|
4732
4727
|
token;
|
|
@@ -4741,9 +4736,9 @@ class su {
|
|
|
4741
4736
|
remoteJseps = {};
|
|
4742
4737
|
remoteFeedsAttachingInProgress = {};
|
|
4743
4738
|
bitrateTimers = {};
|
|
4744
|
-
emitter = new
|
|
4739
|
+
emitter = new ae();
|
|
4745
4740
|
constructor(q) {
|
|
4746
|
-
if (!p.env.isReactNative && !
|
|
4741
|
+
if (!p.env.isReactNative && !se) throw "Error: in order to use this library please connect adapter.js. More info https://github.com/webrtc/adapter";
|
|
4747
4742
|
if (this.token = q, this.server = K.conference.server, this.debug = K.conference.debug ?? Ne.ALL, !this.server) throw "'server' parameter is mandatory";
|
|
4748
4743
|
this.server.includes("http") && (this.server += "/janus");
|
|
4749
4744
|
}
|
|
@@ -4852,7 +4847,7 @@ class su {
|
|
|
4852
4847
|
const a = s && s.reason;
|
|
4853
4848
|
if (a === Ge.CREATED) {
|
|
4854
4849
|
const i = !q.stream || !q.tracks;
|
|
4855
|
-
i ? (q.tracks = { [V]: A }, q.stream = new
|
|
4850
|
+
i ? (q.tracks = { [V]: A }, q.stream = new At([A])) : (q.tracks[V] = A, q.stream.addTrack(A)), i && this.emitter.emit(Yq.REMOTE_STREAM, q.userId, q.stream);
|
|
4856
4851
|
} else if (a === Ge.ENDED) {
|
|
4857
4852
|
delete q.tracks[V];
|
|
4858
4853
|
const i = q.stream.getTracks().find((c) => c.kind === A.kind);
|
|
@@ -5032,7 +5027,7 @@ class su {
|
|
|
5032
5027
|
}
|
|
5033
5028
|
showBitrate(q, A) {
|
|
5034
5029
|
const V = this.remoteFeeds[q];
|
|
5035
|
-
p.env.isReactNative ||
|
|
5030
|
+
p.env.isReactNative || se.browserDetails.browser !== "chrome" && se.browserDetails.browser !== "firefox" || (this.bitrateTimers[q] = setInterval(() => {
|
|
5036
5031
|
const t = V.getBitrate();
|
|
5037
5032
|
A.text(t);
|
|
5038
5033
|
}, 1e3));
|
|
@@ -5398,7 +5393,7 @@ class cu {
|
|
|
5398
5393
|
constructor(q) {
|
|
5399
5394
|
this.proxy = q, this.subscriptions = new lu(q), this.events = new du(q);
|
|
5400
5395
|
}
|
|
5401
|
-
base64Encode =
|
|
5396
|
+
base64Encode = ha;
|
|
5402
5397
|
}
|
|
5403
5398
|
class lu {
|
|
5404
5399
|
proxy;
|
|
@@ -5574,7 +5569,7 @@ class L {
|
|
|
5574
5569
|
K.debug && console.error("[VideoChat]:", q);
|
|
5575
5570
|
}
|
|
5576
5571
|
static get getVersionFirefox() {
|
|
5577
|
-
const q =
|
|
5572
|
+
const q = oe?.userAgent ?? null;
|
|
5578
5573
|
let A = 0;
|
|
5579
5574
|
if (q) {
|
|
5580
5575
|
const V = q.match(/(?:firefox)[ \/](\d+)/i) || [];
|
|
@@ -5583,7 +5578,7 @@ class L {
|
|
|
5583
5578
|
return typeof A == "string" ? parseInt(A) : A;
|
|
5584
5579
|
}
|
|
5585
5580
|
static get getVersionSafari() {
|
|
5586
|
-
const q =
|
|
5581
|
+
const q = oe?.userAgent ?? null;
|
|
5587
5582
|
let A = 0;
|
|
5588
5583
|
if (q && (q.match(/(?:safari)[ \/](\d+)/i) || []).length) {
|
|
5589
5584
|
const V = q.match(/(?:version)[ \/](\d+)/i) || [];
|
|
@@ -5592,15 +5587,15 @@ class L {
|
|
|
5592
5587
|
return typeof A == "string" ? parseInt(A) : A;
|
|
5593
5588
|
}
|
|
5594
5589
|
}
|
|
5595
|
-
class
|
|
5590
|
+
class Is {
|
|
5596
5591
|
original;
|
|
5597
5592
|
session;
|
|
5598
5593
|
userID;
|
|
5599
5594
|
type;
|
|
5600
5595
|
remoteSDP = null;
|
|
5601
|
-
state =
|
|
5596
|
+
state = $q.NEW;
|
|
5602
5597
|
iceCandidates = [];
|
|
5603
|
-
remoteStream = new
|
|
5598
|
+
remoteStream = new At();
|
|
5604
5599
|
answerTimeInterval = 0;
|
|
5605
5600
|
onStatusClosedChecker = null;
|
|
5606
5601
|
dialingTimer = null;
|
|
@@ -5632,24 +5627,24 @@ class Ss {
|
|
|
5632
5627
|
onIceConnectionStateHandler = () => {
|
|
5633
5628
|
switch (L.trace(`onIceConnectionStateHandler: ${this.iceConnectionState}`), this.onStatusClosedChecker && L.getVersionSafari >= 11 && clearTimeout(this.onStatusClosedChecker), this.iceConnectionState) {
|
|
5634
5629
|
case "checking":
|
|
5635
|
-
this.state =
|
|
5630
|
+
this.state = $q.CHECKING, this.session.onSessionConnectionStateChanged(this.userID, hA.CONNECTING);
|
|
5636
5631
|
break;
|
|
5637
5632
|
case "connected":
|
|
5638
|
-
this.state =
|
|
5633
|
+
this.state = $q.CONNECTED, this.clearWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, hA.CONNECTED);
|
|
5639
5634
|
break;
|
|
5640
5635
|
case "completed":
|
|
5641
|
-
this.state =
|
|
5636
|
+
this.state = $q.COMPLETED, this.clearWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, hA.COMPLETED);
|
|
5642
5637
|
break;
|
|
5643
5638
|
case "failed":
|
|
5644
|
-
this.state =
|
|
5639
|
+
this.state = $q.FAILED, this.session.onSessionConnectionStateChanged(this.userID, hA.FAILED);
|
|
5645
5640
|
break;
|
|
5646
5641
|
case "disconnected":
|
|
5647
|
-
this.state =
|
|
5642
|
+
this.state = $q.DISCONNECTED, this.startWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, hA.DISCONNECTED), L.getVersionSafari >= 11 && (this.onStatusClosedChecker = setTimeout(() => {
|
|
5648
5643
|
this.onIceConnectionStateHandler();
|
|
5649
5644
|
}, 500));
|
|
5650
5645
|
break;
|
|
5651
5646
|
case "closed":
|
|
5652
|
-
this.state =
|
|
5647
|
+
this.state = $q.CLOSED, this.clearWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, hA.CLOSED);
|
|
5653
5648
|
}
|
|
5654
5649
|
};
|
|
5655
5650
|
clearWaitingReconnectTimer() {
|
|
@@ -5678,7 +5673,7 @@ class Ss {
|
|
|
5678
5673
|
this.dialingTimer && (L.trace("clearDialingTimer"), clearInterval(this.dialingTimer), this.dialingTimer = null, this.answerTimeInterval = 0);
|
|
5679
5674
|
}
|
|
5680
5675
|
async getAndSetLocalSessionDescription(q, A = !1) {
|
|
5681
|
-
this.state =
|
|
5676
|
+
this.state = $q.CONNECTING;
|
|
5682
5677
|
try {
|
|
5683
5678
|
const V = A ? { iceRestart: A } : void 0, t = this.type === "offer" ? await this.createOffer(V) : await this.createAnswer();
|
|
5684
5679
|
return await this.setLocalDescription(t), this.setRTCRtpSenderMaxBandwidth(q), t;
|
|
@@ -5914,13 +5909,13 @@ class pu {
|
|
|
5914
5909
|
}
|
|
5915
5910
|
}
|
|
5916
5911
|
call(q = {}) {
|
|
5917
|
-
const A =
|
|
5912
|
+
const A = Ie(q);
|
|
5918
5913
|
L.trace(`Call, extension: ${JSON.stringify(A)}`), this.state = jq.ACTIVE, this.maxBandwidth = Number(A.userInfo?.maxBandwidth ?? 0), this.opponentsIDs.forEach((V) => {
|
|
5919
5914
|
this.callInternal(V, A, !0);
|
|
5920
5915
|
});
|
|
5921
5916
|
}
|
|
5922
5917
|
async callInternal(q, A, V) {
|
|
5923
|
-
const t = new
|
|
5918
|
+
const t = new Is(this, q, "offer");
|
|
5924
5919
|
this.localStream?.getTracks().forEach((s) => {
|
|
5925
5920
|
t.addTrack(s, this.localStream);
|
|
5926
5921
|
}), this.peerConnections[q] = t;
|
|
@@ -5931,7 +5926,7 @@ class pu {
|
|
|
5931
5926
|
}
|
|
5932
5927
|
}
|
|
5933
5928
|
accept(q = {}) {
|
|
5934
|
-
const A =
|
|
5929
|
+
const A = Ie(q);
|
|
5935
5930
|
if (L.trace(`Accept, extension: ${JSON.stringify(A)}`), this.state === jq.ACTIVE) return void L.traceError("Can't accept, the session is already active, return");
|
|
5936
5931
|
if (this.state === jq.CLOSED) return L.traceError("Can't accept, the session is already closed, return"), void this.stop({});
|
|
5937
5932
|
this.state = jq.ACTIVE, this.acceptCallTime = Date.now(), this.clearAnswerTimer(), this.acceptInternal(this.initiatorID, A);
|
|
@@ -5956,13 +5951,13 @@ class pu {
|
|
|
5956
5951
|
} else L.traceError("Can't accept the call, there is no information about peer connection by some reason");
|
|
5957
5952
|
}
|
|
5958
5953
|
reject(q = {}) {
|
|
5959
|
-
const A =
|
|
5954
|
+
const A = Ie(q);
|
|
5960
5955
|
L.trace(`Reject, extension: ${JSON.stringify(A.userInfo)}`), this.state = jq.REJECTED, this.clearAnswerTimer(), Object.assign(A, { sessionID: this.ID, callType: this.callType, callerID: this.initiatorID, opponentsIDs: this.opponentsIDs }), Object.keys(this.peerConnections).forEach((V) => {
|
|
5961
5956
|
this.signalingProvider.sendMessage(Number(V), A, Kq.REJECT);
|
|
5962
5957
|
}), this.close();
|
|
5963
5958
|
}
|
|
5964
5959
|
stop(q = {}) {
|
|
5965
|
-
const A =
|
|
5960
|
+
const A = Ie(q);
|
|
5966
5961
|
L.trace(`Stop, extension: ${JSON.stringify(A.userInfo)}`), this.state = jq.STOPPED, this.answerTimer && this.clearAnswerTimer(), Object.assign(A, { sessionID: this.ID, callType: this.callType, callerID: this.initiatorID, opponentsIDs: this.opponentsIDs }), Object.keys(this.peerConnections).forEach((V) => {
|
|
5967
5962
|
this.signalingProvider.sendMessage(Number(V), A, Kq.STOP);
|
|
5968
5963
|
}), this.close();
|
|
@@ -5985,7 +5980,7 @@ class pu {
|
|
|
5985
5980
|
const t = this.peerConnections[V];
|
|
5986
5981
|
if (t) V === q && (t.sdpRemote = A.sdp, q !== this.initiatorID && this.state === jq.ACTIVE && this.acceptInternal(q, A));
|
|
5987
5982
|
else {
|
|
5988
|
-
const s = V !== q && this.currentUserID > V ? "offer" : "answer", a = new
|
|
5983
|
+
const s = V !== q && this.currentUserID > V ? "offer" : "answer", a = new Is(this, V, s);
|
|
5989
5984
|
this.peerConnections[V] = a, V === q && (a.sdpRemote = A.sdp, this.startAnswerTimer());
|
|
5990
5985
|
}
|
|
5991
5986
|
});
|
|
@@ -6107,7 +6102,7 @@ class pu {
|
|
|
6107
6102
|
const q = (this.acceptCallTime - this.startCallTime) / 1e3, A = Math.min(q, K.videochat.answerTimeInterval / 2), V = Math.max(K.videochat.answerTimeInterval - A, 1);
|
|
6108
6103
|
L.trace(`startWaitingOfferOrAnswerTimer, timeout: ${V}`), this.waitingOfferOrAnswerTimer = setTimeout(() => {
|
|
6109
6104
|
L.trace("waitingOfferOrAnswerTimeoutCallback"), Object.values(this.peerConnections).forEach((t) => {
|
|
6110
|
-
t.state !==
|
|
6105
|
+
t.state !== $q.CONNECTING && t.state !== $q.NEW || this.processOnNotAnswer(t);
|
|
6111
6106
|
}), this.waitingOfferOrAnswerTimer = null;
|
|
6112
6107
|
}, 1e3 * V);
|
|
6113
6108
|
}
|
|
@@ -6122,7 +6117,7 @@ function mu() {
|
|
|
6122
6117
|
return e = Math.floor(e / 16), (q == "x" ? A : 3 & A | 8).toString(16);
|
|
6123
6118
|
});
|
|
6124
6119
|
}
|
|
6125
|
-
function
|
|
6120
|
+
function Ie(e = {}) {
|
|
6126
6121
|
const q = { userInfo: e };
|
|
6127
6122
|
try {
|
|
6128
6123
|
p.isObject(e) ? q.userInfo = p.cloneObject(e, !0) : L.traceWarning('Ignore "prepareExtension", must be an object');
|
|
@@ -6137,7 +6132,7 @@ class wu {
|
|
|
6137
6132
|
signalingProcessor;
|
|
6138
6133
|
signalingProvider;
|
|
6139
6134
|
SessionConnectionState = hA;
|
|
6140
|
-
PeerConnectionState =
|
|
6135
|
+
PeerConnectionState = $q;
|
|
6141
6136
|
CallType = bA;
|
|
6142
6137
|
sessions = {};
|
|
6143
6138
|
onCallListener;
|
|
@@ -6314,10 +6309,10 @@ class fu {
|
|
|
6314
6309
|
return A ? A[1] : q;
|
|
6315
6310
|
}
|
|
6316
6311
|
}
|
|
6317
|
-
class
|
|
6312
|
+
class Ss {
|
|
6318
6313
|
ConnectyCube;
|
|
6319
|
-
version =
|
|
6320
|
-
isWebRTCAvailable =
|
|
6314
|
+
version = qt;
|
|
6315
|
+
isWebRTCAvailable = Re;
|
|
6321
6316
|
utils;
|
|
6322
6317
|
service;
|
|
6323
6318
|
auth;
|
|
@@ -6339,16 +6334,16 @@ class Bs {
|
|
|
6339
6334
|
login;
|
|
6340
6335
|
logout;
|
|
6341
6336
|
init(q, A = {}) {
|
|
6342
|
-
A && typeof A == "object" && K.set(A), this.utils = p, this.service = new gg(), this.auth = new hg(this.service), this.users = new uu(this.service), this.storage = new gu(this.service), this.pushnotifications = new cu(this.service), this.data = new nu(this.service), this.addressbook = new ug(this.service), this.chat = new Vu(this.service), this.meeting = new iu(this.service), this.whiteboard = new Mu(this.service), this.linkpreview = new fu(this.service),
|
|
6337
|
+
A && typeof A == "object" && K.set(A), this.utils = p, this.service = new gg(), this.auth = new hg(this.service), this.users = new uu(this.service), this.storage = new gu(this.service), this.pushnotifications = new cu(this.service), this.data = new nu(this.service), this.addressbook = new ug(this.service), this.chat = new Vu(this.service), this.meeting = new iu(this.service), this.whiteboard = new Mu(this.service), this.linkpreview = new fu(this.service), Re && (this.videochat = new wu(this.chat.xmppClient, this.service), this.videochatconference = new ou(this.service), this.chat.webrtcSignalingProcessor = this.videochat.signalingProcessor), q.token ? (K.creds.appId = q.appId, this.service.setSession({ token: q.token })) : (K.creds.appId = q.appId, K.creds.authKey = q.authKey), this.setSession = this.auth.setSession, this.getSession = this.auth.getSession, this.createSession = this.auth.createSession, this.destroySession = this.auth.destroySession, this.login = this.auth.login, this.logout = this.auth.logout;
|
|
6343
6338
|
}
|
|
6344
6339
|
}
|
|
6345
|
-
var Cu = Object.assign(new
|
|
6340
|
+
var Cu = Object.assign(new Ss(), { ConnectyCube: Ss });
|
|
6346
6341
|
const xa = {
|
|
6347
6342
|
fetchedCount: 0,
|
|
6348
6343
|
queue: [],
|
|
6349
6344
|
urlPreviews: /* @__PURE__ */ new Map(),
|
|
6350
6345
|
isProcessing: !1
|
|
6351
|
-
},
|
|
6346
|
+
}, st = Jq((e, q) => ({
|
|
6352
6347
|
...xa,
|
|
6353
6348
|
addUrls: async (A) => {
|
|
6354
6349
|
const V = q(), t = A.filter((i) => !V.urlPreviews.has(i) && !V.queue.includes(i));
|
|
@@ -6375,14 +6370,14 @@ const xa = {
|
|
|
6375
6370
|
return (A.match(/https?:\/\/[^\s]+/g) || []).slice(0, V);
|
|
6376
6371
|
}
|
|
6377
6372
|
})), Eu = () => {
|
|
6378
|
-
|
|
6379
|
-
},
|
|
6373
|
+
st.setState(xa);
|
|
6374
|
+
}, ue = Jq((e) => ({
|
|
6380
6375
|
visible: !1,
|
|
6381
6376
|
userId: void 0,
|
|
6382
6377
|
showProfile: (q) => e({ visible: !0, userId: q }),
|
|
6383
6378
|
hideProfile: () => e({ visible: !1, userId: void 0 })
|
|
6384
6379
|
})), Ta = () => {
|
|
6385
|
-
|
|
6380
|
+
ue.setState({ visible: !1, userId: void 0 });
|
|
6386
6381
|
}, _e = Jq((e) => ({
|
|
6387
6382
|
unreadCount: 0,
|
|
6388
6383
|
setUnreadCount: (q) => e({ unreadCount: q }),
|
|
@@ -6415,7 +6410,7 @@ const xa = {
|
|
|
6415
6410
|
userVisibleOnly: !0
|
|
6416
6411
|
}) ?? null)), V;
|
|
6417
6412
|
}, yu = async (e) => (await Da(e))?.unsubscribe() ?? !1, Ua = () => {
|
|
6418
|
-
const e =
|
|
6413
|
+
const e = na(), { showNotifications: q, playSound: A, webPushNotifications: V } = NA.getState();
|
|
6419
6414
|
return {
|
|
6420
6415
|
userStatus: e?.userStatus ?? Lq.AVAILABLE,
|
|
6421
6416
|
isNotifications: e?.notifications ?? q,
|
|
@@ -6425,17 +6420,17 @@ const xa = {
|
|
|
6425
6420
|
}, xu = Ua(), PA = Jq((e) => ({
|
|
6426
6421
|
...xu,
|
|
6427
6422
|
setUserStatus: async (q, A) => {
|
|
6428
|
-
await
|
|
6423
|
+
await Ce({ userStatus: q }, A), e({ userStatus: q });
|
|
6429
6424
|
},
|
|
6430
6425
|
setIsNotifications: async (q, A) => {
|
|
6431
|
-
await
|
|
6426
|
+
await Ce({ notifications: q }, A), e({ isNotifications: q });
|
|
6432
6427
|
},
|
|
6433
6428
|
setIsNotificationSound: async (q, A) => {
|
|
6434
|
-
await
|
|
6429
|
+
await Ce({ notificationSound: q }, A), e({ isNotificationSound: q });
|
|
6435
6430
|
},
|
|
6436
6431
|
setIsPushNotifications: async (q, A) => {
|
|
6437
6432
|
const V = await Qa(q);
|
|
6438
|
-
await
|
|
6433
|
+
await Ce({ pushNotifications: V }, A), e({ isPushNotifications: V });
|
|
6439
6434
|
}
|
|
6440
6435
|
})), Qa = async (e) => {
|
|
6441
6436
|
const { serviceWorkerPath: q, webPushVapidPublicKey: A } = NA.getState();
|
|
@@ -6465,7 +6460,7 @@ const xa = {
|
|
|
6465
6460
|
resetChangeMessageTone: () => e({ changeMessageTone: te.changeMessageTone }),
|
|
6466
6461
|
resetTextSummarization: () => e({ textSummarization: te.textSummarization }),
|
|
6467
6462
|
resetApiKey: () => e({ apiKey: te.apiKey })
|
|
6468
|
-
})),
|
|
6463
|
+
})), he = Jq((e) => ({
|
|
6469
6464
|
shadowRoot: rA ? document : {},
|
|
6470
6465
|
shadowPortal: rA ? document.body : null,
|
|
6471
6466
|
setShadowRoot: (q) => e({ shadowRoot: q ?? document, shadowPortal: q ?? document.body })
|
|
@@ -6475,11 +6470,11 @@ const xa = {
|
|
|
6475
6470
|
}
|
|
6476
6471
|
}, Uu = ({ creds: e, config: q = {}, user: A = {}, enableUserLogin: V }) => {
|
|
6477
6472
|
const t = wq(!1), { id: s, name: a, avatar: i, userProfileLink: c } = A, r = Object.assign(Du, q), n = Fq((d) => d.singleView), l = Uq((d) => d.setUserAuthorized);
|
|
6478
|
-
jd(n), t.current || (t.current = !0, Bd(e, r),
|
|
6479
|
-
},
|
|
6473
|
+
jd(n), t.current || (t.current = !0, Bd(e, r), da({ userAuthorized: !ca() }), !V && bd(s) ? (console.info(`[useAppAuthorization] user changed to id: ${s}, name: ${a}`), HV(), l(!1)) : yd(a, s, i, c));
|
|
6474
|
+
}, Bs = (e) => Symbol.iterator in e, ys = (e) => (
|
|
6480
6475
|
// HACK: avoid checking entries type
|
|
6481
6476
|
"entries" in e
|
|
6482
|
-
),
|
|
6477
|
+
), xs = (e, q) => {
|
|
6483
6478
|
const A = e instanceof Map ? e : new Map(e.entries()), V = q instanceof Map ? q : new Map(q.entries());
|
|
6484
6479
|
if (A.size !== V.size)
|
|
6485
6480
|
return !1;
|
|
@@ -6498,7 +6493,7 @@ const xa = {
|
|
|
6498
6493
|
return !!t.done && !!s.done;
|
|
6499
6494
|
};
|
|
6500
6495
|
function vu(e, q) {
|
|
6501
|
-
return Object.is(e, q) ? !0 : typeof e != "object" || e === null || typeof q != "object" || q === null || Object.getPrototypeOf(e) !== Object.getPrototypeOf(q) ? !1 :
|
|
6496
|
+
return Object.is(e, q) ? !0 : typeof e != "object" || e === null || typeof q != "object" || q === null || Object.getPrototypeOf(e) !== Object.getPrototypeOf(q) ? !1 : Bs(e) && Bs(q) ? ys(e) && ys(q) ? xs(e, q) : Qu(e, q) : xs(
|
|
6502
6497
|
{ entries: () => Object.entries(e) },
|
|
6503
6498
|
{ entries: () => Object.entries(q) }
|
|
6504
6499
|
);
|
|
@@ -6549,7 +6544,7 @@ const Nu = ({
|
|
|
6549
6544
|
}) => {
|
|
6550
6545
|
const [bq, Iq, v] = Fq(
|
|
6551
6546
|
gq((oq) => [oq.opened, oq.setOpened, oq.toggleOpened])
|
|
6552
|
-
), Vq = _e((oq) => oq.unreadCount), [O, rq, fq] =
|
|
6547
|
+
), Vq = _e((oq) => oq.unreadCount), [O, rq, fq] = ge(
|
|
6553
6548
|
gq((oq) => [
|
|
6554
6549
|
oq.onlineUsersCount,
|
|
6555
6550
|
oq.setRequestOnlineUsersInterval,
|
|
@@ -6591,7 +6586,7 @@ const Nu = ({
|
|
|
6591
6586
|
serviceWorkerPath: w
|
|
6592
6587
|
});
|
|
6593
6588
|
}, [n, l, d, m, M, w]), $(() => {
|
|
6594
|
-
|
|
6589
|
+
da({
|
|
6595
6590
|
attachmentsAccept: k,
|
|
6596
6591
|
enableUserLogin: y,
|
|
6597
6592
|
enableCalls: U,
|
|
@@ -6690,11 +6685,11 @@ function Ga() {
|
|
|
6690
6685
|
l("notAnswer", k, V?.callType);
|
|
6691
6686
|
};
|
|
6692
6687
|
return $(() => {
|
|
6693
|
-
t && (r(), i(
|
|
6688
|
+
t && (r(), i(Te.ON_ACCEPT));
|
|
6694
6689
|
}, [t]), $(() => {
|
|
6695
|
-
s && (n(), i(
|
|
6690
|
+
s && (n(), i(Te.ON_STOP));
|
|
6696
6691
|
}, [s]), $(() => {
|
|
6697
|
-
a && (M(a?.userID), i(
|
|
6692
|
+
a && (M(a?.userID), i(Te.ON_NOT_ANSWER));
|
|
6698
6693
|
}, [a]), {
|
|
6699
6694
|
sendAcceptCall: d,
|
|
6700
6695
|
sendRejectCall: m,
|
|
@@ -6846,7 +6841,7 @@ function Ra(e, q = !1) {
|
|
|
6846
6841
|
return Cq(() => {
|
|
6847
6842
|
if (e) {
|
|
6848
6843
|
const i = t[e._id] ?? [];
|
|
6849
|
-
if (e.type ===
|
|
6844
|
+
if (e.type === ce.PRIVATE)
|
|
6850
6845
|
return s(e) === i[0] ? `${A("typing")}...` : void 0;
|
|
6851
6846
|
if (i.length > 0) {
|
|
6852
6847
|
const r = i.map((l) => Zq(V[l])).join(), n = i.length > 1 ? A("areTyping") : A("isTyping");
|
|
@@ -6902,14 +6897,14 @@ const Ya = (e = !1) => {
|
|
|
6902
6897
|
tabsTrigger: "data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4",
|
|
6903
6898
|
tabsContent: "flex-1 outline-none",
|
|
6904
6899
|
tooltipContent: "bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance"
|
|
6905
|
-
},
|
|
6900
|
+
}, at = "-", Lu = (e) => {
|
|
6906
6901
|
const q = zu(e), {
|
|
6907
6902
|
conflictingClassGroups: A,
|
|
6908
6903
|
conflictingClassGroupModifiers: V
|
|
6909
6904
|
} = e;
|
|
6910
6905
|
return {
|
|
6911
6906
|
getClassGroupId: (a) => {
|
|
6912
|
-
const i = a.split(
|
|
6907
|
+
const i = a.split(at);
|
|
6913
6908
|
return i[0] === "" && i.length !== 1 && i.shift(), Fa(i, q) || Ku(a);
|
|
6914
6909
|
},
|
|
6915
6910
|
getConflictingClassGroupIds: (a, i) => {
|
|
@@ -6925,13 +6920,13 @@ const Ya = (e = !1) => {
|
|
|
6925
6920
|
return t;
|
|
6926
6921
|
if (q.validators.length === 0)
|
|
6927
6922
|
return;
|
|
6928
|
-
const s = e.join(
|
|
6923
|
+
const s = e.join(at);
|
|
6929
6924
|
return q.validators.find(({
|
|
6930
6925
|
validator: a
|
|
6931
6926
|
}) => a(s))?.classGroupId;
|
|
6932
|
-
},
|
|
6933
|
-
if (
|
|
6934
|
-
const q =
|
|
6927
|
+
}, Ts = /^\[(.+)\]$/, Ku = (e) => {
|
|
6928
|
+
if (Ts.test(e)) {
|
|
6929
|
+
const q = Ts.exec(e)[1], A = q?.substring(0, q.indexOf(":"));
|
|
6935
6930
|
if (A)
|
|
6936
6931
|
return "arbitrary.." + A;
|
|
6937
6932
|
}
|
|
@@ -6944,18 +6939,18 @@ const Ya = (e = !1) => {
|
|
|
6944
6939
|
validators: []
|
|
6945
6940
|
};
|
|
6946
6941
|
for (const t in A)
|
|
6947
|
-
|
|
6942
|
+
YV(A[t], V, t, q);
|
|
6948
6943
|
return V;
|
|
6949
|
-
},
|
|
6944
|
+
}, YV = (e, q, A, V) => {
|
|
6950
6945
|
e.forEach((t) => {
|
|
6951
6946
|
if (typeof t == "string") {
|
|
6952
|
-
const s = t === "" ? q :
|
|
6947
|
+
const s = t === "" ? q : bs(q, t);
|
|
6953
6948
|
s.classGroupId = A;
|
|
6954
6949
|
return;
|
|
6955
6950
|
}
|
|
6956
6951
|
if (typeof t == "function") {
|
|
6957
6952
|
if (Ju(t)) {
|
|
6958
|
-
|
|
6953
|
+
YV(t(V), q, A, V);
|
|
6959
6954
|
return;
|
|
6960
6955
|
}
|
|
6961
6956
|
q.validators.push({
|
|
@@ -6965,12 +6960,12 @@ const Ya = (e = !1) => {
|
|
|
6965
6960
|
return;
|
|
6966
6961
|
}
|
|
6967
6962
|
Object.entries(t).forEach(([s, a]) => {
|
|
6968
|
-
|
|
6963
|
+
YV(a, bs(q, s), A, V);
|
|
6969
6964
|
});
|
|
6970
6965
|
});
|
|
6971
|
-
},
|
|
6966
|
+
}, bs = (e, q) => {
|
|
6972
6967
|
let A = e;
|
|
6973
|
-
return q.split(
|
|
6968
|
+
return q.split(at).forEach((V) => {
|
|
6974
6969
|
A.nextPart.has(V) || A.nextPart.set(V, {
|
|
6975
6970
|
nextPart: /* @__PURE__ */ new Map(),
|
|
6976
6971
|
validators: []
|
|
@@ -7000,7 +6995,7 @@ const Ya = (e = !1) => {
|
|
|
7000
6995
|
A.has(s) ? A.set(s, a) : t(s, a);
|
|
7001
6996
|
}
|
|
7002
6997
|
};
|
|
7003
|
-
},
|
|
6998
|
+
}, FV = "!", OV = ":", Wu = OV.length, Zu = (e) => {
|
|
7004
6999
|
const {
|
|
7005
7000
|
prefix: q,
|
|
7006
7001
|
experimentalParseClassName: A
|
|
@@ -7011,7 +7006,7 @@ const Ya = (e = !1) => {
|
|
|
7011
7006
|
for (let w = 0; w < t.length; w++) {
|
|
7012
7007
|
let M = t[w];
|
|
7013
7008
|
if (a === 0 && i === 0) {
|
|
7014
|
-
if (M ===
|
|
7009
|
+
if (M === OV) {
|
|
7015
7010
|
s.push(t.slice(c, w)), c = w + Wu;
|
|
7016
7011
|
continue;
|
|
7017
7012
|
}
|
|
@@ -7031,7 +7026,7 @@ const Ya = (e = !1) => {
|
|
|
7031
7026
|
};
|
|
7032
7027
|
};
|
|
7033
7028
|
if (q) {
|
|
7034
|
-
const t = q +
|
|
7029
|
+
const t = q + OV, s = V;
|
|
7035
7030
|
V = (a) => a.startsWith(t) ? s(a.substring(t.length)) : {
|
|
7036
7031
|
isExternal: !0,
|
|
7037
7032
|
modifiers: [],
|
|
@@ -7048,7 +7043,7 @@ const Ya = (e = !1) => {
|
|
|
7048
7043
|
});
|
|
7049
7044
|
}
|
|
7050
7045
|
return V;
|
|
7051
|
-
}, Hu = (e) => e.endsWith(
|
|
7046
|
+
}, Hu = (e) => e.endsWith(FV) ? e.substring(0, e.length - 1) : e.startsWith(FV) ? e.substring(1) : e, Xu = (e) => {
|
|
7052
7047
|
const q = Object.fromEntries(e.orderSensitiveModifiers.map((V) => [V, !0]));
|
|
7053
7048
|
return (V) => {
|
|
7054
7049
|
if (V.length <= 1)
|
|
@@ -7096,7 +7091,7 @@ const Ya = (e = !1) => {
|
|
|
7096
7091
|
}
|
|
7097
7092
|
k = !1;
|
|
7098
7093
|
}
|
|
7099
|
-
const U = s(d).join(":"), D = m ? U +
|
|
7094
|
+
const U = s(d).join(":"), D = m ? U + FV : U, b = D + y;
|
|
7100
7095
|
if (a.includes(b))
|
|
7101
7096
|
continue;
|
|
7102
7097
|
a.push(b);
|
|
@@ -7148,7 +7143,7 @@ const Gq = (e) => {
|
|
|
7148
7143
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
7149
7144
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
7150
7145
|
rh.test(e) && !sh.test(e)
|
|
7151
|
-
), za = () => !1, ch = (e) => ah.test(e), lh = (e) => oh.test(e), dh = (e) => !Z(e) && !H(e), gh = (e) => WA(e, Wa, za), Z = (e) => La.test(e), QA = (e) => WA(e, Za, ih), yV = (e) => WA(e, wh, iq),
|
|
7146
|
+
), za = () => !1, ch = (e) => ah.test(e), lh = (e) => oh.test(e), dh = (e) => !Z(e) && !H(e), gh = (e) => WA(e, Wa, za), Z = (e) => La.test(e), QA = (e) => WA(e, Za, ih), yV = (e) => WA(e, wh, iq), Ds = (e) => WA(e, Ja, za), uh = (e) => WA(e, Pa, lh), Se = (e) => WA(e, Ha, ch), H = (e) => Ka.test(e), Ae = (e) => ZA(e, Za), hh = (e) => ZA(e, Mh), Us = (e) => ZA(e, Ja), ph = (e) => ZA(e, Wa), mh = (e) => ZA(e, Pa), Be = (e) => ZA(e, Ha, !0), WA = (e, q, A) => {
|
|
7152
7147
|
const V = La.exec(e);
|
|
7153
7148
|
return V ? V[1] ? q(V[1]) : A(V[2]) : !1;
|
|
7154
7149
|
}, ZA = (e, q, A = !1) => {
|
|
@@ -7175,7 +7170,7 @@ const Gq = (e) => {
|
|
|
7175
7170
|
"left-bottom"
|
|
7176
7171
|
], E = () => [...b(), H, Z], j = () => ["auto", "hidden", "clip", "visible", "scroll"], G = () => ["auto", "contain", "none"], Q = () => [H, Z, c], J = () => [FA, "full", "auto", ...Q()], F = () => [BA, "none", "subgrid", H, Z], nq = () => ["auto", {
|
|
7177
7172
|
span: ["full", BA, H, Z]
|
|
7178
|
-
}, BA, H, Z], tq = () => [BA, "auto", H, Z], P = () => ["auto", "min", "max", "fr", H, Z], Aq = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], Eq = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], uq = () => ["auto", ...Q()], lq = () => [FA, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...Q()], W = () => [e, H, Z], bq = () => [...b(),
|
|
7173
|
+
}, BA, H, Z], tq = () => [BA, "auto", H, Z], P = () => ["auto", "min", "max", "fr", H, Z], Aq = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], Eq = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], uq = () => ["auto", ...Q()], lq = () => [FA, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...Q()], W = () => [e, H, Z], bq = () => [...b(), Us, Ds, {
|
|
7179
7174
|
position: [H, Z]
|
|
7180
7175
|
}], Iq = () => ["no-repeat", {
|
|
7181
7176
|
repeat: ["", "x", "y", "space", "round"]
|
|
@@ -7189,7 +7184,7 @@ const Gq = (e) => {
|
|
|
7189
7184
|
r,
|
|
7190
7185
|
H,
|
|
7191
7186
|
Z
|
|
7192
|
-
], rq = () => ["", iq, Ae, QA], fq = () => ["solid", "dashed", "dotted", "double"], Rq = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], sq = () => [iq, BV,
|
|
7187
|
+
], rq = () => ["", iq, Ae, QA], fq = () => ["solid", "dashed", "dotted", "double"], Rq = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], sq = () => [iq, BV, Us, Ds], _ = () => [
|
|
7193
7188
|
// Deprecated since Tailwind CSS v4.0.0
|
|
7194
7189
|
"",
|
|
7195
7190
|
"none",
|
|
@@ -8546,8 +8541,8 @@ const Gq = (e) => {
|
|
|
8546
8541
|
"",
|
|
8547
8542
|
"none",
|
|
8548
8543
|
n,
|
|
8549
|
-
|
|
8550
|
-
|
|
8544
|
+
Be,
|
|
8545
|
+
Se
|
|
8551
8546
|
]
|
|
8552
8547
|
}],
|
|
8553
8548
|
/**
|
|
@@ -8562,7 +8557,7 @@ const Gq = (e) => {
|
|
|
8562
8557
|
* @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
|
|
8563
8558
|
*/
|
|
8564
8559
|
"inset-shadow": [{
|
|
8565
|
-
"inset-shadow": ["none", l,
|
|
8560
|
+
"inset-shadow": ["none", l, Be, Se]
|
|
8566
8561
|
}],
|
|
8567
8562
|
/**
|
|
8568
8563
|
* Inset Box Shadow Color
|
|
@@ -8629,7 +8624,7 @@ const Gq = (e) => {
|
|
|
8629
8624
|
* @see https://tailwindcss.com/docs/text-shadow
|
|
8630
8625
|
*/
|
|
8631
8626
|
"text-shadow": [{
|
|
8632
|
-
"text-shadow": ["none", d,
|
|
8627
|
+
"text-shadow": ["none", d, Be, Se]
|
|
8633
8628
|
}],
|
|
8634
8629
|
/**
|
|
8635
8630
|
* Text Shadow Color
|
|
@@ -8902,8 +8897,8 @@ const Gq = (e) => {
|
|
|
8902
8897
|
"",
|
|
8903
8898
|
"none",
|
|
8904
8899
|
m,
|
|
8905
|
-
|
|
8906
|
-
|
|
8900
|
+
Be,
|
|
8901
|
+
Se
|
|
8907
8902
|
]
|
|
8908
8903
|
}],
|
|
8909
8904
|
/**
|
|
@@ -9626,7 +9621,7 @@ const Gq = (e) => {
|
|
|
9626
9621
|
};
|
|
9627
9622
|
}, Xa = /* @__PURE__ */ eh(fh);
|
|
9628
9623
|
function aq(...e) {
|
|
9629
|
-
return Xa(
|
|
9624
|
+
return Xa(Js(e));
|
|
9630
9625
|
}
|
|
9631
9626
|
function _a(e, q, A, V, t, s, a) {
|
|
9632
9627
|
const i = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -9648,7 +9643,7 @@ function _a(e, q, A, V, t, s, a) {
|
|
|
9648
9643
|
extensions: a
|
|
9649
9644
|
};
|
|
9650
9645
|
}
|
|
9651
|
-
const
|
|
9646
|
+
const ot = Ws(eq.button, {
|
|
9652
9647
|
variants: {
|
|
9653
9648
|
variant: {
|
|
9654
9649
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
@@ -9677,8 +9672,8 @@ function sA({
|
|
|
9677
9672
|
asChild: V = !1,
|
|
9678
9673
|
...t
|
|
9679
9674
|
}) {
|
|
9680
|
-
const s = V ?
|
|
9681
|
-
return /* @__PURE__ */ o.jsx(s, { "data-slot": "button", className: aq(
|
|
9675
|
+
const s = V ? Ps : "button";
|
|
9676
|
+
return /* @__PURE__ */ o.jsx(s, { "data-slot": "button", className: aq(ot({ variant: q, size: A, className: e })), ...t });
|
|
9682
9677
|
}
|
|
9683
9678
|
function $a({ ...e }) {
|
|
9684
9679
|
return /* @__PURE__ */ o.jsx(CA.Root, { "data-slot": "alert-dialog", ...e });
|
|
@@ -9687,7 +9682,7 @@ function Ch({ ...e }) {
|
|
|
9687
9682
|
return /* @__PURE__ */ o.jsx(CA.Trigger, { "data-slot": "alert-dialog-trigger", ...e });
|
|
9688
9683
|
}
|
|
9689
9684
|
function Eh({ ...e }) {
|
|
9690
|
-
return e.container =
|
|
9685
|
+
return e.container = he((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(CA.Portal, { "data-slot": "alert-dialog-portal", ...e });
|
|
9691
9686
|
}
|
|
9692
9687
|
function kh({ className: e, ...q }) {
|
|
9693
9688
|
return /* @__PURE__ */ o.jsx(
|
|
@@ -9745,10 +9740,10 @@ function Sh({
|
|
|
9745
9740
|
);
|
|
9746
9741
|
}
|
|
9747
9742
|
function Bh({ className: e, ...q }) {
|
|
9748
|
-
return /* @__PURE__ */ o.jsx(CA.Action, { className: aq(
|
|
9743
|
+
return /* @__PURE__ */ o.jsx(CA.Action, { className: aq(ot(), e), ...q });
|
|
9749
9744
|
}
|
|
9750
9745
|
function yh({ className: e, ...q }) {
|
|
9751
|
-
return /* @__PURE__ */ o.jsx(CA.Cancel, { className: aq(
|
|
9746
|
+
return /* @__PURE__ */ o.jsx(CA.Cancel, { className: aq(ot({ variant: "outline" }), e), ...q });
|
|
9752
9747
|
}
|
|
9753
9748
|
var Vo = {
|
|
9754
9749
|
color: void 0,
|
|
@@ -9756,7 +9751,7 @@ var Vo = {
|
|
|
9756
9751
|
className: void 0,
|
|
9757
9752
|
style: void 0,
|
|
9758
9753
|
attr: void 0
|
|
9759
|
-
},
|
|
9754
|
+
}, Qs = Mq.createContext && /* @__PURE__ */ Mq.createContext(Vo), xh = ["attr", "size", "title"];
|
|
9760
9755
|
function Th(e, q) {
|
|
9761
9756
|
if (e == null) return {};
|
|
9762
9757
|
var A = bh(e, q), V, t;
|
|
@@ -9777,17 +9772,17 @@ function bh(e, q) {
|
|
|
9777
9772
|
}
|
|
9778
9773
|
return A;
|
|
9779
9774
|
}
|
|
9780
|
-
function
|
|
9781
|
-
return
|
|
9775
|
+
function Fe() {
|
|
9776
|
+
return Fe = Object.assign ? Object.assign.bind() : function(e) {
|
|
9782
9777
|
for (var q = 1; q < arguments.length; q++) {
|
|
9783
9778
|
var A = arguments[q];
|
|
9784
9779
|
for (var V in A)
|
|
9785
9780
|
Object.prototype.hasOwnProperty.call(A, V) && (e[V] = A[V]);
|
|
9786
9781
|
}
|
|
9787
9782
|
return e;
|
|
9788
|
-
},
|
|
9783
|
+
}, Fe.apply(this, arguments);
|
|
9789
9784
|
}
|
|
9790
|
-
function
|
|
9785
|
+
function vs(e, q) {
|
|
9791
9786
|
var A = Object.keys(e);
|
|
9792
9787
|
if (Object.getOwnPropertySymbols) {
|
|
9793
9788
|
var V = Object.getOwnPropertySymbols(e);
|
|
@@ -9797,12 +9792,12 @@ function Ns(e, q) {
|
|
|
9797
9792
|
}
|
|
9798
9793
|
return A;
|
|
9799
9794
|
}
|
|
9800
|
-
function
|
|
9795
|
+
function Oe(e) {
|
|
9801
9796
|
for (var q = 1; q < arguments.length; q++) {
|
|
9802
9797
|
var A = arguments[q] != null ? arguments[q] : {};
|
|
9803
|
-
q % 2 ?
|
|
9798
|
+
q % 2 ? vs(Object(A), !0).forEach(function(V) {
|
|
9804
9799
|
Dh(e, V, A[V]);
|
|
9805
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(A)) :
|
|
9800
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(A)) : vs(Object(A)).forEach(function(V) {
|
|
9806
9801
|
Object.defineProperty(e, V, Object.getOwnPropertyDescriptor(A, V));
|
|
9807
9802
|
});
|
|
9808
9803
|
}
|
|
@@ -9826,13 +9821,13 @@ function Qh(e, q) {
|
|
|
9826
9821
|
return (q === "string" ? String : Number)(e);
|
|
9827
9822
|
}
|
|
9828
9823
|
function to(e) {
|
|
9829
|
-
return e && e.map((q, A) => /* @__PURE__ */ Mq.createElement(q.tag,
|
|
9824
|
+
return e && e.map((q, A) => /* @__PURE__ */ Mq.createElement(q.tag, Oe({
|
|
9830
9825
|
key: A
|
|
9831
9826
|
}, q.attr), to(q.child)));
|
|
9832
9827
|
}
|
|
9833
9828
|
function mq(e) {
|
|
9834
|
-
return (q) => /* @__PURE__ */ Mq.createElement(vh,
|
|
9835
|
-
attr:
|
|
9829
|
+
return (q) => /* @__PURE__ */ Mq.createElement(vh, Fe({
|
|
9830
|
+
attr: Oe({}, e.attr)
|
|
9836
9831
|
}, q), to(e.child));
|
|
9837
9832
|
}
|
|
9838
9833
|
function vh(e) {
|
|
@@ -9842,13 +9837,13 @@ function vh(e) {
|
|
|
9842
9837
|
size: t,
|
|
9843
9838
|
title: s
|
|
9844
9839
|
} = e, a = Th(e, xh), i = t || A.size || "1em", c;
|
|
9845
|
-
return A.className && (c = A.className), e.className && (c = (c ? c + " " : "") + e.className), /* @__PURE__ */ Mq.createElement("svg",
|
|
9840
|
+
return A.className && (c = A.className), e.className && (c = (c ? c + " " : "") + e.className), /* @__PURE__ */ Mq.createElement("svg", Fe({
|
|
9846
9841
|
stroke: "currentColor",
|
|
9847
9842
|
fill: "currentColor",
|
|
9848
9843
|
strokeWidth: "0"
|
|
9849
9844
|
}, A.attr, V, a, {
|
|
9850
9845
|
className: c,
|
|
9851
|
-
style:
|
|
9846
|
+
style: Oe(Oe({
|
|
9852
9847
|
color: e.color || A.color
|
|
9853
9848
|
}, A.style), e.style),
|
|
9854
9849
|
height: i,
|
|
@@ -9856,7 +9851,7 @@ function vh(e) {
|
|
|
9856
9851
|
xmlns: "http://www.w3.org/2000/svg"
|
|
9857
9852
|
}), s && /* @__PURE__ */ Mq.createElement("title", null, s), e.children);
|
|
9858
9853
|
};
|
|
9859
|
-
return
|
|
9854
|
+
return Qs !== void 0 ? /* @__PURE__ */ Mq.createElement(Qs.Consumer, null, (A) => q(A)) : q(Vo);
|
|
9860
9855
|
}
|
|
9861
9856
|
function Nh(e) {
|
|
9862
9857
|
return mq({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z" }, child: [] }] })(e);
|
|
@@ -9865,12 +9860,12 @@ function Gh(e) {
|
|
|
9865
9860
|
return mq({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z" }, child: [] }] })(e);
|
|
9866
9861
|
}
|
|
9867
9862
|
const wA = ({ className: e = "" }) => /* @__PURE__ */ o.jsx(Gh, { className: aq("animate-spin size-6 text-black mx-auto ", e) }), jh = () => {
|
|
9868
|
-
const [e, q] =
|
|
9863
|
+
const [e, q] = Pe(gq((A) => [A.visible, A.title]));
|
|
9869
9864
|
return /* @__PURE__ */ o.jsx($a, { open: e, children: /* @__PURE__ */ o.jsx(qo, { className: "size-auto", children: /* @__PURE__ */ o.jsx(Ao, { children: /* @__PURE__ */ o.jsx(eo, { className: "self-center", children: /* @__PURE__ */ o.jsxs("div", { className: "flex items-center space-x-4", children: [
|
|
9870
9865
|
/* @__PURE__ */ o.jsx("span", { children: q }),
|
|
9871
9866
|
/* @__PURE__ */ o.jsx(wA, {})
|
|
9872
9867
|
] }) }) }) }) });
|
|
9873
|
-
},
|
|
9868
|
+
}, Ns = ({ customButton: e }) => {
|
|
9874
9869
|
const {
|
|
9875
9870
|
stopCall: q,
|
|
9876
9871
|
activeCall: A,
|
|
@@ -9893,23 +9888,23 @@ const wA = ({ className: e = "" }) => /* @__PURE__ */ o.jsx(Gh, { className: aq(
|
|
|
9893
9888
|
d ? V() : t();
|
|
9894
9889
|
}, [d, t, V]);
|
|
9895
9890
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row items-center justify-center bg-gray-800 rounded-full p-2 gap-x-4", children: [
|
|
9896
|
-
/* @__PURE__ */ o.jsx("button", { onClick: w, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: c ? /* @__PURE__ */ o.jsx(Do, { className: "text-background" }) : /* @__PURE__ */ o.jsx(
|
|
9891
|
+
/* @__PURE__ */ o.jsx("button", { onClick: w, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: c ? /* @__PURE__ */ o.jsx(Do, { className: "text-background" }) : /* @__PURE__ */ o.jsx(Zs, { className: "text-background" }) }),
|
|
9897
9892
|
/* @__PURE__ */ o.jsx("button", { onClick: M, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: l ? /* @__PURE__ */ o.jsx(Uo, { className: "text-background" }) : /* @__PURE__ */ o.jsx(Qo, { className: "text-background" }) }),
|
|
9898
|
-
/* @__PURE__ */ o.jsx("button", { onClick: k, className: "bg-red-600 hover:bg-red-700 rounded-full p-2", children: /* @__PURE__ */ o.jsx(
|
|
9893
|
+
/* @__PURE__ */ o.jsx("button", { onClick: k, className: "bg-red-600 hover:bg-red-700 rounded-full p-2", children: /* @__PURE__ */ o.jsx(KV, { className: "text-background", style: { transform: "rotate(135deg)" } }) }),
|
|
9899
9894
|
e || /* @__PURE__ */ o.jsx("div", { className: "p-1.5", children: /* @__PURE__ */ o.jsx("div", { className: "size-7" }) }),
|
|
9900
9895
|
/* @__PURE__ */ o.jsx("button", { onClick: y, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: d ? /* @__PURE__ */ o.jsx(vo, { className: "text-background" }) : /* @__PURE__ */ o.jsx(No, { className: "text-background" }) })
|
|
9901
9896
|
] });
|
|
9902
9897
|
}, Rh = "data:audio/mpeg;base64,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D6RsJdYoZLgO0eSQEIbLAm5rWyaK/fdS7LX/pIPJ5BRXx/PfH1O9f6////////////Uc//5n/kUQAfSzTpKDJbGCyqetHhkUWGPBuUAZklv/84JkGA1dLU4D7lABDvMSzl/NaAHVPzDurONSxElKhkBN+BEQAHvA5g0MYksTRtLJeMRoLSROldb0zVFFFvKNaU2RbSU9NLRHSL4njVFLrNbf/R+///b//lArPSXTzE0UTWefdPf/1cBbUBKgigLhaL6jMGYvDAn6SkL7KJLROsTQhAsktqs29vqVf///5NIiT///6X///////////////k00akABEHKDh4AfmagmgkqqQ5vOhgTJEKBSCobVWeonWuf3cB8wp4/OtVMtfYHUz//zgmQtDJVRVR9o6KsNWxa6NpgF5gz/Czqh+h00WOb1es1L38o5VlxT/80Cpn6kZ2d/QAJ51TmO9+n//+KnyTOZyQIw1GQXUM9cT5JIACkDKEAYPqEVDoGIcePOYHkbXke1jjlgBNiwmruy3qnE6/b/+r/6Itrf//9H///////hHiUgE2B206/gN37FuMOOEBh/QqHBCg7sMrlE3SNVltf9bZT3V2AZc0owhAGgKza5b2rl3ebaJCc1D1zhCLpvk2UsaYgKfv1EABZR//r/gtal//OCZE8MyYtVH23ngw1jFtr+UAXmSz+qf///hYtrTyyKhtW2f9fS///9wkPUgNopDejuAnG27BC0xTBGG4Xw1IuFz0ZQllv6t7/Fw1v6+kr/8XBf/v+v+d9v/////+LxF6JAAZC5FLOAIajr4UL4JSjsUafApPAQDKwtOKdzkNZCB7//TYLW44z7OHDMR4aHIXezcI72NKeG3lzsAoxHlt8qTw1jGaXN2o1UtMFPLH2t6YLJ3+t/Mf1R3PS0UPW1/2//1k8dHposrVus2okQAH3/84Jkbw2RN08fbe2FDoMSyl45lEqA7qZeIB9QUC993NWAxucXdbgMjrfebPlRDV2DwT5utPdxUf/42//r/r///3//6mf////////yWhAACcK3d+EAynIHgRa4sAgYQ51qLxhyBYqDKAqGQ3JIylI3efw7gkNYxnomwUYBTEvMBDLhTNQxOTaXTjMLg57vRGkDiaLszkQpWOk02BUkdBPpdQsQyIpfX9T/zFq9/////1jSUX////6wApaAHcrsKB9j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";
|
|
9903
9898
|
function re(...e) {
|
|
9904
|
-
return Xa(
|
|
9899
|
+
return Xa(Js(e));
|
|
9905
9900
|
}
|
|
9906
9901
|
function Yh(e = 8) {
|
|
9907
9902
|
return (Date.now() / Math.random()).toString(36).replace(".", "").slice(0, e);
|
|
9908
9903
|
}
|
|
9909
|
-
const ro =
|
|
9904
|
+
const ro = Le(
|
|
9910
9905
|
({ id: e, stream: q, mirror: A, className: V, muted: t, ...s }, a) => {
|
|
9911
9906
|
const i = wq(null), c = Cq(() => e ?? `stream-${Yh()}`, [e]), r = typeof t == "boolean" ? t : !0, n = "size-full object-contain", l = A ? "scale-x-[-1]" : "";
|
|
9912
|
-
return
|
|
9907
|
+
return zs(a, () => i.current), $(() => {
|
|
9913
9908
|
if (i.current && q) {
|
|
9914
9909
|
i.current.srcObject = q;
|
|
9915
9910
|
const d = () => {
|
|
@@ -9936,13 +9931,13 @@ const ro = Oe(
|
|
|
9936
9931
|
}
|
|
9937
9932
|
) : null;
|
|
9938
9933
|
}
|
|
9939
|
-
),
|
|
9934
|
+
), Gs = Le(({ muted: e, mirror: q, ...A }, V) => {
|
|
9940
9935
|
const t = typeof e == "boolean" ? e : !0, s = typeof q == "boolean" ? q : !0;
|
|
9941
9936
|
return /* @__PURE__ */ o.jsx(ro, { ref: V, muted: t, mirror: s, ...A });
|
|
9942
|
-
}), Fh =
|
|
9937
|
+
}), Fh = Le(({ muted: e, mirror: q, ...A }, V) => {
|
|
9943
9938
|
const t = typeof e == "boolean" ? e : !1, s = typeof q == "boolean" ? q : !1;
|
|
9944
9939
|
return /* @__PURE__ */ o.jsx(ro, { ref: V, muted: t, mirror: s, ...A });
|
|
9945
|
-
}), Oh =
|
|
9940
|
+
}), Oh = Le(
|
|
9946
9941
|
({
|
|
9947
9942
|
element: e,
|
|
9948
9943
|
pipElement: q,
|
|
@@ -9973,7 +9968,7 @@ const ro = Oe(
|
|
|
9973
9968
|
}, [U]), Q = yq(() => {
|
|
9974
9969
|
q && j((J) => !J);
|
|
9975
9970
|
}, [q]);
|
|
9976
|
-
return
|
|
9971
|
+
return zs(
|
|
9977
9972
|
y,
|
|
9978
9973
|
() => ({
|
|
9979
9974
|
isFullscreen: D,
|
|
@@ -10052,7 +10047,7 @@ const ro = Oe(
|
|
|
10052
10047
|
}, [V, q]), $(() => {
|
|
10053
10048
|
if (V && i) {
|
|
10054
10049
|
const { userID: l } = i, d = l ? A[l] : null, m = Zq(d);
|
|
10055
|
-
|
|
10050
|
+
qA.info(e("RejectedCall", { name: m }));
|
|
10056
10051
|
}
|
|
10057
10052
|
}, [V, i, A, e]), V ? /* @__PURE__ */ o.jsxs("div", { className: "fixed flex flex-col items-center justify-center inset-0 z-101 bg-black/85 size-full p-4", children: [
|
|
10058
10053
|
/* @__PURE__ */ o.jsx("div", { className: "flex-1 flex items-center justify-center h-[calc(100%-6.5em)]", children: /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col items-center justify-center gap-2 bg-gray-800 p-2 rounded-lg my-2 max-h-full max-w-[calc((100vh-6.5em)*2/3)]", children: [
|
|
@@ -10065,14 +10060,14 @@ const ro = Oe(
|
|
|
10065
10060
|
{
|
|
10066
10061
|
element: /* @__PURE__ */ o.jsx(Fh, { id: `${l}-stream`, stream: d }),
|
|
10067
10062
|
pipElement: /* @__PURE__ */ o.jsx(
|
|
10068
|
-
|
|
10063
|
+
Gs,
|
|
10069
10064
|
{
|
|
10070
10065
|
id: "pip-local-stream",
|
|
10071
10066
|
stream: a,
|
|
10072
10067
|
mirror: c === TV.USER
|
|
10073
10068
|
}
|
|
10074
10069
|
),
|
|
10075
|
-
navElement: /* @__PURE__ */ o.jsx(
|
|
10070
|
+
navElement: /* @__PURE__ */ o.jsx(Ns, {})
|
|
10076
10071
|
}
|
|
10077
10072
|
)
|
|
10078
10073
|
},
|
|
@@ -10082,12 +10077,12 @@ const ro = Oe(
|
|
|
10082
10077
|
"div",
|
|
10083
10078
|
{
|
|
10084
10079
|
className: "flex items-center justify-center bg-black rounded-sm overflow-hidden h-[calc(50%-1.5em)]",
|
|
10085
|
-
children: /* @__PURE__ */ o.jsx(
|
|
10080
|
+
children: /* @__PURE__ */ o.jsx(Gs, { id: "main-local-stream", stream: a, mirror: c === TV.USER })
|
|
10086
10081
|
},
|
|
10087
10082
|
"local-stream"
|
|
10088
10083
|
)
|
|
10089
10084
|
] }) }),
|
|
10090
|
-
/* @__PURE__ */ o.jsx(
|
|
10085
|
+
/* @__PURE__ */ o.jsx(Ns, {})
|
|
10091
10086
|
] }) : null;
|
|
10092
10087
|
}, Kh = "data:audio/mpeg;base64,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rJpI//qybELr/4AH24jD5nqAANHQ+P3O0ABc1bE1ubyAAmErqj8y8AGHXJrQ8rb/+bRQoYMFiyafzIlLi+v//g68ykh0EDSh0aqreLDO1Bv//+ZRAXILKg5cs2FhoYmmvLxdF7f///10jyIKLLOFskDQUW+0qp7PKaO////+quokxRUCQ7SE6luJF1bMqrW6XHV3/////+CX2dR+HTmnmfhy31h7eNbLuO9f+P///////LKSbv0csp6Wjllyrbn5RrXcd///r+73//////////+7N+xrG3nU3etnP/aozAyB5BmBnBmD4XDYXDYbBYcdihmk/xb9rder/jBiiBfkQgf4WwSNTOf5KBxForYML/jjPk/jwlgxW7/8sBK14vReIU72uP/+r2F8qHjff1hW3///GaVAxq1yUEGtN+uP///AlnjvIcWd5jcGurfOP///+3QXN+wVcXN4+i/ec6tj///////s8OBM6fwH0z+WFEiP60Vv7qhMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//qybJ0CAA/wAABpBwAACAAADSDgAAEAAAGkAAAAIAAANIAAAARMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVMQU1FMy45OS41VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV", zh = () => {
|
|
10093
10088
|
const { t: e } = dq(), { users: q, fetchUserById: A, acceptCall: V, rejectCall: t, incomingCall: s, incomingCallStopData: a, resetSessionData: i } = pq(), { sendAcceptCall: c, sendRejectCall: r } = Ga(), n = $e(Kh), l = e("IncomingCall"), [d, m] = Bq(l), w = () => {
|
|
@@ -10110,7 +10105,7 @@ const ro = Oe(
|
|
|
10110
10105
|
}, [e, s, l, k]), U = yq(async () => {
|
|
10111
10106
|
if (a) {
|
|
10112
10107
|
const { userID: D } = a, b = await k(D);
|
|
10113
|
-
|
|
10108
|
+
qA.info(e("MissedCall", { name: b })), i(Te.ON_STOP_CALLING);
|
|
10114
10109
|
}
|
|
10115
10110
|
}, [e, a, k, i]);
|
|
10116
10111
|
return $(() => {
|
|
@@ -10129,7 +10124,7 @@ const ro = Oe(
|
|
|
10129
10124
|
className: "flex flex-row gap-2 items-center bg-green-500 hover:bg-green-600 px-3 py-2 rounded-full text-background",
|
|
10130
10125
|
children: [
|
|
10131
10126
|
/* @__PURE__ */ o.jsx("span", { className: "font-bold", children: e("Accept") }),
|
|
10132
|
-
/* @__PURE__ */ o.jsx(
|
|
10127
|
+
/* @__PURE__ */ o.jsx(KV, { className: "size-5" })
|
|
10133
10128
|
]
|
|
10134
10129
|
}
|
|
10135
10130
|
),
|
|
@@ -10150,7 +10145,7 @@ const ro = Oe(
|
|
|
10150
10145
|
const { activeCall: e, incomingCall: q } = pq();
|
|
10151
10146
|
return e ? /* @__PURE__ */ o.jsx(Lh, {}) : q ? /* @__PURE__ */ o.jsx(zh, {}) : null;
|
|
10152
10147
|
}, Ph = '/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-950:oklch(28.2% .091 267.935);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25em;--container-sm:24rem;--container-lg:32em;--text-xs:.75em;--text-xs--line-height:calc(1/.75);--text-sm:.875em;--text-sm--line-height:calc(1.25/.875);--text-base:1em;--text-base--line-height: 1.5 ;--text-lg:1.125em;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-6xl:3.75em;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--radius-xs:.125em;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--text-2xl:1.5em;--radius:.625em;--radius-2xl:1em}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}button:not(:disabled),[role=button]:not(:disabled),[data-slot=button]:not(:disabled){cursor:pointer}@supports ((-moz-appearance:none)){*{scrollbar-color:initial;scrollbar-width:initial}}}@layer components;@layer utilities{.\\@container\\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-\\[calc\\(100\\%-1em\\)\\]{right:calc(100% - 1em)}.-bottom-0\\.5{bottom:calc(var(--spacing)*-.5)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-1{bottom:calc(var(--spacing)*1)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-13{bottom:calc(var(--spacing)*13)}.bottom-16{bottom:calc(var(--spacing)*16)}.left-0{left:calc(var(--spacing)*0)}.left-1{left:calc(var(--spacing)*1)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-5{left:calc(var(--spacing)*5)}.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-25{z-index:25}.z-49{z-index:49}.z-50{z-index:50}.z-101{z-index:101}.z-\\[50\\]{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.float-left{float:left}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.m-6{margin:calc(var(--spacing)*6)}.m-8{margin:calc(var(--spacing)*8)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-7\\.5{margin-block:calc(var(--spacing)*7.5)}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-12{margin-right:calc(var(--spacing)*12)}.\\!mb-0{margin-bottom:calc(var(--spacing)*0)!important}.\\!mb-1{margin-bottom:calc(var(--spacing)*1)!important}.mb-0\\.25{margin-bottom:calc(var(--spacing)*.25)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-4\\.5{margin-bottom:calc(var(--spacing)*4.5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-9{margin-left:calc(var(--spacing)*9)}.ml-12{margin-left:calc(var(--spacing)*12)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flex\\!{display:flex!important}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.size-13{width:calc(var(--spacing)*13);height:calc(var(--spacing)*13)}.size-16{width:calc(var(--spacing)*16);height:calc(var(--spacing)*16)}.size-\\[50px\\]{width:50px;height:50px}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.h-0{height:calc(var(--spacing)*0)}.h-2\\/5{height:40%}.h-3\\/5{height:60%}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-13{height:calc(var(--spacing)*13)}.h-\\[1\\.15em\\]{height:1.15em}.h-\\[33\\%\\]{height:33%}.h-\\[150px\\]{height:150px}.h-\\[640px\\]{height:640px}.h-\\[768px\\]{height:768px}.h-\\[960px\\]{height:960px}.h-\\[calc\\(50\\%-1\\.5em\\)\\]{height:calc(50% - 1.5em)}.h-\\[calc\\(100\\%-1px\\)\\]{height:calc(100% - 1px)}.h-\\[calc\\(100\\%-4\\.25em\\)\\]{height:calc(100% - 4.25em)}.h-\\[calc\\(100\\%-6\\.5em\\)\\]{height:calc(100% - 6.5em)}.h-\\[calc\\(100\\%-7\\.25em\\)\\]{height:calc(100% - 7.25em)}.h-full{height:100%}.h-px{height:1px}.max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-1\\/4{max-height:25%}.max-h-5{max-height:calc(var(--spacing)*5)}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-\\[30px\\]{max-height:30px}.max-h-\\[50vh\\]{max-height:50vh}.max-h-\\[360px\\]{max-height:360px}.max-h-\\[calc\\(100\\%-5em\\)\\]{max-height:calc(100% - 5em)}.max-h-full{max-height:100%}.min-h-5{min-height:calc(var(--spacing)*5)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-\\[15px\\]{min-height:15px}.w-2\\/5{width:40%}.w-3\\/5{width:60%}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-30{width:calc(var(--spacing)*30)}.w-40{width:calc(var(--spacing)*40)}.w-50{width:calc(var(--spacing)*50)}.w-60{width:calc(var(--spacing)*60)}.w-\\[50\\%\\]{width:50%}.w-\\[100px\\]{width:100px}.w-\\[220px\\]{width:220px}.w-\\[360px\\]{width:360px}.w-\\[540px\\]{width:540px}.w-\\[1024px\\]{width:1024px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-1\\/4{max-width:25%}.max-w-60{max-width:calc(var(--spacing)*60)}.max-w-72{max-width:calc(var(--spacing)*72)}.max-w-120{max-width:calc(var(--spacing)*120)}.max-w-\\[360px\\]{max-width:360px}.max-w-\\[calc\\(\\(100vh-6\\.5em\\)\\*2\\/3\\)\\]{max-width:calc(66.6667vh - 4.33333em)}.max-w-\\[calc\\(100\\%-1\\.5em\\)\\]{max-width:calc(100% - 1.5em)}.max-w-\\[calc\\(100\\%-2em\\)\\]{max-width:calc(100% - 2em)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-6{min-width:calc(var(--spacing)*6)}.min-w-42{min-width:calc(var(--spacing)*42)}.min-w-\\[8em\\]{min-width:8em}.min-w-\\[24px\\]{min-width:24px}.min-w-\\[calc\\(100\\%-360px\\)\\]{min-width:calc(100% - 360px)}.flex-1{flex:1}.flex-\\[0_0_70\\%\\]{flex:0 0 70%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-x-\\[-1\\]{--tw-scale-x:-1;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\\[auto_auto\\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing)*4)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[4px\\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b,.border-b-1{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-green-600{border-color:var(--color-green-600)}.border-input{border-color:var(--input)}.border-orange-500{border-color:var(--color-orange-500)}.border-red-600{border-color:var(--color-red-600)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-yellow-500{border-color:var(--color-yellow-500)}.border-l-blue-500{border-left-color:var(--color-blue-500)}.bg-background{background-color:var(--background)}.bg-black{background-color:var(--color-black)}.bg-black\\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.bg-black\\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\\/85{background-color:#000000d9}@supports (color:color-mix(in lab,red,red)){.bg-black\\/85{background-color:color-mix(in oklab,var(--color-black)85%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-muted{background-color:var(--muted)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-700{background-color:var(--color-red-700)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-400{background-color:var(--color-yellow-400)}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab,red,red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-700{--tw-gradient-from:var(--color-blue-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-current{fill:currentColor}.fill-primary{fill:var(--primary)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-\\[3px\\]{padding:3px}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\\.5{padding-inline:calc(var(--spacing)*3.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-2\\.5{padding-top:calc(var(--spacing)*2.5)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pl-0\\!{padding-left:calc(var(--spacing)*0)!important}.pl-0\\.5{padding-left:calc(var(--spacing)*.5)}.pl-2\\.5{padding-left:calc(var(--spacing)*2.5)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-foreground{color:var(--foreground)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-white\\/25{--tw-shadow-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.shadow-white\\/25{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-white)25%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.running{animation-play-state:running}.group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\\:bg-blue-300 ::selection{background-color:var(--color-blue-300)}.selection\\:bg-blue-300::selection{background-color:var(--color-blue-300)}.selection\\:bg-primary ::selection{background-color:var(--primary)}.selection\\:bg-primary::selection{background-color:var(--primary)}.selection\\:text-blue-950 ::selection{color:var(--color-blue-950)}.selection\\:text-blue-950::selection{color:var(--color-blue-950)}.selection\\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last-of-type\\:border-b:last-of-type{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media(hover:hover){.hover\\:bg-accent:hover{background-color:var(--accent)}.hover\\:bg-black\\/80:hover{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-black\\/80:hover{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\\:bg-gray-500:hover{background-color:var(--color-gray-500)}.hover\\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-blue-700:hover{color:var(--color-blue-700)}.hover\\:text-gray-600:hover{color:var(--color-gray-600)}.hover\\:text-red-600:hover{color:var(--color-red-600)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}.hover\\:drop-shadow-\\[0_0_5px_\\#3b82f6aa\\]:hover{--tw-drop-shadow-size:drop-shadow(0 0 5px var(--tw-drop-shadow-color,#3b82f6aa));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:bg-accent:focus{background-color:var(--accent)}.focus\\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-ring:focus-visible{outline-color:var(--ring)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-data-\\[slot\\=card-action\\]\\:grid-cols-\\[1fr_auto\\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[inset\\]\\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\\[state\\=active\\]\\:bg-background[data-state=active]{background-color:var(--background)}.data-\\[state\\=active\\]\\:bg-blue-200[data-state=active]{background-color:var(--color-blue-200)}.data-\\[state\\=active\\]\\:shadow-sm[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=checked\\]\\:border-blue-500[data-state=checked]{border-color:var(--color-blue-500)}.data-\\[state\\=checked\\]\\:bg-blue-500[data-state=checked]{background-color:var(--color-blue-500)}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:bg-blue-300[data-state=unchecked]{background-color:var(--color-blue-300)}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}@media(min-width:40rem){.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media(min-width:48rem){.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:data-\\[state\\=active\\]\\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\\:data-\\[state\\=active\\]\\:bg-input\\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\\:data-\\[state\\=active\\]\\:bg-input\\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\\:data-\\[state\\=active\\]\\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\\:data-\\[state\\=checked\\]\\:bg-blue-500:is(.dark *)[data-state=checked]{background-color:var(--color-blue-500)}.dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\\:data-\\[state\\=unchecked\\]\\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--foreground)}.dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80:is(.dark *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input)80%,transparent)}}.dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=size-\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\:not\\(\\[class\\*\\=text-\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\\[\\.border-b\\]\\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\\[\\.border-t\\]\\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}:is(.data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}@media(hover:hover){a.\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:var(--accent)}a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:color-mix(in oklab,var(--secondary)90%,transparent)}}a.\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}}*,:after,:before,::backdrop{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*,:after,:before,::backdrop{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}*,:after,:before,::backdrop{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}:is(*) *{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;line-height:inherit;color:inherit}:is(:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll)::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}:is(:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll)::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}:is(:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll)::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}@supports ((-moz-appearance:none)){:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,initial)var(--scrollbar-track,initial)}}:is(:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll)::-webkit-scrollbar{width:8px;height:8px;display:block}:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll{--scrollbar-thumb:oklch(87.2% .01 258.338);--scrollbar-thumb-radius:9999px;--scrollbar-track:oklch(96.7% .003 264.542);--scrollbar-track-radius:9999px}:is(:is(*) .overflow-auto,:is(*) .overflow-x-auto,:is(*) .overflow-y-auto,:is(*) .overflow-scroll,:is(*) .overflow-x-scroll,:is(*) .overflow-y-scroll)::-webkit-scrollbar-thumb:hover{--scrollbar-thumb:oklch(70.7% .022 261.325)}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:host{--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(62.3% .214 259.815);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.1% .005 285.823);--sidebar-primary:oklch(21% .006 285.885);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(96.7% .001 286.375);--sidebar-accent-foreground:oklch(21% .006 285.885);--sidebar-border:oklch(92% .004 286.32);--sidebar-ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% 1 213.938);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(21% .006 285.885);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(27.4% .006 286.033);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.2% .016 285.938)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}', Wh = ({ children: e }) => {
|
|
10153
|
-
const q =
|
|
10148
|
+
const q = he((a) => a.setShadowRoot), A = wq(null), V = wq(null), [t, s] = Bq(null);
|
|
10154
10149
|
return $(() => {
|
|
10155
10150
|
if (V.current && !A.current) {
|
|
10156
10151
|
const a = new CSSStyleSheet();
|
|
@@ -10165,7 +10160,7 @@ const ro = Oe(
|
|
|
10165
10160
|
}, Zh = ({ children: e, embedded: q = !1, style: A = {} }) => {
|
|
10166
10161
|
const [V, t, s] = Fq(
|
|
10167
10162
|
gq((d) => [d.opened, d.splitView, d.singleView])
|
|
10168
|
-
), a = Cq(() => window?.matchMedia("(pointer: coarse)").matches ?? !1, []), i = Cq(() => ({ fontSize:
|
|
10163
|
+
), a = Cq(() => window?.matchMedia("(pointer: coarse)").matches ?? !1, []), i = Cq(() => ({ fontSize: wt, fontWeight: Mt, ...A }), [A]), c = Cq(() => aq(
|
|
10169
10164
|
"overflow-hidden flex flex-col items-center justify-center text-center bg-gray-800 text-black border border-gray-300",
|
|
10170
10165
|
q ? "relative" : V ? "fixed" : "hidden",
|
|
10171
10166
|
q ? "" : "bottom-16 right-3",
|
|
@@ -10195,8 +10190,8 @@ const ro = Oe(
|
|
|
10195
10190
|
[${ee.WRAPPER}='size-full'] {
|
|
10196
10191
|
width: 100%;
|
|
10197
10192
|
height: 100%;
|
|
10198
|
-
font-size: ${A.fontSize ??
|
|
10199
|
-
font-weight: ${A.fontWeight ??
|
|
10193
|
+
font-size: ${A.fontSize ?? wt};
|
|
10194
|
+
font-weight: ${A.fontWeight ?? Mt};
|
|
10200
10195
|
}
|
|
10201
10196
|
`), document.adoptedStyleSheets = [...document.adoptedStyleSheets, d];
|
|
10202
10197
|
}, []), /* @__PURE__ */ o.jsx("div", { onMouseEnter: n, onMouseLeave: l, className: c, style: i, children: e });
|
|
@@ -10208,11 +10203,11 @@ function Hh(e) {
|
|
|
10208
10203
|
return mq({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M312 372c-7.7 0-14 6.3-14 14 0 9.9-8.1 18-18 18H94c-9.9 0-18-8.1-18-18V126c0-9.9 8.1-18 18-18h186c9.9 0 18 8.1 18 18 0 7.7 6.3 14 14 14s14-6.3 14-14c0-25.4-20.6-46-46-46H94c-25.4 0-46 20.6-46 46v260c0 25.4 20.6 46 46 46h186c25.4 0 46-20.6 46-46 0-7.7-6.3-14-14-14z" }, child: [] }, { tag: "path", attr: { d: "M372.9 158.1c-2.6-2.6-6.1-4.1-9.9-4.1-3.7 0-7.3 1.4-9.9 4.1-5.5 5.5-5.5 14.3 0 19.8l65.2 64.2H162c-7.7 0-14 6.3-14 14s6.3 14 14 14h256.6L355 334.2c-5.4 5.4-5.4 14.3 0 19.8l.1.1c2.7 2.5 6.2 3.9 9.8 3.9 3.8 0 7.3-1.4 9.9-4.1l82.6-82.4c4.3-4.3 6.5-9.3 6.5-14.7 0-5.3-2.3-10.3-6.5-14.5l-84.5-84.2z" }, child: [] }] })(e);
|
|
10209
10204
|
}
|
|
10210
10205
|
function Xh({ className: e, ...q }) {
|
|
10211
|
-
return /* @__PURE__ */ o.jsx(
|
|
10206
|
+
return /* @__PURE__ */ o.jsx(zV.Root, { "data-slot": "avatar", className: aq(eq.avatar, e), ...q });
|
|
10212
10207
|
}
|
|
10213
10208
|
function _h({ className: e, ...q }) {
|
|
10214
10209
|
return /* @__PURE__ */ o.jsx(
|
|
10215
|
-
|
|
10210
|
+
zV.Image,
|
|
10216
10211
|
{
|
|
10217
10212
|
"data-slot": "avatar-image",
|
|
10218
10213
|
className: aq(eq.avatarImage, e),
|
|
@@ -10222,7 +10217,7 @@ function _h({ className: e, ...q }) {
|
|
|
10222
10217
|
}
|
|
10223
10218
|
function $h({ className: e, ...q }) {
|
|
10224
10219
|
return /* @__PURE__ */ o.jsx(
|
|
10225
|
-
|
|
10220
|
+
zV.Fallback,
|
|
10226
10221
|
{
|
|
10227
10222
|
"data-slot": "avatar-fallback",
|
|
10228
10223
|
className: aq(eq.avatarFallback, e),
|
|
@@ -10266,7 +10261,7 @@ const ao = ({ status: e }) => {
|
|
|
10266
10261
|
return null;
|
|
10267
10262
|
}
|
|
10268
10263
|
}, oo = ({ imageUIDOrUrl: e, name: q, className: A = "" }) => {
|
|
10269
|
-
const V =
|
|
10264
|
+
const V = XV(e), t = q ? q.slice(0, 2).toUpperCase() : "NA", s = `${V}-${q}`;
|
|
10270
10265
|
return /* @__PURE__ */ o.jsxs(Xh, { className: A, children: [
|
|
10271
10266
|
/* @__PURE__ */ o.jsx(_h, { src: V }, s),
|
|
10272
10267
|
/* @__PURE__ */ o.jsx($h, { children: t })
|
|
@@ -10279,8 +10274,8 @@ const ao = ({ status: e }) => {
|
|
|
10279
10274
|
function qV({ ...e }) {
|
|
10280
10275
|
return /* @__PURE__ */ o.jsx(EA.Root, { "data-slot": "dropdown-menu", ...e });
|
|
10281
10276
|
}
|
|
10282
|
-
function
|
|
10283
|
-
return e.container =
|
|
10277
|
+
function nt({ ...e }) {
|
|
10278
|
+
return e.container = he((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(EA.Portal, { "data-slot": "dropdown-menu-portal", ...e });
|
|
10284
10279
|
}
|
|
10285
10280
|
function AV({ ...e }) {
|
|
10286
10281
|
return /* @__PURE__ */ o.jsx(EA.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
|
|
@@ -10290,7 +10285,7 @@ function eV({
|
|
|
10290
10285
|
sideOffset: q = 4,
|
|
10291
10286
|
...A
|
|
10292
10287
|
}) {
|
|
10293
|
-
return /* @__PURE__ */ o.jsx(
|
|
10288
|
+
return /* @__PURE__ */ o.jsx(nt, { children: /* @__PURE__ */ o.jsx(
|
|
10294
10289
|
EA.Content,
|
|
10295
10290
|
{
|
|
10296
10291
|
"data-slot": "dropdown-menu-content",
|
|
@@ -10365,11 +10360,11 @@ const ip = "data:audio/mpeg;base64,//uQZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAA
|
|
|
10365
10360
|
return $(() => {
|
|
10366
10361
|
(!V || t || s) && e.stop();
|
|
10367
10362
|
}, [V, t, s, e]), /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row", children: [
|
|
10368
|
-
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: c, children: /* @__PURE__ */ o.jsx(
|
|
10369
|
-
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: i, children: /* @__PURE__ */ o.jsx(
|
|
10363
|
+
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: c, children: /* @__PURE__ */ o.jsx(Zs, { className: "text-foreground hover:text-blue-700" }) }),
|
|
10364
|
+
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: i, children: /* @__PURE__ */ o.jsx(KV, { className: "text-foreground hover:text-blue-700" }) })
|
|
10370
10365
|
] });
|
|
10371
10366
|
}, lp = () => {
|
|
10372
|
-
const { t: e } = dq(), { selectedDialog: q, leaveGroupChat: A } = pq(), V = Uq((a) => a.enableCalls), t = Fq((a) => a.singleView), s = q?.type ===
|
|
10367
|
+
const { t: e } = dq(), { selectedDialog: q, leaveGroupChat: A } = pq(), V = Uq((a) => a.enableCalls), t = Fq((a) => a.singleView), s = q?.type === ce.PRIVATE;
|
|
10373
10368
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row", children: [
|
|
10374
10369
|
V && s && /* @__PURE__ */ o.jsx(cp, {}),
|
|
10375
10370
|
!t && /* @__PURE__ */ o.jsxs(qV, { modal: !1, children: [
|
|
@@ -10378,9 +10373,9 @@ const ip = "data:audio/mpeg;base64,//uQZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAA
|
|
|
10378
10373
|
] })
|
|
10379
10374
|
] });
|
|
10380
10375
|
}, dp = () => {
|
|
10381
|
-
const { t: e } = dq(), q =
|
|
10376
|
+
const { t: e } = dq(), q = ue((U) => U.showProfile), [A, V] = Uq(
|
|
10382
10377
|
gq((U) => [U.enableUserStatuses, U.enableLastSeen])
|
|
10383
|
-
), t = Fq((U) => U.singleView), { users: s, selectedDialog: a, lastActivity: i, getDialogOpponentId: c, unselectDialog: r } = pq(), n = c(), l = Ra(a), d = V && n && i[n], m = d === "Online", w = d === "Online" ? e("Online") : d, M = l || w, k = A && n && m ?
|
|
10378
|
+
), t = Fq((U) => U.singleView), { users: s, selectedDialog: a, lastActivity: i, getDialogOpponentId: c, unselectDialog: r } = pq(), n = c(), l = Ra(a), d = V && n && i[n], m = d === "Online", w = d === "Online" ? e("Online") : d, M = l || w, k = A && n && m ? le(s[n]) : null, y = () => {
|
|
10384
10379
|
q(n);
|
|
10385
10380
|
};
|
|
10386
10381
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex justify-between relative items-center", children: [
|
|
@@ -10425,7 +10420,7 @@ const ip = "data:audio/mpeg;base64,//uQZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAA
|
|
|
10425
10420
|
const [a] = s.currentTarget.files || [];
|
|
10426
10421
|
if (!a)
|
|
10427
10422
|
return;
|
|
10428
|
-
V(a) ? e([a]) :
|
|
10423
|
+
V(a) ? e([a]) : qA.warning(q("FileTypeNotSupported")), s.target.value = "";
|
|
10429
10424
|
};
|
|
10430
10425
|
return typeof A != "string" ? null : /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
10431
10426
|
/* @__PURE__ */ o.jsx(
|
|
@@ -10467,7 +10462,7 @@ function kp(e) {
|
|
|
10467
10462
|
return mq({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M256 48C141.13 48 48 141.13 48 256c0 114.69 93.32 208 208 208 114.86 0 208-93.14 208-208 0-114.69-93.31-208-208-208zm108 240H244a4 4 0 0 1-4-4V116a4 4 0 0 1 4-4h24a4 4 0 0 1 4 4v140h92a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4z" }, child: [] }] })(e);
|
|
10468
10463
|
}
|
|
10469
10464
|
const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
10470
|
-
const { i18n: t, t: s } = dq(), a =
|
|
10465
|
+
const { i18n: t, t: s } = dq(), a = qa[t.language], i = wq(""), { users: c, messages: r, selectedDialog: n, currentUserId: l, addTempMessage: d, updateTempMessage: m, generateTempMessageId: w } = pq(), M = n?._id ?? "", k = Cq(() => r[M] ?? [], [r, M]), y = e === mA.GET_SUMMARY, U = yq(
|
|
10471
10466
|
(b) => q(b ? mA.GET_SUMMARY : mA.DEFAULT),
|
|
10472
10467
|
[q]
|
|
10473
10468
|
), D = yq(
|
|
@@ -10496,22 +10491,22 @@ const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10496
10491
|
}
|
|
10497
10492
|
G.forEach(({ sender_id: J, message: F }) => {
|
|
10498
10493
|
const nq = Zq(c[J]);
|
|
10499
|
-
Q += `- ${J === l ? `${nq}${
|
|
10494
|
+
Q += `- ${J === l ? `${nq}${ft}` : nq}: ${F}
|
|
10500
10495
|
`;
|
|
10501
10496
|
}), i.current = w(), d(i.current, n, {
|
|
10502
|
-
tag:
|
|
10497
|
+
tag: WV.AI_TEXT_SUMMARY,
|
|
10503
10498
|
title: s("AI.SummaryMessageTitle"),
|
|
10504
10499
|
body: "...",
|
|
10505
10500
|
loading: !0,
|
|
10506
10501
|
filter: b
|
|
10507
10502
|
});
|
|
10508
10503
|
try {
|
|
10509
|
-
const J = await
|
|
10504
|
+
const J = await Hs({
|
|
10510
10505
|
model: V,
|
|
10511
10506
|
prompt: `
|
|
10512
10507
|
You are a helpful assistant. Please provide a concise summary of the following chat messages in ${a}.
|
|
10513
10508
|
Use bullet points or a short paragraph. Focus on meaningful conversation and skip system messages or irrelevant technical info.
|
|
10514
|
-
Each line is a message from a participant. If a username ends with "${
|
|
10509
|
+
Each line is a message from a participant. If a username ends with "${ft}", it means that message was sent by ME (the user requesting this summary). In this summary, I will address you informally, using "you" in a familiar way.
|
|
10515
10510
|
If a message includes attachments (serialized as JSON), try to understand what they are and include relevant info in the summary — for example, if it contains an image, video, or file name.
|
|
10516
10511
|
Messages: ${Q}
|
|
10517
10512
|
`
|
|
@@ -10547,7 +10542,7 @@ const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10547
10542
|
/* @__PURE__ */ o.jsx(fp, { className: "text-gray-700 size-6" }),
|
|
10548
10543
|
s("AI.GetSummary")
|
|
10549
10544
|
] }),
|
|
10550
|
-
/* @__PURE__ */ o.jsx(
|
|
10545
|
+
/* @__PURE__ */ o.jsx(nt, { children: /* @__PURE__ */ o.jsxs(co, { children: [
|
|
10551
10546
|
/* @__PURE__ */ o.jsxs(
|
|
10552
10547
|
tA,
|
|
10553
10548
|
{
|
|
@@ -10592,18 +10587,18 @@ const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10592
10587
|
changeMessage: s,
|
|
10593
10588
|
setProcessing: a
|
|
10594
10589
|
}) => {
|
|
10595
|
-
const { i18n: i, t: c } = dq(), r =
|
|
10590
|
+
const { i18n: i, t: c } = dq(), r = qa[i.language], n = e === mA.CHANGE_TONE, l = yq(
|
|
10596
10591
|
(m) => q(m ? mA.CHANGE_TONE : mA.DEFAULT),
|
|
10597
10592
|
[q]
|
|
10598
10593
|
), d = yq(
|
|
10599
10594
|
async (m) => {
|
|
10600
10595
|
if (!t) {
|
|
10601
|
-
|
|
10596
|
+
qA.info(c("AI.EmptyMessage"));
|
|
10602
10597
|
return;
|
|
10603
10598
|
}
|
|
10604
10599
|
a(!0);
|
|
10605
10600
|
try {
|
|
10606
|
-
const w = await
|
|
10601
|
+
const w = await Hs({
|
|
10607
10602
|
model: V,
|
|
10608
10603
|
prompt: `
|
|
10609
10604
|
Rewrite the text "${t}" in ${m} tone.
|
|
@@ -10627,12 +10622,12 @@ const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10627
10622
|
/* @__PURE__ */ o.jsx(Cp, { className: "text-gray-700 size-6" }),
|
|
10628
10623
|
c("AI.MessageTone")
|
|
10629
10624
|
] }),
|
|
10630
|
-
/* @__PURE__ */ o.jsx(
|
|
10625
|
+
/* @__PURE__ */ o.jsx(nt, { children: /* @__PURE__ */ o.jsxs(co, { children: [
|
|
10631
10626
|
/* @__PURE__ */ o.jsxs(
|
|
10632
10627
|
tA,
|
|
10633
10628
|
{
|
|
10634
10629
|
className: "flex items-center gap-2 cursor-pointer",
|
|
10635
|
-
onClick: () => d(
|
|
10630
|
+
onClick: () => d(De.POSITIVE),
|
|
10636
10631
|
children: [
|
|
10637
10632
|
/* @__PURE__ */ o.jsx(zA, { className: "text-gray-700 size-4" }),
|
|
10638
10633
|
c("AI.positive")
|
|
@@ -10643,7 +10638,7 @@ const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10643
10638
|
tA,
|
|
10644
10639
|
{
|
|
10645
10640
|
className: "flex items-center gap-2 cursor-pointer",
|
|
10646
|
-
onClick: () => d(
|
|
10641
|
+
onClick: () => d(De.NEGATIVE),
|
|
10647
10642
|
children: [
|
|
10648
10643
|
/* @__PURE__ */ o.jsx(zA, { className: "text-gray-700 size-4" }),
|
|
10649
10644
|
c("AI.negative")
|
|
@@ -10654,7 +10649,7 @@ const Ip = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10654
10649
|
tA,
|
|
10655
10650
|
{
|
|
10656
10651
|
className: "flex items-center gap-2 cursor-pointer",
|
|
10657
|
-
onClick: () => d(
|
|
10652
|
+
onClick: () => d(De.CRINGE),
|
|
10658
10653
|
children: [
|
|
10659
10654
|
/* @__PURE__ */ o.jsx(zA, { className: "text-gray-700 size-4" }),
|
|
10660
10655
|
c("AI.cringe")
|
|
@@ -10699,7 +10694,7 @@ function xA({ className: e, ...q }) {
|
|
|
10699
10694
|
return /* @__PURE__ */ o.jsx("div", { "data-slot": "skeleton", className: aq(eq.skeleton, e), ...q });
|
|
10700
10695
|
}
|
|
10701
10696
|
const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A }) => {
|
|
10702
|
-
const { t: V } = dq(), [t, s, a] =
|
|
10697
|
+
const { t: V } = dq(), [t, s, a] = Ze(
|
|
10703
10698
|
gq((F) => [F.draftMessages, F.upsertDraftMessage, F.deleteDraftMessage])
|
|
10704
10699
|
), { selectedDialog: i, sendTypingStatus: c } = pq(), r = i?._id ?? "", n = t[r] ?? "", [l, d] = Mq.useState(!1), [m, w] = Mq.useState(""), M = wq(null), k = wq(void 0), y = wq(!1), U = (F = "") => {
|
|
10705
10700
|
w(F), M.current?.focus();
|
|
@@ -10778,15 +10773,15 @@ const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
10778
10773
|
]
|
|
10779
10774
|
}
|
|
10780
10775
|
);
|
|
10781
|
-
}, xp = Mq.memo(yp),
|
|
10776
|
+
}, xp = Mq.memo(yp), LV = 360, ye = `${LV}px`, Tp = ({ attachment: e, uploading: q, stickToBottom: A = () => {
|
|
10782
10777
|
} }) => {
|
|
10783
10778
|
const { type: V, uid: t, url: s } = e, [a, i] = Cq(() => V?.split("/") ?? ["", ""], [V]), c = "m-6 size-16 text-gray-700 hover:text-red-600 transition-color duration-300", r = t ? t.length > 20 ? `${t?.slice(0, 9)}...${t?.slice(-8)}` : t : "unknown file", n = `${a}${t?.replace(/:/g, "")}`, [l, d] = Mq.useState({
|
|
10784
|
-
maxHeight:
|
|
10785
|
-
maxWidth:
|
|
10779
|
+
maxHeight: ye,
|
|
10780
|
+
maxWidth: ye
|
|
10786
10781
|
}), m = wq(null), w = () => {
|
|
10787
10782
|
const M = m.current;
|
|
10788
10783
|
if (M) {
|
|
10789
|
-
const { videoWidth: k, videoHeight: y } = M, U = k / y || 1, D = U < 1 ?
|
|
10784
|
+
const { videoWidth: k, videoHeight: y } = M, U = k / y || 1, D = U < 1 ? ye : `${Math.round(LV / U)}px`, b = U < 1 ? `${Math.round(LV * U)}px` : ye;
|
|
10790
10785
|
d({ height: D, width: b, maxHeight: D, maxWidth: b }), A(!1);
|
|
10791
10786
|
}
|
|
10792
10787
|
};
|
|
@@ -10823,27 +10818,27 @@ const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
10823
10818
|
rel: "noopener noreferrer",
|
|
10824
10819
|
className: "text-blue-500 underline"
|
|
10825
10820
|
};
|
|
10826
|
-
return /* @__PURE__ */ o.jsx(
|
|
10821
|
+
return /* @__PURE__ */ o.jsx(_s, { options: A, children: /* @__PURE__ */ o.jsx("p", { className: "break-words text-base", children: e }) }, `message:${q}`);
|
|
10827
10822
|
}, Up = ({ status: e }) => {
|
|
10828
10823
|
let q = null;
|
|
10829
10824
|
switch (e) {
|
|
10830
|
-
case
|
|
10825
|
+
case we.WAIT:
|
|
10831
10826
|
q = /* @__PURE__ */ o.jsx(kp, { className: "text-gray-500 size-4" });
|
|
10832
10827
|
break;
|
|
10833
|
-
case
|
|
10828
|
+
case we.SENT:
|
|
10834
10829
|
q = /* @__PURE__ */ o.jsx(wp, { className: "text-gray-500 size-4" });
|
|
10835
10830
|
break;
|
|
10836
|
-
case
|
|
10831
|
+
case we.READ:
|
|
10837
10832
|
q = /* @__PURE__ */ o.jsx(mp, { className: "text-gray-500 size-4" });
|
|
10838
10833
|
break;
|
|
10839
|
-
case
|
|
10834
|
+
case we.LOST:
|
|
10840
10835
|
q = /* @__PURE__ */ o.jsx(pp, { className: "text-red-500 size-4" });
|
|
10841
10836
|
break;
|
|
10842
10837
|
}
|
|
10843
10838
|
return q;
|
|
10844
10839
|
}, Qp = ({ message: e, id: q, stickToBottom: A = () => {
|
|
10845
10840
|
} }) => {
|
|
10846
|
-
const [V, t, s, a] =
|
|
10841
|
+
const [V, t, s, a] = st(
|
|
10847
10842
|
gq((r) => [r.addUrls, r.matchUrlsFromMessage, r.urlPreviews, r.fetchedCount])
|
|
10848
10843
|
), i = t(e), c = wq(a);
|
|
10849
10844
|
return $(() => {
|
|
@@ -10897,7 +10892,7 @@ const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
10897
10892
|
/* @__PURE__ */ o.jsx(xA, { className: "h-4 w-50" }),
|
|
10898
10893
|
/* @__PURE__ */ o.jsx(xA, { className: "h-4 w-40" }),
|
|
10899
10894
|
/* @__PURE__ */ o.jsx(xA, { className: "h-4 w-30" })
|
|
10900
|
-
] }) : /* @__PURE__ */ o.jsx(
|
|
10895
|
+
] }) : /* @__PURE__ */ o.jsx(_s, { options: t, children: /* @__PURE__ */ o.jsx("p", { className: "break-words", children: q }) }, `message:${e}`);
|
|
10901
10896
|
}, Np = ({
|
|
10902
10897
|
message: e,
|
|
10903
10898
|
senderName: q,
|
|
@@ -10910,7 +10905,7 @@ const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
10910
10905
|
sentTime: c,
|
|
10911
10906
|
stickToBottom: r
|
|
10912
10907
|
}) => {
|
|
10913
|
-
const { readMessage: n, isConnected: l } = pq(), [d, m] = Wo(), w = e.custom && e.tag ===
|
|
10908
|
+
const { readMessage: n, isConnected: l } = pq(), [d, m] = Wo(), w = e.custom && e.tag === WV.AI_TEXT_SUMMARY, M = e.attachments?.[0], k = (y) => {
|
|
10914
10909
|
r?.(e._id, y);
|
|
10915
10910
|
};
|
|
10916
10911
|
return $(() => {
|
|
@@ -10959,7 +10954,7 @@ const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
10959
10954
|
);
|
|
10960
10955
|
}, Gp = ({ sendMessage: e = () => {
|
|
10961
10956
|
} }) => {
|
|
10962
|
-
const q =
|
|
10957
|
+
const q = _V((s) => s.quickActions), { title: A, description: V, actions: t } = q;
|
|
10963
10958
|
return t.length ? /* @__PURE__ */ o.jsx("div", { className: "size-full flex flex-col-reverse overflow-y-auto py-2", children: /* @__PURE__ */ o.jsxs("div", { className: "grid gap-2 m-4", children: [
|
|
10964
10959
|
A && /* @__PURE__ */ o.jsx("h2", { className: "font-medium text-lg", children: A }),
|
|
10965
10960
|
V && /* @__PURE__ */ o.jsx("p", { className: "text-sm text-gray-600 mb-4", children: V }),
|
|
@@ -10976,17 +10971,17 @@ const yp = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
10976
10971
|
}, jp = ({ title: e, className: q = "" }) => {
|
|
10977
10972
|
const A = typeof e == "string" ? [e] : e;
|
|
10978
10973
|
return /* @__PURE__ */ o.jsx("div", { className: aq("absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2", q), children: A.map((V, t) => /* @__PURE__ */ o.jsx("div", { className: "text-center", children: V }, t)) });
|
|
10979
|
-
}, VV =
|
|
10974
|
+
}, VV = Ke(jp);
|
|
10980
10975
|
function Rp(e) {
|
|
10981
10976
|
return mq({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { fill: "none", d: "M0 0h24v24H0z" }, child: [] }, { tag: "path", attr: { d: "M17 10.5V7c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h12c.55 0 1-.45 1-1v-3.5l4 4v-11l-4 4z" }, child: [] }] })(e);
|
|
10982
10977
|
}
|
|
10983
10978
|
function Yp(e) {
|
|
10984
10979
|
return mq({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { fill: "none", d: "M0 0h24v24H0z" }, child: [] }, { tag: "path", attr: { d: "M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5z" }, child: [] }] })(e);
|
|
10985
10980
|
}
|
|
10986
|
-
function
|
|
10981
|
+
function js(e) {
|
|
10987
10982
|
return mq({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { fill: "none", d: "M0 0h24v24H0z" }, child: [] }, { tag: "path", attr: { d: "m3 8.41 9 9 7-7V15h2V7h-8v2h4.59L12 14.59 4.41 7 3 8.41z" }, child: [] }] })(e);
|
|
10988
10983
|
}
|
|
10989
|
-
function
|
|
10984
|
+
function Rs(e) {
|
|
10990
10985
|
return mq({ attr: { viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { fill: "none", d: "M0 0h24v24H0z" }, child: [] }, { tag: "path", attr: { d: "M19.59 7 12 14.59 6.41 9H11V7H3v8h2v-4.59l7 7 9-9z" }, child: [] }] })(e);
|
|
10991
10986
|
}
|
|
10992
10987
|
function Fp(e) {
|
|
@@ -11023,12 +11018,12 @@ const Lp = (e) => {
|
|
|
11023
11018
|
case lA.REJECT:
|
|
11024
11019
|
return t ? /* @__PURE__ */ o.jsx(Fp, { className: "text-red-500 size-4" }) : /* @__PURE__ */ o.jsx(Yp, { className: "text-red-500 size-4" });
|
|
11025
11020
|
case lA.NOT_ANSWER:
|
|
11026
|
-
return t ? /* @__PURE__ */ o.jsx(
|
|
11021
|
+
return t ? /* @__PURE__ */ o.jsx(js, { className: "text-red-500 size-4" }) : /* @__PURE__ */ o.jsx(Rs, { className: "text-red-500 size-4" });
|
|
11027
11022
|
case lA.HUNG_UP:
|
|
11028
11023
|
return A === LA.VIDEO ? /* @__PURE__ */ o.jsx(Rp, { className: "text-green-500 size-4" }) : /* @__PURE__ */ o.jsx(Op, { className: "text-green-500 size-4" });
|
|
11029
11024
|
case lA.CANCEL:
|
|
11030
11025
|
default:
|
|
11031
|
-
return t ? /* @__PURE__ */ o.jsx(
|
|
11026
|
+
return t ? /* @__PURE__ */ o.jsx(js, { className: "text-red-500 size-4" }) : /* @__PURE__ */ o.jsx(Rs, { className: "text-red-500 size-4" });
|
|
11032
11027
|
}
|
|
11033
11028
|
}, [e, A, t]);
|
|
11034
11029
|
return /* @__PURE__ */ o.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ o.jsxs(
|
|
@@ -11050,7 +11045,7 @@ const Lp = (e) => {
|
|
|
11050
11045
|
fetchNextMessages: i,
|
|
11051
11046
|
totalMessagesReached: c,
|
|
11052
11047
|
messageSentTimeString: r
|
|
11053
|
-
} = pq(), n = Fq((O) => O.singleView), l = Uq((O) => O.enableUrlPreview), d =
|
|
11048
|
+
} = pq(), n = Fq((O) => O.singleView), l = Uq((O) => O.enableUrlPreview), d = st((O) => O.matchUrlsFromMessage), m = t?._id ?? "", w = Cq(() => a[m] ?? [], [a, m]), M = w?.length ?? 0, k = M > (n ? 1 : 0), y = a[m] !== void 0, U = c.includes(m), D = wq(M), b = wq(void 0), E = wq(/* @__PURE__ */ new Set()), j = wq(/* @__PURE__ */ new Set()), [G, Q] = Bq(!1), [J, F] = Bq(!1), [nq, tq] = Bq(!1), P = wq(!1), Aq = wq(null), Eq = () => {
|
|
11054
11049
|
queueMicrotask(() => {
|
|
11055
11050
|
tq(!0), queueMicrotask(() => tq(!1));
|
|
11056
11051
|
});
|
|
@@ -11077,7 +11072,7 @@ const Lp = (e) => {
|
|
|
11077
11072
|
() => w.reduce((O, rq, fq) => (bq(rq) && O.push(fq), O), []),
|
|
11078
11073
|
[w, bq]
|
|
11079
11074
|
), Vq = Cq(() => w.map((O, rq, fq) => {
|
|
11080
|
-
const Rq = fq[rq - 1], sq = rq === fq.length - 1, _ = t?.type ===
|
|
11075
|
+
const Rq = fq[rq - 1], sq = rq === fq.length - 1, _ = t?.type === ce.GROUP, oq = s === O.sender_id, kq = Rq?.sender_id === O.sender_id, Nq = _ && !oq && kq, Dq = _ && !oq && !kq ? V[O.sender_id] : void 0, oA = Dq ? Zq(Dq, !0) : void 0, IA = Dq ? Dq?.avatar : void 0, Hq = r(O);
|
|
11081
11076
|
return O.callHistory ? /* @__PURE__ */ o.jsx(
|
|
11082
11077
|
Kp,
|
|
11083
11078
|
{
|
|
@@ -11113,7 +11108,7 @@ const Lp = (e) => {
|
|
|
11113
11108
|
}, [M, G, Iq]), $(() => {
|
|
11114
11109
|
lq();
|
|
11115
11110
|
}, [q]), nq ? null : t ? k ? /* @__PURE__ */ o.jsxs(
|
|
11116
|
-
|
|
11111
|
+
Xs,
|
|
11117
11112
|
{
|
|
11118
11113
|
ref: Aq,
|
|
11119
11114
|
reverse: !0,
|
|
@@ -11131,9 +11126,9 @@ const Lp = (e) => {
|
|
|
11131
11126
|
function TA({ className: e, ...q }) {
|
|
11132
11127
|
return /* @__PURE__ */ o.jsx(Zo.Root, { "data-slot": "label", className: aq(eq.label, e), ...q });
|
|
11133
11128
|
}
|
|
11134
|
-
function
|
|
11135
|
-
return /* @__PURE__ */ o.jsx(
|
|
11136
|
-
|
|
11129
|
+
function Ys({ className: e, ...q }) {
|
|
11130
|
+
return /* @__PURE__ */ o.jsx(lt.Root, { "data-slot": "checkbox", className: aq(eq.checkbox, e), ...q, children: /* @__PURE__ */ o.jsx(
|
|
11131
|
+
lt.Indicator,
|
|
11137
11132
|
{
|
|
11138
11133
|
"data-slot": "checkbox-indicator",
|
|
11139
11134
|
className: "flex items-center justify-center text-current transition-none",
|
|
@@ -11143,19 +11138,19 @@ function Fs({ className: e, ...q }) {
|
|
|
11143
11138
|
}
|
|
11144
11139
|
const Jp = ({ onSendMessage: e = () => {
|
|
11145
11140
|
} }) => {
|
|
11146
|
-
const { t: q } = dq(), A = Uq((l) => l.termsAndConditions), [V, t] = Bq(!1), [s, a] = Bq(!0), { register: i, handleSubmit: c } =
|
|
11141
|
+
const { t: q } = dq(), A = Uq((l) => l.termsAndConditions), [V, t] = Bq(!1), [s, a] = Bq(!0), { register: i, handleSubmit: c } = JV({ mode: "onChange" }), r = (l) => {
|
|
11147
11142
|
if (V) {
|
|
11148
11143
|
if (e(`Name: ${l.name}
|
|
11149
11144
|
Email: ${l.email}`), typeof s == "boolean")
|
|
11150
11145
|
if (Gd(s), s) {
|
|
11151
|
-
const d =
|
|
11152
|
-
d &&
|
|
11146
|
+
const d = ra();
|
|
11147
|
+
d && Xe(d);
|
|
11153
11148
|
} else
|
|
11154
|
-
|
|
11149
|
+
HV();
|
|
11155
11150
|
} else
|
|
11156
|
-
|
|
11151
|
+
qA(q("SingleViewForm.AcceptTermsAndConditionsError"));
|
|
11157
11152
|
}, n = ({ email: l, name: d }) => {
|
|
11158
|
-
l &&
|
|
11153
|
+
l && qA(l.message), d && qA(d.message);
|
|
11159
11154
|
};
|
|
11160
11155
|
return /* @__PURE__ */ o.jsx("form", { onSubmit: c(r, n), className: "size-full flex flex-col-reverse overflow-y-auto py-2", children: /* @__PURE__ */ o.jsxs("div", { className: "grid gap-6 m-8", children: [
|
|
11161
11156
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-2", children: [
|
|
@@ -11192,7 +11187,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11192
11187
|
),
|
|
11193
11188
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-8", children: [
|
|
11194
11189
|
/* @__PURE__ */ o.jsxs("div", { className: "flex items-start gap-2", children: [
|
|
11195
|
-
/* @__PURE__ */ o.jsx(
|
|
11190
|
+
/* @__PURE__ */ o.jsx(Ys, { id: "terms_and_conditions", checked: V, onCheckedChange: t }),
|
|
11196
11191
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-1", children: [
|
|
11197
11192
|
/* @__PURE__ */ o.jsx(TA, { htmlFor: "terms_and_conditions", className: "cursor-pointer", children: q("SingleViewForm.AcceptTermsAndConditions") }),
|
|
11198
11193
|
/* @__PURE__ */ o.jsxs("p", { className: "text-muted-foreground text-sm text-left", children: [
|
|
@@ -11211,7 +11206,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11211
11206
|
] })
|
|
11212
11207
|
] }),
|
|
11213
11208
|
/* @__PURE__ */ o.jsxs("div", { className: "flex items-start gap-2", children: [
|
|
11214
|
-
/* @__PURE__ */ o.jsx(
|
|
11209
|
+
/* @__PURE__ */ o.jsx(Ys, { id: "remember_me", checked: s, onCheckedChange: a }),
|
|
11215
11210
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-1", children: [
|
|
11216
11211
|
/* @__PURE__ */ o.jsx(TA, { htmlFor: "remember_me", className: "cursor-pointer", children: q("SingleViewForm.RememberMe") }),
|
|
11217
11212
|
/* @__PURE__ */ o.jsx("p", { className: "text-muted-foreground text-sm text-left", children: q("SingleViewForm.RememberMeText") })
|
|
@@ -11233,7 +11228,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11233
11228
|
getDialogOpponentId: l,
|
|
11234
11229
|
messages: d,
|
|
11235
11230
|
isBlockedUser: m
|
|
11236
|
-
} = pq(), w =
|
|
11231
|
+
} = pq(), w = Ze((F) => F.deleteDraftMessage), M = Uq((F) => F.enableUserStatuses), k = Fq((F) => F.singleView), y = a ? l(a) : null, U = y ? m(y) : !1, D = y && M ? le(V[y]) : Lq.AVAILABLE, b = a && !U && D !== Lq.AWAY, E = a?._id ?? "", j = k && d[E]?.length === 0, G = async (F) => {
|
|
11237
11232
|
if (E.startsWith(Ue)) {
|
|
11238
11233
|
const nq = await J();
|
|
11239
11234
|
s(F, nq);
|
|
@@ -11247,7 +11242,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11247
11242
|
} else
|
|
11248
11243
|
n(F);
|
|
11249
11244
|
}, J = async () => {
|
|
11250
|
-
const F = a?.type ===
|
|
11245
|
+
const F = a?.type === ce.PRIVATE ? await i(
|
|
11251
11246
|
a?.occupants_ids?.filter((nq) => nq !== a?.user_id)[0],
|
|
11252
11247
|
a?.extensions
|
|
11253
11248
|
) : await c(
|
|
@@ -11276,14 +11271,14 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11276
11271
|
] }) });
|
|
11277
11272
|
};
|
|
11278
11273
|
function Wp({ className: e, ...q }) {
|
|
11279
|
-
return /* @__PURE__ */ o.jsx(
|
|
11274
|
+
return /* @__PURE__ */ o.jsx(ze.Root, { "data-slot": "tabs", className: aq(eq.tabs, e), ...q });
|
|
11280
11275
|
}
|
|
11281
11276
|
function Zp({ className: e, ...q }) {
|
|
11282
|
-
return /* @__PURE__ */ o.jsx(
|
|
11277
|
+
return /* @__PURE__ */ o.jsx(ze.List, { "data-slot": "tabs-list", className: aq(eq.tabsList, e), ...q });
|
|
11283
11278
|
}
|
|
11284
|
-
function
|
|
11279
|
+
function Fs({ className: e, ...q }) {
|
|
11285
11280
|
return /* @__PURE__ */ o.jsx(
|
|
11286
|
-
|
|
11281
|
+
ze.Trigger,
|
|
11287
11282
|
{
|
|
11288
11283
|
"data-slot": "tabs-trigger",
|
|
11289
11284
|
className: aq(eq.tabsTrigger, e),
|
|
@@ -11291,9 +11286,9 @@ function Os({ className: e, ...q }) {
|
|
|
11291
11286
|
}
|
|
11292
11287
|
);
|
|
11293
11288
|
}
|
|
11294
|
-
function
|
|
11289
|
+
function Os({ className: e, ...q }) {
|
|
11295
11290
|
return /* @__PURE__ */ o.jsx(
|
|
11296
|
-
|
|
11291
|
+
ze.Content,
|
|
11297
11292
|
{
|
|
11298
11293
|
"data-slot": "tabs-content",
|
|
11299
11294
|
className: aq(eq.tabsContent, e),
|
|
@@ -11304,11 +11299,11 @@ function Ls({ className: e, ...q }) {
|
|
|
11304
11299
|
function tV({ ...e }) {
|
|
11305
11300
|
return /* @__PURE__ */ o.jsx(MA.Root, { "data-slot": "dialog", ...e });
|
|
11306
11301
|
}
|
|
11307
|
-
function
|
|
11302
|
+
function ie({ ...e }) {
|
|
11308
11303
|
return /* @__PURE__ */ o.jsx(MA.Trigger, { "data-slot": "dialog-trigger", ...e });
|
|
11309
11304
|
}
|
|
11310
11305
|
function Hp({ ...e }) {
|
|
11311
|
-
return e.container =
|
|
11306
|
+
return e.container = he((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(MA.Portal, { "data-slot": "dialog-portal", ...e });
|
|
11312
11307
|
}
|
|
11313
11308
|
function Xp({ ...e }) {
|
|
11314
11309
|
return /* @__PURE__ */ o.jsx(MA.Close, { "data-slot": "dialog-close", ...e });
|
|
@@ -11349,10 +11344,10 @@ function rV({ className: e, children: q, ...A }) {
|
|
|
11349
11344
|
)
|
|
11350
11345
|
] });
|
|
11351
11346
|
}
|
|
11352
|
-
function
|
|
11347
|
+
function it({ className: e, ...q }) {
|
|
11353
11348
|
return /* @__PURE__ */ o.jsx("div", { "data-slot": "dialog-header", className: aq(eq.dialogHeader, e), ...q });
|
|
11354
11349
|
}
|
|
11355
|
-
function
|
|
11350
|
+
function ct({ className: e, ...q }) {
|
|
11356
11351
|
return /* @__PURE__ */ o.jsx(
|
|
11357
11352
|
MA.Title,
|
|
11358
11353
|
{
|
|
@@ -11420,7 +11415,7 @@ const qm = ({
|
|
|
11420
11415
|
register: V,
|
|
11421
11416
|
handleSubmit: t,
|
|
11422
11417
|
formState: { errors: s, isSubmitting: a }
|
|
11423
|
-
} =
|
|
11418
|
+
} = JV(), i = Cq(() => e.map((r) => /* @__PURE__ */ o.jsx(lo, { name: Zq(r), avatar: r.avatar || "" }, r.id)), [e]), c = async (r) => {
|
|
11424
11419
|
a || await q(r.name);
|
|
11425
11420
|
};
|
|
11426
11421
|
return /* @__PURE__ */ o.jsxs("form", { onSubmit: t(c), className: "pt-8", children: [
|
|
@@ -11440,10 +11435,10 @@ const qm = ({
|
|
|
11440
11435
|
/* @__PURE__ */ o.jsx("div", { className: "flex flex-wrap w-full mx-auto mt-4 overflow-x-auto", children: i }),
|
|
11441
11436
|
/* @__PURE__ */ o.jsx("div", { className: "text-center mt-4", children: /* @__PURE__ */ o.jsx(sA, { type: "submit", className: "px-3 bg-blue-500 hover:bg-blue-700", disabled: a, children: A("CreateGroupChat") }) })
|
|
11442
11437
|
] });
|
|
11443
|
-
}, rm = Mq.memo(tm),
|
|
11438
|
+
}, rm = Mq.memo(tm), Ls = 3, sm = ({ chatType: e, addUsersMode: q, onFinish: A }) => {
|
|
11444
11439
|
const { t: V } = dq(), { searchUsers: t, createChat: s, createGroupChat: a, addUsersToGroupChat: i, selectDialog: c, selectedDialog: r } = pq(), [n, l] = Bq({}), [d, m] = Bq(""), [w, M] = Bq([]), [k, y] = Bq(!1), U = async (E) => {
|
|
11445
|
-
if (E.preventDefault(), d.length <
|
|
11446
|
-
|
|
11440
|
+
if (E.preventDefault(), d.length < Ls) {
|
|
11441
|
+
qA.warning(`Min search term is ${Ls} chars`);
|
|
11447
11442
|
return;
|
|
11448
11443
|
}
|
|
11449
11444
|
const j = await t(d);
|
|
@@ -11468,9 +11463,9 @@ const qm = ({
|
|
|
11468
11463
|
E.id
|
|
11469
11464
|
)), [w, n, e, s, c, A]), b = V(q ? "AddMembers" : e === "group" ? "NewGroupChatDialogTitle" : "NewUserChatDialogTitle");
|
|
11470
11465
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col", children: [
|
|
11471
|
-
/* @__PURE__ */ o.jsxs(
|
|
11472
|
-
/* @__PURE__ */ o.jsx(
|
|
11473
|
-
/* @__PURE__ */ o.jsx(
|
|
11466
|
+
/* @__PURE__ */ o.jsxs(it, { children: [
|
|
11467
|
+
/* @__PURE__ */ o.jsx(ct, { children: b }),
|
|
11468
|
+
/* @__PURE__ */ o.jsx($s, {})
|
|
11474
11469
|
] }),
|
|
11475
11470
|
!k && /* @__PURE__ */ o.jsxs("div", { className: "flex-column w-full", children: [
|
|
11476
11471
|
/* @__PURE__ */ o.jsxs("form", { className: "flex items-center space-x-2 py-4", children: [
|
|
@@ -11524,7 +11519,7 @@ function am(e) {
|
|
|
11524
11519
|
return mq({ attr: { version: "1.2", baseProfile: "tiny", viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { d: "M12 14c1.381 0 2.631-.56 3.536-1.465.904-.904 1.464-2.154 1.464-3.535s-.56-2.631-1.464-3.535c-.905-.905-2.155-1.465-3.536-1.465s-2.631.56-3.536 1.465c-.904.904-1.464 2.154-1.464 3.535s.56 2.631 1.464 3.535c.905.905 2.155 1.465 3.536 1.465zM20 15c.69 0 1.315-.279 1.768-.731.453-.452.732-1.077.732-1.769 0-.69-.279-1.315-.732-1.768-.453-.453-1.078-.732-1.768-.732-.691 0-1.316.279-1.769.732-.452.453-.731 1.078-.731 1.768 0 .691.279 1.316.731 1.769s1.078.731 1.769.731zM20 15.59c-1.331 0-2.332.406-2.917.968-1.115-.917-2.878-1.558-5.083-1.558-2.266 0-3.995.648-5.092 1.564-.596-.565-1.608-.974-2.908-.974-2.188 0-3.5 1.09-3.5 2.182 0 .545 1.312 1.092 3.5 1.092.604 0 1.146-.051 1.623-.133l-.04.27c0 1 2.406 2 6.417 2 3.762 0 6.417-1 6.417-2l-.02-.255c.463.073.995.118 1.603.118 2.051 0 3.5-.547 3.5-1.092 0-1.092-1.373-2.182-3.5-2.182zM4 15c.69 0 1.315-.279 1.768-.732.453-.453.732-1.078.732-1.768 0-.689-.279-1.314-.732-1.768-.453-.452-1.078-.732-1.768-.732-.691 0-1.316.28-1.769.732-.452.454-.731 1.079-.731 1.768 0 .69.279 1.315.731 1.768.453.453 1.078.732 1.769.732z" }, child: [] }] })(e);
|
|
11525
11520
|
}
|
|
11526
11521
|
const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
11527
|
-
const { t: A } = dq(), V =
|
|
11522
|
+
const { t: A } = dq(), V = Ze((E) => E.draftMessages), [t, s] = Uq(
|
|
11528
11523
|
gq((E) => [E.enableUserStatuses, E.enableLastSeen])
|
|
11529
11524
|
), {
|
|
11530
11525
|
users: a,
|
|
@@ -11534,7 +11529,7 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11534
11529
|
lastMessageSentTimeString: n,
|
|
11535
11530
|
lastActivity: l,
|
|
11536
11531
|
getDialogOpponentId: d
|
|
11537
|
-
} = pq(), m = d(e), w = Ra(e, !0), M = m ? l[m] === "Online" : !1, k = e._id === i?._id, y = t && m && M ?
|
|
11532
|
+
} = pq(), m = d(e), w = Ra(e, !0), M = m ? l[m] === "Online" : !1, k = e._id === i?._id, y = t && m && M ? le(a[m]) : null, U = V[e._id], D = Cq(() => n(e), [e, n]), b = async () => {
|
|
11538
11533
|
await c(e);
|
|
11539
11534
|
};
|
|
11540
11535
|
return /* @__PURE__ */ o.jsx(
|
|
@@ -11587,12 +11582,12 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11587
11582
|
className: eq.inputSelection.blue
|
|
11588
11583
|
}
|
|
11589
11584
|
) }),
|
|
11590
|
-
A.length ? /* @__PURE__ */ o.jsxs(
|
|
11585
|
+
A.length ? /* @__PURE__ */ o.jsxs(Xs, { ref: s, onScroll: m, className: "size-full overflow-y-scroll", children: [
|
|
11591
11586
|
w,
|
|
11592
11587
|
a && /* @__PURE__ */ o.jsx(wA, { className: "my-7.5" })
|
|
11593
11588
|
] }) : q ? /* @__PURE__ */ o.jsx(VV, { title: l, className: "text-base text-gray-500" }) : /* @__PURE__ */ o.jsx(wA, { className: "my-7.5" })
|
|
11594
11589
|
] });
|
|
11595
|
-
}, im =
|
|
11590
|
+
}, im = Ke(nm), cm = () => {
|
|
11596
11591
|
const { t: e } = dq(), [q, A, V, t] = Fq(
|
|
11597
11592
|
gq((l) => [
|
|
11598
11593
|
l.hideNewChatButton,
|
|
@@ -11617,8 +11612,8 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11617
11612
|
}
|
|
11618
11613
|
),
|
|
11619
11614
|
/* @__PURE__ */ o.jsxs(eV, { align: "start", children: [
|
|
11620
|
-
!t && /* @__PURE__ */ o.jsx(
|
|
11621
|
-
!V && /* @__PURE__ */ o.jsx(
|
|
11615
|
+
!t && /* @__PURE__ */ o.jsx(ie, { asChild: !0, children: /* @__PURE__ */ o.jsx(tA, { onClick: n, children: e("NewGroup") }) }),
|
|
11616
|
+
!V && /* @__PURE__ */ o.jsx(ie, { asChild: !0, children: /* @__PURE__ */ o.jsx(tA, { onClick: r, children: e("NewMessage") }) })
|
|
11622
11617
|
] })
|
|
11623
11618
|
] }),
|
|
11624
11619
|
/* @__PURE__ */ o.jsx(rV, { className: "flex flex-col", children: /* @__PURE__ */ o.jsx(
|
|
@@ -11633,7 +11628,7 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11633
11628
|
] })
|
|
11634
11629
|
] });
|
|
11635
11630
|
}, lm = ({ userId: e, avatar: q, userName: A, status: V }) => {
|
|
11636
|
-
const t =
|
|
11631
|
+
const t = Je((l) => l.setActiveTab), { dialogs: s, fetchDialogs: a, selectDialog: i, currentUserId: c } = pq(), r = async (l, d = !0) => {
|
|
11637
11632
|
await i(l), d && t(uA.CHATS);
|
|
11638
11633
|
}, n = async () => {
|
|
11639
11634
|
const l = [c, e];
|
|
@@ -11678,11 +11673,11 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11678
11673
|
},
|
|
11679
11674
|
e
|
|
11680
11675
|
);
|
|
11681
|
-
}, dm =
|
|
11676
|
+
}, dm = Ke(lm), gm = ({ searchTerm: e }) => {
|
|
11682
11677
|
const { t: q } = dq(), { fetchAllOnlineUsers: A, onlineUsers: V } = pq(), t = Cq(() => {
|
|
11683
11678
|
const s = e?.toLowerCase();
|
|
11684
11679
|
return V.reduce((a, i) => {
|
|
11685
|
-
const c = Zq(i), r =
|
|
11680
|
+
const c = Zq(i), r = le(i);
|
|
11686
11681
|
return (!s || c.toLowerCase().includes(s)) && a.push(
|
|
11687
11682
|
/* @__PURE__ */ o.jsx(dm, { userId: i.id, avatar: i.avatar || void 0, userName: c, status: r }, i.id)
|
|
11688
11683
|
), a;
|
|
@@ -11691,7 +11686,7 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11691
11686
|
return $(() => {
|
|
11692
11687
|
A();
|
|
11693
11688
|
}, []), t.length > 0 ? /* @__PURE__ */ o.jsx(o.Fragment, { children: t }) : /* @__PURE__ */ o.jsx(VV, { title: q("NoOnlineUsers"), className: "text-base text-gray-500" });
|
|
11694
|
-
}, um =
|
|
11689
|
+
}, um = Ke(gm), hm = () => {
|
|
11695
11690
|
const { t: e } = dq(), [q, A] = Bq("");
|
|
11696
11691
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col h-full", children: [
|
|
11697
11692
|
/* @__PURE__ */ o.jsx("div", { className: "p-2", children: /* @__PURE__ */ o.jsx(
|
|
@@ -11709,7 +11704,7 @@ const om = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11709
11704
|
] });
|
|
11710
11705
|
};
|
|
11711
11706
|
function pm({ ...e }) {
|
|
11712
|
-
return e.container =
|
|
11707
|
+
return e.container = he((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(JA.Portal, { "data-slot": "tooltip-portal", ...e });
|
|
11713
11708
|
}
|
|
11714
11709
|
function uo({ delayDuration: e = 0, ...q }) {
|
|
11715
11710
|
return /* @__PURE__ */ o.jsx(JA.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...q });
|
|
@@ -11760,10 +11755,10 @@ const fm = () => {
|
|
|
11760
11755
|
/* @__PURE__ */ o.jsx(wm, { asChild: !0, children: /* @__PURE__ */ o.jsx("div", { className: aq("rounded-full size-4 border", q) }) }),
|
|
11761
11756
|
/* @__PURE__ */ o.jsx(Mm, { children: /* @__PURE__ */ o.jsx("p", { children: e }) })
|
|
11762
11757
|
] }) }) });
|
|
11763
|
-
},
|
|
11764
|
-
const { t: e } = dq(), [q, A] =
|
|
11758
|
+
}, Ks = "w-[50%] h-9 hover:bg-blue-50 data-[state=active]:bg-blue-200", Cm = () => {
|
|
11759
|
+
const { t: e } = dq(), [q, A] = Je(gq((j) => [j.activeTab, j.setActiveTab])), V = Uq((j) => j.enableUserStatuses), [t, s] = Fq(
|
|
11765
11760
|
gq((j) => [j.showChatStatus, j.showOnlineUsersTab])
|
|
11766
|
-
), a =
|
|
11761
|
+
), a = ue((j) => j.showProfile), { fetchDialogs: i, unselectDialog: c, currentUserId: r, chatStatus: n, unreadMessagesCount: l } = pq(), { notifyWithSound: d } = ja(), m = wq(null), w = wq(l.total), M = wq(l.total), k = UA(), y = Zq(k), U = V ? le(k) : void 0, D = (j) => {
|
|
11767
11762
|
c(), A(j === "chats" ? uA.CHATS : uA.USERS);
|
|
11768
11763
|
}, b = () => {
|
|
11769
11764
|
a(r);
|
|
@@ -11805,21 +11800,21 @@ const fm = () => {
|
|
|
11805
11800
|
className: `flex flex-col ${s ? "h-[calc(100%-7.25em)]" : "h-[calc(100%-4.25em)]"}`,
|
|
11806
11801
|
children: [
|
|
11807
11802
|
/* @__PURE__ */ o.jsx(
|
|
11808
|
-
|
|
11803
|
+
Os,
|
|
11809
11804
|
{
|
|
11810
11805
|
value: uA.CHATS,
|
|
11811
11806
|
className: `${s ? "h-[calc(100%-7.25em)]" : "h-[calc(100%-4.25em)]"}`,
|
|
11812
11807
|
children: /* @__PURE__ */ o.jsx(cm, {})
|
|
11813
11808
|
}
|
|
11814
11809
|
),
|
|
11815
|
-
s && /* @__PURE__ */ o.jsx(
|
|
11810
|
+
s && /* @__PURE__ */ o.jsx(Os, { value: uA.USERS, className: "h-[calc(100%-7.25em)]", children: /* @__PURE__ */ o.jsx(hm, {}) }),
|
|
11816
11811
|
/* @__PURE__ */ o.jsx(
|
|
11817
11812
|
Zp,
|
|
11818
11813
|
{
|
|
11819
11814
|
className: `w-full gap-2 bg-transparent absolute bottom-0 p-2 ${s ? "h-12" : "h-0"}`,
|
|
11820
11815
|
children: s && /* @__PURE__ */ o.jsxs("div", { className: "bg-white flex w-full gap-2", children: [
|
|
11821
|
-
/* @__PURE__ */ o.jsx(
|
|
11822
|
-
/* @__PURE__ */ o.jsx(
|
|
11816
|
+
/* @__PURE__ */ o.jsx(Fs, { value: uA.CHATS, className: Ks, children: e("Chats") }),
|
|
11817
|
+
/* @__PURE__ */ o.jsx(Fs, { value: uA.USERS, className: Ks, children: e("Users") })
|
|
11823
11818
|
] })
|
|
11824
11819
|
}
|
|
11825
11820
|
)
|
|
@@ -11884,7 +11879,7 @@ const ho = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
11884
11879
|
/* @__PURE__ */ o.jsxs("div", { className: "flex items-center justify-between border-b py-2 px-4", children: [
|
|
11885
11880
|
/* @__PURE__ */ o.jsx("span", { className: "font-medium", children: A("Members") }),
|
|
11886
11881
|
/* @__PURE__ */ o.jsxs(tV, { modal: !0, open: e, onOpenChange: q, children: [
|
|
11887
|
-
/* @__PURE__ */ o.jsx(
|
|
11882
|
+
/* @__PURE__ */ o.jsx(ie, { asChild: !0, children: /* @__PURE__ */ o.jsx(km, { className: "cursor-pointer size-7" }) }),
|
|
11888
11883
|
/* @__PURE__ */ o.jsx(rV, { children: /* @__PURE__ */ o.jsx(go, { chatType: "group", addUsersMode: !0, onFinish: () => q(!1) }) })
|
|
11889
11884
|
] })
|
|
11890
11885
|
] }),
|
|
@@ -11895,15 +11890,15 @@ const ho = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
11895
11890
|
const s = A.trim();
|
|
11896
11891
|
if (s)
|
|
11897
11892
|
try {
|
|
11898
|
-
await Ud(e, s),
|
|
11893
|
+
await Ud(e, s), qA.info(q("ReportCreatedSuccessfully"));
|
|
11899
11894
|
} catch (a) {
|
|
11900
|
-
|
|
11895
|
+
qA.error(`${q("ReportSubmitFailed")}: ${JSON.stringify(a)}`);
|
|
11901
11896
|
}
|
|
11902
11897
|
};
|
|
11903
11898
|
return /* @__PURE__ */ o.jsxs("div", { children: [
|
|
11904
|
-
/* @__PURE__ */ o.jsxs(
|
|
11905
|
-
/* @__PURE__ */ o.jsx(
|
|
11906
|
-
/* @__PURE__ */ o.jsx(
|
|
11899
|
+
/* @__PURE__ */ o.jsxs(it, { children: [
|
|
11900
|
+
/* @__PURE__ */ o.jsx(ct, { children: q("ReportUser") }),
|
|
11901
|
+
/* @__PURE__ */ o.jsx($s, { children: q("WhatsWrongWithThisUser") })
|
|
11907
11902
|
] }),
|
|
11908
11903
|
/* @__PURE__ */ o.jsxs("form", { className: "flex items-center space-x-2 py-4", children: [
|
|
11909
11904
|
/* @__PURE__ */ o.jsx("div", { className: "grid flex-1 gap-2", children: /* @__PURE__ */ o.jsx(sV, { placeholder: q("ProvideReason"), value: A, onChange: (s) => V(s.target.value) }) }),
|
|
@@ -11913,7 +11908,7 @@ const ho = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
11913
11908
|
}, Tm = Mq.memo(xm), bm = ({ user: e }) => {
|
|
11914
11909
|
const { t: q } = dq(), { isBlockedUser: A, blockUser: V, unblockUser: t } = pq(), { id: s = 0, website: a = "" } = e ?? {}, i = Zq(e), c = A(s), [r, n] = Uq(
|
|
11915
11910
|
gq((w) => [w.enableContentReporting, w.enableBlockList])
|
|
11916
|
-
), [l, d] =
|
|
11911
|
+
), [l, d] = Pe(
|
|
11917
11912
|
gq((w) => [w.showAlertBusy, w.hideAlertBusy])
|
|
11918
11913
|
), m = async () => {
|
|
11919
11914
|
try {
|
|
@@ -11940,15 +11935,15 @@ const ho = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
11940
11935
|
}
|
|
11941
11936
|
),
|
|
11942
11937
|
r && /* @__PURE__ */ o.jsxs(tV, { modal: !0, children: [
|
|
11943
|
-
/* @__PURE__ */ o.jsx(
|
|
11938
|
+
/* @__PURE__ */ o.jsx(ie, { className: "pl-0! justify-start text-blue-500 cursor-pointer text-left font-medium underline-offset-4 hover:underline", children: q("Report") }),
|
|
11944
11939
|
/* @__PURE__ */ o.jsx(rV, { children: /* @__PURE__ */ o.jsx(Tm, { userId: s }) })
|
|
11945
11940
|
] })
|
|
11946
11941
|
] })
|
|
11947
11942
|
] });
|
|
11948
11943
|
}, Dm = Mq.memo(bm), Um = ({ user: e }) => {
|
|
11949
|
-
const q =
|
|
11944
|
+
const q = ue((s) => s.showProfile);
|
|
11950
11945
|
if (!e) return null;
|
|
11951
|
-
const A = Zq(e), V =
|
|
11946
|
+
const A = Zq(e), V = XV(e.avatar), t = () => {
|
|
11952
11947
|
q(e.id);
|
|
11953
11948
|
};
|
|
11954
11949
|
return /* @__PURE__ */ o.jsxs(
|
|
@@ -11969,10 +11964,10 @@ const ho = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
11969
11964
|
return /* @__PURE__ */ o.jsx("div", { className: `max-h-[50vh] overflow-y-auto ${s ? "border-y" : "relative"}`, children: s ? A.map((a) => /* @__PURE__ */ o.jsx(Qm, { user: q[a] }, `blocked_user:${a}`)) : /* @__PURE__ */ o.jsx("div", { className: "h-12 w-full", children: /* @__PURE__ */ o.jsx(VV, { title: e("BlockListEmpty") }) }) });
|
|
11970
11965
|
}, [A, q, e]);
|
|
11971
11966
|
return /* @__PURE__ */ o.jsxs(tV, { modal: !0, children: [
|
|
11972
|
-
/* @__PURE__ */ o.jsx(
|
|
11967
|
+
/* @__PURE__ */ o.jsx(ie, { className: "mx-4 pl-0! justify-start text-blue-500 cursor-pointer text-left font-medium underline-offset-4 hover:underline", children: V }),
|
|
11973
11968
|
/* @__PURE__ */ o.jsxs(rV, { children: [
|
|
11974
|
-
/* @__PURE__ */ o.jsxs(
|
|
11975
|
-
/* @__PURE__ */ o.jsx(
|
|
11969
|
+
/* @__PURE__ */ o.jsxs(it, { children: [
|
|
11970
|
+
/* @__PURE__ */ o.jsx(ct, { children: V }),
|
|
11976
11971
|
/* @__PURE__ */ o.jsx($p, {})
|
|
11977
11972
|
] }),
|
|
11978
11973
|
t
|
|
@@ -11980,7 +11975,7 @@ const ho = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
11980
11975
|
] });
|
|
11981
11976
|
};
|
|
11982
11977
|
function xV({ className: e, ...q }) {
|
|
11983
|
-
return /* @__PURE__ */ o.jsx(
|
|
11978
|
+
return /* @__PURE__ */ o.jsx(dt.Root, { "data-slot": "switch", className: aq(eq.switch, e), ...q, children: /* @__PURE__ */ o.jsx(dt.Thumb, { "data-slot": "switch-thumb", className: aq(eq.switchThumb) }) });
|
|
11984
11979
|
}
|
|
11985
11980
|
const Nm = () => {
|
|
11986
11981
|
const { t: e } = dq(), [q, A, V, t] = NA(
|
|
@@ -12056,14 +12051,14 @@ const Nm = () => {
|
|
|
12056
12051
|
}, Gm = () => /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col space-y-2", children: [
|
|
12057
12052
|
/* @__PURE__ */ o.jsx(Nm, {}),
|
|
12058
12053
|
/* @__PURE__ */ o.jsx(vm, {})
|
|
12059
|
-
] }),
|
|
12054
|
+
] }), xe = ({ status: e }) => {
|
|
12060
12055
|
const { t: q } = dq();
|
|
12061
12056
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
12062
12057
|
/* @__PURE__ */ o.jsx(ao, { status: e }),
|
|
12063
12058
|
/* @__PURE__ */ o.jsx("span", { className: "text-sm font-bold", children: q(e) })
|
|
12064
12059
|
] });
|
|
12065
12060
|
}, jm = () => {
|
|
12066
|
-
const e = UA(), q = Zq(e, !1), { onlineUsers: A, dialogs: V, getDialogOpponentId: t, sendSignal: s } = pq(), a =
|
|
12061
|
+
const e = UA(), q = Zq(e, !1), { onlineUsers: A, dialogs: V, getDialogOpponentId: t, sendSignal: s } = pq(), a = ge((d) => d.enableOnlineUsersBadge), [i, c] = PA(
|
|
12067
12062
|
gq((d) => [d.userStatus, d.setUserStatus])
|
|
12068
12063
|
), r = Cq(() => a ? [...new Set(A.map((d) => d.id))] : [], [A, a]), n = Cq(() => {
|
|
12069
12064
|
if (r.length >= 10) return r;
|
|
@@ -12088,25 +12083,25 @@ const Nm = () => {
|
|
|
12088
12083
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row justify-between gap-2 absolute bottom-0 left-0 w-full z-10 p-2 pl-5", children: [
|
|
12089
12084
|
/* @__PURE__ */ o.jsx("p", { className: "text-white truncate", children: q }),
|
|
12090
12085
|
/* @__PURE__ */ o.jsxs(qV, { modal: !1, children: [
|
|
12091
|
-
/* @__PURE__ */ o.jsx(AV, { className: "flex items-center justify-center rounded-full px-2 py-1 bg-gray-100 hover:bg-white text-foreground", children: /* @__PURE__ */ o.jsx(
|
|
12086
|
+
/* @__PURE__ */ o.jsx(AV, { className: "flex items-center justify-center rounded-full px-2 py-1 bg-gray-100 hover:bg-white text-foreground", children: /* @__PURE__ */ o.jsx(xe, { status: i }) }),
|
|
12092
12087
|
/* @__PURE__ */ o.jsxs(eV, { align: "start", children: [
|
|
12093
|
-
/* @__PURE__ */ o.jsx(tA, { onClick: () => l(Lq.AVAILABLE), children: /* @__PURE__ */ o.jsx(
|
|
12094
|
-
/* @__PURE__ */ o.jsx(tA, { onClick: () => l(Lq.BUSY), children: /* @__PURE__ */ o.jsx(
|
|
12095
|
-
/* @__PURE__ */ o.jsx(tA, { onClick: () => l(Lq.AWAY), children: /* @__PURE__ */ o.jsx(
|
|
12088
|
+
/* @__PURE__ */ o.jsx(tA, { onClick: () => l(Lq.AVAILABLE), children: /* @__PURE__ */ o.jsx(xe, { status: Lq.AVAILABLE }) }),
|
|
12089
|
+
/* @__PURE__ */ o.jsx(tA, { onClick: () => l(Lq.BUSY), children: /* @__PURE__ */ o.jsx(xe, { status: Lq.BUSY }) }),
|
|
12090
|
+
/* @__PURE__ */ o.jsx(tA, { onClick: () => l(Lq.AWAY), children: /* @__PURE__ */ o.jsx(xe, { status: Lq.AWAY }) })
|
|
12096
12091
|
] })
|
|
12097
12092
|
] })
|
|
12098
12093
|
] });
|
|
12099
12094
|
}, Rm = ({ profileClassName: e }) => {
|
|
12100
12095
|
const { t: q } = dq(), { users: A, selectedDialog: V, lastActivity: t, currentUserId: s } = pq(), [a, i, c] = Uq(
|
|
12101
12096
|
gq((E) => [E.enableUserStatuses, E.enableUserLogin, E.resetUserAuthorized])
|
|
12102
|
-
), [r, n, l] =
|
|
12097
|
+
), [r, n, l] = ue(
|
|
12103
12098
|
gq((E) => [E.visible, E.userId, E.hideProfile])
|
|
12104
|
-
), d = Fq((E) => E.singleView), m = s === n, w = V?.type ===
|
|
12099
|
+
), d = Fq((E) => E.singleView), m = s === n, w = V?.type === ce.GROUP && !n, M = m ? UA() : n ? A[n] : null, k = `profile:${n || V?._id}`, y = XV(M?.avatar || V?.photo), U = M ? Zq(M, !1) : V?.name, D = U ? U.slice(0, 2).toUpperCase() : "NA";
|
|
12105
12100
|
$(() => {
|
|
12106
12101
|
Ta();
|
|
12107
12102
|
}, [V]);
|
|
12108
12103
|
const b = async () => {
|
|
12109
|
-
await
|
|
12104
|
+
await ta(), Ya(), c();
|
|
12110
12105
|
};
|
|
12111
12106
|
return /* @__PURE__ */ o.jsxs(
|
|
12112
12107
|
"div",
|
|
@@ -12149,13 +12144,13 @@ const Nm = () => {
|
|
|
12149
12144
|
chatStatus: U
|
|
12150
12145
|
} = pq(), D = Uq((_) => _.enableUserStatuses), [b, E] = PA(
|
|
12151
12146
|
gq((_) => [_.userStatus, _.setUserStatus])
|
|
12152
|
-
), [j, G, Q] =
|
|
12147
|
+
), [j, G, Q] = ge(
|
|
12153
12148
|
gq((_) => [_.enableOnlineUsersBadge, _.setOnlineUsersCount, _.requestOnlineUsersInterval])
|
|
12154
12149
|
), J = _e((_) => _.setUnreadCount), [F, nq, tq] = Fq(
|
|
12155
12150
|
gq((_) => [_.opened, _.splitView, _.singleView])
|
|
12156
|
-
), [P, Aq, Eq] =
|
|
12151
|
+
), [P, Aq, Eq] = PV(
|
|
12157
12152
|
gq((_) => [_.defaultChat, _.setDefaultChat, _.singleViewChat])
|
|
12158
|
-
), uq =
|
|
12153
|
+
), uq = Je((_) => _.setActiveTab), { notifyOnMessage: lq } = ja(), { isWideScreen: W } = Ou(), { isFocused: bq } = Yu(), Iq = nq && W, v = Cq(
|
|
12159
12154
|
() => Iq ? "w-2/5 max-w-[360px]" : `${c ? "hidden" : "w-full"}`,
|
|
12160
12155
|
[Iq, c]
|
|
12161
12156
|
), Vq = Cq(
|
|
@@ -12164,15 +12159,15 @@ const Nm = () => {
|
|
|
12164
12159
|
), O = Cq(() => Iq ? "w-3/5 min-w-[calc(100%-360px)]" : "", [Iq]);
|
|
12165
12160
|
ju();
|
|
12166
12161
|
const rq = async () => {
|
|
12167
|
-
const _ = await
|
|
12162
|
+
const _ = await ea();
|
|
12168
12163
|
await QV(r, _);
|
|
12169
12164
|
}, fq = async () => {
|
|
12170
12165
|
const { externalId: _, opponentUserIds: oq, name: kq, photo: Nq } = Eq, Dq = typeof oq == "string" ? oq.split(/,\s*|\s+/).filter(Boolean) : oq, oA = await i({ external_id: { in: Dq } });
|
|
12171
12166
|
if (oA.length < 1) {
|
|
12172
|
-
|
|
12167
|
+
qA.error(e("SingleViewChatError"));
|
|
12173
12168
|
return;
|
|
12174
12169
|
}
|
|
12175
|
-
const IA = _ ??
|
|
12170
|
+
const IA = _ ?? mt(oA), Hq = Dq.length > 1 ? be.GROUP : be.SINGLE;
|
|
12176
12171
|
Aq({ id: IA, name: kq, photo: Nq, opponentUserId: Dq, type: Hq });
|
|
12177
12172
|
}, Rq = async (_) => {
|
|
12178
12173
|
const {
|
|
@@ -12185,13 +12180,13 @@ const Nm = () => {
|
|
|
12185
12180
|
} = _ ?? {};
|
|
12186
12181
|
if (!kq)
|
|
12187
12182
|
throw "Missing 'defaultChat.opponentUserId' prop";
|
|
12188
|
-
const Hq = oq ===
|
|
12183
|
+
const Hq = oq === be.SINGLE ? 3 : 2;
|
|
12189
12184
|
if (Hq === 2 && !Dq)
|
|
12190
12185
|
throw "Missing 'defaultChat.name' prop";
|
|
12191
12186
|
const GA = Array.isArray(kq) ? kq : [kq], aA = await i({ external_id: { in: GA } }), jA = w || UA()?.id;
|
|
12192
12187
|
if (!jA)
|
|
12193
12188
|
throw "Missing 'currentUserId'. Are you logged in?";
|
|
12194
|
-
const
|
|
12189
|
+
const pe = [jA, ...aA.map(({ id: f }) => f)], me = mt(aA), HA = { externalId: Nq, ...IA };
|
|
12195
12190
|
let C = k.find((f) => f.extensions?.externalId == Nq);
|
|
12196
12191
|
if (!C) {
|
|
12197
12192
|
const f = await M({ extensions: { externalId: Nq } });
|
|
@@ -12202,10 +12197,10 @@ const Nm = () => {
|
|
|
12202
12197
|
return;
|
|
12203
12198
|
}
|
|
12204
12199
|
const g = _a(
|
|
12205
|
-
|
|
12200
|
+
me,
|
|
12206
12201
|
Dq,
|
|
12207
12202
|
Hq,
|
|
12208
|
-
|
|
12203
|
+
pe,
|
|
12209
12204
|
jA,
|
|
12210
12205
|
oA,
|
|
12211
12206
|
HA
|
|
@@ -12235,7 +12230,7 @@ const Nm = () => {
|
|
|
12235
12230
|
if (m !== V.current) {
|
|
12236
12231
|
V.current = m;
|
|
12237
12232
|
const { messageId: _, error: oq } = m || {};
|
|
12238
|
-
_ && (console.warn(`[Error] processing message (${_}): ${oq?.info || "unknown"}`),
|
|
12233
|
+
_ && (console.warn(`[Error] processing message (${_}): ${oq?.info || "unknown"}`), qA.warning(e("YouBlocked")));
|
|
12239
12234
|
}
|
|
12240
12235
|
}, [m, e]), $(() => {
|
|
12241
12236
|
if (d !== A.current) {
|
|
@@ -12243,7 +12238,7 @@ const Nm = () => {
|
|
|
12243
12238
|
const { message: _ } = d || {};
|
|
12244
12239
|
if (_ && D)
|
|
12245
12240
|
switch (_.body) {
|
|
12246
|
-
case
|
|
12241
|
+
case Aa.UPDATE_USER:
|
|
12247
12242
|
w === _.userId && _.extension?.userStatus !== b ? E(_.extension.userStatus, !0) : a(_.userId, !0);
|
|
12248
12243
|
break;
|
|
12249
12244
|
}
|
|
@@ -12287,7 +12282,7 @@ function Co({ className: e, ...q }) {
|
|
|
12287
12282
|
return /* @__PURE__ */ o.jsx("div", { "data-slot": "card-footer", className: aq(eq.cardFooter, e), ...q });
|
|
12288
12283
|
}
|
|
12289
12284
|
const Lm = () => {
|
|
12290
|
-
const { t: e } = dq(), q = Fq((y) => y.imgLogoSource), A = Uq((y) => y.setUserAuthorized), [V, t] =
|
|
12285
|
+
const { t: e } = dq(), q = Fq((y) => y.imgLogoSource), A = Uq((y) => y.setUserAuthorized), [V, t] = Pe(
|
|
12291
12286
|
gq((y) => [y.showAlertBusy, y.hideAlertBusy])
|
|
12292
12287
|
), s = UA(), [a, i] = Bq(!!s), {
|
|
12293
12288
|
reset: c,
|
|
@@ -12295,7 +12290,7 @@ const Lm = () => {
|
|
|
12295
12290
|
handleSubmit: n,
|
|
12296
12291
|
formState: { errors: l },
|
|
12297
12292
|
setError: d
|
|
12298
|
-
} =
|
|
12293
|
+
} = JV(), m = r("login", {
|
|
12299
12294
|
required: e("AuthForm.LoginRequired"),
|
|
12300
12295
|
minLength: {
|
|
12301
12296
|
value: 3,
|
|
@@ -12318,7 +12313,7 @@ const Lm = () => {
|
|
|
12318
12313
|
}), M = async ({ login: y, password: U }) => {
|
|
12319
12314
|
V(`${e("PleaseWait")}...`);
|
|
12320
12315
|
try {
|
|
12321
|
-
a ? await
|
|
12316
|
+
a ? await He(y, U) : await sa(y, U), A(!0);
|
|
12322
12317
|
} catch (D) {
|
|
12323
12318
|
const { info: b } = D ?? { info: { errors: [] } }, E = b?.errors ?? [];
|
|
12324
12319
|
let j, G, Q, J;
|
|
@@ -12404,13 +12399,13 @@ const Lm = () => {
|
|
|
12404
12399
|
}, Km = () => {
|
|
12405
12400
|
const { t: e } = dq(), q = Uq((s) => s.setUserAuthorized), A = Fq((s) => s.imgLogoSource), V = async () => {
|
|
12406
12401
|
try {
|
|
12407
|
-
await
|
|
12402
|
+
await Va() && q(!0);
|
|
12408
12403
|
} catch (s) {
|
|
12409
12404
|
const a = s?.errors?.base?.[0] ?? "Login error";
|
|
12410
|
-
|
|
12405
|
+
qA.error(a), console.error("Login error", s);
|
|
12411
12406
|
}
|
|
12412
12407
|
}, t = async () => {
|
|
12413
|
-
Ya(), await
|
|
12408
|
+
Ya(), await ta(), V();
|
|
12414
12409
|
};
|
|
12415
12410
|
return /* @__PURE__ */ o.jsx("div", { className: "flex justify-center items-center size-full p-2 bg-background", children: /* @__PURE__ */ o.jsxs(po, { className: "w-full max-w-sm", children: [
|
|
12416
12411
|
/* @__PURE__ */ o.jsxs(mo, { className: "flex flex-col items-center gap-6", children: [
|
|
@@ -12436,7 +12431,7 @@ const Lm = () => {
|
|
|
12436
12431
|
), n = yq(async () => {
|
|
12437
12432
|
if (!(c || t))
|
|
12438
12433
|
try {
|
|
12439
|
-
await
|
|
12434
|
+
await Va(e, q, A, V) && r(!0);
|
|
12440
12435
|
} catch (d) {
|
|
12441
12436
|
console.error(d?.info?.errors?.login?.[0] ?? "Login error");
|
|
12442
12437
|
}
|
|
@@ -12445,7 +12440,7 @@ const Lm = () => {
|
|
|
12445
12440
|
on: {
|
|
12446
12441
|
sessionExpired: async (m, w) => {
|
|
12447
12442
|
try {
|
|
12448
|
-
const M = await
|
|
12443
|
+
const M = await ea();
|
|
12449
12444
|
M && (console.info("[sessionExpired] session restored successfully"), w(M), await s() || i(), await QV(a, M));
|
|
12450
12445
|
} catch (M) {
|
|
12451
12446
|
console.error("[sessionExpired] session restore failed", M);
|
|
@@ -12461,7 +12456,7 @@ const Lm = () => {
|
|
|
12461
12456
|
function Jm(e) {
|
|
12462
12457
|
return mq({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z" }, child: [] }, { tag: "path", attr: { d: "M8 12h.01" }, child: [] }, { tag: "path", attr: { d: "M12 12h.01" }, child: [] }, { tag: "path", attr: { d: "M16 12h.01" }, child: [] }] })(e);
|
|
12463
12458
|
}
|
|
12464
|
-
const Pm =
|
|
12459
|
+
const Pm = Ws(eq.badge, {
|
|
12465
12460
|
variants: {
|
|
12466
12461
|
variant: {
|
|
12467
12462
|
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
@@ -12480,11 +12475,11 @@ function Eo({
|
|
|
12480
12475
|
asChild: A = !1,
|
|
12481
12476
|
...V
|
|
12482
12477
|
}) {
|
|
12483
|
-
const t = A ?
|
|
12478
|
+
const t = A ? Ps : "span";
|
|
12484
12479
|
return /* @__PURE__ */ o.jsx(t, { "data-slot": "badge", className: aq(Pm({ variant: q }), e), ...V });
|
|
12485
12480
|
}
|
|
12486
12481
|
const Wm = ({ style: e = {} }) => {
|
|
12487
|
-
const [q, A] =
|
|
12482
|
+
const [q, A] = ge(
|
|
12488
12483
|
gq((V) => [V.enableOnlineUsersBadge, V.onlineUsersCount])
|
|
12489
12484
|
);
|
|
12490
12485
|
return q && A > 0 ? /* @__PURE__ */ o.jsx(
|