@videosdk.live/react-sdk 0.1.8 → 0.1.12

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.js CHANGED
@@ -24,7 +24,8 @@ var events = {
24
24
  'video-state-changed': eventPrifix + "-video-state-changed",
25
25
  'video-seeked': eventPrifix + "-video-seeked",
26
26
  'webcam-requested': eventPrifix + "-webcam-requested",
27
- 'mic-requested': eventPrifix + "-mic-requested"
27
+ 'mic-requested': eventPrifix + "-mic-requested",
28
+ 'pin-state-changed': eventPrifix + "-pin-state-changed"
28
29
  };
29
30
  var eventEmitter = new EventEmitter();
30
31
  eventEmitter.setMaxListeners(9999);
@@ -67,7 +68,9 @@ var useMeeting = function useMeeting(_temp) {
67
68
  _ref$onWebcamRequeste = _ref.onWebcamRequested,
68
69
  onWebcamRequested = _ref$onWebcamRequeste === void 0 ? function () {} : _ref$onWebcamRequeste,
69
70
  _ref$onMicRequested = _ref.onMicRequested,
70
- onMicRequested = _ref$onMicRequested === void 0 ? function () {} : _ref$onMicRequested;
71
+ onMicRequested = _ref$onMicRequested === void 0 ? function () {} : _ref$onMicRequested,
72
+ _ref$onPinStateChange = _ref.onPinStateChanged,
73
+ onPinStateChanged = _ref$onPinStateChange === void 0 ? function () {} : _ref$onPinStateChange;
71
74
 
72
75
  React.useEffect(function () {
73
76
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
@@ -88,6 +91,7 @@ var useMeeting = function useMeeting(_temp) {
88
91
  eventEmitter.on(events['video-seeked'], onVideoSeeked);
89
92
  eventEmitter.on(events['webcam-requested'], onWebcamRequested);
90
93
  eventEmitter.on(events['mic-requested'], onMicRequested);
94
+ eventEmitter.on(events['pin-state-changed'], onPinStateChanged);
91
95
  return function () {
92
96
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
93
97
  eventEmitter.off(events['participant-left'], onParticipantLeft);
@@ -107,6 +111,7 @@ var useMeeting = function useMeeting(_temp) {
107
111
  eventEmitter.off(events['video-seeked'], onVideoSeeked);
108
112
  eventEmitter.off(events['webcam-requested'], onWebcamRequested);
109
113
  eventEmitter.off(events['mic-requested'], onMicRequested);
114
+ eventEmitter.off(events['pin-state-changed'], onPinStateChanged);
110
115
  };
111
116
  }, []);
112
117
  return React.useContext(MeetingProviderContex);
@@ -148,7 +153,9 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
148
153
  _ref2$onWebcamRequest = _ref2.onWebcamRequested,
149
154
  onWebcamRequested = _ref2$onWebcamRequest === void 0 ? function () {} : _ref2$onWebcamRequest,
150
155
  _ref2$onMicRequested = _ref2.onMicRequested,
151
- onMicRequested = _ref2$onMicRequested === void 0 ? function () {} : _ref2$onMicRequested;
156
+ onMicRequested = _ref2$onMicRequested === void 0 ? function () {} : _ref2$onMicRequested,
157
+ _ref2$onPinStateChang = _ref2.onPinStateChanged,
158
+ onPinStateChanged = _ref2$onPinStateChang === void 0 ? function () {} : _ref2$onPinStateChang;
152
159
  React.useEffect(function () {
153
160
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
154
161
  eventEmitter.on(events['participant-left'], onParticipantLeft);
@@ -168,6 +175,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
168
175
  eventEmitter.on(events['video-seeked'], onVideoSeeked);
169
176
  eventEmitter.on(events['webcam-requested'], onWebcamRequested);
170
177
  eventEmitter.on(events['mic-requested'], onMicRequested);
178
+ eventEmitter.on(events['pin-state-changed'], onPinStateChanged);
171
179
  return function () {
172
180
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
173
181
  eventEmitter.off(events['participant-left'], onParticipantLeft);
@@ -187,6 +195,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
187
195
  eventEmitter.off(events['video-seeked'], onVideoSeeked);
188
196
  eventEmitter.off(events['webcam-requested'], onWebcamRequested);
189
197
  eventEmitter.off(events['mic-requested'], onMicRequested);
198
+ eventEmitter.off(events['pin-state-changed'], onPinStateChanged);
190
199
  };
191
200
  }, []);
192
201
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(MeetingProviderContex.Consumer, null, children));
@@ -214,37 +223,41 @@ var MeetingProvider = function MeetingProvider(_ref) {
214
223
  activeSpeakerId = _useState4[0],
215
224
  setActiveSpeakerId = _useState4[1];
216
225
 
217
- var _useState5 = React.useState(new Map()),
218
- participants = _useState5[0],
219
- setParticipants = _useState5[1];
226
+ var _useState5 = React.useState(null),
227
+ presenterId = _useState5[0],
228
+ setPresenterId = _useState5[1];
220
229
 
221
- var _useState6 = React.useState(null),
222
- presenterId = _useState6[0],
223
- setPresenterId = _useState6[1];
230
+ var _useState6 = React.useState(false),
231
+ localMicOn = _useState6[0],
232
+ setLocalMicOn = _useState6[1];
224
233
 
225
234
  var _useState7 = React.useState(false),
226
- localMicOn = _useState7[0],
227
- setLocalMicOn = _useState7[1];
235
+ localWebcamOn = _useState7[0],
236
+ setLocalWebcamOn = _useState7[1];
228
237
 
229
238
  var _useState8 = React.useState(false),
230
- localWebcamOn = _useState8[0],
231
- setLocalWebcamOn = _useState8[1];
239
+ localScreenShareOn = _useState8[0],
240
+ setLocalScreenShareOn = _useState8[1];
232
241
 
233
242
  var _useState9 = React.useState(false),
234
- localScreenShareOn = _useState9[0],
235
- setLocalScreenShareOn = _useState9[1];
243
+ isRecording = _useState9[0],
244
+ setIsRecording = _useState9[1];
236
245
 
237
- var _useState10 = React.useState(false),
238
- isRecording = _useState10[0],
239
- setIsRecording = _useState10[1];
246
+ var _useState10 = React.useState([]),
247
+ messages = _useState10[0],
248
+ setMessages = _useState10[1];
240
249
 
241
- var _useState11 = React.useState([]),
242
- messages = _useState11[0],
243
- setMessages = _useState11[1];
250
+ var _useState11 = React.useState(new Map()),
251
+ participants = _useState11[0],
252
+ setParticipants = _useState11[1];
244
253
 
245
- var _useState12 = React.useState(false),
246
- isLiveStreaming = _useState12[0],
247
- setIsLiveStreaming = _useState12[1];
254
+ var _useState12 = React.useState(new Map()),
255
+ pinnedParticipants = _useState12[0],
256
+ setPinnedParticipants = _useState12[1];
257
+
258
+ var _useState13 = React.useState(false),
259
+ isLiveStreaming = _useState13[0],
260
+ setIsLiveStreaming = _useState13[1];
248
261
 
249
262
  var meetingRef = React.useRef();
250
263
  var localMicOnRef = React.useRef();
@@ -272,7 +285,6 @@ var MeetingProvider = function MeetingProvider(_ref) {
272
285
  setLocalParticipant(null);
273
286
  setMainParticipant(null);
274
287
  setActiveSpeakerId(null);
275
- setParticipants(new Map());
276
288
  setPresenterId(null);
277
289
  setLocalMicOn(false);
278
290
  setLocalWebcamOn(false);
@@ -280,6 +292,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
280
292
  setIsRecording(false);
281
293
  setMessages([]);
282
294
  setIsLiveStreaming(false);
295
+ setParticipants(new Map());
296
+ setPinnedParticipants(new Map());
283
297
  };
284
298
 
285
299
  var _handle_participant_joined = function _handle_participant_joined(participant) {
@@ -390,6 +404,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
390
404
  };
391
405
 
392
406
  var _handle_meeting_joined = function _handle_meeting_joined(data) {
407
+ setMessages(function (s) {
408
+ return [].concat(s, data.messages);
409
+ });
393
410
  eventEmitter.emit(events['meeting-joined'], data);
394
411
  };
395
412
 
@@ -430,6 +447,27 @@ var MeetingProvider = function MeetingProvider(_ref) {
430
447
  }
431
448
  };
432
449
 
450
+ var _handle_pin_state_changed = function _handle_pin_state_changed(_ref2) {
451
+ var participantId = _ref2.participantId,
452
+ state = _ref2.state,
453
+ pinnedBy = _ref2.pinnedBy;
454
+ setPinnedParticipants(function (pinnedParticipants) {
455
+ if (!state.cam && !state.share) {
456
+ pinnedParticipants["delete"](participantId);
457
+ } else {
458
+ pinnedParticipants.set(participantId, state);
459
+ }
460
+
461
+ var pinnedParticipantsToSet = new Map(pinnedParticipants);
462
+ return pinnedParticipantsToSet;
463
+ });
464
+ eventEmitter.emit(events['pin-state-changed'], {
465
+ participantId: participantId,
466
+ state: state,
467
+ pinnedBy: pinnedBy
468
+ });
469
+ };
470
+
433
471
  var join = function join() {
434
472
  var meeting = jsSdk.ZujoSDK && jsSdk.ZujoSDK.initMeeting(config);
435
473
  setMeeting(meeting);
@@ -456,6 +494,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
456
494
  meeting.on('video-seeked', _handle_video_seeked);
457
495
  meeting.on('webcam-requested', _handle_webcam_requested);
458
496
  meeting.on('mic-requested', _handle_mic_requested);
497
+ meeting.on('pin-state-changed', _handle_pin_state_changed);
459
498
  meeting.localParticipant.on('stream-enabled', _handle_localParticipant_stream_enabled);
460
499
  meeting.localParticipant.on('stream-disabled', _handle_localParticipant_stream_disabled);
461
500
  meeting.join();
@@ -477,11 +516,11 @@ var MeetingProvider = function MeetingProvider(_ref) {
477
516
  }
478
517
  };
479
518
 
480
- var startRecording = function startRecording(webhookUrl) {
519
+ var startRecording = function startRecording(webhookUrl, awsDirPath) {
481
520
  var meeting = meetingRef.current;
482
521
 
483
522
  if (meeting) {
484
- meeting.startRecording(webhookUrl);
523
+ meeting.startRecording(webhookUrl, awsDirPath);
485
524
  }
486
525
  };
487
526
 
@@ -633,8 +672,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
633
672
  }
634
673
  };
635
674
 
636
- var startVideo = function startVideo(_ref2) {
637
- var link = _ref2.link;
675
+ var startVideo = function startVideo(_ref3) {
676
+ var link = _ref3.link;
638
677
  var meeting = meetingRef.current;
639
678
 
640
679
  if (meeting) {
@@ -660,8 +699,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
660
699
  }
661
700
  };
662
701
 
663
- var pauseVideo = function pauseVideo(_ref3) {
664
- var currentTime = _ref3.currentTime;
702
+ var pauseVideo = function pauseVideo(_ref4) {
703
+ var currentTime = _ref4.currentTime;
665
704
  var meeting = meetingRef.current;
666
705
 
667
706
  if (meeting) {
@@ -671,8 +710,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
671
710
  }
672
711
  };
673
712
 
674
- var seekVideo = function seekVideo(_ref4) {
675
- var currentTime = _ref4.currentTime;
713
+ var seekVideo = function seekVideo(_ref5) {
714
+ var currentTime = _ref5.currentTime;
676
715
  var meeting = meetingRef.current;
677
716
 
678
717
  if (meeting) {
@@ -724,6 +763,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
724
763
  messages: messages,
725
764
  isRecording: isRecording,
726
765
  isLiveStreaming: isLiveStreaming,
766
+ pinnedParticipants: pinnedParticipants,
727
767
  join: join,
728
768
  leave: leave,
729
769
  end: end,
@@ -775,10 +815,32 @@ var useParticipant = function useParticipant(participantId, _temp) {
775
815
  setScreenShareStream = _useState3[1];
776
816
 
777
817
  var meeting = useMeeting();
778
- var participants = meeting === null || meeting === void 0 ? void 0 : meeting.participants;
779
- var localParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.localParticipant;
780
- var activeSpeakerId = meeting === null || meeting === void 0 ? void 0 : meeting.activeSpeakerId;
781
- var mainParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.mainParticipant;
818
+
819
+ var _useMemo = React.useMemo(function () {
820
+ var _meeting$pinnedPartic;
821
+
822
+ var participants = meeting === null || meeting === void 0 ? void 0 : meeting.participants;
823
+ var localParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.localParticipant;
824
+ var activeSpeakerId = meeting === null || meeting === void 0 ? void 0 : meeting.activeSpeakerId;
825
+ var mainParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.mainParticipant;
826
+ var pinState = (meeting === null || meeting === void 0 ? void 0 : (_meeting$pinnedPartic = meeting.pinnedParticipants) === null || _meeting$pinnedPartic === void 0 ? void 0 : _meeting$pinnedPartic.get(participantId)) || {
827
+ cam: false,
828
+ share: false
829
+ };
830
+ return {
831
+ participants: participants,
832
+ localParticipant: localParticipant,
833
+ activeSpeakerId: activeSpeakerId,
834
+ mainParticipant: mainParticipant,
835
+ pinState: pinState
836
+ };
837
+ }, [meeting]),
838
+ participants = _useMemo.participants,
839
+ localParticipant = _useMemo.localParticipant,
840
+ activeSpeakerId = _useMemo.activeSpeakerId,
841
+ mainParticipant = _useMemo.mainParticipant,
842
+ pinState = _useMemo.pinState;
843
+
782
844
  var participant = participants === null || participants === void 0 ? void 0 : participants.get(participantId);
783
845
 
784
846
  var setTrack = function setTrack(stream) {
@@ -847,6 +909,14 @@ var useParticipant = function useParticipant(participantId, _temp) {
847
909
  participant === null || participant === void 0 ? void 0 : participant.disableWebcam();
848
910
  };
849
911
 
912
+ var pin = function pin(data) {
913
+ participant === null || participant === void 0 ? void 0 : participant.pin(data);
914
+ };
915
+
916
+ var unpin = function unpin(data) {
917
+ participant === null || participant === void 0 ? void 0 : participant.unpin(data);
918
+ };
919
+
850
920
  React.useEffect(function () {
851
921
  var streams = participant === null || participant === void 0 ? void 0 : participant.streams;
852
922
 
@@ -875,11 +945,14 @@ var useParticipant = function useParticipant(participantId, _temp) {
875
945
  isLocal: (localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.id) === participantId,
876
946
  isActiveSpeaker: activeSpeakerId === participantId,
877
947
  isMainParticipant: (mainParticipant === null || mainParticipant === void 0 ? void 0 : mainParticipant.id) === participantId,
948
+ pinState: pinState,
878
949
  setQuality: setQuality,
879
950
  enableMic: enableMic,
880
951
  disableMic: disableMic,
881
952
  enableWebcam: enableWebcam,
882
- disableWebcam: disableWebcam
953
+ disableWebcam: disableWebcam,
954
+ pin: pin,
955
+ unpin: unpin
883
956
  };
884
957
  };
885
958
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'zn-meeting-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { ZujoSDK } from '@videosdk.live/js-sdk';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [participants, setParticipants] = useState(new Map());\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setParticipants(new Map());\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n eventEmitter.emit(events['meeting-joined'], data);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const join = () => {\n const meeting = ZujoSDK && ZujoSDK.initMeeting(config);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n // const leave = () => {\n // const meeting = meetingRef.current;\n\n // if (meeting) {\n // if (typeof meeting?.off === 'function') {\n // meeting.off('participant-joined', _handle_participant_joined);\n // meeting.off('participant-left', _handle_participant_left);\n // meeting.off('presenter-changed', _handle_presenter_changed);\n // meeting.off(\n // 'main-participant-changed',\n // _handle_main_participant_changed\n // );\n // meeting.off('speaker-changed', _handle_speaker_changed);\n // meeting.off('entry-requested', _handle_entry_requested);\n // meeting.off('entry-responded', _handle_entry_responded);\n // meeting.off('chat-message', _handle_chat_message);\n // meeting.off('recording-started', _handle_recording_started);\n // meeting.off('recording-stopped', _handle_recording_stopped);\n // meeting.off('meeting-joined', _handle_meeting_joined);\n // meeting.off('meeting-left', _handle_meeting_left);\n // meeting.off('livestream-started', _handle_live_stream_started);\n // meeting.off('livestream-stopped', _handle_live_stream_stopped);\n // meeting.off('video-state-changed', _handle_video_state_changed);\n // meeting.off('video-seeked', _handle_video_seeked);\n // meeting.off('webcam-requested', _handle_webcam_requested);\n // meeting.off('mic-requested', _handle_mic_requested);\n // }\n\n // if (typeof meeting?.localParticipant?.off === 'function') {\n // meeting.localParticipant.off(\n // 'stream-enabled',\n // _handle_localParticipant_stream_enabled\n // );\n\n // meeting.localParticipant.off(\n // 'stream-disabled',\n // _handle_localParticipant_stream_disabled\n // );\n // }\n\n // meeting.leave();\n\n // resetStates();\n // }\n // };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = webhookUrl => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic();\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = () => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic();\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam();\n }\n };\n const toggleWebcam = () => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam();\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare();\n }\n };\n const toggleScreenShare = () => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare();\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(deviceId);\n }\n };\n const changeMic = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(deviceId);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = streamInfo => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const initSDK = () => {\n ZujoSDK.config(token);\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: config.meetingId,\n meeting,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n\n //\n setQuality,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam\n };\n};\n\nexport default useParticipant;\n"],"names":["eventPrifix","events","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","useEffect","on","off","useContext","MeetingConsumer","children","React","MeetingProvider","config","token","joinWithoutUserInteraction","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","Map","participants","setParticipants","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","isLiveStreaming","setIsLiveStreaming","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","join","ZujoSDK","initMeeting","leave","end","startRecording","webhookUrl","stopRecording","unmuteMic","muteMic","toggleMic","disableWebcam","enableWebcam","toggleWebcam","disableScreenShare","enableScreenShare","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","deviceId","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","initSDK","meetingId","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","enableMic","disableMic","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant"],"mappings":";;;;;;;AAEA,IAAMA,WAAW,GAAG,sBAApB;AAEA,IAAMC,MAAM,GAAG;AACb,wBAAyBD,WAAzB,wBADa;AAEb,sBAAuBA,WAAvB,sBAFa;AAGb,qBAAsBA,WAAtB,qBAHa;AAIb,uBAAwBA,WAAxB,uBAJa;AAKb,8BAA+BA,WAA/B,8BALa;AAMb,qBAAsBA,WAAtB,qBANa;AAOb,qBAAsBA,WAAtB,qBAPa;AAQb,uBAAwBA,WAAxB,uBARa;AASb,uBAAwBA,WAAxB,uBATa;AAUb,kBAAmBA,WAAnB,kBAVa;AAWb,oBAAqBA,WAArB,oBAXa;AAYb,kBAAmBA,WAAnB,kBAZa;AAab,yBAA0BA,WAA1B,yBAba;AAcb,yBAA0BA,WAA1B,yBAda;AAeb,yBAA0BA,WAA1B,yBAfa;AAgBb,kBAAmBA,WAAnB,kBAhBa;AAiBb,sBAAuBA,WAAvB,sBAjBa;AAkBb,mBAAoBA,WAApB;AAlBa,CAAf;AAqBA,IAAME,YAAY,GAAG,IAAIC,YAAJ,EAArB;AACAD,YAAY,CAACE,eAAb,CAA6B,IAA7B;;ACvBO,IAAMC,qBAAqB,GAAGC,mBAAa,EAA3C;AAEP,IAAaC,UAAU,GAAG,SAAbA,UAAa,QAmBf;AAAA,gCAAP,EAAO;AAAA,mCAlBTC,mBAkBS;AAAA,MAlBTA,mBAkBS,sCAlBa,YAAM,EAkBnB;AAAA,mCAjBTC,iBAiBS;AAAA,MAjBTA,iBAiBS,sCAjBW,YAAM,EAiBjB;AAAA,mCAhBTC,gBAgBS;AAAA,MAhBTA,gBAgBS,sCAhBU,YAAM,EAgBhB;AAAA,mCAfTC,kBAeS;AAAA,MAfTA,kBAeS,sCAfY,YAAM,EAelB;AAAA,mCAdTC,wBAcS;AAAA,MAdTA,wBAcS,sCAdkB,YAAM,EAcxB;AAAA,mCAbTC,gBAaS;AAAA,MAbTA,gBAaS,sCAbU,YAAM,EAahB;AAAA,mCAZTC,gBAYS;AAAA,MAZTA,gBAYS,sCAZU,YAAM,EAYhB;AAAA,mCAXTC,kBAWS;AAAA,MAXTA,kBAWS,sCAXY,YAAM,EAWlB;AAAA,mCAVTC,kBAUS;AAAA,MAVTA,kBAUS,sCAVY,YAAM,EAUlB;AAAA,gCATTC,aASS;AAAA,MATTA,aASS,mCATO,YAAM,EASb;AAAA,kCARTC,eAQS;AAAA,MARTA,eAQS,qCARS,YAAM,EAQf;AAAA,gCAPTC,aAOS;AAAA,MAPTA,aAOS,mCAPO,YAAM,EAOb;AAAA,mCANTC,mBAMS;AAAA,MANTA,mBAMS,sCANa,YAAM,EAMnB;AAAA,mCALTC,mBAKS;AAAA,MALTA,mBAKS,sCALa,YAAM,EAKnB;AAAA,mCAJTC,mBAIS;AAAA,MAJTA,mBAIS,sCAJa,YAAM,EAInB;AAAA,gCAHTC,aAGS;AAAA,MAHTA,aAGS,mCAHO,YAAM,EAGb;AAAA,mCAFTC,iBAES;AAAA,MAFTA,iBAES,sCAFW,YAAM,EAEjB;AAAA,iCADTC,cACS;AAAA,MADTA,cACS,oCADQ,YAAM,EACd;;AACTC,EAAAA,eAAS,CAAC,YAAM;AACdxB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,oBAAD,CAAtB,EAA8CO,mBAA9C;AACAN,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,kBAAD,CAAtB,EAA4CQ,iBAA5C;AACAP,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,iBAAD,CAAtB,EAA2CS,gBAA3C;AACAR,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,mBAAD,CAAtB,EAA6CU,kBAA7C;AACAT,IAAAA,YAAY,CAACyB,EAAb,CACE1B,MAAM,CAAC,0BAAD,CADR,EAEEW,wBAFF;AAIAV,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,iBAAD,CAAtB,EAA2CY,gBAA3C;AACAX,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,iBAAD,CAAtB,EAA2Ca,gBAA3C;AACAZ,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,mBAAD,CAAtB,EAA6Cc,kBAA7C;AACAb,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,mBAAD,CAAtB,EAA6Ce,kBAA7C;AACAd,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,cAAD,CAAtB,EAAwCgB,aAAxC;AACAf,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,gBAAD,CAAtB,EAA0CiB,eAA1C;AACAhB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,cAAD,CAAtB,EAAwCkB,aAAxC;AACAjB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,qBAAD,CAAtB,EAA+CmB,mBAA/C;AACAlB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,qBAAD,CAAtB,EAA+CoB,mBAA/C;AACAnB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,qBAAD,CAAtB,EAA+CqB,mBAA/C;AACApB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,cAAD,CAAtB,EAAwCsB,aAAxC;AACArB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,kBAAD,CAAtB,EAA4CuB,iBAA5C;AACAtB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,eAAD,CAAtB,EAAyCwB,cAAzC;AAEA,WAAO,YAAM;AACXvB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,oBAAD,CAAvB,EAA+CO,mBAA/C;AACAN,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,kBAAD,CAAvB,EAA6CQ,iBAA7C;AACAP,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,iBAAD,CAAvB,EAA4CS,gBAA5C;AACAR,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,mBAAD,CAAvB,EAA8CU,kBAA9C;AACAT,MAAAA,YAAY,CAAC0B,GAAb,CACE3B,MAAM,CAAC,0BAAD,CADR,EAEEW,wBAFF;AAIAV,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,iBAAD,CAAvB,EAA4CY,gBAA5C;AACAX,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,iBAAD,CAAvB,EAA4Ca,gBAA5C;AACAZ,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,mBAAD,CAAvB,EAA8Cc,kBAA9C;AACAb,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,mBAAD,CAAvB,EAA8Ce,kBAA9C;AACAd,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,cAAD,CAAvB,EAAyCgB,aAAzC;AACAf,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,gBAAD,CAAvB,EAA2CiB,eAA3C;AACAhB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,cAAD,CAAvB,EAAyCkB,aAAzC;AACAjB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,qBAAD,CAAvB,EAAgDmB,mBAAhD;AACAlB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,qBAAD,CAAvB,EAAgDoB,mBAAhD;AACAnB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,qBAAD,CAAvB,EAAgDqB,mBAAhD;AACApB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,cAAD,CAAvB,EAAyCsB,aAAzC;AACArB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,kBAAD,CAAvB,EAA6CuB,iBAA7C;AACAtB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,eAAD,CAAvB,EAA0CwB,cAA1C;AACD,KAtBD;AAuBD,GA9CQ,EA8CN,EA9CM,CAAT;AA+CA,SAAOI,gBAAU,CAACxB,qBAAD,CAAjB;AACD,CApEM;AAsEP,IAAayB,eAAe,GAAG,SAAlBA,eAAkB,QAoBzB;AAAA,MAnBJC,QAmBI,SAnBJA,QAmBI;AAAA,oCAlBJvB,mBAkBI;AAAA,MAlBJA,mBAkBI,sCAlBkB,YAAM,EAkBxB;AAAA,oCAjBJC,iBAiBI;AAAA,MAjBJA,iBAiBI,sCAjBgB,YAAM,EAiBtB;AAAA,oCAhBJC,gBAgBI;AAAA,MAhBJA,gBAgBI,sCAhBe,YAAM,EAgBrB;AAAA,oCAfJC,kBAeI;AAAA,MAfJA,kBAeI,sCAfiB,YAAM,EAevB;AAAA,oCAdJC,wBAcI;AAAA,MAdJA,wBAcI,sCAduB,YAAM,EAc7B;AAAA,oCAbJC,gBAaI;AAAA,MAbJA,gBAaI,sCAbe,YAAM,EAarB;AAAA,oCAZJC,gBAYI;AAAA,MAZJA,gBAYI,sCAZe,YAAM,EAYrB;AAAA,oCAXJC,kBAWI;AAAA,MAXJA,kBAWI,sCAXiB,YAAM,EAWvB;AAAA,oCAVJC,kBAUI;AAAA,MAVJA,kBAUI,sCAViB,YAAM,EAUvB;AAAA,kCATJC,aASI;AAAA,MATJA,aASI,oCATY,YAAM,EASlB;AAAA,oCARJC,eAQI;AAAA,MARJA,eAQI,sCARc,YAAM,EAQpB;AAAA,kCAPJC,aAOI;AAAA,MAPJA,aAOI,oCAPY,YAAM,EAOlB;AAAA,oCANJC,mBAMI;AAAA,MANJA,mBAMI,sCANkB,YAAM,EAMxB;AAAA,oCALJC,mBAKI;AAAA,MALJA,mBAKI,sCALkB,YAAM,EAKxB;AAAA,oCAJJC,mBAII;AAAA,MAJJA,mBAII,sCAJkB,YAAM,EAIxB;AAAA,kCAHJC,aAGI;AAAA,MAHJA,aAGI,oCAHY,YAAM,EAGlB;AAAA,oCAFJC,iBAEI;AAAA,MAFJA,iBAEI,sCAFgB,YAAM,EAEtB;AAAA,mCADJC,cACI;AAAA,MADJA,cACI,qCADa,YAAM,EACnB;AACJC,EAAAA,eAAS,CAAC,YAAM;AACdxB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,oBAAD,CAAtB,EAA8CO,mBAA9C;AACAN,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,kBAAD,CAAtB,EAA4CQ,iBAA5C;AACAP,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,iBAAD,CAAtB,EAA2CS,gBAA3C;AACAR,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,mBAAD,CAAtB,EAA6CU,kBAA7C;AACAT,IAAAA,YAAY,CAACyB,EAAb,CACE1B,MAAM,CAAC,0BAAD,CADR,EAEEW,wBAFF;AAIAV,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,iBAAD,CAAtB,EAA2CY,gBAA3C;AACAX,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,iBAAD,CAAtB,EAA2Ca,gBAA3C;AACAZ,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,mBAAD,CAAtB,EAA6Cc,kBAA7C;AACAb,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,mBAAD,CAAtB,EAA6Ce,kBAA7C;AACAd,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,cAAD,CAAtB,EAAwCgB,aAAxC;AACAf,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,gBAAD,CAAtB,EAA0CiB,eAA1C;AACAhB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,cAAD,CAAtB,EAAwCkB,aAAxC;AACAjB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,qBAAD,CAAtB,EAA+CmB,mBAA/C;AACAlB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,sBAAD,CAAtB,EAAgDoB,mBAAhD;AACAnB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,qBAAD,CAAtB,EAA+CqB,mBAA/C;AACApB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,cAAD,CAAtB,EAAwCsB,aAAxC;AACArB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,kBAAD,CAAtB,EAA4CuB,iBAA5C;AACAtB,IAAAA,YAAY,CAACyB,EAAb,CAAgB1B,MAAM,CAAC,eAAD,CAAtB,EAAyCwB,cAAzC;AACA,WAAO,YAAM;AACXvB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,oBAAD,CAAvB,EAA+CO,mBAA/C;AACAN,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,kBAAD,CAAvB,EAA6CQ,iBAA7C;AACAP,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,iBAAD,CAAvB,EAA4CS,gBAA5C;AACAR,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,mBAAD,CAAvB,EAA8CU,kBAA9C;AACAT,MAAAA,YAAY,CAAC0B,GAAb,CACE3B,MAAM,CAAC,0BAAD,CADR,EAEEW,wBAFF;AAIAV,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,iBAAD,CAAvB,EAA4CY,gBAA5C;AACAX,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,iBAAD,CAAvB,EAA4Ca,gBAA5C;AACAZ,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,mBAAD,CAAvB,EAA8Cc,kBAA9C;AACAb,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,mBAAD,CAAvB,EAA8Ce,kBAA9C;AACAd,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,cAAD,CAAvB,EAAyCgB,aAAzC;AACAf,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,gBAAD,CAAvB,EAA2CiB,eAA3C;AACAhB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,cAAD,CAAvB,EAAyCkB,aAAzC;AACAjB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,qBAAD,CAAvB,EAAgDmB,mBAAhD;AACAlB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,sBAAD,CAAvB,EAAiDoB,mBAAjD;AACAnB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,qBAAD,CAAvB,EAAgDqB,mBAAhD;AACApB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,cAAD,CAAvB,EAAyCsB,aAAzC;AACArB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,kBAAD,CAAvB,EAA6CuB,iBAA7C;AACAtB,MAAAA,YAAY,CAAC0B,GAAb,CAAiB3B,MAAM,CAAC,eAAD,CAAvB,EAA0CwB,cAA1C;AACD,KAtBD;AAuBD,GA7CQ,EA6CN,EA7CM,CAAT;AA+CA,sBACEO,6BAACA,cAAD,CAAO,QAAP,qBACEA,6BAAC,qBAAD,CAAuB,QAAvB,QACGD,QADH,CADF,CADF;AAOD,CA3EM;;ACtEP,IAAME,eAAe,GAAG,SAAlBA,eAAkB,OAKlB;AAAA,MAJJF,QAII,QAJJA,QAII;AAAA,MAHJG,MAGI,QAHJA,MAGI;AAAA,MAFJC,KAEI,QAFJA,KAEI;AAAA,MADJC,0BACI,QADJA,0BACI;;AACJ,kBAA8BC,cAAQ,CAAC,IAAD,CAAtC;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,mBAAgDF,cAAQ,CAAC,IAAD,CAAxD;AAAA,MAAOG,gBAAP;AAAA,MAAyBC,mBAAzB;;AACA,mBAA8CJ,cAAQ,CAAC,IAAD,CAAtD;AAAA,MAAOK,eAAP;AAAA,MAAwBC,kBAAxB;;AACA,mBAA8CN,cAAQ,CAAC,IAAD,CAAtD;AAAA,MAAOO,eAAP;AAAA,MAAwBC,kBAAxB;;AACA,mBAAwCR,cAAQ,CAAC,IAAIS,GAAJ,EAAD,CAAhD;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAsCX,cAAQ,CAAC,IAAD,CAA9C;AAAA,MAAOY,WAAP;AAAA,MAAoBC,cAApB;;AACA,mBAAoCb,cAAQ,CAAC,KAAD,CAA5C;AAAA,MAAOc,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAA0Cf,cAAQ,CAAC,KAAD,CAAlD;AAAA,MAAOgB,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,mBAAoDjB,cAAQ,CAAC,KAAD,CAA5D;AAAA,MAAOkB,kBAAP;AAAA,MAA2BC,qBAA3B;;AACA,oBAAsCnB,cAAQ,CAAC,KAAD,CAA9C;AAAA,MAAOoB,WAAP;AAAA,MAAoBC,cAApB;;AACA,oBAAgCrB,cAAQ,CAAC,EAAD,CAAxC;AAAA,MAAOsB,QAAP;AAAA,MAAiBC,WAAjB;;AAEA,oBAA8CvB,cAAQ,CAAC,KAAD,CAAtD;AAAA,MAAOwB,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,MAAMC,UAAU,GAAGC,YAAM,EAAzB;AACA,MAAMC,aAAa,GAAGD,YAAM,EAA5B;AACA,MAAME,gBAAgB,GAAGF,YAAM,EAA/B;AACA,MAAMG,qBAAqB,GAAGH,YAAM,EAApC;AACA,MAAMI,cAAc,GAAGJ,YAAM,EAA7B;AAEAtC,EAAAA,eAAS,CAAC,YAAM;AACdqC,IAAAA,UAAU,CAACM,OAAX,GAAqB/B,OAArB;AACD,GAFQ,EAEN,CAACA,OAAD,CAFM,CAAT;AAGAZ,EAAAA,eAAS,CAAC,YAAM;AACduC,IAAAA,aAAa,CAACI,OAAd,GAAwBlB,UAAxB;AACD,GAFQ,EAEN,CAACA,UAAD,CAFM,CAAT;AAGAzB,EAAAA,eAAS,CAAC,YAAM;AACdwC,IAAAA,gBAAgB,CAACG,OAAjB,GAA2BhB,aAA3B;AACD,GAFQ,EAEN,CAACA,aAAD,CAFM,CAAT;AAGA3B,EAAAA,eAAS,CAAC,YAAM;AACdyC,IAAAA,qBAAqB,CAACE,OAAtB,GAAgCd,kBAAhC;AACD,GAFQ,EAEN,CAACA,kBAAD,CAFM,CAAT;AAGA7B,EAAAA,eAAS,CAAC,YAAM;AACd0C,IAAAA,cAAc,CAACC,OAAf,GAAyBZ,WAAzB;AACD,GAFQ,EAEN,CAACA,WAAD,CAFM,CAAT;;AAIA,MAAMa,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB/B,IAAAA,UAAU,CAAC,IAAD,CAAV;AACAE,IAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACAE,IAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACAE,IAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACAG,IAAAA,eAAe,CAAC,IAAIF,GAAJ,EAAD,CAAf;AACAI,IAAAA,cAAc,CAAC,IAAD,CAAd;AACAE,IAAAA,aAAa,CAAC,KAAD,CAAb;AACAE,IAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACAE,IAAAA,qBAAqB,CAAC,KAAD,CAArB;AACAE,IAAAA,cAAc,CAAC,KAAD,CAAd;AACAE,IAAAA,WAAW,CAAC,EAAD,CAAX;AACAE,IAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD,GAbD;;AAeA,MAAMS,0BAA0B,GAAG,SAA7BA,0BAA6B,CAAAC,WAAW,EAAI;AAChDxB,IAAAA,eAAe,CAAC,UAAAD,YAAY,EAAI;AAC9BA,MAAAA,YAAY,CAAC0B,GAAb,CAAiBD,WAAW,CAACE,EAA7B,EAAiCF,WAAjC;AACA,UAAMG,iBAAiB,GAAG,IAAI7B,GAAJ,CAAQC,YAAR,CAA1B;AAEA,aAAO4B,iBAAP;AACD,KALc,CAAf;AAMAzE,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,oBAAD,CAAxB,EAAgDuE,WAAhD;AACD,GARD;;AASA,MAAMK,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAAL,WAAW,EAAI;AAC9CxB,IAAAA,eAAe,CAAC,UAAAD,YAAY,EAAI;AAC9BA,MAAAA,YAAY,UAAZ,CAAoByB,WAAW,CAACE,EAAhC;AAEA,UAAMI,eAAe,GAAG,IAAIhC,GAAJ,CAAQC,YAAR,CAAxB;AACA,aAAO+B,eAAP;AACD,KALc,CAAf;AAMA5E,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,kBAAD,CAAxB,EAA8CuE,WAA9C;AACD,GARD;;AASA,MAAMO,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAA9B,WAAW,EAAI;AAAA;;AAC/CC,IAAAA,cAAc,CAACD,WAAD,CAAd;AACAO,IAAAA,qBAAqB,CACnBP,WAAW,MAAKc,UAAL,aAAKA,UAAL,8CAAKA,UAAU,CAAEM,OAAjB,iFAAK,oBAAqB7B,gBAA1B,0DAAK,sBAAuCkC,EAA5C,CADQ,CAArB;AAGAxE,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,mBAAD,CAAxB,EAA+CgD,WAA/C;AACD,GAND;;AAOA,MAAM+B,gCAAgC,GAAG,SAAnCA,gCAAmC,CAAAR,WAAW,EAAI;AACtD7B,IAAAA,kBAAkB,CAAC6B,WAAD,CAAlB;AACAtE,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,0BAAD,CAAxB,EAAsDuE,WAAtD;AACD,GAHD;;AAIA,MAAMS,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAArC,eAAe,EAAI;AACjDC,IAAAA,kBAAkB,CAACD,eAAD,CAAlB;AACA1C,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,iBAAD,CAAxB,EAA6C2C,eAA7C;AACD,GAHD;;AAIA,MAAMsC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAC,IAAI,EAAI;AACnCvB,IAAAA,WAAW,CAAC,UAAAwB,CAAC;AAAA,uBAAQA,CAAR,GAAWD,IAAX;AAAA,KAAF,CAAX;AAEAjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,cAAD,CAAxB,EAA0CkF,IAA1C;AACD,GAJD;;AAKA,MAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAF,IAAI,EAAI;AACtCjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,iBAAD,CAAxB,EAA6CkF,IAA7C;AACD,GAFD;;AAGA,MAAMG,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,aAAD,EAAgBC,QAAhB,EAA6B;AAC3DtF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,iBAAD,CAAxB,EAA6CsF,aAA7C,EAA4DC,QAA5D;AACD,GAFD;;AAGA,MAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;AACtC/B,IAAAA,cAAc,CAAC,IAAD,CAAd;AACAxD,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,mBAAD,CAAxB;AACD,GAHD;;AAIA,MAAMyF,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;AACtChC,IAAAA,cAAc,CAAC,KAAD,CAAd;AACAxD,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,mBAAD,CAAxB;AACD,GAHD;;AAKA,MAAM0F,uCAAuC,GAAG,SAA1CA,uCAA0C,CAAAC,MAAM,EAAI;AACxD,QAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,MAAhC,EAAwC;AACtC,UAAIF,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;AAC3BzC,QAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,OAFD,MAEO,IAAIsC,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;AAClC3C,QAAAA,aAAa,CAAC,IAAD,CAAb;AACD;AACF;AACF,GARD;;AASA,MAAM4C,wCAAwC,GAAG,SAA3CA,wCAA2C,CAAAJ,MAAM,EAAI;AACzD,QAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,OAAhC,EAAyC;AACvC,UAAIF,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;AAC3BzC,QAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD,OAFD,MAEO,IAAIsC,MAAM,CAACG,IAAP,KAAgB,OAApB,EAA6B;AAClC3C,QAAAA,aAAa,CAAC,KAAD,CAAb;AACD;AACF;AACF,GARD;;AASA,MAAM6C,2BAA2B,GAAG,SAA9BA,2BAA8B,CAAAd,IAAI,EAAI;AAC1CrB,IAAAA,kBAAkB,CAAC,IAAD,CAAlB;AACA5D,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,qBAAD,CAAxB,EAAiDkF,IAAjD;AACD,GAHD;;AAIA,MAAMe,2BAA2B,GAAG,SAA9BA,2BAA8B,GAAM;AACxCpC,IAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACA5D,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,qBAAD,CAAxB;AACD,GAHD;;AAIA,MAAMkG,2BAA2B,GAAG,SAA9BA,2BAA8B,CAAAhB,IAAI,EAAI;AAC1CjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,qBAAD,CAAxB,EAAiDkF,IAAjD;AACD,GAFD;;AAGA,MAAMiB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAAjB,IAAI,EAAI;AACnCjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,cAAD,CAAxB,EAA0CkF,IAA1C;AACD,GAFD;;AAIA,MAAMkB,wBAAwB,GAAG,SAA3BA,wBAA2B,CAAAlB,IAAI,EAAI;AACvCjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,kBAAD,CAAxB,EAA8CkF,IAA9C;AACD,GAFD;;AAIA,MAAMmB,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAnB,IAAI,EAAI;AACpCjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,eAAD,CAAxB,EAA2CkF,IAA3C;AACD,GAFD;;AAIA,MAAMoB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAApB,IAAI,EAAI;AACrCjF,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,gBAAD,CAAxB,EAA4CkF,IAA5C;AACD,GAFD;;AAIA,MAAMqB,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjCtG,IAAAA,YAAY,CAAC0E,IAAb,CAAkB3E,MAAM,CAAC,cAAD,CAAxB;AAEA,QAAMqC,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AAEA,QAAI/B,OAAJ,EAAa;AAAA;;AACX,UAAI,QAAOA,OAAP,aAAOA,OAAP,uBAAOA,OAAO,CAAEV,GAAhB,MAAwB,UAA5B,EAAwC;AACtCU,QAAAA,OAAO,CAACV,GAAR,CAAY,oBAAZ,EAAkC2C,0BAAlC;AACAjC,QAAAA,OAAO,CAACV,GAAR,CAAY,kBAAZ,EAAgCiD,wBAAhC;AACAvC,QAAAA,OAAO,CAACV,GAAR,CAAY,mBAAZ,EAAiCmD,yBAAjC;AACAzC,QAAAA,OAAO,CAACV,GAAR,CACE,0BADF,EAEEoD,gCAFF;AAIA1C,QAAAA,OAAO,CAACV,GAAR,CAAY,iBAAZ,EAA+BqD,uBAA/B;AACA3C,QAAAA,OAAO,CAACV,GAAR,CAAY,iBAAZ,EAA+ByD,uBAA/B;AACA/C,QAAAA,OAAO,CAACV,GAAR,CAAY,iBAAZ,EAA+B0D,uBAA/B;AACAhD,QAAAA,OAAO,CAACV,GAAR,CAAY,cAAZ,EAA4BsD,oBAA5B;AACA5C,QAAAA,OAAO,CAACV,GAAR,CAAY,mBAAZ,EAAiC6D,yBAAjC;AACAnD,QAAAA,OAAO,CAACV,GAAR,CAAY,mBAAZ,EAAiC8D,yBAAjC;AACApD,QAAAA,OAAO,CAACV,GAAR,CAAY,gBAAZ,EAA8B2E,sBAA9B;AACAjE,QAAAA,OAAO,CAACV,GAAR,CAAY,cAAZ,EAA4B4E,oBAA5B;AACAlE,QAAAA,OAAO,CAACV,GAAR,CAAY,oBAAZ,EAAkCqE,2BAAlC;AACA3D,QAAAA,OAAO,CAACV,GAAR,CAAY,oBAAZ,EAAkCsE,2BAAlC;AACA5D,QAAAA,OAAO,CAACV,GAAR,CAAY,qBAAZ,EAAmCuE,2BAAnC;AACA7D,QAAAA,OAAO,CAACV,GAAR,CAAY,cAAZ,EAA4BwE,oBAA5B;AACA9D,QAAAA,OAAO,CAACV,GAAR,CAAY,kBAAZ,EAAgCyE,wBAAhC;AACA/D,QAAAA,OAAO,CAACV,GAAR,CAAY,eAAZ,EAA6B0E,qBAA7B;AACD;;AAED,UAAI,QAAOhE,OAAP,aAAOA,OAAP,gDAAOA,OAAO,CAAEE,gBAAhB,0DAAO,sBAA2BZ,GAAlC,MAA0C,UAA9C,EAA0D;AACxDU,QAAAA,OAAO,CAACE,gBAAR,CAAyBZ,GAAzB,CACE,gBADF,EAEE+D,uCAFF;AAKArD,QAAAA,OAAO,CAACE,gBAAR,CAAyBZ,GAAzB,CACE,iBADF,EAEEoE,wCAFF;AAID;;AAED1B,MAAAA,WAAW;AACZ;AACF,GA5CD;;AA8CA,MAAMmC,IAAI,GAAG,SAAPA,IAAO,GAAM;AACjB,QAAMnE,OAAO,GAAGoE,aAAO,IAAIA,aAAO,CAACC,WAAR,CAAoBzE,MAApB,CAA3B;AACAK,IAAAA,UAAU,CAACD,OAAD,CAAV;AACA,QAAQE,gBAAR,GAA2CF,OAA3C,CAAQE,gBAAR;AAAA,QAA0BO,YAA1B,GAA2CT,OAA3C,CAA0BS,YAA1B;AACAA,IAAAA,YAAY,CAAC0B,GAAb,CAAiBjC,gBAAgB,CAACkC,EAAlC,EAAsClC,gBAAtC;AACAQ,IAAAA,eAAe,CAACD,YAAD,CAAf;AACAN,IAAAA,mBAAmB,CAACD,gBAAD,CAAnB;AACAF,IAAAA,OAAO,CAACX,EAAR,CAAW,oBAAX,EAAiC4C,0BAAjC;AACAjC,IAAAA,OAAO,CAACX,EAAR,CAAW,kBAAX,EAA+BkD,wBAA/B;AACAvC,IAAAA,OAAO,CAACX,EAAR,CAAW,mBAAX,EAAgCoD,yBAAhC;AACAzC,IAAAA,OAAO,CAACX,EAAR,CAAW,0BAAX,EAAuCqD,gCAAvC;AACA1C,IAAAA,OAAO,CAACX,EAAR,CAAW,iBAAX,EAA8BsD,uBAA9B;AACA3C,IAAAA,OAAO,CAACX,EAAR,CAAW,iBAAX,EAA8B0D,uBAA9B;AACA/C,IAAAA,OAAO,CAACX,EAAR,CAAW,iBAAX,EAA8B2D,uBAA9B;AACAhD,IAAAA,OAAO,CAACX,EAAR,CAAW,cAAX,EAA2BuD,oBAA3B;AACA5C,IAAAA,OAAO,CAACX,EAAR,CAAW,mBAAX,EAAgC8D,yBAAhC;AACAnD,IAAAA,OAAO,CAACX,EAAR,CAAW,mBAAX,EAAgC+D,yBAAhC;AACApD,IAAAA,OAAO,CAACX,EAAR,CAAW,gBAAX,EAA6B4E,sBAA7B;AACAjE,IAAAA,OAAO,CAACX,EAAR,CAAW,cAAX,EAA2B6E,oBAA3B;AACAlE,IAAAA,OAAO,CAACX,EAAR,CAAW,oBAAX,EAAiCsE,2BAAjC;AACA3D,IAAAA,OAAO,CAACX,EAAR,CAAW,oBAAX,EAAiCuE,2BAAjC;AACA5D,IAAAA,OAAO,CAACX,EAAR,CAAW,qBAAX,EAAkCwE,2BAAlC;AACA7D,IAAAA,OAAO,CAACX,EAAR,CAAW,cAAX,EAA2ByE,oBAA3B;AACA9D,IAAAA,OAAO,CAACX,EAAR,CAAW,kBAAX,EAA+B0E,wBAA/B;AACA/D,IAAAA,OAAO,CAACX,EAAR,CAAW,eAAX,EAA4B2E,qBAA5B;AAEAhE,IAAAA,OAAO,CAACE,gBAAR,CAAyBb,EAAzB,CACE,gBADF,EAEEgE,uCAFF;AAIArD,IAAAA,OAAO,CAACE,gBAAR,CAAyBb,EAAzB,CACE,iBADF,EAEEqE,wCAFF;AAIA1D,IAAAA,OAAO,CAACmE,IAAR;AACD,GAnCD;;AAkFA,MAAMG,KAAK,GAAG,SAARA,KAAQ,GAAM;AAClB,QAAMtE,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AAEA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACsE,KAAR;AACD;AACF,GAND;;AAQA,MAAMC,GAAG,GAAG,SAANA,GAAM,GAAM;AAChB,QAAMvE,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACuE,GAAR;AACD;AACF,GALD;;AAMA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAAC,UAAU,EAAI;AACnC,QAAMzE,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACwE,cAAR,CAAuBC,UAAvB;AACD;AACF,GALD;;AAMA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,QAAM1E,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACX,UAAMmB,YAAW,GAAGW,cAAc,CAACC,OAAnC;;AACA,UAAIZ,YAAJ,EAAiB;AACfnB,QAAAA,OAAO,CAAC0E,aAAR;AACD;AACF;AACF,GARD;;AASA,MAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACtB,QAAM3E,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC2E,SAAR;AACD;AACF,GALD;;AAMA,MAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;AACpB,QAAM5E,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC4E,OAAR;AACD;AACF,GALD;;AAMA,MAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACtB,QAAMhE,UAAU,GAAGc,aAAa,CAACI,OAAjC;;AAEA,QAAIlB,UAAJ,EAAgB;AACd+D,MAAAA,OAAO;AACR,KAFD,MAEO;AACLD,MAAAA,SAAS;AACV;AACF,GARD;;AASA,MAAMG,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,QAAM9E,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC8E,aAAR;AACD;AACF,GALD;;AAMA,MAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,QAAM/E,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC+E,YAAR;AACD;AACF,GALD;;AAMA,MAAMC,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB,QAAMjE,aAAa,GAAGa,gBAAgB,CAACG,OAAvC;;AAEA,QAAIhB,aAAJ,EAAmB;AACjB+D,MAAAA,aAAa;AACd,KAFD,MAEO;AACLC,MAAAA,YAAY;AACb;AACF,GARD;;AASA,MAAME,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,QAAMjF,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACiF,kBAAR;AACD;AACF,GALD;;AAMA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC9B,QAAMlF,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACkF,iBAAR;AACD;AACF,GALD;;AAMA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,GAAM;AAC9B,QAAMlE,kBAAkB,GAAGY,qBAAqB,CAACE,OAAjD;;AAEA,QAAId,kBAAJ,EAAwB;AACtBgE,MAAAA,kBAAkB;AACnB,KAFD,MAEO;AACLC,MAAAA,iBAAiB;AAClB;AACF,GARD;;AASA,MAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,IAAI,EAAI;AAC9B,QAAMrF,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACoF,eAAR,CAAwBC,IAAxB;AACD;AACF,GALD;;AAMA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACrC,aAAD,EAAgBC,QAAhB,EAA6B;AAChD,QAAMlD,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACsF,YAAR,CAAqBrC,aAArB,EAAoCC,QAApC;AACD;AACF,GALD;;AAMA,MAAMqC,OAAO,YAAPA,OAAO;AAAA,QAAe;AAC1B,UAAMvF,QAAO,GAAGyB,UAAU,CAACM,OAA3B;AAD0B;AAAA,YAEtB/B,QAFsB;AAAA,iCAGXA,QAAO,CAACuF,OAAR,EAHW;AAAA;AAAA;AAK3B,KALY;AAAA;AAAA;AAAA,GAAb;;AAMA,MAAMC,UAAU,YAAVA,UAAU;AAAA,QAAe;AAC7B,UAAMxF,SAAO,GAAGyB,UAAU,CAACM,OAA3B;AAD6B;AAAA,YAEzB/B,SAFyB;AAAA,iCAGdA,SAAO,CAACwF,UAAR,EAHc;AAAA;AAAA;AAK9B,KALe;AAAA;AAAA;AAAA,GAAhB;;AAMA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAC,QAAQ,EAAI;AAC/B,QAAM1F,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACyF,YAAR,CAAqBC,QAArB;AACD;AACF,GALD;;AAMA,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAD,QAAQ,EAAI;AAC5B,QAAM1F,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC2F,SAAR,CAAkBD,QAAlB;AACD;AACF,GALD;;AAMA,MAAME,UAAU,GAAG,SAAbA,UAAa,QAAc;AAAA,QAAXC,IAAW,SAAXA,IAAW;AAC/B,QAAM7F,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC4F,UAAR,CAAmB;AAAEC,QAAAA,IAAI,EAAJA;AAAF,OAAnB;AACD;AACF,GALD;;AAOA,MAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACtB,QAAM9F,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC8F,SAAR;AACD;AACF,GALD;;AAOA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,QAAM/F,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAAC+F,WAAR;AACD;AACF,GALD;;AAOA,MAAMC,UAAU,GAAG,SAAbA,UAAa,QAAqB;AAAA,QAAlBC,WAAkB,SAAlBA,WAAkB;AACtC,QAAMjG,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACgG,UAAR,CAAmB;AAAEC,QAAAA,WAAW,EAAXA;AAAF,OAAnB;AACD;AACF,GALD;;AAOA,MAAMC,SAAS,GAAG,SAAZA,SAAY,QAAqB;AAAA,QAAlBD,WAAkB,SAAlBA,WAAkB;AACrC,QAAMjG,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACkG,SAAR,CAAkB;AAAED,QAAAA,WAAW,EAAXA;AAAF,OAAlB;AACD;AACF,GALD;;AAOA,MAAME,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,UAAU,EAAI;AACpC,QAAMpG,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACmG,eAAR,CAAwBC,UAAxB;AACD;AACF,GALD;;AAOA,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAMrG,OAAO,GAAGyB,UAAU,CAACM,OAA3B;;AACA,QAAI/B,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACqG,cAAR;AACD;AACF,GALD;;AAOA,MAAMC,OAAO,GAAG,SAAVA,OAAU,GAAM;AACpBlC,IAAAA,aAAO,CAACxE,MAAR,CAAeC,KAAf;;AAEA,QAAIC,0BAAJ,EAAgC;AAC9BqE,MAAAA,IAAI;AACL;AACF,GAND;;AAQA/E,EAAAA,eAAS,CAAC,YAAM;AACdkH,IAAAA,OAAO;AACR,GAFQ,EAEN,EAFM,CAAT;AAIA,sBACE5G,6BAAC,qBAAD,CAAuB,QAAvB;AACE,IAAA,KAAK,EAAE;AACL6G,MAAAA,SAAS,EAAE3G,MAAM,CAAC2G,SADb;AAELvG,MAAAA,OAAO,EAAPA,OAFK;AAGLE,MAAAA,gBAAgB,EAAhBA,gBAHK;AAILE,MAAAA,eAAe,EAAfA,eAJK;AAKLE,MAAAA,eAAe,EAAfA,eALK;AAMLG,MAAAA,YAAY,EAAZA,YANK;AAOLE,MAAAA,WAAW,EAAXA,WAPK;AAQLE,MAAAA,UAAU,EAAVA,UARK;AASLE,MAAAA,aAAa,EAAbA,aATK;AAULE,MAAAA,kBAAkB,EAAlBA,kBAVK;AAWLI,MAAAA,QAAQ,EAARA,QAXK;AAYLF,MAAAA,WAAW,EAAXA,WAZK;AAaLI,MAAAA,eAAe,EAAfA,eAbK;AAeL4C,MAAAA,IAAI,EAAJA,IAfK;AAgBLG,MAAAA,KAAK,EAALA,KAhBK;AAiBLC,MAAAA,GAAG,EAAHA,GAjBK;AAmBLC,MAAAA,cAAc,EAAdA,cAnBK;AAoBLE,MAAAA,aAAa,EAAbA,aApBK;AAsBLU,MAAAA,eAAe,EAAfA,eAtBK;AAuBLE,MAAAA,YAAY,EAAZA,YAvBK;AAyBLV,MAAAA,OAAO,EAAPA,OAzBK;AA0BLD,MAAAA,SAAS,EAATA,SA1BK;AA2BLE,MAAAA,SAAS,EAATA,SA3BK;AA6BLC,MAAAA,aAAa,EAAbA,aA7BK;AA8BLC,MAAAA,YAAY,EAAZA,YA9BK;AA+BLC,MAAAA,YAAY,EAAZA,YA/BK;AAiCLC,MAAAA,kBAAkB,EAAlBA,kBAjCK;AAkCLC,MAAAA,iBAAiB,EAAjBA,iBAlCK;AAmCLC,MAAAA,iBAAiB,EAAjBA,iBAnCK;AAqCLI,MAAAA,OAAO,EAAPA,OArCK;AAsCLC,MAAAA,UAAU,EAAVA,UAtCK;AAuCLC,MAAAA,YAAY,EAAZA,YAvCK;AAwCLE,MAAAA,SAAS,EAATA,SAxCK;AA0CLC,MAAAA,UAAU,EAAVA,UA1CK;AA2CLE,MAAAA,SAAS,EAATA,SA3CK;AA4CLC,MAAAA,WAAW,EAAXA,WA5CK;AA6CLC,MAAAA,UAAU,EAAVA,UA7CK;AA8CLE,MAAAA,SAAS,EAATA,SA9CK;AA+CLC,MAAAA,eAAe,EAAfA,eA/CK;AAgDLE,MAAAA,cAAc,EAAdA;AAhDK;AADT,KAoDG5G,QApDH,CADF;AAwDD,CAhhBD;;ACFA,IAAM+G,cAAc,GAAG,SAAjBA,cAAiB,CACrBvD,aADqB,SAGlB;AAAA,gCAD2D,EAC3D;AAAA,kCADDwD,eACC;AAAA,MADDA,eACC,qCADiB,YAAM,EACvB;AAAA,mCAD2BC,gBAC3B;AAAA,MAD2BA,gBAC3B,sCAD8C,YAAM,EACpD;;AACH,kBAAwC3G,cAAQ,CAAC,IAAD,CAAhD;AAAA,MAAO4G,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAkC7G,cAAQ,CAAC,IAAD,CAA1C;AAAA,MAAO8G,SAAP;AAAA,MAAkBC,YAAlB;;AACA,mBAAkD/G,cAAQ,CAAC,IAAD,CAA1D;AAAA,MAAOgH,iBAAP;AAAA,MAA0BC,oBAA1B;;AAEA,MAAMhH,OAAO,GAAG/B,UAAU,EAA1B;AAEA,MAAMwC,YAAY,GAAGT,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAES,YAA9B;AACA,MAAMP,gBAAgB,GAAGF,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEE,gBAAlC;AACA,MAAMI,eAAe,GAAGN,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEM,eAAjC;AACA,MAAMF,eAAe,GAAGJ,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEI,eAAjC;AAEA,MAAM8B,WAAW,GAAGzB,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEwG,GAAd,CAAkBhE,aAAlB,CAApB;;AAEA,MAAMiE,QAAQ,GAAG,SAAXA,QAAW,CAAA5D,MAAM,EAAI;AACzB,QAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,MAAhC,EAAwC;AACtC,cAAQF,MAAM,CAACG,IAAf;AACE,aAAK,OAAL;AACEmD,UAAAA,eAAe,CAACtD,MAAD,CAAf;AACA;;AACF,aAAK,OAAL;AACEwD,UAAAA,YAAY,CAACxD,MAAD,CAAZ;AACA;;AACF,aAAK,OAAL;AACE0D,UAAAA,oBAAoB,CAAC1D,MAAD,CAApB;AACA;AATJ;AAaD;AACF,GAhBD;;AAkBA,MAAM6D,UAAU,GAAG,SAAbA,UAAa,CAAA7D,MAAM,EAAI;AAC3B,QAAIA,MAAM,CAACC,KAAP,CAAaC,UAAb,KAA4B,MAAhC,EAAwC;AACtC,cAAQF,MAAM,CAACG,IAAf;AACE,aAAK,OAAL;AACEmD,UAAAA,eAAe,CAAC,IAAD,CAAf;AACA;;AACF,aAAK,OAAL;AACEE,UAAAA,YAAY,CAAC,IAAD,CAAZ;AACA;;AACF,aAAK,OAAL;AACEE,UAAAA,oBAAoB,CAAC,IAAD,CAApB;AACA;AATJ;AAaD;AACF,GAhBD;;AAkBA,MAAMI,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAA9D,MAAM,EAAI;AACrC4D,IAAAA,QAAQ,CAAC5D,MAAD,CAAR;AACAmD,IAAAA,eAAe,CAACnD,MAAD,CAAf;AACD,GAHD;;AAKA,MAAM+D,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAA/D,MAAM,EAAI;AACtC6D,IAAAA,UAAU,CAAC7D,MAAD,CAAV;AACAoD,IAAAA,gBAAgB,CAACpD,MAAD,CAAhB;AACD,GAHD;;AAKA,MAAMgE,UAAU,GAAG,SAAbA,UAAa,CAAAC,OAAO,EAAI;AAC5BrF,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEoF,UAAb,CAAwBC,OAAxB;AACD,GAFD;;AAGA,MAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACtBtF,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEsF,SAAb;AACD,GAFD;;AAGA,MAAMC,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBvF,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAEuF,UAAb;AACD,GAFD;;AAGA,MAAM1C,YAAY,GAAG,SAAfA,YAAe,GAAM;AACzB7C,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE6C,YAAb;AACD,GAFD;;AAGA,MAAMD,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B5C,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE4C,aAAb;AACD,GAFD;;AAIA1F,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMsI,OAAO,GAAGxF,WAAH,aAAGA,WAAH,uBAAGA,WAAW,CAAEwF,OAA7B;;AAEA,QAAIA,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACC,OAAR,CAAgB,UAAArE,MAAM,EAAI;AACxB4D,QAAAA,QAAQ,CAAC5D,MAAD,CAAR;AACD,OAFD;AAGD;;AAEDpB,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE7C,EAAb,CAAgB,gBAAhB,EAAkC+H,oBAAlC;AAEAlF,IAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE7C,EAAb,CAAgB,iBAAhB,EAAmCgI,qBAAnC;AAEA,WAAO,YAAM;AACXnF,MAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE5C,GAAb,CAAiB,gBAAjB,EAAmC8H,oBAAnC;AAEAlF,MAAAA,WAAW,SAAX,IAAAA,WAAW,WAAX,YAAAA,WAAW,CAAE5C,GAAb,CAAiB,iBAAjB,EAAoC+H,qBAApC;AACD,KAJD;AAKD,GAlBQ,EAkBN,CAACnF,WAAD,CAlBM,CAAT;AAoBA,SAAO;AACL0F,IAAAA,WAAW,EAAE1F,WAAF,aAAEA,WAAF,uBAAEA,WAAW,CAAE0F,WADrB;AAEL1F,IAAAA,WAAW,EAAXA,WAFK;AAGLyE,IAAAA,YAAY,EAAZA,YAHK;AAILE,IAAAA,SAAS,EAATA,SAJK;AAKLE,IAAAA,iBAAiB,EAAjBA,iBALK;AAMLc,IAAAA,QAAQ,EAAE,CAAC,CAAClB,YANP;AAOLmB,IAAAA,KAAK,EAAE,CAAC,CAACjB,SAPJ;AAQLkB,IAAAA,aAAa,EAAE,CAAC,CAAChB,iBARZ;AASLiB,IAAAA,OAAO,EAAE,CAAA9H,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEkC,EAAlB,MAAyBa,aAT7B;AAULgF,IAAAA,eAAe,EAAE3H,eAAe,KAAK2C,aAVhC;AAWLiF,IAAAA,iBAAiB,EAAE,CAAA9H,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEgC,EAAjB,MAAwBa,aAXtC;AAcLqE,IAAAA,UAAU,EAAVA,UAdK;AAeLE,IAAAA,SAAS,EAATA,SAfK;AAgBLC,IAAAA,UAAU,EAAVA,UAhBK;AAiBL1C,IAAAA,YAAY,EAAZA,YAjBK;AAkBLD,IAAAA,aAAa,EAAbA;AAlBK,GAAP;AAoBD,CAvHD;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'zn-meeting-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { ZujoSDK } from '@videosdk.live/js-sdk';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n //pinnedParticipantRef\n // const pinnnedParticipantRef = useRef();\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n\n //useEffect for pinned participant\n // useEffect(() => {\n // pinnnedParticipantRef.current = pinnedParticipants;\n // }, [pinnedParticipants]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n //reset pinnedParticipant\n setPinnedParticipants(new Map());\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n setMessages(s => [...s, ...data.messages]);\n\n eventEmitter.emit(events['meeting-joined'], data);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const join = () => {\n const meeting = ZujoSDK && ZujoSDK.initMeeting(config);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n // const leave = () => {\n // const meeting = meetingRef.current;\n\n // if (meeting) {\n // if (typeof meeting?.off === 'function') {\n // meeting.off('participant-joined', _handle_participant_joined);\n // meeting.off('participant-left', _handle_participant_left);\n // meeting.off('presenter-changed', _handle_presenter_changed);\n // meeting.off(\n // 'main-participant-changed',\n // _handle_main_participant_changed\n // );\n // meeting.off('speaker-changed', _handle_speaker_changed);\n // meeting.off('entry-requested', _handle_entry_requested);\n // meeting.off('entry-responded', _handle_entry_responded);\n // meeting.off('chat-message', _handle_chat_message);\n // meeting.off('recording-started', _handle_recording_started);\n // meeting.off('recording-stopped', _handle_recording_stopped);\n // meeting.off('meeting-joined', _handle_meeting_joined);\n // meeting.off('meeting-left', _handle_meeting_left);\n // meeting.off('livestream-started', _handle_live_stream_started);\n // meeting.off('livestream-stopped', _handle_live_stream_stopped);\n // meeting.off('video-state-changed', _handle_video_state_changed);\n // meeting.off('video-seeked', _handle_video_seeked);\n // meeting.off('webcam-requested', _handle_webcam_requested);\n // meeting.off('mic-requested', _handle_mic_requested);\n // }\n\n // if (typeof meeting?.localParticipant?.off === 'function') {\n // meeting.localParticipant.off(\n // 'stream-enabled',\n // _handle_localParticipant_stream_enabled\n // );\n\n // meeting.localParticipant.off(\n // 'stream-disabled',\n // _handle_localParticipant_stream_disabled\n // );\n // }\n\n // meeting.leave();\n\n // resetStates();\n // }\n // };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic();\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = () => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic();\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam();\n }\n };\n const toggleWebcam = () => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam();\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare();\n }\n };\n const toggleScreenShare = () => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare();\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(deviceId);\n }\n };\n const changeMic = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(deviceId);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = streamInfo => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const initSDK = () => {\n ZujoSDK.config(token);\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: config.meetingId,\n meeting,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin\n };\n};\n\nexport default useParticipant;\n"],"names":["eventPrifix","events","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","useEffect","on","off","useContext","MeetingConsumer","children","React","MeetingProvider","config","token","joinWithoutUserInteraction","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","join","ZujoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","muteMic","toggleMic","disableWebcam","enableWebcam","toggleWebcam","disableScreenShare","enableScreenShare","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","deviceId","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","initSDK","meetingId","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","useMemo","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","enableMic","disableMic","pin","unpin","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React, { createContext, useEffect, useContext, useState, useRef } from 'react';
1
+ import React, { createContext, useEffect, useContext, useState, useRef, useMemo } from 'react';
2
2
  import EventEmitter from 'events';
3
3
  import { ZujoSDK } from '@videosdk.live/js-sdk';
4
4
 
@@ -21,7 +21,8 @@ var events = {
21
21
  'video-state-changed': eventPrifix + "-video-state-changed",
22
22
  'video-seeked': eventPrifix + "-video-seeked",
23
23
  'webcam-requested': eventPrifix + "-webcam-requested",
24
- 'mic-requested': eventPrifix + "-mic-requested"
24
+ 'mic-requested': eventPrifix + "-mic-requested",
25
+ 'pin-state-changed': eventPrifix + "-pin-state-changed"
25
26
  };
26
27
  var eventEmitter = new EventEmitter();
27
28
  eventEmitter.setMaxListeners(9999);
@@ -64,7 +65,9 @@ var useMeeting = function useMeeting(_temp) {
64
65
  _ref$onWebcamRequeste = _ref.onWebcamRequested,
65
66
  onWebcamRequested = _ref$onWebcamRequeste === void 0 ? function () {} : _ref$onWebcamRequeste,
66
67
  _ref$onMicRequested = _ref.onMicRequested,
67
- onMicRequested = _ref$onMicRequested === void 0 ? function () {} : _ref$onMicRequested;
68
+ onMicRequested = _ref$onMicRequested === void 0 ? function () {} : _ref$onMicRequested,
69
+ _ref$onPinStateChange = _ref.onPinStateChanged,
70
+ onPinStateChanged = _ref$onPinStateChange === void 0 ? function () {} : _ref$onPinStateChange;
68
71
 
69
72
  useEffect(function () {
70
73
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
@@ -85,6 +88,7 @@ var useMeeting = function useMeeting(_temp) {
85
88
  eventEmitter.on(events['video-seeked'], onVideoSeeked);
86
89
  eventEmitter.on(events['webcam-requested'], onWebcamRequested);
87
90
  eventEmitter.on(events['mic-requested'], onMicRequested);
91
+ eventEmitter.on(events['pin-state-changed'], onPinStateChanged);
88
92
  return function () {
89
93
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
90
94
  eventEmitter.off(events['participant-left'], onParticipantLeft);
@@ -104,6 +108,7 @@ var useMeeting = function useMeeting(_temp) {
104
108
  eventEmitter.off(events['video-seeked'], onVideoSeeked);
105
109
  eventEmitter.off(events['webcam-requested'], onWebcamRequested);
106
110
  eventEmitter.off(events['mic-requested'], onMicRequested);
111
+ eventEmitter.off(events['pin-state-changed'], onPinStateChanged);
107
112
  };
108
113
  }, []);
109
114
  return useContext(MeetingProviderContex);
@@ -145,7 +150,9 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
145
150
  _ref2$onWebcamRequest = _ref2.onWebcamRequested,
146
151
  onWebcamRequested = _ref2$onWebcamRequest === void 0 ? function () {} : _ref2$onWebcamRequest,
147
152
  _ref2$onMicRequested = _ref2.onMicRequested,
148
- onMicRequested = _ref2$onMicRequested === void 0 ? function () {} : _ref2$onMicRequested;
153
+ onMicRequested = _ref2$onMicRequested === void 0 ? function () {} : _ref2$onMicRequested,
154
+ _ref2$onPinStateChang = _ref2.onPinStateChanged,
155
+ onPinStateChanged = _ref2$onPinStateChang === void 0 ? function () {} : _ref2$onPinStateChang;
149
156
  useEffect(function () {
150
157
  eventEmitter.on(events['participant-joined'], onParticipantJoined);
151
158
  eventEmitter.on(events['participant-left'], onParticipantLeft);
@@ -165,6 +172,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
165
172
  eventEmitter.on(events['video-seeked'], onVideoSeeked);
166
173
  eventEmitter.on(events['webcam-requested'], onWebcamRequested);
167
174
  eventEmitter.on(events['mic-requested'], onMicRequested);
175
+ eventEmitter.on(events['pin-state-changed'], onPinStateChanged);
168
176
  return function () {
169
177
  eventEmitter.off(events['participant-joined'], onParticipantJoined);
170
178
  eventEmitter.off(events['participant-left'], onParticipantLeft);
@@ -184,6 +192,7 @@ var MeetingConsumer = function MeetingConsumer(_ref2) {
184
192
  eventEmitter.off(events['video-seeked'], onVideoSeeked);
185
193
  eventEmitter.off(events['webcam-requested'], onWebcamRequested);
186
194
  eventEmitter.off(events['mic-requested'], onMicRequested);
195
+ eventEmitter.off(events['pin-state-changed'], onPinStateChanged);
187
196
  };
188
197
  }, []);
189
198
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MeetingProviderContex.Consumer, null, children));
@@ -211,37 +220,41 @@ var MeetingProvider = function MeetingProvider(_ref) {
211
220
  activeSpeakerId = _useState4[0],
212
221
  setActiveSpeakerId = _useState4[1];
213
222
 
214
- var _useState5 = useState(new Map()),
215
- participants = _useState5[0],
216
- setParticipants = _useState5[1];
223
+ var _useState5 = useState(null),
224
+ presenterId = _useState5[0],
225
+ setPresenterId = _useState5[1];
217
226
 
218
- var _useState6 = useState(null),
219
- presenterId = _useState6[0],
220
- setPresenterId = _useState6[1];
227
+ var _useState6 = useState(false),
228
+ localMicOn = _useState6[0],
229
+ setLocalMicOn = _useState6[1];
221
230
 
222
231
  var _useState7 = useState(false),
223
- localMicOn = _useState7[0],
224
- setLocalMicOn = _useState7[1];
232
+ localWebcamOn = _useState7[0],
233
+ setLocalWebcamOn = _useState7[1];
225
234
 
226
235
  var _useState8 = useState(false),
227
- localWebcamOn = _useState8[0],
228
- setLocalWebcamOn = _useState8[1];
236
+ localScreenShareOn = _useState8[0],
237
+ setLocalScreenShareOn = _useState8[1];
229
238
 
230
239
  var _useState9 = useState(false),
231
- localScreenShareOn = _useState9[0],
232
- setLocalScreenShareOn = _useState9[1];
240
+ isRecording = _useState9[0],
241
+ setIsRecording = _useState9[1];
233
242
 
234
- var _useState10 = useState(false),
235
- isRecording = _useState10[0],
236
- setIsRecording = _useState10[1];
243
+ var _useState10 = useState([]),
244
+ messages = _useState10[0],
245
+ setMessages = _useState10[1];
237
246
 
238
- var _useState11 = useState([]),
239
- messages = _useState11[0],
240
- setMessages = _useState11[1];
247
+ var _useState11 = useState(new Map()),
248
+ participants = _useState11[0],
249
+ setParticipants = _useState11[1];
241
250
 
242
- var _useState12 = useState(false),
243
- isLiveStreaming = _useState12[0],
244
- setIsLiveStreaming = _useState12[1];
251
+ var _useState12 = useState(new Map()),
252
+ pinnedParticipants = _useState12[0],
253
+ setPinnedParticipants = _useState12[1];
254
+
255
+ var _useState13 = useState(false),
256
+ isLiveStreaming = _useState13[0],
257
+ setIsLiveStreaming = _useState13[1];
245
258
 
246
259
  var meetingRef = useRef();
247
260
  var localMicOnRef = useRef();
@@ -269,7 +282,6 @@ var MeetingProvider = function MeetingProvider(_ref) {
269
282
  setLocalParticipant(null);
270
283
  setMainParticipant(null);
271
284
  setActiveSpeakerId(null);
272
- setParticipants(new Map());
273
285
  setPresenterId(null);
274
286
  setLocalMicOn(false);
275
287
  setLocalWebcamOn(false);
@@ -277,6 +289,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
277
289
  setIsRecording(false);
278
290
  setMessages([]);
279
291
  setIsLiveStreaming(false);
292
+ setParticipants(new Map());
293
+ setPinnedParticipants(new Map());
280
294
  };
281
295
 
282
296
  var _handle_participant_joined = function _handle_participant_joined(participant) {
@@ -387,6 +401,9 @@ var MeetingProvider = function MeetingProvider(_ref) {
387
401
  };
388
402
 
389
403
  var _handle_meeting_joined = function _handle_meeting_joined(data) {
404
+ setMessages(function (s) {
405
+ return [].concat(s, data.messages);
406
+ });
390
407
  eventEmitter.emit(events['meeting-joined'], data);
391
408
  };
392
409
 
@@ -427,6 +444,27 @@ var MeetingProvider = function MeetingProvider(_ref) {
427
444
  }
428
445
  };
429
446
 
447
+ var _handle_pin_state_changed = function _handle_pin_state_changed(_ref2) {
448
+ var participantId = _ref2.participantId,
449
+ state = _ref2.state,
450
+ pinnedBy = _ref2.pinnedBy;
451
+ setPinnedParticipants(function (pinnedParticipants) {
452
+ if (!state.cam && !state.share) {
453
+ pinnedParticipants["delete"](participantId);
454
+ } else {
455
+ pinnedParticipants.set(participantId, state);
456
+ }
457
+
458
+ var pinnedParticipantsToSet = new Map(pinnedParticipants);
459
+ return pinnedParticipantsToSet;
460
+ });
461
+ eventEmitter.emit(events['pin-state-changed'], {
462
+ participantId: participantId,
463
+ state: state,
464
+ pinnedBy: pinnedBy
465
+ });
466
+ };
467
+
430
468
  var join = function join() {
431
469
  var meeting = ZujoSDK && ZujoSDK.initMeeting(config);
432
470
  setMeeting(meeting);
@@ -453,6 +491,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
453
491
  meeting.on('video-seeked', _handle_video_seeked);
454
492
  meeting.on('webcam-requested', _handle_webcam_requested);
455
493
  meeting.on('mic-requested', _handle_mic_requested);
494
+ meeting.on('pin-state-changed', _handle_pin_state_changed);
456
495
  meeting.localParticipant.on('stream-enabled', _handle_localParticipant_stream_enabled);
457
496
  meeting.localParticipant.on('stream-disabled', _handle_localParticipant_stream_disabled);
458
497
  meeting.join();
@@ -474,11 +513,11 @@ var MeetingProvider = function MeetingProvider(_ref) {
474
513
  }
475
514
  };
476
515
 
477
- var startRecording = function startRecording(webhookUrl) {
516
+ var startRecording = function startRecording(webhookUrl, awsDirPath) {
478
517
  var meeting = meetingRef.current;
479
518
 
480
519
  if (meeting) {
481
- meeting.startRecording(webhookUrl);
520
+ meeting.startRecording(webhookUrl, awsDirPath);
482
521
  }
483
522
  };
484
523
 
@@ -630,8 +669,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
630
669
  }
631
670
  };
632
671
 
633
- var startVideo = function startVideo(_ref2) {
634
- var link = _ref2.link;
672
+ var startVideo = function startVideo(_ref3) {
673
+ var link = _ref3.link;
635
674
  var meeting = meetingRef.current;
636
675
 
637
676
  if (meeting) {
@@ -657,8 +696,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
657
696
  }
658
697
  };
659
698
 
660
- var pauseVideo = function pauseVideo(_ref3) {
661
- var currentTime = _ref3.currentTime;
699
+ var pauseVideo = function pauseVideo(_ref4) {
700
+ var currentTime = _ref4.currentTime;
662
701
  var meeting = meetingRef.current;
663
702
 
664
703
  if (meeting) {
@@ -668,8 +707,8 @@ var MeetingProvider = function MeetingProvider(_ref) {
668
707
  }
669
708
  };
670
709
 
671
- var seekVideo = function seekVideo(_ref4) {
672
- var currentTime = _ref4.currentTime;
710
+ var seekVideo = function seekVideo(_ref5) {
711
+ var currentTime = _ref5.currentTime;
673
712
  var meeting = meetingRef.current;
674
713
 
675
714
  if (meeting) {
@@ -721,6 +760,7 @@ var MeetingProvider = function MeetingProvider(_ref) {
721
760
  messages: messages,
722
761
  isRecording: isRecording,
723
762
  isLiveStreaming: isLiveStreaming,
763
+ pinnedParticipants: pinnedParticipants,
724
764
  join: join,
725
765
  leave: leave,
726
766
  end: end,
@@ -772,10 +812,32 @@ var useParticipant = function useParticipant(participantId, _temp) {
772
812
  setScreenShareStream = _useState3[1];
773
813
 
774
814
  var meeting = useMeeting();
775
- var participants = meeting === null || meeting === void 0 ? void 0 : meeting.participants;
776
- var localParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.localParticipant;
777
- var activeSpeakerId = meeting === null || meeting === void 0 ? void 0 : meeting.activeSpeakerId;
778
- var mainParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.mainParticipant;
815
+
816
+ var _useMemo = useMemo(function () {
817
+ var _meeting$pinnedPartic;
818
+
819
+ var participants = meeting === null || meeting === void 0 ? void 0 : meeting.participants;
820
+ var localParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.localParticipant;
821
+ var activeSpeakerId = meeting === null || meeting === void 0 ? void 0 : meeting.activeSpeakerId;
822
+ var mainParticipant = meeting === null || meeting === void 0 ? void 0 : meeting.mainParticipant;
823
+ var pinState = (meeting === null || meeting === void 0 ? void 0 : (_meeting$pinnedPartic = meeting.pinnedParticipants) === null || _meeting$pinnedPartic === void 0 ? void 0 : _meeting$pinnedPartic.get(participantId)) || {
824
+ cam: false,
825
+ share: false
826
+ };
827
+ return {
828
+ participants: participants,
829
+ localParticipant: localParticipant,
830
+ activeSpeakerId: activeSpeakerId,
831
+ mainParticipant: mainParticipant,
832
+ pinState: pinState
833
+ };
834
+ }, [meeting]),
835
+ participants = _useMemo.participants,
836
+ localParticipant = _useMemo.localParticipant,
837
+ activeSpeakerId = _useMemo.activeSpeakerId,
838
+ mainParticipant = _useMemo.mainParticipant,
839
+ pinState = _useMemo.pinState;
840
+
779
841
  var participant = participants === null || participants === void 0 ? void 0 : participants.get(participantId);
780
842
 
781
843
  var setTrack = function setTrack(stream) {
@@ -844,6 +906,14 @@ var useParticipant = function useParticipant(participantId, _temp) {
844
906
  participant === null || participant === void 0 ? void 0 : participant.disableWebcam();
845
907
  };
846
908
 
909
+ var pin = function pin(data) {
910
+ participant === null || participant === void 0 ? void 0 : participant.pin(data);
911
+ };
912
+
913
+ var unpin = function unpin(data) {
914
+ participant === null || participant === void 0 ? void 0 : participant.unpin(data);
915
+ };
916
+
847
917
  useEffect(function () {
848
918
  var streams = participant === null || participant === void 0 ? void 0 : participant.streams;
849
919
 
@@ -872,11 +942,14 @@ var useParticipant = function useParticipant(participantId, _temp) {
872
942
  isLocal: (localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.id) === participantId,
873
943
  isActiveSpeaker: activeSpeakerId === participantId,
874
944
  isMainParticipant: (mainParticipant === null || mainParticipant === void 0 ? void 0 : mainParticipant.id) === participantId,
945
+ pinState: pinState,
875
946
  setQuality: setQuality,
876
947
  enableMic: enableMic,
877
948
  disableMic: disableMic,
878
949
  enableWebcam: enableWebcam,
879
- disableWebcam: disableWebcam
950
+ disableWebcam: disableWebcam,
951
+ pin: pin,
952
+ unpin: unpin
880
953
  };
881
954
  };
882
955
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'zn-meeting-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { ZujoSDK } from '@videosdk.live/js-sdk';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [participants, setParticipants] = useState(new Map());\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setParticipants(new Map());\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n eventEmitter.emit(events['meeting-joined'], data);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const join = () => {\n const meeting = ZujoSDK && ZujoSDK.initMeeting(config);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n // const leave = () => {\n // const meeting = meetingRef.current;\n\n // if (meeting) {\n // if (typeof meeting?.off === 'function') {\n // meeting.off('participant-joined', _handle_participant_joined);\n // meeting.off('participant-left', _handle_participant_left);\n // meeting.off('presenter-changed', _handle_presenter_changed);\n // meeting.off(\n // 'main-participant-changed',\n // _handle_main_participant_changed\n // );\n // meeting.off('speaker-changed', _handle_speaker_changed);\n // meeting.off('entry-requested', _handle_entry_requested);\n // meeting.off('entry-responded', _handle_entry_responded);\n // meeting.off('chat-message', _handle_chat_message);\n // meeting.off('recording-started', _handle_recording_started);\n // meeting.off('recording-stopped', _handle_recording_stopped);\n // meeting.off('meeting-joined', _handle_meeting_joined);\n // meeting.off('meeting-left', _handle_meeting_left);\n // meeting.off('livestream-started', _handle_live_stream_started);\n // meeting.off('livestream-stopped', _handle_live_stream_stopped);\n // meeting.off('video-state-changed', _handle_video_state_changed);\n // meeting.off('video-seeked', _handle_video_seeked);\n // meeting.off('webcam-requested', _handle_webcam_requested);\n // meeting.off('mic-requested', _handle_mic_requested);\n // }\n\n // if (typeof meeting?.localParticipant?.off === 'function') {\n // meeting.localParticipant.off(\n // 'stream-enabled',\n // _handle_localParticipant_stream_enabled\n // );\n\n // meeting.localParticipant.off(\n // 'stream-disabled',\n // _handle_localParticipant_stream_disabled\n // );\n // }\n\n // meeting.leave();\n\n // resetStates();\n // }\n // };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = webhookUrl => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic();\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = () => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic();\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam();\n }\n };\n const toggleWebcam = () => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam();\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare();\n }\n };\n const toggleScreenShare = () => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare();\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(deviceId);\n }\n };\n const changeMic = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(deviceId);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = streamInfo => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const initSDK = () => {\n ZujoSDK.config(token);\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: config.meetingId,\n meeting,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n\n //\n setQuality,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam\n };\n};\n\nexport default useParticipant;\n"],"names":["eventPrifix","events","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","useEffect","on","off","useContext","MeetingConsumer","children","MeetingProvider","config","token","joinWithoutUserInteraction","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","Map","participants","setParticipants","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","isLiveStreaming","setIsLiveStreaming","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","join","ZujoSDK","initMeeting","leave","end","startRecording","webhookUrl","stopRecording","unmuteMic","muteMic","toggleMic","disableWebcam","enableWebcam","toggleWebcam","disableScreenShare","enableScreenShare","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","deviceId","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","initSDK","meetingId","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","enableMic","disableMic","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/utils.js","../src/meeting/meetingProviderContextDef.js","../src/meeting/MeetingProvider.js","../src/participant/useParticipant.js"],"sourcesContent":["import EventEmitter from 'events';\n\nconst eventPrifix = 'zn-meeting-react-sdk';\n\nconst events = {\n 'participant-joined': `${eventPrifix}-participant-joined`,\n 'participant-left': `${eventPrifix}-participant-left`,\n 'speaker-changed': `${eventPrifix}-speaker-changed`,\n 'presenter-changed': `${eventPrifix}-presenter-changed`,\n 'main-participant-changed': `${eventPrifix}-main-participant-changed`,\n 'entry-requested': `${eventPrifix}-entry-requested`,\n 'entry-responded': `${eventPrifix}-entry-responded`,\n 'recording-started': `${eventPrifix}-recording-started`,\n 'recording-stopped': `${eventPrifix}-recording-stopped`,\n 'chat-message': `${eventPrifix}-chat-message`,\n 'meeting-joined': `${eventPrifix}-meeting-joined`,\n 'meeting-left': `${eventPrifix}-meeting-left`,\n 'live-stream-started': `${eventPrifix}-live-stream-started`,\n 'live-stream-stopped': `${eventPrifix}-live-stream-stopped`,\n 'video-state-changed': `${eventPrifix}-video-state-changed`,\n 'video-seeked': `${eventPrifix}-video-seeked`,\n 'webcam-requested': `${eventPrifix}-webcam-requested`,\n 'mic-requested': `${eventPrifix}-mic-requested`,\n 'pin-state-changed': `${eventPrifix}-pin-state-changed`\n};\n\nconst eventEmitter = new EventEmitter();\neventEmitter.setMaxListeners(9999);\n\nexport { eventEmitter, events };\n","import React from 'react';\nimport { useContext, createContext, useEffect } from 'react';\nimport { eventEmitter, events } from '../utils';\nexport const MeetingProviderContex = createContext();\n\nexport const useMeeting = ({\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {}\n} = {}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-started'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-stopped'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n };\n }, []);\n return useContext(MeetingProviderContex);\n};\n\nexport const MeetingConsumer = ({\n children,\n onParticipantJoined = () => {},\n onParticipantLeft = () => {},\n onSpeakerChanged = () => {},\n onPresenterChanged = () => {},\n onMainParticipantChanged = () => {},\n onEntryRequested = () => {},\n onEntryResponded = () => {},\n onRecordingStarted = () => {},\n onRecordingStopped = () => {},\n onChatMessage = () => {},\n onMeetingJoined = () => {},\n onMeetingLeft = () => {},\n onLiveStreamStarted = () => {},\n onLiveStreamStopped = () => {},\n onVideoStateChanged = () => {},\n onVideoSeeked = () => {},\n onWebcamRequested = () => {},\n onMicRequested = () => {},\n onPinStateChanged = () => {}\n}) => {\n useEffect(() => {\n eventEmitter.on(events['participant-joined'], onParticipantJoined);\n eventEmitter.on(events['participant-left'], onParticipantLeft);\n eventEmitter.on(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.on(events['presenter-changed'], onPresenterChanged);\n eventEmitter.on(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.on(events['entry-requested'], onEntryRequested);\n eventEmitter.on(events['entry-responded'], onEntryResponded);\n eventEmitter.on(events['recording-started'], onRecordingStarted);\n eventEmitter.on(events['recording-stopped'], onRecordingStopped);\n eventEmitter.on(events['chat-message'], onChatMessage);\n eventEmitter.on(events['meeting-joined'], onMeetingJoined);\n eventEmitter.on(events['meeting-left'], onMeetingLeft);\n eventEmitter.on(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.on(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.on(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.on(events['video-seeked'], onVideoSeeked);\n eventEmitter.on(events['webcam-requested'], onWebcamRequested);\n eventEmitter.on(events['mic-requested'], onMicRequested);\n eventEmitter.on(events['pin-state-changed'], onPinStateChanged);\n return () => {\n eventEmitter.off(events['participant-joined'], onParticipantJoined);\n eventEmitter.off(events['participant-left'], onParticipantLeft);\n eventEmitter.off(events['speaker-changed'], onSpeakerChanged);\n eventEmitter.off(events['presenter-changed'], onPresenterChanged);\n eventEmitter.off(\n events['main-participant-changed'],\n onMainParticipantChanged\n );\n eventEmitter.off(events['entry-requested'], onEntryRequested);\n eventEmitter.off(events['entry-responded'], onEntryResponded);\n eventEmitter.off(events['recording-started'], onRecordingStarted);\n eventEmitter.off(events['recording-stopped'], onRecordingStopped);\n eventEmitter.off(events['chat-message'], onChatMessage);\n eventEmitter.off(events['meeting-joined'], onMeetingJoined);\n eventEmitter.off(events['meeting-left'], onMeetingLeft);\n eventEmitter.off(events['live-stream-enabled'], onLiveStreamStarted);\n eventEmitter.off(events['live-stream-disabled'], onLiveStreamStopped);\n eventEmitter.off(events['video-state-changed'], onVideoStateChanged);\n eventEmitter.off(events['video-seeked'], onVideoSeeked);\n eventEmitter.off(events['webcam-requested'], onWebcamRequested);\n eventEmitter.off(events['mic-requested'], onMicRequested);\n eventEmitter.off(events['pin-state-changed'], onPinStateChanged);\n };\n }, []);\n\n return (\n <React.Fragment>\n <MeetingProviderContex.Consumer>\n {children}\n </MeetingProviderContex.Consumer>\n </React.Fragment>\n );\n};\n","import { MeetingProviderContex } from './meetingProviderContextDef';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { eventEmitter, events } from '../utils';\nimport { ZujoSDK } from '@videosdk.live/js-sdk';\n\nconst MeetingProvider = ({\n children,\n config,\n token,\n joinWithoutUserInteraction\n}) => {\n const [meeting, setMeeting] = useState(null);\n const [localParticipant, setLocalParticipant] = useState(null);\n const [mainParticipant, setMainParticipant] = useState(null);\n const [activeSpeakerId, setActiveSpeakerId] = useState(null);\n const [presenterId, setPresenterId] = useState(null);\n const [localMicOn, setLocalMicOn] = useState(false);\n const [localWebcamOn, setLocalWebcamOn] = useState(false);\n const [localScreenShareOn, setLocalScreenShareOn] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [messages, setMessages] = useState([]);\n const [participants, setParticipants] = useState(new Map());\n const [pinnedParticipants, setPinnedParticipants] = useState(new Map());\n\n const [isLiveStreaming, setIsLiveStreaming] = useState(false);\n\n const meetingRef = useRef();\n const localMicOnRef = useRef();\n const localWebcamOnRef = useRef();\n const localScreenShareOnRef = useRef();\n const isRecordingRef = useRef();\n //pinnedParticipantRef\n // const pinnnedParticipantRef = useRef();\n\n useEffect(() => {\n meetingRef.current = meeting;\n }, [meeting]);\n useEffect(() => {\n localMicOnRef.current = localMicOn;\n }, [localMicOn]);\n useEffect(() => {\n localWebcamOnRef.current = localWebcamOn;\n }, [localWebcamOn]);\n useEffect(() => {\n localScreenShareOnRef.current = localScreenShareOn;\n }, [localScreenShareOn]);\n useEffect(() => {\n isRecordingRef.current = isRecording;\n }, [isRecording]);\n\n //useEffect for pinned participant\n // useEffect(() => {\n // pinnnedParticipantRef.current = pinnedParticipants;\n // }, [pinnedParticipants]);\n\n const resetStates = () => {\n setMeeting(null);\n setLocalParticipant(null);\n setMainParticipant(null);\n setActiveSpeakerId(null);\n setPresenterId(null);\n setLocalMicOn(false);\n setLocalWebcamOn(false);\n setLocalScreenShareOn(false);\n setIsRecording(false);\n setMessages([]);\n setIsLiveStreaming(false);\n setParticipants(new Map());\n //reset pinnedParticipant\n setPinnedParticipants(new Map());\n };\n\n const _handle_participant_joined = participant => {\n setParticipants(participants => {\n participants.set(participant.id, participant);\n const participantsToSet = new Map(participants);\n\n return participantsToSet;\n });\n eventEmitter.emit(events['participant-joined'], participant);\n };\n const _handle_participant_left = participant => {\n setParticipants(participants => {\n participants.delete(participant.id);\n\n const newParticipants = new Map(participants);\n return newParticipants;\n });\n eventEmitter.emit(events['participant-left'], participant);\n };\n const _handle_presenter_changed = presenterId => {\n setPresenterId(presenterId);\n setLocalScreenShareOn(\n presenterId === meetingRef?.current?.localParticipant?.id\n );\n eventEmitter.emit(events['presenter-changed'], presenterId);\n };\n const _handle_main_participant_changed = participant => {\n setMainParticipant(participant);\n eventEmitter.emit(events['main-participant-changed'], participant);\n };\n const _handle_speaker_changed = activeSpeakerId => {\n setActiveSpeakerId(activeSpeakerId);\n eventEmitter.emit(events['speaker-changed'], activeSpeakerId);\n };\n const _handle_chat_message = data => {\n setMessages(s => [...s, data]);\n\n eventEmitter.emit(events['chat-message'], data);\n };\n const _handle_entry_requested = data => {\n eventEmitter.emit(events['entry-requested'], data);\n };\n const _handle_entry_responded = (participantId, decision) => {\n eventEmitter.emit(events['entry-responded'], participantId, decision);\n };\n const _handle_recording_started = () => {\n setIsRecording(true);\n eventEmitter.emit(events['recording-started']);\n };\n const _handle_recording_stopped = () => {\n setIsRecording(false);\n eventEmitter.emit(events['recording-stopped']);\n };\n\n const _handle_localParticipant_stream_enabled = stream => {\n if (stream.track.readyState === 'live') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(true);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(true);\n }\n }\n };\n const _handle_localParticipant_stream_disabled = stream => {\n if (stream.track.readyState === 'ended') {\n if (stream.kind === 'video') {\n setLocalWebcamOn(false);\n } else if (stream.kind === 'audio') {\n setLocalMicOn(false);\n }\n }\n };\n const _handle_live_stream_started = data => {\n setIsLiveStreaming(true);\n eventEmitter.emit(events['live-stream-started'], data);\n };\n const _handle_live_stream_stopped = () => {\n setIsLiveStreaming(false);\n eventEmitter.emit(events['live-stream-stopped']);\n };\n const _handle_video_state_changed = data => {\n eventEmitter.emit(events['video-state-changed'], data);\n };\n const _handle_video_seeked = data => {\n eventEmitter.emit(events['video-seeked'], data);\n };\n\n const _handle_webcam_requested = data => {\n eventEmitter.emit(events['webcam-requested'], data);\n };\n\n const _handle_mic_requested = data => {\n eventEmitter.emit(events['mic-requested'], data);\n };\n\n const _handle_meeting_joined = data => {\n setMessages(s => [...s, ...data.messages]);\n\n eventEmitter.emit(events['meeting-joined'], data);\n };\n\n const _handle_meeting_left = () => {\n eventEmitter.emit(events['meeting-left']);\n\n const meeting = meetingRef.current;\n\n if (meeting) {\n if (typeof meeting?.off === 'function') {\n meeting.off('participant-joined', _handle_participant_joined);\n meeting.off('participant-left', _handle_participant_left);\n meeting.off('presenter-changed', _handle_presenter_changed);\n meeting.off(\n 'main-participant-changed',\n _handle_main_participant_changed\n );\n meeting.off('speaker-changed', _handle_speaker_changed);\n meeting.off('entry-requested', _handle_entry_requested);\n meeting.off('entry-responded', _handle_entry_responded);\n meeting.off('chat-message', _handle_chat_message);\n meeting.off('recording-started', _handle_recording_started);\n meeting.off('recording-stopped', _handle_recording_stopped);\n meeting.off('meeting-joined', _handle_meeting_joined);\n meeting.off('meeting-left', _handle_meeting_left);\n meeting.off('livestream-started', _handle_live_stream_started);\n meeting.off('livestream-stopped', _handle_live_stream_stopped);\n meeting.off('video-state-changed', _handle_video_state_changed);\n meeting.off('video-seeked', _handle_video_seeked);\n meeting.off('webcam-requested', _handle_webcam_requested);\n meeting.off('mic-requested', _handle_mic_requested);\n }\n\n if (typeof meeting?.localParticipant?.off === 'function') {\n meeting.localParticipant.off(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n\n meeting.localParticipant.off(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n }\n\n resetStates();\n }\n };\n\n const _handle_pin_state_changed = ({ participantId, state, pinnedBy }) => {\n setPinnedParticipants(pinnedParticipants => {\n if (!state.cam && !state.share) {\n pinnedParticipants.delete(participantId);\n } else {\n pinnedParticipants.set(participantId, state);\n }\n\n const pinnedParticipantsToSet = new Map(pinnedParticipants);\n\n return pinnedParticipantsToSet;\n });\n\n eventEmitter.emit(events['pin-state-changed'], {\n participantId,\n state,\n pinnedBy\n });\n };\n\n const join = () => {\n const meeting = ZujoSDK && ZujoSDK.initMeeting(config);\n setMeeting(meeting);\n const { localParticipant, participants } = meeting;\n participants.set(localParticipant.id, localParticipant);\n setParticipants(participants);\n setLocalParticipant(localParticipant);\n meeting.on('participant-joined', _handle_participant_joined);\n meeting.on('participant-left', _handle_participant_left);\n meeting.on('presenter-changed', _handle_presenter_changed);\n meeting.on('main-participant-changed', _handle_main_participant_changed);\n meeting.on('speaker-changed', _handle_speaker_changed);\n meeting.on('entry-requested', _handle_entry_requested);\n meeting.on('entry-responded', _handle_entry_responded);\n meeting.on('chat-message', _handle_chat_message);\n meeting.on('recording-started', _handle_recording_started);\n meeting.on('recording-stopped', _handle_recording_stopped);\n meeting.on('meeting-joined', _handle_meeting_joined);\n meeting.on('meeting-left', _handle_meeting_left);\n meeting.on('livestream-started', _handle_live_stream_started);\n meeting.on('livestream-stopped', _handle_live_stream_stopped);\n meeting.on('video-state-changed', _handle_video_state_changed);\n meeting.on('video-seeked', _handle_video_seeked);\n meeting.on('webcam-requested', _handle_webcam_requested);\n meeting.on('mic-requested', _handle_mic_requested);\n meeting.on('pin-state-changed', _handle_pin_state_changed);\n\n meeting.localParticipant.on(\n 'stream-enabled',\n _handle_localParticipant_stream_enabled\n );\n meeting.localParticipant.on(\n 'stream-disabled',\n _handle_localParticipant_stream_disabled\n );\n meeting.join();\n };\n // const leave = () => {\n // const meeting = meetingRef.current;\n\n // if (meeting) {\n // if (typeof meeting?.off === 'function') {\n // meeting.off('participant-joined', _handle_participant_joined);\n // meeting.off('participant-left', _handle_participant_left);\n // meeting.off('presenter-changed', _handle_presenter_changed);\n // meeting.off(\n // 'main-participant-changed',\n // _handle_main_participant_changed\n // );\n // meeting.off('speaker-changed', _handle_speaker_changed);\n // meeting.off('entry-requested', _handle_entry_requested);\n // meeting.off('entry-responded', _handle_entry_responded);\n // meeting.off('chat-message', _handle_chat_message);\n // meeting.off('recording-started', _handle_recording_started);\n // meeting.off('recording-stopped', _handle_recording_stopped);\n // meeting.off('meeting-joined', _handle_meeting_joined);\n // meeting.off('meeting-left', _handle_meeting_left);\n // meeting.off('livestream-started', _handle_live_stream_started);\n // meeting.off('livestream-stopped', _handle_live_stream_stopped);\n // meeting.off('video-state-changed', _handle_video_state_changed);\n // meeting.off('video-seeked', _handle_video_seeked);\n // meeting.off('webcam-requested', _handle_webcam_requested);\n // meeting.off('mic-requested', _handle_mic_requested);\n // }\n\n // if (typeof meeting?.localParticipant?.off === 'function') {\n // meeting.localParticipant.off(\n // 'stream-enabled',\n // _handle_localParticipant_stream_enabled\n // );\n\n // meeting.localParticipant.off(\n // 'stream-disabled',\n // _handle_localParticipant_stream_disabled\n // );\n // }\n\n // meeting.leave();\n\n // resetStates();\n // }\n // };\n\n const leave = () => {\n const meeting = meetingRef.current;\n\n if (meeting) {\n meeting.leave();\n }\n };\n\n const end = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.end();\n }\n };\n const startRecording = (webhookUrl, awsDirPath) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startRecording(webhookUrl, awsDirPath);\n }\n };\n const stopRecording = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n const isRecording = isRecordingRef.current;\n if (isRecording) {\n meeting.stopRecording();\n }\n }\n };\n const unmuteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.unmuteMic();\n }\n };\n const muteMic = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.muteMic();\n }\n };\n const toggleMic = () => {\n const localMicOn = localMicOnRef.current;\n\n if (localMicOn) {\n muteMic();\n } else {\n unmuteMic();\n }\n };\n const disableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableWebcam();\n }\n };\n const enableWebcam = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableWebcam();\n }\n };\n const toggleWebcam = () => {\n const localWebcamOn = localWebcamOnRef.current;\n\n if (localWebcamOn) {\n disableWebcam();\n } else {\n enableWebcam();\n }\n };\n const disableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.disableScreenShare();\n }\n };\n const enableScreenShare = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.enableScreenShare();\n }\n };\n const toggleScreenShare = () => {\n const localScreenShareOn = localScreenShareOnRef.current;\n\n if (localScreenShareOn) {\n disableScreenShare();\n } else {\n enableScreenShare();\n }\n };\n const sendChatMessage = text => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.sendChatMessage(text);\n }\n };\n const respondEntry = (participantId, decision) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.respondEntry(participantId, decision);\n }\n };\n const getMics = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getMics();\n }\n };\n const getWebcams = async () => {\n const meeting = meetingRef.current;\n if (meeting) {\n return await meeting.getWebcams();\n }\n };\n const changeWebcam = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeWebcam(deviceId);\n }\n };\n const changeMic = deviceId => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.changeMic(deviceId);\n }\n };\n const startVideo = ({ link }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startVideo({ link });\n }\n };\n\n const stopVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopVideo();\n }\n };\n\n const resumeVideo = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.resumeVideo();\n }\n };\n\n const pauseVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.pauseVideo({ currentTime });\n }\n };\n\n const seekVideo = ({ currentTime }) => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.seekVideo({ currentTime });\n }\n };\n\n const startLivestream = streamInfo => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.startLivestream(streamInfo);\n }\n };\n\n const stopLivestream = () => {\n const meeting = meetingRef.current;\n if (meeting) {\n meeting.stopLivestream();\n }\n };\n\n const initSDK = () => {\n ZujoSDK.config(token);\n\n if (joinWithoutUserInteraction) {\n join();\n }\n };\n\n useEffect(() => {\n initSDK();\n }, []);\n\n return (\n <MeetingProviderContex.Provider\n value={{\n meetingId: config.meetingId,\n meeting,\n localParticipant,\n mainParticipant,\n activeSpeakerId,\n participants,\n presenterId,\n localMicOn,\n localWebcamOn,\n localScreenShareOn,\n messages,\n isRecording,\n isLiveStreaming,\n pinnedParticipants,\n //\n join,\n leave,\n end,\n //\n startRecording,\n stopRecording,\n //\n sendChatMessage,\n respondEntry,\n //\n muteMic,\n unmuteMic,\n toggleMic,\n //\n disableWebcam,\n enableWebcam,\n toggleWebcam,\n //\n disableScreenShare,\n enableScreenShare,\n toggleScreenShare,\n //\n getMics,\n getWebcams,\n changeWebcam,\n changeMic,\n\n startVideo,\n stopVideo,\n resumeVideo,\n pauseVideo,\n seekVideo,\n startLivestream,\n stopLivestream\n }}\n >\n {children}\n </MeetingProviderContex.Provider>\n );\n};\n\nexport default MeetingProvider;\n","import { useEffect, useState, useMemo } from 'react';\nimport { useMeeting } from '../meeting/meetingProviderContextDef';\n\nconst useParticipant = (\n participantId,\n { onStreamEnabled = () => {}, onStreamDisabled = () => {} } = {}\n) => {\n const [webcamStream, setwebcamStream] = useState(null);\n const [micStream, setMicStream] = useState(null);\n const [screenShareStream, setScreenShareStream] = useState(null);\n\n const meeting = useMeeting();\n\n const {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n } = useMemo(() => {\n const participants = meeting?.participants;\n const localParticipant = meeting?.localParticipant;\n const activeSpeakerId = meeting?.activeSpeakerId;\n const mainParticipant = meeting?.mainParticipant;\n const pinState = meeting?.pinnedParticipants?.get(participantId) || {\n cam: false,\n share: false\n };\n\n return {\n participants,\n localParticipant,\n activeSpeakerId,\n mainParticipant,\n pinState\n };\n }, [meeting]);\n\n const participant = participants?.get(participantId);\n\n const setTrack = stream => {\n if (stream.track.readyState === 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(stream);\n break;\n case 'audio':\n setMicStream(stream);\n break;\n case 'share':\n setScreenShareStream(stream);\n break;\n default:\n break;\n }\n }\n };\n\n const unSetTrack = stream => {\n if (stream.track.readyState !== 'live') {\n switch (stream.kind) {\n case 'video':\n setwebcamStream(null);\n break;\n case 'audio':\n setMicStream(null);\n break;\n case 'share':\n setScreenShareStream(null);\n break;\n default:\n break;\n }\n }\n };\n\n const _handleStreamEnabled = stream => {\n setTrack(stream);\n onStreamEnabled(stream);\n };\n\n const _handleStreamDisabled = stream => {\n unSetTrack(stream);\n onStreamDisabled(stream);\n };\n\n const setQuality = quality => {\n participant?.setQuality(quality);\n };\n const enableMic = () => {\n participant?.enableMic();\n };\n const disableMic = () => {\n participant?.disableMic();\n };\n const enableWebcam = () => {\n participant?.enableWebcam();\n };\n const disableWebcam = () => {\n participant?.disableWebcam();\n };\n const pin = data => {\n participant?.pin(data);\n };\n const unpin = data => {\n participant?.unpin(data);\n };\n\n useEffect(() => {\n const streams = participant?.streams;\n\n if (streams) {\n streams.forEach(stream => {\n setTrack(stream);\n });\n }\n\n participant?.on('stream-enabled', _handleStreamEnabled);\n\n participant?.on('stream-disabled', _handleStreamDisabled);\n\n return () => {\n participant?.off('stream-enabled', _handleStreamEnabled);\n\n participant?.off('stream-disabled', _handleStreamDisabled);\n };\n }, [participant]);\n\n return {\n displayName: participant?.displayName,\n participant,\n webcamStream,\n micStream,\n screenShareStream,\n webcamOn: !!webcamStream,\n micOn: !!micStream,\n screenShareOn: !!screenShareStream,\n isLocal: localParticipant?.id === participantId,\n isActiveSpeaker: activeSpeakerId === participantId,\n isMainParticipant: mainParticipant?.id === participantId,\n pinState,\n\n //\n setQuality,\n enableMic,\n disableMic,\n enableWebcam,\n disableWebcam,\n pin,\n unpin\n };\n};\n\nexport default useParticipant;\n"],"names":["eventPrifix","events","eventEmitter","EventEmitter","setMaxListeners","MeetingProviderContex","createContext","useMeeting","onParticipantJoined","onParticipantLeft","onSpeakerChanged","onPresenterChanged","onMainParticipantChanged","onEntryRequested","onEntryResponded","onRecordingStarted","onRecordingStopped","onChatMessage","onMeetingJoined","onMeetingLeft","onLiveStreamStarted","onLiveStreamStopped","onVideoStateChanged","onVideoSeeked","onWebcamRequested","onMicRequested","onPinStateChanged","useEffect","on","off","useContext","MeetingConsumer","children","MeetingProvider","config","token","joinWithoutUserInteraction","useState","meeting","setMeeting","localParticipant","setLocalParticipant","mainParticipant","setMainParticipant","activeSpeakerId","setActiveSpeakerId","presenterId","setPresenterId","localMicOn","setLocalMicOn","localWebcamOn","setLocalWebcamOn","localScreenShareOn","setLocalScreenShareOn","isRecording","setIsRecording","messages","setMessages","Map","participants","setParticipants","pinnedParticipants","setPinnedParticipants","isLiveStreaming","setIsLiveStreaming","meetingRef","useRef","localMicOnRef","localWebcamOnRef","localScreenShareOnRef","isRecordingRef","current","resetStates","_handle_participant_joined","participant","set","id","participantsToSet","emit","_handle_participant_left","newParticipants","_handle_presenter_changed","_handle_main_participant_changed","_handle_speaker_changed","_handle_chat_message","data","s","_handle_entry_requested","_handle_entry_responded","participantId","decision","_handle_recording_started","_handle_recording_stopped","_handle_localParticipant_stream_enabled","stream","track","readyState","kind","_handle_localParticipant_stream_disabled","_handle_live_stream_started","_handle_live_stream_stopped","_handle_video_state_changed","_handle_video_seeked","_handle_webcam_requested","_handle_mic_requested","_handle_meeting_joined","_handle_meeting_left","_handle_pin_state_changed","state","pinnedBy","cam","share","pinnedParticipantsToSet","join","ZujoSDK","initMeeting","leave","end","startRecording","webhookUrl","awsDirPath","stopRecording","unmuteMic","muteMic","toggleMic","disableWebcam","enableWebcam","toggleWebcam","disableScreenShare","enableScreenShare","toggleScreenShare","sendChatMessage","text","respondEntry","getMics","getWebcams","changeWebcam","deviceId","changeMic","startVideo","link","stopVideo","resumeVideo","pauseVideo","currentTime","seekVideo","startLivestream","streamInfo","stopLivestream","initSDK","meetingId","useParticipant","onStreamEnabled","onStreamDisabled","webcamStream","setwebcamStream","micStream","setMicStream","screenShareStream","setScreenShareStream","useMemo","pinState","get","setTrack","unSetTrack","_handleStreamEnabled","_handleStreamDisabled","setQuality","quality","enableMic","disableMic","pin","unpin","streams","forEach","displayName","webcamOn","micOn","screenShareOn","isLocal","isActiveSpeaker","isMainParticipant"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@videosdk.live/react-sdk",
3
- "version": "0.1.8",
3
+ "version": "0.1.12",
4
4
  "license": "ISC",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.modern.js",
@@ -11,7 +11,7 @@
11
11
  "lint": "eslint 'src/**/*.js'"
12
12
  },
13
13
  "peerDependencies": {
14
- "react": "^16.13.1"
14
+ "react": "^16.13.1 || ^17"
15
15
  },
16
16
  "keywords": [
17
17
  "react",
@@ -69,7 +69,7 @@
69
69
  }
70
70
  },
71
71
  "dependencies": {
72
- "@videosdk.live/js-sdk": "^0.0.14",
72
+ "@videosdk.live/js-sdk": "^0.0.18",
73
73
  "events": "^3.3.0"
74
74
  }
75
75
  }