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