@streamyy/client 0.1.0 → 0.3.0

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.
Files changed (46) hide show
  1. package/README.md +11 -7
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/client.d.ts +6 -6
  4. package/dist/client.js +3 -3
  5. package/dist/components/CallControls.d.ts +10 -1
  6. package/dist/components/CallControls.d.ts.map +1 -1
  7. package/dist/components/CallControls.js +21 -24
  8. package/dist/components/CallControls.js.map +1 -1
  9. package/dist/components/IncomingCallCard.d.ts +7 -3
  10. package/dist/components/IncomingCallCard.d.ts.map +1 -1
  11. package/dist/components/IncomingCallCard.js +28 -19
  12. package/dist/components/IncomingCallCard.js.map +1 -1
  13. package/dist/components/StreammyCallWidget.d.ts +19 -2
  14. package/dist/components/StreammyCallWidget.d.ts.map +1 -1
  15. package/dist/components/StreammyCallWidget.js +274 -119
  16. package/dist/components/StreammyCallWidget.js.map +1 -1
  17. package/dist/components/StreamyyCallWidget.d.ts +27 -0
  18. package/dist/components/StreamyyCallWidget.d.ts.map +1 -0
  19. package/dist/components/StreamyyCallWidget.js +347 -0
  20. package/dist/components/StreamyyCallWidget.js.map +1 -0
  21. package/dist/components/VideoStage.d.ts.map +1 -1
  22. package/dist/components/VideoStage.js +12 -48
  23. package/dist/components/VideoStage.js.map +1 -1
  24. package/dist/components/VideoTile.d.ts +1 -1
  25. package/dist/components/VideoTile.d.ts.map +1 -1
  26. package/dist/components/VideoTile.js +18 -14
  27. package/dist/components/VideoTile.js.map +1 -1
  28. package/dist/hooks/useRingtone.d.ts +2 -2
  29. package/dist/hooks/useRingtone.d.ts.map +1 -1
  30. package/dist/hooks/useRingtone.js +11 -7
  31. package/dist/hooks/useRingtone.js.map +1 -1
  32. package/dist/hooks/useStreammy.d.ts +11 -6
  33. package/dist/hooks/useStreammy.d.ts.map +1 -1
  34. package/dist/hooks/useStreammy.js +348 -69
  35. package/dist/hooks/useStreammy.js.map +1 -1
  36. package/dist/hooks/useStreamyy.d.ts +28 -0
  37. package/dist/hooks/useStreamyy.d.ts.map +1 -0
  38. package/dist/hooks/useStreamyy.js +462 -0
  39. package/dist/hooks/useStreamyy.js.map +1 -0
  40. package/dist/index.d.ts +2 -2
  41. package/dist/index.js +2 -2
  42. package/dist/types.d.ts +53 -22
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/webrtc/peer-session.d.ts +3 -3
  45. package/dist/webrtc/peer-session.js +1 -1
  46. package/package.json +1 -1
@@ -1,139 +1,294 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMemo, useState } from "react";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useEffect, useMemo, useRef, useState } from "react";
3
3
  import { CallControls } from "./CallControls.js";
4
4
  import { IncomingCallCard } from "./IncomingCallCard.js";
5
+ import { VideoStage } from "./VideoStage.js";
5
6
  import { useRingtone } from "../hooks/useRingtone.js";
6
7
  import { useStreammy } from "../hooks/useStreammy.js";
8
+ const finishedStatuses = new Set(["ended", "declined", "cancelled", "missed", "failed"]);
7
9
  const statusLabel = {
8
- idle: "Idle",
9
- initiated: "Dialing",
10
- ringing: "Ringing",
11
- accepted: "Accepted",
12
- ongoing: "Live",
10
+ idle: "Ready",
11
+ initiated: "Calling...",
12
+ ringing: "Ringing...",
13
+ accepted: "Connecting...",
14
+ ongoing: "Connected",
13
15
  declined: "Declined",
14
16
  cancelled: "Cancelled",
15
- ended: "Ended",
16
- failed: "Failed",
17
- missed: "Missed",
17
+ ended: "Call ended",
18
+ failed: "Call failed",
19
+ missed: "Missed call",
18
20
  };
19
- const surface = {
20
- borderRadius: "28px",
21
- border: "1px solid rgba(148, 163, 184, 0.18)",
22
- background: "radial-gradient(circle at top, rgba(30, 64, 175, 0.22), transparent 38%), rgba(2, 6, 23, 0.92)",
23
- boxShadow: "0 24px 80px rgba(2, 6, 23, 0.45)",
24
- color: "white",
21
+ const iconStyle = {
22
+ width: "1.45rem",
23
+ height: "1.45rem",
24
+ display: "block",
25
25
  };
26
- export const StreammyCallWidget = ({ defaultReceiverId = "", defaultCallType = "video", title = "Streamyy Calling UI", subtitle = "Default install-ready calling experience with signaling state, ringing, and customizable ringtones.", ringtones, }) => {
27
- const { activeCall, callStatus, connected, reconnecting, initiateCall, acceptCall, declineCall, cancelCall, endCall, clearActiveCall } = useStreammy();
26
+ const PhoneIcon = ({ crossed = false }) => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.86 19.86 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.86 19.86 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.35 1.77.68 2.6a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.48-1.25a2 2 0 0 1 2.11-.45c.83.33 1.7.56 2.6.68A2 2 0 0 1 22 16.92Z" }), crossed ? _jsx("path", { d: "M4 4l16 16" }) : null] }));
27
+ const VideoIcon = ({ off = false }) => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M23 7l-7 5 7 5V7Z" }), _jsx("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2", ry: "2" }), off ? _jsx("path", { d: "M3 3l18 18" }) : null] }));
28
+ const MicIcon = ({ off = false }) => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M12 1a3 3 0 0 1 3 3v8a3 3 0 0 1-6 0V4a3 3 0 0 1 3-3Z" }), _jsx("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }), _jsx("path", { d: "M12 19v4" }), _jsx("path", { d: "M8 23h8" }), off ? _jsx("path", { d: "M4 4l16 16" }) : null] }));
29
+ const CheckIcon = () => (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: _jsx("path", { d: "M20 6 9 17l-5-5" }) }));
30
+ const XIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }));
31
+ const defaultIcons = {
32
+ audio: _jsx(PhoneIcon, {}),
33
+ video: _jsx(VideoIcon, {}),
34
+ mute: _jsx(MicIcon, {}),
35
+ unmute: _jsx(MicIcon, { off: true }),
36
+ videoOn: _jsx(VideoIcon, {}),
37
+ videoOff: _jsx(VideoIcon, { off: true }),
38
+ accept: _jsx(CheckIcon, {}),
39
+ decline: _jsx(XIcon, {}),
40
+ hangup: _jsx(PhoneIcon, { crossed: true }),
41
+ };
42
+ const avatarFallback = (value) => value.slice(0, 2).toUpperCase() || "?";
43
+ const getRemoteId = (call) => call.direction === "incoming" ? call.callerId : call.receiverId;
44
+ const readAvatarFromMetadata = (call, role) => {
45
+ const metadata = call.metadata;
46
+ if (!metadata) {
47
+ return undefined;
48
+ }
49
+ const remoteKey = call.direction === "incoming" ? "callerAvatarSrc" : "receiverAvatarSrc";
50
+ const key = role === "remote"
51
+ ? remoteKey
52
+ : role === "caller"
53
+ ? "callerAvatarSrc"
54
+ : "receiverAvatarSrc";
55
+ const candidate = metadata[key];
56
+ return typeof candidate === "string" ? candidate : undefined;
57
+ };
58
+ const DefaultAvatar = ({ label, src, size, }) => (_jsx("div", { style: {
59
+ width: size,
60
+ height: size,
61
+ borderRadius: "999px",
62
+ padding: "0.28rem",
63
+ background: "#00c781",
64
+ display: "grid",
65
+ placeItems: "center",
66
+ boxSizing: "border-box",
67
+ }, children: _jsx("div", { style: {
68
+ width: "100%",
69
+ height: "100%",
70
+ borderRadius: "999px",
71
+ background: "#282a2f",
72
+ display: "grid",
73
+ placeItems: "center",
74
+ overflow: "hidden",
75
+ color: "white",
76
+ fontWeight: 700,
77
+ fontSize: "1.35rem",
78
+ }, children: src ? (_jsx("img", { src: src, alt: label, style: { width: "100%", height: "100%", objectFit: "cover" } })) : (avatarFallback(label)) }) }));
79
+ const RemoteAudio = ({ stream }) => {
80
+ const ref = useRef(null);
81
+ useEffect(() => {
82
+ if (ref.current) {
83
+ ref.current.srcObject = stream;
84
+ }
85
+ }, [stream]);
86
+ return _jsx("audio", { ref: ref, autoPlay: true, playsInline: true });
87
+ };
88
+ export const StreammyCallWidget = ({ defaultReceiverId = "", defaultCallType = "video", title = "Streamyy Calling", subtitle = "Ready-made calling UI", ringtones, renderIncomingCall, renderCallInterface, resolveAvatarSrc, icons, }) => {
89
+ const { activeCall, callStatus, media, startAudioCall, startVideoCall, acceptCall, declineCall, cancelCall, endCall, toggleMute, toggleVideo, clearActiveCall, connected, reconnecting, } = useStreammy();
28
90
  const [receiverId, setReceiverId] = useState(defaultReceiverId);
29
- const [callType, setCallType] = useState(defaultCallType);
30
- const [controls, setControls] = useState({
31
- muted: false,
32
- videoEnabled: defaultCallType === "video",
33
- });
34
- const isIncomingRinging = activeCall?.direction === "incoming" && (activeCall.status === "ringing" || activeCall.status === "initiated");
91
+ const [selectedType, setSelectedType] = useState(defaultCallType);
92
+ const mergedIcons = { ...defaultIcons, ...icons };
93
+ const isIncomingRinging = activeCall?.direction === "incoming" &&
94
+ (activeCall.status === "ringing" || activeCall.status === "initiated");
35
95
  const isOutgoingRinging = activeCall?.direction === "outgoing" && (callStatus === "initiated" || callStatus === "ringing");
96
+ const isFinished = activeCall ? finishedStatuses.has(callStatus) : false;
36
97
  useRingtone(Boolean(isIncomingRinging), ringtones?.incoming, "incoming");
37
98
  useRingtone(Boolean(isOutgoingRinging), ringtones?.outgoing, "outgoing");
38
- const canStartCall = receiverId.trim().length > 0 &&
39
- (callStatus === "idle" ||
40
- callStatus === "ended" ||
41
- callStatus === "declined" ||
42
- callStatus === "cancelled" ||
43
- callStatus === "missed" ||
44
- callStatus === "failed");
45
99
  const liveLabel = useMemo(() => statusLabel[callStatus] ?? callStatus, [callStatus]);
46
- return (_jsxs("section", { style: { ...surface, padding: "1.5rem", display: "grid", gap: "1.25rem" }, children: [_jsx("header", { style: { display: "grid", gap: "0.4rem" }, children: _jsxs("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: "1rem" }, children: [_jsxs("div", { children: [_jsx("h2", { style: { margin: 0, fontSize: "1.6rem", fontWeight: 800 }, children: title }), _jsx("p", { style: { margin: "0.35rem 0 0", color: "rgba(226, 232, 240, 0.72)", lineHeight: 1.6 }, children: subtitle })] }), _jsx("span", { style: {
47
- borderRadius: "999px",
48
- padding: "0.4rem 0.8rem",
49
- background: reconnecting
50
- ? "rgba(245, 158, 11, 0.16)"
51
- : connected
52
- ? "rgba(34, 197, 94, 0.16)"
53
- : "rgba(248, 113, 113, 0.14)",
54
- color: reconnecting ? "#fcd34d" : connected ? "#86efac" : "#fca5a5",
55
- fontSize: "0.9rem",
56
- whiteSpace: "nowrap",
57
- }, children: reconnecting ? "Reconnecting" : connected ? "Connected" : "Disconnected" })] }) }), _jsxs("section", { style: {
100
+ const currentRemoteId = activeCall ? getRemoteId(activeCall) : receiverId.trim() || "Remote";
101
+ const remoteAvatar = activeCall
102
+ ? (resolveAvatarSrc?.(activeCall, "remote") ?? readAvatarFromMetadata(activeCall, "remote"))
103
+ : undefined;
104
+ const endCurrentCall = async () => {
105
+ if (!activeCall) {
106
+ return;
107
+ }
108
+ if (activeCall.direction === "outgoing" && (callStatus === "initiated" || callStatus === "ringing")) {
109
+ await cancelCall(activeCall.callId);
110
+ return;
111
+ }
112
+ await endCall(activeCall.callId);
113
+ };
114
+ const startCurrentTypeCall = async () => {
115
+ const target = receiverId.trim();
116
+ if (!target) {
117
+ return;
118
+ }
119
+ if (selectedType === "audio") {
120
+ await startAudioCall(target, { startedFrom: "streamyy-default-ui" });
121
+ return;
122
+ }
123
+ await startVideoCall(target, { startedFrom: "streamyy-default-ui" });
124
+ };
125
+ const callRendererProps = activeCall === null
126
+ ? null
127
+ : {
128
+ activeCall,
129
+ callStatus,
130
+ connected,
131
+ reconnecting,
132
+ media,
133
+ clear: clearActiveCall,
134
+ cancel: async () => cancelCall(activeCall.callId),
135
+ end: async () => endCall(activeCall.callId),
136
+ toggleMute,
137
+ toggleVideo,
138
+ };
139
+ return (_jsxs("section", { style: {
140
+ position: "relative",
141
+ width: "100%",
142
+ minHeight: "100vh",
143
+ background: "#111315",
144
+ color: "white",
145
+ overflow: "hidden",
146
+ }, children: [!activeCall ? (_jsx("section", { style: {
147
+ minHeight: "100vh",
58
148
  display: "grid",
59
- gap: "1rem",
60
- gridTemplateColumns: "repeat(auto-fit, minmax(260px, 1fr))",
61
- }, children: [_jsxs("article", { style: {
62
- padding: "1rem",
63
- borderRadius: "22px",
64
- border: "1px solid rgba(148, 163, 184, 0.14)",
65
- background: "rgba(15, 23, 42, 0.75)",
149
+ placeItems: "center",
150
+ padding: "1.5rem",
151
+ background: "#111315",
152
+ }, children: _jsxs("div", { style: {
153
+ width: "min(28rem, 100%)",
154
+ display: "grid",
155
+ gap: "1rem",
156
+ padding: "1.4rem",
157
+ borderRadius: "1.8rem",
158
+ background: "#1d1d21",
159
+ border: "1px solid rgba(255, 255, 255, 0.06)",
160
+ }, children: [_jsxs("div", { style: { display: "grid", gap: "0.35rem" }, children: [_jsx("strong", { style: { fontSize: "1.3rem" }, children: title }), _jsx("span", { style: { color: "rgba(255, 255, 255, 0.56)", lineHeight: 1.5 }, children: subtitle })] }), _jsx("input", { value: receiverId, onChange: (event) => setReceiverId(event.target.value), placeholder: "receiver_user_id", style: {
161
+ width: "100%",
162
+ borderRadius: "1rem",
163
+ border: "1px solid rgba(255, 255, 255, 0.08)",
164
+ background: "#282a2f",
165
+ color: "white",
166
+ padding: "0.95rem 1rem",
167
+ boxSizing: "border-box",
168
+ } }), _jsxs("div", { style: { display: "flex", gap: "0.85rem", justifyContent: "center" }, children: [_jsx("button", { type: "button", "aria-label": "Start audio call", onClick: () => {
169
+ setSelectedType("audio");
170
+ void startAudioCall(receiverId.trim(), { startedFrom: "streamyy-default-ui" });
171
+ }, style: {
172
+ width: "4rem",
173
+ height: "4rem",
174
+ borderRadius: "999px",
175
+ border: selectedType === "audio" ? "1px solid #00c781" : "1px solid rgba(255, 255, 255, 0.08)",
176
+ background: "#282a2f",
177
+ color: "white",
178
+ display: "grid",
179
+ placeItems: "center",
180
+ cursor: "pointer",
181
+ }, children: mergedIcons.audio }), _jsx("button", { type: "button", "aria-label": "Start video call", onClick: () => {
182
+ setSelectedType("video");
183
+ void startVideoCall(receiverId.trim(), { startedFrom: "streamyy-default-ui" });
184
+ }, style: {
185
+ width: "4rem",
186
+ height: "4rem",
187
+ borderRadius: "999px",
188
+ border: selectedType === "video" ? "1px solid #00c781" : "1px solid rgba(255, 255, 255, 0.08)",
189
+ background: "#282a2f",
190
+ color: "white",
191
+ display: "grid",
192
+ placeItems: "center",
193
+ cursor: "pointer",
194
+ }, children: mergedIcons.video })] }), _jsx("button", { type: "button", onClick: () => {
195
+ void startCurrentTypeCall();
196
+ }, style: {
197
+ borderRadius: "999px",
198
+ border: 0,
199
+ background: "#282a2f",
200
+ color: "white",
201
+ padding: "0.9rem 1rem",
202
+ cursor: "pointer",
203
+ }, children: "Start call" })] }) })) : null, activeCall && isIncomingRinging
204
+ ? renderIncomingCall
205
+ ? renderIncomingCall({
206
+ call: activeCall,
207
+ connected,
208
+ reconnecting,
209
+ accept: async () => acceptCall(activeCall.callId),
210
+ decline: async (reason) => declineCall(activeCall.callId, reason),
211
+ })
212
+ : (_jsx("section", { style: {
213
+ position: "absolute",
214
+ inset: 0,
66
215
  display: "grid",
67
- gap: "0.85rem",
68
- }, children: [_jsxs("div", { children: [_jsx("p", { style: { margin: 0, fontSize: "0.85rem", color: "rgba(125, 211, 252, 0.85)", textTransform: "uppercase", letterSpacing: "0.18em" }, children: "Start Call" }), _jsx("h3", { style: { margin: "0.45rem 0 0", fontSize: "1.1rem" }, children: "Launch the default widget" }), _jsx("p", { style: { margin: "0.45rem 0 0", color: "rgba(226, 232, 240, 0.72)", lineHeight: 1.6 }, children: "Calls ring for up to 60 seconds. If nobody picks, the session automatically ends as missed to keep the flow light." })] }), _jsxs("label", { style: { display: "grid", gap: "0.45rem" }, children: [_jsx("span", { style: { fontSize: "0.92rem", color: "rgba(226, 232, 240, 0.82)" }, children: "Receiver ID" }), _jsx("input", { value: receiverId, onChange: (event) => setReceiverId(event.target.value), placeholder: "user_456", style: {
69
- borderRadius: "14px",
70
- border: "1px solid rgba(148, 163, 184, 0.18)",
71
- background: "rgba(15, 23, 42, 0.65)",
72
- color: "white",
73
- padding: "0.85rem 0.9rem",
74
- } })] }), _jsxs("div", { style: { display: "flex", gap: "0.75rem" }, children: [_jsx("button", { type: "button", onClick: () => setCallType("audio"), style: {
75
- flex: 1,
76
- borderRadius: "14px",
77
- border: 0,
78
- padding: "0.8rem 1rem",
79
- background: callType === "audio" ? "#0ea5e9" : "rgba(30, 41, 59, 0.85)",
80
- color: "white",
81
- }, children: "Audio" }), _jsx("button", { type: "button", onClick: () => setCallType("video"), style: {
82
- flex: 1,
83
- borderRadius: "14px",
84
- border: 0,
85
- padding: "0.8rem 1rem",
86
- background: callType === "video" ? "#0ea5e9" : "rgba(30, 41, 59, 0.85)",
87
- color: "white",
88
- }, children: "Video" })] }), _jsxs("button", { type: "button", disabled: !canStartCall, onClick: () => initiateCall(receiverId.trim(), callType, { startedFrom: "streamyy-default-ui" }), style: {
89
- borderRadius: "16px",
90
- border: 0,
91
- padding: "0.95rem 1rem",
92
- background: canStartCall ? "linear-gradient(135deg, #0ea5e9, #2563eb)" : "rgba(71, 85, 105, 0.6)",
93
- color: "white",
94
- fontWeight: 700,
95
- cursor: canStartCall ? "pointer" : "not-allowed",
96
- }, children: ["Start ", callType, " call"] })] }), _jsxs("article", { style: {
216
+ placeItems: "center",
97
217
  padding: "1rem",
98
- borderRadius: "22px",
99
- border: "1px solid rgba(148, 163, 184, 0.14)",
100
- background: "rgba(15, 23, 42, 0.75)",
101
- display: "grid",
102
- gap: "0.85rem",
103
- }, children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: "1rem", alignItems: "center" }, children: [_jsxs("div", { children: [_jsx("p", { style: { margin: 0, fontSize: "0.85rem", color: "rgba(125, 211, 252, 0.85)", textTransform: "uppercase", letterSpacing: "0.18em" }, children: "Current State" }), _jsx("h3", { style: { margin: "0.45rem 0 0", fontSize: "1.1rem" }, children: liveLabel })] }), _jsx("span", { style: {
104
- borderRadius: "999px",
105
- padding: "0.35rem 0.75rem",
106
- background: "rgba(14, 165, 233, 0.14)",
107
- color: "#7dd3fc",
108
- fontSize: "0.88rem",
109
- }, children: activeCall?.direction ?? "standby" })] }), activeCall ? (_jsxs("div", { style: { display: "grid", gap: "0.45rem", color: "rgba(226, 232, 240, 0.86)" }, children: [_jsxs("p", { style: { margin: 0 }, children: ["Call ID: ", activeCall.callId] }), _jsxs("p", { style: { margin: 0 }, children: ["Caller: ", activeCall.callerId] }), _jsxs("p", { style: { margin: 0 }, children: ["Receiver: ", activeCall.receiverId] }), _jsxs("p", { style: { margin: 0 }, children: ["Type: ", activeCall.callType] })] })) : (_jsx("p", { style: { margin: 0, color: "rgba(226, 232, 240, 0.72)", lineHeight: 1.6 }, children: "No active session yet. This widget becomes the default installable UI developers can use before customizing." })), activeCall?.direction === "incoming" && (activeCall.status === "ringing" || activeCall.status === "initiated") ? (_jsx(IncomingCallCard, { call: activeCall, onAccept: () => acceptCall(activeCall.callId), onDecline: () => declineCall(activeCall.callId) })) : null, activeCall ? (_jsx(CallControls, { state: controls, onToggleMute: () => setControls((current) => ({
110
- ...current,
111
- muted: !current.muted,
112
- })), onToggleVideo: () => setControls((current) => ({
113
- ...current,
114
- videoEnabled: !current.videoEnabled,
115
- })), onHangup: () => {
116
- if (activeCall.callId.startsWith("pending-")) {
117
- clearActiveCall();
118
- return;
119
- }
120
- if (activeCall.direction === "outgoing" && (activeCall.status === "initiated" || activeCall.status === "ringing")) {
121
- cancelCall(activeCall.callId);
122
- return;
123
- }
124
- endCall(activeCall.callId);
125
- } })) : null, (callStatus === "ended" ||
126
- callStatus === "declined" ||
127
- callStatus === "cancelled" ||
128
- callStatus === "missed" ||
129
- callStatus === "failed") &&
130
- activeCall ? (_jsx("button", { type: "button", onClick: clearActiveCall, style: {
131
- justifySelf: "start",
132
- borderRadius: "12px",
133
- border: "1px solid rgba(148, 163, 184, 0.18)",
134
- background: "transparent",
218
+ background: "rgba(0, 0, 0, 0.58)",
219
+ backdropFilter: "blur(16px)",
220
+ zIndex: 2,
221
+ }, children: _jsx(IncomingCallCard, { call: activeCall, avatar: _jsx(DefaultAvatar, { label: activeCall.callerId, src: remoteAvatar, size: "6.6rem" }), acceptIcon: mergedIcons.accept, declineIcon: mergedIcons.decline, onAccept: () => {
222
+ void acceptCall(activeCall.callId);
223
+ }, onDecline: () => {
224
+ void declineCall(activeCall.callId);
225
+ } }) }))
226
+ : null, activeCall && !isIncomingRinging
227
+ ? renderCallInterface && callRendererProps
228
+ ? renderCallInterface(callRendererProps)
229
+ : (_jsxs("section", { style: {
230
+ position: "relative",
231
+ width: "100%",
232
+ minHeight: "100vh",
233
+ background: "#111315",
234
+ }, children: [activeCall.callType === "video" ? (_jsxs(_Fragment, { children: [_jsx("div", { style: {
235
+ position: "absolute",
236
+ inset: 0,
237
+ background: "#111315",
238
+ } }), _jsx("div", { style: {
239
+ position: "absolute",
240
+ inset: 0,
241
+ }, children: _jsx(VideoStage, { localStream: media.localStream, remoteStream: media.remoteStream, localLabel: "", remoteLabel: "", localMirrored: true }) }), _jsxs("div", { style: {
242
+ position: "absolute",
243
+ top: "2rem",
244
+ left: "50%",
245
+ transform: "translateX(-50%)",
246
+ display: "grid",
247
+ justifyItems: "center",
248
+ gap: "0.55rem",
249
+ zIndex: 2,
250
+ }, children: [_jsx("div", { style: {
251
+ padding: "0.5rem 1rem",
252
+ borderRadius: "999px",
253
+ background: "rgba(31, 31, 35, 0.76)",
254
+ backdropFilter: "blur(14px)",
255
+ fontWeight: 700,
256
+ fontSize: "1rem",
257
+ }, children: currentRemoteId }), _jsx("span", { style: { color: "rgba(255, 255, 255, 0.72)", fontSize: "0.95rem" }, children: liveLabel })] })] })) : (_jsx("div", { style: {
258
+ minHeight: "100vh",
259
+ display: "grid",
260
+ placeItems: "center",
261
+ padding: "2rem 1.5rem 8rem",
262
+ background: "#202224",
263
+ }, children: _jsxs("div", { style: { display: "grid", justifyItems: "center", gap: "1rem" }, children: [_jsx(DefaultAvatar, { label: currentRemoteId, src: remoteAvatar, size: "7.5rem" }), _jsxs("div", { style: { display: "grid", gap: "0.35rem", justifyItems: "center" }, children: [_jsx("strong", { style: { fontSize: "2rem", lineHeight: 1.1 }, children: currentRemoteId }), _jsx("span", { style: { color: "rgba(255, 255, 255, 0.72)", fontSize: "1.1rem" }, children: liveLabel })] })] }) })), _jsx("div", { style: {
264
+ position: "absolute",
265
+ left: "50%",
266
+ bottom: "2rem",
267
+ transform: "translateX(-50%)",
268
+ zIndex: 2,
269
+ }, children: _jsx(CallControls, { state: {
270
+ muted: media.muted,
271
+ videoEnabled: media.videoEnabled,
272
+ }, icons: {
273
+ mute: mergedIcons.mute,
274
+ unmute: mergedIcons.unmute,
275
+ video: mergedIcons.videoOn,
276
+ videoOff: mergedIcons.videoOff,
277
+ hangup: mergedIcons.hangup,
278
+ }, showVideoToggle: activeCall.callType === "video" && media.hasLocalVideo, onToggleMute: () => toggleMute(), onToggleVideo: () => toggleVideo(), onHangup: () => {
279
+ void endCurrentCall();
280
+ } }) }), isFinished ? (_jsx("button", { type: "button", onClick: clearActiveCall, style: {
281
+ position: "absolute",
282
+ top: "1.25rem",
283
+ right: "1.25rem",
284
+ borderRadius: "999px",
285
+ border: "1px solid rgba(255, 255, 255, 0.08)",
286
+ background: "#1d1d21",
135
287
  color: "white",
136
- padding: "0.7rem 0.9rem",
137
- }, children: "Clear finished call" })) : null] })] })] }));
288
+ padding: "0.7rem 0.95rem",
289
+ cursor: "pointer",
290
+ zIndex: 2,
291
+ }, children: "Clear" })) : null] }))
292
+ : null, media.remoteStream ? _jsx(RemoteAudio, { stream: media.remoteStream }) : null] }));
138
293
  };
139
294
  //# sourceMappingURL=StreammyCallWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreammyCallWidget.js","sourceRoot":"","sources":["../../src/components/StreammyCallWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreammyCallWidget.js","sourceRoot":"","sources":["../../src/components/StreammyCallWidget.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAgCtD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzF,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF,MAAM,SAAS,GAA4B;IACzC,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,EAAyB,EAAE,EAAE,CAAC,CAChE,eAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAE,SAAS,aACtI,eAAM,CAAC,EAAC,sRAAsR,GAAG,EAChS,OAAO,CAAC,CAAC,CAAC,eAAM,CAAC,EAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,IACrC,CACP,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAqB,EAAE,EAAE,CAAC,CACxD,eAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAE,SAAS,aACtI,eAAM,CAAC,EAAC,mBAAmB,GAAG,EAC9B,eAAM,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,GAAG,EACxD,GAAG,CAAC,CAAC,CAAC,eAAM,CAAC,EAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,IACjC,CACP,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAqB,EAAE,EAAE,CAAC,CACtD,eAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAE,SAAS,aACtI,eAAM,CAAC,EAAC,sDAAsD,GAAG,EACjE,eAAM,CAAC,EAAC,4BAA4B,GAAG,EACvC,eAAM,CAAC,EAAC,UAAU,GAAG,EACrB,eAAM,CAAC,EAAC,SAAS,GAAG,EACnB,GAAG,CAAC,CAAC,CAAC,eAAM,CAAC,EAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,IACjC,CACP,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CACtB,cAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAE,SAAS,YACxI,eAAM,CAAC,EAAC,iBAAiB,GAAG,GACxB,CACP,CAAC;AAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAClB,eAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,KAAK,EAAE,SAAS,aACxI,eAAM,CAAC,EAAC,YAAY,GAAG,EACvB,eAAM,CAAC,EAAC,YAAY,GAAG,IACnB,CACP,CAAC;AAEF,MAAM,YAAY,GAA0B;IAC1C,KAAK,EAAE,KAAC,SAAS,KAAG;IACpB,KAAK,EAAE,KAAC,SAAS,KAAG;IACpB,IAAI,EAAE,KAAC,OAAO,KAAG;IACjB,MAAM,EAAE,KAAC,OAAO,IAAC,GAAG,SAAG;IACvB,OAAO,EAAE,KAAC,SAAS,KAAG;IACtB,QAAQ,EAAE,KAAC,SAAS,IAAC,GAAG,SAAG;IAC3B,MAAM,EAAE,KAAC,SAAS,KAAG;IACrB,OAAO,EAAE,KAAC,KAAK,KAAG;IAClB,MAAM,EAAE,KAAC,SAAS,IAAC,OAAO,SAAG;CAC9B,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC;AAEzF,MAAM,WAAW,GAAG,CAAC,IAAwB,EAAU,EAAE,CACvD,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AAElE,MAAM,sBAAsB,GAAG,CAC7B,IAAwB,EACxB,IAAsC,EAClB,EAAE;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC1F,MAAM,GAAG,GACP,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,KAAK,QAAQ;YACjB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,mBAAmB,CAAC;IAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,EACrB,KAAK,EACL,GAAG,EACH,IAAI,GAKL,EAAE,EAAE,CAAC,CACJ,cACE,KAAK,EAAE;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,SAAS;QACrB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,SAAS,EAAE,YAAY;KACxB,YAED,cACE,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,OAAO;YACrB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,SAAS;SACpB,YAEA,GAAG,CAAC,CAAC,CAAC,CACL,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAC5D,CACH,CAAC,CAAC,CAAC,CACF,cAAc,CAAC,KAAK,CAAC,CACtB,GACG,GACF,CACP,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,EAAE,MAAM,EAAkC,EAAE,EAAE;IACjE,MAAM,GAAG,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,gBAAO,GAAG,EAAE,GAAG,EAAE,QAAQ,QAAC,WAAW,SAAG,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,iBAAiB,GAAG,EAAE,EACtB,eAAe,GAAG,OAAO,EACzB,KAAK,GAAG,kBAAkB,EAC1B,QAAQ,GAAG,uBAAuB,EAClC,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,GACmB,EAAE,EAAE;IAC5B,MAAM,EACJ,UAAU,EACV,UAAU,EACV,KAAK,EACL,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,eAAe,EACf,SAAS,EACT,YAAY,GACb,GAAG,WAAW,EAAE,CAAC;IAClB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAoB,eAAe,CAAC,CAAC;IAErF,MAAM,WAAW,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE,CAAC;IAClD,MAAM,iBAAiB,GACrB,UAAU,EAAE,SAAS,KAAK,UAAU;QACpC,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACzE,MAAM,iBAAiB,GACrB,UAAU,EAAE,SAAS,KAAK,UAAU,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC;IACnG,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAErF,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;IAC7F,MAAM,YAAY,GAAG,UAAU;QAC7B,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5F,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,cAAc,GAAG,KAAK,IAAmB,EAAE;QAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,UAAU,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;YACpG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;QACrD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GACrB,UAAU,KAAK,IAAI;QACjB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC;YACE,UAAU;YACV,UAAU;YACV,SAAS;YACT,YAAY;YACZ,KAAK;YACL,KAAK,EAAE,eAAe;YACtB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YACjD,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3C,UAAU;YACV,WAAW;SACZ,CAAC;IAER,OAAO,CACL,mBACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,QAAQ;SACnB,aAEA,CAAC,UAAU,CAAC,CAAC,CAAC,CACb,kBACE,KAAK,EAAE;oBACL,SAAS,EAAE,OAAO;oBAClB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,SAAS;iBACtB,YAED,eACE,KAAK,EAAE;wBACL,KAAK,EAAE,kBAAkB;wBACzB,OAAO,EAAE,MAAM;wBACf,GAAG,EAAE,MAAM;wBACX,OAAO,EAAE,QAAQ;wBACjB,YAAY,EAAE,QAAQ;wBACtB,UAAU,EAAE,SAAS;wBACrB,MAAM,EAAE,qCAAqC;qBAC9C,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,aAC7C,iBAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAG,KAAK,GAAU,EACvD,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,GAAG,EAAE,YAAG,QAAQ,GAAQ,IACnF,EAEN,gBACE,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,KAAoC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACrF,WAAW,EAAC,kBAAkB,EAC9B,KAAK,EAAE;gCACL,KAAK,EAAE,MAAM;gCACb,YAAY,EAAE,MAAM;gCACpB,MAAM,EAAE,qCAAqC;gCAC7C,UAAU,EAAE,SAAS;gCACrB,KAAK,EAAE,OAAO;gCACd,OAAO,EAAE,cAAc;gCACvB,SAAS,EAAE,YAAY;6BACxB,GACD,EAEF,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,aACvE,iBACE,IAAI,EAAC,QAAQ,gBACF,kBAAkB,EAC7B,OAAO,EAAE,GAAG,EAAE;wCACZ,eAAe,CAAC,OAAO,CAAC,CAAC;wCACzB,KAAK,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;oCACjF,CAAC,EACD,KAAK,EAAE;wCACL,KAAK,EAAE,MAAM;wCACb,MAAM,EAAE,MAAM;wCACd,YAAY,EAAE,OAAO;wCACrB,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qCAAqC;wCAC9F,UAAU,EAAE,SAAS;wCACrB,KAAK,EAAE,OAAO;wCACd,OAAO,EAAE,MAAM;wCACf,UAAU,EAAE,QAAQ;wCACpB,MAAM,EAAE,SAAS;qCAClB,YAEA,WAAW,CAAC,KAAK,GACX,EACT,iBACE,IAAI,EAAC,QAAQ,gBACF,kBAAkB,EAC7B,OAAO,EAAE,GAAG,EAAE;wCACZ,eAAe,CAAC,OAAO,CAAC,CAAC;wCACzB,KAAK,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC,CAAC;oCACjF,CAAC,EACD,KAAK,EAAE;wCACL,KAAK,EAAE,MAAM;wCACb,MAAM,EAAE,MAAM;wCACd,YAAY,EAAE,OAAO;wCACrB,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qCAAqC;wCAC9F,UAAU,EAAE,SAAS;wCACrB,KAAK,EAAE,OAAO;wCACd,OAAO,EAAE,MAAM;wCACf,UAAU,EAAE,QAAQ;wCACpB,MAAM,EAAE,SAAS;qCAClB,YAEA,WAAW,CAAC,KAAK,GACX,IACL,EAEN,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;gCACZ,KAAK,oBAAoB,EAAE,CAAC;4BAC9B,CAAC,EACD,KAAK,EAAE;gCACL,YAAY,EAAE,OAAO;gCACrB,MAAM,EAAE,CAAC;gCACT,UAAU,EAAE,SAAS;gCACrB,KAAK,EAAE,OAAO;gCACd,OAAO,EAAE,aAAa;gCACtB,MAAM,EAAE,SAAS;6BAClB,2BAGM,IACL,GACE,CACX,CAAC,CAAC,CAAC,IAAI,EAEP,UAAU,IAAI,iBAAiB;gBAC9B,CAAC,CAAC,kBAAkB;oBAClB,CAAC,CAAC,kBAAkB,CAAC;wBACjB,IAAI,EAAE,UAAU;wBAChB,SAAS;wBACT,YAAY;wBACZ,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;wBACjD,OAAO,EAAE,KAAK,EAAE,MAAe,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC;qBAC3E,CAAC;oBACJ,CAAC,CAAC,CACA,kBACE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,CAAC;4BACR,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,QAAQ;4BACpB,OAAO,EAAE,MAAM;4BACf,UAAU,EAAE,qBAAqB;4BACjC,cAAc,EAAE,YAAY;4BAC5B,MAAM,EAAE,CAAC;yBACV,YAED,KAAC,gBAAgB,IACf,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,KAAC,aAAa,IAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAC,QAAQ,GAAG,EACtF,UAAU,EAAE,WAAW,CAAC,MAAM,EAC9B,WAAW,EAAE,WAAW,CAAC,OAAO,EAChC,QAAQ,EAAE,GAAG,EAAE;gCACb,KAAK,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BACrC,CAAC,EACD,SAAS,EAAE,GAAG,EAAE;gCACd,KAAK,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;4BACtC,CAAC,GACD,GACM,CACT;gBACL,CAAC,CAAC,IAAI,EAEP,UAAU,IAAI,CAAC,iBAAiB;gBAC/B,CAAC,CAAC,mBAAmB,IAAI,iBAAiB;oBACxC,CAAC,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;oBACxC,CAAC,CAAC,CACA,mBACE,KAAK,EAAE;4BACL,QAAQ,EAAE,UAAU;4BACpB,KAAK,EAAE,MAAM;4BACb,SAAS,EAAE,OAAO;4BAClB,UAAU,EAAE,SAAS;yBACtB,aAEA,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CACjC,8BACE,cACE,KAAK,EAAE;4CACL,QAAQ,EAAE,UAAU;4CACpB,KAAK,EAAE,CAAC;4CACR,UAAU,EAAE,SAAS;yCACtB,GACD,EACF,cACE,KAAK,EAAE;4CACL,QAAQ,EAAE,UAAU;4CACpB,KAAK,EAAE,CAAC;yCACT,YAED,KAAC,UAAU,IACT,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,UAAU,EAAC,EAAE,EACb,WAAW,EAAC,EAAE,EACd,aAAa,SACb,GACE,EACN,eACE,KAAK,EAAE;4CACL,QAAQ,EAAE,UAAU;4CACpB,GAAG,EAAE,MAAM;4CACX,IAAI,EAAE,KAAK;4CACX,SAAS,EAAE,kBAAkB;4CAC7B,OAAO,EAAE,MAAM;4CACf,YAAY,EAAE,QAAQ;4CACtB,GAAG,EAAE,SAAS;4CACd,MAAM,EAAE,CAAC;yCACV,aAED,cACE,KAAK,EAAE;oDACL,OAAO,EAAE,aAAa;oDACtB,YAAY,EAAE,OAAO;oDACrB,UAAU,EAAE,wBAAwB;oDACpC,cAAc,EAAE,YAAY;oDAC5B,UAAU,EAAE,GAAG;oDACf,QAAQ,EAAE,MAAM;iDACjB,YAEA,eAAe,GACZ,EACN,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAG,SAAS,GAAQ,IACxF,IACL,CACJ,CAAC,CAAC,CAAC,CACF,cACE,KAAK,EAAE;oCACL,SAAS,EAAE,OAAO;oCAClB,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,QAAQ;oCACpB,OAAO,EAAE,kBAAkB;oCAC3B,UAAU,EAAE,SAAS;iCACtB,YAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,aAClE,KAAC,aAAa,IAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAC,QAAQ,GAAG,EAC1E,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,aACrE,iBAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,YAAG,eAAe,GAAU,EAChF,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAG,SAAS,GAAQ,IACvF,IACF,GACF,CACP,EAED,cACE,KAAK,EAAE;oCACL,QAAQ,EAAE,UAAU;oCACpB,IAAI,EAAE,KAAK;oCACX,MAAM,EAAE,MAAM;oCACd,SAAS,EAAE,kBAAkB;oCAC7B,MAAM,EAAE,CAAC;iCACV,YAED,KAAC,YAAY,IACX,KAAK,EAAE;wCACL,KAAK,EAAE,KAAK,CAAC,KAAK;wCAClB,YAAY,EAAE,KAAK,CAAC,YAAY;qCACjC,EACD,KAAK,EAAE;wCACL,IAAI,EAAE,WAAW,CAAC,IAAI;wCACtB,MAAM,EAAE,WAAW,CAAC,MAAM;wCAC1B,KAAK,EAAE,WAAW,CAAC,OAAO;wCAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;wCAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;qCAC3B,EACD,eAAe,EAAE,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,aAAa,EACvE,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAChC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,EAClC,QAAQ,EAAE,GAAG,EAAE;wCACb,KAAK,cAAc,EAAE,CAAC;oCACxB,CAAC,GACD,GACE,EAEL,UAAU,CAAC,CAAC,CAAC,CACZ,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE;oCACL,QAAQ,EAAE,UAAU;oCACpB,GAAG,EAAE,SAAS;oCACd,KAAK,EAAE,SAAS;oCAChB,YAAY,EAAE,OAAO;oCACrB,MAAM,EAAE,qCAAqC;oCAC7C,UAAU,EAAE,SAAS;oCACrB,KAAK,EAAE,OAAO;oCACd,OAAO,EAAE,gBAAgB;oCACzB,MAAM,EAAE,SAAS;oCACjB,MAAM,EAAE,CAAC;iCACV,sBAGM,CACV,CAAC,CAAC,CAAC,IAAI,IACA,CACT;gBACL,CAAC,CAAC,IAAI,EAEP,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,MAAM,EAAE,KAAK,CAAC,YAAY,GAAI,CAAC,CAAC,CAAC,IAAI,IAChE,CACX,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type ReactNode } from "react";
2
+ import type { StreamyyActiveCall, StreamyyCallInterfaceRenderer, StreamyyIncomingCallRenderer, StreamyyRingtoneSet } from "../types.js";
3
+ type CallIconSet = {
4
+ audio?: ReactNode;
5
+ video?: ReactNode;
6
+ mute?: ReactNode;
7
+ unmute?: ReactNode;
8
+ videoOn?: ReactNode;
9
+ videoOff?: ReactNode;
10
+ accept?: ReactNode;
11
+ decline?: ReactNode;
12
+ hangup?: ReactNode;
13
+ };
14
+ export interface StreamyyCallWidgetProps {
15
+ defaultReceiverId?: string;
16
+ defaultCallType?: "audio" | "video";
17
+ title?: string;
18
+ subtitle?: string;
19
+ ringtones?: StreamyyRingtoneSet;
20
+ renderIncomingCall?: StreamyyIncomingCallRenderer;
21
+ renderCallInterface?: StreamyyCallInterfaceRenderer;
22
+ resolveAvatarSrc?: (call: StreamyyActiveCall, role: "caller" | "receiver" | "remote") => string | undefined;
23
+ icons?: CallIconSet;
24
+ }
25
+ export declare const StreamyyCallWidget: ({ defaultReceiverId, defaultCallType, title, subtitle, ringtones, renderIncomingCall, renderCallInterface, resolveAvatarSrc, icons, }: StreamyyCallWidgetProps) => any;
26
+ export {};
27
+ //# sourceMappingURL=StreamyyCallWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StreamyyCallWidget.d.ts","sourceRoot":"","sources":["../../src/components/StreamyyCallWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM7E,OAAO,KAAK,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,kBAAkB,CAAC,EAAE,4BAA4B,CAAC;IAClD,mBAAmB,CAAC,EAAE,6BAA6B,CAAC;IACpD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5G,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAgKD,eAAO,MAAM,kBAAkB,GAAI,uIAUhC,uBAAuB,QAwazB,CAAC"}