@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/react18.es.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import Sq, { useRef as kq, useEffect as Aq, useState as Qq, useMemo as xq, useCallback as Nq, forwardRef as
|
|
1
|
+
import Sq, { useRef as kq, useEffect as Aq, useState as Qq, useMemo as xq, useCallback as Nq, forwardRef as rV, useImperativeHandle as ua, memo as sV } from "react";
|
|
2
2
|
import tn from "i18next";
|
|
3
3
|
import { initReactI18next as rn, useTranslation as gq } from "react-i18next";
|
|
4
4
|
import { create as VA } from "zustand";
|
|
5
|
-
import { ConnectyCube as sA, DevicePlatform as sn, NotificationChannel as an, useConnectyCube as Mq, CallDataType as
|
|
5
|
+
import { ConnectyCube as sA, DevicePlatform as sn, NotificationChannel as an, useConnectyCube as Mq, CallDataType as Je, DialogType as xe, ActiveMedia as WV, CallType as ae, MessageStatus as Qe, ChatStatus as zA, ChatType as on } from "@connectycube/react";
|
|
6
6
|
import nn from "get-browser-fingerprint";
|
|
7
7
|
import * as YA 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 ln, Video as
|
|
8
|
+
import { clsx as pa } from "clsx";
|
|
9
|
+
import { Slot as ha } from "@radix-ui/react-slot";
|
|
10
|
+
import { cva as ma } from "class-variance-authority";
|
|
11
|
+
import { toast as gA, Toaster as cn } from "sonner";
|
|
12
|
+
import { VideoOff as ln, Video as wa, MicOff as dn, Mic as gn, Phone as ot, ScreenShareOff as un, ScreenShare as pn, Minimize as hn, Maximize as mn, PictureInPicture2 as wn, PhoneOff as fn, ChevronRightIcon as Mn, Ellipsis as Cn, Paperclip as En, CheckIcon as kn, XIcon as Sn } from "lucide-react";
|
|
13
13
|
import { createPortal as In } from "react-dom";
|
|
14
|
-
import * as
|
|
14
|
+
import * as nt from "@radix-ui/react-avatar";
|
|
15
15
|
import * as FA from "@radix-ui/react-dropdown-menu";
|
|
16
|
-
import { generateText as
|
|
16
|
+
import { generateText as fa } from "ai";
|
|
17
17
|
import { createGoogleGenerativeAI as Bn } from "@ai-sdk/google";
|
|
18
|
-
import { VList as
|
|
18
|
+
import { VList as Ma } from "virtua";
|
|
19
19
|
import { useInView as yn } from "react-intersection-observer";
|
|
20
|
-
import
|
|
20
|
+
import Ca from "linkify-react";
|
|
21
21
|
import * as xn from "@radix-ui/react-label";
|
|
22
|
-
import * as
|
|
23
|
-
import { useForm as
|
|
24
|
-
import * as
|
|
22
|
+
import * as Nt from "@radix-ui/react-checkbox";
|
|
23
|
+
import { useForm as it } from "react-hook-form";
|
|
24
|
+
import * as aV from "@radix-ui/react-tabs";
|
|
25
25
|
import * as jA from "@radix-ui/react-dialog";
|
|
26
|
-
import { DialogDescription as
|
|
26
|
+
import { DialogDescription as Ea } from "@radix-ui/react-dialog";
|
|
27
27
|
import * as ie from "@radix-ui/react-tooltip";
|
|
28
|
-
import * as
|
|
28
|
+
import * as Gt from "@radix-ui/react-switch";
|
|
29
29
|
function Tn(e) {
|
|
30
30
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
31
31
|
}
|
|
32
|
-
var
|
|
32
|
+
var Ne = { exports: {} }, ue = {};
|
|
33
33
|
/**
|
|
34
34
|
* @license React
|
|
35
35
|
* react-jsx-runtime.production.min.js
|
|
@@ -39,10 +39,10 @@ var Qe = { exports: {} }, ue = {};
|
|
|
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 jt;
|
|
43
43
|
function bn() {
|
|
44
|
-
if (
|
|
45
|
-
|
|
44
|
+
if (jt) return ue;
|
|
45
|
+
jt = 1;
|
|
46
46
|
var e = Sq, q = Symbol.for("react.element"), A = Symbol.for("react.fragment"), V = Object.prototype.hasOwnProperty, t = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, s = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
47
47
|
function a(i, c, r) {
|
|
48
48
|
var n, l = {}, d = null, m = null;
|
|
@@ -53,10 +53,10 @@ function bn() {
|
|
|
53
53
|
}
|
|
54
54
|
return ue.Fragment = A, ue.jsx = a, ue.jsxs = a, ue;
|
|
55
55
|
}
|
|
56
|
-
var pe = {},
|
|
56
|
+
var pe = {}, Rt;
|
|
57
57
|
function Dn() {
|
|
58
|
-
if (
|
|
59
|
-
|
|
58
|
+
if (Rt) return pe;
|
|
59
|
+
Rt = 1;
|
|
60
60
|
/**
|
|
61
61
|
* @license React
|
|
62
62
|
* react-jsx-runtime.development.js
|
|
@@ -490,7 +490,7 @@ function Dn() {
|
|
|
490
490
|
}
|
|
491
491
|
}
|
|
492
492
|
var iq = y.ReactCurrentOwner, Oq = y.ReactDebugCurrentFrame;
|
|
493
|
-
function
|
|
493
|
+
function lA(f) {
|
|
494
494
|
if (f) {
|
|
495
495
|
var R = f._owner, W = Jq(f.type, f._source, R ? R.type : null);
|
|
496
496
|
Oq.setExtraStackFrame(W);
|
|
@@ -502,7 +502,7 @@ function Dn() {
|
|
|
502
502
|
function EV(f) {
|
|
503
503
|
return typeof f == "object" && f !== null && f.$$typeof === q;
|
|
504
504
|
}
|
|
505
|
-
function
|
|
505
|
+
function Tt() {
|
|
506
506
|
{
|
|
507
507
|
if (iq.current) {
|
|
508
508
|
var f = P(iq.current.type);
|
|
@@ -517,10 +517,10 @@ Check the render method of \`` + f + "`.";
|
|
|
517
517
|
function Wo(f) {
|
|
518
518
|
return "";
|
|
519
519
|
}
|
|
520
|
-
var
|
|
520
|
+
var bt = {};
|
|
521
521
|
function Zo(f) {
|
|
522
522
|
{
|
|
523
|
-
var R =
|
|
523
|
+
var R = Tt();
|
|
524
524
|
if (!R) {
|
|
525
525
|
var W = typeof f == "string" ? f : f.displayName || f.name;
|
|
526
526
|
W && (R = `
|
|
@@ -530,27 +530,27 @@ Check the top-level render call using <` + W + ">.");
|
|
|
530
530
|
return R;
|
|
531
531
|
}
|
|
532
532
|
}
|
|
533
|
-
function
|
|
533
|
+
function Dt(f, R) {
|
|
534
534
|
{
|
|
535
535
|
if (!f._store || f._store.validated || f.key != null)
|
|
536
536
|
return;
|
|
537
537
|
f._store.validated = !0;
|
|
538
538
|
var W = Zo(R);
|
|
539
|
-
if (
|
|
539
|
+
if (bt[W])
|
|
540
540
|
return;
|
|
541
|
-
|
|
541
|
+
bt[W] = !0;
|
|
542
542
|
var oq = "";
|
|
543
|
-
f && f._owner && f._owner !== iq.current && (oq = " It was passed a child from " + P(f._owner.type) + "."),
|
|
543
|
+
f && f._owner && f._owner !== iq.current && (oq = " It was passed a child from " + P(f._owner.type) + "."), lA(f), D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', W, oq), lA(null);
|
|
544
544
|
}
|
|
545
545
|
}
|
|
546
|
-
function
|
|
546
|
+
function vt(f, R) {
|
|
547
547
|
{
|
|
548
548
|
if (typeof f != "object")
|
|
549
549
|
return;
|
|
550
550
|
if (E(f))
|
|
551
551
|
for (var W = 0; W < f.length; W++) {
|
|
552
552
|
var oq = f[W];
|
|
553
|
-
EV(oq) &&
|
|
553
|
+
EV(oq) && Dt(oq, R);
|
|
554
554
|
}
|
|
555
555
|
else if (EV(f))
|
|
556
556
|
f._store && (f._store.validated = !0);
|
|
@@ -558,7 +558,7 @@ Check the top-level render call using <` + W + ">.");
|
|
|
558
558
|
var Eq = S(f);
|
|
559
559
|
if (typeof Eq == "function" && Eq !== f.entries)
|
|
560
560
|
for (var yq = Eq.call(f), pq; !(pq = yq.next()).done; )
|
|
561
|
-
EV(pq.value) &&
|
|
561
|
+
EV(pq.value) && Dt(pq.value, R);
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
564
|
}
|
|
@@ -592,22 +592,22 @@ Check the top-level render call using <` + W + ">.");
|
|
|
592
592
|
for (var R = Object.keys(f.props), W = 0; W < R.length; W++) {
|
|
593
593
|
var oq = R[W];
|
|
594
594
|
if (oq !== "children" && oq !== "key") {
|
|
595
|
-
|
|
595
|
+
lA(f), D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", oq), lA(null);
|
|
596
596
|
break;
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
|
-
f.ref !== null && (
|
|
599
|
+
f.ref !== null && (lA(f), D("Invalid attribute `ref` supplied to `React.Fragment`."), lA(null));
|
|
600
600
|
}
|
|
601
601
|
}
|
|
602
|
-
var
|
|
603
|
-
function
|
|
602
|
+
var Ut = {};
|
|
603
|
+
function Qt(f, R, W, oq, Eq, yq) {
|
|
604
604
|
{
|
|
605
605
|
var pq = O(f);
|
|
606
606
|
if (!pq) {
|
|
607
607
|
var dq = "";
|
|
608
608
|
(f === void 0 || typeof f == "object" && f !== null && Object.keys(f).length === 0) && (dq += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
|
|
609
609
|
var tA = Wo();
|
|
610
|
-
tA ? dq += tA : dq +=
|
|
610
|
+
tA ? dq += tA : dq += Tt();
|
|
611
611
|
var Yq;
|
|
612
612
|
f === null ? Yq = "null" : E(f) ? Yq = "array" : f !== void 0 && f.$$typeof === q ? (Yq = "<" + (P(f.type) || "Unknown") + " />", dq = " Did you accidentally export a JSX literal instead of a component?") : Yq = typeof f, D("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", Yq, dq);
|
|
613
613
|
}
|
|
@@ -620,43 +620,43 @@ Check the top-level render call using <` + W + ">.");
|
|
|
620
620
|
if (oq)
|
|
621
621
|
if (E(wA)) {
|
|
622
622
|
for (var Ve = 0; Ve < wA.length; Ve++)
|
|
623
|
-
|
|
623
|
+
vt(wA[Ve], f);
|
|
624
624
|
Object.freeze && Object.freeze(wA);
|
|
625
625
|
} else
|
|
626
626
|
D("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
|
627
627
|
else
|
|
628
|
-
|
|
628
|
+
vt(wA, f);
|
|
629
629
|
}
|
|
630
630
|
if (mA.call(R, "key")) {
|
|
631
631
|
var _A = P(f), nA = Object.keys(R).filter(function(Vn) {
|
|
632
632
|
return Vn !== "key";
|
|
633
633
|
}), kV = nA.length > 0 ? "{key: someKey, " + nA.join(": ..., ") + ": ...}" : "{key: someKey}";
|
|
634
|
-
if (!
|
|
634
|
+
if (!Ut[_A + kV]) {
|
|
635
635
|
var en = nA.length > 0 ? "{" + nA.join(": ..., ") + ": ...}" : "{}";
|
|
636
636
|
D(`A props object containing a "key" prop is being spread into JSX:
|
|
637
637
|
let props = %s;
|
|
638
638
|
<%s {...props} />
|
|
639
639
|
React keys must be passed directly to JSX without using spread:
|
|
640
640
|
let props = %s;
|
|
641
|
-
<%s key={someKey} {...props} />`, kV, _A, en, _A),
|
|
641
|
+
<%s key={someKey} {...props} />`, kV, _A, en, _A), Ut[_A + kV] = !0;
|
|
642
642
|
}
|
|
643
643
|
}
|
|
644
644
|
return f === V ? Xo(Lq) : Ho(Lq), Lq;
|
|
645
645
|
}
|
|
646
646
|
}
|
|
647
647
|
function _o(f, R, W) {
|
|
648
|
-
return
|
|
648
|
+
return Qt(f, R, W, !0);
|
|
649
649
|
}
|
|
650
650
|
function $o(f, R, W) {
|
|
651
|
-
return
|
|
651
|
+
return Qt(f, R, W, !1);
|
|
652
652
|
}
|
|
653
653
|
var qn = $o, An = _o;
|
|
654
654
|
pe.Fragment = V, pe.jsx = qn, pe.jsxs = An;
|
|
655
655
|
})(), pe;
|
|
656
656
|
}
|
|
657
|
-
var
|
|
657
|
+
var Yt;
|
|
658
658
|
function vn() {
|
|
659
|
-
return
|
|
659
|
+
return Yt || (Yt = 1, "production".NODE_ENV === "production" ? Ne.exports = bn() : Ne.exports = Dn()), Ne.exports;
|
|
660
660
|
}
|
|
661
661
|
var o = vn();
|
|
662
662
|
const Un = "Add members", Qn = "Admin", Nn = "are typing", Gn = "Cancel", jn = "Chat name", Rn = "Chat name is required", Yn = "Chat", Fn = "Chats", On = "Choose a chat", Ln = "Continue", Kn = "Create group chat", zn = "Delete", Jn = "Draft", Pn = "Enter message", Wn = "Enter user name", Zn = "Exit chat", Hn = "File format is not supported", Xn = "is typing", _n = "me", $n = "Members", qi = "members", Ai = "New group", ei = "New message", Vi = "Begin your first chat and see what happens!", ti = "No messages yet", ri = "No online users", si = "Profile", ai = "Remove members", oi = "Reset", ni = "Search", ii = "Select", ci = "Send", li = "Start chat", di = "Send message to user", gi = "Start a new Group", ui = "typing", pi = "Users", hi = "you", mi = "Block", wi = "Unblock", fi = "Report", Mi = "Report user", Ci = "What's wrong with this user?", Ei = "Reason for reporting", ki = "Report has been created successfully", Si = "Failed to submit report", Ii = "My profile", Bi = "You are blocked by this user", yi = "Block list", xi = "Add to block list", Ti = "Remove from block list", bi = "Block list is empty", Di = "Notification settings", vi = "Notifications", Ui = "Notification sound", Qi = "Push notifications", Ni = "Please wait", Gi = "Available", ji = "Busy", Ri = "Away", Yi = "Online", Fi = "Incoming call", Oi = "Incoming audio call from {{name}}", Li = "Incoming video call from {{name}}", Ki = "Accept", zi = "Reject", Ji = "{{name}} rejected the call", Pi = "Missed call from {{name}}", Wi = { 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?" }, Zi = { 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" }, Hi = "Opponent(s) for the chat not found", Xi = "Information", _i = { 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" }, $i = { RejectedIncoming: "Rejected incoming", RejectedOutgoing: "Rejected outgoing", Unanswered: "Unanswered", Missed: "Missed", Canceled: "Canceled", Ended: "Ended", videoCall: "video call", audioCall: "audio call", defaultCall: "call" }, qc = {
|
|
@@ -893,7 +893,7 @@ const Un = "Add members", Qn = "Admin", Nn = "are typing", Gn = "Cancel", jn = "
|
|
|
893
893
|
Information: Rd,
|
|
894
894
|
AI: Yd,
|
|
895
895
|
CallHistory: Fd
|
|
896
|
-
},
|
|
896
|
+
}, ka = {
|
|
897
897
|
en: "English",
|
|
898
898
|
ua: "Ukrainian",
|
|
899
899
|
el: "Greek"
|
|
@@ -911,34 +911,34 @@ tn.use(rn).init({
|
|
|
911
911
|
}
|
|
912
912
|
});
|
|
913
913
|
var vA = /* @__PURE__ */ ((e) => (e.CHATS = "chats", e.USERS = "users", e))(vA || {});
|
|
914
|
-
const
|
|
914
|
+
const Ft = {
|
|
915
915
|
activeTab: "chats"
|
|
916
916
|
/* CHATS */
|
|
917
|
-
},
|
|
918
|
-
...
|
|
917
|
+
}, oV = VA((e) => ({
|
|
918
|
+
...Ft,
|
|
919
919
|
setActiveTab: (q) => e({ activeTab: q }),
|
|
920
|
-
resetActiveTab: () => e({ activeTab:
|
|
920
|
+
resetActiveTab: () => e({ activeTab: Ft.activeTab })
|
|
921
921
|
})), Kd = () => {
|
|
922
|
-
|
|
922
|
+
oV.setState({
|
|
923
923
|
activeTab: "chats"
|
|
924
924
|
/* CHATS */
|
|
925
925
|
});
|
|
926
926
|
}, ZV = {
|
|
927
927
|
visible: !1,
|
|
928
928
|
title: ""
|
|
929
|
-
},
|
|
929
|
+
}, nV = VA((e) => ({
|
|
930
930
|
...ZV,
|
|
931
931
|
showAlertBusy: (q = "") => e({ visible: !0, title: q }),
|
|
932
932
|
hideAlertBusy: () => e({ visible: !1, title: ZV.title })
|
|
933
933
|
})), zd = () => {
|
|
934
|
-
|
|
934
|
+
nV.setState({ visible: !1, title: ZV.title });
|
|
935
935
|
}, Jd = { 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" }, {
|
|
936
936
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_EXTERNAL_ID: Pd,
|
|
937
937
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_NAME: Wd,
|
|
938
938
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_PHOTO: Zd,
|
|
939
939
|
CHAT_WIDGET_CONNECTYCUBE_SINGLE_VIEW_CHAT_OPPONENTS_IDS: Hd
|
|
940
940
|
} = Jd || "production";
|
|
941
|
-
var
|
|
941
|
+
var Pe = /* @__PURE__ */ ((e) => (e.SINGLE = "1on1", e.GROUP = "group", e))(Pe || {});
|
|
942
942
|
const oe = {
|
|
943
943
|
defaultChat: null,
|
|
944
944
|
singleViewChat: {
|
|
@@ -947,16 +947,16 @@ const oe = {
|
|
|
947
947
|
name: Wd,
|
|
948
948
|
photo: Zd
|
|
949
949
|
}
|
|
950
|
-
},
|
|
950
|
+
}, ct = VA((e) => ({
|
|
951
951
|
...oe,
|
|
952
952
|
setDefaultChat: (q) => e({ defaultChat: q }),
|
|
953
953
|
setSingleViewChat: (q) => e({ singleViewChat: q }),
|
|
954
954
|
resetDefaultChat: () => e({ defaultChat: oe.defaultChat }),
|
|
955
955
|
resetSingleViewChat: () => e({ singleViewChat: oe.singleViewChat })
|
|
956
956
|
})), Xd = (e) => {
|
|
957
|
-
|
|
957
|
+
ct.setState(e);
|
|
958
958
|
}, _d = () => {
|
|
959
|
-
|
|
959
|
+
ct.setState(oe);
|
|
960
960
|
}, zq = {
|
|
961
961
|
opened: !1,
|
|
962
962
|
splitView: !1,
|
|
@@ -992,119 +992,119 @@ const oe = {
|
|
|
992
992
|
_q.setState(e);
|
|
993
993
|
}, qg = () => {
|
|
994
994
|
_q.setState(zq);
|
|
995
|
-
},
|
|
995
|
+
}, Ot = (e = []) => e.slice().filter(Boolean).sort((q, A) => q.id - A.id).reduce((q, { id: A }) => `${q}:${A}`, Ze), Ag = (e) => new Promise((q) => setTimeout(q, e)), eg = (e) => e.replace(
|
|
996
996
|
/@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,
|
|
997
997
|
(q, A) => A.trim()
|
|
998
998
|
), CA = typeof window == "object" && typeof document == "object";
|
|
999
999
|
var fe = /* @__PURE__ */ ((e) => (e.WRAPPER = "data-connectycube-chat-widget-wrapper", e.FOCUSED = "data-connectycube-chat-widget-focused", e))(fe || {});
|
|
1000
|
-
const
|
|
1001
|
-
var NA = /* @__PURE__ */ ((e) => (e.GET_SUMMARY = "ai:get-summary", e.CHANGE_TONE = "ai:change-tone", e.DEFAULT = "ai:default", e))(NA || {}), qe = /* @__PURE__ */ ((e) => (e.LAST_7_DAYS = "last-7-days", e.LAST_DAY = "last-day", e.UNREADS = "unreads", e))(qe || {}),
|
|
1002
|
-
const
|
|
1000
|
+
const Lt = "15px", Kt = "400", Ze = "external_id", zt = "::current_user";
|
|
1001
|
+
var NA = /* @__PURE__ */ ((e) => (e.GET_SUMMARY = "ai:get-summary", e.CHANGE_TONE = "ai:change-tone", e.DEFAULT = "ai:default", e))(NA || {}), qe = /* @__PURE__ */ ((e) => (e.LAST_7_DAYS = "last-7-days", e.LAST_DAY = "last-day", e.UNREADS = "unreads", e))(qe || {}), We = /* @__PURE__ */ ((e) => (e.POSITIVE = "positive", e.NEGATIVE = "negative", e.CRINGE = "cringe", e))(We || {}), lt = /* @__PURE__ */ ((e) => (e.AI_TEXT_SUMMARY = "ai-text-summary", e))(lt || {});
|
|
1002
|
+
const iV = "@connectycube/chat-widget:draftMessages", Vg = () => {
|
|
1003
1003
|
try {
|
|
1004
|
-
const e = CA ? localStorage?.getItem(
|
|
1004
|
+
const e = CA ? localStorage?.getItem(iV) : null;
|
|
1005
1005
|
return e ? JSON.parse(e) : {};
|
|
1006
1006
|
} catch (e) {
|
|
1007
1007
|
return console.error("Could not load state from localStorage", e), {};
|
|
1008
1008
|
}
|
|
1009
|
-
},
|
|
1009
|
+
}, Ge = (e) => {
|
|
1010
1010
|
if (CA)
|
|
1011
1011
|
try {
|
|
1012
1012
|
const q = JSON.stringify(e);
|
|
1013
|
-
localStorage?.setItem(
|
|
1013
|
+
localStorage?.setItem(iV, q);
|
|
1014
1014
|
} catch (q) {
|
|
1015
1015
|
console.error("Could not save state to localStorage", q);
|
|
1016
1016
|
}
|
|
1017
1017
|
}, tg = () => {
|
|
1018
1018
|
if (CA)
|
|
1019
1019
|
try {
|
|
1020
|
-
localStorage?.removeItem(
|
|
1020
|
+
localStorage?.removeItem(iV);
|
|
1021
1021
|
} catch (e) {
|
|
1022
1022
|
console.error("Could not clear state from localStorage", e);
|
|
1023
1023
|
}
|
|
1024
|
-
}, SV = Vg(),
|
|
1024
|
+
}, SV = Vg(), cV = VA((e) => ({
|
|
1025
1025
|
draftMessages: SV,
|
|
1026
1026
|
setDraftMessages: (q) => {
|
|
1027
|
-
e({ draftMessages: q }),
|
|
1027
|
+
e({ draftMessages: q }), Ge(q);
|
|
1028
1028
|
},
|
|
1029
1029
|
upsertDraftMessage: (q) => {
|
|
1030
1030
|
e((A) => {
|
|
1031
1031
|
const V = { ...A.draftMessages, ...q };
|
|
1032
|
-
return
|
|
1032
|
+
return Ge(V), { draftMessages: V };
|
|
1033
1033
|
});
|
|
1034
1034
|
},
|
|
1035
1035
|
deleteDraftMessage: (q) => {
|
|
1036
1036
|
e((A) => {
|
|
1037
1037
|
const V = { ...A.draftMessages };
|
|
1038
|
-
return delete V[q],
|
|
1038
|
+
return delete V[q], Ge(V), { draftMessages: V };
|
|
1039
1039
|
});
|
|
1040
1040
|
},
|
|
1041
1041
|
resetDraftMessages: () => {
|
|
1042
|
-
e({ draftMessages: SV }),
|
|
1042
|
+
e({ draftMessages: SV }), Ge(SV);
|
|
1043
1043
|
}
|
|
1044
1044
|
})), rg = () => {
|
|
1045
|
-
tg(),
|
|
1045
|
+
tg(), cV.setState({ draftMessages: {} });
|
|
1046
1046
|
};
|
|
1047
|
-
var
|
|
1048
|
-
const
|
|
1047
|
+
var Sa = /* @__PURE__ */ ((e) => (e.UPDATE_USER = "user/UPDATE", e))(Sa || {}), $q = /* @__PURE__ */ ((e) => (e.AVAILABLE = "Available", e.BUSY = "Busy", e.AWAY = "Away", e))($q || {});
|
|
1048
|
+
const dt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:guest", XV = "@connectycube/chat-widget:rememberMe", Jt = "widget_", sg = (e, q) => {
|
|
1049
1049
|
sA.init(e, q);
|
|
1050
1050
|
}, ag = async (e, q, A, V) => {
|
|
1051
|
-
const t = !
|
|
1051
|
+
const t = !Qa();
|
|
1052
1052
|
if (t) {
|
|
1053
1053
|
const s = ZA();
|
|
1054
|
-
s && (sA.setSession(s), await
|
|
1054
|
+
s && (sA.setSession(s), await ba(s, e, q, A, V));
|
|
1055
1055
|
}
|
|
1056
1056
|
return t;
|
|
1057
|
-
},
|
|
1058
|
-
const q = ZA()?.user?.login, A = typeof q == "string" && (await
|
|
1059
|
-
return q && A ? await
|
|
1060
|
-
},
|
|
1057
|
+
}, Ia = async () => {
|
|
1058
|
+
const q = ZA()?.user?.login, A = typeof q == "string" && (await Na(q)).substring(0, 32);
|
|
1059
|
+
return q && A ? await lV(q, A) : null;
|
|
1060
|
+
}, lV = async (e, q) => {
|
|
1061
1061
|
const A = await sA.createSession({ login: e, password: q });
|
|
1062
|
-
return
|
|
1063
|
-
},
|
|
1064
|
-
const t = cg(e), s = (await
|
|
1062
|
+
return dV(A, be()), A;
|
|
1063
|
+
}, Ba = async (e, q, A, V) => {
|
|
1064
|
+
const t = cg(e), s = (await Na(t)).substring(0, 32), a = e;
|
|
1065
1065
|
let i;
|
|
1066
1066
|
try {
|
|
1067
|
-
i = await
|
|
1067
|
+
i = await lV(t, s), await ba(i, q, a, A, V);
|
|
1068
1068
|
} catch (c) {
|
|
1069
1069
|
if (c?.code === 404)
|
|
1070
|
-
i = await
|
|
1070
|
+
i = await Ta(t, s, q, a, A, V);
|
|
1071
1071
|
else
|
|
1072
1072
|
throw c;
|
|
1073
1073
|
}
|
|
1074
1074
|
return i;
|
|
1075
|
-
},
|
|
1075
|
+
}, ya = async () => {
|
|
1076
1076
|
try {
|
|
1077
|
-
await sA.destroySession(),
|
|
1077
|
+
await sA.destroySession(), gt();
|
|
1078
1078
|
} catch (e) {
|
|
1079
1079
|
console.error(e);
|
|
1080
1080
|
}
|
|
1081
|
-
},
|
|
1081
|
+
}, xa = () => {
|
|
1082
1082
|
const e = sA.service?.getSession();
|
|
1083
1083
|
return e || null;
|
|
1084
|
-
},
|
|
1084
|
+
}, Ta = async (e, q, A, V, t, s) => {
|
|
1085
1085
|
const a = { login: e, password: q, full_name: A || e };
|
|
1086
|
-
return V && (a.external_id = V + ""), t && (a.avatar = t), s && (a.website = s), await sA.users.signup(a),
|
|
1086
|
+
return V && (a.external_id = V + ""), t && (a.avatar = t), s && (a.website = s), await sA.users.signup(a), lV(e, q);
|
|
1087
1087
|
}, og = (e = {}) => sA.service?.sdkInstance?.config?.set?.(e), _V = async (e, q) => {
|
|
1088
|
-
const A = q?.user_id ??
|
|
1088
|
+
const A = q?.user_id ?? Ua(), V = q?.token ?? ng(), t = A && V ? { userId: A, password: V } : null;
|
|
1089
1089
|
return t ? e(t) : Promise.reject(new Error("[useConnectyCube.connect] Missing userId and password"));
|
|
1090
|
-
},
|
|
1090
|
+
}, ba = async (e, q, A, V, t) => {
|
|
1091
1091
|
const s = {};
|
|
1092
1092
|
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) {
|
|
1093
1093
|
const { user: a } = await sA.users.update(s);
|
|
1094
|
-
a && (e.user = a,
|
|
1094
|
+
a && (e.user = a, dV(e, be()));
|
|
1095
1095
|
}
|
|
1096
1096
|
return e;
|
|
1097
|
-
},
|
|
1098
|
-
CA && !q && localStorage.setItem(
|
|
1097
|
+
}, dV = (e, q = !1) => {
|
|
1098
|
+
CA && !q && localStorage.setItem(dt, JSON.stringify(e));
|
|
1099
1099
|
}, ZA = () => {
|
|
1100
|
-
const e = CA && localStorage.getItem(
|
|
1101
|
-
return e ? JSON.parse(e) :
|
|
1102
|
-
},
|
|
1103
|
-
CA && (localStorage.removeItem(
|
|
1100
|
+
const e = CA && localStorage.getItem(dt);
|
|
1101
|
+
return e ? JSON.parse(e) : be() ? xa() : null;
|
|
1102
|
+
}, gt = () => {
|
|
1103
|
+
CA && (localStorage.removeItem(dt), localStorage.removeItem(iV));
|
|
1104
1104
|
}, HA = () => {
|
|
1105
1105
|
const e = ZA();
|
|
1106
1106
|
return e ? e.user : null;
|
|
1107
|
-
},
|
|
1107
|
+
}, Da = (e) => {
|
|
1108
1108
|
if (typeof e?.custom_data == "string")
|
|
1109
1109
|
try {
|
|
1110
1110
|
return JSON.parse(e.custom_data);
|
|
@@ -1112,26 +1112,26 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1112
1112
|
return console.error("Error parsing custom data:", q), null;
|
|
1113
1113
|
}
|
|
1114
1114
|
return null;
|
|
1115
|
-
},
|
|
1115
|
+
}, va = () => {
|
|
1116
1116
|
const e = HA();
|
|
1117
|
-
return
|
|
1118
|
-
},
|
|
1119
|
-
const A =
|
|
1117
|
+
return Da(e);
|
|
1118
|
+
}, Te = (e) => Da(e || HA())?.userStatus ?? "Available", je = async (e, q = !1) => {
|
|
1119
|
+
const A = va(), V = Object.assign({}, A, e), t = JSON.stringify(V), s = ZA();
|
|
1120
1120
|
let a = HA();
|
|
1121
|
-
return a && q ? a = { ...a, custom_data: t } : a = (await sA.users.update({ custom_data: t })).user, s &&
|
|
1121
|
+
return a && q ? a = { ...a, custom_data: t } : a = (await sA.users.update({ custom_data: t })).user, s && dV({ ...s, user: a }, be()), a;
|
|
1122
1122
|
}, ng = () => {
|
|
1123
1123
|
const e = ZA();
|
|
1124
1124
|
return e ? e.token : null;
|
|
1125
|
-
},
|
|
1125
|
+
}, Ua = () => {
|
|
1126
1126
|
const e = ZA();
|
|
1127
1127
|
return e ? e.user_id : null;
|
|
1128
|
-
},
|
|
1129
|
-
const q = (
|
|
1128
|
+
}, Qa = () => {
|
|
1129
|
+
const q = (be() ? null : ZA())?.updated_at ?? (/* @__PURE__ */ new Date(0)).toISOString(), A = new Date(q).getTime(), t = Date.now() - A, s = 6e4 * 119;
|
|
1130
1130
|
return t > s;
|
|
1131
1131
|
}, ig = (e) => {
|
|
1132
1132
|
const q = ZA();
|
|
1133
1133
|
return q ? !!(e && q.user?.external_id !== e) : !1;
|
|
1134
|
-
},
|
|
1134
|
+
}, Na = async (e) => {
|
|
1135
1135
|
const q = new TextEncoder().encode(e);
|
|
1136
1136
|
let A;
|
|
1137
1137
|
try {
|
|
@@ -1140,8 +1140,8 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1140
1140
|
A = new Uint8Array(q.length).map(() => Math.random() * 256 | 0).buffer;
|
|
1141
1141
|
}
|
|
1142
1142
|
return Array.from(new Uint8Array(A)).map((V) => V.toString(16).padStart(2, "0")).join("");
|
|
1143
|
-
}, aA = (e, q = !0) => e ? e.full_name || e.login || `Unknown:${e.id}` : q ? "Unknown" : "",
|
|
1144
|
-
const q = await nn(), A =
|
|
1143
|
+
}, aA = (e, q = !0) => e ? e.full_name || e.login || `Unknown:${e.id}` : q ? "Unknown" : "", ut = (e) => e ? /^(https?:\/\/|\/|\.\/|\.\.\/)/.test(e) ? e : sA.storage.privateUrl(e) : "", cg = (e) => e ? `${Jt}${e}` : `${Jt}${Math.random().toString(36).substring(2, 14)}`, lg = async (e, q) => sA.data.create("UserReports", { reportedUserId: e, reason: q }), dg = async (e) => {
|
|
1144
|
+
const q = await nn(), A = Ua(), V = btoa(`${A}:${q}`), { endpoint: t, auth: s, p256dh: a } = e ?? {};
|
|
1145
1145
|
if (t && s && a && V)
|
|
1146
1146
|
return sA.pushnotifications.subscriptions.create({
|
|
1147
1147
|
notification_channel: an.WEB,
|
|
@@ -1165,7 +1165,7 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1165
1165
|
CA && (e ? localStorage.setItem(XV, "1") : localStorage.removeItem(XV));
|
|
1166
1166
|
}, hg = (e = !1) => {
|
|
1167
1167
|
CA && (e ? localStorage.setItem(HV, "1") : localStorage.removeItem(HV));
|
|
1168
|
-
}, mg = () => CA ? !!localStorage.getItem(XV) : !1, wg = () => CA ? !!localStorage.getItem(HV) : !1,
|
|
1168
|
+
}, mg = () => CA ? !!localStorage.getItem(XV) : !1, wg = () => CA ? !!localStorage.getItem(HV) : !1, be = () => wg() && !mg(), fg = { CHAT_WIDGET_CONNECTYCUBE_TERMS_AND_CONDITIONS: "https://connectycube.com/terms-of-use/" }, { CHAT_WIDGET_CONNECTYCUBE_TERMS_AND_CONDITIONS: Mg } = fg || "production", Uq = {
|
|
1169
1169
|
userAuthorized: !1,
|
|
1170
1170
|
attachmentsAccept: "*/*",
|
|
1171
1171
|
attachmentsAcceptList: ["*/*"],
|
|
@@ -1181,7 +1181,7 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1181
1181
|
}, Fq = VA((e, q) => ({
|
|
1182
1182
|
...Uq,
|
|
1183
1183
|
setUserAuthorized: (A) => e({ userAuthorized: A }),
|
|
1184
|
-
setAttachmentsAccept: (A) => e({ attachmentsAccept: A, attachmentsAcceptList:
|
|
1184
|
+
setAttachmentsAccept: (A) => e({ attachmentsAccept: A, attachmentsAcceptList: ja(A) }),
|
|
1185
1185
|
setEnableUserLogin: (A) => e({ enableUserLogin: A }),
|
|
1186
1186
|
setEnableCalls: (A) => e({ enableCalls: A && ug }),
|
|
1187
1187
|
setEnableUserStatuses: (A) => e({ enableUserStatuses: A }),
|
|
@@ -1206,11 +1206,11 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1206
1206
|
resetLimitUrlsPreviews: () => e({ limitUrlsPreviews: Uq.limitUrlsPreviews }),
|
|
1207
1207
|
resetTermsAndConditions: () => e({ termsAndConditions: Uq.termsAndConditions }),
|
|
1208
1208
|
isSupportedFile: (A) => Eg(A, q().attachmentsAcceptList)
|
|
1209
|
-
})),
|
|
1210
|
-
e.attachmentsAccept && (e.attachmentsAcceptList =
|
|
1209
|
+
})), Ga = (e) => {
|
|
1210
|
+
e.attachmentsAccept && (e.attachmentsAcceptList = ja(e.attachmentsAccept)), e.limitUrlsPreviews && (e.limitUrlsPreviews = e.limitUrlsPreviews > 5 ? 5 : e.limitUrlsPreviews), Fq.setState(e);
|
|
1211
1211
|
}, Cg = () => {
|
|
1212
1212
|
Fq.setState(Uq);
|
|
1213
|
-
},
|
|
1213
|
+
}, ja = (e) => typeof e == "string" ? e.split(/\s*,\s*|\s+/).map((q) => q.toLowerCase().trim()) : null, Eg = (e, q) => {
|
|
1214
1214
|
const { type: A, size: V } = e;
|
|
1215
1215
|
if (q === null || typeof A != "string" || typeof V != "number" || V <= 0 || A.length === 0)
|
|
1216
1216
|
return !1;
|
|
@@ -1249,20 +1249,20 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1249
1249
|
description: "",
|
|
1250
1250
|
actions: []
|
|
1251
1251
|
}
|
|
1252
|
-
},
|
|
1252
|
+
}, pt = VA((e) => ({
|
|
1253
1253
|
...He,
|
|
1254
1254
|
setQuickActions: (q) => e({ quickActions: q }),
|
|
1255
1255
|
resetQuickActions: () => e({ quickActions: He.quickActions })
|
|
1256
1256
|
})), xg = (e) => {
|
|
1257
|
-
|
|
1257
|
+
pt.setState(e);
|
|
1258
1258
|
}, Tg = () => {
|
|
1259
|
-
|
|
1259
|
+
pt.setState(He);
|
|
1260
1260
|
}, bA = {
|
|
1261
1261
|
requestOnlineUsersInterval: 300,
|
|
1262
1262
|
// in seconds
|
|
1263
1263
|
enableOnlineUsersBadge: !1,
|
|
1264
1264
|
onlineUsersCount: 0
|
|
1265
|
-
},
|
|
1265
|
+
}, De = VA((e) => ({
|
|
1266
1266
|
requestOnlineUsersInterval: bA.requestOnlineUsersInterval,
|
|
1267
1267
|
// in seconds
|
|
1268
1268
|
enableOnlineUsersBadge: bA.enableOnlineUsersBadge,
|
|
@@ -1278,10 +1278,10 @@ const gt = "@connectycube/chat-widget:session", HV = "@connectycube/chat-widget:
|
|
|
1278
1278
|
resetEnableOnlineUsersBadge: () => e({ enableOnlineUsersBadge: bA.enableOnlineUsersBadge }),
|
|
1279
1279
|
resetOnlineUsersCount: () => e({ onlineUsersCount: bA.onlineUsersCount })
|
|
1280
1280
|
})), bg = () => {
|
|
1281
|
-
|
|
1282
|
-
},
|
|
1281
|
+
De.setState({ onlineUsersCount: 0 });
|
|
1282
|
+
}, ht = typeof Buffer == "function";
|
|
1283
1283
|
typeof TextDecoder == "function" && new TextDecoder();
|
|
1284
|
-
const
|
|
1284
|
+
const Pt = typeof TextEncoder == "function" ? new TextEncoder() : void 0, Dg = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", Me = Array.prototype.slice.call(Dg);
|
|
1285
1285
|
((e) => {
|
|
1286
1286
|
let q = {};
|
|
1287
1287
|
return e.forEach((A, V) => q[A] = V), q;
|
|
@@ -1297,11 +1297,11 @@ const vg = (e) => e.replace(/=/g, "").replace(/[+\/]/g, (q) => q == "+" ? "-" :
|
|
|
1297
1297
|
q = A << 16 | V << 8 | t, s += Me[q >> 18 & 63] + Me[q >> 12 & 63] + Me[q >> 6 & 63] + Me[q & 63];
|
|
1298
1298
|
}
|
|
1299
1299
|
return a ? s.slice(0, a - 3) + "===".substring(a) : s;
|
|
1300
|
-
},
|
|
1300
|
+
}, Ra = typeof btoa == "function" ? (e) => btoa(e) : ht ? (e) => Buffer.from(e, "binary").toString("base64") : Ug, Qg = ht ? (e) => Buffer.from(e).toString("base64") : (e) => {
|
|
1301
1301
|
let A = [];
|
|
1302
1302
|
for (let V = 0, t = e.length; V < t; V += 4096)
|
|
1303
1303
|
A.push(IA.apply(null, e.subarray(V, V + 4096)));
|
|
1304
|
-
return
|
|
1304
|
+
return Ra(A.join(""));
|
|
1305
1305
|
}, Ng = (e) => {
|
|
1306
1306
|
if (e.length < 2) {
|
|
1307
1307
|
var q = e.charCodeAt(0);
|
|
@@ -1310,10 +1310,10 @@ const vg = (e) => e.replace(/=/g, "").replace(/[+\/]/g, (q) => q == "+" ? "-" :
|
|
|
1310
1310
|
var q = 65536 + (e.charCodeAt(0) - 55296) * 1024 + (e.charCodeAt(1) - 56320);
|
|
1311
1311
|
return IA(240 | q >>> 18 & 7) + IA(128 | q >>> 12 & 63) + IA(128 | q >>> 6 & 63) + IA(128 | q & 63);
|
|
1312
1312
|
}
|
|
1313
|
-
}, Gg = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, jg = (e) => e.replace(Gg, Ng),
|
|
1314
|
-
var IV = { exports: {} },
|
|
1313
|
+
}, Gg = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, jg = (e) => e.replace(Gg, Ng), Wt = ht ? (e) => Buffer.from(e, "utf8").toString("base64") : Pt ? (e) => Qg(Pt.encode(e)) : (e) => Ra(jg(e)), Ya = (e, q = !1) => q ? vg(Wt(e)) : Wt(e);
|
|
1314
|
+
var IV = { exports: {} }, Zt;
|
|
1315
1315
|
function Rg() {
|
|
1316
|
-
return
|
|
1316
|
+
return Zt || (Zt = 1, (function(e) {
|
|
1317
1317
|
var q = Object.prototype.hasOwnProperty, A = "~";
|
|
1318
1318
|
function V() {
|
|
1319
1319
|
}
|
|
@@ -1419,15 +1419,15 @@ function Rg() {
|
|
|
1419
1419
|
})(IV)), IV.exports;
|
|
1420
1420
|
}
|
|
1421
1421
|
var Yg = Rg();
|
|
1422
|
-
const
|
|
1423
|
-
var
|
|
1422
|
+
const Se = /* @__PURE__ */ Tn(Yg);
|
|
1423
|
+
var Ht, Xt;
|
|
1424
1424
|
(function(e) {
|
|
1425
1425
|
e[e.COMPACT = 1] = "COMPACT", e[e.FULL = 0] = "FULL";
|
|
1426
|
-
})(
|
|
1426
|
+
})(Ht || (Ht = {})), (function(e) {
|
|
1427
1427
|
e.FACEBOOK = "facebook", e.TWITTER = "twitter", e.FIREBASE_PHONE = "firebase_phone", e.FIREBASE_EMAIL = "firebase_email";
|
|
1428
|
-
})(
|
|
1428
|
+
})(Xt || (Xt = {}));
|
|
1429
1429
|
const Fg = "WebRTCVideoChat";
|
|
1430
|
-
var AA, UA, Wq, WA, iA,
|
|
1430
|
+
var AA, UA, Wq, WA, iA, dA, Xe, Kq, $V, qt, _e, _t, $t, qr, Ar, er, At, Xq, QA, $e, fA, rA, Vr, eq, Gq, tr, rr, sr;
|
|
1431
1431
|
(function(e) {
|
|
1432
1432
|
e.CALL = "call", e.ACCEPT = "accept", e.REJECT = "reject", e.STOP = "hangUp", e.RESTART = "iceRestart", e.RESTART_ACCEPT = "iceRestartAccept", e.CANDIDATE = "iceCandidates";
|
|
1433
1433
|
})(AA || (AA = {})), (function(e) {
|
|
@@ -1440,7 +1440,7 @@ var AA, UA, Wq, WA, iA, gA, Xe, Kq, $V, qt, _e, $t, qr, Ar, er, Vr, At, Xq, QA,
|
|
|
1440
1440
|
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";
|
|
1441
1441
|
})(iA || (iA = {})), (function(e) {
|
|
1442
1442
|
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";
|
|
1443
|
-
})(
|
|
1443
|
+
})(dA || (dA = {})), (function(e) {
|
|
1444
1444
|
e.CHAT = "chat", e.GROUPCHAT = "groupchat";
|
|
1445
1445
|
})(Xe || (Xe = {})), (function(e) {
|
|
1446
1446
|
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";
|
|
@@ -1452,15 +1452,15 @@ var AA, UA, Wq, WA, iA, gA, Xe, Kq, $V, qt, _e, $t, qr, Ar, er, Vr, At, Xq, QA,
|
|
|
1452
1452
|
e.ALL = "all", e.TRACE = "trace", e.DEBUG = "debug", e.VDEBUG = "vdebug", e.LOG = "log", e.WARN = "warn", e.ERROR = "error";
|
|
1453
1453
|
})(_e || (_e = {})), (function(e) {
|
|
1454
1454
|
e.CREATE = "create", e.READ = "read", e.UPDATE = "update", e.DELETE = "delete";
|
|
1455
|
-
})(
|
|
1455
|
+
})(_t || (_t = {})), (function(e) {
|
|
1456
1456
|
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";
|
|
1457
|
-
})(
|
|
1457
|
+
})($t || ($t = {})), (function(e) {
|
|
1458
1458
|
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";
|
|
1459
|
-
})(
|
|
1459
|
+
})(qr || (qr = {})), (function(e) {
|
|
1460
1460
|
e.SENT = "sent", e.DELIVERED = "delivered", e.READ = "read";
|
|
1461
|
-
})(
|
|
1461
|
+
})(Ar || (Ar = {})), (function(e) {
|
|
1462
1462
|
e.CREATED = "created_at", e.UPDATED = "updated_at", e.LAST_MESSAGE = "last_message_date_sent";
|
|
1463
|
-
})(
|
|
1463
|
+
})(er || (er = {})), (function(e) {
|
|
1464
1464
|
e.VIDEO = "videoinput", e.AUDIO = "audioinput";
|
|
1465
1465
|
})(At || (At = {})), (function(e) {
|
|
1466
1466
|
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";
|
|
@@ -1474,28 +1474,23 @@ var AA, UA, Wq, WA, iA, gA, Xe, Kq, $V, qt, _e, $t, qr, Ar, er, Vr, At, Xq, QA,
|
|
|
1474
1474
|
e.AUDIO = "audio", e.VIDEO = "video", e.NONE = "none";
|
|
1475
1475
|
})(rA || (rA = {})), (function(e) {
|
|
1476
1476
|
e.MINUTES = "minutes", e.HOURS = "hours", e.DAYS = "days", e.WEEK = "weeks";
|
|
1477
|
-
})(
|
|
1477
|
+
})(Vr || (Vr = {})), (function(e) {
|
|
1478
1478
|
e.GET = "GET", e.POST = "POST", e.PUT = "PUT", e.PATCH = "PATCH", e.DELETE = "DELETE", e.HEAD = "HEAD";
|
|
1479
1479
|
})(eq || (eq = {})), (function(e) {
|
|
1480
1480
|
e.JSON = "json", e.TEXT = "text";
|
|
1481
1481
|
})(Gq || (Gq = {})), (function(e) {
|
|
1482
1482
|
e.APNS = "apns", e.VOIP = "apns_voip", e.GCM = "gcm", e.WEB = "web";
|
|
1483
|
-
})(
|
|
1483
|
+
})(tr || (tr = {})), (function(e) {
|
|
1484
1484
|
e.IOS = "ios", e.ANDROID = "android", e.WEB = "web";
|
|
1485
|
-
})(
|
|
1485
|
+
})(rr || (rr = {})), (function(e) {
|
|
1486
1486
|
e.DEV = "development", e.PROD = "production";
|
|
1487
|
-
})(
|
|
1488
|
-
const
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
} catch {
|
|
1492
|
-
console.warn("Install WebRTC adapter if you want to use ConnectyCube.videochatconference. More info https://github.com/webrtc/adapter");
|
|
1493
|
-
}
|
|
1494
|
-
const We = lA ? window.adapter : void 0, Se = lA ? window.navigator : void 0, eA = lA && Se ? Se.mediaDevices : void 0, ft = lA ? window.MediaStream : void 0, Og = lA ? window.MediaStreamTrack : void 0, Lg = lA ? window.RTCIceCandidate : void 0, qV = lA ? window.RTCPeerConnection : void 0, Kg = lA ? window.RTCRtpReceiver : void 0, zg = lA ? window.RTCRtpSender : void 0, za = lA ? window.RTCSessionDescription : void 0, Vt = !!lA && !!(eA && qV);
|
|
1495
|
-
var Jg = Object.freeze({ __proto__: null, FormDataImpl: Ka, MediaStream: ft, MediaStreamTrack: Og, RTCIceCandidate: Lg, RTCPeerConnection: qV, RTCRtpReceiver: Kg, RTCRtpSender: zg, RTCSessionDescription: za, adapter: We, base64Encode: Fa, fetchImpl: et, isBrowser: lA, isExpo: La, isNodeJS: dV, isReactNative: Oa, isWebRTCAvailable: Vt, mediaDevices: eA, navigator: Se, sdkVersion: wt });
|
|
1487
|
+
})(sr || (sr = {}));
|
|
1488
|
+
const mt = "4.7.18", uA = typeof window < "u" && typeof document == "object", Fa = typeof process == "object" && typeof process.versions == "object" && !!process.versions.node, Oa = !1, La = !1, et = fetch, Ka = FormData, ke = uA ? window.adapter : void 0, Ie = uA ? window.navigator : void 0, eA = uA && Ie ? Ie.mediaDevices : void 0, wt = uA ? window.MediaStream : void 0, Og = uA ? window.MediaStreamTrack : void 0, Lg = uA ? window.RTCIceCandidate : void 0, qV = uA ? window.RTCPeerConnection : void 0, Kg = uA ? window.RTCRtpReceiver : void 0, zg = uA ? window.RTCRtpSender : void 0, za = uA ? window.RTCSessionDescription : void 0, AV = !!uA && !!(eA && qV);
|
|
1489
|
+
AV && !ke && console.warn("Install WebRTC adapter if you want to use ConnectyCube.videochatconference. More info https://github.com/webrtc/adapter");
|
|
1490
|
+
var Jg = Object.freeze({ __proto__: null, FormDataImpl: Ka, MediaStream: wt, MediaStreamTrack: Og, RTCIceCandidate: Lg, RTCPeerConnection: qV, RTCRtpReceiver: Kg, RTCRtpSender: zg, RTCSessionDescription: za, adapter: ke, base64Encode: Ya, fetchImpl: et, isBrowser: uA, isExpo: La, isNodeJS: Fa, isReactNative: Oa, isWebRTCAvailable: AV, mediaDevices: eA, navigator: Ie, sdkVersion: mt });
|
|
1496
1491
|
class se {
|
|
1497
1492
|
static instance;
|
|
1498
|
-
version =
|
|
1493
|
+
version = mt;
|
|
1499
1494
|
creds = { appId: "", authKey: "" };
|
|
1500
1495
|
endpoints = { api: "api.connectycube.com", chat: "chat.connectycube.com", muc: "muc.chat.connectycube.com" };
|
|
1501
1496
|
chatProtocol = { bosh: "https://chat.connectycube.com:5281", websocket: "wss://chat.connectycube.com:5291", active: 2 };
|
|
@@ -1527,7 +1522,7 @@ class se {
|
|
|
1527
1522
|
var z = se.getInstance();
|
|
1528
1523
|
class h {
|
|
1529
1524
|
static loggers = [];
|
|
1530
|
-
static env = { isReactNative: Oa, isBrowser:
|
|
1525
|
+
static env = { isReactNative: Oa, isBrowser: uA, isNodeJS: Fa, isExpo: La };
|
|
1531
1526
|
static safeCallbackCall(q = () => {
|
|
1532
1527
|
}) {
|
|
1533
1528
|
return (...A) => {
|
|
@@ -1788,27 +1783,27 @@ function Ja(e) {
|
|
|
1788
1783
|
} });
|
|
1789
1784
|
}), A;
|
|
1790
1785
|
}
|
|
1791
|
-
var or, nr, ir, cr,
|
|
1792
|
-
function
|
|
1793
|
-
return
|
|
1786
|
+
var ar, or, nr, ir, BV, cr, yV, lr, dr, gr, ur, he = {}, LA = {};
|
|
1787
|
+
function ft() {
|
|
1788
|
+
return or ? ar : (or = 1, ar = class extends Error {
|
|
1794
1789
|
constructor(e) {
|
|
1795
1790
|
super(e), this.name = "TimeoutError";
|
|
1796
1791
|
}
|
|
1797
1792
|
});
|
|
1798
1793
|
}
|
|
1799
1794
|
function Pa() {
|
|
1800
|
-
return
|
|
1795
|
+
return ir || (ir = 1, nr = function(e) {
|
|
1801
1796
|
let q;
|
|
1802
1797
|
const A = new Promise((V) => {
|
|
1803
1798
|
q = setTimeout(V, e);
|
|
1804
1799
|
});
|
|
1805
1800
|
return A.timeout = q, A;
|
|
1806
|
-
}),
|
|
1801
|
+
}), nr;
|
|
1807
1802
|
}
|
|
1808
1803
|
function Hg() {
|
|
1809
|
-
if (
|
|
1810
|
-
|
|
1811
|
-
const e =
|
|
1804
|
+
if (cr) return BV;
|
|
1805
|
+
cr = 1;
|
|
1806
|
+
const e = ft(), q = Pa();
|
|
1812
1807
|
return BV = function(A, V) {
|
|
1813
1808
|
const t = q(V);
|
|
1814
1809
|
return Promise.race([A.finally(function() {
|
|
@@ -1819,9 +1814,9 @@ function Hg() {
|
|
|
1819
1814
|
}, BV;
|
|
1820
1815
|
}
|
|
1821
1816
|
function Xg() {
|
|
1822
|
-
if (
|
|
1823
|
-
|
|
1824
|
-
const e =
|
|
1817
|
+
if (lr) return yV;
|
|
1818
|
+
lr = 1;
|
|
1819
|
+
const e = ft();
|
|
1825
1820
|
return yV = function(q, A, V = "error", t) {
|
|
1826
1821
|
return new Promise((s, a) => {
|
|
1827
1822
|
let i;
|
|
@@ -1841,31 +1836,31 @@ function Xg() {
|
|
|
1841
1836
|
}, yV;
|
|
1842
1837
|
}
|
|
1843
1838
|
function _g() {
|
|
1844
|
-
return
|
|
1839
|
+
return gr || (gr = 1, dr = function() {
|
|
1845
1840
|
this.promise = new Promise((e, q) => {
|
|
1846
1841
|
this.resolve = e, this.reject = q;
|
|
1847
1842
|
});
|
|
1848
|
-
}),
|
|
1843
|
+
}), dr;
|
|
1849
1844
|
}
|
|
1850
|
-
function
|
|
1851
|
-
if (
|
|
1852
|
-
|
|
1853
|
-
const e = Hg(), q = Pa(), A =
|
|
1845
|
+
function Be() {
|
|
1846
|
+
if (ur) return LA;
|
|
1847
|
+
ur = 1;
|
|
1848
|
+
const e = Hg(), q = Pa(), A = ft(), V = Xg(), t = Se, s = _g();
|
|
1854
1849
|
return LA.EventEmitter = t, LA.timeout = e, LA.delay = q, LA.TimeoutError = A, LA.promise = V, LA.Deferred = s, LA;
|
|
1855
1850
|
}
|
|
1856
|
-
var hr, mr, wr, fr, Mr,
|
|
1851
|
+
var pr, hr, mr, wr, fr, Mr, SA = { exports: {} }, Re = {};
|
|
1857
1852
|
function Wa() {
|
|
1858
|
-
return
|
|
1853
|
+
return pr || (pr = 1, Re.detect = function(e) {
|
|
1859
1854
|
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;
|
|
1860
|
-
},
|
|
1855
|
+
}, Re.escape = function(e) {
|
|
1861
1856
|
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`);
|
|
1862
|
-
},
|
|
1857
|
+
}, Re.unescape = function(e) {
|
|
1863
1858
|
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`, "\\");
|
|
1864
|
-
}),
|
|
1859
|
+
}), Re;
|
|
1865
1860
|
}
|
|
1866
|
-
function
|
|
1867
|
-
if (
|
|
1868
|
-
|
|
1861
|
+
function Cr() {
|
|
1862
|
+
if (mr) return hr;
|
|
1863
|
+
mr = 1;
|
|
1869
1864
|
const e = Wa();
|
|
1870
1865
|
class q {
|
|
1871
1866
|
constructor(V, t, s) {
|
|
@@ -1905,16 +1900,16 @@ function Er() {
|
|
|
1905
1900
|
return this._resource;
|
|
1906
1901
|
}
|
|
1907
1902
|
}
|
|
1908
|
-
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 }),
|
|
1903
|
+
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 }), hr = q;
|
|
1909
1904
|
}
|
|
1910
|
-
function
|
|
1911
|
-
if (
|
|
1912
|
-
|
|
1913
|
-
const e =
|
|
1914
|
-
if (
|
|
1915
|
-
|
|
1916
|
-
const t =
|
|
1917
|
-
return
|
|
1905
|
+
function eV() {
|
|
1906
|
+
if (Mr) return SA.exports;
|
|
1907
|
+
Mr = 1;
|
|
1908
|
+
const e = Cr(), q = Wa(), A = (function() {
|
|
1909
|
+
if (fr) return wr;
|
|
1910
|
+
fr = 1;
|
|
1911
|
+
const t = Cr();
|
|
1912
|
+
return wr = function(s) {
|
|
1918
1913
|
let a, i;
|
|
1919
1914
|
const c = s.indexOf("/");
|
|
1920
1915
|
c !== -1 && (i = s.slice(c + 1), s = s.slice(0, c));
|
|
@@ -1929,10 +1924,10 @@ function AV() {
|
|
|
1929
1924
|
return t.equals(s);
|
|
1930
1925
|
}, SA.exports.detectEscape = q.detect, SA.exports.escapeLocal = q.escape, SA.exports.unescapeLocal = q.unescape, SA.exports.parse = A, SA.exports;
|
|
1931
1926
|
}
|
|
1932
|
-
var kr, Sr, Ir, Br, yr, xr, Tr, br, Dr, vr, Ur, Qr, Nr, Gr, jr, Rr
|
|
1933
|
-
function
|
|
1934
|
-
if (
|
|
1935
|
-
|
|
1927
|
+
var Er, kr, Sr, Ir, Br, yr, xr, Tr, br, Dr, vr, Ur, Qr, Nr, Gr, jr, Rr = { exports: {} }, te = {};
|
|
1928
|
+
function Mt() {
|
|
1929
|
+
if (Er) return te;
|
|
1930
|
+
Er = 1;
|
|
1936
1931
|
const e = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" };
|
|
1937
1932
|
function q(t) {
|
|
1938
1933
|
return e[t];
|
|
@@ -1959,10 +1954,10 @@ function Ct() {
|
|
|
1959
1954
|
return t.replace(/&(amp|#38|lt|#60|gt|#62);/g, V);
|
|
1960
1955
|
}, te;
|
|
1961
1956
|
}
|
|
1962
|
-
function
|
|
1963
|
-
if (
|
|
1964
|
-
|
|
1965
|
-
var e =
|
|
1957
|
+
function Vt() {
|
|
1958
|
+
if (Sr) return kr;
|
|
1959
|
+
Sr = 1;
|
|
1960
|
+
var e = Mt();
|
|
1966
1961
|
class q {
|
|
1967
1962
|
constructor(V, t) {
|
|
1968
1963
|
this.name = V, this.parent = null, this.children = [], this.attrs = {}, this.setAttrs(t);
|
|
@@ -2093,22 +2088,22 @@ function tt() {
|
|
|
2093
2088
|
this.children.length === 0 ? V("/>") : this._addChildren(V);
|
|
2094
2089
|
}
|
|
2095
2090
|
}
|
|
2096
|
-
return q.prototype.tree = q.prototype.root,
|
|
2091
|
+
return q.prototype.tree = q.prototype.root, kr = q;
|
|
2097
2092
|
}
|
|
2098
2093
|
function Za() {
|
|
2099
|
-
return
|
|
2094
|
+
return br ? Tr : (br = 1, Tr = class extends Error {
|
|
2100
2095
|
constructor(...e) {
|
|
2101
2096
|
super(...e), this.name = "XMLError";
|
|
2102
2097
|
}
|
|
2103
2098
|
});
|
|
2104
2099
|
}
|
|
2105
2100
|
function Ha() {
|
|
2106
|
-
if (
|
|
2107
|
-
|
|
2101
|
+
if (vr) return Dr;
|
|
2102
|
+
vr = 1;
|
|
2108
2103
|
const e = (function() {
|
|
2109
|
-
if (
|
|
2110
|
-
|
|
2111
|
-
var s =
|
|
2104
|
+
if (xr) return yr;
|
|
2105
|
+
xr = 1;
|
|
2106
|
+
var s = Se, a = Mt();
|
|
2112
2107
|
class i extends s.EventEmitter {
|
|
2113
2108
|
constructor() {
|
|
2114
2109
|
super();
|
|
@@ -2200,8 +2195,8 @@ function Ha() {
|
|
|
2200
2195
|
};
|
|
2201
2196
|
}
|
|
2202
2197
|
}
|
|
2203
|
-
return
|
|
2204
|
-
})(), q =
|
|
2198
|
+
return yr = i;
|
|
2199
|
+
})(), q = Vt(), A = Se, V = Za();
|
|
2205
2200
|
class t extends A {
|
|
2206
2201
|
constructor() {
|
|
2207
2202
|
super();
|
|
@@ -2230,19 +2225,19 @@ function Ha() {
|
|
|
2230
2225
|
a && this.parser.write(a);
|
|
2231
2226
|
}
|
|
2232
2227
|
}
|
|
2233
|
-
return t.XMLError = V,
|
|
2228
|
+
return t.XMLError = V, Dr = t;
|
|
2234
2229
|
}
|
|
2235
2230
|
function RA() {
|
|
2236
|
-
return
|
|
2237
|
-
const q =
|
|
2238
|
-
if (
|
|
2239
|
-
|
|
2240
|
-
var r =
|
|
2231
|
+
return Ur || (Ur = 1, (function(e) {
|
|
2232
|
+
const q = Vt(), A = (function() {
|
|
2233
|
+
if (Br) return Ir;
|
|
2234
|
+
Br = 1;
|
|
2235
|
+
var r = Vt();
|
|
2241
2236
|
function n(l, d) {
|
|
2242
2237
|
if (Array.isArray(d)) for (const m of d) n(l, m);
|
|
2243
2238
|
else d !== "" && d != null && d !== !0 && d !== !1 && l.cnode(d);
|
|
2244
2239
|
}
|
|
2245
|
-
return
|
|
2240
|
+
return Ir = function(l, d, ...m) {
|
|
2246
2241
|
if (typeof d == "object" && d !== null) {
|
|
2247
2242
|
delete d.__source, delete d.__self;
|
|
2248
2243
|
for (const [M, S] of Object.entries(d)) S == null ? delete d[M] : d[M] = S.toString(10);
|
|
@@ -2251,15 +2246,15 @@ function RA() {
|
|
|
2251
2246
|
for (const M of m) n(w, M);
|
|
2252
2247
|
return w;
|
|
2253
2248
|
};
|
|
2254
|
-
})(), V = Ha(), { escapeXML: t, unescapeXML: s, escapeXMLText: a, unescapeXMLText: i } =
|
|
2249
|
+
})(), V = Ha(), { escapeXML: t, unescapeXML: s, escapeXMLText: a, unescapeXMLText: i } = Mt(), c = Za();
|
|
2255
2250
|
e.exports = function(...r) {
|
|
2256
2251
|
return A(...r);
|
|
2257
2252
|
}, Object.assign(e.exports, { Element: q, createElement: A, Parser: V, escapeXML: t, unescapeXML: s, escapeXMLText: a, unescapeXMLText: i, XMLError: c });
|
|
2258
|
-
})(
|
|
2253
|
+
})(Rr)), Rr.exports;
|
|
2259
2254
|
}
|
|
2260
|
-
function
|
|
2261
|
-
if (
|
|
2262
|
-
|
|
2255
|
+
function Ct() {
|
|
2256
|
+
if (Nr) return Qr;
|
|
2257
|
+
Nr = 1;
|
|
2263
2258
|
class e extends Error {
|
|
2264
2259
|
constructor(A, V, t) {
|
|
2265
2260
|
super(A + (V ? ` - ${V}` : "")), this.name = "XMPPError", this.condition = A, this.text = V, this.application = t;
|
|
@@ -2272,22 +2267,22 @@ function Et() {
|
|
|
2272
2267
|
return c.element = A, c;
|
|
2273
2268
|
}
|
|
2274
2269
|
}
|
|
2275
|
-
return
|
|
2270
|
+
return Qr = e;
|
|
2276
2271
|
}
|
|
2277
|
-
var Fr, Or, Lr, Kr, zr, Jr
|
|
2272
|
+
var Yr, Fr, Or, Lr, Kr, zr, Jr = { exports: {} };
|
|
2278
2273
|
function Xa() {
|
|
2279
|
-
if (
|
|
2280
|
-
|
|
2281
|
-
const { EventEmitter: e, promise: q } =
|
|
2282
|
-
if (
|
|
2283
|
-
|
|
2284
|
-
const c =
|
|
2285
|
-
return
|
|
2274
|
+
if (Or) return Fr;
|
|
2275
|
+
Or = 1;
|
|
2276
|
+
const { EventEmitter: e, promise: q } = Be(), A = eV(), V = RA(), t = (function() {
|
|
2277
|
+
if (jr) return Gr;
|
|
2278
|
+
jr = 1;
|
|
2279
|
+
const c = Ct();
|
|
2280
|
+
return Gr = class extends c {
|
|
2286
2281
|
constructor(...r) {
|
|
2287
2282
|
super(...r), this.name = "StreamError";
|
|
2288
2283
|
}
|
|
2289
2284
|
};
|
|
2290
|
-
})(), { parseHost: s, parseService: a } = (
|
|
2285
|
+
})(), { parseHost: s, parseService: a } = (Yr || (Yr = 1, (function(c) {
|
|
2291
2286
|
function r(l) {
|
|
2292
2287
|
let { port: d, hostname: m, protocol: w } = new URL(l);
|
|
2293
2288
|
return m === "[::1]" && (m = "::1"), { port: d, hostname: m, protocol: w };
|
|
@@ -2299,7 +2294,7 @@ function Xa() {
|
|
|
2299
2294
|
Object.assign(c.exports, { parseURI: r, parseHost: n, parseService: function(l) {
|
|
2300
2295
|
return l.includes("://") ? r(l) : n(l);
|
|
2301
2296
|
} });
|
|
2302
|
-
})(
|
|
2297
|
+
})(Jr)), Jr.exports);
|
|
2303
2298
|
class i extends e {
|
|
2304
2299
|
constructor(r = {}) {
|
|
2305
2300
|
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;
|
|
@@ -2460,14 +2455,14 @@ function Xa() {
|
|
|
2460
2455
|
socketParameters() {
|
|
2461
2456
|
}
|
|
2462
2457
|
}
|
|
2463
|
-
return i.prototype.NS = "", i.prototype.Socket = null, i.prototype.Parser = null,
|
|
2458
|
+
return i.prototype.NS = "", i.prototype.Socket = null, i.prototype.Parser = null, Fr = i;
|
|
2464
2459
|
}
|
|
2465
|
-
var
|
|
2466
|
-
if (
|
|
2467
|
-
|
|
2460
|
+
var Pr, Wr, _a = (function() {
|
|
2461
|
+
if (zr) return he;
|
|
2462
|
+
zr = 1;
|
|
2468
2463
|
const e = (function() {
|
|
2469
|
-
if (
|
|
2470
|
-
|
|
2464
|
+
if (Kr) return Lr;
|
|
2465
|
+
Kr = 1;
|
|
2471
2466
|
const V = Xa();
|
|
2472
2467
|
class t extends V {
|
|
2473
2468
|
constructor(a) {
|
|
@@ -2509,13 +2504,13 @@ var Wr, Zr, _a = (function() {
|
|
|
2509
2504
|
return this.Transport.prototype.footerElement(...a);
|
|
2510
2505
|
}
|
|
2511
2506
|
}
|
|
2512
|
-
return t.prototype.NS = "jabber:client",
|
|
2513
|
-
})(), q = RA(), A =
|
|
2507
|
+
return t.prototype.NS = "jabber:client", Lr = t;
|
|
2508
|
+
})(), q = RA(), A = eV();
|
|
2514
2509
|
return he.Client = e, he.xml = q, he.jid = A, he;
|
|
2515
|
-
})(), xV, Hr, Xr, _r, $r, qs, As,
|
|
2516
|
-
if (
|
|
2517
|
-
|
|
2518
|
-
const { EventEmitter: e } =
|
|
2510
|
+
})(), xV, Zr, Hr, Xr, _r, $r, qs, As, $g = (function() {
|
|
2511
|
+
if (Wr) return Pr;
|
|
2512
|
+
Wr = 1;
|
|
2513
|
+
const { EventEmitter: e } = Be();
|
|
2519
2514
|
class q extends e {
|
|
2520
2515
|
constructor(V) {
|
|
2521
2516
|
super(), this.delay = 1e3, this.entity = V, this._timeout = null;
|
|
@@ -2546,18 +2541,18 @@ var Wr, Zr, _a = (function() {
|
|
|
2546
2541
|
V.removeListener("disconnect", t.disconnect), clearTimeout(s);
|
|
2547
2542
|
}
|
|
2548
2543
|
}
|
|
2549
|
-
return
|
|
2544
|
+
return Pr = function({ entity: A }) {
|
|
2550
2545
|
const V = new q(A);
|
|
2551
2546
|
return V.start(), V;
|
|
2552
2547
|
};
|
|
2553
|
-
})(), qu = pA($g),
|
|
2548
|
+
})(), qu = pA($g), Et = Ja(Object.freeze({ __proto__: null, default: {} }));
|
|
2554
2549
|
function Au() {
|
|
2555
|
-
if (
|
|
2556
|
-
|
|
2550
|
+
if ($r) return _r;
|
|
2551
|
+
$r = 1;
|
|
2557
2552
|
const e = (function() {
|
|
2558
|
-
if (
|
|
2559
|
-
|
|
2560
|
-
const a =
|
|
2553
|
+
if (Zr) return xV;
|
|
2554
|
+
Zr = 1;
|
|
2555
|
+
const a = Et, i = globalThis.WebSocket || a, c = Se, r = "ECONNERROR";
|
|
2561
2556
|
return xV = class extends c {
|
|
2562
2557
|
constructor() {
|
|
2563
2558
|
super(), this.listeners = /* @__PURE__ */ Object.create(null);
|
|
@@ -2592,10 +2587,10 @@ function Au() {
|
|
|
2592
2587
|
}
|
|
2593
2588
|
}, xV;
|
|
2594
2589
|
})(), q = Xa(), A = RA(), V = (function() {
|
|
2595
|
-
if (
|
|
2596
|
-
|
|
2590
|
+
if (Xr) return Hr;
|
|
2591
|
+
Xr = 1;
|
|
2597
2592
|
const { Parser: a, Element: i, XMLError: c } = RA();
|
|
2598
|
-
return
|
|
2593
|
+
return Hr = class extends a {
|
|
2599
2594
|
onStartElement(r, n) {
|
|
2600
2595
|
const l = new i(r, n), { cursor: d } = this;
|
|
2601
2596
|
d && d.append(l), this.cursor = l;
|
|
@@ -2624,29 +2619,29 @@ function Au() {
|
|
|
2624
2619
|
return /^wss?:\/\//.test(i) ? i : void 0;
|
|
2625
2620
|
}
|
|
2626
2621
|
}
|
|
2627
|
-
return s.prototype.Socket = e, s.prototype.NS = "jabber:client", s.prototype.Parser = V,
|
|
2622
|
+
return s.prototype.Socket = e, s.prototype.NS = "jabber:client", s.prototype.Parser = V, _r = s;
|
|
2628
2623
|
}
|
|
2629
|
-
var Vs, ts, rs, ss,
|
|
2630
|
-
if (
|
|
2631
|
-
|
|
2624
|
+
var es, Vs, ts, rs, TV, ss, bV, as, os, ns, eu = pA((function() {
|
|
2625
|
+
if (As) return qs;
|
|
2626
|
+
As = 1;
|
|
2632
2627
|
const e = Au();
|
|
2633
|
-
return
|
|
2628
|
+
return qs = function({ entity: q }) {
|
|
2634
2629
|
q.transports.push(e);
|
|
2635
2630
|
};
|
|
2636
2631
|
})());
|
|
2637
|
-
function
|
|
2638
|
-
return
|
|
2632
|
+
function is() {
|
|
2633
|
+
return rs || (rs = 1, ts = class {
|
|
2639
2634
|
constructor(e, q) {
|
|
2640
2635
|
this.stanza = q, this.entity = e;
|
|
2641
2636
|
const { name: A, attrs: V } = q, { type: t, id: s } = V;
|
|
2642
2637
|
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 = "";
|
|
2643
2638
|
}
|
|
2644
|
-
}),
|
|
2639
|
+
}), ts;
|
|
2645
2640
|
}
|
|
2646
|
-
var
|
|
2647
|
-
if (
|
|
2648
|
-
|
|
2649
|
-
const e = (
|
|
2641
|
+
var cs, ls, DV, ds, Vu = (function() {
|
|
2642
|
+
if (ns) return os;
|
|
2643
|
+
ns = 1;
|
|
2644
|
+
const e = (Vs || (Vs = 1, es = function(s) {
|
|
2650
2645
|
if (!Array.isArray(s)) throw new TypeError("Middleware stack must be an array!");
|
|
2651
2646
|
for (const a of s) if (typeof a != "function") throw new TypeError("Middleware must be composed of functions!");
|
|
2652
2647
|
return function(a, i) {
|
|
@@ -2663,10 +2658,10 @@ var ls, ds, DV, gs, Vu = (function() {
|
|
|
2663
2658
|
}
|
|
2664
2659
|
})(0);
|
|
2665
2660
|
};
|
|
2666
|
-
}),
|
|
2667
|
-
if (
|
|
2668
|
-
|
|
2669
|
-
const s =
|
|
2661
|
+
}), es), q = (function() {
|
|
2662
|
+
if (ss) return TV;
|
|
2663
|
+
ss = 1;
|
|
2664
|
+
const s = is(), a = eV();
|
|
2670
2665
|
return TV = class extends s {
|
|
2671
2666
|
constructor(i, c) {
|
|
2672
2667
|
super(i, c);
|
|
@@ -2675,9 +2670,9 @@ var ls, ds, DV, gs, Vu = (function() {
|
|
|
2675
2670
|
}
|
|
2676
2671
|
}, TV;
|
|
2677
2672
|
})(), A = (function() {
|
|
2678
|
-
if (
|
|
2679
|
-
|
|
2680
|
-
const s =
|
|
2673
|
+
if (as) return bV;
|
|
2674
|
+
as = 1;
|
|
2675
|
+
const s = is(), a = eV();
|
|
2681
2676
|
return bV = class extends s {
|
|
2682
2677
|
constructor(i, c) {
|
|
2683
2678
|
super(i, c);
|
|
@@ -2697,22 +2692,22 @@ var ls, ds, DV, gs, Vu = (function() {
|
|
|
2697
2692
|
i().then((c) => c && s.send(c)).catch((c) => s.emit("error", c));
|
|
2698
2693
|
};
|
|
2699
2694
|
}
|
|
2700
|
-
return
|
|
2695
|
+
return os = function({ entity: s }) {
|
|
2701
2696
|
const a = [t(s)], i = [], c = V(s, a, q), r = V(s, i, A);
|
|
2702
2697
|
return s.on("element", c), s.hookOutgoing = r, { use: (n) => (a.push(n), n), filter: (n) => (i.push(n), n) };
|
|
2703
2698
|
};
|
|
2704
|
-
})(),
|
|
2699
|
+
})(), gs = pA(Vu);
|
|
2705
2700
|
function tu() {
|
|
2706
|
-
return
|
|
2701
|
+
return ls ? cs : (ls = 1, cs = function() {
|
|
2707
2702
|
return async ({ stanza: e, entity: q }, A) => {
|
|
2708
2703
|
if (!e.is("features", "http://etherx.jabber.org/streams")) return A();
|
|
2709
2704
|
!await A() && q.jid && q._status("online", q.jid);
|
|
2710
2705
|
};
|
|
2711
2706
|
});
|
|
2712
2707
|
}
|
|
2713
|
-
var
|
|
2714
|
-
if (
|
|
2715
|
-
|
|
2708
|
+
var us, ps, vV, hs, ms, ws, ru = (function() {
|
|
2709
|
+
if (ds) return DV;
|
|
2710
|
+
ds = 1;
|
|
2716
2711
|
const e = tu();
|
|
2717
2712
|
return DV = function({ middleware: q }) {
|
|
2718
2713
|
return q.use(e()), { use: function(A, V, t) {
|
|
@@ -2724,17 +2719,17 @@ var ps, hs, vV, ms, ws, fs, ru = (function() {
|
|
|
2724
2719
|
});
|
|
2725
2720
|
} };
|
|
2726
2721
|
}, DV;
|
|
2727
|
-
})(), su = pA(ru), UV,
|
|
2728
|
-
if (
|
|
2729
|
-
|
|
2730
|
-
const e =
|
|
2722
|
+
})(), su = pA(ru), UV, fs, au = (function() {
|
|
2723
|
+
if (ws) return ms;
|
|
2724
|
+
ws = 1;
|
|
2725
|
+
const e = ps ? us : (ps = 1, us = function() {
|
|
2731
2726
|
let a;
|
|
2732
2727
|
for (; !a; ) a = Math.random().toString(36).slice(2, 12);
|
|
2733
2728
|
return a;
|
|
2734
2729
|
}), q = (function() {
|
|
2735
|
-
if (
|
|
2736
|
-
|
|
2737
|
-
const a =
|
|
2730
|
+
if (hs) return vV;
|
|
2731
|
+
hs = 1;
|
|
2732
|
+
const a = Ct();
|
|
2738
2733
|
return vV = class extends a {
|
|
2739
2734
|
constructor(i, c, r, n) {
|
|
2740
2735
|
super(i, c, r), this.type = n, this.name = "StanzaError";
|
|
@@ -2744,7 +2739,7 @@ var ps, hs, vV, ms, ws, fs, ru = (function() {
|
|
|
2744
2739
|
return c.type = i.attrs.type, c;
|
|
2745
2740
|
}
|
|
2746
2741
|
}, vV;
|
|
2747
|
-
})(), { Deferred: A } =
|
|
2742
|
+
})(), { Deferred: A } = Be(), V = Be().timeout, t = RA();
|
|
2748
2743
|
class s {
|
|
2749
2744
|
constructor({ entity: i, middleware: c }) {
|
|
2750
2745
|
this.handlers = /* @__PURE__ */ new Map(), this.entity = i, this.middleware = c;
|
|
@@ -2782,13 +2777,13 @@ var ps, hs, vV, ms, ws, fs, ru = (function() {
|
|
|
2782
2777
|
return this._childRequest("set", ...i);
|
|
2783
2778
|
}
|
|
2784
2779
|
}
|
|
2785
|
-
return
|
|
2780
|
+
return ms = function(...a) {
|
|
2786
2781
|
const i = new s(...a);
|
|
2787
2782
|
return i.start(), i;
|
|
2788
2783
|
};
|
|
2789
|
-
})(), ou = pA(au), QV,
|
|
2790
|
-
if (
|
|
2791
|
-
|
|
2784
|
+
})(), ou = pA(au), QV, Ms, nu = (function() {
|
|
2785
|
+
if (fs) return UV;
|
|
2786
|
+
fs = 1;
|
|
2792
2787
|
const e = RA();
|
|
2793
2788
|
function q({ stanza: a }) {
|
|
2794
2789
|
return e("iq", { to: a.attrs.from, from: a.attrs.to, id: a.attrs.id });
|
|
@@ -2834,8 +2829,8 @@ var ps, hs, vV, ms, ws, fs, ru = (function() {
|
|
|
2834
2829
|
}, UV;
|
|
2835
2830
|
})(), iu = pA(nu), me = { exports: {} }, NV = {};
|
|
2836
2831
|
function cu() {
|
|
2837
|
-
if (
|
|
2838
|
-
|
|
2832
|
+
if (Ms) return QV;
|
|
2833
|
+
Ms = 1;
|
|
2839
2834
|
const e = Ha();
|
|
2840
2835
|
return QV = function(q) {
|
|
2841
2836
|
const A = new e();
|
|
@@ -2850,16 +2845,16 @@ function cu() {
|
|
|
2850
2845
|
return V;
|
|
2851
2846
|
}, QV;
|
|
2852
2847
|
}
|
|
2853
|
-
var Es, ks, Ss, Is,
|
|
2848
|
+
var Cs, Es, ks, Ss, Is, GV = {};
|
|
2854
2849
|
function lu() {
|
|
2855
|
-
if (
|
|
2856
|
-
|
|
2857
|
-
const e = globalThis.fetch ||
|
|
2858
|
-
if (
|
|
2850
|
+
if (Es) return NV;
|
|
2851
|
+
Es = 1;
|
|
2852
|
+
const e = globalThis.fetch || Et, q = cu(), A = (function() {
|
|
2853
|
+
if (Cs) return GV;
|
|
2859
2854
|
function V(t) {
|
|
2860
2855
|
return t.startsWith("https") || t.startsWith("wss");
|
|
2861
2856
|
}
|
|
2862
|
-
return
|
|
2857
|
+
return Cs = 1, GV.compare = function(t, s) {
|
|
2863
2858
|
let a, i;
|
|
2864
2859
|
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);
|
|
2865
2860
|
}, GV;
|
|
@@ -2869,17 +2864,17 @@ function lu() {
|
|
|
2869
2864
|
}, NV;
|
|
2870
2865
|
}
|
|
2871
2866
|
function du() {
|
|
2872
|
-
if (
|
|
2873
|
-
|
|
2874
|
-
const e =
|
|
2867
|
+
if (ks) return me.exports;
|
|
2868
|
+
ks = 1;
|
|
2869
|
+
const e = Et, q = lu();
|
|
2875
2870
|
return me.exports = function(...A) {
|
|
2876
2871
|
return Promise.all([e.resolve ? e.resolve(...A) : Promise.resolve([]), q.resolve(...A)]).then(([V, t]) => [...V, ...t]);
|
|
2877
2872
|
}, e.resolve && (me.exports.dns = e), me.exports.http = q, me.exports;
|
|
2878
2873
|
}
|
|
2879
|
-
var ys, xs,
|
|
2880
|
-
if (
|
|
2881
|
-
|
|
2882
|
-
const e = du(), { promise: q } =
|
|
2874
|
+
var Bs, ys, xs, gu = (function() {
|
|
2875
|
+
if (Is) return Ss;
|
|
2876
|
+
Is = 1;
|
|
2877
|
+
const e = du(), { promise: q } = Be();
|
|
2883
2878
|
async function A(t) {
|
|
2884
2879
|
const s = await e(t, { srv: [{ service: "xmpps-client", protocol: "tcp" }, { service: "xmpp-client", protocol: "tcp" }] });
|
|
2885
2880
|
return [...new Set(s.map((a) => a.uri))];
|
|
@@ -2897,7 +2892,7 @@ var ys, xs, Ts, gu = (function() {
|
|
|
2897
2892
|
}
|
|
2898
2893
|
t._attachSocket(r), r.emit("connect"), t.Transport = i, t.Socket = i.prototype.Socket, t.Parser = i.prototype.Parser;
|
|
2899
2894
|
}
|
|
2900
|
-
return
|
|
2895
|
+
return Ss = function({ entity: t }) {
|
|
2901
2896
|
const s = t.connect;
|
|
2902
2897
|
t.connect = async function(a) {
|
|
2903
2898
|
if (!a || /:\/\//.test(a)) return s.call(this, a);
|
|
@@ -2912,9 +2907,9 @@ var ys, xs, Ts, gu = (function() {
|
|
|
2912
2907
|
}
|
|
2913
2908
|
};
|
|
2914
2909
|
};
|
|
2915
|
-
})(), uu = pA(gu), jV = {},
|
|
2910
|
+
})(), uu = pA(gu), jV = {}, Ts, bs = { exports: {} }, Ds = { exports: {} }, vs, RV, Us;
|
|
2916
2911
|
function pu() {
|
|
2917
|
-
return
|
|
2912
|
+
return vs || (vs = 1, e = bs, Ts || (Ts = 1, (function(A, V) {
|
|
2918
2913
|
function t() {
|
|
2919
2914
|
this._mechs = [];
|
|
2920
2915
|
}
|
|
@@ -2927,21 +2922,21 @@ function pu() {
|
|
|
2927
2922
|
}
|
|
2928
2923
|
return null;
|
|
2929
2924
|
}, V.exports = t;
|
|
2930
|
-
})(0,
|
|
2925
|
+
})(0, Ds)), q = Ds.exports, (e.exports = q).Factory = q), bs.exports;
|
|
2931
2926
|
var e, q;
|
|
2932
2927
|
}
|
|
2933
|
-
var YV,
|
|
2934
|
-
if (
|
|
2935
|
-
|
|
2936
|
-
const { encode: e, decode: q } = (
|
|
2928
|
+
var YV, Qs, hu = (function() {
|
|
2929
|
+
if (Us) return RV;
|
|
2930
|
+
Us = 1;
|
|
2931
|
+
const { encode: e, decode: q } = (Bs || (Bs = 1, jV.encode = function(i) {
|
|
2937
2932
|
return globalThis.btoa(i);
|
|
2938
2933
|
}, jV.decode = function(i) {
|
|
2939
2934
|
return globalThis.atob(i);
|
|
2940
2935
|
}), jV), A = (function() {
|
|
2941
|
-
if (
|
|
2942
|
-
|
|
2943
|
-
const i =
|
|
2944
|
-
return
|
|
2936
|
+
if (xs) return ys;
|
|
2937
|
+
xs = 1;
|
|
2938
|
+
const i = Ct();
|
|
2939
|
+
return ys = class extends i {
|
|
2945
2940
|
constructor(...c) {
|
|
2946
2941
|
super(...c), this.name = "SASLError";
|
|
2947
2942
|
}
|
|
@@ -2973,9 +2968,9 @@ var YV, Ns, hu = (function() {
|
|
|
2973
2968
|
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();
|
|
2974
2969
|
}), { use: (...n) => r.use(...n) };
|
|
2975
2970
|
}, RV;
|
|
2976
|
-
})(), mu = pA(hu), FV,
|
|
2977
|
-
if (
|
|
2978
|
-
|
|
2971
|
+
})(), mu = pA(hu), FV, Ns, wu = (function() {
|
|
2972
|
+
if (Qs) return YV;
|
|
2973
|
+
Qs = 1;
|
|
2979
2974
|
const e = RA(), q = "urn:ietf:params:xml:ns:xmpp-bind";
|
|
2980
2975
|
async function A(V, t, s) {
|
|
2981
2976
|
const a = await t.set((function(c) {
|
|
@@ -2990,35 +2985,35 @@ var YV, Ns, hu = (function() {
|
|
|
2990
2985
|
};
|
|
2991
2986
|
})({ iqCaller: t }, s));
|
|
2992
2987
|
}, YV;
|
|
2993
|
-
})(), fu = pA(wu),
|
|
2994
|
-
if (
|
|
2995
|
-
|
|
2988
|
+
})(), fu = pA(wu), Gs, Mu = (function() {
|
|
2989
|
+
if (Ns) return FV;
|
|
2990
|
+
Ns = 1;
|
|
2996
2991
|
const e = RA(), q = "urn:ietf:params:xml:ns:xmpp-session";
|
|
2997
2992
|
return FV = function({ iqCaller: A, streamFeatures: V }) {
|
|
2998
2993
|
V.use("session", q, async (t, s, a) => (a.getChild("optional") || await A.set(e("session", q)), s()));
|
|
2999
2994
|
}, FV;
|
|
3000
|
-
})(), Cu = pA(Mu),
|
|
2995
|
+
})(), Cu = pA(Mu), js = { exports: {} }, Rs = { exports: {} }, Ys, OV, Fs;
|
|
3001
2996
|
function Eu() {
|
|
3002
|
-
return
|
|
2997
|
+
return Ys || (Ys = 1, e = js, Gs || (Gs = 1, (function(A, V) {
|
|
3003
2998
|
function t() {
|
|
3004
2999
|
}
|
|
3005
3000
|
t.prototype.name = "ANONYMOUS", t.prototype.clientFirst = !0, t.prototype.response = function(s) {
|
|
3006
3001
|
return s.trace || "";
|
|
3007
3002
|
}, t.prototype.challenge = function(s) {
|
|
3008
3003
|
}, V.exports = t;
|
|
3009
|
-
})(0,
|
|
3004
|
+
})(0, Rs)), q = Rs.exports, (e.exports = q).Mechanism = q), js.exports;
|
|
3010
3005
|
var e, q;
|
|
3011
3006
|
}
|
|
3012
|
-
var
|
|
3013
|
-
if (
|
|
3014
|
-
|
|
3007
|
+
var Os, ku = (function() {
|
|
3008
|
+
if (Fs) return OV;
|
|
3009
|
+
Fs = 1;
|
|
3015
3010
|
const e = Eu();
|
|
3016
3011
|
return OV = function(q) {
|
|
3017
3012
|
q.use(e);
|
|
3018
3013
|
}, OV;
|
|
3019
|
-
})(), Su = pA(ku),
|
|
3014
|
+
})(), Su = pA(ku), Ls = { exports: {} }, Ks = { exports: {} }, zs, LV, Js;
|
|
3020
3015
|
function Iu() {
|
|
3021
|
-
return
|
|
3016
|
+
return zs || (zs = 1, e = Ls, Os || (Os = 1, (function(A, V) {
|
|
3022
3017
|
function t() {
|
|
3023
3018
|
}
|
|
3024
3019
|
t.prototype.name = "PLAIN", t.prototype.clientFirst = !0, t.prototype.response = function(s) {
|
|
@@ -3027,18 +3022,18 @@ function Iu() {
|
|
|
3027
3022
|
}, t.prototype.challenge = function(s) {
|
|
3028
3023
|
return this;
|
|
3029
3024
|
}, V.exports = t;
|
|
3030
|
-
})(0,
|
|
3025
|
+
})(0, Ks)), q = Ks.exports, (e.exports = q).Mechanism = q), Ls.exports;
|
|
3031
3026
|
var e, q;
|
|
3032
3027
|
}
|
|
3033
3028
|
var Bu = (function() {
|
|
3034
|
-
if (
|
|
3035
|
-
|
|
3029
|
+
if (Js) return LV;
|
|
3030
|
+
Js = 1;
|
|
3036
3031
|
const e = Iu();
|
|
3037
3032
|
return LV = function(q) {
|
|
3038
3033
|
q.use(e);
|
|
3039
3034
|
}, LV;
|
|
3040
3035
|
})(), yu = pA(Bu);
|
|
3041
|
-
const
|
|
3036
|
+
const Ye = _a.xml;
|
|
3042
3037
|
class xu {
|
|
3043
3038
|
proxy;
|
|
3044
3039
|
route = `${z.urls.chat}/Dialog`;
|
|
@@ -3157,16 +3152,16 @@ class I {
|
|
|
3157
3152
|
return `${q}-${z.creds.appId}`;
|
|
3158
3153
|
}
|
|
3159
3154
|
static createMessageStanza(q) {
|
|
3160
|
-
return
|
|
3155
|
+
return Ye("message", q);
|
|
3161
3156
|
}
|
|
3162
3157
|
static createIqStanza(q) {
|
|
3163
|
-
return
|
|
3158
|
+
return Ye("iq", q);
|
|
3164
3159
|
}
|
|
3165
3160
|
static createPresenceStanza(q) {
|
|
3166
|
-
return
|
|
3161
|
+
return Ye("presence", q);
|
|
3167
3162
|
}
|
|
3168
3163
|
static createNonza(q, A) {
|
|
3169
|
-
return
|
|
3164
|
+
return Ye(q, A);
|
|
3170
3165
|
}
|
|
3171
3166
|
static getAttr(q, A) {
|
|
3172
3167
|
return q?.getAttr(A) || q?.attrs[A] || null;
|
|
@@ -3619,7 +3614,7 @@ class Nu {
|
|
|
3619
3614
|
this.proxy = q, this.dialog = new xu(q), this.message = new Tu(q), this.helpers = new bu(), this.xmppClient = (function(V) {
|
|
3620
3615
|
const { resource: t, credentials: s, username: a, password: i, ...c } = V, { domain: r, service: n } = c;
|
|
3621
3616
|
!r && n && (c.domain = (n.split("://")[1] || n).split(":")[0].split("/")[0]);
|
|
3622
|
-
const l = new _a.Client(c), d = qu({ entity: l }), m = eu({ entity: l }), w =
|
|
3617
|
+
const l = new _a.Client(c), d = qu({ entity: l }), m = eu({ entity: l }), w = gs({ entity: l }), M = su({ middleware: w }), S = ou({ middleware: w, entity: l }), y = iu({ middleware: w, entity: l }), D = gs({ entity: l }), U = uu({ entity: l }), v = mu({ streamFeatures: M }, s || { username: a, password: i }), k = fu({ iqCaller: S, streamFeatures: M }, t), j = Cu({ iqCaller: S, streamFeatures: M }), G = Object.entries({ plain: yu, anonymous: Su }).map(([Q, J]) => ({ [Q]: J(v) }));
|
|
3623
3618
|
return Object.assign(l, { entity: l, reconnect: d, websocket: m, middleware: w, streamFeatures: M, iqCaller: S, iqCallee: y, starttls: D, resolve: U, sasl: v, resourceBinding: k, sessionEstablishment: j, mechanisms: G, sendOnline: function(Q, ...J) {
|
|
3624
3619
|
if (l.status === "online") return l.send.call(l, Q, ...J);
|
|
3625
3620
|
{
|
|
@@ -3911,9 +3906,9 @@ class Nu {
|
|
|
3911
3906
|
});
|
|
3912
3907
|
}
|
|
3913
3908
|
}
|
|
3914
|
-
var
|
|
3915
|
-
if (
|
|
3916
|
-
|
|
3909
|
+
var Ps, Ws, Gu = Ja(Jg), ju = (function() {
|
|
3910
|
+
if (Ws) return Ps;
|
|
3911
|
+
Ws = 1;
|
|
3917
3912
|
const { adapter: e, navigator: q, MediaStream: A, MediaStreamTrack: V, RTCPeerConnection: t, RTCRtpReceiver: s, RTCRtpSender: a, isReactNative: i } = Gu;
|
|
3918
3913
|
r.sessions = {}, r.mobile = i, r.isExtensionEnabled = function() {
|
|
3919
3914
|
if (r.mobile) return !1;
|
|
@@ -4480,7 +4475,7 @@ var Ws, Zs, Gu = Ja(Jg), ju = (function() {
|
|
|
4480
4475
|
if (u.gumGroup) {
|
|
4481
4476
|
let Oq = u.type === "audio" ? "video" : "audio";
|
|
4482
4477
|
if (B[u.gumGroup] && B[u.gumGroup][Oq]) {
|
|
4483
|
-
let
|
|
4478
|
+
let lA = B[u.gumGroup][Oq], ge = r.trackConstraints(lA);
|
|
4484
4479
|
N[Oq] = ge[Oq];
|
|
4485
4480
|
}
|
|
4486
4481
|
}
|
|
@@ -4599,8 +4594,8 @@ var Ws, Zs, Gu = Ja(Jg), ju = (function() {
|
|
|
4599
4594
|
}
|
|
4600
4595
|
}
|
|
4601
4596
|
if (x) {
|
|
4602
|
-
let N = x.direction, iq = null, Oq = wq && x.sender.track,
|
|
4603
|
-
Oq &&
|
|
4597
|
+
let N = x.direction, iq = null, Oq = wq && x.sender.track, lA = u.recv !== !1 && x.receiver.track;
|
|
4598
|
+
Oq && lA ? iq = "sendrecv" : Oq && !lA ? iq = "sendonly" : !Oq && lA ? iq = "recvonly" : Oq || lA || (iq = "inactive"), iq && iq !== N && (r.warn("Changing direction of transceiver to " + iq + " (was " + N + ")", u), x.setDirection ? x.setDirection(iq) : x.direction = iq);
|
|
4604
4599
|
}
|
|
4605
4600
|
}
|
|
4606
4601
|
T && C.consentDialog(!1);
|
|
@@ -5077,7 +5072,7 @@ var Ws, Zs, Gu = Ja(Jg), ju = (function() {
|
|
|
5077
5072
|
d += l.charAt(w);
|
|
5078
5073
|
}
|
|
5079
5074
|
return d;
|
|
5080
|
-
},
|
|
5075
|
+
}, Ps = r;
|
|
5081
5076
|
})(), KV = pA(ju);
|
|
5082
5077
|
class Ru {
|
|
5083
5078
|
token;
|
|
@@ -5092,9 +5087,9 @@ class Ru {
|
|
|
5092
5087
|
remoteJseps = {};
|
|
5093
5088
|
remoteFeedsAttachingInProgress = {};
|
|
5094
5089
|
bitrateTimers = {};
|
|
5095
|
-
emitter = new
|
|
5090
|
+
emitter = new Se();
|
|
5096
5091
|
constructor(q) {
|
|
5097
|
-
if (!h.env.isReactNative && !
|
|
5092
|
+
if (!h.env.isReactNative && !ke) throw "Error: in order to use this library please connect adapter.js. More info https://github.com/webrtc/adapter";
|
|
5098
5093
|
if (this.token = q, this.server = z.conference.server, this.debug = z.conference.debug ?? _e.ALL, !this.server) throw "'server' parameter is mandatory";
|
|
5099
5094
|
this.server.includes("http") && (this.server += "/janus");
|
|
5100
5095
|
}
|
|
@@ -5203,7 +5198,7 @@ class Ru {
|
|
|
5203
5198
|
const a = s && s.reason;
|
|
5204
5199
|
if (a === $e.CREATED) {
|
|
5205
5200
|
const i = !q.stream || !q.tracks;
|
|
5206
|
-
i ? (q.tracks = { [V]: A }, q.stream = new
|
|
5201
|
+
i ? (q.tracks = { [V]: A }, q.stream = new wt([A])) : (q.tracks[V] = A, q.stream.addTrack(A)), i && this.emitter.emit(Xq.REMOTE_STREAM, q.userId, q.stream);
|
|
5207
5202
|
} else if (a === $e.ENDED) {
|
|
5208
5203
|
delete q.tracks[V];
|
|
5209
5204
|
const i = q.stream.getTracks().find((c) => c.kind === A.kind);
|
|
@@ -5383,7 +5378,7 @@ class Ru {
|
|
|
5383
5378
|
}
|
|
5384
5379
|
showBitrate(q, A) {
|
|
5385
5380
|
const V = this.remoteFeeds[q];
|
|
5386
|
-
h.env.isReactNative ||
|
|
5381
|
+
h.env.isReactNative || ke.browserDetails.browser !== "chrome" && ke.browserDetails.browser !== "firefox" || (this.bitrateTimers[q] = setInterval(() => {
|
|
5387
5382
|
const t = V.getBitrate();
|
|
5388
5383
|
A.text(t);
|
|
5389
5384
|
}, 1e3));
|
|
@@ -5749,7 +5744,7 @@ class Ku {
|
|
|
5749
5744
|
constructor(q) {
|
|
5750
5745
|
this.proxy = q, this.subscriptions = new zu(q), this.events = new Ju(q);
|
|
5751
5746
|
}
|
|
5752
|
-
base64Encode =
|
|
5747
|
+
base64Encode = Ya;
|
|
5753
5748
|
}
|
|
5754
5749
|
class zu {
|
|
5755
5750
|
proxy;
|
|
@@ -5925,7 +5920,7 @@ class L {
|
|
|
5925
5920
|
z.debug && console.error("[VideoChat]:", q);
|
|
5926
5921
|
}
|
|
5927
5922
|
static get getVersionFirefox() {
|
|
5928
|
-
const q =
|
|
5923
|
+
const q = Ie?.userAgent ?? null;
|
|
5929
5924
|
let A = 0;
|
|
5930
5925
|
if (q) {
|
|
5931
5926
|
const V = q.match(/(?:firefox)[ \/](\d+)/i) || [];
|
|
@@ -5934,7 +5929,7 @@ class L {
|
|
|
5934
5929
|
return typeof A == "string" ? parseInt(A) : A;
|
|
5935
5930
|
}
|
|
5936
5931
|
static get getVersionSafari() {
|
|
5937
|
-
const q =
|
|
5932
|
+
const q = Ie?.userAgent ?? null;
|
|
5938
5933
|
let A = 0;
|
|
5939
5934
|
if (q && (q.match(/(?:safari)[ \/](\d+)/i) || []).length) {
|
|
5940
5935
|
const V = q.match(/(?:version)[ \/](\d+)/i) || [];
|
|
@@ -5943,15 +5938,15 @@ class L {
|
|
|
5943
5938
|
return typeof A == "string" ? parseInt(A) : A;
|
|
5944
5939
|
}
|
|
5945
5940
|
}
|
|
5946
|
-
class
|
|
5941
|
+
class Zs {
|
|
5947
5942
|
original;
|
|
5948
5943
|
session;
|
|
5949
5944
|
userID;
|
|
5950
5945
|
type;
|
|
5951
5946
|
remoteSDP = null;
|
|
5952
|
-
state =
|
|
5947
|
+
state = dA.NEW;
|
|
5953
5948
|
iceCandidates = [];
|
|
5954
|
-
remoteStream = new
|
|
5949
|
+
remoteStream = new wt();
|
|
5955
5950
|
answerTimeInterval = 0;
|
|
5956
5951
|
onStatusClosedChecker = null;
|
|
5957
5952
|
dialingTimer = null;
|
|
@@ -5983,24 +5978,24 @@ class Hs {
|
|
|
5983
5978
|
onIceConnectionStateHandler = () => {
|
|
5984
5979
|
switch (L.trace(`onIceConnectionStateHandler: ${this.iceConnectionState}`), this.onStatusClosedChecker && L.getVersionSafari >= 11 && clearTimeout(this.onStatusClosedChecker), this.iceConnectionState) {
|
|
5985
5980
|
case "checking":
|
|
5986
|
-
this.state =
|
|
5981
|
+
this.state = dA.CHECKING, this.session.onSessionConnectionStateChanged(this.userID, UA.CONNECTING);
|
|
5987
5982
|
break;
|
|
5988
5983
|
case "connected":
|
|
5989
|
-
this.state =
|
|
5984
|
+
this.state = dA.CONNECTED, this.clearWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, UA.CONNECTED);
|
|
5990
5985
|
break;
|
|
5991
5986
|
case "completed":
|
|
5992
|
-
this.state =
|
|
5987
|
+
this.state = dA.COMPLETED, this.clearWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, UA.COMPLETED);
|
|
5993
5988
|
break;
|
|
5994
5989
|
case "failed":
|
|
5995
|
-
this.state =
|
|
5990
|
+
this.state = dA.FAILED, this.session.onSessionConnectionStateChanged(this.userID, UA.FAILED);
|
|
5996
5991
|
break;
|
|
5997
5992
|
case "disconnected":
|
|
5998
|
-
this.state =
|
|
5993
|
+
this.state = dA.DISCONNECTED, this.startWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, UA.DISCONNECTED), L.getVersionSafari >= 11 && (this.onStatusClosedChecker = setTimeout(() => {
|
|
5999
5994
|
this.onIceConnectionStateHandler();
|
|
6000
5995
|
}, 500));
|
|
6001
5996
|
break;
|
|
6002
5997
|
case "closed":
|
|
6003
|
-
this.state =
|
|
5998
|
+
this.state = dA.CLOSED, this.clearWaitingReconnectTimer(), this.session.onSessionConnectionStateChanged(this.userID, UA.CLOSED);
|
|
6004
5999
|
}
|
|
6005
6000
|
};
|
|
6006
6001
|
clearWaitingReconnectTimer() {
|
|
@@ -6029,7 +6024,7 @@ class Hs {
|
|
|
6029
6024
|
this.dialingTimer && (L.trace("clearDialingTimer"), clearInterval(this.dialingTimer), this.dialingTimer = null, this.answerTimeInterval = 0);
|
|
6030
6025
|
}
|
|
6031
6026
|
async getAndSetLocalSessionDescription(q, A = !1) {
|
|
6032
|
-
this.state =
|
|
6027
|
+
this.state = dA.CONNECTING;
|
|
6033
6028
|
try {
|
|
6034
6029
|
const V = A ? { iceRestart: A } : void 0, t = this.type === "offer" ? await this.createOffer(V) : await this.createAnswer();
|
|
6035
6030
|
return await this.setLocalDescription(t), this.setRTCRtpSenderMaxBandwidth(q), t;
|
|
@@ -6265,13 +6260,13 @@ class Hu {
|
|
|
6265
6260
|
}
|
|
6266
6261
|
}
|
|
6267
6262
|
call(q = {}) {
|
|
6268
|
-
const A =
|
|
6263
|
+
const A = Fe(q);
|
|
6269
6264
|
L.trace(`Call, extension: ${JSON.stringify(A)}`), this.state = Wq.ACTIVE, this.maxBandwidth = Number(A.userInfo?.maxBandwidth ?? 0), this.opponentsIDs.forEach((V) => {
|
|
6270
6265
|
this.callInternal(V, A, !0);
|
|
6271
6266
|
});
|
|
6272
6267
|
}
|
|
6273
6268
|
async callInternal(q, A, V) {
|
|
6274
|
-
const t = new
|
|
6269
|
+
const t = new Zs(this, q, "offer");
|
|
6275
6270
|
this.localStream?.getTracks().forEach((s) => {
|
|
6276
6271
|
t.addTrack(s, this.localStream);
|
|
6277
6272
|
}), this.peerConnections[q] = t;
|
|
@@ -6282,7 +6277,7 @@ class Hu {
|
|
|
6282
6277
|
}
|
|
6283
6278
|
}
|
|
6284
6279
|
accept(q = {}) {
|
|
6285
|
-
const A =
|
|
6280
|
+
const A = Fe(q);
|
|
6286
6281
|
if (L.trace(`Accept, extension: ${JSON.stringify(A)}`), this.state === Wq.ACTIVE) return void L.traceError("Can't accept, the session is already active, return");
|
|
6287
6282
|
if (this.state === Wq.CLOSED) return L.traceError("Can't accept, the session is already closed, return"), void this.stop({});
|
|
6288
6283
|
this.state = Wq.ACTIVE, this.acceptCallTime = Date.now(), this.clearAnswerTimer(), this.acceptInternal(this.initiatorID, A);
|
|
@@ -6307,13 +6302,13 @@ class Hu {
|
|
|
6307
6302
|
} else L.traceError("Can't accept the call, there is no information about peer connection by some reason");
|
|
6308
6303
|
}
|
|
6309
6304
|
reject(q = {}) {
|
|
6310
|
-
const A =
|
|
6305
|
+
const A = Fe(q);
|
|
6311
6306
|
L.trace(`Reject, extension: ${JSON.stringify(A.userInfo)}`), this.state = Wq.REJECTED, this.clearAnswerTimer(), Object.assign(A, { sessionID: this.ID, callType: this.callType, callerID: this.initiatorID, opponentsIDs: this.opponentsIDs }), Object.keys(this.peerConnections).forEach((V) => {
|
|
6312
6307
|
this.signalingProvider.sendMessage(Number(V), A, AA.REJECT);
|
|
6313
6308
|
}), this.close();
|
|
6314
6309
|
}
|
|
6315
6310
|
stop(q = {}) {
|
|
6316
|
-
const A =
|
|
6311
|
+
const A = Fe(q);
|
|
6317
6312
|
L.trace(`Stop, extension: ${JSON.stringify(A.userInfo)}`), this.state = Wq.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) => {
|
|
6318
6313
|
this.signalingProvider.sendMessage(Number(V), A, AA.STOP);
|
|
6319
6314
|
}), this.close();
|
|
@@ -6336,7 +6331,7 @@ class Hu {
|
|
|
6336
6331
|
const t = this.peerConnections[V];
|
|
6337
6332
|
if (t) V === q && (t.sdpRemote = A.sdp, q !== this.initiatorID && this.state === Wq.ACTIVE && this.acceptInternal(q, A));
|
|
6338
6333
|
else {
|
|
6339
|
-
const s = V !== q && this.currentUserID > V ? "offer" : "answer", a = new
|
|
6334
|
+
const s = V !== q && this.currentUserID > V ? "offer" : "answer", a = new Zs(this, V, s);
|
|
6340
6335
|
this.peerConnections[V] = a, V === q && (a.sdpRemote = A.sdp, this.startAnswerTimer());
|
|
6341
6336
|
}
|
|
6342
6337
|
});
|
|
@@ -6458,7 +6453,7 @@ class Hu {
|
|
|
6458
6453
|
const q = (this.acceptCallTime - this.startCallTime) / 1e3, A = Math.min(q, z.videochat.answerTimeInterval / 2), V = Math.max(z.videochat.answerTimeInterval - A, 1);
|
|
6459
6454
|
L.trace(`startWaitingOfferOrAnswerTimer, timeout: ${V}`), this.waitingOfferOrAnswerTimer = setTimeout(() => {
|
|
6460
6455
|
L.trace("waitingOfferOrAnswerTimeoutCallback"), Object.values(this.peerConnections).forEach((t) => {
|
|
6461
|
-
t.state !==
|
|
6456
|
+
t.state !== dA.CONNECTING && t.state !== dA.NEW || this.processOnNotAnswer(t);
|
|
6462
6457
|
}), this.waitingOfferOrAnswerTimer = null;
|
|
6463
6458
|
}, 1e3 * V);
|
|
6464
6459
|
}
|
|
@@ -6473,7 +6468,7 @@ function Xu() {
|
|
|
6473
6468
|
return e = Math.floor(e / 16), (q == "x" ? A : 3 & A | 8).toString(16);
|
|
6474
6469
|
});
|
|
6475
6470
|
}
|
|
6476
|
-
function
|
|
6471
|
+
function Fe(e = {}) {
|
|
6477
6472
|
const q = { userInfo: e };
|
|
6478
6473
|
try {
|
|
6479
6474
|
h.isObject(e) ? q.userInfo = h.cloneObject(e, !0) : L.traceWarning('Ignore "prepareExtension", must be an object');
|
|
@@ -6488,7 +6483,7 @@ class _u {
|
|
|
6488
6483
|
signalingProcessor;
|
|
6489
6484
|
signalingProvider;
|
|
6490
6485
|
SessionConnectionState = UA;
|
|
6491
|
-
PeerConnectionState =
|
|
6486
|
+
PeerConnectionState = dA;
|
|
6492
6487
|
CallType = WA;
|
|
6493
6488
|
sessions = {};
|
|
6494
6489
|
onCallListener;
|
|
@@ -6665,10 +6660,10 @@ class qp {
|
|
|
6665
6660
|
return A ? A[1] : q;
|
|
6666
6661
|
}
|
|
6667
6662
|
}
|
|
6668
|
-
class
|
|
6663
|
+
class Hs {
|
|
6669
6664
|
ConnectyCube;
|
|
6670
|
-
version =
|
|
6671
|
-
isWebRTCAvailable =
|
|
6665
|
+
version = mt;
|
|
6666
|
+
isWebRTCAvailable = AV;
|
|
6672
6667
|
utils;
|
|
6673
6668
|
service;
|
|
6674
6669
|
auth;
|
|
@@ -6690,16 +6685,16 @@ class Xs {
|
|
|
6690
6685
|
login;
|
|
6691
6686
|
logout;
|
|
6692
6687
|
init(q, A = {}) {
|
|
6693
|
-
A && typeof A == "object" && z.set(A), this.utils = h, this.service = new Pg(), this.auth = new Zg(this.service), this.users = new Wu(this.service), this.storage = new Pu(this.service), this.pushnotifications = new Ku(this.service), this.data = new Ou(this.service), this.addressbook = new Wg(this.service), this.chat = new Nu(this.service), this.meeting = new Lu(this.service), this.whiteboard = new $u(this.service), this.linkpreview = new qp(this.service),
|
|
6688
|
+
A && typeof A == "object" && z.set(A), this.utils = h, this.service = new Pg(), this.auth = new Zg(this.service), this.users = new Wu(this.service), this.storage = new Pu(this.service), this.pushnotifications = new Ku(this.service), this.data = new Ou(this.service), this.addressbook = new Wg(this.service), this.chat = new Nu(this.service), this.meeting = new Lu(this.service), this.whiteboard = new $u(this.service), this.linkpreview = new qp(this.service), AV && (this.videochat = new _u(this.chat.xmppClient, this.service), this.videochatconference = new Fu(this.service), this.chat.webrtcSignalingProcessor = this.videochat.signalingProcessor), q.token ? (z.creds.appId = q.appId, this.service.setSession({ token: q.token })) : (z.creds.appId = q.appId, z.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;
|
|
6694
6689
|
}
|
|
6695
6690
|
}
|
|
6696
|
-
var Ap = Object.assign(new
|
|
6691
|
+
var Ap = Object.assign(new Hs(), { ConnectyCube: Hs });
|
|
6697
6692
|
const $a = {
|
|
6698
6693
|
fetchedCount: 0,
|
|
6699
6694
|
queue: [],
|
|
6700
6695
|
urlPreviews: /* @__PURE__ */ new Map(),
|
|
6701
6696
|
isProcessing: !1
|
|
6702
|
-
},
|
|
6697
|
+
}, kt = VA((e, q) => ({
|
|
6703
6698
|
...$a,
|
|
6704
6699
|
addUrls: async (A) => {
|
|
6705
6700
|
const V = q(), t = A.filter((i) => !V.urlPreviews.has(i) && !V.queue.includes(i));
|
|
@@ -6726,14 +6721,14 @@ const $a = {
|
|
|
6726
6721
|
return (A.match(/https?:\/\/[^\s]+/g) || []).slice(0, V);
|
|
6727
6722
|
}
|
|
6728
6723
|
})), ep = () => {
|
|
6729
|
-
|
|
6730
|
-
},
|
|
6724
|
+
kt.setState($a);
|
|
6725
|
+
}, ve = VA((e) => ({
|
|
6731
6726
|
visible: !1,
|
|
6732
6727
|
userId: void 0,
|
|
6733
6728
|
showProfile: (q) => e({ visible: !0, userId: q }),
|
|
6734
6729
|
hideProfile: () => e({ visible: !1, userId: void 0 })
|
|
6735
6730
|
})), qo = () => {
|
|
6736
|
-
|
|
6731
|
+
ve.setState({ visible: !1, userId: void 0 });
|
|
6737
6732
|
}, gV = VA((e) => ({
|
|
6738
6733
|
unreadCount: 0,
|
|
6739
6734
|
setUnreadCount: (q) => e({ unreadCount: q }),
|
|
@@ -6766,7 +6761,7 @@ const $a = {
|
|
|
6766
6761
|
userVisibleOnly: !0
|
|
6767
6762
|
}) ?? null)), V;
|
|
6768
6763
|
}, ap = async (e) => (await eo(e))?.unsubscribe() ?? !1, Vo = () => {
|
|
6769
|
-
const e =
|
|
6764
|
+
const e = va(), { showNotifications: q, playSound: A, webPushNotifications: V } = Ae.getState();
|
|
6770
6765
|
return {
|
|
6771
6766
|
userStatus: e?.userStatus ?? $q.AVAILABLE,
|
|
6772
6767
|
isNotifications: e?.notifications ?? q,
|
|
@@ -6776,17 +6771,17 @@ const $a = {
|
|
|
6776
6771
|
}, op = Vo(), ce = VA((e) => ({
|
|
6777
6772
|
...op,
|
|
6778
6773
|
setUserStatus: async (q, A) => {
|
|
6779
|
-
await
|
|
6774
|
+
await je({ userStatus: q }, A), e({ userStatus: q });
|
|
6780
6775
|
},
|
|
6781
6776
|
setIsNotifications: async (q, A) => {
|
|
6782
|
-
await
|
|
6777
|
+
await je({ notifications: q }, A), e({ isNotifications: q });
|
|
6783
6778
|
},
|
|
6784
6779
|
setIsNotificationSound: async (q, A) => {
|
|
6785
|
-
await
|
|
6780
|
+
await je({ notificationSound: q }, A), e({ isNotificationSound: q });
|
|
6786
6781
|
},
|
|
6787
6782
|
setIsPushNotifications: async (q, A) => {
|
|
6788
6783
|
const V = await to(q);
|
|
6789
|
-
await
|
|
6784
|
+
await je({ pushNotifications: V }, A), e({ isPushNotifications: V });
|
|
6790
6785
|
}
|
|
6791
6786
|
})), to = async (e) => {
|
|
6792
6787
|
const { serviceWorkerPath: q, webPushVapidPublicKey: A } = Ae.getState();
|
|
@@ -6816,7 +6811,7 @@ const $a = {
|
|
|
6816
6811
|
resetChangeMessageTone: () => e({ changeMessageTone: Ce.changeMessageTone }),
|
|
6817
6812
|
resetTextSummarization: () => e({ textSummarization: Ce.textSummarization }),
|
|
6818
6813
|
resetApiKey: () => e({ apiKey: Ce.apiKey })
|
|
6819
|
-
})),
|
|
6814
|
+
})), Ue = VA((e) => ({
|
|
6820
6815
|
shadowRoot: CA ? document : {},
|
|
6821
6816
|
shadowPortal: CA ? document.body : null,
|
|
6822
6817
|
setShadowRoot: (q) => e({ shadowRoot: q ?? document, shadowPortal: q ?? document.body })
|
|
@@ -6826,11 +6821,11 @@ const $a = {
|
|
|
6826
6821
|
}
|
|
6827
6822
|
}, lp = ({ creds: e, config: q = {}, user: A = {}, enableUserLogin: V }) => {
|
|
6828
6823
|
const t = kq(!1), { id: s, name: a, avatar: i, userProfileLink: c } = A, r = Object.assign(cp, q), n = _q((d) => d.singleView), l = Fq((d) => d.setUserAuthorized);
|
|
6829
|
-
hg(n), t.current || (t.current = !0, sg(e, r),
|
|
6830
|
-
},
|
|
6824
|
+
hg(n), t.current || (t.current = !0, sg(e, r), Ga({ userAuthorized: !Qa() }), !V && ig(s) ? (console.info(`[useAppAuthorization] user changed to id: ${s}, name: ${a}`), gt(), l(!1)) : ag(a, s, i, c));
|
|
6825
|
+
}, Xs = (e) => Symbol.iterator in e, _s = (e) => (
|
|
6831
6826
|
// HACK: avoid checking entries type
|
|
6832
6827
|
"entries" in e
|
|
6833
|
-
),
|
|
6828
|
+
), $s = (e, q) => {
|
|
6834
6829
|
const A = e instanceof Map ? e : new Map(e.entries()), V = q instanceof Map ? q : new Map(q.entries());
|
|
6835
6830
|
if (A.size !== V.size)
|
|
6836
6831
|
return !1;
|
|
@@ -6849,7 +6844,7 @@ const $a = {
|
|
|
6849
6844
|
return !!t.done && !!s.done;
|
|
6850
6845
|
};
|
|
6851
6846
|
function gp(e, q) {
|
|
6852
|
-
return Object.is(e, q) ? !0 : typeof e != "object" || e === null || typeof q != "object" || q === null || Object.getPrototypeOf(e) !== Object.getPrototypeOf(q) ? !1 :
|
|
6847
|
+
return Object.is(e, q) ? !0 : typeof e != "object" || e === null || typeof q != "object" || q === null || Object.getPrototypeOf(e) !== Object.getPrototypeOf(q) ? !1 : Xs(e) && Xs(q) ? _s(e) && _s(q) ? $s(e, q) : dp(e, q) : $s(
|
|
6853
6848
|
{ entries: () => Object.entries(e) },
|
|
6854
6849
|
{ entries: () => Object.entries(q) }
|
|
6855
6850
|
);
|
|
@@ -6900,7 +6895,7 @@ const up = ({
|
|
|
6900
6895
|
}) => {
|
|
6901
6896
|
const [jq, Dq, Zq] = _q(
|
|
6902
6897
|
hq((aq) => [aq.opened, aq.setOpened, aq.toggleOpened])
|
|
6903
|
-
), qA = gV((aq) => aq.unreadCount), [qq, mq, vq] =
|
|
6898
|
+
), qA = gV((aq) => aq.unreadCount), [qq, mq, vq] = De(
|
|
6904
6899
|
hq((aq) => [
|
|
6905
6900
|
aq.onlineUsersCount,
|
|
6906
6901
|
aq.setRequestOnlineUsersInterval,
|
|
@@ -6942,7 +6937,7 @@ const up = ({
|
|
|
6942
6937
|
serviceWorkerPath: w
|
|
6943
6938
|
});
|
|
6944
6939
|
}, [n, l, d, m, M, w]), Aq(() => {
|
|
6945
|
-
|
|
6940
|
+
Ga({
|
|
6946
6941
|
attachmentsAccept: S,
|
|
6947
6942
|
enableUserLogin: y,
|
|
6948
6943
|
enableCalls: D,
|
|
@@ -7041,11 +7036,11 @@ function ao() {
|
|
|
7041
7036
|
l("notAnswer", S, V?.callType);
|
|
7042
7037
|
};
|
|
7043
7038
|
return Aq(() => {
|
|
7044
|
-
t && (r(), i(
|
|
7039
|
+
t && (r(), i(Je.ON_ACCEPT));
|
|
7045
7040
|
}, [t]), Aq(() => {
|
|
7046
|
-
s && (n(), i(
|
|
7041
|
+
s && (n(), i(Je.ON_STOP));
|
|
7047
7042
|
}, [s]), Aq(() => {
|
|
7048
|
-
a && (M(a?.userID), i(
|
|
7043
|
+
a && (M(a?.userID), i(Je.ON_NOT_ANSWER));
|
|
7049
7044
|
}, [a]), {
|
|
7050
7045
|
sendAcceptCall: d,
|
|
7051
7046
|
sendRejectCall: m,
|
|
@@ -7197,7 +7192,7 @@ function no(e, q = !1) {
|
|
|
7197
7192
|
return xq(() => {
|
|
7198
7193
|
if (e) {
|
|
7199
7194
|
const i = t[e._id] ?? [];
|
|
7200
|
-
if (e.type ===
|
|
7195
|
+
if (e.type === xe.PRIVATE)
|
|
7201
7196
|
return s(e) === i[0] ? `${A("typing")}...` : void 0;
|
|
7202
7197
|
if (i.length > 0) {
|
|
7203
7198
|
const r = i.map((l) => aA(V[l])).join(), n = i.length > 1 ? A("areTyping") : A("isTyping");
|
|
@@ -7253,14 +7248,14 @@ const io = (e = !1) => {
|
|
|
7253
7248
|
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",
|
|
7254
7249
|
tabsContent: "flex-1 outline-none",
|
|
7255
7250
|
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"
|
|
7256
|
-
},
|
|
7251
|
+
}, St = "-", Cp = (e) => {
|
|
7257
7252
|
const q = kp(e), {
|
|
7258
7253
|
conflictingClassGroups: A,
|
|
7259
7254
|
conflictingClassGroupModifiers: V
|
|
7260
7255
|
} = e;
|
|
7261
7256
|
return {
|
|
7262
7257
|
getClassGroupId: (a) => {
|
|
7263
|
-
const i = a.split(
|
|
7258
|
+
const i = a.split(St);
|
|
7264
7259
|
return i[0] === "" && i.length !== 1 && i.shift(), co(i, q) || Ep(a);
|
|
7265
7260
|
},
|
|
7266
7261
|
getConflictingClassGroupIds: (a, i) => {
|
|
@@ -7276,13 +7271,13 @@ const io = (e = !1) => {
|
|
|
7276
7271
|
return t;
|
|
7277
7272
|
if (q.validators.length === 0)
|
|
7278
7273
|
return;
|
|
7279
|
-
const s = e.join(
|
|
7274
|
+
const s = e.join(St);
|
|
7280
7275
|
return q.validators.find(({
|
|
7281
7276
|
validator: a
|
|
7282
7277
|
}) => a(s))?.classGroupId;
|
|
7283
|
-
},
|
|
7284
|
-
if (
|
|
7285
|
-
const q =
|
|
7278
|
+
}, qa = /^\[(.+)\]$/, Ep = (e) => {
|
|
7279
|
+
if (qa.test(e)) {
|
|
7280
|
+
const q = qa.exec(e)[1], A = q?.substring(0, q.indexOf(":"));
|
|
7286
7281
|
if (A)
|
|
7287
7282
|
return "arbitrary.." + A;
|
|
7288
7283
|
}
|
|
@@ -7295,18 +7290,18 @@ const io = (e = !1) => {
|
|
|
7295
7290
|
validators: []
|
|
7296
7291
|
};
|
|
7297
7292
|
for (const t in A)
|
|
7298
|
-
|
|
7293
|
+
tt(A[t], V, t, q);
|
|
7299
7294
|
return V;
|
|
7300
|
-
},
|
|
7295
|
+
}, tt = (e, q, A, V) => {
|
|
7301
7296
|
e.forEach((t) => {
|
|
7302
7297
|
if (typeof t == "string") {
|
|
7303
|
-
const s = t === "" ? q :
|
|
7298
|
+
const s = t === "" ? q : Aa(q, t);
|
|
7304
7299
|
s.classGroupId = A;
|
|
7305
7300
|
return;
|
|
7306
7301
|
}
|
|
7307
7302
|
if (typeof t == "function") {
|
|
7308
7303
|
if (Sp(t)) {
|
|
7309
|
-
|
|
7304
|
+
tt(t(V), q, A, V);
|
|
7310
7305
|
return;
|
|
7311
7306
|
}
|
|
7312
7307
|
q.validators.push({
|
|
@@ -7316,12 +7311,12 @@ const io = (e = !1) => {
|
|
|
7316
7311
|
return;
|
|
7317
7312
|
}
|
|
7318
7313
|
Object.entries(t).forEach(([s, a]) => {
|
|
7319
|
-
|
|
7314
|
+
tt(a, Aa(q, s), A, V);
|
|
7320
7315
|
});
|
|
7321
7316
|
});
|
|
7322
|
-
},
|
|
7317
|
+
}, Aa = (e, q) => {
|
|
7323
7318
|
let A = e;
|
|
7324
|
-
return q.split(
|
|
7319
|
+
return q.split(St).forEach((V) => {
|
|
7325
7320
|
A.nextPart.has(V) || A.nextPart.set(V, {
|
|
7326
7321
|
nextPart: /* @__PURE__ */ new Map(),
|
|
7327
7322
|
validators: []
|
|
@@ -7351,7 +7346,7 @@ const io = (e = !1) => {
|
|
|
7351
7346
|
A.has(s) ? A.set(s, a) : t(s, a);
|
|
7352
7347
|
}
|
|
7353
7348
|
};
|
|
7354
|
-
},
|
|
7349
|
+
}, rt = "!", st = ":", Bp = st.length, yp = (e) => {
|
|
7355
7350
|
const {
|
|
7356
7351
|
prefix: q,
|
|
7357
7352
|
experimentalParseClassName: A
|
|
@@ -7362,7 +7357,7 @@ const io = (e = !1) => {
|
|
|
7362
7357
|
for (let w = 0; w < t.length; w++) {
|
|
7363
7358
|
let M = t[w];
|
|
7364
7359
|
if (a === 0 && i === 0) {
|
|
7365
|
-
if (M ===
|
|
7360
|
+
if (M === st) {
|
|
7366
7361
|
s.push(t.slice(c, w)), c = w + Bp;
|
|
7367
7362
|
continue;
|
|
7368
7363
|
}
|
|
@@ -7382,7 +7377,7 @@ const io = (e = !1) => {
|
|
|
7382
7377
|
};
|
|
7383
7378
|
};
|
|
7384
7379
|
if (q) {
|
|
7385
|
-
const t = q +
|
|
7380
|
+
const t = q + st, s = V;
|
|
7386
7381
|
V = (a) => a.startsWith(t) ? s(a.substring(t.length)) : {
|
|
7387
7382
|
isExternal: !0,
|
|
7388
7383
|
modifiers: [],
|
|
@@ -7399,7 +7394,7 @@ const io = (e = !1) => {
|
|
|
7399
7394
|
});
|
|
7400
7395
|
}
|
|
7401
7396
|
return V;
|
|
7402
|
-
}, xp = (e) => e.endsWith(
|
|
7397
|
+
}, xp = (e) => e.endsWith(rt) ? e.substring(0, e.length - 1) : e.startsWith(rt) ? e.substring(1) : e, Tp = (e) => {
|
|
7403
7398
|
const q = Object.fromEntries(e.orderSensitiveModifiers.map((V) => [V, !0]));
|
|
7404
7399
|
return (V) => {
|
|
7405
7400
|
if (V.length <= 1)
|
|
@@ -7447,7 +7442,7 @@ const io = (e = !1) => {
|
|
|
7447
7442
|
}
|
|
7448
7443
|
S = !1;
|
|
7449
7444
|
}
|
|
7450
|
-
const D = s(d).join(":"), U = m ? D +
|
|
7445
|
+
const D = s(d).join(":"), U = m ? D + rt : D, v = U + y;
|
|
7451
7446
|
if (a.includes(v))
|
|
7452
7447
|
continue;
|
|
7453
7448
|
a.push(v);
|
|
@@ -7499,7 +7494,7 @@ const Pq = (e) => {
|
|
|
7499
7494
|
// For example, `hsl(0 0% 0%)` would be classified as a length without this check.
|
|
7500
7495
|
// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
|
|
7501
7496
|
jp.test(e) && !Rp.test(e)
|
|
7502
|
-
), po = () => !1, Kp = (e) => Yp.test(e), zp = (e) => Fp.test(e), Jp = (e) => !X(e) && !_(e), Pp = (e) => le(e, wo, po), X = (e) => go.test(e), $A = (e) => le(e, fo, Lp), JV = (e) => le(e, _p, cq),
|
|
7497
|
+
), po = () => !1, Kp = (e) => Yp.test(e), zp = (e) => Fp.test(e), Jp = (e) => !X(e) && !_(e), Pp = (e) => le(e, wo, po), X = (e) => go.test(e), $A = (e) => le(e, fo, Lp), JV = (e) => le(e, _p, cq), ea = (e) => le(e, ho, po), Wp = (e) => le(e, mo, zp), Oe = (e) => le(e, Mo, Kp), _ = (e) => uo.test(e), we = (e) => de(e, fo), Zp = (e) => de(e, $p), Va = (e) => de(e, ho), Hp = (e) => de(e, wo), Xp = (e) => de(e, mo), Le = (e) => de(e, Mo, !0), le = (e, q, A) => {
|
|
7503
7498
|
const V = go.exec(e);
|
|
7504
7499
|
return V ? V[1] ? q(V[1]) : A(V[2]) : !1;
|
|
7505
7500
|
}, de = (e, q, A = !1) => {
|
|
@@ -7526,7 +7521,7 @@ const Pq = (e) => {
|
|
|
7526
7521
|
"left-bottom"
|
|
7527
7522
|
], k = () => [...v(), _, X], j = () => ["auto", "hidden", "clip", "visible", "scroll"], G = () => ["auto", "contain", "none"], Q = () => [_, X, c], J = () => [re, "full", "auto", ...Q()], O = () => [KA, "none", "subgrid", _, X], nq = () => ["auto", {
|
|
7528
7523
|
span: ["full", KA, _, X]
|
|
7529
|
-
}, KA, _, X], rq = () => [KA, "auto", _, X], P = () => ["auto", "min", "max", "fr", _, X], $ = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], Iq = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], fq = () => ["auto", ...Q()], lq = () => [re, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...Q()], H = () => [e, _, X], jq = () => [...v(),
|
|
7524
|
+
}, KA, _, X], rq = () => [KA, "auto", _, X], P = () => ["auto", "min", "max", "fr", _, X], $ = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], Iq = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], fq = () => ["auto", ...Q()], lq = () => [re, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...Q()], H = () => [e, _, X], jq = () => [...v(), Va, ea, {
|
|
7530
7525
|
position: [_, X]
|
|
7531
7526
|
}], Dq = () => ["no-repeat", {
|
|
7532
7527
|
repeat: ["", "x", "y", "space", "round"]
|
|
@@ -7540,7 +7535,7 @@ const Pq = (e) => {
|
|
|
7540
7535
|
r,
|
|
7541
7536
|
_,
|
|
7542
7537
|
X
|
|
7543
|
-
], mq = () => ["", cq, we, $A], vq = () => ["solid", "dashed", "dotted", "double"], Hq = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], uq = () => [cq, zV,
|
|
7538
|
+
], mq = () => ["", cq, we, $A], vq = () => ["solid", "dashed", "dotted", "double"], Hq = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], uq = () => [cq, zV, Va, ea], Vq = () => [
|
|
7544
7539
|
// Deprecated since Tailwind CSS v4.0.0
|
|
7545
7540
|
"",
|
|
7546
7541
|
"none",
|
|
@@ -8897,8 +8892,8 @@ const Pq = (e) => {
|
|
|
8897
8892
|
"",
|
|
8898
8893
|
"none",
|
|
8899
8894
|
n,
|
|
8900
|
-
|
|
8901
|
-
|
|
8895
|
+
Le,
|
|
8896
|
+
Oe
|
|
8902
8897
|
]
|
|
8903
8898
|
}],
|
|
8904
8899
|
/**
|
|
@@ -8913,7 +8908,7 @@ const Pq = (e) => {
|
|
|
8913
8908
|
* @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
|
|
8914
8909
|
*/
|
|
8915
8910
|
"inset-shadow": [{
|
|
8916
|
-
"inset-shadow": ["none", l,
|
|
8911
|
+
"inset-shadow": ["none", l, Le, Oe]
|
|
8917
8912
|
}],
|
|
8918
8913
|
/**
|
|
8919
8914
|
* Inset Box Shadow Color
|
|
@@ -8980,7 +8975,7 @@ const Pq = (e) => {
|
|
|
8980
8975
|
* @see https://tailwindcss.com/docs/text-shadow
|
|
8981
8976
|
*/
|
|
8982
8977
|
"text-shadow": [{
|
|
8983
|
-
"text-shadow": ["none", d,
|
|
8978
|
+
"text-shadow": ["none", d, Le, Oe]
|
|
8984
8979
|
}],
|
|
8985
8980
|
/**
|
|
8986
8981
|
* Text Shadow Color
|
|
@@ -9253,8 +9248,8 @@ const Pq = (e) => {
|
|
|
9253
9248
|
"",
|
|
9254
9249
|
"none",
|
|
9255
9250
|
m,
|
|
9256
|
-
|
|
9257
|
-
|
|
9251
|
+
Le,
|
|
9252
|
+
Oe
|
|
9258
9253
|
]
|
|
9259
9254
|
}],
|
|
9260
9255
|
/**
|
|
@@ -9977,7 +9972,7 @@ const Pq = (e) => {
|
|
|
9977
9972
|
};
|
|
9978
9973
|
}, Co = /* @__PURE__ */ Qp(qh);
|
|
9979
9974
|
function sq(...e) {
|
|
9980
|
-
return Co(
|
|
9975
|
+
return Co(pa(e));
|
|
9981
9976
|
}
|
|
9982
9977
|
function Eo(e, q, A, V, t, s, a) {
|
|
9983
9978
|
const i = (/* @__PURE__ */ new Date()).toISOString();
|
|
@@ -9999,7 +9994,7 @@ function Eo(e, q, A, V, t, s, a) {
|
|
|
9999
9994
|
extensions: a
|
|
10000
9995
|
};
|
|
10001
9996
|
}
|
|
10002
|
-
const
|
|
9997
|
+
const It = ma(tq.button, {
|
|
10003
9998
|
variants: {
|
|
10004
9999
|
variant: {
|
|
10005
10000
|
default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
|
|
@@ -10028,8 +10023,8 @@ function EA({
|
|
|
10028
10023
|
asChild: V = !1,
|
|
10029
10024
|
...t
|
|
10030
10025
|
}) {
|
|
10031
|
-
const s = V ?
|
|
10032
|
-
return /* @__PURE__ */ o.jsx(s, { "data-slot": "button", className: sq(
|
|
10026
|
+
const s = V ? ha : "button";
|
|
10027
|
+
return /* @__PURE__ */ o.jsx(s, { "data-slot": "button", className: sq(It({ variant: q, size: A, className: e })), ...t });
|
|
10033
10028
|
}
|
|
10034
10029
|
function ko({ ...e }) {
|
|
10035
10030
|
return /* @__PURE__ */ o.jsx(YA.Root, { "data-slot": "alert-dialog", ...e });
|
|
@@ -10038,7 +10033,7 @@ function Ah({ ...e }) {
|
|
|
10038
10033
|
return /* @__PURE__ */ o.jsx(YA.Trigger, { "data-slot": "alert-dialog-trigger", ...e });
|
|
10039
10034
|
}
|
|
10040
10035
|
function eh({ ...e }) {
|
|
10041
|
-
return e.container =
|
|
10036
|
+
return e.container = Ue((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(YA.Portal, { "data-slot": "alert-dialog-portal", ...e });
|
|
10042
10037
|
}
|
|
10043
10038
|
function Vh({ className: e, ...q }) {
|
|
10044
10039
|
return /* @__PURE__ */ o.jsx(
|
|
@@ -10096,10 +10091,10 @@ function rh({
|
|
|
10096
10091
|
);
|
|
10097
10092
|
}
|
|
10098
10093
|
function sh({ className: e, ...q }) {
|
|
10099
|
-
return /* @__PURE__ */ o.jsx(YA.Action, { className: sq(
|
|
10094
|
+
return /* @__PURE__ */ o.jsx(YA.Action, { className: sq(It(), e), ...q });
|
|
10100
10095
|
}
|
|
10101
10096
|
function ah({ className: e, ...q }) {
|
|
10102
|
-
return /* @__PURE__ */ o.jsx(YA.Cancel, { className: sq(
|
|
10097
|
+
return /* @__PURE__ */ o.jsx(YA.Cancel, { className: sq(It({ variant: "outline" }), e), ...q });
|
|
10103
10098
|
}
|
|
10104
10099
|
var yo = {
|
|
10105
10100
|
color: void 0,
|
|
@@ -10107,7 +10102,7 @@ var yo = {
|
|
|
10107
10102
|
className: void 0,
|
|
10108
10103
|
style: void 0,
|
|
10109
10104
|
attr: void 0
|
|
10110
|
-
},
|
|
10105
|
+
}, ta = Sq.createContext && /* @__PURE__ */ Sq.createContext(yo), oh = ["attr", "size", "title"];
|
|
10111
10106
|
function nh(e, q) {
|
|
10112
10107
|
if (e == null) return {};
|
|
10113
10108
|
var A = ih(e, q), V, t;
|
|
@@ -10128,17 +10123,17 @@ function ih(e, q) {
|
|
|
10128
10123
|
}
|
|
10129
10124
|
return A;
|
|
10130
10125
|
}
|
|
10131
|
-
function
|
|
10132
|
-
return
|
|
10126
|
+
function VV() {
|
|
10127
|
+
return VV = Object.assign ? Object.assign.bind() : function(e) {
|
|
10133
10128
|
for (var q = 1; q < arguments.length; q++) {
|
|
10134
10129
|
var A = arguments[q];
|
|
10135
10130
|
for (var V in A)
|
|
10136
10131
|
Object.prototype.hasOwnProperty.call(A, V) && (e[V] = A[V]);
|
|
10137
10132
|
}
|
|
10138
10133
|
return e;
|
|
10139
|
-
},
|
|
10134
|
+
}, VV.apply(this, arguments);
|
|
10140
10135
|
}
|
|
10141
|
-
function
|
|
10136
|
+
function ra(e, q) {
|
|
10142
10137
|
var A = Object.keys(e);
|
|
10143
10138
|
if (Object.getOwnPropertySymbols) {
|
|
10144
10139
|
var V = Object.getOwnPropertySymbols(e);
|
|
@@ -10148,12 +10143,12 @@ function sa(e, q) {
|
|
|
10148
10143
|
}
|
|
10149
10144
|
return A;
|
|
10150
10145
|
}
|
|
10151
|
-
function
|
|
10146
|
+
function tV(e) {
|
|
10152
10147
|
for (var q = 1; q < arguments.length; q++) {
|
|
10153
10148
|
var A = arguments[q] != null ? arguments[q] : {};
|
|
10154
|
-
q % 2 ?
|
|
10149
|
+
q % 2 ? ra(Object(A), !0).forEach(function(V) {
|
|
10155
10150
|
ch(e, V, A[V]);
|
|
10156
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(A)) :
|
|
10151
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(A)) : ra(Object(A)).forEach(function(V) {
|
|
10157
10152
|
Object.defineProperty(e, V, Object.getOwnPropertyDescriptor(A, V));
|
|
10158
10153
|
});
|
|
10159
10154
|
}
|
|
@@ -10177,13 +10172,13 @@ function dh(e, q) {
|
|
|
10177
10172
|
return (q === "string" ? String : Number)(e);
|
|
10178
10173
|
}
|
|
10179
10174
|
function xo(e) {
|
|
10180
|
-
return e && e.map((q, A) => /* @__PURE__ */ Sq.createElement(q.tag,
|
|
10175
|
+
return e && e.map((q, A) => /* @__PURE__ */ Sq.createElement(q.tag, tV({
|
|
10181
10176
|
key: A
|
|
10182
10177
|
}, q.attr), xo(q.child)));
|
|
10183
10178
|
}
|
|
10184
10179
|
function Cq(e) {
|
|
10185
|
-
return (q) => /* @__PURE__ */ Sq.createElement(gh,
|
|
10186
|
-
attr:
|
|
10180
|
+
return (q) => /* @__PURE__ */ Sq.createElement(gh, VV({
|
|
10181
|
+
attr: tV({}, e.attr)
|
|
10187
10182
|
}, q), xo(e.child));
|
|
10188
10183
|
}
|
|
10189
10184
|
function gh(e) {
|
|
@@ -10193,13 +10188,13 @@ function gh(e) {
|
|
|
10193
10188
|
size: t,
|
|
10194
10189
|
title: s
|
|
10195
10190
|
} = e, a = nh(e, oh), i = t || A.size || "1em", c;
|
|
10196
|
-
return A.className && (c = A.className), e.className && (c = (c ? c + " " : "") + e.className), /* @__PURE__ */ Sq.createElement("svg",
|
|
10191
|
+
return A.className && (c = A.className), e.className && (c = (c ? c + " " : "") + e.className), /* @__PURE__ */ Sq.createElement("svg", VV({
|
|
10197
10192
|
stroke: "currentColor",
|
|
10198
10193
|
fill: "currentColor",
|
|
10199
10194
|
strokeWidth: "0"
|
|
10200
10195
|
}, A.attr, V, a, {
|
|
10201
10196
|
className: c,
|
|
10202
|
-
style:
|
|
10197
|
+
style: tV(tV({
|
|
10203
10198
|
color: e.color || A.color
|
|
10204
10199
|
}, A.style), e.style),
|
|
10205
10200
|
height: i,
|
|
@@ -10207,7 +10202,7 @@ function gh(e) {
|
|
|
10207
10202
|
xmlns: "http://www.w3.org/2000/svg"
|
|
10208
10203
|
}), s && /* @__PURE__ */ Sq.createElement("title", null, s), e.children);
|
|
10209
10204
|
};
|
|
10210
|
-
return
|
|
10205
|
+
return ta !== void 0 ? /* @__PURE__ */ Sq.createElement(ta.Consumer, null, (A) => q(A)) : q(yo);
|
|
10211
10206
|
}
|
|
10212
10207
|
function uh(e) {
|
|
10213
10208
|
return Cq({ 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);
|
|
@@ -10216,12 +10211,12 @@ function ph(e) {
|
|
|
10216
10211
|
return Cq({ 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);
|
|
10217
10212
|
}
|
|
10218
10213
|
const GA = ({ className: e = "" }) => /* @__PURE__ */ o.jsx(ph, { className: sq("animate-spin size-6 text-black mx-auto ", e) }), hh = () => {
|
|
10219
|
-
const [e, q] =
|
|
10214
|
+
const [e, q] = nV(hq((A) => [A.visible, A.title]));
|
|
10220
10215
|
return /* @__PURE__ */ o.jsx(ko, { open: e, children: /* @__PURE__ */ o.jsx(So, { className: "size-auto", children: /* @__PURE__ */ o.jsx(Io, { children: /* @__PURE__ */ o.jsx(Bo, { className: "self-center", children: /* @__PURE__ */ o.jsxs("div", { className: "flex items-center space-x-4", children: [
|
|
10221
10216
|
/* @__PURE__ */ o.jsx("span", { children: q }),
|
|
10222
10217
|
/* @__PURE__ */ o.jsx(GA, {})
|
|
10223
10218
|
] }) }) }) }) });
|
|
10224
|
-
},
|
|
10219
|
+
}, sa = ({ customButton: e }) => {
|
|
10225
10220
|
const {
|
|
10226
10221
|
stopCall: q,
|
|
10227
10222
|
activeCall: A,
|
|
@@ -10244,23 +10239,23 @@ const GA = ({ className: e = "" }) => /* @__PURE__ */ o.jsx(ph, { className: sq(
|
|
|
10244
10239
|
d ? V() : t();
|
|
10245
10240
|
}, [d, t, V]);
|
|
10246
10241
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row items-center justify-center bg-gray-800 rounded-full p-2 gap-x-4", children: [
|
|
10247
|
-
/* @__PURE__ */ o.jsx("button", { onClick: w, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: c ? /* @__PURE__ */ o.jsx(ln, { className: "text-background" }) : /* @__PURE__ */ o.jsx(
|
|
10242
|
+
/* @__PURE__ */ o.jsx("button", { onClick: w, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: c ? /* @__PURE__ */ o.jsx(ln, { className: "text-background" }) : /* @__PURE__ */ o.jsx(wa, { className: "text-background" }) }),
|
|
10248
10243
|
/* @__PURE__ */ o.jsx("button", { onClick: M, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: l ? /* @__PURE__ */ o.jsx(dn, { className: "text-background" }) : /* @__PURE__ */ o.jsx(gn, { className: "text-background" }) }),
|
|
10249
|
-
/* @__PURE__ */ o.jsx("button", { onClick: S, className: "bg-red-600 hover:bg-red-700 rounded-full p-2", children: /* @__PURE__ */ o.jsx(
|
|
10244
|
+
/* @__PURE__ */ o.jsx("button", { onClick: S, className: "bg-red-600 hover:bg-red-700 rounded-full p-2", children: /* @__PURE__ */ o.jsx(ot, { className: "text-background", style: { transform: "rotate(135deg)" } }) }),
|
|
10250
10245
|
e || /* @__PURE__ */ o.jsx("div", { className: "p-1.5", children: /* @__PURE__ */ o.jsx("div", { className: "size-7" }) }),
|
|
10251
10246
|
/* @__PURE__ */ o.jsx("button", { onClick: y, className: "bg-gray-600 hover:bg-gray-500 rounded-full p-2", children: d ? /* @__PURE__ */ o.jsx(un, { className: "text-background" }) : /* @__PURE__ */ o.jsx(pn, { className: "text-background" }) })
|
|
10252
10247
|
] });
|
|
10253
10248
|
}, mh = "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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";
|
|
10254
10249
|
function Ee(...e) {
|
|
10255
|
-
return Co(
|
|
10250
|
+
return Co(pa(e));
|
|
10256
10251
|
}
|
|
10257
10252
|
function wh(e = 8) {
|
|
10258
10253
|
return (Date.now() / Math.random()).toString(36).replace(".", "").slice(0, e);
|
|
10259
10254
|
}
|
|
10260
|
-
const To =
|
|
10255
|
+
const To = rV(
|
|
10261
10256
|
({ id: e, stream: q, mirror: A, className: V, muted: t, ...s }, a) => {
|
|
10262
10257
|
const i = kq(null), c = xq(() => e ?? `stream-${wh()}`, [e]), r = typeof t == "boolean" ? t : !0, n = "size-full object-contain", l = A ? "scale-x-[-1]" : "";
|
|
10263
|
-
return
|
|
10258
|
+
return ua(a, () => i.current), Aq(() => {
|
|
10264
10259
|
if (i.current && q) {
|
|
10265
10260
|
i.current.srcObject = q;
|
|
10266
10261
|
const d = () => {
|
|
@@ -10287,13 +10282,13 @@ const To = tV(
|
|
|
10287
10282
|
}
|
|
10288
10283
|
) : null;
|
|
10289
10284
|
}
|
|
10290
|
-
),
|
|
10285
|
+
), aa = rV(({ muted: e, mirror: q, ...A }, V) => {
|
|
10291
10286
|
const t = typeof e == "boolean" ? e : !0, s = typeof q == "boolean" ? q : !0;
|
|
10292
10287
|
return /* @__PURE__ */ o.jsx(To, { ref: V, muted: t, mirror: s, ...A });
|
|
10293
|
-
}), fh =
|
|
10288
|
+
}), fh = rV(({ muted: e, mirror: q, ...A }, V) => {
|
|
10294
10289
|
const t = typeof e == "boolean" ? e : !1, s = typeof q == "boolean" ? q : !1;
|
|
10295
10290
|
return /* @__PURE__ */ o.jsx(To, { ref: V, muted: t, mirror: s, ...A });
|
|
10296
|
-
}), Mh =
|
|
10291
|
+
}), Mh = rV(
|
|
10297
10292
|
({
|
|
10298
10293
|
element: e,
|
|
10299
10294
|
pipElement: q,
|
|
@@ -10324,7 +10319,7 @@ const To = tV(
|
|
|
10324
10319
|
}, [D]), Q = Nq(() => {
|
|
10325
10320
|
q && j((J) => !J);
|
|
10326
10321
|
}, [q]);
|
|
10327
|
-
return
|
|
10322
|
+
return ua(
|
|
10328
10323
|
y,
|
|
10329
10324
|
() => ({
|
|
10330
10325
|
isFullscreen: U,
|
|
@@ -10403,7 +10398,7 @@ const To = tV(
|
|
|
10403
10398
|
}, [V, q]), Aq(() => {
|
|
10404
10399
|
if (V && i) {
|
|
10405
10400
|
const { userID: l } = i, d = l ? A[l] : null, m = aA(d);
|
|
10406
|
-
|
|
10401
|
+
gA.info(e("RejectedCall", { name: m }));
|
|
10407
10402
|
}
|
|
10408
10403
|
}, [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: [
|
|
10409
10404
|
/* @__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: [
|
|
@@ -10416,14 +10411,14 @@ const To = tV(
|
|
|
10416
10411
|
{
|
|
10417
10412
|
element: /* @__PURE__ */ o.jsx(fh, { id: `${l}-stream`, stream: d }),
|
|
10418
10413
|
pipElement: /* @__PURE__ */ o.jsx(
|
|
10419
|
-
|
|
10414
|
+
aa,
|
|
10420
10415
|
{
|
|
10421
10416
|
id: "pip-local-stream",
|
|
10422
10417
|
stream: a,
|
|
10423
10418
|
mirror: c === WV.USER
|
|
10424
10419
|
}
|
|
10425
10420
|
),
|
|
10426
|
-
navElement: /* @__PURE__ */ o.jsx(
|
|
10421
|
+
navElement: /* @__PURE__ */ o.jsx(sa, {})
|
|
10427
10422
|
}
|
|
10428
10423
|
)
|
|
10429
10424
|
},
|
|
@@ -10433,12 +10428,12 @@ const To = tV(
|
|
|
10433
10428
|
"div",
|
|
10434
10429
|
{
|
|
10435
10430
|
className: "flex items-center justify-center bg-black rounded-sm overflow-hidden h-[calc(50%-1.5em)]",
|
|
10436
|
-
children: /* @__PURE__ */ o.jsx(
|
|
10431
|
+
children: /* @__PURE__ */ o.jsx(aa, { id: "main-local-stream", stream: a, mirror: c === WV.USER })
|
|
10437
10432
|
},
|
|
10438
10433
|
"local-stream"
|
|
10439
10434
|
)
|
|
10440
10435
|
] }) }),
|
|
10441
|
-
/* @__PURE__ */ o.jsx(
|
|
10436
|
+
/* @__PURE__ */ o.jsx(sa, {})
|
|
10442
10437
|
] }) : null;
|
|
10443
10438
|
}, Eh = "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", kh = () => {
|
|
10444
10439
|
const { t: e } = gq(), { users: q, fetchUserById: A, acceptCall: V, rejectCall: t, incomingCall: s, incomingCallStopData: a, resetSessionData: i } = Mq(), { sendAcceptCall: c, sendRejectCall: r } = ao(), n = uV(Eh), l = e("IncomingCall"), [d, m] = Qq(l), w = () => {
|
|
@@ -10461,7 +10456,7 @@ const To = tV(
|
|
|
10461
10456
|
}, [e, s, l, S]), D = Nq(async () => {
|
|
10462
10457
|
if (a) {
|
|
10463
10458
|
const { userID: U } = a, v = await S(U);
|
|
10464
|
-
|
|
10459
|
+
gA.info(e("MissedCall", { name: v })), i(Je.ON_STOP_CALLING);
|
|
10465
10460
|
}
|
|
10466
10461
|
}, [e, a, S, i]);
|
|
10467
10462
|
return Aq(() => {
|
|
@@ -10480,7 +10475,7 @@ const To = tV(
|
|
|
10480
10475
|
className: "flex flex-row gap-2 items-center bg-green-500 hover:bg-green-600 px-3 py-2 rounded-full text-background",
|
|
10481
10476
|
children: [
|
|
10482
10477
|
/* @__PURE__ */ o.jsx("span", { className: "font-bold", children: e("Accept") }),
|
|
10483
|
-
/* @__PURE__ */ o.jsx(
|
|
10478
|
+
/* @__PURE__ */ o.jsx(ot, { className: "size-5" })
|
|
10484
10479
|
]
|
|
10485
10480
|
}
|
|
10486
10481
|
),
|
|
@@ -10501,7 +10496,7 @@ const To = tV(
|
|
|
10501
10496
|
const { activeCall: e, incomingCall: q } = Mq();
|
|
10502
10497
|
return e ? /* @__PURE__ */ o.jsx(Ch, {}) : q ? /* @__PURE__ */ o.jsx(kh, {}) : null;
|
|
10503
10498
|
}, Ih = '/*! 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))}}', Bh = ({ children: e }) => {
|
|
10504
|
-
const q =
|
|
10499
|
+
const q = Ue((a) => a.setShadowRoot), A = kq(null), V = kq(null), [t, s] = Qq(null);
|
|
10505
10500
|
return Aq(() => {
|
|
10506
10501
|
if (V.current && !A.current) {
|
|
10507
10502
|
const a = new CSSStyleSheet();
|
|
@@ -10516,7 +10511,7 @@ const To = tV(
|
|
|
10516
10511
|
}, yh = ({ children: e, embedded: q = !1, style: A = {} }) => {
|
|
10517
10512
|
const [V, t, s] = _q(
|
|
10518
10513
|
hq((d) => [d.opened, d.splitView, d.singleView])
|
|
10519
|
-
), a = xq(() => window?.matchMedia("(pointer: coarse)").matches ?? !1, []), i = xq(() => ({ fontSize:
|
|
10514
|
+
), a = xq(() => window?.matchMedia("(pointer: coarse)").matches ?? !1, []), i = xq(() => ({ fontSize: Lt, fontWeight: Kt, ...A }), [A]), c = xq(() => sq(
|
|
10520
10515
|
"overflow-hidden flex flex-col items-center justify-center text-center bg-gray-800 text-black border border-gray-300",
|
|
10521
10516
|
q ? "relative" : V ? "fixed" : "hidden",
|
|
10522
10517
|
q ? "" : "bottom-16 right-3",
|
|
@@ -10546,8 +10541,8 @@ const To = tV(
|
|
|
10546
10541
|
[${fe.WRAPPER}='size-full'] {
|
|
10547
10542
|
width: 100%;
|
|
10548
10543
|
height: 100%;
|
|
10549
|
-
font-size: ${A.fontSize ??
|
|
10550
|
-
font-weight: ${A.fontWeight ??
|
|
10544
|
+
font-size: ${A.fontSize ?? Lt};
|
|
10545
|
+
font-weight: ${A.fontWeight ?? Kt};
|
|
10551
10546
|
}
|
|
10552
10547
|
`), document.adoptedStyleSheets = [...document.adoptedStyleSheets, d];
|
|
10553
10548
|
}, []), /* @__PURE__ */ o.jsx("div", { onMouseEnter: n, onMouseLeave: l, className: c, style: i, children: e });
|
|
@@ -10559,11 +10554,11 @@ function xh(e) {
|
|
|
10559
10554
|
return Cq({ 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);
|
|
10560
10555
|
}
|
|
10561
10556
|
function Th({ className: e, ...q }) {
|
|
10562
|
-
return /* @__PURE__ */ o.jsx(
|
|
10557
|
+
return /* @__PURE__ */ o.jsx(nt.Root, { "data-slot": "avatar", className: sq(tq.avatar, e), ...q });
|
|
10563
10558
|
}
|
|
10564
10559
|
function bh({ className: e, ...q }) {
|
|
10565
10560
|
return /* @__PURE__ */ o.jsx(
|
|
10566
|
-
|
|
10561
|
+
nt.Image,
|
|
10567
10562
|
{
|
|
10568
10563
|
"data-slot": "avatar-image",
|
|
10569
10564
|
className: sq(tq.avatarImage, e),
|
|
@@ -10573,7 +10568,7 @@ function bh({ className: e, ...q }) {
|
|
|
10573
10568
|
}
|
|
10574
10569
|
function Dh({ className: e, ...q }) {
|
|
10575
10570
|
return /* @__PURE__ */ o.jsx(
|
|
10576
|
-
|
|
10571
|
+
nt.Fallback,
|
|
10577
10572
|
{
|
|
10578
10573
|
"data-slot": "avatar-fallback",
|
|
10579
10574
|
className: sq(tq.avatarFallback, e),
|
|
@@ -10617,7 +10612,7 @@ const Do = ({ status: e }) => {
|
|
|
10617
10612
|
return null;
|
|
10618
10613
|
}
|
|
10619
10614
|
}, vo = ({ imageUIDOrUrl: e, name: q, className: A = "" }) => {
|
|
10620
|
-
const V =
|
|
10615
|
+
const V = ut(e), t = q ? q.slice(0, 2).toUpperCase() : "NA", s = `${V}-${q}`;
|
|
10621
10616
|
return /* @__PURE__ */ o.jsxs(Th, { className: A, children: [
|
|
10622
10617
|
/* @__PURE__ */ o.jsx(bh, { src: V }, s),
|
|
10623
10618
|
/* @__PURE__ */ o.jsx(Dh, { children: t })
|
|
@@ -10630,8 +10625,8 @@ const Do = ({ status: e }) => {
|
|
|
10630
10625
|
function pV({ ...e }) {
|
|
10631
10626
|
return /* @__PURE__ */ o.jsx(FA.Root, { "data-slot": "dropdown-menu", ...e });
|
|
10632
10627
|
}
|
|
10633
|
-
function
|
|
10634
|
-
return e.container =
|
|
10628
|
+
function Bt({ ...e }) {
|
|
10629
|
+
return e.container = Ue((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(FA.Portal, { "data-slot": "dropdown-menu-portal", ...e });
|
|
10635
10630
|
}
|
|
10636
10631
|
function hV({ ...e }) {
|
|
10637
10632
|
return /* @__PURE__ */ o.jsx(FA.Trigger, { "data-slot": "dropdown-menu-trigger", ...e });
|
|
@@ -10641,7 +10636,7 @@ function mV({
|
|
|
10641
10636
|
sideOffset: q = 4,
|
|
10642
10637
|
...A
|
|
10643
10638
|
}) {
|
|
10644
|
-
return /* @__PURE__ */ o.jsx(
|
|
10639
|
+
return /* @__PURE__ */ o.jsx(Bt, { children: /* @__PURE__ */ o.jsx(
|
|
10645
10640
|
FA.Content,
|
|
10646
10641
|
{
|
|
10647
10642
|
"data-slot": "dropdown-menu-content",
|
|
@@ -10716,11 +10711,11 @@ const Lh = "data:audio/mpeg;base64,//uQZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAA
|
|
|
10716
10711
|
return Aq(() => {
|
|
10717
10712
|
(!V || t || s) && e.stop();
|
|
10718
10713
|
}, [V, t, s, e]), /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row", children: [
|
|
10719
|
-
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: c, children: /* @__PURE__ */ o.jsx(
|
|
10720
|
-
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: i, children: /* @__PURE__ */ o.jsx(
|
|
10714
|
+
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: c, children: /* @__PURE__ */ o.jsx(wa, { className: "text-foreground hover:text-blue-700" }) }),
|
|
10715
|
+
/* @__PURE__ */ o.jsx("button", { className: "bg-transparent p-2", onClick: i, children: /* @__PURE__ */ o.jsx(ot, { className: "text-foreground hover:text-blue-700" }) })
|
|
10721
10716
|
] });
|
|
10722
10717
|
}, zh = () => {
|
|
10723
|
-
const { t: e } = gq(), { selectedDialog: q, leaveGroupChat: A } = Mq(), V = Fq((a) => a.enableCalls), t = _q((a) => a.singleView), s = q?.type ===
|
|
10718
|
+
const { t: e } = gq(), { selectedDialog: q, leaveGroupChat: A } = Mq(), V = Fq((a) => a.enableCalls), t = _q((a) => a.singleView), s = q?.type === xe.PRIVATE;
|
|
10724
10719
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-row", children: [
|
|
10725
10720
|
V && s && /* @__PURE__ */ o.jsx(Kh, {}),
|
|
10726
10721
|
!t && /* @__PURE__ */ o.jsxs(pV, { modal: !1, children: [
|
|
@@ -10729,9 +10724,9 @@ const Lh = "data:audio/mpeg;base64,//uQZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAA
|
|
|
10729
10724
|
] })
|
|
10730
10725
|
] });
|
|
10731
10726
|
}, Jh = () => {
|
|
10732
|
-
const { t: e } = gq(), q =
|
|
10727
|
+
const { t: e } = gq(), q = ve((D) => D.showProfile), [A, V] = Fq(
|
|
10733
10728
|
hq((D) => [D.enableUserStatuses, D.enableLastSeen])
|
|
10734
|
-
), t = _q((D) => D.singleView), { users: s, selectedDialog: a, lastActivity: i, getDialogOpponentId: c, unselectDialog: r } = Mq(), n = c(), l = no(a), d = V && n && i[n], m = d === "Online", w = d === "Online" ? e("Online") : d, M = l || w, S = A && n && m ?
|
|
10729
|
+
), t = _q((D) => D.singleView), { users: s, selectedDialog: a, lastActivity: i, getDialogOpponentId: c, unselectDialog: r } = Mq(), n = c(), l = no(a), d = V && n && i[n], m = d === "Online", w = d === "Online" ? e("Online") : d, M = l || w, S = A && n && m ? Te(s[n]) : null, y = () => {
|
|
10735
10730
|
q(n);
|
|
10736
10731
|
};
|
|
10737
10732
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex justify-between relative items-center", children: [
|
|
@@ -10776,7 +10771,7 @@ const Lh = "data:audio/mpeg;base64,//uQZAAP8AAAaQAAAAgAAA0gAAABAAABpAAAACAAADSAA
|
|
|
10776
10771
|
const [a] = s.currentTarget.files || [];
|
|
10777
10772
|
if (!a)
|
|
10778
10773
|
return;
|
|
10779
|
-
V(a) ? e([a]) :
|
|
10774
|
+
V(a) ? e([a]) : gA.warning(q("FileTypeNotSupported")), s.target.value = "";
|
|
10780
10775
|
};
|
|
10781
10776
|
return typeof A != "string" ? null : /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
|
|
10782
10777
|
/* @__PURE__ */ o.jsx(
|
|
@@ -10818,7 +10813,7 @@ function Vm(e) {
|
|
|
10818
10813
|
return Cq({ 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);
|
|
10819
10814
|
}
|
|
10820
10815
|
const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
10821
|
-
const { i18n: t, t: s } = gq(), a =
|
|
10816
|
+
const { i18n: t, t: s } = gq(), a = ka[t.language], i = kq(""), { users: c, messages: r, selectedDialog: n, currentUserId: l, addTempMessage: d, updateTempMessage: m, generateTempMessageId: w } = Mq(), M = n?._id ?? "", S = xq(() => r[M] ?? [], [r, M]), y = e === NA.GET_SUMMARY, D = Nq(
|
|
10822
10817
|
(v) => q(v ? NA.GET_SUMMARY : NA.DEFAULT),
|
|
10823
10818
|
[q]
|
|
10824
10819
|
), U = Nq(
|
|
@@ -10847,22 +10842,22 @@ const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10847
10842
|
}
|
|
10848
10843
|
G.forEach(({ sender_id: J, message: O }) => {
|
|
10849
10844
|
const nq = aA(c[J]);
|
|
10850
|
-
Q += `- ${J === l ? `${nq}${
|
|
10845
|
+
Q += `- ${J === l ? `${nq}${zt}` : nq}: ${O}
|
|
10851
10846
|
`;
|
|
10852
10847
|
}), i.current = w(), d(i.current, n, {
|
|
10853
|
-
tag:
|
|
10848
|
+
tag: lt.AI_TEXT_SUMMARY,
|
|
10854
10849
|
title: s("AI.SummaryMessageTitle"),
|
|
10855
10850
|
body: "...",
|
|
10856
10851
|
loading: !0,
|
|
10857
10852
|
filter: v
|
|
10858
10853
|
});
|
|
10859
10854
|
try {
|
|
10860
|
-
const J = await
|
|
10855
|
+
const J = await fa({
|
|
10861
10856
|
model: V,
|
|
10862
10857
|
prompt: `
|
|
10863
10858
|
You are a helpful assistant. Please provide a concise summary of the following chat messages in ${a}.
|
|
10864
10859
|
Use bullet points or a short paragraph. Focus on meaningful conversation and skip system messages or irrelevant technical info.
|
|
10865
|
-
Each line is a message from a participant. If a username ends with "${
|
|
10860
|
+
Each line is a message from a participant. If a username ends with "${zt}", 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.
|
|
10866
10861
|
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.
|
|
10867
10862
|
Messages: ${Q}
|
|
10868
10863
|
`
|
|
@@ -10898,7 +10893,7 @@ const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10898
10893
|
/* @__PURE__ */ o.jsx(qm, { className: "text-gray-700 size-6" }),
|
|
10899
10894
|
s("AI.GetSummary")
|
|
10900
10895
|
] }),
|
|
10901
|
-
/* @__PURE__ */ o.jsx(
|
|
10896
|
+
/* @__PURE__ */ o.jsx(Bt, { children: /* @__PURE__ */ o.jsxs(No, { children: [
|
|
10902
10897
|
/* @__PURE__ */ o.jsxs(
|
|
10903
10898
|
MA,
|
|
10904
10899
|
{
|
|
@@ -10943,18 +10938,18 @@ const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10943
10938
|
changeMessage: s,
|
|
10944
10939
|
setProcessing: a
|
|
10945
10940
|
}) => {
|
|
10946
|
-
const { i18n: i, t: c } = gq(), r =
|
|
10941
|
+
const { i18n: i, t: c } = gq(), r = ka[i.language], n = e === NA.CHANGE_TONE, l = Nq(
|
|
10947
10942
|
(m) => q(m ? NA.CHANGE_TONE : NA.DEFAULT),
|
|
10948
10943
|
[q]
|
|
10949
10944
|
), d = Nq(
|
|
10950
10945
|
async (m) => {
|
|
10951
10946
|
if (!t) {
|
|
10952
|
-
|
|
10947
|
+
gA.info(c("AI.EmptyMessage"));
|
|
10953
10948
|
return;
|
|
10954
10949
|
}
|
|
10955
10950
|
a(!0);
|
|
10956
10951
|
try {
|
|
10957
|
-
const w = await
|
|
10952
|
+
const w = await fa({
|
|
10958
10953
|
model: V,
|
|
10959
10954
|
prompt: `
|
|
10960
10955
|
Rewrite the text "${t}" in ${m} tone.
|
|
@@ -10978,12 +10973,12 @@ const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10978
10973
|
/* @__PURE__ */ o.jsx(Am, { className: "text-gray-700 size-6" }),
|
|
10979
10974
|
c("AI.MessageTone")
|
|
10980
10975
|
] }),
|
|
10981
|
-
/* @__PURE__ */ o.jsx(
|
|
10976
|
+
/* @__PURE__ */ o.jsx(Bt, { children: /* @__PURE__ */ o.jsxs(No, { children: [
|
|
10982
10977
|
/* @__PURE__ */ o.jsxs(
|
|
10983
10978
|
MA,
|
|
10984
10979
|
{
|
|
10985
10980
|
className: "flex items-center gap-2 cursor-pointer",
|
|
10986
|
-
onClick: () => d(
|
|
10981
|
+
onClick: () => d(We.POSITIVE),
|
|
10987
10982
|
children: [
|
|
10988
10983
|
/* @__PURE__ */ o.jsx(ne, { className: "text-gray-700 size-4" }),
|
|
10989
10984
|
c("AI.positive")
|
|
@@ -10994,7 +10989,7 @@ const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
10994
10989
|
MA,
|
|
10995
10990
|
{
|
|
10996
10991
|
className: "flex items-center gap-2 cursor-pointer",
|
|
10997
|
-
onClick: () => d(
|
|
10992
|
+
onClick: () => d(We.NEGATIVE),
|
|
10998
10993
|
children: [
|
|
10999
10994
|
/* @__PURE__ */ o.jsx(ne, { className: "text-gray-700 size-4" }),
|
|
11000
10995
|
c("AI.negative")
|
|
@@ -11005,7 +11000,7 @@ const tm = ({ activeKey: e, setActiveKey: q, enabled: A, aiModel: V }) => {
|
|
|
11005
11000
|
MA,
|
|
11006
11001
|
{
|
|
11007
11002
|
className: "flex items-center gap-2 cursor-pointer",
|
|
11008
|
-
onClick: () => d(
|
|
11003
|
+
onClick: () => d(We.CRINGE),
|
|
11009
11004
|
children: [
|
|
11010
11005
|
/* @__PURE__ */ o.jsx(ne, { className: "text-gray-700 size-4" }),
|
|
11011
11006
|
c("AI.cringe")
|
|
@@ -11050,7 +11045,7 @@ function JA({ className: e, ...q }) {
|
|
|
11050
11045
|
return /* @__PURE__ */ o.jsx("div", { "data-slot": "skeleton", className: sq(tq.skeleton, e), ...q });
|
|
11051
11046
|
}
|
|
11052
11047
|
const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A }) => {
|
|
11053
|
-
const { t: V } = gq(), [t, s, a] =
|
|
11048
|
+
const { t: V } = gq(), [t, s, a] = cV(
|
|
11054
11049
|
hq((O) => [O.draftMessages, O.upsertDraftMessage, O.deleteDraftMessage])
|
|
11055
11050
|
), { selectedDialog: i, sendTypingStatus: c } = Mq(), r = i?._id ?? "", n = t[r] ?? "", [l, d] = Sq.useState(!1), [m, w] = Sq.useState(""), M = kq(null), S = kq(void 0), y = kq(!1), D = (O = "") => {
|
|
11056
11051
|
w(O), M.current?.focus();
|
|
@@ -11129,15 +11124,15 @@ const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
11129
11124
|
]
|
|
11130
11125
|
}
|
|
11131
11126
|
);
|
|
11132
|
-
}, om = Sq.memo(am),
|
|
11127
|
+
}, om = Sq.memo(am), at = 360, Ke = `${at}px`, nm = ({ attachment: e, uploading: q, stickToBottom: A = () => {
|
|
11133
11128
|
} }) => {
|
|
11134
11129
|
const { type: V, uid: t, url: s } = e, [a, i] = xq(() => 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] = Sq.useState({
|
|
11135
|
-
maxHeight:
|
|
11136
|
-
maxWidth:
|
|
11130
|
+
maxHeight: Ke,
|
|
11131
|
+
maxWidth: Ke
|
|
11137
11132
|
}), m = kq(null), w = () => {
|
|
11138
11133
|
const M = m.current;
|
|
11139
11134
|
if (M) {
|
|
11140
|
-
const { videoWidth: S, videoHeight: y } = M, D = S / y || 1, U = D < 1 ?
|
|
11135
|
+
const { videoWidth: S, videoHeight: y } = M, D = S / y || 1, U = D < 1 ? Ke : `${Math.round(at / D)}px`, v = D < 1 ? `${Math.round(at * D)}px` : Ke;
|
|
11141
11136
|
d({ height: U, width: v, maxHeight: U, maxWidth: v }), A(!1);
|
|
11142
11137
|
}
|
|
11143
11138
|
};
|
|
@@ -11174,27 +11169,27 @@ const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
11174
11169
|
rel: "noopener noreferrer",
|
|
11175
11170
|
className: "text-blue-500 underline"
|
|
11176
11171
|
};
|
|
11177
|
-
return /* @__PURE__ */ o.jsx(
|
|
11172
|
+
return /* @__PURE__ */ o.jsx(Ca, { options: A, children: /* @__PURE__ */ o.jsx("p", { className: "break-words text-base", children: e }) }, `message:${q}`);
|
|
11178
11173
|
}, lm = ({ status: e }) => {
|
|
11179
11174
|
let q = null;
|
|
11180
11175
|
switch (e) {
|
|
11181
|
-
case
|
|
11176
|
+
case Qe.WAIT:
|
|
11182
11177
|
q = /* @__PURE__ */ o.jsx(Vm, { className: "text-gray-500 size-4" });
|
|
11183
11178
|
break;
|
|
11184
|
-
case
|
|
11179
|
+
case Qe.SENT:
|
|
11185
11180
|
q = /* @__PURE__ */ o.jsx(_h, { className: "text-gray-500 size-4" });
|
|
11186
11181
|
break;
|
|
11187
|
-
case
|
|
11182
|
+
case Qe.READ:
|
|
11188
11183
|
q = /* @__PURE__ */ o.jsx(Xh, { className: "text-gray-500 size-4" });
|
|
11189
11184
|
break;
|
|
11190
|
-
case
|
|
11185
|
+
case Qe.LOST:
|
|
11191
11186
|
q = /* @__PURE__ */ o.jsx(Hh, { className: "text-red-500 size-4" });
|
|
11192
11187
|
break;
|
|
11193
11188
|
}
|
|
11194
11189
|
return q;
|
|
11195
11190
|
}, dm = ({ message: e, id: q, stickToBottom: A = () => {
|
|
11196
11191
|
} }) => {
|
|
11197
|
-
const [V, t, s, a] =
|
|
11192
|
+
const [V, t, s, a] = kt(
|
|
11198
11193
|
hq((r) => [r.addUrls, r.matchUrlsFromMessage, r.urlPreviews, r.fetchedCount])
|
|
11199
11194
|
), i = t(e), c = kq(a);
|
|
11200
11195
|
return Aq(() => {
|
|
@@ -11248,7 +11243,7 @@ const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
11248
11243
|
/* @__PURE__ */ o.jsx(JA, { className: "h-4 w-50" }),
|
|
11249
11244
|
/* @__PURE__ */ o.jsx(JA, { className: "h-4 w-40" }),
|
|
11250
11245
|
/* @__PURE__ */ o.jsx(JA, { className: "h-4 w-30" })
|
|
11251
|
-
] }) : /* @__PURE__ */ o.jsx(
|
|
11246
|
+
] }) : /* @__PURE__ */ o.jsx(Ca, { options: t, children: /* @__PURE__ */ o.jsx("p", { className: "break-words", children: q }) }, `message:${e}`);
|
|
11252
11247
|
}, um = ({
|
|
11253
11248
|
message: e,
|
|
11254
11249
|
senderName: q,
|
|
@@ -11261,7 +11256,7 @@ const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
11261
11256
|
sentTime: c,
|
|
11262
11257
|
stickToBottom: r
|
|
11263
11258
|
}) => {
|
|
11264
|
-
const { readMessage: n, isConnected: l } = Mq(), [d, m] = yn(), w = e.custom && e.tag ===
|
|
11259
|
+
const { readMessage: n, isConnected: l } = Mq(), [d, m] = yn(), w = e.custom && e.tag === lt.AI_TEXT_SUMMARY, M = e.attachments?.[0], S = (y) => {
|
|
11265
11260
|
r?.(e._id, y);
|
|
11266
11261
|
};
|
|
11267
11262
|
return Aq(() => {
|
|
@@ -11310,7 +11305,7 @@ const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
11310
11305
|
);
|
|
11311
11306
|
}, pm = ({ sendMessage: e = () => {
|
|
11312
11307
|
} }) => {
|
|
11313
|
-
const q =
|
|
11308
|
+
const q = pt((s) => s.quickActions), { title: A, description: V, actions: t } = q;
|
|
11314
11309
|
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: [
|
|
11315
11310
|
A && /* @__PURE__ */ o.jsx("h2", { className: "font-medium text-lg", children: A }),
|
|
11316
11311
|
V && /* @__PURE__ */ o.jsx("p", { className: "text-sm text-gray-600 mb-4", children: V }),
|
|
@@ -11327,17 +11322,17 @@ const am = ({ onSendMessage: e, onSendAttachment: q, setTextareaScrollOffset: A
|
|
|
11327
11322
|
}, hm = ({ title: e, className: q = "" }) => {
|
|
11328
11323
|
const A = typeof e == "string" ? [e] : e;
|
|
11329
11324
|
return /* @__PURE__ */ o.jsx("div", { className: sq("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)) });
|
|
11330
|
-
}, wV =
|
|
11325
|
+
}, wV = sV(hm);
|
|
11331
11326
|
function mm(e) {
|
|
11332
11327
|
return Cq({ 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);
|
|
11333
11328
|
}
|
|
11334
11329
|
function wm(e) {
|
|
11335
11330
|
return Cq({ 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);
|
|
11336
11331
|
}
|
|
11337
|
-
function
|
|
11332
|
+
function oa(e) {
|
|
11338
11333
|
return Cq({ 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);
|
|
11339
11334
|
}
|
|
11340
|
-
function
|
|
11335
|
+
function na(e) {
|
|
11341
11336
|
return Cq({ 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);
|
|
11342
11337
|
}
|
|
11343
11338
|
function fm(e) {
|
|
@@ -11374,12 +11369,12 @@ const Cm = (e) => {
|
|
|
11374
11369
|
case TA.REJECT:
|
|
11375
11370
|
return t ? /* @__PURE__ */ o.jsx(fm, { className: "text-red-500 size-4" }) : /* @__PURE__ */ o.jsx(wm, { className: "text-red-500 size-4" });
|
|
11376
11371
|
case TA.NOT_ANSWER:
|
|
11377
|
-
return t ? /* @__PURE__ */ o.jsx(
|
|
11372
|
+
return t ? /* @__PURE__ */ o.jsx(oa, { className: "text-red-500 size-4" }) : /* @__PURE__ */ o.jsx(na, { className: "text-red-500 size-4" });
|
|
11378
11373
|
case TA.HUNG_UP:
|
|
11379
11374
|
return A === ae.VIDEO ? /* @__PURE__ */ o.jsx(mm, { className: "text-green-500 size-4" }) : /* @__PURE__ */ o.jsx(Mm, { className: "text-green-500 size-4" });
|
|
11380
11375
|
case TA.CANCEL:
|
|
11381
11376
|
default:
|
|
11382
|
-
return t ? /* @__PURE__ */ o.jsx(
|
|
11377
|
+
return t ? /* @__PURE__ */ o.jsx(oa, { className: "text-red-500 size-4" }) : /* @__PURE__ */ o.jsx(na, { className: "text-red-500 size-4" });
|
|
11383
11378
|
}
|
|
11384
11379
|
}, [e, A, t]);
|
|
11385
11380
|
return /* @__PURE__ */ o.jsx("div", { className: "flex items-center justify-center", children: /* @__PURE__ */ o.jsxs(
|
|
@@ -11401,7 +11396,7 @@ const Cm = (e) => {
|
|
|
11401
11396
|
fetchNextMessages: i,
|
|
11402
11397
|
totalMessagesReached: c,
|
|
11403
11398
|
messageSentTimeString: r
|
|
11404
|
-
} = Mq(), n = _q((qq) => qq.singleView), l = Fq((qq) => qq.enableUrlPreview), d =
|
|
11399
|
+
} = Mq(), n = _q((qq) => qq.singleView), l = Fq((qq) => qq.enableUrlPreview), d = kt((qq) => qq.matchUrlsFromMessage), m = t?._id ?? "", w = xq(() => a[m] ?? [], [a, m]), M = w?.length ?? 0, S = M > (n ? 1 : 0), y = a[m] !== void 0, D = c.includes(m), U = kq(M), v = kq(void 0), k = kq(/* @__PURE__ */ new Set()), j = kq(/* @__PURE__ */ new Set()), [G, Q] = Qq(!1), [J, O] = Qq(!1), [nq, rq] = Qq(!1), P = kq(!1), $ = kq(null), Iq = () => {
|
|
11405
11400
|
queueMicrotask(() => {
|
|
11406
11401
|
rq(!0), queueMicrotask(() => rq(!1));
|
|
11407
11402
|
});
|
|
@@ -11428,7 +11423,7 @@ const Cm = (e) => {
|
|
|
11428
11423
|
() => w.reduce((qq, mq, vq) => (jq(mq) && qq.push(vq), qq), []),
|
|
11429
11424
|
[w, jq]
|
|
11430
11425
|
), qA = xq(() => w.map((qq, mq, vq) => {
|
|
11431
|
-
const Hq = vq[mq - 1], uq = mq === vq.length - 1, Vq = t?.type ===
|
|
11426
|
+
const Hq = vq[mq - 1], uq = mq === vq.length - 1, Vq = t?.type === xe.GROUP, aq = s === qq.sender_id, Bq = Hq?.sender_id === qq.sender_id, Rq = Vq && !aq && Bq, Tq = Vq && !aq && !Bq ? V[qq.sender_id] : void 0, hA = Tq ? aA(Tq, !0) : void 0, kA = Tq ? Tq?.avatar : void 0, Jq = r(qq);
|
|
11432
11427
|
return qq.callHistory ? /* @__PURE__ */ o.jsx(
|
|
11433
11428
|
Em,
|
|
11434
11429
|
{
|
|
@@ -11464,7 +11459,7 @@ const Cm = (e) => {
|
|
|
11464
11459
|
}, [M, G, Dq]), Aq(() => {
|
|
11465
11460
|
lq();
|
|
11466
11461
|
}, [q]), nq ? null : t ? S ? /* @__PURE__ */ o.jsxs(
|
|
11467
|
-
|
|
11462
|
+
Ma,
|
|
11468
11463
|
{
|
|
11469
11464
|
ref: $,
|
|
11470
11465
|
reverse: !0,
|
|
@@ -11482,9 +11477,9 @@ const Cm = (e) => {
|
|
|
11482
11477
|
function PA({ className: e, ...q }) {
|
|
11483
11478
|
return /* @__PURE__ */ o.jsx(xn.Root, { "data-slot": "label", className: sq(tq.label, e), ...q });
|
|
11484
11479
|
}
|
|
11485
|
-
function
|
|
11486
|
-
return /* @__PURE__ */ o.jsx(
|
|
11487
|
-
|
|
11480
|
+
function ia({ className: e, ...q }) {
|
|
11481
|
+
return /* @__PURE__ */ o.jsx(Nt.Root, { "data-slot": "checkbox", className: sq(tq.checkbox, e), ...q, children: /* @__PURE__ */ o.jsx(
|
|
11482
|
+
Nt.Indicator,
|
|
11488
11483
|
{
|
|
11489
11484
|
"data-slot": "checkbox-indicator",
|
|
11490
11485
|
className: "flex items-center justify-center text-current transition-none",
|
|
@@ -11494,19 +11489,19 @@ function ca({ className: e, ...q }) {
|
|
|
11494
11489
|
}
|
|
11495
11490
|
const Sm = ({ onSendMessage: e = () => {
|
|
11496
11491
|
} }) => {
|
|
11497
|
-
const { t: q } = gq(), A = Fq((l) => l.termsAndConditions), [V, t] = Qq(!1), [s, a] = Qq(!0), { register: i, handleSubmit: c } =
|
|
11492
|
+
const { t: q } = gq(), A = Fq((l) => l.termsAndConditions), [V, t] = Qq(!1), [s, a] = Qq(!0), { register: i, handleSubmit: c } = it({ mode: "onChange" }), r = (l) => {
|
|
11498
11493
|
if (V) {
|
|
11499
11494
|
if (e(`Name: ${l.name}
|
|
11500
11495
|
Email: ${l.email}`), typeof s == "boolean")
|
|
11501
11496
|
if (pg(s), s) {
|
|
11502
|
-
const d =
|
|
11503
|
-
d &&
|
|
11497
|
+
const d = xa();
|
|
11498
|
+
d && dV(d);
|
|
11504
11499
|
} else
|
|
11505
|
-
|
|
11500
|
+
gt();
|
|
11506
11501
|
} else
|
|
11507
|
-
|
|
11502
|
+
gA(q("SingleViewForm.AcceptTermsAndConditionsError"));
|
|
11508
11503
|
}, n = ({ email: l, name: d }) => {
|
|
11509
|
-
l &&
|
|
11504
|
+
l && gA(l.message), d && gA(d.message);
|
|
11510
11505
|
};
|
|
11511
11506
|
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: [
|
|
11512
11507
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-2", children: [
|
|
@@ -11543,7 +11538,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11543
11538
|
),
|
|
11544
11539
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-8", children: [
|
|
11545
11540
|
/* @__PURE__ */ o.jsxs("div", { className: "flex items-start gap-2", children: [
|
|
11546
|
-
/* @__PURE__ */ o.jsx(
|
|
11541
|
+
/* @__PURE__ */ o.jsx(ia, { id: "terms_and_conditions", checked: V, onCheckedChange: t }),
|
|
11547
11542
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-1", children: [
|
|
11548
11543
|
/* @__PURE__ */ o.jsx(PA, { htmlFor: "terms_and_conditions", className: "cursor-pointer", children: q("SingleViewForm.AcceptTermsAndConditions") }),
|
|
11549
11544
|
/* @__PURE__ */ o.jsxs("p", { className: "text-muted-foreground text-sm text-left", children: [
|
|
@@ -11562,7 +11557,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11562
11557
|
] })
|
|
11563
11558
|
] }),
|
|
11564
11559
|
/* @__PURE__ */ o.jsxs("div", { className: "flex items-start gap-2", children: [
|
|
11565
|
-
/* @__PURE__ */ o.jsx(
|
|
11560
|
+
/* @__PURE__ */ o.jsx(ia, { id: "remember_me", checked: s, onCheckedChange: a }),
|
|
11566
11561
|
/* @__PURE__ */ o.jsxs("div", { className: "grid gap-1", children: [
|
|
11567
11562
|
/* @__PURE__ */ o.jsx(PA, { htmlFor: "remember_me", className: "cursor-pointer", children: q("SingleViewForm.RememberMe") }),
|
|
11568
11563
|
/* @__PURE__ */ o.jsx("p", { className: "text-muted-foreground text-sm text-left", children: q("SingleViewForm.RememberMeText") })
|
|
@@ -11584,7 +11579,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11584
11579
|
getDialogOpponentId: l,
|
|
11585
11580
|
messages: d,
|
|
11586
11581
|
isBlockedUser: m
|
|
11587
|
-
} = Mq(), w =
|
|
11582
|
+
} = Mq(), w = cV((O) => O.deleteDraftMessage), M = Fq((O) => O.enableUserStatuses), S = _q((O) => O.singleView), y = a ? l(a) : null, D = y ? m(y) : !1, U = y && M ? Te(V[y]) : $q.AVAILABLE, v = a && !D && U !== $q.AWAY, k = a?._id ?? "", j = S && d[k]?.length === 0, G = async (O) => {
|
|
11588
11583
|
if (k.startsWith(Ze)) {
|
|
11589
11584
|
const nq = await J();
|
|
11590
11585
|
s(O, nq);
|
|
@@ -11598,7 +11593,7 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11598
11593
|
} else
|
|
11599
11594
|
n(O);
|
|
11600
11595
|
}, J = async () => {
|
|
11601
|
-
const O = a?.type ===
|
|
11596
|
+
const O = a?.type === xe.PRIVATE ? await i(
|
|
11602
11597
|
a?.occupants_ids?.filter((nq) => nq !== a?.user_id)[0],
|
|
11603
11598
|
a?.extensions
|
|
11604
11599
|
) : await c(
|
|
@@ -11627,14 +11622,14 @@ Email: ${l.email}`), typeof s == "boolean")
|
|
|
11627
11622
|
] }) });
|
|
11628
11623
|
};
|
|
11629
11624
|
function Bm({ className: e, ...q }) {
|
|
11630
|
-
return /* @__PURE__ */ o.jsx(
|
|
11625
|
+
return /* @__PURE__ */ o.jsx(aV.Root, { "data-slot": "tabs", className: sq(tq.tabs, e), ...q });
|
|
11631
11626
|
}
|
|
11632
11627
|
function ym({ className: e, ...q }) {
|
|
11633
|
-
return /* @__PURE__ */ o.jsx(
|
|
11628
|
+
return /* @__PURE__ */ o.jsx(aV.List, { "data-slot": "tabs-list", className: sq(tq.tabsList, e), ...q });
|
|
11634
11629
|
}
|
|
11635
|
-
function
|
|
11630
|
+
function ca({ className: e, ...q }) {
|
|
11636
11631
|
return /* @__PURE__ */ o.jsx(
|
|
11637
|
-
|
|
11632
|
+
aV.Trigger,
|
|
11638
11633
|
{
|
|
11639
11634
|
"data-slot": "tabs-trigger",
|
|
11640
11635
|
className: sq(tq.tabsTrigger, e),
|
|
@@ -11642,9 +11637,9 @@ function la({ className: e, ...q }) {
|
|
|
11642
11637
|
}
|
|
11643
11638
|
);
|
|
11644
11639
|
}
|
|
11645
|
-
function
|
|
11640
|
+
function la({ className: e, ...q }) {
|
|
11646
11641
|
return /* @__PURE__ */ o.jsx(
|
|
11647
|
-
|
|
11642
|
+
aV.Content,
|
|
11648
11643
|
{
|
|
11649
11644
|
"data-slot": "tabs-content",
|
|
11650
11645
|
className: sq(tq.tabsContent, e),
|
|
@@ -11655,11 +11650,11 @@ function da({ className: e, ...q }) {
|
|
|
11655
11650
|
function fV({ ...e }) {
|
|
11656
11651
|
return /* @__PURE__ */ o.jsx(jA.Root, { "data-slot": "dialog", ...e });
|
|
11657
11652
|
}
|
|
11658
|
-
function
|
|
11653
|
+
function ye({ ...e }) {
|
|
11659
11654
|
return /* @__PURE__ */ o.jsx(jA.Trigger, { "data-slot": "dialog-trigger", ...e });
|
|
11660
11655
|
}
|
|
11661
11656
|
function xm({ ...e }) {
|
|
11662
|
-
return e.container =
|
|
11657
|
+
return e.container = Ue((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(jA.Portal, { "data-slot": "dialog-portal", ...e });
|
|
11663
11658
|
}
|
|
11664
11659
|
function Tm({ ...e }) {
|
|
11665
11660
|
return /* @__PURE__ */ o.jsx(jA.Close, { "data-slot": "dialog-close", ...e });
|
|
@@ -11700,10 +11695,10 @@ function MV({ className: e, children: q, ...A }) {
|
|
|
11700
11695
|
)
|
|
11701
11696
|
] });
|
|
11702
11697
|
}
|
|
11703
|
-
function
|
|
11698
|
+
function yt({ className: e, ...q }) {
|
|
11704
11699
|
return /* @__PURE__ */ o.jsx("div", { "data-slot": "dialog-header", className: sq(tq.dialogHeader, e), ...q });
|
|
11705
11700
|
}
|
|
11706
|
-
function
|
|
11701
|
+
function xt({ className: e, ...q }) {
|
|
11707
11702
|
return /* @__PURE__ */ o.jsx(
|
|
11708
11703
|
jA.Title,
|
|
11709
11704
|
{
|
|
@@ -11771,7 +11766,7 @@ const vm = ({
|
|
|
11771
11766
|
register: V,
|
|
11772
11767
|
handleSubmit: t,
|
|
11773
11768
|
formState: { errors: s, isSubmitting: a }
|
|
11774
|
-
} =
|
|
11769
|
+
} = it(), i = xq(() => e.map((r) => /* @__PURE__ */ o.jsx(Go, { name: aA(r), avatar: r.avatar || "" }, r.id)), [e]), c = async (r) => {
|
|
11775
11770
|
a || await q(r.name);
|
|
11776
11771
|
};
|
|
11777
11772
|
return /* @__PURE__ */ o.jsxs("form", { onSubmit: t(c), className: "pt-8", children: [
|
|
@@ -11791,10 +11786,10 @@ const vm = ({
|
|
|
11791
11786
|
/* @__PURE__ */ o.jsx("div", { className: "flex flex-wrap w-full mx-auto mt-4 overflow-x-auto", children: i }),
|
|
11792
11787
|
/* @__PURE__ */ o.jsx("div", { className: "text-center mt-4", children: /* @__PURE__ */ o.jsx(EA, { type: "submit", className: "px-3 bg-blue-500 hover:bg-blue-700", disabled: a, children: A("CreateGroupChat") }) })
|
|
11793
11788
|
] });
|
|
11794
|
-
}, jm = Sq.memo(Gm),
|
|
11789
|
+
}, jm = Sq.memo(Gm), da = 3, Rm = ({ chatType: e, addUsersMode: q, onFinish: A }) => {
|
|
11795
11790
|
const { t: V } = gq(), { searchUsers: t, createChat: s, createGroupChat: a, addUsersToGroupChat: i, selectDialog: c, selectedDialog: r } = Mq(), [n, l] = Qq({}), [d, m] = Qq(""), [w, M] = Qq([]), [S, y] = Qq(!1), D = async (k) => {
|
|
11796
|
-
if (k.preventDefault(), d.length <
|
|
11797
|
-
|
|
11791
|
+
if (k.preventDefault(), d.length < da) {
|
|
11792
|
+
gA.warning(`Min search term is ${da} chars`);
|
|
11798
11793
|
return;
|
|
11799
11794
|
}
|
|
11800
11795
|
const j = await t(d);
|
|
@@ -11819,9 +11814,9 @@ const vm = ({
|
|
|
11819
11814
|
k.id
|
|
11820
11815
|
)), [w, n, e, s, c, A]), v = V(q ? "AddMembers" : e === "group" ? "NewGroupChatDialogTitle" : "NewUserChatDialogTitle");
|
|
11821
11816
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col", children: [
|
|
11822
|
-
/* @__PURE__ */ o.jsxs(
|
|
11823
|
-
/* @__PURE__ */ o.jsx(
|
|
11824
|
-
/* @__PURE__ */ o.jsx(
|
|
11817
|
+
/* @__PURE__ */ o.jsxs(yt, { children: [
|
|
11818
|
+
/* @__PURE__ */ o.jsx(xt, { children: v }),
|
|
11819
|
+
/* @__PURE__ */ o.jsx(Ea, {})
|
|
11825
11820
|
] }),
|
|
11826
11821
|
!S && /* @__PURE__ */ o.jsxs("div", { className: "flex-column w-full", children: [
|
|
11827
11822
|
/* @__PURE__ */ o.jsxs("form", { className: "flex items-center space-x-2 py-4", children: [
|
|
@@ -11875,7 +11870,7 @@ function Ym(e) {
|
|
|
11875
11870
|
return Cq({ 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);
|
|
11876
11871
|
}
|
|
11877
11872
|
const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
11878
|
-
const { t: A } = gq(), V =
|
|
11873
|
+
const { t: A } = gq(), V = cV((k) => k.draftMessages), [t, s] = Fq(
|
|
11879
11874
|
hq((k) => [k.enableUserStatuses, k.enableLastSeen])
|
|
11880
11875
|
), {
|
|
11881
11876
|
users: a,
|
|
@@ -11885,7 +11880,7 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11885
11880
|
lastMessageSentTimeString: n,
|
|
11886
11881
|
lastActivity: l,
|
|
11887
11882
|
getDialogOpponentId: d
|
|
11888
|
-
} = Mq(), m = d(e), w = no(e, !0), M = m ? l[m] === "Online" : !1, S = e._id === i?._id, y = t && m && M ?
|
|
11883
|
+
} = Mq(), m = d(e), w = no(e, !0), M = m ? l[m] === "Online" : !1, S = e._id === i?._id, y = t && m && M ? Te(a[m]) : null, D = V[e._id], U = xq(() => n(e), [e, n]), v = async () => {
|
|
11889
11884
|
await c(e);
|
|
11890
11885
|
};
|
|
11891
11886
|
return /* @__PURE__ */ o.jsx(
|
|
@@ -11938,12 +11933,12 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11938
11933
|
className: tq.inputSelection.blue
|
|
11939
11934
|
}
|
|
11940
11935
|
) }),
|
|
11941
|
-
A.length ? /* @__PURE__ */ o.jsxs(
|
|
11936
|
+
A.length ? /* @__PURE__ */ o.jsxs(Ma, { ref: s, onScroll: m, className: "size-full overflow-y-scroll", children: [
|
|
11942
11937
|
w,
|
|
11943
11938
|
a && /* @__PURE__ */ o.jsx(GA, { className: "my-7.5" })
|
|
11944
11939
|
] }) : q ? /* @__PURE__ */ o.jsx(wV, { title: l, className: "text-base text-gray-500" }) : /* @__PURE__ */ o.jsx(GA, { className: "my-7.5" })
|
|
11945
11940
|
] });
|
|
11946
|
-
}, Lm =
|
|
11941
|
+
}, Lm = sV(Om), Km = () => {
|
|
11947
11942
|
const { t: e } = gq(), [q, A, V, t] = _q(
|
|
11948
11943
|
hq((l) => [
|
|
11949
11944
|
l.hideNewChatButton,
|
|
@@ -11968,8 +11963,8 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11968
11963
|
}
|
|
11969
11964
|
),
|
|
11970
11965
|
/* @__PURE__ */ o.jsxs(mV, { align: "start", children: [
|
|
11971
|
-
!t && /* @__PURE__ */ o.jsx(
|
|
11972
|
-
!V && /* @__PURE__ */ o.jsx(
|
|
11966
|
+
!t && /* @__PURE__ */ o.jsx(ye, { asChild: !0, children: /* @__PURE__ */ o.jsx(MA, { onClick: n, children: e("NewGroup") }) }),
|
|
11967
|
+
!V && /* @__PURE__ */ o.jsx(ye, { asChild: !0, children: /* @__PURE__ */ o.jsx(MA, { onClick: r, children: e("NewMessage") }) })
|
|
11973
11968
|
] })
|
|
11974
11969
|
] }),
|
|
11975
11970
|
/* @__PURE__ */ o.jsx(MV, { className: "flex flex-col", children: /* @__PURE__ */ o.jsx(
|
|
@@ -11984,7 +11979,7 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
11984
11979
|
] })
|
|
11985
11980
|
] });
|
|
11986
11981
|
}, zm = ({ userId: e, avatar: q, userName: A, status: V }) => {
|
|
11987
|
-
const t =
|
|
11982
|
+
const t = oV((l) => l.setActiveTab), { dialogs: s, fetchDialogs: a, selectDialog: i, currentUserId: c } = Mq(), r = async (l, d = !0) => {
|
|
11988
11983
|
await i(l), d && t(vA.CHATS);
|
|
11989
11984
|
}, n = async () => {
|
|
11990
11985
|
const l = [c, e];
|
|
@@ -12029,11 +12024,11 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
12029
12024
|
},
|
|
12030
12025
|
e
|
|
12031
12026
|
);
|
|
12032
|
-
}, Jm =
|
|
12027
|
+
}, Jm = sV(zm), Pm = ({ searchTerm: e }) => {
|
|
12033
12028
|
const { t: q } = gq(), { fetchAllOnlineUsers: A, onlineUsers: V } = Mq(), t = xq(() => {
|
|
12034
12029
|
const s = e?.toLowerCase();
|
|
12035
12030
|
return V.reduce((a, i) => {
|
|
12036
|
-
const c = aA(i), r =
|
|
12031
|
+
const c = aA(i), r = Te(i);
|
|
12037
12032
|
return (!s || c.toLowerCase().includes(s)) && a.push(
|
|
12038
12033
|
/* @__PURE__ */ o.jsx(Jm, { userId: i.id, avatar: i.avatar || void 0, userName: c, status: r }, i.id)
|
|
12039
12034
|
), a;
|
|
@@ -12042,7 +12037,7 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
12042
12037
|
return Aq(() => {
|
|
12043
12038
|
A();
|
|
12044
12039
|
}, []), t.length > 0 ? /* @__PURE__ */ o.jsx(o.Fragment, { children: t }) : /* @__PURE__ */ o.jsx(wV, { title: q("NoOnlineUsers"), className: "text-base text-gray-500" });
|
|
12045
|
-
}, Wm =
|
|
12040
|
+
}, Wm = sV(Pm), Zm = () => {
|
|
12046
12041
|
const { t: e } = gq(), [q, A] = Qq("");
|
|
12047
12042
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col h-full", children: [
|
|
12048
12043
|
/* @__PURE__ */ o.jsx("div", { className: "p-2", children: /* @__PURE__ */ o.jsx(
|
|
@@ -12060,7 +12055,7 @@ const Fm = ({ dialog: e, isFirstInList: q = !1 }) => {
|
|
|
12060
12055
|
] });
|
|
12061
12056
|
};
|
|
12062
12057
|
function Hm({ ...e }) {
|
|
12063
|
-
return e.container =
|
|
12058
|
+
return e.container = Ue((q) => q.shadowPortal), /* @__PURE__ */ o.jsx(ie.Portal, { "data-slot": "tooltip-portal", ...e });
|
|
12064
12059
|
}
|
|
12065
12060
|
function Ro({ delayDuration: e = 0, ...q }) {
|
|
12066
12061
|
return /* @__PURE__ */ o.jsx(ie.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...q });
|
|
@@ -12111,10 +12106,10 @@ const qw = () => {
|
|
|
12111
12106
|
/* @__PURE__ */ o.jsx(_m, { asChild: !0, children: /* @__PURE__ */ o.jsx("div", { className: sq("rounded-full size-4 border", q) }) }),
|
|
12112
12107
|
/* @__PURE__ */ o.jsx($m, { children: /* @__PURE__ */ o.jsx("p", { children: e }) })
|
|
12113
12108
|
] }) }) });
|
|
12114
|
-
},
|
|
12115
|
-
const { t: e } = gq(), [q, A] =
|
|
12109
|
+
}, ga = "w-[50%] h-9 hover:bg-blue-50 data-[state=active]:bg-blue-200", Aw = () => {
|
|
12110
|
+
const { t: e } = gq(), [q, A] = oV(hq((j) => [j.activeTab, j.setActiveTab])), V = Fq((j) => j.enableUserStatuses), [t, s] = _q(
|
|
12116
12111
|
hq((j) => [j.showChatStatus, j.showOnlineUsersTab])
|
|
12117
|
-
), a =
|
|
12112
|
+
), a = ve((j) => j.showProfile), { fetchDialogs: i, unselectDialog: c, currentUserId: r, chatStatus: n, unreadMessagesCount: l } = Mq(), { notifyWithSound: d } = oo(), m = kq(null), w = kq(l.total), M = kq(l.total), S = HA(), y = aA(S), D = V ? Te(S) : void 0, U = (j) => {
|
|
12118
12113
|
c(), A(j === "chats" ? vA.CHATS : vA.USERS);
|
|
12119
12114
|
}, v = () => {
|
|
12120
12115
|
a(r);
|
|
@@ -12156,21 +12151,21 @@ const qw = () => {
|
|
|
12156
12151
|
className: `flex flex-col ${s ? "h-[calc(100%-7.25em)]" : "h-[calc(100%-4.25em)]"}`,
|
|
12157
12152
|
children: [
|
|
12158
12153
|
/* @__PURE__ */ o.jsx(
|
|
12159
|
-
|
|
12154
|
+
la,
|
|
12160
12155
|
{
|
|
12161
12156
|
value: vA.CHATS,
|
|
12162
12157
|
className: `${s ? "h-[calc(100%-7.25em)]" : "h-[calc(100%-4.25em)]"}`,
|
|
12163
12158
|
children: /* @__PURE__ */ o.jsx(Km, {})
|
|
12164
12159
|
}
|
|
12165
12160
|
),
|
|
12166
|
-
s && /* @__PURE__ */ o.jsx(
|
|
12161
|
+
s && /* @__PURE__ */ o.jsx(la, { value: vA.USERS, className: "h-[calc(100%-7.25em)]", children: /* @__PURE__ */ o.jsx(Zm, {}) }),
|
|
12167
12162
|
/* @__PURE__ */ o.jsx(
|
|
12168
12163
|
ym,
|
|
12169
12164
|
{
|
|
12170
12165
|
className: `w-full gap-2 bg-transparent absolute bottom-0 p-2 ${s ? "h-12" : "h-0"}`,
|
|
12171
12166
|
children: s && /* @__PURE__ */ o.jsxs("div", { className: "bg-white flex w-full gap-2", children: [
|
|
12172
|
-
/* @__PURE__ */ o.jsx(
|
|
12173
|
-
/* @__PURE__ */ o.jsx(
|
|
12167
|
+
/* @__PURE__ */ o.jsx(ca, { value: vA.CHATS, className: ga, children: e("Chats") }),
|
|
12168
|
+
/* @__PURE__ */ o.jsx(ca, { value: vA.USERS, className: ga, children: e("Users") })
|
|
12174
12169
|
] })
|
|
12175
12170
|
}
|
|
12176
12171
|
)
|
|
@@ -12235,7 +12230,7 @@ const Yo = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
12235
12230
|
/* @__PURE__ */ o.jsxs("div", { className: "flex items-center justify-between border-b py-2 px-4", children: [
|
|
12236
12231
|
/* @__PURE__ */ o.jsx("span", { className: "font-medium", children: A("Members") }),
|
|
12237
12232
|
/* @__PURE__ */ o.jsxs(fV, { modal: !0, open: e, onOpenChange: q, children: [
|
|
12238
|
-
/* @__PURE__ */ o.jsx(
|
|
12233
|
+
/* @__PURE__ */ o.jsx(ye, { asChild: !0, children: /* @__PURE__ */ o.jsx(Vw, { className: "cursor-pointer size-7" }) }),
|
|
12239
12234
|
/* @__PURE__ */ o.jsx(MV, { children: /* @__PURE__ */ o.jsx(jo, { chatType: "group", addUsersMode: !0, onFinish: () => q(!1) }) })
|
|
12240
12235
|
] })
|
|
12241
12236
|
] }),
|
|
@@ -12246,15 +12241,15 @@ const Yo = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
12246
12241
|
const s = A.trim();
|
|
12247
12242
|
if (s)
|
|
12248
12243
|
try {
|
|
12249
|
-
await lg(e, s),
|
|
12244
|
+
await lg(e, s), gA.info(q("ReportCreatedSuccessfully"));
|
|
12250
12245
|
} catch (a) {
|
|
12251
|
-
|
|
12246
|
+
gA.error(`${q("ReportSubmitFailed")}: ${JSON.stringify(a)}`);
|
|
12252
12247
|
}
|
|
12253
12248
|
};
|
|
12254
12249
|
return /* @__PURE__ */ o.jsxs("div", { children: [
|
|
12255
|
-
/* @__PURE__ */ o.jsxs(
|
|
12256
|
-
/* @__PURE__ */ o.jsx(
|
|
12257
|
-
/* @__PURE__ */ o.jsx(
|
|
12250
|
+
/* @__PURE__ */ o.jsxs(yt, { children: [
|
|
12251
|
+
/* @__PURE__ */ o.jsx(xt, { children: q("ReportUser") }),
|
|
12252
|
+
/* @__PURE__ */ o.jsx(Ea, { children: q("WhatsWrongWithThisUser") })
|
|
12258
12253
|
] }),
|
|
12259
12254
|
/* @__PURE__ */ o.jsxs("form", { className: "flex items-center space-x-2 py-4", children: [
|
|
12260
12255
|
/* @__PURE__ */ o.jsx("div", { className: "grid flex-1 gap-2", children: /* @__PURE__ */ o.jsx(CV, { placeholder: q("ProvideReason"), value: A, onChange: (s) => V(s.target.value) }) }),
|
|
@@ -12264,7 +12259,7 @@ const Yo = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
12264
12259
|
}, nw = Sq.memo(ow), iw = ({ user: e }) => {
|
|
12265
12260
|
const { t: q } = gq(), { isBlockedUser: A, blockUser: V, unblockUser: t } = Mq(), { id: s = 0, website: a = "" } = e ?? {}, i = aA(e), c = A(s), [r, n] = Fq(
|
|
12266
12261
|
hq((w) => [w.enableContentReporting, w.enableBlockList])
|
|
12267
|
-
), [l, d] =
|
|
12262
|
+
), [l, d] = nV(
|
|
12268
12263
|
hq((w) => [w.showAlertBusy, w.hideAlertBusy])
|
|
12269
12264
|
), m = async () => {
|
|
12270
12265
|
try {
|
|
@@ -12291,15 +12286,15 @@ const Yo = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
12291
12286
|
}
|
|
12292
12287
|
),
|
|
12293
12288
|
r && /* @__PURE__ */ o.jsxs(fV, { modal: !0, children: [
|
|
12294
|
-
/* @__PURE__ */ o.jsx(
|
|
12289
|
+
/* @__PURE__ */ o.jsx(ye, { className: "pl-0! justify-start text-blue-500 cursor-pointer text-left font-medium underline-offset-4 hover:underline", children: q("Report") }),
|
|
12295
12290
|
/* @__PURE__ */ o.jsx(MV, { children: /* @__PURE__ */ o.jsx(nw, { userId: s }) })
|
|
12296
12291
|
] })
|
|
12297
12292
|
] })
|
|
12298
12293
|
] });
|
|
12299
12294
|
}, cw = Sq.memo(iw), lw = ({ user: e }) => {
|
|
12300
|
-
const q =
|
|
12295
|
+
const q = ve((s) => s.showProfile);
|
|
12301
12296
|
if (!e) return null;
|
|
12302
|
-
const A = aA(e), V =
|
|
12297
|
+
const A = aA(e), V = ut(e.avatar), t = () => {
|
|
12303
12298
|
q(e.id);
|
|
12304
12299
|
};
|
|
12305
12300
|
return /* @__PURE__ */ o.jsxs(
|
|
@@ -12320,10 +12315,10 @@ const Yo = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
12320
12315
|
return /* @__PURE__ */ o.jsx("div", { className: `max-h-[50vh] overflow-y-auto ${s ? "border-y" : "relative"}`, children: s ? A.map((a) => /* @__PURE__ */ o.jsx(dw, { user: q[a] }, `blocked_user:${a}`)) : /* @__PURE__ */ o.jsx("div", { className: "h-12 w-full", children: /* @__PURE__ */ o.jsx(wV, { title: e("BlockListEmpty") }) }) });
|
|
12321
12316
|
}, [A, q, e]);
|
|
12322
12317
|
return /* @__PURE__ */ o.jsxs(fV, { modal: !0, children: [
|
|
12323
|
-
/* @__PURE__ */ o.jsx(
|
|
12318
|
+
/* @__PURE__ */ o.jsx(ye, { className: "mx-4 pl-0! justify-start text-blue-500 cursor-pointer text-left font-medium underline-offset-4 hover:underline", children: V }),
|
|
12324
12319
|
/* @__PURE__ */ o.jsxs(MV, { children: [
|
|
12325
|
-
/* @__PURE__ */ o.jsxs(
|
|
12326
|
-
/* @__PURE__ */ o.jsx(
|
|
12320
|
+
/* @__PURE__ */ o.jsxs(yt, { children: [
|
|
12321
|
+
/* @__PURE__ */ o.jsx(xt, { children: V }),
|
|
12327
12322
|
/* @__PURE__ */ o.jsx(Dm, {})
|
|
12328
12323
|
] }),
|
|
12329
12324
|
t
|
|
@@ -12331,7 +12326,7 @@ const Yo = ({ triggerChild: e, title: q, body: A, onConfirm: V }) => {
|
|
|
12331
12326
|
] });
|
|
12332
12327
|
};
|
|
12333
12328
|
function PV({ className: e, ...q }) {
|
|
12334
|
-
return /* @__PURE__ */ o.jsx(
|
|
12329
|
+
return /* @__PURE__ */ o.jsx(Gt.Root, { "data-slot": "switch", className: sq(tq.switch, e), ...q, children: /* @__PURE__ */ o.jsx(Gt.Thumb, { "data-slot": "switch-thumb", className: sq(tq.switchThumb) }) });
|
|
12335
12330
|
}
|
|
12336
12331
|
const uw = () => {
|
|
12337
12332
|
const { t: e } = gq(), [q, A, V, t] = Ae(
|
|
@@ -12407,14 +12402,14 @@ const uw = () => {
|
|
|
12407
12402
|
}, pw = () => /* @__PURE__ */ o.jsxs("div", { className: "flex flex-col space-y-2", children: [
|
|
12408
12403
|
/* @__PURE__ */ o.jsx(uw, {}),
|
|
12409
12404
|
/* @__PURE__ */ o.jsx(gw, {})
|
|
12410
|
-
] }),
|
|
12405
|
+
] }), ze = ({ status: e }) => {
|
|
12411
12406
|
const { t: q } = gq();
|
|
12412
12407
|
return /* @__PURE__ */ o.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
12413
12408
|
/* @__PURE__ */ o.jsx(Do, { status: e }),
|
|
12414
12409
|
/* @__PURE__ */ o.jsx("span", { className: "text-sm font-bold", children: q(e) })
|
|
12415
12410
|
] });
|
|
12416
12411
|
}, hw = () => {
|
|
12417
|
-
const e = HA(), q = aA(e, !1), { onlineUsers: A, dialogs: V, getDialogOpponentId: t, sendSignal: s } = Mq(), a =
|
|
12412
|
+
const e = HA(), q = aA(e, !1), { onlineUsers: A, dialogs: V, getDialogOpponentId: t, sendSignal: s } = Mq(), a = De((d) => d.enableOnlineUsersBadge), [i, c] = ce(
|
|
12418
12413
|
hq((d) => [d.userStatus, d.setUserStatus])
|
|
12419
12414
|
), r = xq(() => a ? [...new Set(A.map((d) => d.id))] : [], [A, a]), n = xq(() => {
|
|
12420
12415
|
if (r.length >= 10) return r;
|
|
@@ -12439,25 +12434,25 @@ const uw = () => {
|
|
|
12439
12434
|
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: [
|
|
12440
12435
|
/* @__PURE__ */ o.jsx("p", { className: "text-white truncate", children: q }),
|
|
12441
12436
|
/* @__PURE__ */ o.jsxs(pV, { modal: !1, children: [
|
|
12442
|
-
/* @__PURE__ */ o.jsx(hV, { className: "flex items-center justify-center rounded-full px-2 py-1 bg-gray-100 hover:bg-white text-foreground", children: /* @__PURE__ */ o.jsx(
|
|
12437
|
+
/* @__PURE__ */ o.jsx(hV, { className: "flex items-center justify-center rounded-full px-2 py-1 bg-gray-100 hover:bg-white text-foreground", children: /* @__PURE__ */ o.jsx(ze, { status: i }) }),
|
|
12443
12438
|
/* @__PURE__ */ o.jsxs(mV, { align: "start", children: [
|
|
12444
|
-
/* @__PURE__ */ o.jsx(MA, { onClick: () => l($q.AVAILABLE), children: /* @__PURE__ */ o.jsx(
|
|
12445
|
-
/* @__PURE__ */ o.jsx(MA, { onClick: () => l($q.BUSY), children: /* @__PURE__ */ o.jsx(
|
|
12446
|
-
/* @__PURE__ */ o.jsx(MA, { onClick: () => l($q.AWAY), children: /* @__PURE__ */ o.jsx(
|
|
12439
|
+
/* @__PURE__ */ o.jsx(MA, { onClick: () => l($q.AVAILABLE), children: /* @__PURE__ */ o.jsx(ze, { status: $q.AVAILABLE }) }),
|
|
12440
|
+
/* @__PURE__ */ o.jsx(MA, { onClick: () => l($q.BUSY), children: /* @__PURE__ */ o.jsx(ze, { status: $q.BUSY }) }),
|
|
12441
|
+
/* @__PURE__ */ o.jsx(MA, { onClick: () => l($q.AWAY), children: /* @__PURE__ */ o.jsx(ze, { status: $q.AWAY }) })
|
|
12447
12442
|
] })
|
|
12448
12443
|
] })
|
|
12449
12444
|
] });
|
|
12450
12445
|
}, mw = ({ profileClassName: e }) => {
|
|
12451
12446
|
const { t: q } = gq(), { users: A, selectedDialog: V, lastActivity: t, currentUserId: s } = Mq(), [a, i, c] = Fq(
|
|
12452
12447
|
hq((k) => [k.enableUserStatuses, k.enableUserLogin, k.resetUserAuthorized])
|
|
12453
|
-
), [r, n, l] =
|
|
12448
|
+
), [r, n, l] = ve(
|
|
12454
12449
|
hq((k) => [k.visible, k.userId, k.hideProfile])
|
|
12455
|
-
), d = _q((k) => k.singleView), m = s === n, w = V?.type ===
|
|
12450
|
+
), d = _q((k) => k.singleView), m = s === n, w = V?.type === xe.GROUP && !n, M = m ? HA() : n ? A[n] : null, S = `profile:${n || V?._id}`, y = ut(M?.avatar || V?.photo), D = M ? aA(M, !1) : V?.name, U = D ? D.slice(0, 2).toUpperCase() : "NA";
|
|
12456
12451
|
Aq(() => {
|
|
12457
12452
|
qo();
|
|
12458
12453
|
}, [V]);
|
|
12459
12454
|
const v = async () => {
|
|
12460
|
-
await
|
|
12455
|
+
await ya(), io(), c();
|
|
12461
12456
|
};
|
|
12462
12457
|
return /* @__PURE__ */ o.jsxs(
|
|
12463
12458
|
"div",
|
|
@@ -12500,13 +12495,13 @@ const uw = () => {
|
|
|
12500
12495
|
chatStatus: D
|
|
12501
12496
|
} = Mq(), U = Fq((Vq) => Vq.enableUserStatuses), [v, k] = ce(
|
|
12502
12497
|
hq((Vq) => [Vq.userStatus, Vq.setUserStatus])
|
|
12503
|
-
), [j, G, Q] =
|
|
12498
|
+
), [j, G, Q] = De(
|
|
12504
12499
|
hq((Vq) => [Vq.enableOnlineUsersBadge, Vq.setOnlineUsersCount, Vq.requestOnlineUsersInterval])
|
|
12505
12500
|
), J = gV((Vq) => Vq.setUnreadCount), [O, nq, rq] = _q(
|
|
12506
12501
|
hq((Vq) => [Vq.opened, Vq.splitView, Vq.singleView])
|
|
12507
|
-
), [P, $, Iq] =
|
|
12502
|
+
), [P, $, Iq] = ct(
|
|
12508
12503
|
hq((Vq) => [Vq.defaultChat, Vq.setDefaultChat, Vq.singleViewChat])
|
|
12509
|
-
), fq =
|
|
12504
|
+
), fq = oV((Vq) => Vq.setActiveTab), { notifyOnMessage: lq } = oo(), { isWideScreen: H } = Mp(), { isFocused: jq } = wp(), Dq = nq && H, Zq = xq(
|
|
12510
12505
|
() => Dq ? "w-2/5 max-w-[360px]" : `${c ? "hidden" : "w-full"}`,
|
|
12511
12506
|
[Dq, c]
|
|
12512
12507
|
), qA = xq(
|
|
@@ -12515,15 +12510,15 @@ const uw = () => {
|
|
|
12515
12510
|
), qq = xq(() => Dq ? "w-3/5 min-w-[calc(100%-360px)]" : "", [Dq]);
|
|
12516
12511
|
hp();
|
|
12517
12512
|
const mq = async () => {
|
|
12518
|
-
const Vq = await
|
|
12513
|
+
const Vq = await Ia();
|
|
12519
12514
|
await _V(r, Vq);
|
|
12520
12515
|
}, vq = async () => {
|
|
12521
12516
|
const { externalId: Vq, opponentUserIds: aq, name: Bq, photo: Rq } = Iq, Tq = typeof aq == "string" ? aq.split(/,\s*|\s+/).filter(Boolean) : aq, hA = await i({ external_id: { in: Tq } });
|
|
12522
12517
|
if (hA.length < 1) {
|
|
12523
|
-
|
|
12518
|
+
gA.error(e("SingleViewChatError"));
|
|
12524
12519
|
return;
|
|
12525
12520
|
}
|
|
12526
|
-
const kA = Vq ??
|
|
12521
|
+
const kA = Vq ?? Ot(hA), Jq = Tq.length > 1 ? Pe.GROUP : Pe.SINGLE;
|
|
12527
12522
|
$({ id: kA, name: Bq, photo: Rq, opponentUserId: Tq, type: Jq });
|
|
12528
12523
|
}, Hq = async (Vq) => {
|
|
12529
12524
|
const {
|
|
@@ -12536,13 +12531,13 @@ const uw = () => {
|
|
|
12536
12531
|
} = Vq ?? {};
|
|
12537
12532
|
if (!Bq)
|
|
12538
12533
|
throw "Missing 'defaultChat.opponentUserId' prop";
|
|
12539
|
-
const Jq = aq ===
|
|
12534
|
+
const Jq = aq === Pe.SINGLE ? 3 : 2;
|
|
12540
12535
|
if (Jq === 2 && !Tq)
|
|
12541
12536
|
throw "Missing 'defaultChat.name' prop";
|
|
12542
12537
|
const mA = Array.isArray(Bq) ? Bq : [Bq], oA = await i({ external_id: { in: mA } }), BA = w || HA()?.id;
|
|
12543
12538
|
if (!BA)
|
|
12544
12539
|
throw "Missing 'currentUserId'. Are you logged in?";
|
|
12545
|
-
const yA = [BA, ...oA.map(({ id: C }) => C)], ee =
|
|
12540
|
+
const yA = [BA, ...oA.map(({ id: C }) => C)], ee = Ot(oA), XA = { externalId: Rq, ...kA };
|
|
12546
12541
|
let E = S.find((C) => C.extensions?.externalId == Rq);
|
|
12547
12542
|
if (!E) {
|
|
12548
12543
|
const C = await M({ extensions: { externalId: Rq } });
|
|
@@ -12586,7 +12581,7 @@ const uw = () => {
|
|
|
12586
12581
|
if (m !== V.current) {
|
|
12587
12582
|
V.current = m;
|
|
12588
12583
|
const { messageId: Vq, error: aq } = m || {};
|
|
12589
|
-
Vq && (console.warn(`[Error] processing message (${Vq}): ${aq?.info || "unknown"}`),
|
|
12584
|
+
Vq && (console.warn(`[Error] processing message (${Vq}): ${aq?.info || "unknown"}`), gA.warning(e("YouBlocked")));
|
|
12590
12585
|
}
|
|
12591
12586
|
}, [m, e]), Aq(() => {
|
|
12592
12587
|
if (d !== A.current) {
|
|
@@ -12594,7 +12589,7 @@ const uw = () => {
|
|
|
12594
12589
|
const { message: Vq } = d || {};
|
|
12595
12590
|
if (Vq && U)
|
|
12596
12591
|
switch (Vq.body) {
|
|
12597
|
-
case
|
|
12592
|
+
case Sa.UPDATE_USER:
|
|
12598
12593
|
w === Vq.userId && Vq.extension?.userStatus !== v ? k(Vq.extension.userStatus, !0) : a(Vq.userId, !0);
|
|
12599
12594
|
break;
|
|
12600
12595
|
}
|
|
@@ -12638,7 +12633,7 @@ function Jo({ className: e, ...q }) {
|
|
|
12638
12633
|
return /* @__PURE__ */ o.jsx("div", { "data-slot": "card-footer", className: sq(tq.cardFooter, e), ...q });
|
|
12639
12634
|
}
|
|
12640
12635
|
const Cw = () => {
|
|
12641
|
-
const { t: e } = gq(), q = _q((y) => y.imgLogoSource), A = Fq((y) => y.setUserAuthorized), [V, t] =
|
|
12636
|
+
const { t: e } = gq(), q = _q((y) => y.imgLogoSource), A = Fq((y) => y.setUserAuthorized), [V, t] = nV(
|
|
12642
12637
|
hq((y) => [y.showAlertBusy, y.hideAlertBusy])
|
|
12643
12638
|
), s = HA(), [a, i] = Qq(!!s), {
|
|
12644
12639
|
reset: c,
|
|
@@ -12646,7 +12641,7 @@ const Cw = () => {
|
|
|
12646
12641
|
handleSubmit: n,
|
|
12647
12642
|
formState: { errors: l },
|
|
12648
12643
|
setError: d
|
|
12649
|
-
} =
|
|
12644
|
+
} = it(), m = r("login", {
|
|
12650
12645
|
required: e("AuthForm.LoginRequired"),
|
|
12651
12646
|
minLength: {
|
|
12652
12647
|
value: 3,
|
|
@@ -12669,7 +12664,7 @@ const Cw = () => {
|
|
|
12669
12664
|
}), M = async ({ login: y, password: D }) => {
|
|
12670
12665
|
V(`${e("PleaseWait")}...`);
|
|
12671
12666
|
try {
|
|
12672
|
-
a ? await
|
|
12667
|
+
a ? await lV(y, D) : await Ta(y, D), A(!0);
|
|
12673
12668
|
} catch (U) {
|
|
12674
12669
|
const { info: v } = U ?? { info: { errors: [] } }, k = v?.errors ?? [];
|
|
12675
12670
|
let j, G, Q, J;
|
|
@@ -12755,13 +12750,13 @@ const Cw = () => {
|
|
|
12755
12750
|
}, Ew = () => {
|
|
12756
12751
|
const { t: e } = gq(), q = Fq((s) => s.setUserAuthorized), A = _q((s) => s.imgLogoSource), V = async () => {
|
|
12757
12752
|
try {
|
|
12758
|
-
await
|
|
12753
|
+
await Ba() && q(!0);
|
|
12759
12754
|
} catch (s) {
|
|
12760
12755
|
const a = s?.errors?.base?.[0] ?? "Login error";
|
|
12761
|
-
|
|
12756
|
+
gA.error(a), console.error("Login error", s);
|
|
12762
12757
|
}
|
|
12763
12758
|
}, t = async () => {
|
|
12764
|
-
io(), await
|
|
12759
|
+
io(), await ya(), V();
|
|
12765
12760
|
};
|
|
12766
12761
|
return /* @__PURE__ */ o.jsx("div", { className: "flex justify-center items-center size-full p-2 bg-background", children: /* @__PURE__ */ o.jsxs(Fo, { className: "w-full max-w-sm", children: [
|
|
12767
12762
|
/* @__PURE__ */ o.jsxs(Oo, { className: "flex flex-col items-center gap-6", children: [
|
|
@@ -12787,7 +12782,7 @@ const Cw = () => {
|
|
|
12787
12782
|
), n = Nq(async () => {
|
|
12788
12783
|
if (!(c || t))
|
|
12789
12784
|
try {
|
|
12790
|
-
await
|
|
12785
|
+
await Ba(e, q, A, V) && r(!0);
|
|
12791
12786
|
} catch (d) {
|
|
12792
12787
|
console.error(d?.info?.errors?.login?.[0] ?? "Login error");
|
|
12793
12788
|
}
|
|
@@ -12796,7 +12791,7 @@ const Cw = () => {
|
|
|
12796
12791
|
on: {
|
|
12797
12792
|
sessionExpired: async (m, w) => {
|
|
12798
12793
|
try {
|
|
12799
|
-
const M = await
|
|
12794
|
+
const M = await Ia();
|
|
12800
12795
|
M && (console.info("[sessionExpired] session restored successfully"), w(M), await s() || i(), await _V(a, M));
|
|
12801
12796
|
} catch (M) {
|
|
12802
12797
|
console.error("[sessionExpired] session restore failed", M);
|
|
@@ -12812,7 +12807,7 @@ const Cw = () => {
|
|
|
12812
12807
|
function Sw(e) {
|
|
12813
12808
|
return Cq({ 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);
|
|
12814
12809
|
}
|
|
12815
|
-
const Iw =
|
|
12810
|
+
const Iw = ma(tq.badge, {
|
|
12816
12811
|
variants: {
|
|
12817
12812
|
variant: {
|
|
12818
12813
|
default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
|
|
@@ -12831,11 +12826,11 @@ function Po({
|
|
|
12831
12826
|
asChild: A = !1,
|
|
12832
12827
|
...V
|
|
12833
12828
|
}) {
|
|
12834
|
-
const t = A ?
|
|
12829
|
+
const t = A ? ha : "span";
|
|
12835
12830
|
return /* @__PURE__ */ o.jsx(t, { "data-slot": "badge", className: sq(Iw({ variant: q }), e), ...V });
|
|
12836
12831
|
}
|
|
12837
12832
|
const Bw = ({ style: e = {} }) => {
|
|
12838
|
-
const [q, A] =
|
|
12833
|
+
const [q, A] = De(
|
|
12839
12834
|
hq((V) => [V.enableOnlineUsersBadge, V.onlineUsersCount])
|
|
12840
12835
|
);
|
|
12841
12836
|
return q && A > 0 ? /* @__PURE__ */ o.jsx(
|