@tellescope/video-chat 0.0.11

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.
@@ -0,0 +1,69 @@
1
+ import React, { CSSProperties } from "react";
2
+ import { Styled } from "@tellescope/react-components/lib/esm/mui";
3
+ import { ChatRoom, ChatMessage } from "@tellescope/types-client";
4
+ import { LoadedData, SessionType } from "@tellescope/types-utilities";
5
+ import { Session, EnduserSession } from "@tellescope/sdk";
6
+ export interface MessagesHeaderProps {
7
+ room?: ChatRoom;
8
+ resolveSenderName?: (room: ChatRoom) => React.ReactNode;
9
+ style?: CSSProperties;
10
+ }
11
+ interface Messages_T {
12
+ resolveSenderName?: (room: ChatRoom) => React.ReactNode;
13
+ messages: LoadedData<ChatMessage[]>;
14
+ chatUserId: string;
15
+ Header?: React.JSXElementConstructor<MessagesHeaderProps>;
16
+ headerProps?: MessagesHeaderProps;
17
+ receivedMessageStyle?: CSSProperties;
18
+ receivedMessageTextStyle?: CSSProperties;
19
+ sentMessageStyle?: CSSProperties;
20
+ sentMessageTextStyle?: CSSProperties;
21
+ }
22
+ export declare const Messages: ({ resolveSenderName, messages, chatUserId, Header, headerProps, style, receivedMessageStyle, receivedMessageTextStyle, sentMessageStyle, sentMessageTextStyle, }: Messages_T & Styled) => JSX.Element;
23
+ export interface ConversationPreviewProps {
24
+ onClick?: (roomId: string) => void;
25
+ room: ChatRoom;
26
+ selected?: boolean;
27
+ resolveSenderName?: (room: ChatRoom) => React.ReactNode;
28
+ style?: CSSProperties;
29
+ selectedStyle?: CSSProperties;
30
+ }
31
+ interface SidebarInfo {
32
+ selectedRoom?: string;
33
+ onRoomSelect: (roomId: string) => void;
34
+ style?: CSSProperties;
35
+ selectedItemStyle?: CSSProperties;
36
+ itemStyle?: CSSProperties;
37
+ nameStyle?: CSSProperties;
38
+ PreviewComponent?: React.JSXElementConstructor<ConversationPreviewProps>;
39
+ previewStyle?: CSSProperties;
40
+ }
41
+ interface ConversationsProps extends SidebarInfo {
42
+ resolveSenderName: (r: ChatRoom) => string;
43
+ rooms: LoadedData<ChatRoom[]>;
44
+ }
45
+ export declare const Conversations: ({ rooms, selectedRoom, onRoomSelect, resolveSenderName, PreviewComponent, style, selectedItemStyle, itemStyle }: ConversationsProps) => JSX.Element;
46
+ export declare const EndusersConversations: ({ enduserId, ...p }: SidebarInfo & {
47
+ enduserId: string;
48
+ }) => JSX.Element;
49
+ export declare const UsersConversations: ({ userId, ...p }: SidebarInfo & {
50
+ userId: string;
51
+ }) => JSX.Element;
52
+ interface SendMessage_T {
53
+ session: Session | EnduserSession;
54
+ roomId: string;
55
+ onNewMessage: (m: ChatMessage) => void;
56
+ placeholderText?: string;
57
+ Icon?: React.ElementType<any>;
58
+ style?: CSSProperties;
59
+ }
60
+ export declare const SendMessage: ({ session, roomId, Icon, onNewMessage, placeholderText, style, }: SendMessage_T) => JSX.Element;
61
+ interface SplitChat_T {
62
+ session: EnduserSession | Session;
63
+ type: SessionType;
64
+ }
65
+ export declare const SplitChat: ({ session, type, style }: SplitChat_T & Styled) => JSX.Element;
66
+ export declare const UserChatSplit: ({ style }: Styled) => JSX.Element;
67
+ export declare const EnduserChatSplit: ({ style }: Styled) => JSX.Element;
68
+ export {};
69
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/chat.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
24
+ import { useCallback, useState } from "react";
25
+ import { List, Flex, } from "@tellescope/react-components/lib/esm/layout";
26
+ import { AsyncIconButton, } from "@tellescope/react-components/lib/esm/controls";
27
+ import { SendIcon, Typography, TextField, } from "@tellescope/react-components/lib/esm/mui";
28
+ import { LoadingLinear, Resolver, } from "@tellescope/react-components/lib/esm/loading";
29
+ import { useSession, useEnduserSession, } from "@tellescope/react-components/lib/esm/authentication";
30
+ import { useChatRooms, useChats, } from "@tellescope/react-components/lib/esm/state";
31
+ import { useEndusers, } from "@tellescope/react-components/lib/esm/user_state";
32
+ import { useUserDisplayNames, } from "@tellescope/react-components/lib/esm/enduser_state";
33
+ import { LoadingStatus, } from "@tellescope/types-utilities";
34
+ import { user_display_name, } from "@tellescope/utilities";
35
+ import { PRIMARY_HEX, } from "@tellescope/constants";
36
+ var defaultMessagesStyle = {
37
+ borderRadius: 5,
38
+ };
39
+ var baseMessageStyle = {
40
+ borderRadius: 25,
41
+ paddingRight: 10,
42
+ paddingLeft: 10,
43
+ margin: 5,
44
+ maxWidth: '80%',
45
+ };
46
+ var defaultSentStyle = __assign(__assign({}, baseMessageStyle), { justifyContent: 'flex-end', marginLeft: 'auto', backgroundColor: PRIMARY_HEX });
47
+ var defaultReceivedStyle = __assign(__assign({}, baseMessageStyle), { justifyContent: 'flex-start', marginRight: 'auto', backgroundColor: "#444444" });
48
+ var baseTextStyle = {
49
+ color: "#ffffff",
50
+ padding: 4,
51
+ };
52
+ var defaultTextSentStyle = __assign(__assign({}, baseTextStyle), { textAlign: 'right' });
53
+ var defaultTextReceivedStyle = __assign(__assign({}, baseTextStyle), { textAlign: 'left' });
54
+ var MessagesHeader = function (_a) {
55
+ var room = _a.room, resolveSenderName = _a.resolveSenderName, p = __rest(_a, ["room", "resolveSenderName"]);
56
+ return (_jsx(Flex, { children: _jsx(Typography, { children: room && (resolveSenderName === null || resolveSenderName === void 0 ? void 0 : resolveSenderName(room)) }, void 0) }, void 0));
57
+ };
58
+ export var Messages = function (_a) {
59
+ var resolveSenderName = _a.resolveSenderName, messages = _a.messages, chatUserId = _a.chatUserId, _b = _a.Header, Header = _b === void 0 ? MessagesHeader : _b, headerProps = _a.headerProps, _c = _a.style, style = _c === void 0 ? defaultMessagesStyle : _c, _d = _a.receivedMessageStyle, receivedMessageStyle = _d === void 0 ? defaultReceivedStyle : _d, _e = _a.receivedMessageTextStyle, receivedMessageTextStyle = _e === void 0 ? defaultTextReceivedStyle : _e, _f = _a.sentMessageStyle, sentMessageStyle = _f === void 0 ? defaultSentStyle : _f, _g = _a.sentMessageTextStyle, sentMessageTextStyle = _g === void 0 ? defaultTextSentStyle : _g;
60
+ return (_jsx(LoadingLinear, { data: messages, render: function (messages) { return (_jsxs(Flex, __assign({ column: true, flex: 1 }, { children: [Header && _jsx(Header, __assign({}, headerProps), void 0), _jsx(List, { reverse: true, style: style, items: messages, render: function (message) { return (_jsx(Flex, __assign({ style: message.senderId === chatUserId ? sentMessageStyle : receivedMessageStyle }, { children: _jsx(Typography, __assign({ style: message.senderId === chatUserId ? sentMessageTextStyle : receivedMessageTextStyle }, { children: message.message }), void 0) }), message.id)); } }, void 0)] }), void 0)); } }, void 0));
61
+ };
62
+ var defaultSidebarStyle = {
63
+ borderRadius: 5,
64
+ overflowY: 'auto',
65
+ };
66
+ var defaultSidebarItemStyle = {
67
+ color: "#ffffff",
68
+ borderRadius: 5,
69
+ cursor: 'pointer',
70
+ maxHeight: 60,
71
+ justifyContent: 'center',
72
+ };
73
+ var defaultSidebarItemStyleSelected = __assign(__assign({}, defaultSidebarItemStyle), { backgroundColor: PRIMARY_HEX, cursor: "default" });
74
+ var defaultMessageNameStyle = {
75
+ textAlign: 'right',
76
+ };
77
+ var defaultMessagePreviewStyle = {
78
+ textAlign: 'right',
79
+ };
80
+ var ConversationPreview = function (_a) {
81
+ var _b;
82
+ var onClick = _a.onClick, selected = _a.selected, room = _a.room, resolveSenderName = _a.resolveSenderName, style = _a.style, selectedStyle = _a.selectedStyle;
83
+ return (_jsxs(Flex, __assign({ flex: 1, column: true, onClick: function () { return !selected && (onClick === null || onClick === void 0 ? void 0 : onClick(room.id)); }, style: selected ? (selectedStyle !== null && selectedStyle !== void 0 ? selectedStyle : defaultSidebarItemStyleSelected) : (style !== null && style !== void 0 ? style : defaultSidebarItemStyle) }, { children: [_jsx(Typography, __assign({ style: defaultMessageNameStyle }, { children: _jsx(Resolver, { item: room, resolver: resolveSenderName !== null && resolveSenderName !== void 0 ? resolveSenderName : (function () { return room.id; }) }, void 0) }), void 0), _jsx(Typography, __assign({ style: defaultMessagePreviewStyle }, { children: (_b = room.recentMessage) !== null && _b !== void 0 ? _b : room.title }), void 0)] }), void 0));
84
+ };
85
+ export var Conversations = function (_a) {
86
+ var rooms = _a.rooms, selectedRoom = _a.selectedRoom, onRoomSelect = _a.onRoomSelect, resolveSenderName = _a.resolveSenderName, _b = _a.PreviewComponent, PreviewComponent = _b === void 0 ? ConversationPreview : _b, style = _a.style, selectedItemStyle = _a.selectedItemStyle, itemStyle = _a.itemStyle;
87
+ return (_jsx(LoadingLinear, { data: rooms, render: function (rooms) {
88
+ return _jsx(List, { style: style !== null && style !== void 0 ? style : defaultSidebarStyle, items: rooms, onClick: onRoomSelect, render: function (room, _a) {
89
+ var onClick = _a.onClick, index = _a.index;
90
+ return _jsx(PreviewComponent, { room: room, onClick: onClick, selected: selectedRoom === room.id, resolveSenderName: resolveSenderName !== null && resolveSenderName !== void 0 ? resolveSenderName : (function () { return room.id; }), selectedStyle: selectedItemStyle, style: itemStyle }, room.id);
91
+ } }, void 0);
92
+ } }, void 0));
93
+ };
94
+ export var EndusersConversations = function (_a) {
95
+ var enduserId = _a.enduserId, p = __rest(_a, ["enduserId"]);
96
+ var rooms = useChatRooms('enduser')[0];
97
+ var displayNames = useUserDisplayNames()[0];
98
+ var resolveChatName = useCallback(function (r) {
99
+ if (r.title)
100
+ return r.title;
101
+ if (displayNames.status === LoadingStatus.Loaded) {
102
+ var user = displayNames.value.find(function (u) { var _a; return u.id === ((_a = r.userIds) === null || _a === void 0 ? void 0 : _a[0]); });
103
+ if (user)
104
+ return user_display_name(user);
105
+ }
106
+ return '';
107
+ }, [displayNames]);
108
+ return _jsx(Conversations, __assign({}, p, { rooms: rooms, resolveSenderName: resolveChatName }), void 0);
109
+ };
110
+ export var UsersConversations = function (_a) {
111
+ var userId = _a.userId, p = __rest(_a, ["userId"]);
112
+ var rooms = useChatRooms('user')[0];
113
+ var endusers = useEndusers()[0];
114
+ var resolveChatName = useCallback(function (r) {
115
+ if (r.title)
116
+ return r.title;
117
+ if (endusers.status === LoadingStatus.Loaded) {
118
+ var enduser = endusers.value.find(function (e) { var _a; return e.id === ((_a = r.enduserIds) === null || _a === void 0 ? void 0 : _a[0]); });
119
+ if (enduser)
120
+ return user_display_name(enduser);
121
+ }
122
+ return '';
123
+ }, [endusers]);
124
+ return _jsx(Conversations, __assign({}, p, { rooms: rooms, resolveSenderName: resolveChatName }), void 0);
125
+ };
126
+ export var SendMessage = function (_a) {
127
+ var session = _a.session, roomId = _a.roomId, _b = _a.Icon, Icon = _b === void 0 ? SendIcon : _b, onNewMessage = _a.onNewMessage, _c = _a.placeholderText, placeholderText = _c === void 0 ? "Enter a message" : _c, _d = _a.style, style = _d === void 0 ? {} : _d;
128
+ var _e = useState(''), message = _e[0], setMessage = _e[1];
129
+ var _f = useState(false), sending = _f[0], setSending = _f[1];
130
+ return (_jsxs(Flex, __assign({ row: true, flex: 1, alignContent: "center", style: style }, { children: [_jsx(Flex, __assign({ column: true, flex: 1 }, { children: _jsx(TextField, { variant: "outlined", value: message, onChange: setMessage, disabled: sending, "aria-label": "Enter a message", placeholder: placeholderText }, void 0) }), void 0), _jsx(Flex, __assign({ column: true, alignSelf: "center" }, { children: _jsx(AsyncIconButton, { label: "send", Icon: Icon, disabled: message === '', action: function () { return session.api.chats.createOne({ message: message, roomId: roomId }); }, onSuccess: function (m) {
131
+ setMessage('');
132
+ onNewMessage(m);
133
+ }, onChange: setSending }, void 0) }), void 0)] }), void 0));
134
+ };
135
+ var defaultSplitChatStyle = {};
136
+ export var SplitChat = function (_a) {
137
+ var session = _a.session, type = _a.type, _b = _a.style, style = _b === void 0 ? defaultSplitChatStyle : _b;
138
+ var _c = useChatRooms(type), updateRoom = _c[1].updateElement;
139
+ var _d = useState(''), selectedRoom = _d[0], setSelectedRoom = _d[1];
140
+ var _e = useChats(selectedRoom, type), messages = _e[0], addMessage = _e[1].addElementForKey;
141
+ return (_jsxs(Flex, __assign({ row: true, style: style, flex: 1 }, { children: [_jsx(Flex, __assign({ column: true, flex: 1 }, { children: type === 'user'
142
+ ? _jsx(UsersConversations, { userId: session.userInfo.id, selectedRoom: selectedRoom, onRoomSelect: setSelectedRoom }, void 0)
143
+ : _jsx(EndusersConversations, { selectedRoom: selectedRoom, enduserId: session.userInfo.id, onRoomSelect: setSelectedRoom }, void 0) }), void 0), _jsx(Flex, __assign({ column: true, flex: 2, style: { borderRadius: 5 } }, { children: selectedRoom &&
144
+ _jsxs(_Fragment, { children: [_jsx(Flex, __assign({ row: true, flex: 8 }, { children: _jsx(Messages, { messages: messages, chatUserId: session.userInfo.id, headerProps: {} }, void 0) }), void 0), _jsx(Flex, __assign({ row: true, flex: 1, style: { marginLeft: 10, marginRight: 10 } }, { children: _jsx(SendMessage, { session: session, roomId: selectedRoom, onNewMessage: function (m) {
145
+ var _a;
146
+ addMessage(selectedRoom, m);
147
+ updateRoom(selectedRoom, { recentMessage: m.message, recentSender: (_a = m.senderId) !== null && _a !== void 0 ? _a : '' });
148
+ } }, void 0) }), void 0)] }, void 0) }), void 0)] }), void 0));
149
+ };
150
+ export var UserChatSplit = function (_a) {
151
+ var _b = _a.style, style = _b === void 0 ? defaultSplitChatStyle : _b;
152
+ var session = useSession();
153
+ return (_jsx(SplitChat, { session: session, type: "user", style: style }, void 0));
154
+ };
155
+ export var EnduserChatSplit = function (_a) {
156
+ var _b = _a.style, style = _b === void 0 ? defaultSplitChatStyle : _b;
157
+ var session = useEnduserSession();
158
+ return (_jsx(SplitChat, { session: session, type: "enduser", style: style }, void 0));
159
+ };
160
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./video";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./video";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./video";
2
+ //# sourceMappingURL=index.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./video";
2
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
@@ -0,0 +1,35 @@
1
+ import React from "react";
2
+ import { UserIdentity } from "@tellescope/types-utilities";
3
+ import { AttendeeInfo, MeetingInfo } from '@tellescope/types-models';
4
+ import { lightTheme, VideoTileGrid } from 'amazon-chime-sdk-component-library-react';
5
+ export declare const CurrentCallContext: React.Context<{
6
+ meeting: MeetingInfo | undefined;
7
+ setMeeting: (m: MeetingInfo | undefined) => void;
8
+ }>;
9
+ interface VideoProps {
10
+ children?: React.ReactNode;
11
+ theme?: typeof lightTheme;
12
+ }
13
+ export declare const WithVideo: ({ children, theme }: VideoProps) => JSX.Element;
14
+ export declare const useStartVideoCall: () => {
15
+ starting: boolean;
16
+ ending: boolean;
17
+ meeting: MeetingInfo | undefined;
18
+ videoIsEnabled: boolean;
19
+ toggleVideo: () => Promise<void>;
20
+ createAndStartMeeting: (initialAttendees?: UserIdentity[] | undefined) => Promise<void>;
21
+ addAttendees: (attendees: UserIdentity[]) => Promise<void>;
22
+ endMeeting: () => Promise<void>;
23
+ };
24
+ export declare const useJoinVideoCall: () => {
25
+ meeting: MeetingInfo | undefined;
26
+ videoIsEnabled: boolean;
27
+ toggleVideo: () => Promise<void>;
28
+ joinMeeting: (meetingInfo: {
29
+ Meeting: MeetingInfo;
30
+ }, attendeeInfo: {
31
+ Attendee: AttendeeInfo;
32
+ }) => Promise<void>;
33
+ };
34
+ export { VideoTileGrid };
35
+ //# sourceMappingURL=video.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAA;AAMnE,OAAO,EACL,YAAY,EACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,YAAY,EACZ,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAYjC,OAAO,EAEL,UAAU,EAGV,aAAa,EAUd,MAAM,0CAA0C,CAAC;AAGlD,eAAO,MAAM,kBAAkB;aACpB,WAAW,GAAG,SAAS;oBAAkB,WAAW,GAAG,SAAS,KAAK,IAAI;EAClF,CAAA;AACF,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC;CAC3B;AACD,eAAO,MAAM,SAAS,wBAAoC,UAAU,gBAYnE,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;8BA+BuB,YAAY,EAAE;;CAkBlE,CAAA;AAED,eAAO,MAAM,gBAAgB;;;;+BAKa;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,gBAAgB;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE;CAO3G,CAAA;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -0,0 +1,173 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { jsx as _jsx } from "react/jsx-runtime";
49
+ import React, { useCallback, useState } from "react";
50
+ import { useSession, } from "@tellescope/react-components/lib/esm/authentication";
51
+ import { ThemeProvider } from 'styled-components';
52
+ import { MeetingProvider, lightTheme,
53
+ // LocalVideo,
54
+ VideoTileGrid,
55
+ // VideoGrid,
56
+ // VideoTile,
57
+ // PreviewVideo,
58
+ // RemoteVideo,
59
+ useLocalVideo, useMeetingManager,
60
+ // useRosterState,
61
+ // useRemoteVideoTileState,
62
+ // useContentShareControls, // screen sharing
63
+ } from 'amazon-chime-sdk-component-library-react';
64
+ export var CurrentCallContext = React.createContext({});
65
+ export var WithVideo = function (_a) {
66
+ var children = _a.children, _b = _a.theme, theme = _b === void 0 ? lightTheme : _b;
67
+ var _c = useState(undefined), meeting = _c[0], setMeeting = _c[1];
68
+ return (_jsx(CurrentCallContext.Provider, __assign({ value: { meeting: meeting, setMeeting: setMeeting } }, { children: _jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(MeetingProvider, { children: children }, void 0) }), void 0) }), void 0));
69
+ };
70
+ export var useStartVideoCall = function () {
71
+ var _a = useState(false), starting = _a[0], setStarting = _a[1];
72
+ var _b = useState(false), ending = _b[0], setEnding = _b[1];
73
+ var _c = React.useContext(CurrentCallContext), meeting = _c.meeting, setMeeting = _c.setMeeting;
74
+ var session = useSession();
75
+ var meetingManager = useMeetingManager();
76
+ var _d = useLocalVideo(), toggleVideo = _d.toggleVideo, isVideoEnabled = _d.isVideoEnabled;
77
+ var createAndStartMeeting = function (initialAttendees) { return __awaiter(void 0, void 0, void 0, function () {
78
+ var _a, meeting_1, host, err_1;
79
+ return __generator(this, function (_b) {
80
+ switch (_b.label) {
81
+ case 0:
82
+ setStarting(false);
83
+ _b.label = 1;
84
+ case 1:
85
+ _b.trys.push([1, 5, 6, 7]);
86
+ return [4 /*yield*/, session.api.meetings.start_meeting()];
87
+ case 2:
88
+ _a = _b.sent(), meeting_1 = _a.meeting, host = _a.host;
89
+ return [4 /*yield*/, meetingManager.join({ meetingInfo: meeting_1, attendeeInfo: host })];
90
+ case 3:
91
+ _b.sent(); // Use the join API to create a meeting session
92
+ return [4 /*yield*/, meetingManager.start()];
93
+ case 4:
94
+ _b.sent(); // At this point you can let users setup their devices, or start the session immediately
95
+ if (initialAttendees) {
96
+ session.api.meetings.add_attendees_to_meeting({ id: meeting_1.Meeting.ExternalMeetingId, attendees: initialAttendees });
97
+ }
98
+ setMeeting(meeting_1.Meeting);
99
+ return [3 /*break*/, 7];
100
+ case 5:
101
+ err_1 = _b.sent();
102
+ console.error(err_1);
103
+ return [3 /*break*/, 7];
104
+ case 6:
105
+ setStarting(false);
106
+ return [7 /*endfinally*/];
107
+ case 7: return [2 /*return*/];
108
+ }
109
+ });
110
+ }); };
111
+ var addAttendees = useCallback(function (attendees) { return __awaiter(void 0, void 0, void 0, function () {
112
+ return __generator(this, function (_a) {
113
+ switch (_a.label) {
114
+ case 0:
115
+ if (!meeting)
116
+ return [2 /*return*/];
117
+ return [4 /*yield*/, session.api.meetings.add_attendees_to_meeting({ id: meeting === null || meeting === void 0 ? void 0 : meeting.ExternalMeetingId, attendees: attendees })];
118
+ case 1:
119
+ _a.sent();
120
+ return [2 /*return*/];
121
+ }
122
+ });
123
+ }); }, [session, meeting]);
124
+ var endMeeting = function () { return __awaiter(void 0, void 0, void 0, function () {
125
+ var err_2;
126
+ return __generator(this, function (_a) {
127
+ switch (_a.label) {
128
+ case 0:
129
+ if (!meeting)
130
+ return [2 /*return*/];
131
+ setEnding(true);
132
+ _a.label = 1;
133
+ case 1:
134
+ _a.trys.push([1, 3, , 4]);
135
+ return [4 /*yield*/, session.api.meetings.end_meeting({ id: meeting.ExternalMeetingId })];
136
+ case 2:
137
+ _a.sent();
138
+ return [3 /*break*/, 4];
139
+ case 3:
140
+ err_2 = _a.sent();
141
+ console.error(err_2);
142
+ return [3 /*break*/, 4];
143
+ case 4:
144
+ setEnding(false);
145
+ setMeeting(undefined);
146
+ return [2 /*return*/];
147
+ }
148
+ });
149
+ }); };
150
+ return { starting: starting, ending: ending, meeting: meeting, videoIsEnabled: isVideoEnabled, toggleVideo: toggleVideo, createAndStartMeeting: createAndStartMeeting, addAttendees: addAttendees, endMeeting: endMeeting };
151
+ };
152
+ export var useJoinVideoCall = function () {
153
+ var meetingManager = useMeetingManager();
154
+ var _a = useLocalVideo(), toggleVideo = _a.toggleVideo, isVideoEnabled = _a.isVideoEnabled;
155
+ var _b = React.useContext(CurrentCallContext), meeting = _b.meeting, setMeeting = _b.setMeeting;
156
+ var joinMeeting = function (meetingInfo, attendeeInfo) { return __awaiter(void 0, void 0, void 0, function () {
157
+ return __generator(this, function (_a) {
158
+ switch (_a.label) {
159
+ case 0: return [4 /*yield*/, meetingManager.join({ meetingInfo: meetingInfo, attendeeInfo: attendeeInfo })];
160
+ case 1:
161
+ _a.sent(); // Use the join API to create a meeting session
162
+ return [4 /*yield*/, meetingManager.start()];
163
+ case 2:
164
+ _a.sent(); // At this point you can let users setup their devices, or start the session immediately
165
+ setMeeting(meetingInfo.Meeting);
166
+ return [2 /*return*/];
167
+ }
168
+ });
169
+ }); };
170
+ return { meeting: meeting, videoIsEnabled: isVideoEnabled, toggleVideo: toggleVideo, joinMeeting: joinMeeting };
171
+ };
172
+ export { VideoTileGrid };
173
+ //# sourceMappingURL=video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.tsx"],"names":[],"mappings":"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"}