@100mslive/react-native-room-kit 1.0.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 (512) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/HMSInstanceSetup.js +2 -2
  3. package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
  4. package/lib/commonjs/HMSPrebuilt.js +5 -7
  5. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  6. package/lib/commonjs/HMSRoomSetup.js +3 -3
  7. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  8. package/lib/commonjs/Icons/Chevron/index.js +5 -1
  9. package/lib/commonjs/Icons/Chevron/index.js.map +1 -1
  10. package/lib/commonjs/Icons/Leave/index.js +5 -1
  11. package/lib/commonjs/Icons/Leave/index.js.map +1 -1
  12. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  13. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  14. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  15. package/lib/commonjs/Icons/WelcomeHand/index.js +30 -0
  16. package/lib/commonjs/Icons/WelcomeHand/index.js.map +1 -0
  17. package/lib/commonjs/Icons/index.js +11 -0
  18. package/lib/commonjs/Icons/index.js.map +1 -1
  19. package/lib/commonjs/components/AnimatedFooter.js +2 -2
  20. package/lib/commonjs/components/AnimatedFooter.js.map +1 -1
  21. package/lib/commonjs/components/AnimatedHLSFooter.js +2 -2
  22. package/lib/commonjs/components/AnimatedHLSFooter.js.map +1 -1
  23. package/lib/commonjs/components/AnimatedHeader.js +2 -2
  24. package/lib/commonjs/components/AnimatedHeader.js.map +1 -1
  25. package/lib/commonjs/components/AvatarView.js +2 -2
  26. package/lib/commonjs/components/AvatarView.js.map +1 -1
  27. package/lib/commonjs/components/BackButton.js +2 -2
  28. package/lib/commonjs/components/BackButton.js.map +1 -1
  29. package/lib/commonjs/components/BottomSheet.js +2 -2
  30. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  31. package/lib/commonjs/components/ChangeNameModalContent.js +25 -6
  32. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
  33. package/lib/commonjs/components/Chat/ChatBanner.js +2 -2
  34. package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -1
  35. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +3 -4
  36. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  37. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js +3 -4
  38. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js.map +1 -1
  39. package/lib/commonjs/components/Chat/ChatFilterItem.js +3 -4
  40. package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -1
  41. package/lib/commonjs/components/Chat/ChatFilterView.js +3 -4
  42. package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -1
  43. package/lib/commonjs/components/Chat/ChatList.js +3 -4
  44. package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
  45. package/lib/commonjs/components/Chat/ChatMessage.js +3 -4
  46. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
  47. package/lib/commonjs/components/Chat/PinnedMessage.js +2 -2
  48. package/lib/commonjs/components/Chat/PinnedMessage.js.map +1 -1
  49. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +2 -2
  50. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  51. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +7 -7
  52. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  53. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -4
  54. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  55. package/lib/commonjs/components/ChatAndParticipants/ChatView.js +3 -4
  56. package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -1
  57. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js +15 -14
  58. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js.map +1 -1
  59. package/lib/commonjs/components/DisplayView.js +2 -2
  60. package/lib/commonjs/components/DisplayView.js.map +1 -1
  61. package/lib/commonjs/components/EndRoomModalContent.js +2 -2
  62. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  63. package/lib/commonjs/components/Footer.js +4 -5
  64. package/lib/commonjs/components/Footer.js.map +1 -1
  65. package/lib/commonjs/components/FullScreenVideoView.js +2 -2
  66. package/lib/commonjs/components/FullScreenVideoView.js.map +1 -1
  67. package/lib/commonjs/components/GridView.js +3 -4
  68. package/lib/commonjs/components/GridView.js.map +1 -1
  69. package/lib/commonjs/components/HLSFooter.js +2 -2
  70. package/lib/commonjs/components/HLSFooter.js.map +1 -1
  71. package/lib/commonjs/components/HLSView.js +2 -2
  72. package/lib/commonjs/components/HLSView.js.map +1 -1
  73. package/lib/commonjs/components/HMSBaseButton.js +2 -2
  74. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  75. package/lib/commonjs/components/HMSChat.js +2 -2
  76. package/lib/commonjs/components/HMSChat.js.map +1 -1
  77. package/lib/commonjs/components/HMSDangerButton.js +4 -3
  78. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  79. package/lib/commonjs/components/HMSHLSMessage.js +3 -4
  80. package/lib/commonjs/components/HMSHLSMessage.js.map +1 -1
  81. package/lib/commonjs/components/HMSHLSMessageList.js +2 -2
  82. package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
  83. package/lib/commonjs/components/HMSHLSNotStarted.js +2 -2
  84. package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
  85. package/lib/commonjs/components/HMSHLSStreamLoading.js +6 -4
  86. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
  87. package/lib/commonjs/components/HMSHandRaiseNotification.js +2 -2
  88. package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -1
  89. package/lib/commonjs/components/HMSKeyboardAvoidingView.js +4 -5
  90. package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -1
  91. package/lib/commonjs/components/HMSLiveIndicator.js +5 -6
  92. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
  93. package/lib/commonjs/components/HMSLocalScreenshareNotification.js +2 -2
  94. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
  95. package/lib/commonjs/components/HMSLocalVideoView.js +2 -2
  96. package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -1
  97. package/lib/commonjs/components/HMSManageAudioOutput.js +2 -2
  98. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  99. package/lib/commonjs/components/HMSManageCameraRotation.js +2 -2
  100. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  101. package/lib/commonjs/components/HMSManageLeave.js +4 -3
  102. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  103. package/lib/commonjs/components/HMSManageLocalAudio.js +2 -2
  104. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  105. package/lib/commonjs/components/HMSManageLocalVideo.js +2 -2
  106. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  107. package/lib/commonjs/components/HMSManageRaiseHand.js +23 -11
  108. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
  109. package/lib/commonjs/components/HMSMeetingEnded.js +2 -2
  110. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
  111. package/lib/commonjs/components/HMSNotification.js +2 -2
  112. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  113. package/lib/commonjs/components/HMSNotifications.js +2 -2
  114. package/lib/commonjs/components/HMSNotifications.js.map +1 -1
  115. package/lib/commonjs/components/HMSOverlayChatView.js +2 -2
  116. package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -1
  117. package/lib/commonjs/components/HMSPreviewEditName.js +2 -2
  118. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  119. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +5 -4
  120. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  121. package/lib/commonjs/components/HMSPreviewJoinButton.js +10 -5
  122. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  123. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +2 -2
  124. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
  125. package/lib/commonjs/components/HMSPreviewPeersList.js +2 -2
  126. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  127. package/lib/commonjs/components/HMSPreviewSubtitle.js +2 -2
  128. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  129. package/lib/commonjs/components/HMSPreviewTile.js +3 -3
  130. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  131. package/lib/commonjs/components/HMSPreviewTitle.js +2 -2
  132. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  133. package/lib/commonjs/components/HMSPrimaryButton.js +2 -2
  134. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  135. package/lib/commonjs/components/HMSRecordingIndicator.js +6 -3
  136. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
  137. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js +2 -2
  138. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js.map +1 -1
  139. package/lib/commonjs/components/HMSRoomOptions.js +2 -2
  140. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  141. package/lib/commonjs/components/HMSSendMessageInput.js +2 -2
  142. package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -1
  143. package/lib/commonjs/components/HMSTextInput.js +5 -5
  144. package/lib/commonjs/components/HMSTextInput.js.map +1 -1
  145. package/lib/commonjs/components/HMSVideoView.js +2 -2
  146. package/lib/commonjs/components/HMSVideoView.js.map +1 -1
  147. package/lib/commonjs/components/Header.js +4 -6
  148. package/lib/commonjs/components/Header.js.map +1 -1
  149. package/lib/commonjs/components/LocalPeerRegularVideoView.js +2 -2
  150. package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -1
  151. package/lib/commonjs/components/LocalPeerScreenshareView.js +2 -2
  152. package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -1
  153. package/lib/commonjs/components/Meeting.js +2 -2
  154. package/lib/commonjs/components/Meeting.js.map +1 -1
  155. package/lib/commonjs/components/MeetingScreenContent.js +2 -2
  156. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  157. package/lib/commonjs/components/MiniView.js +2 -2
  158. package/lib/commonjs/components/MiniView.js.map +1 -1
  159. package/lib/commonjs/components/Modals.js +2 -2
  160. package/lib/commonjs/components/Modals.js.map +1 -1
  161. package/lib/commonjs/components/OverlayContainer.js +2 -2
  162. package/lib/commonjs/components/OverlayContainer.js.map +1 -1
  163. package/lib/commonjs/components/OverlayedViews.js +3 -4
  164. package/lib/commonjs/components/OverlayedViews.js.map +1 -1
  165. package/lib/commonjs/components/PIPView.js +24 -18
  166. package/lib/commonjs/components/PIPView.js.map +1 -1
  167. package/lib/commonjs/components/PaginationDots.js +3 -4
  168. package/lib/commonjs/components/PaginationDots.js.map +1 -1
  169. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js +65 -0
  170. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js.map +1 -0
  171. package/lib/commonjs/components/Participants/ParticipantsAccordian.js +60 -0
  172. package/lib/commonjs/components/Participants/ParticipantsAccordian.js.map +1 -0
  173. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js +25 -0
  174. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js.map +1 -0
  175. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js +61 -0
  176. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js.map +1 -0
  177. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +31 -31
  178. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  179. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js +3 -4
  180. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js.map +1 -1
  181. package/lib/commonjs/components/Participants/ParticipantsItem.js +12 -21
  182. package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -1
  183. package/lib/commonjs/components/Participants/ParticipantsItemOption.js +3 -4
  184. package/lib/commonjs/components/Participants/ParticipantsItemOption.js.map +1 -1
  185. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +4 -5
  186. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -1
  187. package/lib/commonjs/components/Participants/ParticipantsList.js +157 -22
  188. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
  189. package/lib/commonjs/components/Participants/ParticipantsListFooter.js +43 -0
  190. package/lib/commonjs/components/Participants/ParticipantsListFooter.js.map +1 -0
  191. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +4 -4
  192. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
  193. package/lib/commonjs/components/Participants/index.js +11 -0
  194. package/lib/commonjs/components/Participants/index.js.map +1 -1
  195. package/lib/commonjs/components/ParticipantsCount.js +3 -4
  196. package/lib/commonjs/components/ParticipantsCount.js.map +1 -1
  197. package/lib/commonjs/components/PeerDisplayView.js +1 -2
  198. package/lib/commonjs/components/PeerDisplayView.js.map +1 -1
  199. package/lib/commonjs/components/PeerMinimizedView.js +3 -4
  200. package/lib/commonjs/components/PeerMinimizedView.js.map +1 -1
  201. package/lib/commonjs/components/PeerRTCStatsContainer.js +3 -4
  202. package/lib/commonjs/components/PeerRTCStatsContainer.js.map +1 -1
  203. package/lib/commonjs/components/PeerRTCStatsView.js +1 -2
  204. package/lib/commonjs/components/PeerRTCStatsView.js.map +1 -1
  205. package/lib/commonjs/components/PeerVideoTile/AvatarView.js +4 -5
  206. package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -1
  207. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js +2 -2
  208. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -1
  209. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js +2 -2
  210. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js.map +1 -1
  211. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js +12 -7
  212. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -1
  213. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +22 -12
  214. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  215. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +2 -2
  216. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  217. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +26 -12
  218. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  219. package/lib/commonjs/components/PeerVideoTile/VideoView.js +3 -4
  220. package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -1
  221. package/lib/commonjs/components/PressableIcon.js +2 -2
  222. package/lib/commonjs/components/PressableIcon.js.map +1 -1
  223. package/lib/commonjs/components/Preview.js +5 -1
  224. package/lib/commonjs/components/Preview.js.map +1 -1
  225. package/lib/commonjs/components/PreviewForRoleChangeModal.js +4 -10
  226. package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -1
  227. package/lib/commonjs/components/ReconnectionView.js +3 -4
  228. package/lib/commonjs/components/ReconnectionView.js.map +1 -1
  229. package/lib/commonjs/components/RoomSettingsModalContent.js +49 -13
  230. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  231. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +1 -1
  232. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  233. package/lib/commonjs/components/StatusBar.js +2 -2
  234. package/lib/commonjs/components/StatusBar.js.map +1 -1
  235. package/lib/commonjs/components/StopRecordingModalContent.js +2 -2
  236. package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -1
  237. package/lib/commonjs/components/StreamingQualityModalContent.js +2 -2
  238. package/lib/commonjs/components/StreamingQualityModalContent.js.map +1 -1
  239. package/lib/commonjs/components/Tile.js +1 -2
  240. package/lib/commonjs/components/Tile.js.map +1 -1
  241. package/lib/commonjs/components/TilesContainer.js +1 -2
  242. package/lib/commonjs/components/TilesContainer.js.map +1 -1
  243. package/lib/commonjs/components/UnmountAfterDelay.js +3 -4
  244. package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -1
  245. package/lib/commonjs/components/WebrtcView.js +5 -5
  246. package/lib/commonjs/components/WebrtcView.js.map +1 -1
  247. package/lib/commonjs/components/WelcomeInMeeting.js +30 -9
  248. package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -1
  249. package/lib/commonjs/components/styles.js +1 -2
  250. package/lib/commonjs/components/styles.js.map +1 -1
  251. package/lib/commonjs/hooks-sdk.js +46 -1
  252. package/lib/commonjs/hooks-sdk.js.map +1 -1
  253. package/lib/commonjs/hooks-util.js +133 -119
  254. package/lib/commonjs/hooks-util.js.map +1 -1
  255. package/lib/commonjs/redux/actionTypes.js +6 -5
  256. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  257. package/lib/commonjs/redux/actions/index.js +20 -4
  258. package/lib/commonjs/redux/actions/index.js.map +1 -1
  259. package/lib/commonjs/redux/index.js +1 -2
  260. package/lib/commonjs/redux/index.js.map +1 -1
  261. package/lib/commonjs/redux/reducers/appState.js +3 -4
  262. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  263. package/lib/commonjs/redux/reducers/chatWindow.js +1 -2
  264. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
  265. package/lib/commonjs/redux/reducers/hmsStates.js +192 -22
  266. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  267. package/lib/commonjs/redux/reducers/index.js +1 -2
  268. package/lib/commonjs/redux/reducers/index.js.map +1 -1
  269. package/lib/commonjs/redux/reducers/message.js +3 -4
  270. package/lib/commonjs/redux/reducers/message.js.map +1 -1
  271. package/lib/commonjs/redux/reducers/userState.js +3 -4
  272. package/lib/commonjs/redux/reducers/userState.js.map +1 -1
  273. package/lib/commonjs/types.js +1 -2
  274. package/lib/commonjs/types.js.map +1 -1
  275. package/lib/commonjs/utils/dimension.js +2 -4
  276. package/lib/commonjs/utils/dimension.js.map +1 -1
  277. package/lib/commonjs/utils/functions.js.map +1 -1
  278. package/lib/commonjs/utils/theme.js +5 -10
  279. package/lib/commonjs/utils/theme.js.map +1 -1
  280. package/lib/commonjs/utils/types.js +13 -23
  281. package/lib/commonjs/utils/types.js.map +1 -1
  282. package/lib/commonjs/utils.js +1 -2
  283. package/lib/commonjs/utils.js.map +1 -1
  284. package/lib/module/HMSPrebuilt.js +2 -3
  285. package/lib/module/HMSPrebuilt.js.map +1 -1
  286. package/lib/module/HMSRoomSetup.js +1 -1
  287. package/lib/module/HMSRoomSetup.js.map +1 -1
  288. package/lib/module/Icons/Chevron/index.js +5 -1
  289. package/lib/module/Icons/Chevron/index.js.map +1 -1
  290. package/lib/module/Icons/Leave/index.js +5 -1
  291. package/lib/module/Icons/Leave/index.js.map +1 -1
  292. package/lib/module/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  293. package/lib/module/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  294. package/lib/module/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  295. package/lib/module/Icons/WelcomeHand/index.js +22 -0
  296. package/lib/module/Icons/WelcomeHand/index.js.map +1 -0
  297. package/lib/module/Icons/index.js +1 -0
  298. package/lib/module/Icons/index.js.map +1 -1
  299. package/lib/module/components/ChangeNameModalContent.js +25 -6
  300. package/lib/module/components/ChangeNameModalContent.js.map +1 -1
  301. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +4 -3
  302. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  303. package/lib/module/components/ChatAndParticipants/ParticipantsView.js +13 -12
  304. package/lib/module/components/ChatAndParticipants/ParticipantsView.js.map +1 -1
  305. package/lib/module/components/Footer.js +1 -1
  306. package/lib/module/components/Footer.js.map +1 -1
  307. package/lib/module/components/HMSDangerButton.js +2 -1
  308. package/lib/module/components/HMSDangerButton.js.map +1 -1
  309. package/lib/module/components/HMSHLSStreamLoading.js +5 -3
  310. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
  311. package/lib/module/components/HMSKeyboardAvoidingView.js +3 -4
  312. package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -1
  313. package/lib/module/components/HMSLiveIndicator.js +3 -3
  314. package/lib/module/components/HMSLiveIndicator.js.map +1 -1
  315. package/lib/module/components/HMSManageLeave.js +2 -1
  316. package/lib/module/components/HMSManageLeave.js.map +1 -1
  317. package/lib/module/components/HMSManageRaiseHand.js +22 -10
  318. package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
  319. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +3 -2
  320. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  321. package/lib/module/components/HMSPreviewJoinButton.js +9 -4
  322. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  323. package/lib/module/components/HMSPreviewTile.js +1 -1
  324. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  325. package/lib/module/components/HMSRecordingIndicator.js +4 -1
  326. package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
  327. package/lib/module/components/HMSTextInput.js +3 -3
  328. package/lib/module/components/HMSTextInput.js.map +1 -1
  329. package/lib/module/components/PIPView.js +21 -13
  330. package/lib/module/components/PIPView.js.map +1 -1
  331. package/lib/module/components/Participants/MultiRoleParticipantsList.js +56 -0
  332. package/lib/module/components/Participants/MultiRoleParticipantsList.js.map +1 -0
  333. package/lib/module/components/Participants/ParticipantsAccordian.js +51 -0
  334. package/lib/module/components/Participants/ParticipantsAccordian.js.map +1 -0
  335. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js +16 -0
  336. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js.map +1 -0
  337. package/lib/module/components/Participants/ParticipantsGroupFooter.js +53 -0
  338. package/lib/module/components/Participants/ParticipantsGroupFooter.js.map +1 -0
  339. package/lib/module/components/Participants/ParticipantsGroupHeader.js +28 -27
  340. package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  341. package/lib/module/components/Participants/ParticipantsGroupOptions.js.map +1 -1
  342. package/lib/module/components/Participants/ParticipantsItem.js +10 -18
  343. package/lib/module/components/Participants/ParticipantsItem.js.map +1 -1
  344. package/lib/module/components/Participants/ParticipantsItemOptions.js +1 -1
  345. package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -1
  346. package/lib/module/components/Participants/ParticipantsList.js +156 -21
  347. package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
  348. package/lib/module/components/Participants/ParticipantsListFooter.js +35 -0
  349. package/lib/module/components/Participants/ParticipantsListFooter.js.map +1 -0
  350. package/lib/module/components/Participants/ParticipantsSeachInput.js +2 -2
  351. package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
  352. package/lib/module/components/Participants/index.js +1 -0
  353. package/lib/module/components/Participants/index.js.map +1 -1
  354. package/lib/module/components/PeerVideoTile/AvatarView.js +1 -1
  355. package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -1
  356. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js +11 -6
  357. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -1
  358. package/lib/module/components/PeerVideoTile/PeerMetadata.js +21 -11
  359. package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  360. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +22 -6
  361. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  362. package/lib/module/components/Preview.js +6 -2
  363. package/lib/module/components/Preview.js.map +1 -1
  364. package/lib/module/components/PreviewForRoleChangeModal.js +1 -6
  365. package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -1
  366. package/lib/module/components/RoomSettingsModalContent.js +49 -13
  367. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  368. package/lib/module/components/RoomSettingsModalDebugModeContent.js +1 -1
  369. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  370. package/lib/module/components/WebrtcView.js +2 -1
  371. package/lib/module/components/WebrtcView.js.map +1 -1
  372. package/lib/module/components/WelcomeInMeeting.js +29 -8
  373. package/lib/module/components/WelcomeInMeeting.js.map +1 -1
  374. package/lib/module/hooks-sdk.js +46 -1
  375. package/lib/module/hooks-sdk.js.map +1 -1
  376. package/lib/module/hooks-util.js +135 -122
  377. package/lib/module/hooks-util.js.map +1 -1
  378. package/lib/module/redux/actionTypes.js +4 -1
  379. package/lib/module/redux/actionTypes.js.map +1 -1
  380. package/lib/module/redux/actions/index.js +14 -1
  381. package/lib/module/redux/actions/index.js.map +1 -1
  382. package/lib/module/redux/reducers/hmsStates.js +191 -20
  383. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  384. package/lib/module/utils/functions.js.map +1 -1
  385. package/lib/module/utils/types.js +1 -0
  386. package/lib/module/utils/types.js.map +1 -1
  387. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  388. package/lib/typescript/Icons/Chevron/index.d.ts +1 -1
  389. package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -1
  390. package/lib/typescript/Icons/Leave/index.d.ts.map +1 -1
  391. package/lib/typescript/Icons/WelcomeHand/index.d.ts +7 -0
  392. package/lib/typescript/Icons/WelcomeHand/index.d.ts.map +1 -0
  393. package/lib/typescript/Icons/index.d.ts +1 -0
  394. package/lib/typescript/Icons/index.d.ts.map +1 -1
  395. package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -1
  396. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
  397. package/lib/typescript/components/ChatAndParticipants/ParticipantsView.d.ts.map +1 -1
  398. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
  399. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -1
  400. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -1
  401. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  402. package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
  403. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  404. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  405. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
  406. package/lib/typescript/components/PIPView.d.ts +2 -1
  407. package/lib/typescript/components/PIPView.d.ts.map +1 -1
  408. package/lib/typescript/components/Participants/MultiRoleParticipantsList.d.ts +7 -0
  409. package/lib/typescript/components/Participants/MultiRoleParticipantsList.d.ts.map +1 -0
  410. package/lib/typescript/components/Participants/ParticipantsAccordian.d.ts +11 -0
  411. package/lib/typescript/components/Participants/ParticipantsAccordian.d.ts.map +1 -0
  412. package/lib/typescript/components/Participants/ParticipantsAccordianExpanded.d.ts +9 -0
  413. package/lib/typescript/components/Participants/ParticipantsAccordianExpanded.d.ts.map +1 -0
  414. package/lib/typescript/components/Participants/ParticipantsGroupFooter.d.ts +9 -0
  415. package/lib/typescript/components/Participants/ParticipantsGroupFooter.d.ts.map +1 -0
  416. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts +6 -3
  417. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts.map +1 -1
  418. package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts +0 -2
  419. package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts.map +1 -1
  420. package/lib/typescript/components/Participants/ParticipantsItem.d.ts +3 -3
  421. package/lib/typescript/components/Participants/ParticipantsItem.d.ts.map +1 -1
  422. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts +2 -2
  423. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -1
  424. package/lib/typescript/components/Participants/ParticipantsList.d.ts +3 -4
  425. package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
  426. package/lib/typescript/components/Participants/ParticipantsListFooter.d.ts +6 -0
  427. package/lib/typescript/components/Participants/ParticipantsListFooter.d.ts.map +1 -0
  428. package/lib/typescript/components/Participants/index.d.ts +1 -0
  429. package/lib/typescript/components/Participants/index.d.ts.map +1 -1
  430. package/lib/typescript/components/PeerVideoTile/PeerAudioIndicator.d.ts.map +1 -1
  431. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +1 -0
  432. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -1
  433. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
  434. package/lib/typescript/components/Preview.d.ts.map +1 -1
  435. package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -1
  436. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  437. package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
  438. package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -1
  439. package/lib/typescript/hooks-sdk.d.ts +4 -0
  440. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  441. package/lib/typescript/hooks-util.d.ts +9 -19
  442. package/lib/typescript/hooks-util.d.ts.map +1 -1
  443. package/lib/typescript/redux/actionTypes.d.ts +4 -1
  444. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  445. package/lib/typescript/redux/actions/index.d.ts +13 -0
  446. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  447. package/lib/typescript/redux/index.d.ts +1 -1
  448. package/lib/typescript/redux/reducers/hmsStates.d.ts +16 -3
  449. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  450. package/lib/typescript/redux/reducers/index.d.ts +1 -1
  451. package/lib/typescript/utils/functions.d.ts +0 -1
  452. package/lib/typescript/utils/functions.d.ts.map +1 -1
  453. package/lib/typescript/utils/types.d.ts +1 -0
  454. package/lib/typescript/utils/types.d.ts.map +1 -1
  455. package/package.json +3 -4
  456. package/src/HMSPrebuilt.tsx +3 -6
  457. package/src/HMSRoomSetup.tsx +1 -1
  458. package/src/Icons/Chevron/index.tsx +9 -2
  459. package/src/Icons/Leave/index.tsx +7 -1
  460. package/src/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  461. package/src/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  462. package/src/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  463. package/src/Icons/WelcomeHand/index.tsx +27 -0
  464. package/src/Icons/index.ts +1 -0
  465. package/src/components/ChangeNameModalContent.tsx +28 -9
  466. package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +6 -3
  467. package/src/components/ChatAndParticipants/ParticipantsView.tsx +21 -13
  468. package/src/components/Footer.tsx +1 -1
  469. package/src/components/HMSDangerButton.tsx +2 -1
  470. package/src/components/HMSHLSStreamLoading.tsx +9 -3
  471. package/src/components/HMSKeyboardAvoidingView.tsx +3 -3
  472. package/src/components/HMSLiveIndicator.tsx +3 -3
  473. package/src/components/HMSManageLeave.tsx +2 -1
  474. package/src/components/HMSManageRaiseHand.tsx +20 -13
  475. package/src/components/HMSPreviewHLSLiveIndicator.tsx +3 -2
  476. package/src/components/HMSPreviewJoinButton.tsx +15 -4
  477. package/src/components/HMSPreviewTile.tsx +1 -1
  478. package/src/components/HMSRecordingIndicator.tsx +3 -1
  479. package/src/components/HMSTextInput.tsx +3 -3
  480. package/src/components/PIPView.tsx +34 -13
  481. package/src/components/Participants/MultiRoleParticipantsList.tsx +70 -0
  482. package/src/components/Participants/ParticipantsAccordian.tsx +70 -0
  483. package/src/components/Participants/ParticipantsAccordianExpanded.tsx +27 -0
  484. package/src/components/Participants/ParticipantsGroupFooter.tsx +65 -0
  485. package/src/components/Participants/ParticipantsGroupHeader.tsx +37 -37
  486. package/src/components/Participants/ParticipantsGroupOptions.tsx +1 -6
  487. package/src/components/Participants/ParticipantsItem.tsx +16 -33
  488. package/src/components/Participants/ParticipantsItemOptions.tsx +3 -3
  489. package/src/components/Participants/ParticipantsList.tsx +197 -34
  490. package/src/components/Participants/ParticipantsListFooter.tsx +45 -0
  491. package/src/components/Participants/ParticipantsSeachInput.tsx +2 -2
  492. package/src/components/Participants/index.ts +1 -0
  493. package/src/components/PeerVideoTile/AvatarView.tsx +1 -1
  494. package/src/components/PeerVideoTile/PeerAudioIndicator.tsx +11 -6
  495. package/src/components/PeerVideoTile/PeerMetadata.tsx +21 -12
  496. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +25 -8
  497. package/src/components/Preview.tsx +23 -9
  498. package/src/components/PreviewForRoleChangeModal.tsx +1 -6
  499. package/src/components/RoomSettingsModalContent.tsx +44 -9
  500. package/src/components/RoomSettingsModalDebugModeContent.tsx +1 -1
  501. package/src/components/WebrtcView.tsx +10 -1
  502. package/src/components/WelcomeInMeeting.tsx +33 -5
  503. package/src/hooks-sdk.ts +58 -0
  504. package/src/hooks-util.ts +229 -193
  505. package/src/redux/actionTypes.ts +4 -1
  506. package/src/redux/actions/index.ts +17 -1
  507. package/src/redux/reducers/hmsStates.ts +269 -36
  508. package/src/utils/functions.ts +0 -1
  509. package/src/utils/types.ts +2 -0
  510. package/lib/commonjs/assets/welcome.png +0 -0
  511. package/lib/module/assets/welcome.png +0 -0
  512. package/src/assets/welcome.png +0 -0
package/src/hooks-util.ts CHANGED
@@ -46,9 +46,14 @@ import {
46
46
  } from 'react';
47
47
  import type { DependencyList } from 'react';
48
48
 
49
- import { MaxTilesInOnePage, ModalTypes, PipModes } from './utils/types';
49
+ import {
50
+ MaxTilesInOnePage,
51
+ ModalTypes,
52
+ PeerListRefreshInterval,
53
+ PipModes,
54
+ } from './utils/types';
50
55
  import type { ChatBroadcastFilter, PeerTrackNode } from './utils/types';
51
- import { createPeerTrackNode, parseMetadata } from './utils/functions';
56
+ import { createPeerTrackNode } from './utils/functions';
52
57
  import {
53
58
  batch,
54
59
  shallowEqual,
@@ -61,6 +66,7 @@ import {
61
66
  addMessage,
62
67
  addNotification,
63
68
  addParticipant,
69
+ addParticipants,
64
70
  addPinnedMessage,
65
71
  addScreenshareTile,
66
72
  addUpdateParticipant,
@@ -70,7 +76,9 @@ import {
70
76
  clearStore,
71
77
  removeNotification,
72
78
  removeParticipant,
79
+ removeParticipants,
73
80
  removeScreenshareTile,
81
+ replaceParticipantsList,
74
82
  saveUserData,
75
83
  setActiveChatBottomSheetTab,
76
84
  setActiveSpeakers,
@@ -103,13 +111,7 @@ import {
103
111
  replacePeerTrackNodesWithTrack,
104
112
  } from './peerTrackNodeUtils';
105
113
  import { MeetingState } from './types';
106
- import {
107
- AppState,
108
- InteractionManager,
109
- Keyboard,
110
- LayoutAnimation,
111
- Platform,
112
- } from 'react-native';
114
+ import { InteractionManager, Keyboard, Platform } from 'react-native';
113
115
  import type { ImageStyle, StyleProp, ViewStyle, TextStyle } from 'react-native';
114
116
  import { NavigationContext } from '@react-navigation/native';
115
117
  import {
@@ -139,6 +141,8 @@ export const useHMSListeners = (
139
141
 
140
142
  useHMSPeersUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
141
143
 
144
+ useHMSPeerListUpdated(hmsInstance);
145
+
142
146
  useHMSTrackUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
143
147
  };
144
148
 
@@ -414,6 +418,7 @@ const useHMSPeersUpdate = (
414
418
  }
415
419
  if (
416
420
  type === HMSPeerUpdate.METADATA_CHANGED ||
421
+ type === HMSPeerUpdate.HAND_RAISED_CHANGED ||
417
422
  type === HMSPeerUpdate.NAME_CHANGED ||
418
423
  type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
419
424
  ) {
@@ -421,8 +426,8 @@ const useHMSPeersUpdate = (
421
426
 
422
427
  const reduxState = store.getState();
423
428
 
424
- if (type === HMSPeerUpdate.METADATA_CHANGED) {
425
- const handRaised = parseMetadata(peer.metadata).isHandRaised;
429
+ if (type === HMSPeerUpdate.HAND_RAISED_CHANGED) {
430
+ const handRaised = peer.isHandRaised;
426
431
 
427
432
  if (handRaised) {
428
433
  const { layoutConfig, localPeer } = reduxState.hmsStates;
@@ -506,6 +511,38 @@ const useHMSPeersUpdate = (
506
511
  }, [hmsInstance]);
507
512
  };
508
513
 
514
+ type PeerListUpdate = {
515
+ addedPeers: HMSPeer[];
516
+ removedPeers: HMSPeer[];
517
+ };
518
+
519
+ const useHMSPeerListUpdated = (hmsInstance: HMSSDK) => {
520
+ const dispatch = useDispatch();
521
+
522
+ useEffect(() => {
523
+ const peerListUpdateHandler = ({
524
+ addedPeers,
525
+ removedPeers,
526
+ }: PeerListUpdate) => {
527
+ batch(() => {
528
+ dispatch(addParticipants(addedPeers));
529
+ dispatch(removeParticipants(removedPeers));
530
+ });
531
+ };
532
+
533
+ hmsInstance.addEventListener(
534
+ HMSUpdateListenerActions.ON_PEER_LIST_UPDATED,
535
+ peerListUpdateHandler
536
+ );
537
+
538
+ return () => {
539
+ hmsInstance.removeEventListener(
540
+ HMSUpdateListenerActions.ON_PEER_LIST_UPDATED
541
+ );
542
+ };
543
+ }, [hmsInstance]);
544
+ };
545
+
509
546
  type TrackUpdate = {
510
547
  peer: HMSPeer;
511
548
  track: HMSTrack;
@@ -1270,20 +1307,27 @@ export const usePIPListener = () => {
1270
1307
  );
1271
1308
 
1272
1309
  useEffect(() => {
1273
- if (isPipModeActive) {
1274
- const appStateListener = () => {
1275
- LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
1276
- dispatch(changePipModeStatus(PipModes.INACTIVE));
1277
- };
1310
+ const pipModeChangedHandler = (data: {
1311
+ isInPictureInPictureMode: boolean;
1312
+ }) => {
1313
+ dispatch(
1314
+ changePipModeStatus(
1315
+ data.isInPictureInPictureMode ? PipModes.ACTIVE : PipModes.INACTIVE
1316
+ )
1317
+ );
1318
+ };
1278
1319
 
1279
- AppState.addEventListener('focus', appStateListener);
1320
+ hmsInstance.addEventListener(
1321
+ HMSPIPListenerActions.ON_PIP_MODE_CHANGED,
1322
+ pipModeChangedHandler
1323
+ );
1280
1324
 
1281
- return () => {
1282
- AppState.removeEventListener('focus', appStateListener);
1283
- dispatch(changePipModeStatus(PipModes.INACTIVE));
1284
- };
1285
- }
1286
- }, [isPipModeActive]);
1325
+ return () => {
1326
+ hmsInstance.removeEventListener(
1327
+ HMSPIPListenerActions.ON_PIP_MODE_CHANGED
1328
+ );
1329
+ };
1330
+ }, []);
1287
1331
 
1288
1332
  // Check if PIP is supported or not
1289
1333
  useEffect(() => {
@@ -1524,7 +1568,6 @@ export const useHMSConfig = () => {
1524
1568
  username: storeState.user.userName,
1525
1569
  captureNetworkQualityInPreview: true,
1526
1570
  endpoint: storeState.user.endPoints?.init,
1527
- // metadata: JSON.stringify({isHandRaised: true}), // To join with hand raised
1528
1571
  });
1529
1572
 
1530
1573
  return hmsConfig;
@@ -1634,30 +1677,68 @@ export const useLandscapeChatViewVisible = () => {
1634
1677
  return pipModeNotActive && isLandscapeOrientation && overlayChatVisible;
1635
1678
  };
1636
1679
 
1637
- export type ParticipantHeaderData = {
1680
+ export type ParticipantAccordianData = {
1681
+ id: string;
1638
1682
  label: string;
1639
- role: HMSRole;
1640
- itemsLength: number;
1683
+ showViewAll: boolean;
1684
+ data: (HMSPeer | HMSLocalPeer)[];
1641
1685
  };
1642
1686
 
1643
- export type ParticipantHandRaisedHeaderData = {
1644
- label: string;
1645
- itemsLength: number;
1646
- };
1687
+ export const useOffStageParticipants = () => {
1688
+ const dispatch = useDispatch();
1689
+ const hmsInstance = useHMSInstance();
1690
+ const offStageRoles = useHMSLayoutConfig(
1691
+ (layoutConfig) =>
1692
+ layoutConfig?.screens?.conferencing?.default?.elements?.on_stage_exp
1693
+ ?.off_stage_roles || null
1694
+ );
1695
+
1696
+ const [participantsTotalCounts, setParticipantsTotalCounts] = useState<
1697
+ Record<string, number>
1698
+ >({});
1699
+
1700
+ useEffect(() => {
1701
+ if (offStageRoles) {
1702
+ let mounted = true;
1647
1703
 
1648
- export type ListItemUI<
1649
- T =
1650
- | ParticipantHeaderData
1651
- | HMSLocalPeer
1652
- | HMSPeer
1653
- | ParticipantHandRaisedHeaderData,
1654
- > = {
1655
- type: 'EXPANDED_HEADER' | 'COLLAPSED_HEADER' | 'LAST_ITEM' | 'REGULAR_ITEM';
1656
- data: T;
1657
- key: string;
1704
+ const createIterator = async (forRole: string) => {
1705
+ const iterator = hmsInstance.getPeerListIterator({
1706
+ byRoleName: forRole,
1707
+ limit: 10,
1708
+ });
1709
+ const participants = await iterator.next();
1710
+ if (mounted) {
1711
+ dispatch(replaceParticipantsList(participants, forRole));
1712
+ setParticipantsTotalCounts((prev) => ({
1713
+ ...prev,
1714
+ [forRole]: iterator.totalCount,
1715
+ }));
1716
+ }
1717
+ };
1718
+
1719
+ const createIteratorForRoles = () => {
1720
+ offStageRoles.forEach((role) => {
1721
+ createIterator(role);
1722
+ });
1723
+ };
1724
+
1725
+ createIteratorForRoles();
1726
+
1727
+ const intervalId = setInterval(() => {
1728
+ createIteratorForRoles();
1729
+ }, PeerListRefreshInterval);
1730
+
1731
+ return () => {
1732
+ mounted = false;
1733
+ clearInterval(intervalId);
1734
+ };
1735
+ }
1736
+ }, [offStageRoles]);
1737
+
1738
+ return participantsTotalCounts;
1658
1739
  };
1659
1740
 
1660
- export const useFilteredParticipants = () => {
1741
+ export const useFilteredParticipants = (filterText: string) => {
1661
1742
  const roles = useSelector((state: RootState) => state.hmsStates.roles);
1662
1743
  const onStageRole = useHMSLayoutConfig(
1663
1744
  (layoutConfig) =>
@@ -1665,183 +1746,138 @@ export const useFilteredParticipants = () => {
1665
1746
  ?.on_stage_role || null
1666
1747
  );
1667
1748
 
1668
- const [searchText, setSearchText] = useState('');
1669
- const formattedSearchText = searchText.trim().toLowerCase();
1670
-
1671
- const participants = useSelector(
1672
- (state: RootState) => state.hmsStates.participants
1673
- );
1749
+ const offStageParticipantsTotalCounts = useOffStageParticipants();
1674
1750
 
1675
- const peerGroups = useMemo(() => {
1676
- return groupParticipantsAsPerRole(participants, formattedSearchText);
1677
- }, [formattedSearchText, participants]);
1751
+ const formattedSearchText = filterText.trim().toLowerCase();
1678
1752
 
1679
- const sortedRoles = useMemo(() => {
1680
- return roles
1681
- .filter((role) => peerGroups.has(role.name!))
1682
- .sort((a, b) => {
1683
- if (onStageRole) {
1684
- if (a.name === onStageRole && b.name === onStageRole) {
1685
- return 0;
1686
- }
1687
-
1688
- if (a.name === onStageRole) {
1689
- return -1;
1690
- }
1753
+ const groupedParticipants = useSelector(
1754
+ (state: RootState) => state.hmsStates.groupedParticipants
1755
+ );
1691
1756
 
1692
- if (b.name === onStageRole) {
1693
- return 1;
1757
+ const sortedRoles = useMemo(
1758
+ () => {
1759
+ return roles
1760
+ .filter((role) => {
1761
+ if (!role.name || role.name.startsWith('_')) {
1762
+ return false;
1694
1763
  }
1695
- }
1764
+ return true;
1696
1765
 
1697
- const canAPublish: boolean =
1698
- (a.publishSettings?.allowed &&
1699
- a.publishSettings.allowed.length > 0) ??
1700
- false;
1701
- const canBPublish: boolean =
1702
- (b.publishSettings?.allowed &&
1703
- b.publishSettings.allowed.length > 0) ??
1704
- false;
1705
-
1706
- if (canAPublish && canBPublish) {
1707
- return 0;
1708
- }
1766
+ // const list = groupedParticipants[role.name!];
1709
1767
 
1710
- if (canAPublish) {
1711
- return -1;
1712
- }
1713
-
1714
- return 1;
1715
- });
1716
- }, [peerGroups, onStageRole, roles]);
1768
+ // return list && list.length > 0;
1769
+ })
1770
+ .sort((a, b) => {
1771
+ if (onStageRole) {
1772
+ if (a.name === onStageRole && b.name === onStageRole) {
1773
+ return 0;
1774
+ }
1717
1775
 
1718
- const firstGroupName = peerGroups.has('hand-raised')
1719
- ? 'hand-raised'
1720
- : sortedRoles[0]?.name;
1776
+ if (a.name === onStageRole) {
1777
+ return -1;
1778
+ }
1721
1779
 
1722
- const [expandedGroups, setExpandedGroups] = useState<string[]>(
1723
- firstGroupName ? [firstGroupName] : []
1724
- );
1780
+ if (b.name === onStageRole) {
1781
+ return 1;
1782
+ }
1783
+ }
1725
1784
 
1726
- const groupedList = useMemo(() => {
1727
- let list: ListItemUI[] = [];
1785
+ const canAPublish: boolean =
1786
+ (a.publishSettings?.allowed &&
1787
+ a.publishSettings.allowed.length > 0) ??
1788
+ false;
1789
+ const canBPublish: boolean =
1790
+ (b.publishSettings?.allowed &&
1791
+ b.publishSettings.allowed.length > 0) ??
1792
+ false;
1728
1793
 
1729
- const handRaisedPeers = peerGroups.get('hand-raised');
1794
+ if (canAPublish && canBPublish) {
1795
+ return 0;
1796
+ }
1730
1797
 
1731
- if (handRaisedPeers) {
1732
- const expanded = expandedGroups.includes('hand-raised');
1798
+ if (canAPublish) {
1799
+ return -1;
1800
+ }
1733
1801
 
1734
- list.push({
1735
- type: expanded ? 'EXPANDED_HEADER' : 'COLLAPSED_HEADER',
1736
- key: 'hand-raised',
1737
- data: {
1738
- label: `Hand Raised (${handRaisedPeers.length})`,
1739
- itemsLength: handRaisedPeers.length,
1740
- },
1741
- });
1802
+ return 1;
1803
+ });
1804
+ },
1805
+ // [groupedParticipants, onStageRole, roles]
1806
+ [onStageRole, roles]
1807
+ );
1742
1808
 
1743
- if (expanded) {
1744
- list = list.concat(
1745
- handRaisedPeers.map((peer, idx, arr) => {
1746
- const isLast = arr.length - 1 === idx;
1809
+ const participantsAccordianData: ParticipantAccordianData[] = useMemo(() => {
1810
+ const t = [];
1747
1811
 
1748
- return {
1749
- data: peer,
1750
- key: `${peer.peerID}--${'hand-raised'}`,
1751
- type: isLast ? 'LAST_ITEM' : 'REGULAR_ITEM',
1752
- };
1753
- })
1754
- );
1755
- }
1756
- }
1812
+ const filteredHandRaisedPeers: (HMSPeer | HMSLocalPeer)[][] = [];
1757
1813
 
1758
1814
  sortedRoles.forEach((role) => {
1759
- const peers = peerGroups.get(role.name!);
1760
-
1761
- if (peers) {
1762
- const expanded = expandedGroups.includes(role.name!);
1763
-
1764
- list.push({
1765
- type: expanded ? 'EXPANDED_HEADER' : 'COLLAPSED_HEADER',
1766
- key: role.name!,
1767
- data: {
1768
- label: `${role.name!} (${peers.length})`,
1769
- role: role,
1770
- itemsLength: peers.length,
1771
- },
1815
+ const list = groupedParticipants[role.name!];
1816
+ const filteredList =
1817
+ Array.isArray(list) && formattedSearchText.length > 0
1818
+ ? list.filter((peer) =>
1819
+ peer.name.toLowerCase().includes(formattedSearchText)
1820
+ )
1821
+ : list;
1822
+
1823
+ if (Array.isArray(filteredList) && filteredList.length > 0) {
1824
+
1825
+ filteredHandRaisedPeers.push(filteredList);
1826
+ const offStageRoleTotalCount =
1827
+ offStageParticipantsTotalCounts[role.name!];
1828
+
1829
+ const firstTen = filteredList.slice(0, 10);
1830
+
1831
+ t.push({
1832
+ id: role.name!,
1833
+ label: `${role.name!} (${
1834
+ typeof offStageRoleTotalCount === 'number'
1835
+ ? offStageRoleTotalCount
1836
+ : filteredList.length
1837
+ })`,
1838
+ showViewAll:
1839
+ typeof offStageRoleTotalCount === 'number' &&
1840
+ formattedSearchText.length <= 0
1841
+ ? offStageRoleTotalCount > 10
1842
+ : filteredList.length > 10,
1843
+ data: firstTen,
1772
1844
  });
1773
-
1774
- if (expanded) {
1775
- list = list.concat(
1776
- peers.map((peer, idx, arr) => {
1777
- const isLast = arr.length - 1 === idx;
1778
-
1779
- return {
1780
- data: peer,
1781
- key: `${peer.peerID}--${role.name!}`,
1782
- type: isLast ? 'LAST_ITEM' : 'REGULAR_ITEM',
1783
- };
1784
- })
1785
- );
1786
- }
1787
1845
  }
1788
1846
  });
1789
1847
 
1790
- return list;
1791
- }, [expandedGroups, peerGroups, sortedRoles]);
1848
+ const handRaisedParticipants = filteredHandRaisedPeers
1849
+ .flat()
1850
+ .filter((participant) => participant.isHandRaised);
1792
1851
 
1793
- return {
1794
- data: groupedList,
1795
- searchText,
1796
- formattedSearchText,
1797
- setSearchText,
1798
- expandedGroups,
1799
- setExpandedGroups,
1800
- };
1801
- };
1802
-
1803
- const groupParticipantsAsPerRole = (
1804
- participants: (HMSLocalPeer | HMSPeer)[],
1805
- searchText: string
1806
- ) => {
1807
- const groups: Map<string, (HMSLocalPeer | HMSPeer)[]> = new Map();
1808
-
1809
- for (const participant of participants) {
1810
- const participantRole = participant.role;
1852
+ const firstTenHandRaisedParticipants = handRaisedParticipants.slice(0, 10);
1811
1853
 
1812
- if (!participantRole) {
1813
- continue;
1854
+ if (handRaisedParticipants.length > 0) {
1855
+ t.unshift({
1856
+ id: 'hand-raised',
1857
+ label: `Hand Raised (${handRaisedParticipants.length})`,
1858
+ showViewAll: handRaisedParticipants.length > 10,
1859
+ data: firstTenHandRaisedParticipants,
1860
+ });
1814
1861
  }
1815
1862
 
1816
- if (
1817
- searchText.length <= 0 ||
1818
- participant.name.toLowerCase().includes(searchText)
1819
- ) {
1820
- if (!groups.has(participantRole.name!)) {
1821
- groups.set(participantRole.name!, []);
1822
- }
1823
-
1824
- const group = groups.get(participantRole.name!);
1825
-
1826
- if (!group) {
1827
- continue;
1828
- }
1829
-
1830
- group.push(participant);
1831
-
1832
- if (parseMetadata(participant.metadata).isHandRaised) {
1833
- if (!groups.has('hand-raised')) {
1834
- groups.set('hand-raised', []);
1835
- }
1836
-
1837
- const group = groups.get('hand-raised');
1863
+ return t;
1864
+ }, [
1865
+ formattedSearchText,
1866
+ groupedParticipants,
1867
+ offStageParticipantsTotalCounts,
1868
+ sortedRoles,
1869
+ ]);
1838
1870
 
1839
- if (group) group.push(participant);
1840
- }
1841
- }
1842
- }
1871
+ const [expandedGroup, setExpandedGroup] = useState<string | null>(
1872
+ participantsAccordianData[0]?.id ?? null
1873
+ );
1843
1874
 
1844
- return groups;
1875
+ return {
1876
+ data: participantsAccordianData,
1877
+ formattedSearchText,
1878
+ expandedGroup,
1879
+ setExpandedGroup,
1880
+ };
1845
1881
  };
1846
1882
 
1847
1883
  export const useShouldGoLive = () => {
@@ -141,8 +141,11 @@ export enum HmsStateActionTypes {
141
141
  SET_LAYOUT_CONFIG = 'SET_LAYOUT_CONFIG',
142
142
  SET_ROLE_CHANGE_REQUEST = 'SET_ROLE_CHANGE_REQUEST',
143
143
  ADD_PARTICIPANT = 'ADD_PARTICIPANT',
144
+ ADD_PARTICIPANTS = 'ADD_PARTICIPANTS',
144
145
  REMOVE_PARTICIPANT = 'REMOVE_PARTICIPANT',
145
- ADD_UPDATE_PARTICIPANT = 'ADD_UPDATE_PARTICIPANT',
146
+ REMOVE_PARTICIPANTS = 'REMOVE_PARTICIPANTS',
147
+ UPDATE_PARTICIPANT = 'UPDATE_PARTICIPANT',
148
+ REPLACE_PARTICIPANTS_LIST = 'REPLACE_PARTICIPANTS_LIST',
146
149
  SET_ACTIVE_SPEAKERS = 'SET_ACTIVE_SPEAKERS',
147
150
  SET_RECONNECTING = 'SET_RECONNECTING',
148
151
  }
@@ -344,16 +344,32 @@ export const addParticipant = (participant: HMSPeer) => ({
344
344
  participant,
345
345
  });
346
346
 
347
+ export const addParticipants = (participants: HMSPeer[]) => ({
348
+ type: HmsStateActionTypes.ADD_PARTICIPANTS,
349
+ participants,
350
+ });
351
+
347
352
  export const removeParticipant = (participant: HMSPeer) => ({
348
353
  type: HmsStateActionTypes.REMOVE_PARTICIPANT,
349
354
  participant,
350
355
  });
351
356
 
357
+ export const removeParticipants = (participants: HMSPeer[]) => ({
358
+ type: HmsStateActionTypes.REMOVE_PARTICIPANTS,
359
+ participants,
360
+ });
361
+
352
362
  export const addUpdateParticipant = (participant: HMSPeer) => ({
353
- type: HmsStateActionTypes.ADD_UPDATE_PARTICIPANT,
363
+ type: HmsStateActionTypes.UPDATE_PARTICIPANT,
354
364
  participant,
355
365
  });
356
366
 
367
+ export const replaceParticipantsList = (participants: HMSPeer[], roleName: string) => ({
368
+ type: HmsStateActionTypes.REPLACE_PARTICIPANTS_LIST,
369
+ participants,
370
+ roleName,
371
+ });
372
+
357
373
  export const setActiveSpeakers = (activeSpeakers: HMSSpeaker[]) => ({
358
374
  type: HmsStateActionTypes.SET_ACTIVE_SPEAKERS,
359
375
  activeSpeakers,