@100mslive/react-native-room-kit 0.2.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1085) hide show
  1. package/README.md +2 -11
  2. package/lib/commonjs/HMSInstanceSetup.js +2 -2
  3. package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
  4. package/lib/commonjs/HMSPrebuilt.js +8 -10
  5. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  6. package/lib/commonjs/HMSRoomSetup.js +30 -33
  7. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  8. package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle-filled.png +0 -0
  9. package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle-filled@2x.png +0 -0
  10. package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle-filled@3x.png +0 -0
  11. package/lib/commonjs/Icons/AlertTriangle/index.js +2 -1
  12. package/lib/commonjs/Icons/AlertTriangle/index.js.map +1 -1
  13. package/lib/commonjs/Icons/Chevron/index.js +5 -1
  14. package/lib/commonjs/Icons/Chevron/index.js.map +1 -1
  15. package/lib/commonjs/Icons/Eye/assets/eye-on-small.png +0 -0
  16. package/lib/commonjs/Icons/Eye/assets/eye-on-small@2x.png +0 -0
  17. package/lib/commonjs/Icons/Eye/assets/eye-on-small@3x.png +0 -0
  18. package/lib/commonjs/Icons/Eye/index.js +35 -0
  19. package/lib/commonjs/Icons/Eye/index.js.map +1 -0
  20. package/lib/commonjs/Icons/Leave/index.js +5 -1
  21. package/lib/commonjs/Icons/Leave/index.js.map +1 -1
  22. package/lib/commonjs/Icons/Person/assets/person-left.png +0 -0
  23. package/lib/commonjs/Icons/Person/assets/person-left@2x.png +0 -0
  24. package/lib/commonjs/Icons/Person/assets/person-left@3x.png +0 -0
  25. package/lib/commonjs/Icons/Person/assets/person-off.png +0 -0
  26. package/lib/commonjs/Icons/Person/assets/person-off@2x.png +0 -0
  27. package/lib/commonjs/Icons/Person/assets/person-off@3x.png +0 -0
  28. package/lib/commonjs/Icons/Person/assets/person-rectangle.png +0 -0
  29. package/lib/commonjs/Icons/Person/assets/person-rectangle@2x.png +0 -0
  30. package/lib/commonjs/Icons/Person/assets/person-rectangle@3x.png +0 -0
  31. package/lib/commonjs/Icons/Person/index.js +2 -1
  32. package/lib/commonjs/Icons/Person/index.js.map +1 -1
  33. package/lib/commonjs/Icons/Search/assets/search.png +0 -0
  34. package/lib/commonjs/Icons/Search/assets/search@2x.png +0 -0
  35. package/lib/commonjs/Icons/Search/assets/search@3x.png +0 -0
  36. package/lib/commonjs/Icons/Search/index.js +34 -0
  37. package/lib/commonjs/Icons/Search/index.js.map +1 -0
  38. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  39. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  40. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  41. package/lib/commonjs/Icons/WelcomeHand/index.js +30 -0
  42. package/lib/commonjs/Icons/WelcomeHand/index.js.map +1 -0
  43. package/lib/commonjs/Icons/index.js +33 -0
  44. package/lib/commonjs/Icons/index.js.map +1 -1
  45. package/lib/commonjs/assets/audio-level-white.json +1271 -0
  46. package/lib/commonjs/assets/empty-chat-illustration/empty-chat.png +0 -0
  47. package/lib/commonjs/assets/empty-chat-illustration/empty-chat@2x.png +0 -0
  48. package/lib/commonjs/assets/empty-chat-illustration/empty-chat@3x.png +0 -0
  49. package/lib/commonjs/components/AnimatedFooter.js +35 -0
  50. package/lib/commonjs/components/AnimatedFooter.js.map +1 -0
  51. package/lib/commonjs/components/AnimatedHLSFooter.js +36 -0
  52. package/lib/commonjs/components/AnimatedHLSFooter.js.map +1 -0
  53. package/lib/commonjs/components/AnimatedHeader.js +44 -0
  54. package/lib/commonjs/components/AnimatedHeader.js.map +1 -0
  55. package/lib/commonjs/components/AvatarView.js +2 -2
  56. package/lib/commonjs/components/AvatarView.js.map +1 -1
  57. package/lib/commonjs/components/BackButton.js +2 -2
  58. package/lib/commonjs/components/BackButton.js.map +1 -1
  59. package/lib/commonjs/components/BottomSheet.js +8 -5
  60. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  61. package/lib/commonjs/components/ChangeNameModalContent.js +14 -7
  62. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
  63. package/lib/commonjs/components/Chat/ChatBanner.js +37 -57
  64. package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -1
  65. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +82 -0
  66. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -0
  67. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js +68 -0
  68. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js.map +1 -0
  69. package/lib/commonjs/components/Chat/ChatFilterItem.js +70 -0
  70. package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -0
  71. package/lib/commonjs/components/Chat/ChatFilterView.js +197 -0
  72. package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -0
  73. package/lib/commonjs/components/Chat/ChatList.js +9 -10
  74. package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
  75. package/lib/commonjs/components/Chat/ChatMessage.js +38 -139
  76. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
  77. package/lib/commonjs/components/Chat/PinnedMessage.js +41 -45
  78. package/lib/commonjs/components/Chat/PinnedMessage.js.map +1 -1
  79. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +42 -0
  80. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -0
  81. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +105 -0
  82. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -0
  83. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +65 -0
  84. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -0
  85. package/lib/commonjs/components/ChatAndParticipants/ChatView.js +36 -0
  86. package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -0
  87. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js +40 -0
  88. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js.map +1 -0
  89. package/lib/commonjs/components/ChatAndParticipants/index.js +17 -0
  90. package/lib/commonjs/components/ChatAndParticipants/index.js.map +1 -0
  91. package/lib/commonjs/components/CompanyLogo.js +4 -3
  92. package/lib/commonjs/components/CompanyLogo.js.map +1 -1
  93. package/lib/commonjs/components/DefaultModal.js +2 -6
  94. package/lib/commonjs/components/DefaultModal.js.map +1 -1
  95. package/lib/commonjs/components/DisplayView.js +8 -21
  96. package/lib/commonjs/components/DisplayView.js.map +1 -1
  97. package/lib/commonjs/components/EndRoomModalContent.js +22 -8
  98. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  99. package/lib/commonjs/components/Footer.js +40 -32
  100. package/lib/commonjs/components/Footer.js.map +1 -1
  101. package/lib/commonjs/components/FullScreenVideoView.js +74 -0
  102. package/lib/commonjs/components/FullScreenVideoView.js.map +1 -0
  103. package/lib/commonjs/components/GridView.js +132 -52
  104. package/lib/commonjs/components/GridView.js.map +1 -1
  105. package/lib/commonjs/components/HLSFooter.js +35 -0
  106. package/lib/commonjs/components/HLSFooter.js.map +1 -0
  107. package/lib/commonjs/components/HLSView.js +12 -24
  108. package/lib/commonjs/components/HLSView.js.map +1 -1
  109. package/lib/commonjs/components/HMSBaseButton.js +2 -2
  110. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  111. package/lib/commonjs/components/HMSChat.js +17 -16
  112. package/lib/commonjs/components/HMSChat.js.map +1 -1
  113. package/lib/commonjs/components/HMSDangerButton.js +4 -3
  114. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  115. package/lib/commonjs/components/HMSHLSMessage.js +66 -0
  116. package/lib/commonjs/components/HMSHLSMessage.js.map +1 -0
  117. package/lib/commonjs/components/HMSHLSMessageList.js +58 -0
  118. package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -0
  119. package/lib/commonjs/components/HMSHLSNotStarted.js +3 -8
  120. package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
  121. package/lib/commonjs/components/HMSHLSStreamLoading.js +6 -4
  122. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
  123. package/lib/commonjs/components/HMSHandRaiseNotification.js +84 -0
  124. package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -0
  125. package/lib/commonjs/components/HMSKeyboardAvoidingView.js +48 -0
  126. package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -0
  127. package/lib/commonjs/components/HMSLiveIndicator.js +104 -0
  128. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -0
  129. package/lib/commonjs/components/HMSLocalScreenshareNotification.js +38 -0
  130. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -0
  131. package/lib/commonjs/components/HMSLocalVideoView.js +6 -25
  132. package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -1
  133. package/lib/commonjs/components/HMSManageAudioOutput.js +9 -3
  134. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  135. package/lib/commonjs/components/HMSManageCameraRotation.js +2 -2
  136. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  137. package/lib/commonjs/components/HMSManageLeave.js +37 -14
  138. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  139. package/lib/commonjs/components/HMSManageLocalAudio.js +2 -2
  140. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  141. package/lib/commonjs/components/HMSManageLocalVideo.js +2 -2
  142. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  143. package/lib/commonjs/components/HMSManageRaiseHand.js +23 -11
  144. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
  145. package/lib/commonjs/components/HMSMeetingEnded.js +2 -2
  146. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
  147. package/lib/commonjs/components/HMSNotification.js +96 -0
  148. package/lib/commonjs/components/HMSNotification.js.map +1 -0
  149. package/lib/commonjs/components/HMSNotifications.js +114 -0
  150. package/lib/commonjs/components/HMSNotifications.js.map +1 -0
  151. package/lib/commonjs/components/HMSOverlayChatView.js +30 -0
  152. package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -0
  153. package/lib/commonjs/components/HMSPreviewEditName.js +2 -2
  154. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  155. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +5 -4
  156. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  157. package/lib/commonjs/components/HMSPreviewJoinButton.js +11 -7
  158. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  159. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +3 -3
  160. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
  161. package/lib/commonjs/components/HMSPreviewPeersList.js +2 -2
  162. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  163. package/lib/commonjs/components/HMSPreviewSubtitle.js +3 -5
  164. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  165. package/lib/commonjs/components/HMSPreviewTile.js +3 -3
  166. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  167. package/lib/commonjs/components/HMSPreviewTitle.js +3 -5
  168. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  169. package/lib/commonjs/components/HMSPrimaryButton.js +2 -2
  170. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  171. package/lib/commonjs/components/HMSRecordingIndicator.js +12 -5
  172. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
  173. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js +30 -0
  174. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js.map +1 -0
  175. package/lib/commonjs/components/HMSRoomOptions.js +2 -2
  176. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  177. package/lib/commonjs/components/HMSSendMessageInput.js +57 -0
  178. package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -0
  179. package/lib/commonjs/components/HMSTextInput.js +101 -15
  180. package/lib/commonjs/components/HMSTextInput.js.map +1 -1
  181. package/lib/commonjs/components/HMSVideoView.js +43 -0
  182. package/lib/commonjs/components/HMSVideoView.js.map +1 -0
  183. package/lib/commonjs/components/Header.js +21 -127
  184. package/lib/commonjs/components/Header.js.map +1 -1
  185. package/lib/commonjs/components/LocalPeerRegularVideoView.js +2 -2
  186. package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -1
  187. package/lib/commonjs/components/LocalPeerScreenshareView.js +3 -9
  188. package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -1
  189. package/lib/commonjs/components/Meeting.js +8 -7
  190. package/lib/commonjs/components/Meeting.js.map +1 -1
  191. package/lib/commonjs/components/MeetingScreenContent.js +23 -10
  192. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  193. package/lib/commonjs/components/MenuModal/Menu.js +2 -2
  194. package/lib/commonjs/components/MenuModal/Menu.js.map +1 -1
  195. package/lib/commonjs/components/MiniView.js +10 -5
  196. package/lib/commonjs/components/MiniView.js.map +1 -1
  197. package/lib/commonjs/components/Modals.js +90 -319
  198. package/lib/commonjs/components/Modals.js.map +1 -1
  199. package/lib/commonjs/components/OverlayContainer.js +41 -0
  200. package/lib/commonjs/components/OverlayContainer.js.map +1 -0
  201. package/lib/commonjs/components/OverlayedViews.js +21 -0
  202. package/lib/commonjs/components/OverlayedViews.js.map +1 -0
  203. package/lib/commonjs/components/PIPView.js +24 -18
  204. package/lib/commonjs/components/PIPView.js.map +1 -1
  205. package/lib/commonjs/components/PaginationDots.js +7 -8
  206. package/lib/commonjs/components/PaginationDots.js.map +1 -1
  207. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js +65 -0
  208. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js.map +1 -0
  209. package/lib/commonjs/components/Participants/ParticipantsAccordian.js +60 -0
  210. package/lib/commonjs/components/Participants/ParticipantsAccordian.js.map +1 -0
  211. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js +25 -0
  212. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js.map +1 -0
  213. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js +61 -0
  214. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js.map +1 -0
  215. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +131 -0
  216. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -0
  217. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js +79 -0
  218. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js.map +1 -0
  219. package/lib/commonjs/components/Participants/ParticipantsItem.js +123 -0
  220. package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -0
  221. package/lib/commonjs/components/Participants/ParticipantsItemOption.js +45 -0
  222. package/lib/commonjs/components/Participants/ParticipantsItemOption.js.map +1 -0
  223. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +219 -0
  224. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -0
  225. package/lib/commonjs/components/Participants/ParticipantsList.js +171 -220
  226. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
  227. package/lib/commonjs/components/Participants/ParticipantsListFooter.js +43 -0
  228. package/lib/commonjs/components/Participants/ParticipantsListFooter.js.map +1 -0
  229. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +38 -32
  230. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
  231. package/lib/commonjs/components/Participants/index.js +4 -26
  232. package/lib/commonjs/components/Participants/index.js.map +1 -1
  233. package/lib/commonjs/components/ParticipantsCount.js +3 -4
  234. package/lib/commonjs/components/ParticipantsCount.js.map +1 -1
  235. package/lib/commonjs/components/PeerDisplayView.js +1 -2
  236. package/lib/commonjs/components/PeerDisplayView.js.map +1 -1
  237. package/lib/commonjs/components/PeerMinimizedView.js +4 -5
  238. package/lib/commonjs/components/PeerMinimizedView.js.map +1 -1
  239. package/lib/commonjs/components/PeerRTCStatsContainer.js +3 -4
  240. package/lib/commonjs/components/PeerRTCStatsContainer.js.map +1 -1
  241. package/lib/commonjs/components/PeerRTCStatsView.js +1 -2
  242. package/lib/commonjs/components/PeerRTCStatsView.js.map +1 -1
  243. package/lib/commonjs/components/PeerSettingsModalContent.js +47 -123
  244. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  245. package/lib/commonjs/components/PeerVideoTile/AvatarView.js +23 -10
  246. package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -1
  247. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js +45 -0
  248. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -0
  249. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js +202 -0
  250. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js.map +1 -0
  251. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js +75 -0
  252. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -0
  253. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +22 -12
  254. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  255. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +12 -4
  256. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  257. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +60 -25
  258. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  259. package/lib/commonjs/components/PeerVideoTile/VideoView.js +46 -14
  260. package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -1
  261. package/lib/commonjs/components/PressableIcon.js +12 -7
  262. package/lib/commonjs/components/PressableIcon.js.map +1 -1
  263. package/lib/commonjs/components/Preview.js +10 -15
  264. package/lib/commonjs/components/Preview.js.map +1 -1
  265. package/lib/commonjs/components/PreviewForRoleChangeModal.js +326 -0
  266. package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -0
  267. package/lib/commonjs/components/ReconnectionView.js +65 -0
  268. package/lib/commonjs/components/ReconnectionView.js.map +1 -0
  269. package/lib/commonjs/components/RoomSettingsModalContent.js +54 -27
  270. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  271. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +32 -71
  272. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  273. package/lib/commonjs/components/StatusBar.js +2 -2
  274. package/lib/commonjs/components/StatusBar.js.map +1 -1
  275. package/lib/commonjs/components/StopRecordingModalContent.js +2 -2
  276. package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -1
  277. package/lib/commonjs/components/StreamingQualityModalContent.js +10 -11
  278. package/lib/commonjs/components/StreamingQualityModalContent.js.map +1 -1
  279. package/lib/commonjs/components/Tile.js +1 -2
  280. package/lib/commonjs/components/Tile.js.map +1 -1
  281. package/lib/commonjs/components/TilesContainer.js +32 -11
  282. package/lib/commonjs/components/TilesContainer.js.map +1 -1
  283. package/lib/commonjs/components/UnmountAfterDelay.js +3 -4
  284. package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -1
  285. package/lib/commonjs/components/WebrtcView.js +16 -19
  286. package/lib/commonjs/components/WebrtcView.js.map +1 -1
  287. package/lib/commonjs/components/WelcomeInMeeting.js +20 -23
  288. package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -1
  289. package/lib/commonjs/components/index.js +0 -33
  290. package/lib/commonjs/components/index.js.map +1 -1
  291. package/lib/commonjs/components/styles.js +1 -2
  292. package/lib/commonjs/components/styles.js.map +1 -1
  293. package/lib/commonjs/hooks-sdk.js +46 -1
  294. package/lib/commonjs/hooks-sdk.js.map +1 -1
  295. package/lib/commonjs/hooks-util-selectors.js +43 -9
  296. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  297. package/lib/commonjs/hooks-util.js +657 -237
  298. package/lib/commonjs/hooks-util.js.map +1 -1
  299. package/lib/commonjs/modules/HMSManager.js +3 -3
  300. package/lib/commonjs/modules/HMSManager.js.map +1 -1
  301. package/lib/commonjs/modules/parser.js +2 -3
  302. package/lib/commonjs/modules/parser.js.map +1 -1
  303. package/lib/commonjs/redux/actionTypes.js +30 -5
  304. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  305. package/lib/commonjs/redux/actions/index.js +108 -3
  306. package/lib/commonjs/redux/actions/index.js.map +1 -1
  307. package/lib/commonjs/redux/index.js +1 -2
  308. package/lib/commonjs/redux/index.js.map +1 -1
  309. package/lib/commonjs/redux/reducers/appState.js +80 -6
  310. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  311. package/lib/commonjs/redux/reducers/chatWindow.js +4 -9
  312. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
  313. package/lib/commonjs/redux/reducers/hmsStates.js +242 -9
  314. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  315. package/lib/commonjs/redux/reducers/index.js +1 -2
  316. package/lib/commonjs/redux/reducers/index.js.map +1 -1
  317. package/lib/commonjs/redux/reducers/message.js +3 -4
  318. package/lib/commonjs/redux/reducers/message.js.map +1 -1
  319. package/lib/commonjs/redux/reducers/userState.js +3 -4
  320. package/lib/commonjs/redux/reducers/userState.js.map +1 -1
  321. package/lib/commonjs/types.js +1 -2
  322. package/lib/commonjs/types.js.map +1 -1
  323. package/lib/commonjs/utils/dimension.js +2 -4
  324. package/lib/commonjs/utils/dimension.js.map +1 -1
  325. package/lib/commonjs/utils/functions.js +10 -3
  326. package/lib/commonjs/utils/functions.js.map +1 -1
  327. package/lib/commonjs/utils/theme.js +7 -10
  328. package/lib/commonjs/utils/theme.js.map +1 -1
  329. package/lib/commonjs/utils/types.js +17 -21
  330. package/lib/commonjs/utils/types.js.map +1 -1
  331. package/lib/commonjs/utils.js +7 -1
  332. package/lib/commonjs/utils.js.map +1 -1
  333. package/lib/module/HMSPrebuilt.js +5 -6
  334. package/lib/module/HMSPrebuilt.js.map +1 -1
  335. package/lib/module/HMSRoomSetup.js +30 -33
  336. package/lib/module/HMSRoomSetup.js.map +1 -1
  337. package/lib/module/Icons/AlertTriangle/assets/alert-triangle-filled.png +0 -0
  338. package/lib/module/Icons/AlertTriangle/assets/alert-triangle-filled@2x.png +0 -0
  339. package/lib/module/Icons/AlertTriangle/assets/alert-triangle-filled@3x.png +0 -0
  340. package/lib/module/Icons/AlertTriangle/index.js +2 -1
  341. package/lib/module/Icons/AlertTriangle/index.js.map +1 -1
  342. package/lib/module/Icons/Chevron/index.js +5 -1
  343. package/lib/module/Icons/Chevron/index.js.map +1 -1
  344. package/lib/module/Icons/Eye/assets/eye-on-small.png +0 -0
  345. package/lib/module/Icons/Eye/assets/eye-on-small@2x.png +0 -0
  346. package/lib/module/Icons/Eye/assets/eye-on-small@3x.png +0 -0
  347. package/lib/module/Icons/Eye/index.js +27 -0
  348. package/lib/module/Icons/Eye/index.js.map +1 -0
  349. package/lib/module/Icons/Leave/index.js +5 -1
  350. package/lib/module/Icons/Leave/index.js.map +1 -1
  351. package/lib/module/Icons/Person/assets/person-left.png +0 -0
  352. package/lib/module/Icons/Person/assets/person-left@2x.png +0 -0
  353. package/lib/module/Icons/Person/assets/person-left@3x.png +0 -0
  354. package/lib/module/Icons/Person/assets/person-off.png +0 -0
  355. package/lib/module/Icons/Person/assets/person-off@2x.png +0 -0
  356. package/lib/module/Icons/Person/assets/person-off@3x.png +0 -0
  357. package/lib/module/Icons/Person/assets/person-rectangle.png +0 -0
  358. package/lib/module/Icons/Person/assets/person-rectangle@2x.png +0 -0
  359. package/lib/module/Icons/Person/assets/person-rectangle@3x.png +0 -0
  360. package/lib/module/Icons/Person/index.js +2 -1
  361. package/lib/module/Icons/Person/index.js.map +1 -1
  362. package/lib/module/Icons/Search/assets/search.png +0 -0
  363. package/lib/module/Icons/Search/assets/search@2x.png +0 -0
  364. package/lib/module/Icons/Search/assets/search@3x.png +0 -0
  365. package/lib/module/Icons/Search/index.js +26 -0
  366. package/lib/module/Icons/Search/index.js.map +1 -0
  367. package/lib/module/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  368. package/lib/module/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  369. package/lib/module/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  370. package/lib/module/Icons/WelcomeHand/index.js +22 -0
  371. package/lib/module/Icons/WelcomeHand/index.js.map +1 -0
  372. package/lib/module/Icons/index.js +3 -0
  373. package/lib/module/Icons/index.js.map +1 -1
  374. package/lib/module/assets/audio-level-white.json +1271 -0
  375. package/lib/module/assets/empty-chat-illustration/empty-chat.png +0 -0
  376. package/lib/module/assets/empty-chat-illustration/empty-chat@2x.png +0 -0
  377. package/lib/module/assets/empty-chat-illustration/empty-chat@3x.png +0 -0
  378. package/lib/module/components/AnimatedFooter.js +26 -0
  379. package/lib/module/components/AnimatedFooter.js.map +1 -0
  380. package/lib/module/components/AnimatedHLSFooter.js +27 -0
  381. package/lib/module/components/AnimatedHLSFooter.js.map +1 -0
  382. package/lib/module/components/AnimatedHeader.js +35 -0
  383. package/lib/module/components/AnimatedHeader.js.map +1 -0
  384. package/lib/module/components/BottomSheet.js +6 -3
  385. package/lib/module/components/BottomSheet.js.map +1 -1
  386. package/lib/module/components/ChangeNameModalContent.js +13 -6
  387. package/lib/module/components/ChangeNameModalContent.js.map +1 -1
  388. package/lib/module/components/Chat/ChatBanner.js +36 -55
  389. package/lib/module/components/Chat/ChatBanner.js.map +1 -1
  390. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js +74 -0
  391. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -0
  392. package/lib/module/components/Chat/ChatFilterBottomSheetView.js +60 -0
  393. package/lib/module/components/Chat/ChatFilterBottomSheetView.js.map +1 -0
  394. package/lib/module/components/Chat/ChatFilterItem.js +62 -0
  395. package/lib/module/components/Chat/ChatFilterItem.js.map +1 -0
  396. package/lib/module/components/Chat/ChatFilterView.js +189 -0
  397. package/lib/module/components/Chat/ChatFilterView.js.map +1 -0
  398. package/lib/module/components/Chat/ChatList.js +6 -6
  399. package/lib/module/components/Chat/ChatList.js.map +1 -1
  400. package/lib/module/components/Chat/ChatMessage.js +36 -135
  401. package/lib/module/components/Chat/ChatMessage.js.map +1 -1
  402. package/lib/module/components/Chat/PinnedMessage.js +40 -43
  403. package/lib/module/components/Chat/PinnedMessage.js.map +1 -1
  404. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +33 -0
  405. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -0
  406. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +97 -0
  407. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -0
  408. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js +57 -0
  409. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -0
  410. package/lib/module/components/ChatAndParticipants/ChatView.js +28 -0
  411. package/lib/module/components/ChatAndParticipants/ChatView.js.map +1 -0
  412. package/lib/module/components/ChatAndParticipants/ParticipantsView.js +31 -0
  413. package/lib/module/components/ChatAndParticipants/ParticipantsView.js.map +1 -0
  414. package/lib/module/components/ChatAndParticipants/index.js +2 -0
  415. package/lib/module/components/ChatAndParticipants/index.js.map +1 -0
  416. package/lib/module/components/CompanyLogo.js +4 -3
  417. package/lib/module/components/CompanyLogo.js.map +1 -1
  418. package/lib/module/components/DefaultModal.js +2 -6
  419. package/lib/module/components/DefaultModal.js.map +1 -1
  420. package/lib/module/components/DisplayView.js +7 -20
  421. package/lib/module/components/DisplayView.js.map +1 -1
  422. package/lib/module/components/EndRoomModalContent.js +20 -6
  423. package/lib/module/components/EndRoomModalContent.js.map +1 -1
  424. package/lib/module/components/Footer.js +39 -30
  425. package/lib/module/components/Footer.js.map +1 -1
  426. package/lib/module/components/FullScreenVideoView.js +64 -0
  427. package/lib/module/components/FullScreenVideoView.js.map +1 -0
  428. package/lib/module/components/GridView.js +130 -49
  429. package/lib/module/components/GridView.js.map +1 -1
  430. package/lib/module/components/HLSFooter.js +26 -0
  431. package/lib/module/components/HLSFooter.js.map +1 -0
  432. package/lib/module/components/HLSView.js +11 -23
  433. package/lib/module/components/HLSView.js.map +1 -1
  434. package/lib/module/components/HMSChat.js +16 -15
  435. package/lib/module/components/HMSChat.js.map +1 -1
  436. package/lib/module/components/HMSDangerButton.js +2 -1
  437. package/lib/module/components/HMSDangerButton.js.map +1 -1
  438. package/lib/module/components/HMSHLSMessage.js +58 -0
  439. package/lib/module/components/HMSHLSMessage.js.map +1 -0
  440. package/lib/module/components/HMSHLSMessageList.js +49 -0
  441. package/lib/module/components/HMSHLSMessageList.js.map +1 -0
  442. package/lib/module/components/HMSHLSNotStarted.js +2 -7
  443. package/lib/module/components/HMSHLSNotStarted.js.map +1 -1
  444. package/lib/module/components/HMSHLSStreamLoading.js +5 -3
  445. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
  446. package/lib/module/components/HMSHandRaiseNotification.js +75 -0
  447. package/lib/module/components/HMSHandRaiseNotification.js.map +1 -0
  448. package/lib/module/components/HMSKeyboardAvoidingView.js +39 -0
  449. package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -0
  450. package/lib/module/components/HMSLiveIndicator.js +96 -0
  451. package/lib/module/components/HMSLiveIndicator.js.map +1 -0
  452. package/lib/module/components/HMSLocalScreenshareNotification.js +29 -0
  453. package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -0
  454. package/lib/module/components/HMSLocalVideoView.js +4 -23
  455. package/lib/module/components/HMSLocalVideoView.js.map +1 -1
  456. package/lib/module/components/HMSManageAudioOutput.js +8 -2
  457. package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
  458. package/lib/module/components/HMSManageLeave.js +37 -14
  459. package/lib/module/components/HMSManageLeave.js.map +1 -1
  460. package/lib/module/components/HMSManageRaiseHand.js +22 -10
  461. package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
  462. package/lib/module/components/HMSNotification.js +87 -0
  463. package/lib/module/components/HMSNotification.js.map +1 -0
  464. package/lib/module/components/HMSNotifications.js +105 -0
  465. package/lib/module/components/HMSNotifications.js.map +1 -0
  466. package/lib/module/components/HMSOverlayChatView.js +20 -0
  467. package/lib/module/components/HMSOverlayChatView.js.map +1 -0
  468. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +3 -2
  469. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  470. package/lib/module/components/HMSPreviewJoinButton.js +10 -6
  471. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  472. package/lib/module/components/HMSPreviewNetworkQuality.js +1 -1
  473. package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -1
  474. package/lib/module/components/HMSPreviewSubtitle.js +2 -4
  475. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  476. package/lib/module/components/HMSPreviewTile.js +1 -1
  477. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  478. package/lib/module/components/HMSPreviewTitle.js +2 -4
  479. package/lib/module/components/HMSPreviewTitle.js.map +1 -1
  480. package/lib/module/components/HMSRecordingIndicator.js +10 -3
  481. package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
  482. package/lib/module/components/HMSRoleChangeDeclinedNotification.js +21 -0
  483. package/lib/module/components/HMSRoleChangeDeclinedNotification.js.map +1 -0
  484. package/lib/module/components/HMSSendMessageInput.js +48 -0
  485. package/lib/module/components/HMSSendMessageInput.js.map +1 -0
  486. package/lib/module/components/HMSTextInput.js +100 -14
  487. package/lib/module/components/HMSTextInput.js.map +1 -1
  488. package/lib/module/components/HMSVideoView.js +34 -0
  489. package/lib/module/components/HMSVideoView.js.map +1 -0
  490. package/lib/module/components/Header.js +18 -123
  491. package/lib/module/components/Header.js.map +1 -1
  492. package/lib/module/components/LocalPeerScreenshareView.js +1 -6
  493. package/lib/module/components/LocalPeerScreenshareView.js.map +1 -1
  494. package/lib/module/components/Meeting.js +8 -7
  495. package/lib/module/components/Meeting.js.map +1 -1
  496. package/lib/module/components/MeetingScreenContent.js +23 -10
  497. package/lib/module/components/MeetingScreenContent.js.map +1 -1
  498. package/lib/module/components/MenuModal/Menu.js +2 -2
  499. package/lib/module/components/MenuModal/Menu.js.map +1 -1
  500. package/lib/module/components/MiniView.js +8 -3
  501. package/lib/module/components/MiniView.js.map +1 -1
  502. package/lib/module/components/Modals.js +88 -313
  503. package/lib/module/components/Modals.js.map +1 -1
  504. package/lib/module/components/OverlayContainer.js +32 -0
  505. package/lib/module/components/OverlayContainer.js.map +1 -0
  506. package/lib/module/components/OverlayedViews.js +13 -0
  507. package/lib/module/components/OverlayedViews.js.map +1 -0
  508. package/lib/module/components/PIPView.js +21 -13
  509. package/lib/module/components/PIPView.js.map +1 -1
  510. package/lib/module/components/PaginationDots.js +4 -4
  511. package/lib/module/components/PaginationDots.js.map +1 -1
  512. package/lib/module/components/Participants/MultiRoleParticipantsList.js +56 -0
  513. package/lib/module/components/Participants/MultiRoleParticipantsList.js.map +1 -0
  514. package/lib/module/components/Participants/ParticipantsAccordian.js +51 -0
  515. package/lib/module/components/Participants/ParticipantsAccordian.js.map +1 -0
  516. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js +16 -0
  517. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js.map +1 -0
  518. package/lib/module/components/Participants/ParticipantsGroupFooter.js +53 -0
  519. package/lib/module/components/Participants/ParticipantsGroupFooter.js.map +1 -0
  520. package/lib/module/components/Participants/ParticipantsGroupHeader.js +122 -0
  521. package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -0
  522. package/lib/module/components/Participants/ParticipantsGroupOptions.js +71 -0
  523. package/lib/module/components/Participants/ParticipantsGroupOptions.js.map +1 -0
  524. package/lib/module/components/Participants/ParticipantsItem.js +115 -0
  525. package/lib/module/components/Participants/ParticipantsItem.js.map +1 -0
  526. package/lib/module/components/Participants/ParticipantsItemOption.js +37 -0
  527. package/lib/module/components/Participants/ParticipantsItemOption.js.map +1 -0
  528. package/lib/module/components/Participants/ParticipantsItemOptions.js +211 -0
  529. package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -0
  530. package/lib/module/components/Participants/ParticipantsList.js +171 -219
  531. package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
  532. package/lib/module/components/Participants/ParticipantsListFooter.js +35 -0
  533. package/lib/module/components/Participants/ParticipantsListFooter.js.map +1 -0
  534. package/lib/module/components/Participants/ParticipantsSeachInput.js +37 -30
  535. package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
  536. package/lib/module/components/Participants/index.js +1 -3
  537. package/lib/module/components/Participants/index.js.map +1 -1
  538. package/lib/module/components/PeerMinimizedView.js +1 -1
  539. package/lib/module/components/PeerSettingsModalContent.js +50 -126
  540. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  541. package/lib/module/components/PeerVideoTile/AvatarView.js +20 -6
  542. package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -1
  543. package/lib/module/components/PeerVideoTile/HMSFullScreenButton.js +36 -0
  544. package/lib/module/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -0
  545. package/lib/module/components/PeerVideoTile/HMSPinchGesture.js +193 -0
  546. package/lib/module/components/PeerVideoTile/HMSPinchGesture.js.map +1 -0
  547. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js +65 -0
  548. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -0
  549. package/lib/module/components/PeerVideoTile/PeerMetadata.js +21 -11
  550. package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  551. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +11 -3
  552. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  553. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +59 -22
  554. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  555. package/lib/module/components/PeerVideoTile/VideoView.js +43 -10
  556. package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -1
  557. package/lib/module/components/PressableIcon.js +11 -6
  558. package/lib/module/components/PressableIcon.js.map +1 -1
  559. package/lib/module/components/Preview.js +11 -14
  560. package/lib/module/components/Preview.js.map +1 -1
  561. package/lib/module/components/PreviewForRoleChangeModal.js +317 -0
  562. package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -0
  563. package/lib/module/components/ReconnectionView.js +56 -0
  564. package/lib/module/components/ReconnectionView.js.map +1 -0
  565. package/lib/module/components/RoomSettingsModalContent.js +53 -26
  566. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  567. package/lib/module/components/RoomSettingsModalDebugModeContent.js +32 -71
  568. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  569. package/lib/module/components/StreamingQualityModalContent.js +8 -8
  570. package/lib/module/components/StreamingQualityModalContent.js.map +1 -1
  571. package/lib/module/components/TilesContainer.js +31 -9
  572. package/lib/module/components/TilesContainer.js.map +1 -1
  573. package/lib/module/components/WebrtcView.js +13 -15
  574. package/lib/module/components/WebrtcView.js.map +1 -1
  575. package/lib/module/components/WelcomeInMeeting.js +19 -22
  576. package/lib/module/components/WelcomeInMeeting.js.map +1 -1
  577. package/lib/module/components/index.js +0 -3
  578. package/lib/module/components/index.js.map +1 -1
  579. package/lib/module/hooks-sdk.js +46 -1
  580. package/lib/module/hooks-sdk.js.map +1 -1
  581. package/lib/module/hooks-util-selectors.js +38 -8
  582. package/lib/module/hooks-util-selectors.js.map +1 -1
  583. package/lib/module/hooks-util.js +654 -239
  584. package/lib/module/hooks-util.js.map +1 -1
  585. package/lib/module/modules/HMSManager.js +3 -3
  586. package/lib/module/modules/HMSManager.js.map +1 -1
  587. package/lib/module/modules/parser.js +2 -3
  588. package/lib/module/modules/parser.js.map +1 -1
  589. package/lib/module/redux/actionTypes.js +28 -1
  590. package/lib/module/redux/actionTypes.js.map +1 -1
  591. package/lib/module/redux/actions/index.js +87 -0
  592. package/lib/module/redux/actions/index.js.map +1 -1
  593. package/lib/module/redux/reducers/appState.js +78 -2
  594. package/lib/module/redux/reducers/appState.js.map +1 -1
  595. package/lib/module/redux/reducers/chatWindow.js +3 -7
  596. package/lib/module/redux/reducers/chatWindow.js.map +1 -1
  597. package/lib/module/redux/reducers/hmsStates.js +241 -7
  598. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  599. package/lib/module/utils/functions.js +8 -2
  600. package/lib/module/utils/functions.js.map +1 -1
  601. package/lib/module/utils/theme.js +2 -0
  602. package/lib/module/utils/theme.js.map +1 -1
  603. package/lib/module/utils/types.js +7 -2
  604. package/lib/module/utils/types.js.map +1 -1
  605. package/lib/module/utils.js +6 -0
  606. package/lib/module/utils.js.map +1 -1
  607. package/lib/typescript/HMSPrebuilt.d.ts +1 -0
  608. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  609. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  610. package/lib/typescript/Icons/AlertTriangle/index.d.ts +1 -0
  611. package/lib/typescript/Icons/AlertTriangle/index.d.ts.map +1 -1
  612. package/lib/typescript/Icons/Chevron/index.d.ts +1 -1
  613. package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -1
  614. package/lib/typescript/Icons/Eye/index.d.ts +8 -0
  615. package/lib/typescript/Icons/Eye/index.d.ts.map +1 -0
  616. package/lib/typescript/Icons/Leave/index.d.ts.map +1 -1
  617. package/lib/typescript/Icons/Person/index.d.ts +1 -0
  618. package/lib/typescript/Icons/Person/index.d.ts.map +1 -1
  619. package/lib/typescript/Icons/Search/index.d.ts +7 -0
  620. package/lib/typescript/Icons/Search/index.d.ts.map +1 -0
  621. package/lib/typescript/Icons/WelcomeHand/index.d.ts +7 -0
  622. package/lib/typescript/Icons/WelcomeHand/index.d.ts.map +1 -0
  623. package/lib/typescript/Icons/index.d.ts +3 -0
  624. package/lib/typescript/Icons/index.d.ts.map +1 -1
  625. package/lib/typescript/components/AnimatedFooter.d.ts +8 -0
  626. package/lib/typescript/components/AnimatedFooter.d.ts.map +1 -0
  627. package/lib/typescript/components/AnimatedHLSFooter.d.ts +11 -0
  628. package/lib/typescript/components/AnimatedHLSFooter.d.ts.map +1 -0
  629. package/lib/typescript/components/AnimatedHeader.d.ts +7 -0
  630. package/lib/typescript/components/AnimatedHeader.d.ts.map +1 -0
  631. package/lib/typescript/components/BottomSheet.d.ts +4 -1
  632. package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
  633. package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -1
  634. package/lib/typescript/components/Chat/ChatBanner.d.ts +1 -1
  635. package/lib/typescript/components/Chat/ChatBanner.d.ts.map +1 -1
  636. package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts +6 -0
  637. package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts.map +1 -0
  638. package/lib/typescript/components/Chat/ChatFilterBottomSheetView.d.ts +6 -0
  639. package/lib/typescript/components/Chat/ChatFilterBottomSheetView.d.ts.map +1 -0
  640. package/lib/typescript/components/Chat/ChatFilterItem.d.ts +12 -0
  641. package/lib/typescript/components/Chat/ChatFilterItem.d.ts.map +1 -0
  642. package/lib/typescript/components/Chat/ChatFilterView.d.ts +6 -0
  643. package/lib/typescript/components/Chat/ChatFilterView.d.ts.map +1 -0
  644. package/lib/typescript/components/Chat/ChatList.d.ts.map +1 -1
  645. package/lib/typescript/components/Chat/ChatMessage.d.ts +2 -2
  646. package/lib/typescript/components/Chat/ChatMessage.d.ts.map +1 -1
  647. package/lib/typescript/components/Chat/PinnedMessage.d.ts.map +1 -1
  648. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts +3 -0
  649. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts.map +1 -0
  650. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts +7 -0
  651. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -0
  652. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts +3 -0
  653. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts.map +1 -0
  654. package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts +6 -0
  655. package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts.map +1 -0
  656. package/lib/typescript/components/ChatAndParticipants/ParticipantsView.d.ts +5 -0
  657. package/lib/typescript/components/ChatAndParticipants/ParticipantsView.d.ts.map +1 -0
  658. package/lib/typescript/components/ChatAndParticipants/index.d.ts +2 -0
  659. package/lib/typescript/components/ChatAndParticipants/index.d.ts.map +1 -0
  660. package/lib/typescript/components/CompanyLogo.d.ts.map +1 -1
  661. package/lib/typescript/components/DefaultModal.d.ts.map +1 -1
  662. package/lib/typescript/components/DisplayView.d.ts.map +1 -1
  663. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
  664. package/lib/typescript/components/Footer.d.ts +0 -2
  665. package/lib/typescript/components/Footer.d.ts.map +1 -1
  666. package/lib/typescript/components/FullScreenVideoView.d.ts +3 -0
  667. package/lib/typescript/components/FullScreenVideoView.d.ts.map +1 -0
  668. package/lib/typescript/components/GridView.d.ts +12 -1
  669. package/lib/typescript/components/GridView.d.ts.map +1 -1
  670. package/lib/typescript/components/HLSFooter.d.ts +8 -0
  671. package/lib/typescript/components/HLSFooter.d.ts.map +1 -0
  672. package/lib/typescript/components/HLSView.d.ts.map +1 -1
  673. package/lib/typescript/components/HMSBaseButton.d.ts +2 -2
  674. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
  675. package/lib/typescript/components/HMSChat.d.ts.map +1 -1
  676. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
  677. package/lib/typescript/components/HMSHLSMessage.d.ts +8 -0
  678. package/lib/typescript/components/HMSHLSMessage.d.ts.map +1 -0
  679. package/lib/typescript/components/HMSHLSMessageList.d.ts +3 -0
  680. package/lib/typescript/components/HMSHLSMessageList.d.ts.map +1 -0
  681. package/lib/typescript/components/HMSHLSNotStarted.d.ts.map +1 -1
  682. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -1
  683. package/lib/typescript/components/HMSHandRaiseNotification.d.ts +10 -0
  684. package/lib/typescript/components/HMSHandRaiseNotification.d.ts.map +1 -0
  685. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts +8 -0
  686. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -0
  687. package/lib/typescript/components/HMSLiveIndicator.d.ts +3 -0
  688. package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -0
  689. package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts +5 -0
  690. package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -0
  691. package/lib/typescript/components/HMSLocalVideoView.d.ts.map +1 -1
  692. package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
  693. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  694. package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
  695. package/lib/typescript/components/HMSNotification.d.ts +15 -0
  696. package/lib/typescript/components/HMSNotification.d.ts.map +1 -0
  697. package/lib/typescript/components/HMSNotifications.d.ts +5 -0
  698. package/lib/typescript/components/HMSNotifications.d.ts.map +1 -0
  699. package/lib/typescript/components/HMSOverlayChatView.d.ts +3 -0
  700. package/lib/typescript/components/HMSOverlayChatView.d.ts.map +1 -0
  701. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  702. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  703. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -1
  704. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
  705. package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
  706. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
  707. package/lib/typescript/components/HMSRoleChangeDeclinedNotification.d.ts +9 -0
  708. package/lib/typescript/components/HMSRoleChangeDeclinedNotification.d.ts.map +1 -0
  709. package/lib/typescript/components/HMSSendMessageInput.d.ts +9 -0
  710. package/lib/typescript/components/HMSSendMessageInput.d.ts.map +1 -0
  711. package/lib/typescript/components/HMSTextInput.d.ts +20 -6
  712. package/lib/typescript/components/HMSTextInput.d.ts.map +1 -1
  713. package/lib/typescript/components/HMSVideoView.d.ts +6 -0
  714. package/lib/typescript/components/HMSVideoView.d.ts.map +1 -0
  715. package/lib/typescript/components/Header.d.ts +3 -2
  716. package/lib/typescript/components/Header.d.ts.map +1 -1
  717. package/lib/typescript/components/LocalPeerScreenshareView.d.ts.map +1 -1
  718. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  719. package/lib/typescript/components/MeetingScreenContent.d.ts.map +1 -1
  720. package/lib/typescript/components/MiniView.d.ts.map +1 -1
  721. package/lib/typescript/components/Modals.d.ts +1 -21
  722. package/lib/typescript/components/Modals.d.ts.map +1 -1
  723. package/lib/typescript/components/OverlayContainer.d.ts +9 -0
  724. package/lib/typescript/components/OverlayContainer.d.ts.map +1 -0
  725. package/lib/typescript/components/OverlayedViews.d.ts +4 -0
  726. package/lib/typescript/components/OverlayedViews.d.ts.map +1 -0
  727. package/lib/typescript/components/PIPView.d.ts +2 -1
  728. package/lib/typescript/components/PIPView.d.ts.map +1 -1
  729. package/lib/typescript/components/PaginationDots.d.ts +3 -0
  730. package/lib/typescript/components/PaginationDots.d.ts.map +1 -1
  731. package/lib/typescript/components/Participants/MultiRoleParticipantsList.d.ts +7 -0
  732. package/lib/typescript/components/Participants/MultiRoleParticipantsList.d.ts.map +1 -0
  733. package/lib/typescript/components/Participants/ParticipantsAccordian.d.ts +11 -0
  734. package/lib/typescript/components/Participants/ParticipantsAccordian.d.ts.map +1 -0
  735. package/lib/typescript/components/Participants/ParticipantsAccordianExpanded.d.ts +9 -0
  736. package/lib/typescript/components/Participants/ParticipantsAccordianExpanded.d.ts.map +1 -0
  737. package/lib/typescript/components/Participants/ParticipantsGroupFooter.d.ts +9 -0
  738. package/lib/typescript/components/Participants/ParticipantsGroupFooter.d.ts.map +1 -0
  739. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts +12 -0
  740. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts.map +1 -0
  741. package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts +6 -0
  742. package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts.map +1 -0
  743. package/lib/typescript/components/Participants/ParticipantsItem.d.ts +9 -0
  744. package/lib/typescript/components/Participants/ParticipantsItem.d.ts.map +1 -0
  745. package/lib/typescript/components/Participants/ParticipantsItemOption.d.ts +12 -0
  746. package/lib/typescript/components/Participants/ParticipantsItemOption.d.ts.map +1 -0
  747. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts +10 -0
  748. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -0
  749. package/lib/typescript/components/Participants/ParticipantsList.d.ts +3 -2
  750. package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
  751. package/lib/typescript/components/Participants/ParticipantsListFooter.d.ts +6 -0
  752. package/lib/typescript/components/Participants/ParticipantsListFooter.d.ts.map +1 -0
  753. package/lib/typescript/components/Participants/ParticipantsSeachInput.d.ts.map +1 -1
  754. package/lib/typescript/components/Participants/index.d.ts +1 -3
  755. package/lib/typescript/components/Participants/index.d.ts.map +1 -1
  756. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  757. package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts +4 -0
  758. package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts.map +1 -1
  759. package/lib/typescript/components/PeerVideoTile/HMSFullScreenButton.d.ts +7 -0
  760. package/lib/typescript/components/PeerVideoTile/HMSFullScreenButton.d.ts.map +1 -0
  761. package/lib/typescript/components/PeerVideoTile/HMSPinchGesture.d.ts +7 -0
  762. package/lib/typescript/components/PeerVideoTile/HMSPinchGesture.d.ts.map +1 -0
  763. package/lib/typescript/components/PeerVideoTile/PeerAudioIndicator.d.ts +8 -0
  764. package/lib/typescript/components/PeerVideoTile/PeerAudioIndicator.d.ts.map +1 -0
  765. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +1 -0
  766. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -1
  767. package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -1
  768. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts +2 -1
  769. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
  770. package/lib/typescript/components/PeerVideoTile/VideoView.d.ts +1 -0
  771. package/lib/typescript/components/PeerVideoTile/VideoView.d.ts.map +1 -1
  772. package/lib/typescript/components/PressableIcon.d.ts.map +1 -1
  773. package/lib/typescript/components/Preview.d.ts.map +1 -1
  774. package/lib/typescript/components/PreviewForRoleChangeModal.d.ts +3 -0
  775. package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -0
  776. package/lib/typescript/components/ReconnectionView.d.ts +4 -0
  777. package/lib/typescript/components/ReconnectionView.d.ts.map +1 -0
  778. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  779. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -1
  780. package/lib/typescript/components/StreamingQualityModalContent.d.ts.map +1 -1
  781. package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
  782. package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
  783. package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -1
  784. package/lib/typescript/components/index.d.ts +0 -3
  785. package/lib/typescript/components/index.d.ts.map +1 -1
  786. package/lib/typescript/hooks-sdk.d.ts +4 -0
  787. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  788. package/lib/typescript/hooks-util-selectors.d.ts +7 -2
  789. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  790. package/lib/typescript/hooks-util.d.ts +46 -26
  791. package/lib/typescript/hooks-util.d.ts.map +1 -1
  792. package/lib/typescript/modules/HMSManager.d.ts +1 -1
  793. package/lib/typescript/modules/HMSManager.d.ts.map +1 -1
  794. package/lib/typescript/modules/parser.d.ts +1 -1
  795. package/lib/typescript/modules/parser.d.ts.map +1 -1
  796. package/lib/typescript/redux/actionTypes.d.ts +19 -1
  797. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  798. package/lib/typescript/redux/actions/index.d.ts +105 -4
  799. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  800. package/lib/typescript/redux/index.d.ts +22 -2
  801. package/lib/typescript/redux/index.d.ts.map +1 -1
  802. package/lib/typescript/redux/reducers/appState.d.ts +10 -0
  803. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  804. package/lib/typescript/redux/reducers/chatWindow.d.ts +6 -6
  805. package/lib/typescript/redux/reducers/chatWindow.d.ts.map +1 -1
  806. package/lib/typescript/redux/reducers/hmsStates.d.ts +45 -4
  807. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  808. package/lib/typescript/redux/reducers/index.d.ts +22 -2
  809. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  810. package/lib/typescript/redux/reducers/userState.d.ts +1 -0
  811. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  812. package/lib/typescript/utils/functions.d.ts +3 -2
  813. package/lib/typescript/utils/functions.d.ts.map +1 -1
  814. package/lib/typescript/utils/theme.d.ts +1 -1
  815. package/lib/typescript/utils/theme.d.ts.map +1 -1
  816. package/lib/typescript/utils/types.d.ts +7 -2
  817. package/lib/typescript/utils/types.d.ts.map +1 -1
  818. package/lib/typescript/utils.d.ts +5 -0
  819. package/lib/typescript/utils.d.ts.map +1 -1
  820. package/package.json +13 -9
  821. package/src/HMSPrebuilt.tsx +9 -12
  822. package/src/HMSRoomSetup.tsx +51 -29
  823. package/src/Icons/AlertTriangle/assets/alert-triangle-filled.png +0 -0
  824. package/src/Icons/AlertTriangle/assets/alert-triangle-filled@2x.png +0 -0
  825. package/src/Icons/AlertTriangle/assets/alert-triangle-filled@3x.png +0 -0
  826. package/src/Icons/AlertTriangle/index.tsx +9 -2
  827. package/src/Icons/Chevron/index.tsx +9 -2
  828. package/src/Icons/Eye/assets/eye-on-small.png +0 -0
  829. package/src/Icons/Eye/assets/eye-on-small@2x.png +0 -0
  830. package/src/Icons/Eye/assets/eye-on-small@3x.png +0 -0
  831. package/src/Icons/Eye/index.tsx +36 -0
  832. package/src/Icons/Leave/index.tsx +7 -1
  833. package/src/Icons/Person/assets/person-left.png +0 -0
  834. package/src/Icons/Person/assets/person-left@2x.png +0 -0
  835. package/src/Icons/Person/assets/person-left@3x.png +0 -0
  836. package/src/Icons/Person/assets/person-off.png +0 -0
  837. package/src/Icons/Person/assets/person-off@2x.png +0 -0
  838. package/src/Icons/Person/assets/person-off@3x.png +0 -0
  839. package/src/Icons/Person/assets/person-rectangle.png +0 -0
  840. package/src/Icons/Person/assets/person-rectangle@2x.png +0 -0
  841. package/src/Icons/Person/assets/person-rectangle@3x.png +0 -0
  842. package/src/Icons/Person/index.tsx +13 -2
  843. package/src/Icons/Search/assets/search.png +0 -0
  844. package/src/Icons/Search/assets/search@2x.png +0 -0
  845. package/src/Icons/Search/assets/search@3x.png +0 -0
  846. package/src/Icons/Search/index.tsx +33 -0
  847. package/src/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  848. package/src/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  849. package/src/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  850. package/src/Icons/WelcomeHand/index.tsx +27 -0
  851. package/src/Icons/index.ts +3 -0
  852. package/src/assets/audio-level-white.json +1271 -0
  853. package/src/assets/empty-chat-illustration/empty-chat.png +0 -0
  854. package/src/assets/empty-chat-illustration/empty-chat@2x.png +0 -0
  855. package/src/assets/empty-chat-illustration/empty-chat@3x.png +0 -0
  856. package/src/components/AnimatedFooter.tsx +37 -0
  857. package/src/components/AnimatedHLSFooter.tsx +43 -0
  858. package/src/components/AnimatedHeader.tsx +53 -0
  859. package/src/components/BottomSheet.tsx +8 -4
  860. package/src/components/ChangeNameModalContent.tsx +19 -9
  861. package/src/components/Chat/ChatBanner.tsx +37 -52
  862. package/src/components/Chat/ChatFilterBottomSheetOpener.tsx +88 -0
  863. package/src/components/Chat/ChatFilterBottomSheetView.tsx +81 -0
  864. package/src/components/Chat/ChatFilterItem.tsx +71 -0
  865. package/src/components/Chat/ChatFilterView.tsx +250 -0
  866. package/src/components/Chat/ChatList.tsx +16 -12
  867. package/src/components/Chat/ChatMessage.tsx +48 -197
  868. package/src/components/Chat/PinnedMessage.tsx +45 -45
  869. package/src/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.tsx +38 -0
  870. package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +143 -0
  871. package/src/components/ChatAndParticipants/ChatAndParticipantsView.tsx +84 -0
  872. package/src/components/ChatAndParticipants/ChatView.tsx +42 -0
  873. package/src/components/ChatAndParticipants/ParticipantsView.tsx +49 -0
  874. package/src/components/ChatAndParticipants/index.ts +1 -0
  875. package/src/components/CompanyLogo.tsx +3 -2
  876. package/src/components/DefaultModal.tsx +4 -6
  877. package/src/components/DisplayView.tsx +10 -26
  878. package/src/components/EndRoomModalContent.tsx +32 -7
  879. package/src/components/Footer.tsx +93 -58
  880. package/src/components/FullScreenVideoView.tsx +77 -0
  881. package/src/components/GridView.tsx +186 -65
  882. package/src/components/HLSFooter.tsx +32 -0
  883. package/src/components/HLSView.tsx +5 -32
  884. package/src/components/HMSBaseButton.tsx +2 -2
  885. package/src/components/HMSChat.tsx +12 -25
  886. package/src/components/HMSDangerButton.tsx +2 -1
  887. package/src/components/HMSHLSMessage.tsx +72 -0
  888. package/src/components/HMSHLSMessageList.tsx +60 -0
  889. package/src/components/HMSHLSNotStarted.tsx +8 -19
  890. package/src/components/HMSHLSStreamLoading.tsx +9 -3
  891. package/src/components/HMSHandRaiseNotification.tsx +101 -0
  892. package/src/components/HMSKeyboardAvoidingView.tsx +58 -0
  893. package/src/components/HMSLiveIndicator.tsx +124 -0
  894. package/src/components/HMSLocalScreenshareNotification.tsx +41 -0
  895. package/src/components/HMSLocalVideoView.tsx +4 -31
  896. package/src/components/HMSManageAudioOutput.tsx +14 -2
  897. package/src/components/HMSManageLeave.tsx +47 -19
  898. package/src/components/HMSManageRaiseHand.tsx +20 -13
  899. package/src/components/HMSNotification.tsx +126 -0
  900. package/src/components/HMSNotifications.tsx +154 -0
  901. package/src/components/HMSOverlayChatView.tsx +36 -0
  902. package/src/components/HMSPreviewHLSLiveIndicator.tsx +3 -2
  903. package/src/components/HMSPreviewJoinButton.tsx +20 -6
  904. package/src/components/HMSPreviewNetworkQuality.tsx +3 -1
  905. package/src/components/HMSPreviewSubtitle.tsx +2 -6
  906. package/src/components/HMSPreviewTile.tsx +1 -1
  907. package/src/components/HMSPreviewTitle.tsx +2 -6
  908. package/src/components/HMSRecordingIndicator.tsx +16 -3
  909. package/src/components/HMSRoleChangeDeclinedNotification.tsx +25 -0
  910. package/src/components/HMSSendMessageInput.tsx +59 -0
  911. package/src/components/HMSTextInput.tsx +158 -24
  912. package/src/components/HMSVideoView.tsx +43 -0
  913. package/src/components/Header.tsx +25 -133
  914. package/src/components/LocalPeerScreenshareView.tsx +0 -6
  915. package/src/components/Meeting.tsx +15 -8
  916. package/src/components/MeetingScreenContent.tsx +28 -11
  917. package/src/components/MiniView.tsx +10 -4
  918. package/src/components/Modals.tsx +112 -370
  919. package/src/components/OverlayContainer.tsx +31 -0
  920. package/src/components/OverlayedViews.tsx +22 -0
  921. package/src/components/PIPView.tsx +34 -13
  922. package/src/components/PaginationDots.tsx +9 -8
  923. package/src/components/Participants/MultiRoleParticipantsList.tsx +70 -0
  924. package/src/components/Participants/ParticipantsAccordian.tsx +70 -0
  925. package/src/components/Participants/ParticipantsAccordianExpanded.tsx +27 -0
  926. package/src/components/Participants/ParticipantsGroupFooter.tsx +65 -0
  927. package/src/components/Participants/ParticipantsGroupHeader.tsx +145 -0
  928. package/src/components/Participants/ParticipantsGroupOptions.tsx +82 -0
  929. package/src/components/Participants/ParticipantsItem.tsx +153 -0
  930. package/src/components/Participants/ParticipantsItemOption.tsx +52 -0
  931. package/src/components/Participants/ParticipantsItemOptions.tsx +262 -0
  932. package/src/components/Participants/ParticipantsList.tsx +222 -269
  933. package/src/components/Participants/ParticipantsListFooter.tsx +45 -0
  934. package/src/components/Participants/ParticipantsSeachInput.tsx +37 -35
  935. package/src/components/Participants/index.ts +1 -3
  936. package/src/components/PeerMinimizedView.tsx +1 -1
  937. package/src/components/PeerSettingsModalContent.tsx +44 -191
  938. package/src/components/PeerVideoTile/AvatarView.tsx +44 -6
  939. package/src/components/PeerVideoTile/HMSFullScreenButton.tsx +56 -0
  940. package/src/components/PeerVideoTile/HMSPinchGesture.tsx +176 -0
  941. package/src/components/PeerVideoTile/PeerAudioIndicator.tsx +83 -0
  942. package/src/components/PeerVideoTile/PeerMetadata.tsx +21 -12
  943. package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +15 -2
  944. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +189 -115
  945. package/src/components/PeerVideoTile/VideoView.tsx +59 -9
  946. package/src/components/PressableIcon.tsx +26 -13
  947. package/src/components/Preview.tsx +39 -32
  948. package/src/components/PreviewForRoleChangeModal.tsx +443 -0
  949. package/src/components/ReconnectionView.tsx +73 -0
  950. package/src/components/RoomSettingsModalContent.tsx +60 -23
  951. package/src/components/RoomSettingsModalDebugModeContent.tsx +12 -66
  952. package/src/components/StreamingQualityModalContent.tsx +8 -8
  953. package/src/components/TilesContainer.tsx +54 -24
  954. package/src/components/WebrtcView.tsx +36 -17
  955. package/src/components/WelcomeInMeeting.tsx +19 -20
  956. package/src/components/index.ts +0 -3
  957. package/src/hooks-sdk.ts +58 -0
  958. package/src/hooks-util-selectors.tsx +69 -6
  959. package/src/hooks-util.ts +910 -292
  960. package/src/modules/HMSManager.ts +3 -3
  961. package/src/modules/parser.ts +3 -4
  962. package/src/redux/actionTypes.ts +36 -0
  963. package/src/redux/actions/index.ts +112 -1
  964. package/src/redux/reducers/appState.ts +83 -1
  965. package/src/redux/reducers/chatWindow.ts +12 -5
  966. package/src/redux/reducers/hmsStates.ts +369 -4
  967. package/src/redux/reducers/userState.ts +1 -1
  968. package/src/utils/functions.ts +9 -1
  969. package/src/utils/theme.ts +3 -1
  970. package/src/utils/types.ts +8 -2
  971. package/src/utils.ts +6 -0
  972. package/lib/commonjs/assets/100ms-logo.png +0 -0
  973. package/lib/commonjs/assets/brb.png +0 -0
  974. package/lib/commonjs/assets/icon.png +0 -0
  975. package/lib/commonjs/assets/illustration.png +0 -0
  976. package/lib/commonjs/assets/network_0.png +0 -0
  977. package/lib/commonjs/assets/network_1.png +0 -0
  978. package/lib/commonjs/assets/network_2.png +0 -0
  979. package/lib/commonjs/assets/network_3.png +0 -0
  980. package/lib/commonjs/assets/network_4.png +0 -0
  981. package/lib/commonjs/assets/user_music.png +0 -0
  982. package/lib/commonjs/components/ChatWindow.js +0 -608
  983. package/lib/commonjs/components/ChatWindow.js.map +0 -1
  984. package/lib/commonjs/components/CustomInput.js +0 -89
  985. package/lib/commonjs/components/CustomInput.js.map +0 -1
  986. package/lib/commonjs/components/DisplayTrack.js +0 -70
  987. package/lib/commonjs/components/DisplayTrack.js.map +0 -1
  988. package/lib/commonjs/components/HMSShareScreen.js +0 -59
  989. package/lib/commonjs/components/HMSShareScreen.js.map +0 -1
  990. package/lib/commonjs/components/HMSShowNetworkQuality.js +0 -56
  991. package/lib/commonjs/components/HMSShowNetworkQuality.js.map +0 -1
  992. package/lib/commonjs/components/LiveButton.js +0 -70
  993. package/lib/commonjs/components/LiveButton.js.map +0 -1
  994. package/lib/commonjs/components/Participants/ParticipantsFilter.js +0 -128
  995. package/lib/commonjs/components/Participants/ParticipantsFilter.js.map +0 -1
  996. package/lib/commonjs/components/Participants/ParticipantsHeader.js +0 -67
  997. package/lib/commonjs/components/Participants/ParticipantsHeader.js.map +0 -1
  998. package/lib/commonjs/components/Participants/SearchableParticipantsView.js +0 -27
  999. package/lib/commonjs/components/Participants/SearchableParticipantsView.js.map +0 -1
  1000. package/lib/commonjs/components/ParticipantsModal.js +0 -43
  1001. package/lib/commonjs/components/ParticipantsModal.js.map +0 -1
  1002. package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js +0 -44
  1003. package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +0 -1
  1004. package/lib/commonjs/components/Picker.js +0 -93
  1005. package/lib/commonjs/components/Picker.js.map +0 -1
  1006. package/lib/module/assets/100ms-logo.png +0 -0
  1007. package/lib/module/assets/brb.png +0 -0
  1008. package/lib/module/assets/icon.png +0 -0
  1009. package/lib/module/assets/illustration.png +0 -0
  1010. package/lib/module/assets/network_0.png +0 -0
  1011. package/lib/module/assets/network_1.png +0 -0
  1012. package/lib/module/assets/network_2.png +0 -0
  1013. package/lib/module/assets/network_3.png +0 -0
  1014. package/lib/module/assets/network_4.png +0 -0
  1015. package/lib/module/assets/user_music.png +0 -0
  1016. package/lib/module/components/ChatWindow.js +0 -595
  1017. package/lib/module/components/ChatWindow.js.map +0 -1
  1018. package/lib/module/components/CustomInput.js +0 -82
  1019. package/lib/module/components/CustomInput.js.map +0 -1
  1020. package/lib/module/components/DisplayTrack.js +0 -63
  1021. package/lib/module/components/DisplayTrack.js.map +0 -1
  1022. package/lib/module/components/HMSShareScreen.js +0 -50
  1023. package/lib/module/components/HMSShareScreen.js.map +0 -1
  1024. package/lib/module/components/HMSShowNetworkQuality.js +0 -47
  1025. package/lib/module/components/HMSShowNetworkQuality.js.map +0 -1
  1026. package/lib/module/components/LiveButton.js +0 -61
  1027. package/lib/module/components/LiveButton.js.map +0 -1
  1028. package/lib/module/components/Participants/ParticipantsFilter.js +0 -121
  1029. package/lib/module/components/Participants/ParticipantsFilter.js.map +0 -1
  1030. package/lib/module/components/Participants/ParticipantsHeader.js +0 -58
  1031. package/lib/module/components/Participants/ParticipantsHeader.js.map +0 -1
  1032. package/lib/module/components/Participants/SearchableParticipantsView.js +0 -18
  1033. package/lib/module/components/Participants/SearchableParticipantsView.js.map +0 -1
  1034. package/lib/module/components/ParticipantsModal.js +0 -34
  1035. package/lib/module/components/ParticipantsModal.js.map +0 -1
  1036. package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js +0 -35
  1037. package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +0 -1
  1038. package/lib/module/components/Picker.js +0 -83
  1039. package/lib/module/components/Picker.js.map +0 -1
  1040. package/lib/typescript/components/ChatWindow.d.ts +0 -22
  1041. package/lib/typescript/components/ChatWindow.d.ts.map +0 -1
  1042. package/lib/typescript/components/CustomInput.d.ts +0 -24
  1043. package/lib/typescript/components/CustomInput.d.ts.map +0 -1
  1044. package/lib/typescript/components/DisplayTrack.d.ts +0 -9
  1045. package/lib/typescript/components/DisplayTrack.d.ts.map +0 -1
  1046. package/lib/typescript/components/HMSShareScreen.d.ts +0 -9
  1047. package/lib/typescript/components/HMSShareScreen.d.ts.map +0 -1
  1048. package/lib/typescript/components/HMSShowNetworkQuality.d.ts +0 -3
  1049. package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +0 -1
  1050. package/lib/typescript/components/LiveButton.d.ts +0 -17
  1051. package/lib/typescript/components/LiveButton.d.ts.map +0 -1
  1052. package/lib/typescript/components/Participants/ParticipantsFilter.d.ts +0 -6
  1053. package/lib/typescript/components/Participants/ParticipantsFilter.d.ts.map +0 -1
  1054. package/lib/typescript/components/Participants/ParticipantsHeader.d.ts +0 -9
  1055. package/lib/typescript/components/Participants/ParticipantsHeader.d.ts.map +0 -1
  1056. package/lib/typescript/components/Participants/SearchableParticipantsView.d.ts +0 -3
  1057. package/lib/typescript/components/Participants/SearchableParticipantsView.d.ts.map +0 -1
  1058. package/lib/typescript/components/ParticipantsModal.d.ts +0 -5
  1059. package/lib/typescript/components/ParticipantsModal.d.ts.map +0 -1
  1060. package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts +0 -6
  1061. package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts.map +0 -1
  1062. package/lib/typescript/components/Picker.d.ts +0 -9
  1063. package/lib/typescript/components/Picker.d.ts.map +0 -1
  1064. package/src/assets/100ms-logo.png +0 -0
  1065. package/src/assets/brb.png +0 -0
  1066. package/src/assets/icon.png +0 -0
  1067. package/src/assets/illustration.png +0 -0
  1068. package/src/assets/network_0.png +0 -0
  1069. package/src/assets/network_1.png +0 -0
  1070. package/src/assets/network_2.png +0 -0
  1071. package/src/assets/network_3.png +0 -0
  1072. package/src/assets/network_4.png +0 -0
  1073. package/src/assets/user_music.png +0 -0
  1074. package/src/components/ChatWindow.tsx +0 -706
  1075. package/src/components/CustomInput.tsx +0 -138
  1076. package/src/components/DisplayTrack.tsx +0 -92
  1077. package/src/components/HMSShareScreen.tsx +0 -71
  1078. package/src/components/HMSShowNetworkQuality.tsx +0 -68
  1079. package/src/components/LiveButton.tsx +0 -77
  1080. package/src/components/Participants/ParticipantsFilter.tsx +0 -144
  1081. package/src/components/Participants/ParticipantsHeader.tsx +0 -64
  1082. package/src/components/Participants/SearchableParticipantsView.tsx +0 -21
  1083. package/src/components/ParticipantsModal.tsx +0 -46
  1084. package/src/components/PeerVideoTile/PeerAudioMutedIndicator.tsx +0 -41
  1085. package/src/components/Picker.tsx +0 -108
@@ -1,26 +1,27 @@
1
- import { HMSConfig, HMSPIPListenerActions, HMSPeerUpdate, HMSRoomUpdate, HMSTrackSource, HMSTrackType, HMSTrackUpdate, HMSUpdateListenerActions
1
+ import { HMSConfig, HMSMessage, HMSMessageRecipientType, HMSPIPListenerActions, HMSPeerUpdate, HMSRoomUpdate, HMSTrackSource, HMSTrackType, HMSTrackUpdate, HMSUpdateListenerActions, HMSMessageRecipient
2
2
  // useHMSPeerUpdates,
3
3
  } from '@100mslive/react-native-hms';
4
4
  import Toast from 'react-native-simple-toast';
5
5
  import { useRef, useCallback, useEffect, useState, useMemo, useContext } from 'react';
6
- import { MaxTilesInOnePage, ModalTypes, PipModes } from './utils/types';
7
- import { createPeerTrackNode, parseMetadata } from './utils/functions';
6
+ import { MaxTilesInOnePage, ModalTypes, PeerListRefreshInterval, PipModes } from './utils/types';
7
+ import { createPeerTrackNode } from './utils/functions';
8
8
  import { batch, shallowEqual, useDispatch, useSelector, useStore } from 'react-redux';
9
- import { addMessage, addPinnedMessage, changeMeetingState, changePipModeStatus, changeStartingHLSStream, clearStore, saveUserData, setHMSLocalPeerState, setHMSRoleState, setHMSRoomState, setIsLocalAudioMutedState, setIsLocalVideoMutedState, setLayoutConfig, setLocalPeerTrackNode, setMiniViewPeerTrackNode, setModalType, setStartingOrStoppingRecording, updateLocalPeerTrackNode, updateMiniViewPeerTrackNode } from './redux/actions';
9
+ import { addMessage, addNotification, addParticipant, addParticipants, addPinnedMessage, addScreenshareTile, addUpdateParticipant, changeMeetingState, changePipModeStatus, changeStartingHLSStream, clearStore, removeNotification, removeParticipant, removeParticipants, removeScreenshareTile, replaceParticipantsList, saveUserData, setActiveChatBottomSheetTab, setActiveSpeakers, setFullScreenPeerTrackNode, setHMSLocalPeerState, setHMSRoleState, setHMSRoomState, setIsLocalAudioMutedState, setIsLocalVideoMutedState, setLayoutConfig, setLocalPeerTrackNode, setMiniViewPeerTrackNode, setModalType, setReconnecting, setRoleChangeRequest, setStartingOrStoppingRecording, updateFullScreenPeerTrackNode, updateLocalPeerTrackNode, updateMiniViewPeerTrackNode, updateScreenshareTile } from './redux/actions';
10
10
  import { createPeerTrackNodeUniqueId, degradeOrRestorePeerTrackNodes, peerTrackNodeExistForPeer, peerTrackNodeExistForPeerAndTrack, removePeerTrackNodes, removePeerTrackNodesWithTrack, replacePeerTrackNodes, replacePeerTrackNodesWithTrack } from './peerTrackNodeUtils';
11
11
  import { MeetingState } from './types';
12
- import { AppState, InteractionManager, LayoutAnimation, Platform } from 'react-native';
12
+ import { InteractionManager, Keyboard, Platform } from 'react-native';
13
13
  import { NavigationContext } from '@react-navigation/native';
14
14
  import { useIsLandscapeOrientation, useIsPortraitOrientation } from './utils/dimension';
15
- import { useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context';
16
- import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
15
+ import { selectChatLayoutConfig, selectConferencingScreenConfig, selectIsHLSViewer, selectLayoutConfigForRole, selectShouldGoLive, selectVideoTileLayoutConfig } from './hooks-util-selectors';
17
16
  import { getRoomLayout } from './modules/HMSManager';
18
17
  import { DEFAULT_THEME, DEFAULT_TYPOGRAPHY } from './utils/theme';
18
+ import { NotificationTypes } from './utils';
19
19
  export const useHMSListeners = setPeerTrackNodes => {
20
20
  const hmsInstance = useHMSInstance();
21
21
  const updateLocalPeer = useUpdateHMSLocalPeer(hmsInstance);
22
22
  useHMSRoomUpdate(hmsInstance);
23
23
  useHMSPeersUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
24
+ useHMSPeerListUpdated(hmsInstance);
24
25
  useHMSTrackUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
25
26
  };
26
27
  const useHMSRoomUpdate = hmsInstance => {
@@ -28,56 +29,27 @@ const useHMSRoomUpdate = hmsInstance => {
28
29
  const reduxStore = useStore();
29
30
  useEffect(() => {
30
31
  const roomUpdateHandler = data => {
31
- var _room$localPeer$role;
32
32
  const {
33
33
  room,
34
34
  type
35
35
  } = data;
36
36
  dispatch(setHMSRoomState(room));
37
-
38
- /**
39
- * Handle case when User is joining as HLSViewer,
40
- * before ON_JOIN, if ON_ROOM comes then we can show Meeting screen to user, instead of Loader or Preview
41
- */
42
- if (((_room$localPeer$role = room.localPeer.role) === null || _room$localPeer$role === void 0 || (_room$localPeer$role = _room$localPeer$role.name) === null || _room$localPeer$role === void 0 ? void 0 : _room$localPeer$role.includes('hls-')) ?? false) {
43
- const meetingState = reduxStore.getState().app.meetingState;
44
- batch(() => {
45
- dispatch(setHMSLocalPeerState(room.localPeer));
46
- if (meetingState !== MeetingState.IN_MEETING) {
47
- dispatch(changeMeetingState(MeetingState.IN_MEETING));
48
- }
49
- });
50
- }
51
37
  if (type === HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED) {
52
- var _room$browserRecordin, _room$browserRecordin2;
53
38
  const startingOrStoppingRecording = reduxStore.getState().app.startingOrStoppingRecording;
54
39
  if (startingOrStoppingRecording) {
55
40
  dispatch(setStartingOrStoppingRecording(false));
56
41
  }
57
- let streaming = room === null || room === void 0 || (_room$browserRecordin = room.browserRecordingState) === null || _room$browserRecordin === void 0 ? void 0 : _room$browserRecordin.running;
58
- const startAtDate = room === null || room === void 0 || (_room$browserRecordin2 = room.browserRecordingState) === null || _room$browserRecordin2 === void 0 ? void 0 : _room$browserRecordin2.startedAt;
59
- let startTime = null;
60
- if (startAtDate) {
61
- var _startAtDate$getMinut;
62
- let hours = startAtDate.getHours().toString();
63
- let minutes = (_startAtDate$getMinut = startAtDate.getMinutes()) === null || _startAtDate$getMinut === void 0 ? void 0 : _startAtDate$getMinut.toString();
64
- startTime = hours + ':' + minutes;
65
- }
66
- Toast.showWithGravity(`Browser Recording ${streaming ? `Started ${startTime ? 'At ' + startTime : ''}` : 'Stopped'}`, Toast.LONG, Toast.TOP);
67
42
  } else if (type === HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED) {
68
- var _room$hlsStreamingSta;
69
43
  dispatch(changeStartingHLSStream(false));
70
- let streaming = room === null || room === void 0 || (_room$hlsStreamingSta = room.hlsStreamingState) === null || _room$hlsStreamingSta === void 0 ? void 0 : _room$hlsStreamingSta.running;
71
- Toast.showWithGravity(`HLS Streaming ${streaming ? 'Started' : 'Stopped'}`, Toast.LONG, Toast.TOP);
72
44
  } else if (type === HMSRoomUpdate.RTMP_STREAMING_STATE_UPDATED) {
73
45
  var _room$rtmpHMSRtmpStre, _room$rtmpHMSRtmpStre2;
74
46
  let streaming = room === null || room === void 0 || (_room$rtmpHMSRtmpStre = room.rtmpHMSRtmpStreamingState) === null || _room$rtmpHMSRtmpStre === void 0 ? void 0 : _room$rtmpHMSRtmpStre.running;
75
47
  const startAtDate = room === null || room === void 0 || (_room$rtmpHMSRtmpStre2 = room.rtmpHMSRtmpStreamingState) === null || _room$rtmpHMSRtmpStre2 === void 0 ? void 0 : _room$rtmpHMSRtmpStre2.startedAt;
76
48
  let startTime = null;
77
49
  if (startAtDate) {
78
- var _startAtDate$getMinut2;
50
+ var _startAtDate$getMinut;
79
51
  let hours = startAtDate.getHours().toString();
80
- let minutes = (_startAtDate$getMinut2 = startAtDate.getMinutes()) === null || _startAtDate$getMinut2 === void 0 ? void 0 : _startAtDate$getMinut2.toString();
52
+ let minutes = (_startAtDate$getMinut = startAtDate.getMinutes()) === null || _startAtDate$getMinut === void 0 ? void 0 : _startAtDate$getMinut.toString();
81
53
  startTime = hours + ':' + minutes;
82
54
  }
83
55
  Toast.showWithGravity(`RTMP Streaming ${streaming ? `Started ${startTime ? 'At ' + startTime : ''}` : 'Stopped'}`, Toast.LONG, Toast.TOP);
@@ -87,9 +59,9 @@ const useHMSRoomUpdate = hmsInstance => {
87
59
  const startAtDate = room === null || room === void 0 || (_room$serverRecording2 = room.serverRecordingState) === null || _room$serverRecording2 === void 0 ? void 0 : _room$serverRecording2.startedAt;
88
60
  let startTime = null;
89
61
  if (startAtDate) {
90
- var _startAtDate$getMinut3;
62
+ var _startAtDate$getMinut2;
91
63
  let hours = startAtDate.getHours().toString();
92
- let minutes = (_startAtDate$getMinut3 = startAtDate.getMinutes()) === null || _startAtDate$getMinut3 === void 0 ? void 0 : _startAtDate$getMinut3.toString();
64
+ let minutes = (_startAtDate$getMinut2 = startAtDate.getMinutes()) === null || _startAtDate$getMinut2 === void 0 ? void 0 : _startAtDate$getMinut2.toString();
93
65
  startTime = hours + ':' + minutes;
94
66
  }
95
67
  Toast.showWithGravity(`Server Recording ${streaming ? `Started ${startTime ? 'At ' + startTime : ''}` : 'Stopped'}`, Toast.LONG, Toast.TOP);
@@ -126,37 +98,85 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
126
98
 
127
99
  // Handle State for Meeting screen
128
100
  if (type === HMSPeerUpdate.PEER_JOINED) {
101
+ dispatch(addParticipant(peer));
129
102
  return;
130
103
  }
131
104
  if (type === HMSPeerUpdate.PEER_LEFT) {
105
+ dispatch(removeParticipant(peer));
106
+
107
+ // Handling regular tiles list
132
108
  setPeerTrackNodes(prevPeerTrackNodes => removePeerTrackNodes(prevPeerTrackNodes, peer));
109
+ const reduxState = store.getState();
110
+
111
+ // Handling Screenshare tiles list
112
+ const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
113
+ const nodeToRemove = screensharePeerTrackNodes.find(node => node.peer.peerID === peer.peerID);
114
+ if (nodeToRemove) {
115
+ dispatch(removeScreenshareTile(nodeToRemove.id));
116
+ }
117
+
118
+ // Handling Full screen view
119
+ const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
120
+ if (fullScreenPeerTrackNode !== null && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
121
+ dispatch(setFullScreenPeerTrackNode(null));
122
+ }
133
123
  return;
134
124
  }
135
125
  if (peer.isLocal) {
136
- setPeerTrackNodes(prevPeerTrackNodes => {
137
- if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
138
- return replacePeerTrackNodes(prevPeerTrackNodes, peer);
139
- }
140
- return prevPeerTrackNodes;
141
- });
126
+ var _selectVideoTileLayou;
142
127
  const reduxState = store.getState();
128
+ const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
143
129
  const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
144
130
  const localPeerTrackNode = reduxState.app.localPeerTrackNode;
131
+
132
+ // Currently Applied Layout config
133
+ const currentLayoutConfig = selectLayoutConfigForRole(reduxState.hmsStates.layoutConfig, peer.role || null);
134
+
135
+ // Local Tile Inset layout is enabled
136
+ const enableLocalTileInset = (_selectVideoTileLayou = selectVideoTileLayoutConfig(currentLayoutConfig)) === null || _selectVideoTileLayou === void 0 || (_selectVideoTileLayou = _selectVideoTileLayou.grid) === null || _selectVideoTileLayou === void 0 ? void 0 : _selectVideoTileLayou.enable_local_tile_inset;
137
+
138
+ // Local Tile Inset layout is disabled
139
+ const localTileInsetDisbaled = !enableLocalTileInset;
140
+
141
+ // Local Tile Inset layout is disabled
142
+ // then update local peer track node available in list of peer track nodes
143
+ if (localTileInsetDisbaled) {
144
+ setPeerTrackNodes(prevPeerTrackNodes => {
145
+ if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
146
+ return replacePeerTrackNodes(prevPeerTrackNodes, peer);
147
+ }
148
+ return prevPeerTrackNodes;
149
+ });
150
+ }
145
151
  batch(() => {
146
152
  if (localPeerTrackNode) {
147
153
  dispatch(updateLocalPeerTrackNode({
148
154
  peer
149
155
  }));
150
- } else {
156
+ } else if (isPublishingAllowed(peer)) {
151
157
  dispatch(setLocalPeerTrackNode(createPeerTrackNode(peer, peer.videoTrack)));
152
158
  }
153
-
154
- // only set `localPeerTrackNode` as miniview peer track node when we are already using it.
155
- if (miniviewPeerTrackNode && miniviewPeerTrackNode.peer.peerID === peer.peerID) {
156
- dispatch(updateMiniViewPeerTrackNode({
159
+ if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
160
+ dispatch(updateFullScreenPeerTrackNode({
157
161
  peer
158
162
  }));
159
163
  }
164
+
165
+ // If Local Tile Inset layout is enabled, then update or set it
166
+ if (enableLocalTileInset) {
167
+ var _peer$role;
168
+ if (miniviewPeerTrackNode !== null && miniviewPeerTrackNode.peer.peerID === peer.peerID) {
169
+ dispatch(updateMiniViewPeerTrackNode({
170
+ peer
171
+ }));
172
+ } else if (miniviewPeerTrackNode === null && (_peer$role = peer.role) !== null && _peer$role !== void 0 && (_peer$role = _peer$role.publishSettings) !== null && _peer$role !== void 0 && _peer$role.allowed && peer.role.publishSettings.allowed.length > 0) {
173
+ dispatch(setMiniViewPeerTrackNode(createPeerTrackNode(peer, peer.videoTrack)));
174
+ }
175
+ }
176
+ // If Local Tile Inset layout is disabled, then remove it if it exists
177
+ else if (miniviewPeerTrackNode) {
178
+ dispatch(setMiniViewPeerTrackNode(null));
179
+ }
160
180
  });
161
181
 
162
182
  // - TODO: update local localPeer state
@@ -165,8 +185,11 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
165
185
  return;
166
186
  }
167
187
  if (type === HMSPeerUpdate.ROLE_CHANGED) {
168
- var _peer$role, _peer$role2, _peer$role3;
169
- if (((_peer$role = peer.role) === null || _peer$role === void 0 || (_peer$role = _peer$role.publishSettings) === null || _peer$role === void 0 ? void 0 : _peer$role.allowed) === undefined || (_peer$role2 = peer.role) !== null && _peer$role2 !== void 0 && (_peer$role2 = _peer$role2.publishSettings) !== null && _peer$role2 !== void 0 && _peer$role2.allowed && ((_peer$role3 = peer.role) === null || _peer$role3 === void 0 || (_peer$role3 = _peer$role3.publishSettings) === null || _peer$role3 === void 0 ? void 0 : _peer$role3.allowed.length) < 1) {
188
+ var _peer$role2, _peer$role3, _peer$role4, _peer$role5, _peer$role6, _peer$role7, _peer$role8, _peer$role9, _peer$role10;
189
+ dispatch(addUpdateParticipant(peer));
190
+
191
+ // Handling regular tiles list
192
+ if (((_peer$role2 = peer.role) === null || _peer$role2 === void 0 || (_peer$role2 = _peer$role2.publishSettings) === null || _peer$role2 === void 0 ? void 0 : _peer$role2.allowed) === undefined || (_peer$role3 = peer.role) !== null && _peer$role3 !== void 0 && (_peer$role3 = _peer$role3.publishSettings) !== null && _peer$role3 !== void 0 && _peer$role3.allowed && ((_peer$role4 = peer.role) === null || _peer$role4 === void 0 || (_peer$role4 = _peer$role4.publishSettings) === null || _peer$role4 === void 0 ? void 0 : _peer$role4.allowed.length) < 1) {
170
193
  setPeerTrackNodes(prevPeerTrackNodes => {
171
194
  if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
172
195
  return removePeerTrackNodes(prevPeerTrackNodes, peer);
@@ -174,15 +197,84 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
174
197
  return prevPeerTrackNodes;
175
198
  });
176
199
  }
200
+ const reduxState = store.getState();
201
+
202
+ // Handling screenshare tiles list
203
+ if (((_peer$role5 = peer.role) === null || _peer$role5 === void 0 || (_peer$role5 = _peer$role5.publishSettings) === null || _peer$role5 === void 0 ? void 0 : _peer$role5.allowed) === undefined || (_peer$role6 = peer.role) !== null && _peer$role6 !== void 0 && (_peer$role6 = _peer$role6.publishSettings) !== null && _peer$role6 !== void 0 && _peer$role6.allowed && !((_peer$role7 = peer.role) !== null && _peer$role7 !== void 0 && (_peer$role7 = _peer$role7.publishSettings) !== null && _peer$role7 !== void 0 && _peer$role7.allowed.includes('screen'))) {
204
+ const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
205
+ const nodeToRemove = screensharePeerTrackNodes.find(node => node.peer.peerID === peer.peerID);
206
+ if (nodeToRemove) {
207
+ dispatch(removeScreenshareTile(nodeToRemove.id));
208
+ }
209
+ }
210
+
211
+ // Handling full screen view
212
+ if (((_peer$role8 = peer.role) === null || _peer$role8 === void 0 || (_peer$role8 = _peer$role8.publishSettings) === null || _peer$role8 === void 0 ? void 0 : _peer$role8.allowed) === undefined || (_peer$role9 = peer.role) !== null && _peer$role9 !== void 0 && (_peer$role9 = _peer$role9.publishSettings) !== null && _peer$role9 !== void 0 && _peer$role9.allowed && !((_peer$role10 = peer.role) !== null && _peer$role10 !== void 0 && (_peer$role10 = _peer$role10.publishSettings) !== null && _peer$role10 !== void 0 && _peer$role10.allowed.includes('video'))) {
213
+ const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
214
+ if (fullScreenPeerTrackNode !== null && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
215
+ dispatch(setFullScreenPeerTrackNode(null));
216
+ }
217
+ }
177
218
  return;
178
219
  }
179
- if (type === HMSPeerUpdate.METADATA_CHANGED || type === HMSPeerUpdate.NAME_CHANGED || type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED) {
220
+ if (type === HMSPeerUpdate.METADATA_CHANGED || type === HMSPeerUpdate.HAND_RAISED_CHANGED || type === HMSPeerUpdate.NAME_CHANGED || type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED) {
221
+ dispatch(addUpdateParticipant(peer));
222
+ const reduxState = store.getState();
223
+ if (type === HMSPeerUpdate.HAND_RAISED_CHANGED) {
224
+ const handRaised = peer.isHandRaised;
225
+ if (handRaised) {
226
+ var _selectedLayoutConfig, _peer$role11, _reduxState$hmsStates;
227
+ const {
228
+ layoutConfig,
229
+ localPeer
230
+ } = reduxState.hmsStates;
231
+ const selectedLayoutConfig = selectLayoutConfigForRole(layoutConfig, (localPeer === null || localPeer === void 0 ? void 0 : localPeer.role) || null);
232
+
233
+ // list of roles which should be brought on stage when they raise hand
234
+ const offStageRoles = selectedLayoutConfig === null || selectedLayoutConfig === void 0 || (_selectedLayoutConfig = selectedLayoutConfig.screens) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.conferencing) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.default) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.elements) === null || _selectedLayoutConfig === void 0 || (_selectedLayoutConfig = _selectedLayoutConfig.on_stage_exp) === null || _selectedLayoutConfig === void 0 ? void 0 : _selectedLayoutConfig.off_stage_roles;
235
+
236
+ // checking if the current peer role is included in the above list
237
+ const shouldBringOnStage = offStageRoles && offStageRoles.includes((_peer$role11 = peer.role) === null || _peer$role11 === void 0 ? void 0 : _peer$role11.name);
238
+ const canChangeRole = (_reduxState$hmsStates = reduxState.hmsStates.localPeer) === null || _reduxState$hmsStates === void 0 || (_reduxState$hmsStates = _reduxState$hmsStates.role) === null || _reduxState$hmsStates === void 0 || (_reduxState$hmsStates = _reduxState$hmsStates.permissions) === null || _reduxState$hmsStates === void 0 ? void 0 : _reduxState$hmsStates.changeRole;
239
+ if (shouldBringOnStage && canChangeRole) {
240
+ dispatch(addNotification({
241
+ id: `${peer.peerID}-${NotificationTypes.HAND_RAISE}`,
242
+ type: NotificationTypes.HAND_RAISE,
243
+ peer
244
+ }));
245
+ }
246
+ } else {
247
+ const notifications = reduxState.app.notifications;
248
+ const notificationToRemove = notifications.find(notification => notification.id === `${peer.peerID}-${NotificationTypes.HAND_RAISE}`);
249
+ if (notificationToRemove) {
250
+ dispatch(removeNotification(notificationToRemove.id));
251
+ }
252
+ }
253
+ }
180
254
  setPeerTrackNodes(prevPeerTrackNodes => {
181
255
  if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
182
256
  return replacePeerTrackNodes(prevPeerTrackNodes, peer);
183
257
  }
184
258
  return prevPeerTrackNodes;
185
259
  });
260
+
261
+ // Handling screenshare tile views
262
+ const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
263
+ const nodeToUpdate = screensharePeerTrackNodes.find(node => node.peer.peerID === peer.peerID);
264
+ if (nodeToUpdate) {
265
+ dispatch(updateScreenshareTile({
266
+ id: nodeToUpdate.id,
267
+ peer
268
+ }));
269
+ }
270
+
271
+ // Handling fullscreen view
272
+ const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
273
+ if (fullScreenPeerTrackNode !== null && fullScreenPeerTrackNode.peer.peerID === peer.peerID) {
274
+ dispatch(updateFullScreenPeerTrackNode({
275
+ peer
276
+ }));
277
+ }
186
278
  return;
187
279
  }
188
280
  };
@@ -192,41 +284,78 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
192
284
  };
193
285
  }, [hmsInstance]);
194
286
  };
287
+ const useHMSPeerListUpdated = hmsInstance => {
288
+ const dispatch = useDispatch();
289
+ useEffect(() => {
290
+ const peerListUpdateHandler = _ref2 => {
291
+ let {
292
+ addedPeers,
293
+ removedPeers
294
+ } = _ref2;
295
+ batch(() => {
296
+ dispatch(addParticipants(addedPeers));
297
+ dispatch(removeParticipants(removedPeers));
298
+ });
299
+ };
300
+ hmsInstance.addEventListener(HMSUpdateListenerActions.ON_PEER_LIST_UPDATED, peerListUpdateHandler);
301
+ return () => {
302
+ hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_PEER_LIST_UPDATED);
303
+ };
304
+ }, [hmsInstance]);
305
+ };
306
+ export const isPublishingAllowed = peer => {
307
+ var _peer$role12, _peer$role13;
308
+ return (((_peer$role12 = peer.role) === null || _peer$role12 === void 0 || (_peer$role12 = _peer$role12.publishSettings) === null || _peer$role12 === void 0 ? void 0 : _peer$role12.allowed) && ((_peer$role13 = peer.role) === null || _peer$role13 === void 0 || (_peer$role13 = _peer$role13.publishSettings) === null || _peer$role13 === void 0 || (_peer$role13 = _peer$role13.allowed) === null || _peer$role13 === void 0 ? void 0 : _peer$role13.length) > 0) ?? false;
309
+ };
195
310
  const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
196
311
  const dispatch = useDispatch();
197
312
  const store = useStore();
198
313
  useEffect(() => {
199
- const trackUpdateHandler = _ref2 => {
314
+ const trackUpdateHandler = _ref3 => {
315
+ var _reduxState$hmsStates2, _selectVideoTileLayou2;
200
316
  let {
201
317
  peer,
202
318
  track,
203
319
  type
204
- } = _ref2;
320
+ } = _ref3;
205
321
  const reduxState = store.getState();
322
+ const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
206
323
  const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
207
324
  const localPeerTrackNode = reduxState.app.localPeerTrackNode;
325
+ const currentLayoutConfig = selectLayoutConfigForRole(reduxState.hmsStates.layoutConfig, ((_reduxState$hmsStates2 = reduxState.hmsStates.localPeer) === null || _reduxState$hmsStates2 === void 0 ? void 0 : _reduxState$hmsStates2.role) ?? null);
326
+ const localTileInsetEnabled = (_selectVideoTileLayou2 = selectVideoTileLayoutConfig(currentLayoutConfig)) === null || _selectVideoTileLayou2 === void 0 || (_selectVideoTileLayou2 = _selectVideoTileLayou2.grid) === null || _selectVideoTileLayou2 === void 0 ? void 0 : _selectVideoTileLayou2.enable_local_tile_inset;
208
327
  if (type === HMSTrackUpdate.TRACK_ADDED) {
209
328
  const newPeerTrackNode = createPeerTrackNode(peer, track);
210
- const willCreateMiniviewPeerTrackNode = !miniviewPeerTrackNode && peer.isLocal && track.source === HMSTrackSource.REGULAR;
211
- setPeerTrackNodes(prevPeerTrackNodes => {
212
- if (peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)) {
213
- if (track.type === HMSTrackType.VIDEO) {
214
- return replacePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track);
215
- }
216
- return replacePeerTrackNodes(prevPeerTrackNodes, peer);
217
- }
218
- if (miniviewPeerTrackNode ? newPeerTrackNode.id !== miniviewPeerTrackNode.id : !willCreateMiniviewPeerTrackNode) {
219
- return [...prevPeerTrackNodes, newPeerTrackNode];
329
+ if (track.source === HMSTrackSource.SCREEN) {
330
+ if (!peer.isLocal && track.type === HMSTrackType.VIDEO) {
331
+ dispatch(addScreenshareTile(newPeerTrackNode));
220
332
  }
221
- return prevPeerTrackNodes;
222
- });
333
+ } else {
334
+ setPeerTrackNodes(prevPeerTrackNodes => {
335
+ if (peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)) {
336
+ if (track.type === HMSTrackType.VIDEO) {
337
+ return replacePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track);
338
+ }
339
+ return replacePeerTrackNodes(prevPeerTrackNodes, peer);
340
+ }
341
+ if (peer.isLocal && !localTileInsetEnabled) {
342
+ return [newPeerTrackNode, ...prevPeerTrackNodes];
343
+ }
344
+ if (!peer.isLocal && (miniviewPeerTrackNode ? newPeerTrackNode.id !== miniviewPeerTrackNode.id : true)) {
345
+ return [...prevPeerTrackNodes, newPeerTrackNode];
346
+ }
347
+ return prevPeerTrackNodes;
348
+ });
349
+ }
223
350
 
224
351
  // - TODO: update local localPeer state
225
352
  // - Pass this updated data to Meeting component -> DisplayView component
226
353
  if (peer.isLocal) {
227
354
  if (track.source === HMSTrackSource.REGULAR) {
228
355
  if (!localPeerTrackNode) {
229
- dispatch(setLocalPeerTrackNode(newPeerTrackNode));
356
+ if (isPublishingAllowed(newPeerTrackNode.peer)) {
357
+ dispatch(setLocalPeerTrackNode(newPeerTrackNode));
358
+ }
230
359
  } else {
231
360
  dispatch(updateLocalPeerTrackNode(track.type === HMSTrackType.VIDEO ? {
232
361
  peer,
@@ -235,20 +364,27 @@ const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
235
364
  peer
236
365
  }));
237
366
  }
238
-
239
- // only setting `miniviewPeerTrackNode`, when:
240
- // - there is no `miniviewPeerTrackNode`
241
- // - if there is, then it is of regular track
242
- if (!miniviewPeerTrackNode) {
243
- dispatch(setMiniViewPeerTrackNode(newPeerTrackNode));
244
- } else if (miniviewPeerTrackNode.id === newPeerTrackNode.id) {
245
- dispatch(updateMiniViewPeerTrackNode(track.type === HMSTrackType.VIDEO ? {
246
- peer,
247
- track
248
- } : {
249
- peer
250
- }));
367
+ if (localTileInsetEnabled) {
368
+ // only setting `miniviewPeerTrackNode`, when:
369
+ // - there is no `miniviewPeerTrackNode`
370
+ // - if there is, then it is of regular track
371
+ if (!miniviewPeerTrackNode) {
372
+ dispatch(setMiniViewPeerTrackNode(newPeerTrackNode));
373
+ } else if (miniviewPeerTrackNode.id === newPeerTrackNode.id) {
374
+ dispatch(updateMiniViewPeerTrackNode(track.type === HMSTrackType.VIDEO ? {
375
+ peer,
376
+ track
377
+ } : {
378
+ peer
379
+ }));
380
+ }
251
381
  }
382
+
383
+ // if (track.type === HMSTrackType.AUDIO) {
384
+ // dispatch(setIsLocalAudioMutedState(track.isMute()));
385
+ // } else if (track.type === HMSTrackType.VIDEO) {
386
+ // dispatch(setIsLocalVideoMutedState(track.isMute()));
387
+ // }
252
388
  }
253
389
  // else -> {
254
390
  // should `localPeerTrackNode` be created/updated for non-regular track addition?
@@ -273,9 +409,23 @@ const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
273
409
  }
274
410
  if (type === HMSTrackUpdate.TRACK_REMOVED) {
275
411
  var _peer$audioTrack, _peer$videoTrack;
276
- if (track.source !== HMSTrackSource.REGULAR || ((_peer$audioTrack = peer.audioTrack) === null || _peer$audioTrack === void 0 ? void 0 : _peer$audioTrack.trackId) === undefined && ((_peer$videoTrack = peer.videoTrack) === null || _peer$videoTrack === void 0 ? void 0 : _peer$videoTrack.trackId) === undefined) {
412
+ if (track.source === HMSTrackSource.SCREEN) {
413
+ if (!peer.isLocal && track.type === HMSTrackType.VIDEO) {
414
+ const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
415
+ const nodeToRemove = screensharePeerTrackNodes.find(node => {
416
+ var _node$track;
417
+ return ((_node$track = node.track) === null || _node$track === void 0 ? void 0 : _node$track.trackId) === track.trackId;
418
+ });
419
+ if (nodeToRemove) {
420
+ dispatch(removeScreenshareTile(nodeToRemove.id));
421
+ }
422
+ }
423
+ } else if (track.source === HMSTrackSource.PLUGIN || ((_peer$audioTrack = peer.audioTrack) === null || _peer$audioTrack === void 0 ? void 0 : _peer$audioTrack.trackId) === undefined && ((_peer$videoTrack = peer.videoTrack) === null || _peer$videoTrack === void 0 ? void 0 : _peer$videoTrack.trackId) === undefined) {
277
424
  setPeerTrackNodes(prevPeerTrackNodes => removePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track));
278
425
  }
426
+ if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.track && fullScreenPeerTrackNode.track.trackId === track.trackId) {
427
+ dispatch(setFullScreenPeerTrackNode(null));
428
+ }
279
429
 
280
430
  // - TODO: update local localPeer state
281
431
  // - Pass this updated data to Meeting component -> DisplayView component
@@ -353,46 +503,63 @@ const useHMSTrackUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
353
503
 
354
504
  // - TODO: update local localPeer state
355
505
  // - Pass this updated data to Meeting component -> DisplayView component
506
+ const updatePayload = track.type === HMSTrackType.VIDEO ? {
507
+ peer,
508
+ track
509
+ } : {
510
+ peer
511
+ };
356
512
  if (peer.isLocal) {
357
- const updatePayload = track.type === HMSTrackType.VIDEO ? {
358
- peer,
359
- track
360
- } : {
361
- peer
362
- };
363
513
  dispatch(updateLocalPeerTrackNode(updatePayload));
364
-
365
- // Take care of miniviewPeerTrackNode
366
- if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
367
- dispatch(updateMiniViewPeerTrackNode(updatePayload));
368
- }
369
514
  updateLocalPeer();
370
- } else {
371
- if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
372
- const updatePayload = track.type === HMSTrackType.VIDEO ? {
373
- peer,
374
- track
375
- } : {
376
- peer
377
- };
378
- dispatch(updateMiniViewPeerTrackNode(updatePayload));
379
- }
515
+ }
516
+ if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
517
+ dispatch(updateMiniViewPeerTrackNode(updatePayload));
518
+ }
519
+ if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.id === uniqueId) {
520
+ dispatch(updateFullScreenPeerTrackNode(updatePayload));
380
521
  }
381
522
  return;
382
523
  }
383
524
  if (type === HMSTrackUpdate.TRACK_RESTORED || type === HMSTrackUpdate.TRACK_DEGRADED) {
384
- setPeerTrackNodes(prevPeerTrackNodes => {
385
- if (peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)) {
386
- return degradeOrRestorePeerTrackNodes(prevPeerTrackNodes, peer, track, type === HMSTrackUpdate.TRACK_DEGRADED);
525
+ // Checking if track source is screenshare
526
+ if (track.source === HMSTrackSource.SCREEN) {
527
+ // Handling screenshare tiles list
528
+ const screensharePeerTrackNodes = reduxState.app.screensharePeerTrackNodes;
529
+ const nodeToUpdate = screensharePeerTrackNodes.find(node => {
530
+ var _node$track2;
531
+ return ((_node$track2 = node.track) === null || _node$track2 === void 0 ? void 0 : _node$track2.trackId) === track.trackId;
532
+ });
533
+ if (nodeToUpdate) {
534
+ dispatch(updateScreenshareTile({
535
+ id: nodeToUpdate.id,
536
+ isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED
537
+ }));
387
538
  }
388
- return prevPeerTrackNodes;
389
- });
539
+ } else {
540
+ // Handling regular tiles list
541
+ setPeerTrackNodes(prevPeerTrackNodes => {
542
+ if (peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)) {
543
+ return degradeOrRestorePeerTrackNodes(prevPeerTrackNodes, peer, track, type === HMSTrackUpdate.TRACK_DEGRADED);
544
+ }
545
+ return prevPeerTrackNodes;
546
+ });
547
+ }
390
548
  const uniqueId = createPeerTrackNodeUniqueId(peer, track);
549
+
550
+ // Handling miniview
391
551
  if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
392
552
  dispatch(updateMiniViewPeerTrackNode({
393
553
  isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED
394
554
  }));
395
555
  }
556
+
557
+ // Handling full screen view
558
+ if (fullScreenPeerTrackNode && fullScreenPeerTrackNode.id === uniqueId) {
559
+ dispatch(updateFullScreenPeerTrackNode({
560
+ isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED
561
+ }));
562
+ }
396
563
  return;
397
564
  }
398
565
  };
@@ -429,7 +596,14 @@ export const useHMSInstance = () => {
429
596
  return hmsInstance;
430
597
  };
431
598
  export const useIsHLSViewer = () => {
432
- return useSelector(state => selectIsHLSViewer(state.hmsStates.localPeer));
599
+ return useSelector(state => {
600
+ const {
601
+ layoutConfig,
602
+ localPeer
603
+ } = state.hmsStates;
604
+ const selectedLayoutConfig = selectLayoutConfigForRole(layoutConfig, (localPeer === null || localPeer === void 0 ? void 0 : localPeer.role) || null);
605
+ return selectIsHLSViewer(localPeer === null || localPeer === void 0 ? void 0 : localPeer.role, selectedLayoutConfig);
606
+ });
433
607
  };
434
608
  export const useHMSChangeTrackStateRequest = (callback, deps) => {
435
609
  const hmsInstance = useHMSInstance();
@@ -442,7 +616,7 @@ export const useHMSChangeTrackStateRequest = (callback, deps) => {
442
616
  requestedBy: request === null || request === void 0 || (_request$requestedBy = request.requestedBy) === null || _request$requestedBy === void 0 ? void 0 : _request$requestedBy.name,
443
617
  suggestedRole: request === null || request === void 0 ? void 0 : request.trackType
444
618
  });
445
- callback === null || callback === void 0 ? void 0 : callback(request);
619
+ callback === null || callback === void 0 || callback(request);
446
620
  } else {
447
621
  var _request$requestedBy2;
448
622
  Toast.showWithGravity(`Track Muted: ${request === null || request === void 0 || (_request$requestedBy2 = request.requestedBy) === null || _request$requestedBy2 === void 0 ? void 0 : _request$requestedBy2.name} Muted Your ${request === null || request === void 0 ? void 0 : request.trackType}`, Toast.LONG, Toast.TOP);
@@ -456,23 +630,23 @@ export const useHMSChangeTrackStateRequest = (callback, deps) => {
456
630
  return trackStateChangeRequest;
457
631
  };
458
632
  export const useHMSRoleChangeRequest = (callback, deps) => {
633
+ const taskRef = useRef(null);
634
+ const dispatch = useDispatch();
459
635
  const hmsInstance = useHMSInstance();
460
- const [roleChangeRequest, setRoleChangeRequest] = useState(null);
461
636
  useEffect(() => {
462
- const changeRoleRequestHandler = request => {
463
- var _request$requestedBy3, _request$suggestedRol;
464
- setRoleChangeRequest({
465
- requestedBy: request === null || request === void 0 || (_request$requestedBy3 = request.requestedBy) === null || _request$requestedBy3 === void 0 ? void 0 : _request$requestedBy3.name,
466
- suggestedRole: request === null || request === void 0 || (_request$suggestedRol = request.suggestedRole) === null || _request$suggestedRol === void 0 ? void 0 : _request$suggestedRol.name
637
+ const changeRoleRequestHandler = async request => {
638
+ taskRef.current = InteractionManager.runAfterInteractions(() => {
639
+ dispatch(setRoleChangeRequest(request));
640
+ callback === null || callback === void 0 || callback(request);
467
641
  });
468
- callback === null || callback === void 0 ? void 0 : callback(request);
469
642
  };
470
643
  hmsInstance.addEventListener(HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST, changeRoleRequestHandler);
471
644
  return () => {
645
+ var _taskRef$current;
646
+ (_taskRef$current = taskRef.current) === null || _taskRef$current === void 0 || _taskRef$current.cancel();
472
647
  hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST);
473
648
  };
474
649
  }, [...(deps || []), hmsInstance]);
475
- return roleChangeRequest;
476
650
  };
477
651
  export const useHMSSessionStoreListeners = gridViewRef => {
478
652
  const dispatch = useDispatch();
@@ -492,7 +666,7 @@ export const useHMSSessionStoreListeners = gridViewRef => {
492
666
  spotlightTrackId: id
493
667
  }));
494
668
  // Scroll to start of the list
495
- (_gridViewRef$current = gridViewRef.current) === null || _gridViewRef$current === void 0 || (_gridViewRef$current = _gridViewRef$current.getFlatlistRef().current) === null || _gridViewRef$current === void 0 ? void 0 : _gridViewRef$current.scrollToOffset({
669
+ (_gridViewRef$current = gridViewRef.current) === null || _gridViewRef$current === void 0 || (_gridViewRef$current = _gridViewRef$current.getRegularTilesFlatlistRef().current) === null || _gridViewRef$current === void 0 || _gridViewRef$current.scrollToOffset({
496
670
  animated: true,
497
671
  offset: 0
498
672
  });
@@ -593,10 +767,10 @@ export const useHMSSessionStore = () => {
593
767
  const hmsInstance = useHMSInstance();
594
768
  const dispatch = useDispatch();
595
769
  useEffect(() => {
596
- const onSessionStoreAvailableListener = _ref3 => {
770
+ const onSessionStoreAvailableListener = _ref4 => {
597
771
  let {
598
772
  sessionStore
599
- } = _ref3;
773
+ } = _ref4;
600
774
  // Saving `sessionStore` reference in `redux`
601
775
  dispatch(saveUserData({
602
776
  hmsSessionStore: sessionStore
@@ -611,22 +785,65 @@ export const useHMSSessionStore = () => {
611
785
  export const useHMSMessages = () => {
612
786
  const hmsInstance = useHMSInstance();
613
787
  const dispatch = useDispatch();
788
+ const canChangeRole = useSelector(state => {
789
+ var _state$hmsStates$loca;
790
+ return (_state$hmsStates$loca = state.hmsStates.localPeer) === null || _state$hmsStates$loca === void 0 || (_state$hmsStates$loca = _state$hmsStates$loca.role) === null || _state$hmsStates$loca === void 0 || (_state$hmsStates$loca = _state$hmsStates$loca.permissions) === null || _state$hmsStates$loca === void 0 ? void 0 : _state$hmsStates$loca.changeRole;
791
+ });
792
+ const canShowChat = useHMSConferencingScreenConfig(conferencingScreenConfig => {
793
+ var _conferencingScreenCo;
794
+ return !!(conferencingScreenConfig !== null && conferencingScreenConfig !== void 0 && (_conferencingScreenCo = conferencingScreenConfig.elements) !== null && _conferencingScreenCo !== void 0 && _conferencingScreenCo.chat);
795
+ });
614
796
  useEffect(() => {
615
797
  const onMessageListener = message => {
616
- dispatch(addMessage(message));
798
+ if (message.type === NotificationTypes.ROLE_CHANGE_DECLINED) {
799
+ if (canChangeRole) {
800
+ var _message$sender;
801
+ dispatch(addNotification({
802
+ id: `${(_message$sender = message.sender) === null || _message$sender === void 0 ? void 0 : _message$sender.peerID}-${NotificationTypes.ROLE_CHANGE_DECLINED}`,
803
+ type: NotificationTypes.ROLE_CHANGE_DECLINED,
804
+ peer: message.sender
805
+ }));
806
+ }
807
+ } else if (message.type === 'EMOJI_REACTION') {
808
+ console.log('Ignoring Emoji Reaction Message: ', message);
809
+ } else if (canShowChat) {
810
+ dispatch(addMessage(message));
811
+ }
617
812
  };
618
813
  hmsInstance.addEventListener(HMSUpdateListenerActions.ON_MESSAGE, onMessageListener);
619
814
  return () => {
620
815
  // TODO: Remove this listener when user leaves, removed or room is ended
621
816
  hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_MESSAGE);
622
817
  };
818
+ }, [canChangeRole, canShowChat, hmsInstance]);
819
+ };
820
+ export const useHMSReconnection = () => {
821
+ const dispatch = useDispatch();
822
+ const hmsInstance = useHMSInstance();
823
+ useEffect(() => {
824
+ let mounted = true;
825
+ hmsInstance.addEventListener(HMSUpdateListenerActions.RECONNECTING, () => {
826
+ if (mounted) {
827
+ dispatch(setReconnecting(true));
828
+ }
829
+ });
830
+ hmsInstance.addEventListener(HMSUpdateListenerActions.RECONNECTED, () => {
831
+ if (mounted) {
832
+ dispatch(setReconnecting(false));
833
+ }
834
+ });
835
+ return () => {
836
+ mounted = false;
837
+ hmsInstance.removeEventListener(HMSUpdateListenerActions.RECONNECTING);
838
+ hmsInstance.removeEventListener(HMSUpdateListenerActions.RECONNECTED);
839
+ };
623
840
  }, [hmsInstance]);
624
841
  };
625
842
  export const useHMSPIPRoomLeave = () => {
626
843
  const hmsInstance = useHMSInstance();
627
844
  const {
628
845
  destroy
629
- } = useLeaveMethods();
846
+ } = useLeaveMethods(true);
630
847
  useEffect(() => {
631
848
  const pipRoomLeaveHandler = () => {
632
849
  destroy();
@@ -641,7 +858,7 @@ export const useHMSRemovedFromRoomUpdate = () => {
641
858
  const hmsInstance = useHMSInstance();
642
859
  const {
643
860
  destroy
644
- } = useLeaveMethods();
861
+ } = useLeaveMethods(true);
645
862
  useEffect(() => {
646
863
  const removedFromRoomHandler = () => {
647
864
  destroy();
@@ -657,18 +874,14 @@ export const usePIPListener = () => {
657
874
  const dispatch = useDispatch();
658
875
  const isPipModeActive = useSelector(state => state.app.pipModeStatus === PipModes.ACTIVE);
659
876
  useEffect(() => {
660
- if (isPipModeActive) {
661
- const appStateListener = () => {
662
- LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
663
- dispatch(changePipModeStatus(PipModes.INACTIVE));
664
- };
665
- AppState.addEventListener('focus', appStateListener);
666
- return () => {
667
- AppState.removeEventListener('focus', appStateListener);
668
- dispatch(changePipModeStatus(PipModes.INACTIVE));
669
- };
670
- }
671
- }, [isPipModeActive]);
877
+ const pipModeChangedHandler = data => {
878
+ dispatch(changePipModeStatus(data.isInPictureInPictureMode ? PipModes.ACTIVE : PipModes.INACTIVE));
879
+ };
880
+ hmsInstance.addEventListener(HMSPIPListenerActions.ON_PIP_MODE_CHANGED, pipModeChangedHandler);
881
+ return () => {
882
+ hmsInstance.removeEventListener(HMSPIPListenerActions.ON_PIP_MODE_CHANGED);
883
+ };
884
+ }, []);
672
885
 
673
886
  // Check if PIP is supported or not
674
887
  useEffect(() => {
@@ -697,6 +910,7 @@ export const useHMSNetworkQualityUpdate = () => {
697
910
  };
698
911
  export const useHMSActiveSpeakerUpdates = (setPeerTrackNodes, active) => {
699
912
  const hmsInstance = useHMSInstance();
913
+ const dispatch = useDispatch();
700
914
  const reduxStore = useStore();
701
915
  const isPortraitOrientation = useIsPortraitOrientation();
702
916
  useEffect(() => {
@@ -704,6 +918,7 @@ export const useHMSActiveSpeakerUpdates = (setPeerTrackNodes, active) => {
704
918
  return;
705
919
  }
706
920
  const handleActiveSpeaker = data => {
921
+ dispatch(setActiveSpeakers(data));
707
922
  const activePage = reduxStore.getState().app.gridViewActivePage;
708
923
  if (activePage !== 0) {
709
924
  return;
@@ -753,7 +968,7 @@ let modalTaskRef = {
753
968
  export const clearPendingModalTasks = () => {
754
969
  if (Platform.OS === 'android') {
755
970
  var _modalTaskRef$current;
756
- (_modalTaskRef$current = modalTaskRef.current) === null || _modalTaskRef$current === void 0 ? void 0 : _modalTaskRef$current.cancel();
971
+ (_modalTaskRef$current = modalTaskRef.current) === null || _modalTaskRef$current === void 0 || _modalTaskRef$current.cancel();
757
972
  } else {
758
973
  clearTimeout(modalTaskRef.current);
759
974
  }
@@ -807,10 +1022,11 @@ export const useFetchHMSRoles = () => {
807
1022
  export const useShowLandscapeLayout = () => {
808
1023
  const isLandscapeOrientation = useIsLandscapeOrientation();
809
1024
  const localPeerRoleName = useSelector(state => {
810
- var _state$hmsStates$loca;
811
- return (_state$hmsStates$loca = state.hmsStates.localPeer) === null || _state$hmsStates$loca === void 0 || (_state$hmsStates$loca = _state$hmsStates$loca.role) === null || _state$hmsStates$loca === void 0 ? void 0 : _state$hmsStates$loca.name;
1025
+ var _state$hmsStates$loca2;
1026
+ return (_state$hmsStates$loca2 = state.hmsStates.localPeer) === null || _state$hmsStates$loca2 === void 0 || (_state$hmsStates$loca2 = _state$hmsStates$loca2.role) === null || _state$hmsStates$loca2 === void 0 ? void 0 : _state$hmsStates$loca2.name;
812
1027
  });
813
- return isLandscapeOrientation && !!localPeerRoleName && localPeerRoleName.includes('hls-');
1028
+ const isHLSViewer = useIsHLSViewer();
1029
+ return isLandscapeOrientation && !!localPeerRoleName && isHLSViewer;
814
1030
  };
815
1031
  let hmsConfig = null;
816
1032
  export const clearConfig = () => {
@@ -821,14 +1037,15 @@ export const useHMSConfig = () => {
821
1037
  const dispatch = useDispatch();
822
1038
  const store = useStore();
823
1039
  const getConfig = useCallback(async () => {
824
- var _storeState$user$endP, _storeState$user$endP2;
1040
+ var _storeState$user$endP, _storeState$user$endP3;
825
1041
  if (hmsConfig) return hmsConfig;
826
1042
  const storeState = store.getState();
827
1043
  const token = await hmsInstance.getAuthTokenByRoomCode(storeState.user.roomCode, storeState.user.userId, (_storeState$user$endP = storeState.user.endPoints) === null || _storeState$user$endP === void 0 ? void 0 : _storeState$user$endP.token);
828
1044
 
829
1045
  // TODO: [REMOVE LATER] added trycatch block so that we can join rooms where we are getting error from Layout API
830
1046
  try {
831
- const roomLayout = await getRoomLayout(hmsInstance, token, 'https://api-nonprod.100ms.live');
1047
+ var _storeState$user$endP2;
1048
+ const roomLayout = await getRoomLayout(hmsInstance, token, (_storeState$user$endP2 = storeState.user.endPoints) === null || _storeState$user$endP2 === void 0 ? void 0 : _storeState$user$endP2.layout);
832
1049
  dispatch(setLayoutConfig(roomLayout));
833
1050
  } catch (error) {
834
1051
  console.warn('# getRoomLayout error: ', error);
@@ -837,18 +1054,16 @@ export const useHMSConfig = () => {
837
1054
  authToken: token,
838
1055
  username: storeState.user.userName,
839
1056
  captureNetworkQualityInPreview: true,
840
- endpoint: (_storeState$user$endP2 = storeState.user.endPoints) === null || _storeState$user$endP2 === void 0 ? void 0 : _storeState$user$endP2.init
841
- // metadata: JSON.stringify({isHandRaised: true}), // To join with hand raised
1057
+ endpoint: (_storeState$user$endP3 = storeState.user.endPoints) === null || _storeState$user$endP3 === void 0 ? void 0 : _storeState$user$endP3.init
842
1058
  });
843
-
844
1059
  return hmsConfig;
845
1060
  }, [hmsInstance]);
846
1061
  const updateConfig = useCallback(data => {
847
1062
  if (!hmsConfig) {
848
1063
  throw new Error('No HMSConfig is available to update!');
849
1064
  }
850
- Object.entries(data).forEach(_ref4 => {
851
- let [key, value] = _ref4;
1065
+ Object.entries(data).forEach(_ref5 => {
1066
+ let [key, value] = _ref5;
852
1067
  // @ts-ignore
853
1068
  hmsConfig[key] = value;
854
1069
  });
@@ -859,117 +1074,225 @@ export const useHMSConfig = () => {
859
1074
  getConfig
860
1075
  };
861
1076
  };
862
- export const useSafeDimensions = () => {
863
- const {
864
- height,
865
- width
866
- } = useSafeAreaFrame();
867
- const safeAreaInsets = useSafeAreaInsets();
868
- return {
869
- safeWidth: width - safeAreaInsets.left - safeAreaInsets.right,
870
- safeHeight: height - safeAreaInsets.top - safeAreaInsets.bottom
871
- };
872
- };
873
- export const useShowChat = () => {
1077
+ export const useShowChatAndParticipants = () => {
874
1078
  const dispatch = useDispatch();
875
- const isHLSViewer = useIsHLSViewer();
876
- const showChatView = useSelector(state => state.chatWindow.showChatView);
877
- const hlsAspectRatio = useSelector(state => state.app.hlsAspectRatio);
878
- const chatVisible = useMemo(() => {
879
- if (!showChatView) return 'none';
880
- if (isHLSViewer && ['16:9', '4:3'].includes(hlsAspectRatio.id)) return 'inset';
1079
+ const {
1080
+ modalVisibleType,
1081
+ handleModalVisibleType: setModalVisible
1082
+ } = useModalType();
1083
+ const overlayChatLayout = useHMSChatLayoutConfig(chatConfig => chatConfig === null || chatConfig === void 0 ? void 0 : chatConfig.is_overlay);
1084
+ const canShowChat = useHMSConferencingScreenConfig(conferencingScreenConfig => {
1085
+ var _conferencingScreenCo2;
1086
+ return !!(conferencingScreenConfig !== null && conferencingScreenConfig !== void 0 && (_conferencingScreenCo2 = conferencingScreenConfig.elements) !== null && _conferencingScreenCo2 !== void 0 && _conferencingScreenCo2.chat);
1087
+ });
1088
+ const canShowParticipants = useHMSConferencingScreenConfig(conferencingScreenConfig => {
1089
+ var _conferencingScreenCo3;
1090
+ return !!(conferencingScreenConfig !== null && conferencingScreenConfig !== void 0 && (_conferencingScreenCo3 = conferencingScreenConfig.elements) !== null && _conferencingScreenCo3 !== void 0 && _conferencingScreenCo3.participant_list);
1091
+ });
881
1092
 
882
- // TODO: handle case when type modal is selected, but chat modal is not shown because aspect ration modal was just closed
883
- return 'modal';
884
- }, [showChatView, hlsAspectRatio.id, isHLSViewer]);
885
- const isChatVisibleInsetType = chatVisible === 'inset';
886
- const showChat = useCallback(show => {
887
- if (isChatVisibleInsetType) {
888
- LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
1093
+ // state for inset chat view
1094
+ const overlayChatVisible = useSelector(state => state.chatWindow.showChatView);
1095
+ const modalVisible = modalVisibleType === ModalTypes.CHAT_AND_PARTICIPANTS;
1096
+ const show = useCallback(view => {
1097
+ // Handle Showing Chat View/Modal
1098
+ if (view === 'chat') {
1099
+ if (!canShowChat) return;
1100
+ if (overlayChatLayout) {
1101
+ dispatch({
1102
+ type: 'SET_SHOW_CHAT_VIEW',
1103
+ showChatView: true
1104
+ });
1105
+ } else {
1106
+ batch(() => {
1107
+ dispatch({
1108
+ type: 'SET_SHOW_CHAT_VIEW',
1109
+ showChatView: false
1110
+ });
1111
+ dispatch(setActiveChatBottomSheetTab('Chat'));
1112
+ });
1113
+ setModalVisible(ModalTypes.CHAT_AND_PARTICIPANTS);
1114
+ }
889
1115
  }
890
- dispatch({
891
- type: 'SET_SHOW_CHAT_VIEW',
892
- showChatView: show
893
- });
894
- }, [isChatVisibleInsetType]);
895
- return [chatVisible, showChat];
1116
+ // Handle Showing Participant
1117
+ else if (canShowParticipants) {
1118
+ dispatch(setActiveChatBottomSheetTab('Participants'));
1119
+ setModalVisible(ModalTypes.CHAT_AND_PARTICIPANTS);
1120
+ }
1121
+ }, [overlayChatLayout, canShowChat, canShowParticipants, setModalVisible]);
1122
+ const hide = useCallback(view => {
1123
+ if (view === 'chat_overlay') {
1124
+ dispatch({
1125
+ type: 'SET_SHOW_CHAT_VIEW',
1126
+ showChatView: false
1127
+ });
1128
+ } else {
1129
+ setModalVisible(ModalTypes.DEFAULT);
1130
+ }
1131
+ }, [overlayChatLayout, setModalVisible]);
1132
+ return {
1133
+ overlayChatVisible,
1134
+ modalVisible,
1135
+ overlayChatLayout,
1136
+ canShowChat,
1137
+ canShowParticipants,
1138
+ show,
1139
+ hide
1140
+ };
896
1141
  };
897
1142
  export const usePortraitChatViewVisible = () => {
898
- const [chatVisible] = useShowChat();
1143
+ const {
1144
+ overlayChatVisible
1145
+ } = useShowChatAndParticipants();
899
1146
  const pipModeNotActive = useSelector(state => state.app.pipModeStatus !== PipModes.ACTIVE);
900
1147
  const isPortraitOrientation = useIsPortraitOrientation();
901
- return pipModeNotActive && isPortraitOrientation && chatVisible === 'inset';
1148
+ return pipModeNotActive && isPortraitOrientation && overlayChatVisible;
902
1149
  };
903
1150
  export const useLandscapeChatViewVisible = () => {
904
- const [chatVisible] = useShowChat();
1151
+ const {
1152
+ overlayChatVisible
1153
+ } = useShowChatAndParticipants();
905
1154
  const pipModeNotActive = useSelector(state => state.app.pipModeStatus !== PipModes.ACTIVE);
906
1155
  const isLandscapeOrientation = useIsLandscapeOrientation();
907
- return pipModeNotActive && isLandscapeOrientation && chatVisible === 'inset';
1156
+ return pipModeNotActive && isLandscapeOrientation && overlayChatVisible;
908
1157
  };
909
- export const useFilteredParticipants = () => {
1158
+ export const useOffStageParticipants = () => {
1159
+ const dispatch = useDispatch();
910
1160
  const hmsInstance = useHMSInstance();
911
- const localPeer = useSelector(state => state.hmsStates.localPeer);
912
- const [filter, setFilter] = useState('everyone');
913
- const [participantsSearchInput, setParticipantsSearchInput] = useState('');
914
- const [hmsPeers, setHmsPeers] = useState(localPeer ? [localPeer] : []);
915
- const filteredPeerTrackNodes = useMemo(() => {
916
- const newFilteredPeerTrackNodes = hmsPeers === null || hmsPeers === void 0 ? void 0 : hmsPeers.filter(peer => {
917
- var _peer$role4;
918
- if (participantsSearchInput.length < 1 || peer.name.includes(participantsSearchInput) || (_peer$role4 = peer.role) !== null && _peer$role4 !== void 0 && (_peer$role4 = _peer$role4.name) !== null && _peer$role4 !== void 0 && _peer$role4.includes(participantsSearchInput)) {
919
- return true;
920
- }
921
- return false;
922
- });
923
- if (filter === 'everyone') {
924
- return newFilteredPeerTrackNodes;
925
- }
926
- if (filter === 'raised hand') {
927
- return newFilteredPeerTrackNodes.filter(peer => {
928
- const parsedMetaData = parseMetadata(peer.metadata);
929
- return parsedMetaData.isHandRaised === true;
930
- });
1161
+ const offStageRoles = useHMSLayoutConfig(layoutConfig => {
1162
+ var _layoutConfig$screens;
1163
+ return (layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$screens = layoutConfig.screens) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.conferencing) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.default) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.elements) === null || _layoutConfig$screens === void 0 || (_layoutConfig$screens = _layoutConfig$screens.on_stage_exp) === null || _layoutConfig$screens === void 0 ? void 0 : _layoutConfig$screens.off_stage_roles) || null;
1164
+ });
1165
+ const [participantsTotalCounts, setParticipantsTotalCounts] = useState({});
1166
+ useEffect(() => {
1167
+ if (offStageRoles) {
1168
+ let mounted = true;
1169
+ const createIterator = async forRole => {
1170
+ const iterator = hmsInstance.getPeerListIterator({
1171
+ byRoleName: forRole,
1172
+ limit: 10
1173
+ });
1174
+ const participants = await iterator.next();
1175
+ if (mounted) {
1176
+ dispatch(replaceParticipantsList(participants, forRole));
1177
+ setParticipantsTotalCounts(prev => ({
1178
+ ...prev,
1179
+ [forRole]: iterator.totalCount
1180
+ }));
1181
+ }
1182
+ };
1183
+ const createIteratorForRoles = () => {
1184
+ offStageRoles.forEach(role => {
1185
+ createIterator(role);
1186
+ });
1187
+ };
1188
+ createIteratorForRoles();
1189
+ const intervalId = setInterval(() => {
1190
+ createIteratorForRoles();
1191
+ }, PeerListRefreshInterval);
1192
+ return () => {
1193
+ mounted = false;
1194
+ clearInterval(intervalId);
1195
+ };
931
1196
  }
932
- return newFilteredPeerTrackNodes.filter(peer => {
933
- var _peer$role5;
934
- return ((_peer$role5 = peer.role) === null || _peer$role5 === void 0 ? void 0 : _peer$role5.name) === filter;
1197
+ }, [offStageRoles]);
1198
+ return participantsTotalCounts;
1199
+ };
1200
+ export const useFilteredParticipants = filterText => {
1201
+ var _participantsAccordia;
1202
+ const roles = useSelector(state => state.hmsStates.roles);
1203
+ const onStageRole = useHMSLayoutConfig(layoutConfig => {
1204
+ var _layoutConfig$screens2;
1205
+ return (layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$screens2 = layoutConfig.screens) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.conferencing) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.default) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.elements) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.on_stage_exp) === null || _layoutConfig$screens2 === void 0 ? void 0 : _layoutConfig$screens2.on_stage_role) || null;
1206
+ });
1207
+ const offStageParticipantsTotalCounts = useOffStageParticipants();
1208
+ const formattedSearchText = filterText.trim().toLowerCase();
1209
+ const groupedParticipants = useSelector(state => state.hmsStates.groupedParticipants);
1210
+ const sortedRoles = useMemo(() => {
1211
+ return roles.filter(role => {
1212
+ if (!role.name || role.name.startsWith('_')) {
1213
+ return false;
1214
+ }
1215
+ return true;
1216
+
1217
+ // const list = groupedParticipants[role.name!];
1218
+
1219
+ // return list && list.length > 0;
1220
+ }).sort((a, b) => {
1221
+ var _a$publishSettings, _b$publishSettings;
1222
+ if (onStageRole) {
1223
+ if (a.name === onStageRole && b.name === onStageRole) {
1224
+ return 0;
1225
+ }
1226
+ if (a.name === onStageRole) {
1227
+ return -1;
1228
+ }
1229
+ if (b.name === onStageRole) {
1230
+ return 1;
1231
+ }
1232
+ }
1233
+ const canAPublish = (((_a$publishSettings = a.publishSettings) === null || _a$publishSettings === void 0 ? void 0 : _a$publishSettings.allowed) && a.publishSettings.allowed.length > 0) ?? false;
1234
+ const canBPublish = (((_b$publishSettings = b.publishSettings) === null || _b$publishSettings === void 0 ? void 0 : _b$publishSettings.allowed) && b.publishSettings.allowed.length > 0) ?? false;
1235
+ if (canAPublish && canBPublish) {
1236
+ return 0;
1237
+ }
1238
+ if (canAPublish) {
1239
+ return -1;
1240
+ }
1241
+ return 1;
935
1242
  });
936
- }, [participantsSearchInput, filter, hmsPeers]);
937
- useEffect(() => {
938
- let ignore = false;
939
- hmsInstance.getRemotePeers().then(peers => {
940
- if (localPeer) {
941
- InteractionManager.runAfterInteractions(() => {
942
- if (!ignore) {
943
- setHmsPeers([localPeer, ...peers]);
944
- }
1243
+ },
1244
+ // [groupedParticipants, onStageRole, roles]
1245
+ [onStageRole, roles]);
1246
+ const participantsAccordianData = useMemo(() => {
1247
+ const t = [];
1248
+ const filteredHandRaisedPeers = [];
1249
+ sortedRoles.forEach(role => {
1250
+ const list = groupedParticipants[role.name];
1251
+ const filteredList = Array.isArray(list) && formattedSearchText.length > 0 ? list.filter(peer => peer.name.toLowerCase().includes(formattedSearchText)) : list;
1252
+ if (Array.isArray(filteredList) && filteredList.length > 0) {
1253
+ filteredHandRaisedPeers.push(filteredList);
1254
+ const offStageRoleTotalCount = offStageParticipantsTotalCounts[role.name];
1255
+ const firstTen = filteredList.slice(0, 10);
1256
+ t.push({
1257
+ id: role.name,
1258
+ label: `${role.name} (${typeof offStageRoleTotalCount === 'number' ? offStageRoleTotalCount : filteredList.length})`,
1259
+ showViewAll: typeof offStageRoleTotalCount === 'number' && formattedSearchText.length <= 0 ? offStageRoleTotalCount > 10 : filteredList.length > 10,
1260
+ data: firstTen
945
1261
  });
946
1262
  }
947
1263
  });
948
- return () => {
949
- ignore = true;
950
- };
951
- }, [localPeer, hmsInstance]);
1264
+ const handRaisedParticipants = filteredHandRaisedPeers.flat().filter(participant => participant.isHandRaised);
1265
+ const firstTenHandRaisedParticipants = handRaisedParticipants.slice(0, 10);
1266
+ if (handRaisedParticipants.length > 0) {
1267
+ t.unshift({
1268
+ id: 'hand-raised',
1269
+ label: `Hand Raised (${handRaisedParticipants.length})`,
1270
+ showViewAll: handRaisedParticipants.length > 10,
1271
+ data: firstTenHandRaisedParticipants
1272
+ });
1273
+ }
1274
+ return t;
1275
+ }, [formattedSearchText, groupedParticipants, offStageParticipantsTotalCounts, sortedRoles]);
1276
+ const [expandedGroup, setExpandedGroup] = useState(((_participantsAccordia = participantsAccordianData[0]) === null || _participantsAccordia === void 0 ? void 0 : _participantsAccordia.id) ?? null);
952
1277
  return {
953
- allParticipants: hmsPeers,
954
- filteredParticipants: filteredPeerTrackNodes,
955
- selectedFilter: filter,
956
- changeFilter: setFilter,
957
- searchText: participantsSearchInput,
958
- setSearchText: setParticipantsSearchInput
1278
+ data: participantsAccordianData,
1279
+ formattedSearchText,
1280
+ expandedGroup,
1281
+ setExpandedGroup
959
1282
  };
960
1283
  };
961
1284
  export const useShouldGoLive = () => {
962
1285
  const shouldGoLive = useSelector(selectShouldGoLive);
963
1286
  return shouldGoLive;
964
1287
  };
965
- export const useLeaveMethods = () => {
1288
+ export const useLeaveMethods = isUnmounted => {
966
1289
  const navigation = useContext(NavigationContext);
967
1290
  const hmsInstance = useHMSInstance();
968
1291
  const dispatch = useDispatch();
969
1292
  const reduxStore = useStore();
970
- const destroy = useCallback(async () => {
1293
+ const destroy = useCallback(() => {
971
1294
  try {
972
- const s = await hmsInstance.destroy();
1295
+ const s = hmsInstance.destroy();
973
1296
  console.log('Destroy Success: ', s);
974
1297
  // TODOS:
975
1298
  // - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
@@ -995,11 +1318,10 @@ export const useLeaveMethods = () => {
995
1318
  if (typeof onLeave === 'function') {
996
1319
  onLeave();
997
1320
  dispatch(clearStore());
998
- } else if (navigation && navigation.canGoBack()) {
1321
+ } else if (navigation && navigation.canGoBack() && !isUnmounted) {
999
1322
  navigation.goBack();
1000
1323
  dispatch(clearStore());
1001
1324
  } else {
1002
- // TODO: call onLeave Callback if provided
1003
1325
  // Otherwise default action is to show "Meeting Ended" screen
1004
1326
  dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
1005
1327
  dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
@@ -1010,7 +1332,13 @@ export const useLeaveMethods = () => {
1010
1332
  return Promise.reject(e);
1011
1333
  }
1012
1334
  }, [hmsInstance]);
1013
- const leave = useCallback(async () => {
1335
+ const leave = useCallback(async function () {
1336
+ let shouldEndStream = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1337
+ if (shouldEndStream) {
1338
+ hmsInstance.stopHLSStreaming().catch(error => {
1339
+ console.log('Stop HLS Streaming Error: ', error);
1340
+ });
1341
+ }
1014
1342
  try {
1015
1343
  const d = await hmsInstance.leave();
1016
1344
  console.log('Leave Success: ', d);
@@ -1045,13 +1373,18 @@ export const useLeaveMethods = () => {
1045
1373
  goToPreview
1046
1374
  };
1047
1375
  };
1048
- export const useHMSLayoutConfig = () => {
1049
- return useSelector(state => state.hmsStates.layoutConfig);
1376
+
1377
+ // Returns layout config as it is returned from server
1378
+ export const useHMSLayoutConfig = (selector, equalityFn) => {
1379
+ return useSelector(state => {
1380
+ var _state$hmsStates$loca3;
1381
+ return selector(selectLayoutConfigForRole(state.hmsStates.layoutConfig, ((_state$hmsStates$loca3 = state.hmsStates.localPeer) === null || _state$hmsStates$loca3 === void 0 ? void 0 : _state$hmsStates$loca3.role) || null));
1382
+ }, equalityFn);
1050
1383
  };
1051
1384
  export const useHMSRoomTheme = selector => {
1052
- return useSelector(state => {
1053
- const layoutConfig = state.hmsStates.layoutConfig;
1054
- const roomTheme = layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.themes.find(theme => theme.default);
1385
+ return useHMSLayoutConfig(layoutConfig => {
1386
+ var _layoutConfig$themes;
1387
+ const roomTheme = layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$themes = layoutConfig.themes) === null || _layoutConfig$themes === void 0 ? void 0 : _layoutConfig$themes.find(theme => theme.default);
1055
1388
  const defaultTheme = roomTheme ? roomTheme.palette ? roomTheme : {
1056
1389
  ...roomTheme,
1057
1390
  palette: DEFAULT_THEME.palette
@@ -1066,8 +1399,7 @@ export const useHMSRoomColorPalette = () => {
1066
1399
  return useHMSRoomTheme(theme => theme.palette);
1067
1400
  };
1068
1401
  export const useHMSRoomTypography = () => {
1069
- return useSelector(state => {
1070
- const layoutConfig = state.hmsStates.layoutConfig;
1402
+ return useHMSLayoutConfig(layoutConfig => {
1071
1403
  const typography = layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.typography;
1072
1404
  if (!typography) {
1073
1405
  return DEFAULT_TYPOGRAPHY;
@@ -1078,6 +1410,9 @@ export const useHMSRoomTypography = () => {
1078
1410
  ...typography
1079
1411
  };
1080
1412
  }
1413
+
1414
+ // formatting font family name
1415
+ typography.font_family = typography.font_family.replace(/ /g, '');
1081
1416
  return typography;
1082
1417
  }, shallowEqual);
1083
1418
  };
@@ -1093,4 +1428,84 @@ export const useHMSRoomStyle = function (updater) {
1093
1428
  default: updater(theme, typography)
1094
1429
  }), deps).default;
1095
1430
  };
1431
+ export const useSendMessage = () => {
1432
+ const hmsInstance = useHMSInstance();
1433
+ const dispatch = useDispatch();
1434
+ const reduxStore = useStore();
1435
+ const message = useSelector(state => state.chatWindow.typedMessage);
1436
+ const setMessage = useCallback(text => {
1437
+ dispatch({
1438
+ type: 'SET_TYPED_MESSAGE',
1439
+ typedMessage: text
1440
+ });
1441
+ }, []);
1442
+ const sendMessage = useCallback(async () => {
1443
+ const chatWindowState = reduxStore.getState().chatWindow;
1444
+ const message = chatWindowState.typedMessage;
1445
+ const sendingTo = chatWindowState.sendTo;
1446
+ if (message.length <= 0) return;
1447
+ const hmsMessageRecipient = new HMSMessageRecipient({
1448
+ recipientType: 'publishSettings' in sendingTo ? HMSMessageRecipientType.ROLES : 'peerID' in sendingTo ? HMSMessageRecipientType.PEER : HMSMessageRecipientType.BROADCAST,
1449
+ recipientPeer: 'peerID' in sendingTo ? sendingTo : undefined,
1450
+ recipientRoles: 'publishSettings' in sendingTo ? [sendingTo] : undefined
1451
+ });
1452
+
1453
+ // Saving reference of `message` state to local variable
1454
+ // to use the typed message after clearing state
1455
+ const messageText = message;
1456
+ dispatch({
1457
+ type: 'SET_TYPED_MESSAGE',
1458
+ typedMessage: ''
1459
+ });
1460
+ const handleMessageID = _ref6 => {
1461
+ let {
1462
+ messageId
1463
+ } = _ref6;
1464
+ const localPeer = reduxStore.getState().hmsStates.localPeer;
1465
+ if (messageId) {
1466
+ Keyboard.dismiss();
1467
+ const localMessage = new HMSMessage({
1468
+ messageId: messageId,
1469
+ message: messageText,
1470
+ type: 'chat',
1471
+ time: new Date(),
1472
+ sender: localPeer || undefined,
1473
+ recipient: hmsMessageRecipient
1474
+ });
1475
+ dispatch(addMessage(localMessage));
1476
+ }
1477
+ };
1478
+ try {
1479
+ let result;
1480
+ if ('publishSettings' in sendingTo) {
1481
+ result = await hmsInstance.sendGroupMessage(messageText, [sendingTo]);
1482
+ } else if ('peerID' in sendingTo) {
1483
+ result = await hmsInstance.sendDirectMessage(messageText, sendingTo);
1484
+ } else {
1485
+ result = await hmsInstance.sendBroadcastMessage(messageText);
1486
+ }
1487
+ handleMessageID(result);
1488
+ return Promise.resolve(result);
1489
+ } catch (error) {
1490
+ return Promise.reject(error);
1491
+ }
1492
+ }, []);
1493
+ return {
1494
+ message,
1495
+ setMessage,
1496
+ sendMessage
1497
+ };
1498
+ };
1499
+ export const useHMSChatLayoutConfig = (selector, equalityFn) => {
1500
+ return useHMSLayoutConfig(layoutConfig => {
1501
+ const chatConfig = selectChatLayoutConfig(layoutConfig);
1502
+ return selector(chatConfig);
1503
+ }, equalityFn);
1504
+ };
1505
+ export const useHMSConferencingScreenConfig = (selector, equalityFn) => {
1506
+ return useHMSLayoutConfig(layoutConfig => {
1507
+ const conferencingScreenConfig = selectConferencingScreenConfig(layoutConfig);
1508
+ return selector(conferencingScreenConfig);
1509
+ }, equalityFn);
1510
+ };
1096
1511
  //# sourceMappingURL=hooks-util.js.map