@100mslive/react-native-room-kit 1.0.0 → 1.0.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) 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 +20 -20
  5. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  6. package/lib/commonjs/HMSRoomSetup.js +87 -46
  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/Hand/assets/hand-off.png +0 -0
  11. package/lib/commonjs/Icons/Hand/assets/hand-off@2x.png +0 -0
  12. package/lib/commonjs/Icons/Hand/assets/hand-off@3x.png +0 -0
  13. package/lib/commonjs/Icons/Hand/index.js +2 -1
  14. package/lib/commonjs/Icons/Hand/index.js.map +1 -1
  15. package/lib/commonjs/Icons/Leave/index.js +5 -1
  16. package/lib/commonjs/Icons/Leave/index.js.map +1 -1
  17. package/lib/commonjs/Icons/Recording/assets/recording-off.png +0 -0
  18. package/lib/commonjs/Icons/Recording/assets/recording-off@2x.png +0 -0
  19. package/lib/commonjs/Icons/Recording/assets/recording-off@3x.png +0 -0
  20. package/lib/commonjs/Icons/Recording/index.js +2 -1
  21. package/lib/commonjs/Icons/Recording/index.js.map +1 -1
  22. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  23. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  24. package/lib/commonjs/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  25. package/lib/commonjs/Icons/WelcomeHand/index.js +30 -0
  26. package/lib/commonjs/Icons/WelcomeHand/index.js.map +1 -0
  27. package/lib/commonjs/Icons/index.js +11 -0
  28. package/lib/commonjs/Icons/index.js.map +1 -1
  29. package/lib/commonjs/components/AnimatedFooter.js +2 -2
  30. package/lib/commonjs/components/AnimatedFooter.js.map +1 -1
  31. package/lib/commonjs/components/AnimatedHLSFooter.js +2 -2
  32. package/lib/commonjs/components/AnimatedHLSFooter.js.map +1 -1
  33. package/lib/commonjs/components/AnimatedHeader.js +2 -2
  34. package/lib/commonjs/components/AnimatedHeader.js.map +1 -1
  35. package/lib/commonjs/components/AvatarView.js +2 -2
  36. package/lib/commonjs/components/AvatarView.js.map +1 -1
  37. package/lib/commonjs/components/BackButton.js +2 -2
  38. package/lib/commonjs/components/BackButton.js.map +1 -1
  39. package/lib/commonjs/components/BottomSheet.js +2 -2
  40. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  41. package/lib/commonjs/components/ChangeNameModalContent.js +25 -6
  42. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
  43. package/lib/commonjs/components/Chat/ChatBanner.js +2 -2
  44. package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -1
  45. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +3 -4
  46. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  47. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js +3 -4
  48. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js.map +1 -1
  49. package/lib/commonjs/components/Chat/ChatFilterItem.js +3 -4
  50. package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -1
  51. package/lib/commonjs/components/Chat/ChatFilterView.js +3 -4
  52. package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -1
  53. package/lib/commonjs/components/Chat/ChatList.js +3 -4
  54. package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
  55. package/lib/commonjs/components/Chat/ChatMessage.js +3 -4
  56. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
  57. package/lib/commonjs/components/Chat/PinnedMessage.js +2 -2
  58. package/lib/commonjs/components/Chat/PinnedMessage.js.map +1 -1
  59. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js +2 -2
  60. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  61. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +7 -7
  62. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  63. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -4
  64. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  65. package/lib/commonjs/components/ChatAndParticipants/ChatView.js +3 -4
  66. package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -1
  67. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js +15 -14
  68. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js.map +1 -1
  69. package/lib/commonjs/components/DisplayView.js +5 -3
  70. package/lib/commonjs/components/DisplayView.js.map +1 -1
  71. package/lib/commonjs/components/EndRoomModal.js +29 -0
  72. package/lib/commonjs/components/EndRoomModal.js.map +1 -0
  73. package/lib/commonjs/components/EndRoomModalContent.js +11 -4
  74. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  75. package/lib/commonjs/components/Footer.js +13 -6
  76. package/lib/commonjs/components/Footer.js.map +1 -1
  77. package/lib/commonjs/components/FullScreenVideoView.js +2 -2
  78. package/lib/commonjs/components/FullScreenVideoView.js.map +1 -1
  79. package/lib/commonjs/components/GridView.js +3 -4
  80. package/lib/commonjs/components/GridView.js.map +1 -1
  81. package/lib/commonjs/components/HLSFooter.js +2 -2
  82. package/lib/commonjs/components/HLSFooter.js.map +1 -1
  83. package/lib/commonjs/components/HLSView.js +2 -2
  84. package/lib/commonjs/components/HLSView.js.map +1 -1
  85. package/lib/commonjs/components/HMSBaseButton.js +2 -2
  86. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  87. package/lib/commonjs/components/HMSChat.js +2 -2
  88. package/lib/commonjs/components/HMSChat.js.map +1 -1
  89. package/lib/commonjs/components/HMSDangerButton.js +4 -3
  90. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  91. package/lib/commonjs/components/HMSHLSMessage.js +3 -4
  92. package/lib/commonjs/components/HMSHLSMessage.js.map +1 -1
  93. package/lib/commonjs/components/HMSHLSMessageList.js +2 -2
  94. package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
  95. package/lib/commonjs/components/HMSHLSNotStarted.js +2 -2
  96. package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
  97. package/lib/commonjs/components/HMSHLSStreamLoading.js +6 -4
  98. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
  99. package/lib/commonjs/components/HMSHandRaiseNotification.js +2 -2
  100. package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -1
  101. package/lib/commonjs/components/HMSKeyboardAvoidingView.js +7 -23
  102. package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -1
  103. package/lib/commonjs/components/HMSLiveIndicator.js +5 -6
  104. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
  105. package/lib/commonjs/components/HMSLocalScreenshareNotification.js +4 -4
  106. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
  107. package/lib/commonjs/components/HMSLocalVideoView.js +2 -2
  108. package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -1
  109. package/lib/commonjs/components/HMSManageAudioOutput.js +2 -2
  110. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  111. package/lib/commonjs/components/HMSManageCameraRotation.js +2 -2
  112. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  113. package/lib/commonjs/components/HMSManageLeave.js +7 -181
  114. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  115. package/lib/commonjs/components/HMSManageLocalAudio.js +2 -2
  116. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  117. package/lib/commonjs/components/HMSManageLocalVideo.js +2 -2
  118. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  119. package/lib/commonjs/components/HMSManageRaiseHand.js +23 -11
  120. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
  121. package/lib/commonjs/components/HMSMeetingEnded.js +2 -2
  122. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
  123. package/lib/commonjs/components/HMSNotification.js +6 -5
  124. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  125. package/lib/commonjs/components/HMSNotifications.js +34 -8
  126. package/lib/commonjs/components/HMSNotifications.js.map +1 -1
  127. package/lib/commonjs/components/HMSOverlayChatView.js +9 -3
  128. package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -1
  129. package/lib/commonjs/components/HMSPreviewEditName.js +2 -2
  130. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  131. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +5 -4
  132. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  133. package/lib/commonjs/components/HMSPreviewJoinButton.js +10 -5
  134. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  135. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +2 -2
  136. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
  137. package/lib/commonjs/components/HMSPreviewPeersList.js +2 -2
  138. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  139. package/lib/commonjs/components/HMSPreviewSubtitle.js +2 -2
  140. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  141. package/lib/commonjs/components/HMSPreviewTile.js +3 -3
  142. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  143. package/lib/commonjs/components/HMSPreviewTitle.js +2 -2
  144. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  145. package/lib/commonjs/components/HMSPrimaryButton.js +2 -2
  146. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  147. package/lib/commonjs/components/HMSReconnectingNotification.js +33 -0
  148. package/lib/commonjs/components/HMSReconnectingNotification.js.map +1 -0
  149. package/lib/commonjs/components/HMSRecordingIndicator.js +6 -3
  150. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
  151. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js +2 -2
  152. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js.map +1 -1
  153. package/lib/commonjs/components/HMSRoomOptions.js +2 -2
  154. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  155. package/lib/commonjs/components/HMSSendMessageInput.js +2 -2
  156. package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -1
  157. package/lib/commonjs/components/HMSTerminalErrorNotification.js +66 -0
  158. package/lib/commonjs/components/HMSTerminalErrorNotification.js.map +1 -0
  159. package/lib/commonjs/components/HMSTextInput.js +5 -5
  160. package/lib/commonjs/components/HMSTextInput.js.map +1 -1
  161. package/lib/commonjs/components/HMSVideoView.js +2 -2
  162. package/lib/commonjs/components/HMSVideoView.js.map +1 -1
  163. package/lib/commonjs/components/Header.js +4 -6
  164. package/lib/commonjs/components/Header.js.map +1 -1
  165. package/lib/commonjs/components/LeaveRoomBottomSheet.js +175 -0
  166. package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -0
  167. package/lib/commonjs/components/LocalPeerRegularVideoView.js +2 -2
  168. package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -1
  169. package/lib/commonjs/components/LocalPeerScreenshareView.js +2 -2
  170. package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -1
  171. package/lib/commonjs/components/Meeting.js +6 -2
  172. package/lib/commonjs/components/Meeting.js.map +1 -1
  173. package/lib/commonjs/components/MeetingScreenContent.js +5 -4
  174. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  175. package/lib/commonjs/components/MiniView.js +2 -2
  176. package/lib/commonjs/components/MiniView.js.map +1 -1
  177. package/lib/commonjs/components/Modals.js +2 -2
  178. package/lib/commonjs/components/Modals.js.map +1 -1
  179. package/lib/commonjs/components/OverlayContainer.js +2 -2
  180. package/lib/commonjs/components/OverlayContainer.js.map +1 -1
  181. package/lib/commonjs/components/OverlayedViews.js +3 -4
  182. package/lib/commonjs/components/OverlayedViews.js.map +1 -1
  183. package/lib/commonjs/components/PIPView.js +90 -19
  184. package/lib/commonjs/components/PIPView.js.map +1 -1
  185. package/lib/commonjs/components/PaginationDots.js +3 -4
  186. package/lib/commonjs/components/PaginationDots.js.map +1 -1
  187. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js +65 -0
  188. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js.map +1 -0
  189. package/lib/commonjs/components/Participants/ParticipantsAccordian.js +60 -0
  190. package/lib/commonjs/components/Participants/ParticipantsAccordian.js.map +1 -0
  191. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js +25 -0
  192. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js.map +1 -0
  193. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js +61 -0
  194. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js.map +1 -0
  195. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +31 -31
  196. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  197. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js +3 -4
  198. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js.map +1 -1
  199. package/lib/commonjs/components/Participants/ParticipantsItem.js +12 -21
  200. package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -1
  201. package/lib/commonjs/components/Participants/ParticipantsItemOption.js +3 -4
  202. package/lib/commonjs/components/Participants/ParticipantsItemOption.js.map +1 -1
  203. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +26 -5
  204. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -1
  205. package/lib/commonjs/components/Participants/ParticipantsList.js +157 -22
  206. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
  207. package/lib/commonjs/components/Participants/ParticipantsListFooter.js +43 -0
  208. package/lib/commonjs/components/Participants/ParticipantsListFooter.js.map +1 -0
  209. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +4 -4
  210. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
  211. package/lib/commonjs/components/Participants/index.js +11 -0
  212. package/lib/commonjs/components/Participants/index.js.map +1 -1
  213. package/lib/commonjs/components/ParticipantsCount.js +3 -4
  214. package/lib/commonjs/components/ParticipantsCount.js.map +1 -1
  215. package/lib/commonjs/components/PeerDisplayView.js +1 -2
  216. package/lib/commonjs/components/PeerDisplayView.js.map +1 -1
  217. package/lib/commonjs/components/PeerMinimizedView.js +3 -4
  218. package/lib/commonjs/components/PeerMinimizedView.js.map +1 -1
  219. package/lib/commonjs/components/PeerRTCStatsContainer.js +3 -4
  220. package/lib/commonjs/components/PeerRTCStatsContainer.js.map +1 -1
  221. package/lib/commonjs/components/PeerRTCStatsView.js +1 -2
  222. package/lib/commonjs/components/PeerRTCStatsView.js.map +1 -1
  223. package/lib/commonjs/components/PeerVideoTile/AvatarView.js +8 -9
  224. package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -1
  225. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js +2 -2
  226. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -1
  227. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js +2 -2
  228. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js.map +1 -1
  229. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js +15 -8
  230. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -1
  231. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +22 -12
  232. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  233. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +2 -2
  234. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  235. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +27 -13
  236. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  237. package/lib/commonjs/components/PeerVideoTile/VideoView.js +3 -4
  238. package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -1
  239. package/lib/commonjs/components/PressableIcon.js +2 -2
  240. package/lib/commonjs/components/PressableIcon.js.map +1 -1
  241. package/lib/commonjs/components/Preview.js +5 -1
  242. package/lib/commonjs/components/Preview.js.map +1 -1
  243. package/lib/commonjs/components/PreviewForRoleChangeModal.js +6 -12
  244. package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -1
  245. package/lib/commonjs/components/ReconnectionView.js +3 -4
  246. package/lib/commonjs/components/ReconnectionView.js.map +1 -1
  247. package/lib/commonjs/components/RoomSettingsModalContent.js +53 -20
  248. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  249. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +1 -1
  250. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  251. package/lib/commonjs/components/StatusBar.js +2 -2
  252. package/lib/commonjs/components/StatusBar.js.map +1 -1
  253. package/lib/commonjs/components/StopRecordingModalContent.js +6 -3
  254. package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -1
  255. package/lib/commonjs/components/StreamingQualityModalContent.js +2 -2
  256. package/lib/commonjs/components/StreamingQualityModalContent.js.map +1 -1
  257. package/lib/commonjs/components/Tile.js +1 -2
  258. package/lib/commonjs/components/Tile.js.map +1 -1
  259. package/lib/commonjs/components/TilesContainer.js +1 -2
  260. package/lib/commonjs/components/TilesContainer.js.map +1 -1
  261. package/lib/commonjs/components/UnmountAfterDelay.js +3 -4
  262. package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -1
  263. package/lib/commonjs/components/WebrtcView.js +5 -5
  264. package/lib/commonjs/components/WebrtcView.js.map +1 -1
  265. package/lib/commonjs/components/WelcomeInMeeting.js +30 -9
  266. package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -1
  267. package/lib/commonjs/components/styles.js +1 -2
  268. package/lib/commonjs/components/styles.js.map +1 -1
  269. package/lib/commonjs/hooks-sdk.js +46 -1
  270. package/lib/commonjs/hooks-sdk.js.map +1 -1
  271. package/lib/commonjs/hooks-util.js +323 -145
  272. package/lib/commonjs/hooks-util.js.map +1 -1
  273. package/lib/commonjs/index.js +11 -0
  274. package/lib/commonjs/index.js.map +1 -1
  275. package/lib/commonjs/redux/actionTypes.js +12 -6
  276. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  277. package/lib/commonjs/redux/actions/index.js +41 -4
  278. package/lib/commonjs/redux/actions/index.js.map +1 -1
  279. package/lib/commonjs/redux/index.js +1 -2
  280. package/lib/commonjs/redux/index.js.map +1 -1
  281. package/lib/commonjs/redux/reducers/appState.js +20 -5
  282. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  283. package/lib/commonjs/redux/reducers/chatWindow.js +1 -2
  284. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
  285. package/lib/commonjs/redux/reducers/hmsStates.js +192 -22
  286. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  287. package/lib/commonjs/redux/reducers/index.js +1 -2
  288. package/lib/commonjs/redux/reducers/index.js.map +1 -1
  289. package/lib/commonjs/redux/reducers/message.js +3 -4
  290. package/lib/commonjs/redux/reducers/message.js.map +1 -1
  291. package/lib/commonjs/redux/reducers/userState.js +8 -5
  292. package/lib/commonjs/redux/reducers/userState.js.map +1 -1
  293. package/lib/commonjs/types.js +11 -3
  294. package/lib/commonjs/types.js.map +1 -1
  295. package/lib/commonjs/utils/dimension.js +2 -4
  296. package/lib/commonjs/utils/dimension.js.map +1 -1
  297. package/lib/commonjs/utils/functions.js.map +1 -1
  298. package/lib/commonjs/utils/theme.js +5 -10
  299. package/lib/commonjs/utils/theme.js.map +1 -1
  300. package/lib/commonjs/utils/types.js +23 -23
  301. package/lib/commonjs/utils/types.js.map +1 -1
  302. package/lib/commonjs/utils.js +1 -8
  303. package/lib/commonjs/utils.js.map +1 -1
  304. package/lib/module/HMSPrebuilt.js +18 -17
  305. package/lib/module/HMSPrebuilt.js.map +1 -1
  306. package/lib/module/HMSRoomSetup.js +81 -40
  307. package/lib/module/HMSRoomSetup.js.map +1 -1
  308. package/lib/module/Icons/Chevron/index.js +5 -1
  309. package/lib/module/Icons/Chevron/index.js.map +1 -1
  310. package/lib/module/Icons/Hand/assets/hand-off.png +0 -0
  311. package/lib/module/Icons/Hand/assets/hand-off@2x.png +0 -0
  312. package/lib/module/Icons/Hand/assets/hand-off@3x.png +0 -0
  313. package/lib/module/Icons/Hand/index.js +2 -1
  314. package/lib/module/Icons/Hand/index.js.map +1 -1
  315. package/lib/module/Icons/Leave/index.js +5 -1
  316. package/lib/module/Icons/Leave/index.js.map +1 -1
  317. package/lib/module/Icons/Recording/assets/recording-off.png +0 -0
  318. package/lib/module/Icons/Recording/assets/recording-off@2x.png +0 -0
  319. package/lib/module/Icons/Recording/assets/recording-off@3x.png +0 -0
  320. package/lib/module/Icons/Recording/index.js +2 -1
  321. package/lib/module/Icons/Recording/index.js.map +1 -1
  322. package/lib/module/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  323. package/lib/module/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  324. package/lib/module/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  325. package/lib/module/Icons/WelcomeHand/index.js +22 -0
  326. package/lib/module/Icons/WelcomeHand/index.js.map +1 -0
  327. package/lib/module/Icons/index.js +1 -0
  328. package/lib/module/Icons/index.js.map +1 -1
  329. package/lib/module/components/ChangeNameModalContent.js +25 -6
  330. package/lib/module/components/ChangeNameModalContent.js.map +1 -1
  331. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +4 -3
  332. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  333. package/lib/module/components/ChatAndParticipants/ParticipantsView.js +13 -12
  334. package/lib/module/components/ChatAndParticipants/ParticipantsView.js.map +1 -1
  335. package/lib/module/components/DisplayView.js +3 -1
  336. package/lib/module/components/DisplayView.js.map +1 -1
  337. package/lib/module/components/EndRoomModal.js +20 -0
  338. package/lib/module/components/EndRoomModal.js.map +1 -0
  339. package/lib/module/components/EndRoomModalContent.js +9 -2
  340. package/lib/module/components/EndRoomModalContent.js.map +1 -1
  341. package/lib/module/components/Footer.js +10 -2
  342. package/lib/module/components/Footer.js.map +1 -1
  343. package/lib/module/components/HMSDangerButton.js +2 -1
  344. package/lib/module/components/HMSDangerButton.js.map +1 -1
  345. package/lib/module/components/HMSHLSStreamLoading.js +5 -3
  346. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
  347. package/lib/module/components/HMSKeyboardAvoidingView.js +6 -22
  348. package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -1
  349. package/lib/module/components/HMSLiveIndicator.js +3 -3
  350. package/lib/module/components/HMSLiveIndicator.js.map +1 -1
  351. package/lib/module/components/HMSLocalScreenshareNotification.js +1 -1
  352. package/lib/module/components/HMSManageLeave.js +7 -182
  353. package/lib/module/components/HMSManageLeave.js.map +1 -1
  354. package/lib/module/components/HMSManageRaiseHand.js +22 -10
  355. package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
  356. package/lib/module/components/HMSNotification.js +4 -3
  357. package/lib/module/components/HMSNotification.js.map +1 -1
  358. package/lib/module/components/HMSNotifications.js +28 -2
  359. package/lib/module/components/HMSNotifications.js.map +1 -1
  360. package/lib/module/components/HMSOverlayChatView.js +7 -1
  361. package/lib/module/components/HMSOverlayChatView.js.map +1 -1
  362. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +3 -2
  363. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  364. package/lib/module/components/HMSPreviewJoinButton.js +9 -4
  365. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  366. package/lib/module/components/HMSPreviewTile.js +1 -1
  367. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  368. package/lib/module/components/HMSReconnectingNotification.js +24 -0
  369. package/lib/module/components/HMSReconnectingNotification.js.map +1 -0
  370. package/lib/module/components/HMSRecordingIndicator.js +4 -1
  371. package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
  372. package/lib/module/components/HMSTerminalErrorNotification.js +57 -0
  373. package/lib/module/components/HMSTerminalErrorNotification.js.map +1 -0
  374. package/lib/module/components/HMSTextInput.js +3 -3
  375. package/lib/module/components/HMSTextInput.js.map +1 -1
  376. package/lib/module/components/LeaveRoomBottomSheet.js +167 -0
  377. package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -0
  378. package/lib/module/components/Meeting.js +5 -1
  379. package/lib/module/components/Meeting.js.map +1 -1
  380. package/lib/module/components/MeetingScreenContent.js +3 -2
  381. package/lib/module/components/MeetingScreenContent.js.map +1 -1
  382. package/lib/module/components/PIPView.js +87 -14
  383. package/lib/module/components/PIPView.js.map +1 -1
  384. package/lib/module/components/Participants/MultiRoleParticipantsList.js +56 -0
  385. package/lib/module/components/Participants/MultiRoleParticipantsList.js.map +1 -0
  386. package/lib/module/components/Participants/ParticipantsAccordian.js +51 -0
  387. package/lib/module/components/Participants/ParticipantsAccordian.js.map +1 -0
  388. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js +16 -0
  389. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js.map +1 -0
  390. package/lib/module/components/Participants/ParticipantsGroupFooter.js +53 -0
  391. package/lib/module/components/Participants/ParticipantsGroupFooter.js.map +1 -0
  392. package/lib/module/components/Participants/ParticipantsGroupHeader.js +28 -27
  393. package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  394. package/lib/module/components/Participants/ParticipantsGroupOptions.js.map +1 -1
  395. package/lib/module/components/Participants/ParticipantsItem.js +10 -18
  396. package/lib/module/components/Participants/ParticipantsItem.js.map +1 -1
  397. package/lib/module/components/Participants/ParticipantsItemOptions.js +24 -2
  398. package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -1
  399. package/lib/module/components/Participants/ParticipantsList.js +156 -21
  400. package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
  401. package/lib/module/components/Participants/ParticipantsListFooter.js +35 -0
  402. package/lib/module/components/Participants/ParticipantsListFooter.js.map +1 -0
  403. package/lib/module/components/Participants/ParticipantsSeachInput.js +2 -2
  404. package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
  405. package/lib/module/components/Participants/index.js +1 -0
  406. package/lib/module/components/Participants/index.js.map +1 -1
  407. package/lib/module/components/PeerVideoTile/AvatarView.js +5 -5
  408. package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -1
  409. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js +14 -7
  410. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -1
  411. package/lib/module/components/PeerVideoTile/PeerMetadata.js +21 -11
  412. package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  413. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +23 -7
  414. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  415. package/lib/module/components/Preview.js +6 -2
  416. package/lib/module/components/Preview.js.map +1 -1
  417. package/lib/module/components/PreviewForRoleChangeModal.js +2 -7
  418. package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -1
  419. package/lib/module/components/RoomSettingsModalContent.js +54 -21
  420. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  421. package/lib/module/components/RoomSettingsModalDebugModeContent.js +1 -1
  422. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  423. package/lib/module/components/StopRecordingModalContent.js +4 -1
  424. package/lib/module/components/StopRecordingModalContent.js.map +1 -1
  425. package/lib/module/components/WebrtcView.js +2 -1
  426. package/lib/module/components/WebrtcView.js.map +1 -1
  427. package/lib/module/components/WelcomeInMeeting.js +29 -8
  428. package/lib/module/components/WelcomeInMeeting.js.map +1 -1
  429. package/lib/module/hooks-sdk.js +46 -1
  430. package/lib/module/hooks-sdk.js.map +1 -1
  431. package/lib/module/hooks-util.js +314 -143
  432. package/lib/module/hooks-util.js.map +1 -1
  433. package/lib/module/index.js +1 -0
  434. package/lib/module/index.js.map +1 -1
  435. package/lib/module/redux/actionTypes.js +10 -2
  436. package/lib/module/redux/actionTypes.js.map +1 -1
  437. package/lib/module/redux/actions/index.js +32 -1
  438. package/lib/module/redux/actions/index.js.map +1 -1
  439. package/lib/module/redux/reducers/appState.js +17 -1
  440. package/lib/module/redux/reducers/appState.js.map +1 -1
  441. package/lib/module/redux/reducers/hmsStates.js +191 -20
  442. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  443. package/lib/module/redux/reducers/userState.js +5 -1
  444. package/lib/module/redux/reducers/userState.js.map +1 -1
  445. package/lib/module/types.js +9 -0
  446. package/lib/module/types.js.map +1 -1
  447. package/lib/module/utils/functions.js.map +1 -1
  448. package/lib/module/utils/types.js +12 -0
  449. package/lib/module/utils/types.js.map +1 -1
  450. package/lib/module/utils.js +0 -6
  451. package/lib/module/utils.js.map +1 -1
  452. package/lib/typescript/HMSPrebuilt.d.ts +2 -16
  453. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  454. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  455. package/lib/typescript/Icons/Chevron/index.d.ts +1 -1
  456. package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -1
  457. package/lib/typescript/Icons/Hand/index.d.ts +1 -0
  458. package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
  459. package/lib/typescript/Icons/Leave/index.d.ts.map +1 -1
  460. package/lib/typescript/Icons/Recording/index.d.ts +1 -0
  461. package/lib/typescript/Icons/Recording/index.d.ts.map +1 -1
  462. package/lib/typescript/Icons/WelcomeHand/index.d.ts +7 -0
  463. package/lib/typescript/Icons/WelcomeHand/index.d.ts.map +1 -0
  464. package/lib/typescript/Icons/index.d.ts +1 -0
  465. package/lib/typescript/Icons/index.d.ts.map +1 -1
  466. package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -1
  467. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
  468. package/lib/typescript/components/ChatAndParticipants/ParticipantsView.d.ts.map +1 -1
  469. package/lib/typescript/components/DisplayView.d.ts.map +1 -1
  470. package/lib/typescript/components/EndRoomModal.d.ts +6 -0
  471. package/lib/typescript/components/EndRoomModal.d.ts.map +1 -0
  472. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
  473. package/lib/typescript/components/Footer.d.ts +1 -0
  474. package/lib/typescript/components/Footer.d.ts.map +1 -1
  475. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
  476. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -1
  477. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts +1 -0
  478. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -1
  479. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  480. package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
  481. package/lib/typescript/components/HMSNotification.d.ts +1 -0
  482. package/lib/typescript/components/HMSNotification.d.ts.map +1 -1
  483. package/lib/typescript/components/HMSNotifications.d.ts +1 -0
  484. package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
  485. package/lib/typescript/components/HMSOverlayChatView.d.ts.map +1 -1
  486. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  487. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  488. package/lib/typescript/components/HMSReconnectingNotification.d.ts +5 -0
  489. package/lib/typescript/components/HMSReconnectingNotification.d.ts.map +1 -0
  490. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
  491. package/lib/typescript/components/HMSTerminalErrorNotification.d.ts +10 -0
  492. package/lib/typescript/components/HMSTerminalErrorNotification.d.ts.map +1 -0
  493. package/lib/typescript/components/LeaveRoomBottomSheet.d.ts +6 -0
  494. package/lib/typescript/components/LeaveRoomBottomSheet.d.ts.map +1 -0
  495. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  496. package/lib/typescript/components/PIPView.d.ts +2 -1
  497. package/lib/typescript/components/PIPView.d.ts.map +1 -1
  498. package/lib/typescript/components/Participants/MultiRoleParticipantsList.d.ts +7 -0
  499. package/lib/typescript/components/Participants/MultiRoleParticipantsList.d.ts.map +1 -0
  500. package/lib/typescript/components/Participants/ParticipantsAccordian.d.ts +11 -0
  501. package/lib/typescript/components/Participants/ParticipantsAccordian.d.ts.map +1 -0
  502. package/lib/typescript/components/Participants/ParticipantsAccordianExpanded.d.ts +9 -0
  503. package/lib/typescript/components/Participants/ParticipantsAccordianExpanded.d.ts.map +1 -0
  504. package/lib/typescript/components/Participants/ParticipantsGroupFooter.d.ts +9 -0
  505. package/lib/typescript/components/Participants/ParticipantsGroupFooter.d.ts.map +1 -0
  506. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts +6 -3
  507. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts.map +1 -1
  508. package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts +0 -2
  509. package/lib/typescript/components/Participants/ParticipantsGroupOptions.d.ts.map +1 -1
  510. package/lib/typescript/components/Participants/ParticipantsItem.d.ts +3 -3
  511. package/lib/typescript/components/Participants/ParticipantsItem.d.ts.map +1 -1
  512. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts +2 -2
  513. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -1
  514. package/lib/typescript/components/Participants/ParticipantsList.d.ts +3 -4
  515. package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
  516. package/lib/typescript/components/Participants/ParticipantsListFooter.d.ts +6 -0
  517. package/lib/typescript/components/Participants/ParticipantsListFooter.d.ts.map +1 -0
  518. package/lib/typescript/components/Participants/index.d.ts +1 -0
  519. package/lib/typescript/components/Participants/index.d.ts.map +1 -1
  520. package/lib/typescript/components/PeerVideoTile/PeerAudioIndicator.d.ts.map +1 -1
  521. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +1 -0
  522. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -1
  523. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
  524. package/lib/typescript/components/Preview.d.ts.map +1 -1
  525. package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -1
  526. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  527. package/lib/typescript/components/StopRecordingModalContent.d.ts.map +1 -1
  528. package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
  529. package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -1
  530. package/lib/typescript/hooks-sdk.d.ts +4 -0
  531. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  532. package/lib/typescript/hooks-util.d.ts +29 -26
  533. package/lib/typescript/hooks-util.d.ts.map +1 -1
  534. package/lib/typescript/index.d.ts +2 -0
  535. package/lib/typescript/index.d.ts.map +1 -1
  536. package/lib/typescript/redux/actionTypes.d.ts +7 -1
  537. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  538. package/lib/typescript/redux/actions/index.d.ts +36 -14
  539. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  540. package/lib/typescript/redux/index.d.ts +6 -8
  541. package/lib/typescript/redux/index.d.ts.map +1 -1
  542. package/lib/typescript/redux/reducers/appState.d.ts +4 -5
  543. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  544. package/lib/typescript/redux/reducers/hmsStates.d.ts +16 -3
  545. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  546. package/lib/typescript/redux/reducers/index.d.ts +6 -8
  547. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  548. package/lib/typescript/redux/reducers/userState.d.ts +2 -2
  549. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  550. package/lib/typescript/types.d.ts +79 -0
  551. package/lib/typescript/types.d.ts.map +1 -1
  552. package/lib/typescript/utils/functions.d.ts +0 -1
  553. package/lib/typescript/utils/functions.d.ts.map +1 -1
  554. package/lib/typescript/utils/types.d.ts +25 -0
  555. package/lib/typescript/utils/types.d.ts.map +1 -1
  556. package/lib/typescript/utils.d.ts +0 -5
  557. package/lib/typescript/utils.d.ts.map +1 -1
  558. package/package.json +3 -4
  559. package/src/HMSPrebuilt.tsx +35 -29
  560. package/src/HMSRoomSetup.tsx +105 -53
  561. package/src/Icons/Chevron/index.tsx +9 -2
  562. package/src/Icons/Hand/assets/hand-off.png +0 -0
  563. package/src/Icons/Hand/assets/hand-off@2x.png +0 -0
  564. package/src/Icons/Hand/assets/hand-off@3x.png +0 -0
  565. package/src/Icons/Hand/index.tsx +13 -3
  566. package/src/Icons/Leave/index.tsx +7 -1
  567. package/src/Icons/Recording/assets/recording-off.png +0 -0
  568. package/src/Icons/Recording/assets/recording-off@2x.png +0 -0
  569. package/src/Icons/Recording/assets/recording-off@3x.png +0 -0
  570. package/src/Icons/Recording/index.tsx +9 -2
  571. package/src/Icons/WelcomeHand/assets/welcome-hand.png +0 -0
  572. package/src/Icons/WelcomeHand/assets/welcome-hand@2x.png +0 -0
  573. package/src/Icons/WelcomeHand/assets/welcome-hand@3x.png +0 -0
  574. package/src/Icons/WelcomeHand/index.tsx +27 -0
  575. package/src/Icons/index.ts +1 -0
  576. package/src/components/ChangeNameModalContent.tsx +28 -9
  577. package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +6 -3
  578. package/src/components/ChatAndParticipants/ParticipantsView.tsx +21 -13
  579. package/src/components/DisplayView.tsx +6 -0
  580. package/src/components/EndRoomModal.tsx +24 -0
  581. package/src/components/EndRoomModalContent.tsx +9 -2
  582. package/src/components/Footer.tsx +18 -2
  583. package/src/components/HMSDangerButton.tsx +2 -1
  584. package/src/components/HMSHLSStreamLoading.tsx +9 -3
  585. package/src/components/HMSKeyboardAvoidingView.tsx +8 -26
  586. package/src/components/HMSLiveIndicator.tsx +3 -3
  587. package/src/components/HMSLocalScreenshareNotification.tsx +1 -1
  588. package/src/components/HMSManageLeave.tsx +6 -229
  589. package/src/components/HMSManageRaiseHand.tsx +20 -13
  590. package/src/components/HMSNotification.tsx +4 -2
  591. package/src/components/HMSNotifications.tsx +41 -7
  592. package/src/components/HMSOverlayChatView.tsx +6 -1
  593. package/src/components/HMSPreviewHLSLiveIndicator.tsx +3 -2
  594. package/src/components/HMSPreviewJoinButton.tsx +15 -4
  595. package/src/components/HMSPreviewTile.tsx +1 -1
  596. package/src/components/HMSReconnectingNotification.tsx +27 -0
  597. package/src/components/HMSRecordingIndicator.tsx +3 -1
  598. package/src/components/HMSTerminalErrorNotification.tsx +70 -0
  599. package/src/components/HMSTextInput.tsx +3 -3
  600. package/src/components/LeaveRoomBottomSheet.tsx +199 -0
  601. package/src/components/Meeting.tsx +7 -0
  602. package/src/components/MeetingScreenContent.tsx +2 -2
  603. package/src/components/PIPView.tsx +124 -15
  604. package/src/components/Participants/MultiRoleParticipantsList.tsx +70 -0
  605. package/src/components/Participants/ParticipantsAccordian.tsx +70 -0
  606. package/src/components/Participants/ParticipantsAccordianExpanded.tsx +27 -0
  607. package/src/components/Participants/ParticipantsGroupFooter.tsx +65 -0
  608. package/src/components/Participants/ParticipantsGroupHeader.tsx +37 -37
  609. package/src/components/Participants/ParticipantsGroupOptions.tsx +1 -6
  610. package/src/components/Participants/ParticipantsItem.tsx +16 -33
  611. package/src/components/Participants/ParticipantsItemOptions.tsx +28 -6
  612. package/src/components/Participants/ParticipantsList.tsx +197 -34
  613. package/src/components/Participants/ParticipantsListFooter.tsx +45 -0
  614. package/src/components/Participants/ParticipantsSeachInput.tsx +2 -2
  615. package/src/components/Participants/index.ts +1 -0
  616. package/src/components/PeerVideoTile/AvatarView.tsx +5 -5
  617. package/src/components/PeerVideoTile/PeerAudioIndicator.tsx +17 -7
  618. package/src/components/PeerVideoTile/PeerMetadata.tsx +21 -12
  619. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +28 -9
  620. package/src/components/Preview.tsx +23 -9
  621. package/src/components/PreviewForRoleChangeModal.tsx +2 -7
  622. package/src/components/RoomSettingsModalContent.tsx +49 -18
  623. package/src/components/RoomSettingsModalDebugModeContent.tsx +1 -1
  624. package/src/components/StopRecordingModalContent.tsx +3 -1
  625. package/src/components/WebrtcView.tsx +10 -1
  626. package/src/components/WelcomeInMeeting.tsx +33 -5
  627. package/src/hooks-sdk.ts +58 -0
  628. package/src/hooks-util.ts +462 -209
  629. package/src/index.ts +2 -0
  630. package/src/redux/actionTypes.ts +11 -1
  631. package/src/redux/actions/index.ts +36 -8
  632. package/src/redux/reducers/appState.ts +18 -1
  633. package/src/redux/reducers/hmsStates.ts +269 -36
  634. package/src/redux/reducers/userState.ts +7 -3
  635. package/src/types.ts +71 -0
  636. package/src/utils/functions.ts +0 -1
  637. package/src/utils/types.ts +29 -0
  638. package/src/utils.ts +0 -6
  639. package/lib/commonjs/assets/welcome.png +0 -0
  640. package/lib/module/assets/welcome.png +0 -0
  641. package/src/assets/welcome.png +0 -0
@@ -36,6 +36,8 @@ import { BottomSheet } from './BottomSheet';
36
36
  import { FullScreenVideoView } from './FullScreenVideoView';
37
37
  import { PreviewForRoleChangeModal } from './PreviewForRoleChangeModal';
38
38
  import { ChatAndParticipantsBottomSheet } from './ChatAndParticipants';
39
+ import { LeaveRoomBottomSheet } from './LeaveRoomBottomSheet';
40
+ import { EndRoomModal } from './EndRoomModal';
39
41
 
40
42
  type CapturedImagePath = { uri: string } | null;
41
43
 
@@ -150,6 +152,10 @@ export const DisplayView: React.FC<DisplayViewProps> = ({
150
152
 
151
153
  {isPipModeActive ? null : (
152
154
  <>
155
+ <LeaveRoomBottomSheet />
156
+
157
+ <EndRoomModal />
158
+
153
159
  <PreviewForRoleChangeModal />
154
160
 
155
161
  <FullScreenVideoView />
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+
3
+ import { ModalTypes } from '../utils/types';
4
+ import { BottomSheet } from './BottomSheet';
5
+ import { useModalType } from '../hooks-util';
6
+ import { EndRoomModalContent } from './EndRoomModalContent';
7
+
8
+ interface EndRoomModalProps {}
9
+
10
+ export const EndRoomModal: React.FC<EndRoomModalProps> = () => {
11
+ const { modalVisibleType, handleModalVisibleType } = useModalType();
12
+
13
+ const dismissModal = () => handleModalVisibleType(ModalTypes.DEFAULT);
14
+
15
+ return (
16
+ <BottomSheet
17
+ dismissModal={dismissModal}
18
+ isVisible={modalVisibleType === ModalTypes.END_ROOM}
19
+ animationOutTiming={700}
20
+ >
21
+ <EndRoomModalContent dismissModal={dismissModal} />
22
+ </BottomSheet>
23
+ );
24
+ };
@@ -6,6 +6,7 @@ import { AlertTriangleIcon, CloseIcon } from '../Icons';
6
6
  import { HMSDangerButton } from './HMSDangerButton';
7
7
  import { useSelector } from 'react-redux';
8
8
  import type { RootState } from '../redux';
9
+ import { OnLeaveReason } from '../utils/types';
9
10
 
10
11
  export interface EndRoomModalContentProps {
11
12
  dismissModal(): void;
@@ -14,7 +15,7 @@ export interface EndRoomModalContentProps {
14
15
  export const EndRoomModalContent: React.FC<EndRoomModalContentProps> = ({
15
16
  dismissModal,
16
17
  }) => {
17
- const { endRoom, leave } = useLeaveMethods(false);
18
+ const { endRoom, leave } = useLeaveMethods();
18
19
 
19
20
  const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
20
21
  headerText: {
@@ -72,7 +73,13 @@ export const EndRoomModalContent: React.FC<EndRoomModalContentProps> = ({
72
73
  </Text>
73
74
  <HMSDangerButton
74
75
  loading={false}
75
- onPress={canStream && isStreaming ? () => leave(true) : endRoom}
76
+ onPress={() => {
77
+ if (canStream && isStreaming) {
78
+ leave(OnLeaveReason.LEAVE, true)
79
+ } else {
80
+ endRoom(OnLeaveReason.ROOM_END);
81
+ }
82
+ }}
76
83
  title={canStream && isStreaming ? 'End Stream' : 'End Session'}
77
84
  />
78
85
  </View>
@@ -1,6 +1,9 @@
1
1
  import React, { memo, useMemo } from 'react';
2
2
  import { View, StyleSheet, Platform } from 'react-native';
3
- import { SafeAreaView } from 'react-native-safe-area-context';
3
+ import {
4
+ SafeAreaView,
5
+ useSafeAreaInsets,
6
+ } from 'react-native-safe-area-context';
4
7
 
5
8
  import {
6
9
  useHMSLayoutConfig,
@@ -50,7 +53,11 @@ export const _Footer: React.FC<FooterProps> = () => {
50
53
  );
51
54
 
52
55
  const canShowOptions =
53
- canPublishScreen || canShowParticipants || canShowBRB || canStartRecording;
56
+ isViewer ||
57
+ canPublishScreen ||
58
+ canShowParticipants ||
59
+ canShowBRB ||
60
+ canStartRecording;
54
61
 
55
62
  const footerActionButtons = useMemo(() => {
56
63
  const actions = [];
@@ -129,6 +136,15 @@ export const _Footer: React.FC<FooterProps> = () => {
129
136
  );
130
137
  };
131
138
 
139
+ export const useFooterHeight = () => {
140
+ const isHLSViewer = useIsHLSViewer();
141
+ const { bottom } = useSafeAreaInsets();
142
+
143
+ return (
144
+ bottom + (isHLSViewer ? 8 : 16) + (Platform.OS === 'android' ? 16 : 0) + 40
145
+ ); // bottomSafeArea + paddingTop + marginBottom + content
146
+ };
147
+
132
148
  const styles = StyleSheet.create({
133
149
  container: {
134
150
  paddingTop: 16,
@@ -3,6 +3,7 @@ import type { StyleProp, ViewStyle } from 'react-native';
3
3
 
4
4
  import { useHMSRoomColorPalette, useHMSRoomStyleSheet } from '../hooks-util';
5
5
  import { HMSBaseButton } from './HMSBaseButton';
6
+ import { COLORS } from '../utils/theme';
6
7
 
7
8
  export interface HMSDangerButtonProps {
8
9
  title: string;
@@ -34,7 +35,7 @@ export const HMSDangerButton: React.FC<HMSDangerButtonProps> = ({
34
35
  backgroundColor: theme.palette.alert_error_dim,
35
36
  },
36
37
  buttonText: {
37
- color: theme.palette.alert_error_brighter,
38
+ color: COLORS.WHITE,
38
39
  fontFamily: `${typography.font_family}-SemiBold`,
39
40
  },
40
41
  disabledText: {
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { View, ActivityIndicator, Text, StyleSheet } from 'react-native';
3
3
  import { useSelector } from 'react-redux';
4
4
 
5
- import { COLORS } from '../utils/theme';
5
+ import { hexToRgbA } from '../utils/theme';
6
6
  import type { RootState } from '../redux';
7
7
  import { HMSLocalVideoView } from './HMSLocalVideoView';
8
8
  import { useHMSRoomColorPalette, useHMSRoomStyleSheet } from '../hooks-util';
@@ -22,13 +22,20 @@ export const HMSHLSStreamLoading = () => {
22
22
  color: theme.palette.on_surface_high,
23
23
  fontFamily: `${typography.font_family}-Regular`,
24
24
  },
25
+ backdropContainer: {
26
+ backgroundColor: theme.palette.background_dim
27
+ ? hexToRgbA(theme.palette.background_dim, 0.7)
28
+ : undefined,
29
+ },
25
30
  }));
26
31
 
27
32
  return (
28
33
  <View style={[styles.container, hmsRoomStyles.container]}>
29
34
  {isLocalVideoMuted ? null : <HMSLocalVideoView />}
30
35
 
31
- <View style={styles.hlsLoaderContainer}>
36
+ <View
37
+ style={[styles.hlsLoaderContainer, hmsRoomStyles.backdropContainer]}
38
+ >
32
39
  <ActivityIndicator
33
40
  style={styles.hlsLoader}
34
41
  size={'large'}
@@ -52,7 +59,6 @@ const styles = StyleSheet.create({
52
59
  position: 'absolute',
53
60
  width: '100%',
54
61
  height: '100%',
55
- backgroundColor: COLORS.LOADING_BACKDROP,
56
62
  zIndex: 5,
57
63
  alignItems: 'center',
58
64
  justifyContent: 'center',
@@ -1,39 +1,25 @@
1
1
  import * as React from 'react';
2
- import { Platform, StatusBar, useWindowDimensions } from 'react-native';
3
2
  import type { StyleProp, ViewStyle } from 'react-native';
4
3
  import Animated, {
4
+ useAnimatedKeyboard,
5
5
  useAnimatedStyle,
6
- useSharedValue,
6
+ useDerivedValue,
7
7
  } from 'react-native-reanimated';
8
- import { useReanimatedKeyboardAnimation } from 'react-native-keyboard-controller';
9
8
 
10
9
  export interface HMSKeyboardAvoidingViewProps {
11
10
  style?: StyleProp<Animated.AnimateStyle<StyleProp<ViewStyle>>>;
11
+ bottomOffset?: number;
12
12
  }
13
13
 
14
14
  export const HMSKeyboardAvoidingView: React.FC<
15
15
  HMSKeyboardAvoidingViewProps
16
- > = ({ children, style }) => {
17
- const animatedViewRef = React.useRef<Animated.View>(null);
18
- const { height: windowHeight } = useWindowDimensions();
19
- const animatedKeyboard = useReanimatedKeyboardAnimation();
16
+ > = ({ children, style, bottomOffset=0 }) => {
17
+ const animatedKeyboard = useAnimatedKeyboard();
20
18
 
21
- const initialPageY = useSharedValue(0);
22
-
23
- const _handleViewOnLayout = React.useCallback(() => {
24
- animatedViewRef.current?.measureInWindow((_fx, fy, _width, height) => {
25
- if (height > 0) {
26
- const finalWindowHeight =
27
- Platform.OS === 'android' && Platform.Version < 29
28
- ? windowHeight - (StatusBar.currentHeight ?? 0)
29
- : windowHeight;
30
- initialPageY.value = finalWindowHeight - (height + fy);
31
- }
32
- });
33
- }, []);
19
+ const initialPageY = useDerivedValue(() => bottomOffset, [bottomOffset]);
34
20
 
35
21
  const keyboardAvoidStyle = useAnimatedStyle(() => {
36
- const keyboardHeight = -animatedKeyboard.height.value;
22
+ const keyboardHeight = animatedKeyboard.height.value;
37
23
  return {
38
24
  transform: [
39
25
  {
@@ -47,11 +33,7 @@ export const HMSKeyboardAvoidingView: React.FC<
47
33
  });
48
34
 
49
35
  return (
50
- <Animated.View
51
- ref={animatedViewRef}
52
- onLayout={_handleViewOnLayout}
53
- style={[style, keyboardAvoidStyle]}
54
- >
36
+ <Animated.View style={[style, keyboardAvoidStyle]}>
55
37
  {children}
56
38
  </Animated.View>
57
39
  );
@@ -14,7 +14,7 @@ import {
14
14
  useShowChatAndParticipants,
15
15
  } from '../hooks-util';
16
16
  import { EyeIcon } from '../Icons';
17
- import { hexToRgbA } from '../utils/theme';
17
+ import { COLORS, hexToRgbA } from '../utils/theme';
18
18
  import type { RootState } from '../redux';
19
19
 
20
20
  const _HMSLiveIndicator = () => {
@@ -23,7 +23,7 @@ const _HMSLiveIndicator = () => {
23
23
  (state: RootState) => state.hmsStates.room?.peerCount
24
24
  );
25
25
  const live = useSelector(
26
- (state: RootState) => !!state.hmsStates.room?.hlsStreamingState.running
26
+ (state: RootState) => !!state.hmsStates.room?.hlsStreamingState?.running
27
27
  );
28
28
 
29
29
  const hmsRoomStyles = useHMSRoomStyleSheet((theme, typograhy) => ({
@@ -31,7 +31,7 @@ const _HMSLiveIndicator = () => {
31
31
  backgroundColor: theme.palette.alert_error_default,
32
32
  },
33
33
  liveText: {
34
- color: theme.palette.alert_error_brighter,
34
+ color: COLORS.WHITE,
35
35
  fontFamily: `${typograhy.font_family}-SemiBold`,
36
36
  },
37
37
  viewers: {
@@ -5,7 +5,7 @@ import { ScreenShareIcon } from '../Icons';
5
5
  import { HMSDangerButton } from './HMSDangerButton';
6
6
  import { HMSNotification } from './HMSNotification';
7
7
  import { useHMSRoomStyle } from '../hooks-util';
8
- import { NotificationTypes } from '../utils';
8
+ import { NotificationTypes } from '../types';
9
9
 
10
10
  export interface HMSLocalScreenshareNotificationProps {}
11
11
 
@@ -1,15 +1,11 @@
1
1
  import * as React from 'react';
2
- import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
3
- import { useSelector } from 'react-redux';
2
+ import { View } from 'react-native';
4
3
 
5
4
  import { LeaveIcon } from '../Icons';
6
- import { useHMSRoomStyleSheet, useLeaveMethods } from '../hooks-util';
7
- import type { RootState } from '../redux';
5
+ import { useHMSRoomStyleSheet, useModalType } from '../hooks-util';
8
6
  import { ModalTypes } from '../utils/types';
9
7
  import { PressableIcon } from './PressableIcon';
10
- import { BottomSheet } from './BottomSheet';
11
- import { StopIcon } from '../Icons';
12
- import { EndRoomModalContent } from './EndRoomModalContent';
8
+ import { COLORS } from '../utils/theme';
13
9
 
14
10
  export const HMSManageLeave: React.FC<LeaveButtonProps> = (props) => {
15
11
  // TODO: read current meeting joined state
@@ -31,69 +27,22 @@ type LeaveButtonProps =
31
27
  };
32
28
 
33
29
  const LeaveButton: React.FC<LeaveButtonProps> = (props) => {
34
- const leavePopCloseAction = React.useRef(ModalTypes.DEFAULT);
35
- const [leavePopVisible, setLeavePopVisible] = React.useState(false);
36
- const [leaveModalType, setLeaveModalType] = React.useState(
37
- ModalTypes.DEFAULT
38
- );
39
-
40
- const { leave } = useLeaveMethods(false);
30
+ const { handleModalVisibleType } = useModalType();
41
31
 
42
32
  /**
43
33
  * Opens the Leave Popup Menu
44
34
  */
45
35
  const handleLeaveButtonPress = () => {
46
- setLeavePopVisible(true);
47
- };
48
-
49
- /**
50
- * Closes the Leave Popup Menu
51
- * Leave Modal will open after the popup is hidden
52
- */
53
- const handleLeavePress = async () => {
54
- setLeavePopVisible(false);
55
- await leave();
56
- };
57
-
58
- /**
59
- * Closes the Leave Popup Menu
60
- * End Session Modal will open after the popup is hidden
61
- */
62
- const handleEndSessionPress = async () => {
63
- leavePopCloseAction.current = ModalTypes.END_ROOM;
64
- setLeavePopVisible(false);
65
- };
66
-
67
- const handleEndStreamPress = async () => {
68
- leavePopCloseAction.current = ModalTypes.END_ROOM;
69
- setLeavePopVisible(false);
36
+ handleModalVisibleType(ModalTypes.LEAVE_ROOM);
70
37
  };
71
38
 
72
- /**
73
- * Closes the Leave Popup Menu
74
- * No action is taken when the popup is hidden
75
- */
76
- const dismissPopup = () => {
77
- leavePopCloseAction.current = ModalTypes.DEFAULT;
78
- setLeavePopVisible(false);
79
- };
80
-
81
- /**
82
- * Handles action to take when the leave popup is hidden
83
- */
84
- const handlePopupHide = () => {
85
- setLeaveModalType(leavePopCloseAction.current);
86
- };
87
-
88
- const dismissModal = () => setLeaveModalType(ModalTypes.DEFAULT);
89
-
90
39
  const hmsRoomStyles = useHMSRoomStyleSheet((theme) => ({
91
40
  button: {
92
41
  backgroundColor: theme.palette.alert_error_default,
93
42
  borderColor: theme.palette.alert_error_default,
94
43
  },
95
44
  icon: {
96
- tintColor: theme.palette.alert_error_brighter,
45
+ tintColor: COLORS.WHITE,
97
46
  },
98
47
  }));
99
48
 
@@ -117,178 +66,6 @@ const LeaveButton: React.FC<LeaveButtonProps> = (props) => {
117
66
  onPress: handleLeaveButtonPress,
118
67
  style: hmsRoomStyles.button,
119
68
  })}
120
-
121
- <LeaveBottomSheet
122
- isVisible={leavePopVisible}
123
- onEndSessionPress={handleEndSessionPress}
124
- onLeavePress={handleLeavePress}
125
- onPopupDismiss={dismissPopup}
126
- onPopupHide={handlePopupHide}
127
- onEndStreamPress={handleEndStreamPress}
128
- />
129
-
130
- <BottomSheet
131
- dismissModal={dismissModal}
132
- isVisible={leaveModalType === ModalTypes.END_ROOM}
133
- animationOutTiming={700}
134
- >
135
- <EndRoomModalContent dismissModal={dismissModal} />
136
- </BottomSheet>
137
69
  </View>
138
70
  );
139
71
  };
140
-
141
- // const HEADER_CONTENT_HEIGHT = 24 + 8 + 8 + 2; // ICON_SIZE + TOP_PADDING + BOTTOM_PADDING + TOP&BOTTOM_BORDER_WIDTH
142
- // const HEADER_HEIGHT = 8 + HEADER_CONTENT_HEIGHT + 8; // TOP_HEADER_PADDING + HEADER_CONTENT_HEIGHT + BOTTOM_HEADER_PADDING
143
-
144
- interface LeaveBottomSheetProps {
145
- isVisible: boolean;
146
- onPopupDismiss(): void;
147
- onLeavePress(): void;
148
- onEndSessionPress(): void;
149
- onEndStreamPress(): void;
150
- onPopupHide(): void;
151
- }
152
-
153
- const LeaveBottomSheet: React.FC<LeaveBottomSheetProps> = ({
154
- isVisible,
155
- onPopupDismiss,
156
- onLeavePress,
157
- onEndSessionPress,
158
- onEndStreamPress,
159
- onPopupHide,
160
- }) => {
161
- const canEndRoom = useSelector(
162
- (state: RootState) => state.hmsStates.localPeer?.role?.permissions?.endRoom
163
- );
164
- const canStream = useSelector(
165
- (state: RootState) =>
166
- state.hmsStates.localPeer?.role?.permissions?.hlsStreaming
167
- );
168
-
169
- const isStreaming = useSelector(
170
- (state: RootState) =>
171
- state.hmsStates.room?.hlsStreamingState?.running ?? false
172
- );
173
-
174
- const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
175
- text: {
176
- color: theme.palette.on_surface_high,
177
- fontFamily: `${typography.font_family}-SemiBold`,
178
- },
179
- subtext: {
180
- color: theme.palette.on_surface_low,
181
- fontFamily: `${typography.font_family}-Regular`,
182
- },
183
- endButton: {
184
- backgroundColor: theme.palette.alert_error_dim,
185
- },
186
- endText: {
187
- color: theme.palette.alert_error_brighter,
188
- fontFamily: `${typography.font_family}-SemiBold`,
189
- },
190
- endSubtext: {
191
- color: theme.palette.alert_error_bright,
192
- fontFamily: `${typography.font_family}-Regular`,
193
- },
194
- endIcon: {
195
- tintColor: theme.palette.alert_error_brighter,
196
- },
197
- }));
198
-
199
- return (
200
- <BottomSheet
201
- isVisible={isVisible}
202
- containerStyle={leavePopupStyles.container}
203
- dismissModal={onPopupDismiss}
204
- onModalHide={onPopupHide}
205
- animationOutTiming={700}
206
- >
207
- <View>
208
- <TouchableOpacity
209
- style={leavePopupStyles.button}
210
- onPress={onLeavePress}
211
- >
212
- <LeaveIcon style={leavePopupStyles.icon} />
213
-
214
- <View style={leavePopupStyles.textContainer}>
215
- <Text style={[leavePopupStyles.text, hmsRoomStyles.text]}>
216
- Leave
217
- </Text>
218
- <Text style={[leavePopupStyles.subtext, hmsRoomStyles.subtext]}>
219
- Others will continue after you leave. You can join the session
220
- again.
221
- </Text>
222
- </View>
223
- </TouchableOpacity>
224
-
225
- {canStream && isStreaming ? (
226
- <TouchableOpacity
227
- style={[leavePopupStyles.button, hmsRoomStyles.endButton]}
228
- onPress={onEndStreamPress}
229
- >
230
- <StopIcon style={[leavePopupStyles.icon, hmsRoomStyles.endIcon]} />
231
-
232
- <View style={leavePopupStyles.textContainer}>
233
- <Text style={[leavePopupStyles.text, hmsRoomStyles.endText]}>
234
- End Stream
235
- </Text>
236
- <Text
237
- style={[leavePopupStyles.subtext, hmsRoomStyles.endSubtext]}
238
- >
239
- The stream will end for everyone after they’ve watched it.
240
- </Text>
241
- </View>
242
- </TouchableOpacity>
243
- ) : canEndRoom ? (
244
- <TouchableOpacity
245
- style={[leavePopupStyles.button, hmsRoomStyles.endButton]}
246
- onPress={onEndSessionPress}
247
- >
248
- <StopIcon style={[leavePopupStyles.icon, hmsRoomStyles.endIcon]} />
249
-
250
- <View style={leavePopupStyles.textContainer}>
251
- <Text style={[leavePopupStyles.text, hmsRoomStyles.endText]}>
252
- End Session
253
- </Text>
254
- <Text
255
- style={[leavePopupStyles.subtext, hmsRoomStyles.endSubtext]}
256
- >
257
- The session will end for everyone in the room immediately.
258
- </Text>
259
- </View>
260
- </TouchableOpacity>
261
- ) : null}
262
- </View>
263
- </BottomSheet>
264
- );
265
- };
266
-
267
- const leavePopupStyles = StyleSheet.create({
268
- container: {
269
- paddingBottom: 0,
270
- },
271
- button: {
272
- flexDirection: 'row',
273
- padding: 24,
274
- },
275
- icon: {
276
- width: 24,
277
- height: 24,
278
- marginRight: 16,
279
- },
280
- textContainer: {
281
- flex: 1,
282
- },
283
- text: {
284
- fontSize: 20,
285
- lineHeight: 24,
286
- letterSpacing: 0.15,
287
- },
288
- subtext: {
289
- fontSize: 14,
290
- lineHeight: 20,
291
- letterSpacing: 0.25,
292
- marginTop: 4,
293
- },
294
- });
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { useSelector, shallowEqual } from 'react-redux';
2
+ import { useSelector } from 'react-redux';
3
3
 
4
4
  import type { RootState } from '../redux';
5
5
  import { useHMSActions } from '../hooks-sdk';
@@ -10,24 +10,31 @@ import { parseMetadata } from '../utils/functions';
10
10
  export const HMSManageRaiseHand = () => {
11
11
  const hmsActions = useHMSActions();
12
12
  const localPeerMetadata = useSelector(
13
- (state: RootState) => parseMetadata(state.hmsStates.localPeer?.metadata),
14
- shallowEqual
13
+ (state: RootState) => state.hmsStates.localPeer?.metadata
14
+ );
15
+ const parsedLocalPeerMetadata = parseMetadata(localPeerMetadata);
16
+ const isBRBOn = !!parsedLocalPeerMetadata.isBRBOn;
17
+ const isHandRaised = useSelector(
18
+ (state: RootState) => !!state.hmsStates.localPeer?.isHandRaised
15
19
  );
16
20
 
17
21
  const toggleRaiseHand = async () => {
18
- const newMetadata = {
19
- ...localPeerMetadata,
20
- isHandRaised: !localPeerMetadata.isHandRaised,
21
- isBRBOn: false,
22
- };
23
- await hmsActions.changeMetadata(newMetadata);
22
+ if (isBRBOn) {
23
+ const newMetadata = {
24
+ ...parsedLocalPeerMetadata,
25
+ isBRBOn: false,
26
+ };
27
+ await hmsActions.changeMetadata(newMetadata);
28
+ }
29
+ if (isHandRaised) {
30
+ await hmsActions.lowerLocalPeerHand();
31
+ } else {
32
+ await hmsActions.raiseLocalPeerHand();
33
+ }
24
34
  };
25
35
 
26
36
  return (
27
- <PressableIcon
28
- onPress={toggleRaiseHand}
29
- active={localPeerMetadata.isHandRaised}
30
- >
37
+ <PressableIcon onPress={toggleRaiseHand} active={isHandRaised}>
31
38
  <HandIcon />
32
39
  </PressableIcon>
33
40
  );
@@ -18,6 +18,7 @@ export interface HMSNotificationProps {
18
18
  autoDismiss?: boolean;
19
19
  dismissDelay?: number;
20
20
  cta?: React.ReactElement;
21
+ dismissable?: boolean;
21
22
  }
22
23
 
23
24
  export const HMSNotification: React.FC<HMSNotificationProps> = ({
@@ -30,6 +31,7 @@ export const HMSNotification: React.FC<HMSNotificationProps> = ({
30
31
  onDismiss,
31
32
  dismissDelay = 5000,
32
33
  autoDismiss = true,
34
+ dismissable = false,
33
35
  }) => {
34
36
  const dispatch = useDispatch();
35
37
 
@@ -45,7 +47,7 @@ export const HMSNotification: React.FC<HMSNotificationProps> = ({
45
47
 
46
48
  const dismissNotification =
47
49
  onDismiss ||
48
- (autoDismiss
50
+ (autoDismiss || dismissable
49
51
  ? () => {
50
52
  dispatch(removeNotification(id));
51
53
  }
@@ -77,7 +79,7 @@ export const HMSNotification: React.FC<HMSNotificationProps> = ({
77
79
  </View>
78
80
  );
79
81
 
80
- if (dismissNotification) {
82
+ if (dismissNotification && autoDismiss) {
81
83
  return (
82
84
  <UnmountAfterDelay
83
85
  visible={true}