@100mslive/react-native-room-kit 1.0.7 → 1.0.9

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 (526) hide show
  1. package/lib/commonjs/HMSContainer.js +26 -5
  2. package/lib/commonjs/HMSContainer.js.map +1 -1
  3. package/lib/commonjs/HMSRoomSetup.js +6 -8
  4. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  5. package/lib/commonjs/Icons/Chat/assets/chat-on.png +0 -0
  6. package/lib/commonjs/Icons/Chat/assets/chat-on@2x.png +0 -0
  7. package/lib/commonjs/Icons/Chat/assets/chat-on@3x.png +0 -0
  8. package/lib/commonjs/Icons/Chat/index.js +4 -3
  9. package/lib/commonjs/Icons/Chat/index.js.map +1 -1
  10. package/lib/commonjs/Icons/NoEntry/assets/no-entry.png +0 -0
  11. package/lib/commonjs/Icons/NoEntry/assets/no-entry@2x.png +0 -0
  12. package/lib/commonjs/Icons/NoEntry/assets/no-entry@3x.png +0 -0
  13. package/lib/commonjs/Icons/NoEntry/index.js +33 -0
  14. package/lib/commonjs/Icons/NoEntry/index.js.map +1 -0
  15. package/lib/commonjs/Icons/PauseCircle/assets/pause-circle.png +0 -0
  16. package/lib/commonjs/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
  17. package/lib/commonjs/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
  18. package/lib/commonjs/Icons/PauseCircle/index.js +29 -0
  19. package/lib/commonjs/Icons/PauseCircle/index.js.map +1 -0
  20. package/lib/commonjs/Icons/Pin/assets/unpin.png +0 -0
  21. package/lib/commonjs/Icons/Pin/assets/unpin@2x.png +0 -0
  22. package/lib/commonjs/Icons/Pin/assets/unpin@3x.png +0 -0
  23. package/lib/commonjs/Icons/Pin/index.js +2 -1
  24. package/lib/commonjs/Icons/Pin/index.js.map +1 -1
  25. package/lib/commonjs/Icons/Recording/assets/recording-pause.png +0 -0
  26. package/lib/commonjs/Icons/Recording/assets/recording-pause@2x.png +0 -0
  27. package/lib/commonjs/Icons/Recording/assets/recording-pause@3x.png +0 -0
  28. package/lib/commonjs/Icons/Recording/index.js.map +1 -1
  29. package/lib/commonjs/Icons/index.js +22 -0
  30. package/lib/commonjs/Icons/index.js.map +1 -1
  31. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  32. package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js +36 -0
  33. package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js.map +1 -0
  34. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +90 -23
  35. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  36. package/lib/commonjs/components/Chat/ChatFilterItem.js +10 -7
  37. package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -1
  38. package/lib/commonjs/components/Chat/ChatFilterView.js +54 -45
  39. package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -1
  40. package/lib/commonjs/components/Chat/ChatList.js +13 -6
  41. package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
  42. package/lib/commonjs/components/Chat/ChatMessage.js +79 -7
  43. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
  44. package/lib/commonjs/components/Chat/ChatMoreActionsModal.js +61 -0
  45. package/lib/commonjs/components/Chat/ChatMoreActionsModal.js.map +1 -0
  46. package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js +63 -0
  47. package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js.map +1 -0
  48. package/lib/commonjs/components/Chat/ChatMoreActionsView.js +83 -0
  49. package/lib/commonjs/components/Chat/ChatMoreActionsView.js.map +1 -0
  50. package/lib/commonjs/components/Chat/ChatPaused.js +86 -0
  51. package/lib/commonjs/components/Chat/ChatPaused.js.map +1 -0
  52. package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js +34 -0
  53. package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js.map +1 -0
  54. package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js +66 -0
  55. package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js.map +1 -0
  56. package/lib/commonjs/components/Chat/MessageOptionsView.js +188 -0
  57. package/lib/commonjs/components/Chat/MessageOptionsView.js.map +1 -0
  58. package/lib/commonjs/components/Chat/PeerBlockedFromChat.js +47 -0
  59. package/lib/commonjs/components/Chat/PeerBlockedFromChat.js.map +1 -0
  60. package/lib/commonjs/components/Chat/PinnedMessages.js +297 -0
  61. package/lib/commonjs/components/Chat/PinnedMessages.js.map +1 -0
  62. package/lib/commonjs/components/Chat/index.js +4 -4
  63. package/lib/commonjs/components/Chat/index.js.map +1 -1
  64. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  65. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +21 -2
  66. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  67. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -1
  68. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  69. package/lib/commonjs/components/ChatAndParticipants/ChatView.js +21 -2
  70. package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -1
  71. package/lib/commonjs/components/EndRoomModalContent.js +6 -9
  72. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  73. package/lib/commonjs/components/Footer.js.map +1 -1
  74. package/lib/commonjs/components/GridView.js.map +1 -1
  75. package/lib/commonjs/components/HLSView.js +8 -6
  76. package/lib/commonjs/components/HLSView.js.map +1 -1
  77. package/lib/commonjs/components/HMSBaseButton.js +10 -2
  78. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  79. package/lib/commonjs/components/HMSDangerButton.js +4 -2
  80. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  81. package/lib/commonjs/components/HMSHLSMessage.js +86 -1
  82. package/lib/commonjs/components/HMSHLSMessage.js.map +1 -1
  83. package/lib/commonjs/components/HMSHLSMessageList.js +2 -2
  84. package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
  85. package/lib/commonjs/components/HMSHandRaiseNotification.js +6 -3
  86. package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -1
  87. package/lib/commonjs/components/HMSKeyboardAvoidingView.js +5 -1
  88. package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -1
  89. package/lib/commonjs/components/HMSLiveIndicator.js +2 -6
  90. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
  91. package/lib/commonjs/components/HMSLiveViewerCount.js +8 -7
  92. package/lib/commonjs/components/HMSLiveViewerCount.js.map +1 -1
  93. package/lib/commonjs/components/HMSLocalScreenshareNotification.js +2 -1
  94. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
  95. package/lib/commonjs/components/HMSNotification.js +31 -4
  96. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  97. package/lib/commonjs/components/HMSNotifications.js +9 -2
  98. package/lib/commonjs/components/HMSNotifications.js.map +1 -1
  99. package/lib/commonjs/components/HMSOverlayChatView.js +44 -2
  100. package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -1
  101. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  102. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +2 -6
  103. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  104. package/lib/commonjs/components/HMSPrimaryButton.js +4 -2
  105. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  106. package/lib/commonjs/components/HMSRecordingIndicator.js +11 -16
  107. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
  108. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  109. package/lib/commonjs/components/HMSTerminalErrorNotification.js +6 -2
  110. package/lib/commonjs/components/HMSTerminalErrorNotification.js.map +1 -1
  111. package/lib/commonjs/components/Header.js.map +1 -1
  112. package/lib/commonjs/components/LeaveRoomBottomSheet.js +3 -6
  113. package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -1
  114. package/lib/commonjs/components/Meeting.js +3 -0
  115. package/lib/commonjs/components/Meeting.js.map +1 -1
  116. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  117. package/lib/commonjs/components/Modals.js +9 -12
  118. package/lib/commonjs/components/Modals.js.map +1 -1
  119. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +5 -1
  120. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -1
  121. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  122. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  123. package/lib/commonjs/components/Preview.js +14 -1
  124. package/lib/commonjs/components/Preview.js.map +1 -1
  125. package/lib/commonjs/components/PreviewForRoleChangeModal.js +5 -4
  126. package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -1
  127. package/lib/commonjs/components/RoomSettingsModalContent.js +15 -6
  128. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  129. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +2 -4
  130. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  131. package/lib/commonjs/components/WebrtcView.js.map +1 -1
  132. package/lib/commonjs/hooks-sdk-selectors.js +16 -1
  133. package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
  134. package/lib/commonjs/hooks-sdk.js +27 -1
  135. package/lib/commonjs/hooks-sdk.js.map +1 -1
  136. package/lib/commonjs/hooks-util-selectors.js +3 -3
  137. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  138. package/lib/commonjs/hooks-util.js +410 -64
  139. package/lib/commonjs/hooks-util.js.map +1 -1
  140. package/lib/commonjs/redux/actionTypes.js +16 -3
  141. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  142. package/lib/commonjs/redux/actions/index.js +44 -4
  143. package/lib/commonjs/redux/actions/index.js.map +1 -1
  144. package/lib/commonjs/redux/reducers/appState.js +41 -1
  145. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  146. package/lib/commonjs/redux/reducers/chatWindow.js +1 -2
  147. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
  148. package/lib/commonjs/redux/reducers/hmsStates.js +21 -8
  149. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  150. package/lib/commonjs/redux/reducers/message.js +17 -4
  151. package/lib/commonjs/redux/reducers/message.js.map +1 -1
  152. package/lib/commonjs/types.js +4 -2
  153. package/lib/commonjs/types.js.map +1 -1
  154. package/lib/commonjs/utils/types.js +3 -0
  155. package/lib/commonjs/utils/types.js.map +1 -1
  156. package/lib/commonjs/utils.js +2 -2
  157. package/lib/commonjs/utils.js.map +1 -1
  158. package/lib/module/HMSContainer.js +23 -3
  159. package/lib/module/HMSContainer.js.map +1 -1
  160. package/lib/module/HMSRoomSetup.js +7 -9
  161. package/lib/module/HMSRoomSetup.js.map +1 -1
  162. package/lib/module/Icons/Chat/assets/chat-on.png +0 -0
  163. package/lib/module/Icons/Chat/assets/chat-on@2x.png +0 -0
  164. package/lib/module/Icons/Chat/assets/chat-on@3x.png +0 -0
  165. package/lib/module/Icons/Chat/index.js +4 -3
  166. package/lib/module/Icons/Chat/index.js.map +1 -1
  167. package/lib/module/Icons/NoEntry/assets/no-entry.png +0 -0
  168. package/lib/module/Icons/NoEntry/assets/no-entry@2x.png +0 -0
  169. package/lib/module/Icons/NoEntry/assets/no-entry@3x.png +0 -0
  170. package/lib/module/Icons/NoEntry/index.js +25 -0
  171. package/lib/module/Icons/NoEntry/index.js.map +1 -0
  172. package/lib/module/Icons/PauseCircle/assets/pause-circle.png +0 -0
  173. package/lib/module/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
  174. package/lib/module/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
  175. package/lib/module/Icons/PauseCircle/index.js +21 -0
  176. package/lib/module/Icons/PauseCircle/index.js.map +1 -0
  177. package/lib/module/Icons/Pin/assets/unpin.png +0 -0
  178. package/lib/module/Icons/Pin/assets/unpin@2x.png +0 -0
  179. package/lib/module/Icons/Pin/assets/unpin@3x.png +0 -0
  180. package/lib/module/Icons/Pin/index.js +2 -1
  181. package/lib/module/Icons/Pin/index.js.map +1 -1
  182. package/lib/module/Icons/Recording/assets/recording-pause.png +0 -0
  183. package/lib/module/Icons/Recording/assets/recording-pause@2x.png +0 -0
  184. package/lib/module/Icons/Recording/assets/recording-pause@3x.png +0 -0
  185. package/lib/module/Icons/Recording/index.js.map +1 -1
  186. package/lib/module/Icons/index.js +2 -0
  187. package/lib/module/Icons/index.js.map +1 -1
  188. package/lib/module/components/BottomSheet.js.map +1 -1
  189. package/lib/module/components/Chat/ChatFilterBottomSheet.js +28 -0
  190. package/lib/module/components/Chat/ChatFilterBottomSheet.js.map +1 -0
  191. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js +93 -26
  192. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  193. package/lib/module/components/Chat/ChatFilterItem.js +11 -8
  194. package/lib/module/components/Chat/ChatFilterItem.js.map +1 -1
  195. package/lib/module/components/Chat/ChatFilterView.js +55 -46
  196. package/lib/module/components/Chat/ChatFilterView.js.map +1 -1
  197. package/lib/module/components/Chat/ChatList.js +14 -7
  198. package/lib/module/components/Chat/ChatList.js.map +1 -1
  199. package/lib/module/components/Chat/ChatMessage.js +81 -9
  200. package/lib/module/components/Chat/ChatMessage.js.map +1 -1
  201. package/lib/module/components/Chat/ChatMoreActionsModal.js +53 -0
  202. package/lib/module/components/Chat/ChatMoreActionsModal.js.map +1 -0
  203. package/lib/module/components/Chat/ChatMoreActionsSheetView.js +55 -0
  204. package/lib/module/components/Chat/ChatMoreActionsSheetView.js.map +1 -0
  205. package/lib/module/components/Chat/ChatMoreActionsView.js +75 -0
  206. package/lib/module/components/Chat/ChatMoreActionsView.js.map +1 -0
  207. package/lib/module/components/Chat/ChatPaused.js +77 -0
  208. package/lib/module/components/Chat/ChatPaused.js.map +1 -0
  209. package/lib/module/components/Chat/MessageOptionsBottomSheet.js +26 -0
  210. package/lib/module/components/Chat/MessageOptionsBottomSheet.js.map +1 -0
  211. package/lib/module/components/Chat/MessageOptionsBottomSheetView.js +58 -0
  212. package/lib/module/components/Chat/MessageOptionsBottomSheetView.js.map +1 -0
  213. package/lib/module/components/Chat/MessageOptionsView.js +180 -0
  214. package/lib/module/components/Chat/MessageOptionsView.js.map +1 -0
  215. package/lib/module/components/Chat/PeerBlockedFromChat.js +38 -0
  216. package/lib/module/components/Chat/PeerBlockedFromChat.js.map +1 -0
  217. package/lib/module/components/Chat/PinnedMessages.js +288 -0
  218. package/lib/module/components/Chat/PinnedMessages.js.map +1 -0
  219. package/lib/module/components/Chat/index.js +1 -1
  220. package/lib/module/components/Chat/index.js.map +1 -1
  221. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  222. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +24 -5
  223. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  224. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -1
  225. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  226. package/lib/module/components/ChatAndParticipants/ChatView.js +22 -3
  227. package/lib/module/components/ChatAndParticipants/ChatView.js.map +1 -1
  228. package/lib/module/components/EndRoomModalContent.js +6 -9
  229. package/lib/module/components/EndRoomModalContent.js.map +1 -1
  230. package/lib/module/components/Footer.js.map +1 -1
  231. package/lib/module/components/GridView.js.map +1 -1
  232. package/lib/module/components/HLSView.js +9 -7
  233. package/lib/module/components/HLSView.js.map +1 -1
  234. package/lib/module/components/HMSBaseButton.js +10 -2
  235. package/lib/module/components/HMSBaseButton.js.map +1 -1
  236. package/lib/module/components/HMSDangerButton.js +4 -2
  237. package/lib/module/components/HMSDangerButton.js.map +1 -1
  238. package/lib/module/components/HMSHLSMessage.js +88 -3
  239. package/lib/module/components/HMSHLSMessage.js.map +1 -1
  240. package/lib/module/components/HMSHLSMessageList.js +2 -2
  241. package/lib/module/components/HMSHLSMessageList.js.map +1 -1
  242. package/lib/module/components/HMSHandRaiseNotification.js +6 -3
  243. package/lib/module/components/HMSHandRaiseNotification.js.map +1 -1
  244. package/lib/module/components/HMSKeyboardAvoidingView.js +6 -2
  245. package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -1
  246. package/lib/module/components/HMSLiveIndicator.js +2 -6
  247. package/lib/module/components/HMSLiveIndicator.js.map +1 -1
  248. package/lib/module/components/HMSLiveViewerCount.js +8 -7
  249. package/lib/module/components/HMSLiveViewerCount.js.map +1 -1
  250. package/lib/module/components/HMSLocalScreenshareNotification.js +2 -1
  251. package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -1
  252. package/lib/module/components/HMSNotification.js +32 -5
  253. package/lib/module/components/HMSNotification.js.map +1 -1
  254. package/lib/module/components/HMSNotifications.js +9 -2
  255. package/lib/module/components/HMSNotifications.js.map +1 -1
  256. package/lib/module/components/HMSOverlayChatView.js +45 -3
  257. package/lib/module/components/HMSOverlayChatView.js.map +1 -1
  258. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  259. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +2 -6
  260. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  261. package/lib/module/components/HMSPrimaryButton.js +4 -2
  262. package/lib/module/components/HMSPrimaryButton.js.map +1 -1
  263. package/lib/module/components/HMSRecordingIndicator.js +11 -16
  264. package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
  265. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  266. package/lib/module/components/HMSTerminalErrorNotification.js +6 -2
  267. package/lib/module/components/HMSTerminalErrorNotification.js.map +1 -1
  268. package/lib/module/components/Header.js.map +1 -1
  269. package/lib/module/components/LeaveRoomBottomSheet.js +3 -6
  270. package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
  271. package/lib/module/components/Meeting.js +4 -1
  272. package/lib/module/components/Meeting.js.map +1 -1
  273. package/lib/module/components/MeetingScreenContent.js.map +1 -1
  274. package/lib/module/components/Modals.js +10 -13
  275. package/lib/module/components/Modals.js.map +1 -1
  276. package/lib/module/components/Participants/ParticipantsItemOptions.js +5 -1
  277. package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -1
  278. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  279. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  280. package/lib/module/components/Preview.js +13 -2
  281. package/lib/module/components/Preview.js.map +1 -1
  282. package/lib/module/components/PreviewForRoleChangeModal.js +5 -4
  283. package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -1
  284. package/lib/module/components/RoomSettingsModalContent.js +16 -7
  285. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  286. package/lib/module/components/RoomSettingsModalDebugModeContent.js +3 -5
  287. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  288. package/lib/module/components/WebrtcView.js.map +1 -1
  289. package/lib/module/hooks-sdk-selectors.js +12 -0
  290. package/lib/module/hooks-sdk-selectors.js.map +1 -1
  291. package/lib/module/hooks-sdk.js +23 -1
  292. package/lib/module/hooks-sdk.js.map +1 -1
  293. package/lib/module/hooks-util-selectors.js +3 -3
  294. package/lib/module/hooks-util-selectors.js.map +1 -1
  295. package/lib/module/hooks-util.js +400 -65
  296. package/lib/module/hooks-util.js.map +1 -1
  297. package/lib/module/redux/actionTypes.js +16 -3
  298. package/lib/module/redux/actionTypes.js.map +1 -1
  299. package/lib/module/redux/actions/index.js +36 -2
  300. package/lib/module/redux/actions/index.js.map +1 -1
  301. package/lib/module/redux/reducers/appState.js +41 -1
  302. package/lib/module/redux/reducers/appState.js.map +1 -1
  303. package/lib/module/redux/reducers/chatWindow.js +1 -2
  304. package/lib/module/redux/reducers/chatWindow.js.map +1 -1
  305. package/lib/module/redux/reducers/hmsStates.js +21 -8
  306. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  307. package/lib/module/redux/reducers/message.js +17 -4
  308. package/lib/module/redux/reducers/message.js.map +1 -1
  309. package/lib/module/types.js +4 -2
  310. package/lib/module/types.js.map +1 -1
  311. package/lib/module/utils/types.js +3 -0
  312. package/lib/module/utils/types.js.map +1 -1
  313. package/lib/module/utils.js +2 -2
  314. package/lib/module/utils.js.map +1 -1
  315. package/lib/typescript/HMSContainer.d.ts +1 -1
  316. package/lib/typescript/HMSContainer.d.ts.map +1 -1
  317. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  318. package/lib/typescript/Icons/Chat/index.d.ts +1 -0
  319. package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
  320. package/lib/typescript/Icons/NoEntry/index.d.ts +7 -0
  321. package/lib/typescript/Icons/NoEntry/index.d.ts.map +1 -0
  322. package/lib/typescript/Icons/PauseCircle/index.d.ts +7 -0
  323. package/lib/typescript/Icons/PauseCircle/index.d.ts.map +1 -0
  324. package/lib/typescript/Icons/Pin/index.d.ts +1 -0
  325. package/lib/typescript/Icons/Pin/index.d.ts.map +1 -1
  326. package/lib/typescript/Icons/index.d.ts +2 -0
  327. package/lib/typescript/Icons/index.d.ts.map +1 -1
  328. package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
  329. package/lib/typescript/components/Chat/ChatFilterBottomSheet.d.ts +3 -0
  330. package/lib/typescript/components/Chat/ChatFilterBottomSheet.d.ts.map +1 -0
  331. package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts +1 -0
  332. package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts.map +1 -1
  333. package/lib/typescript/components/Chat/ChatFilterItem.d.ts +1 -0
  334. package/lib/typescript/components/Chat/ChatFilterItem.d.ts.map +1 -1
  335. package/lib/typescript/components/Chat/ChatFilterView.d.ts +1 -0
  336. package/lib/typescript/components/Chat/ChatFilterView.d.ts.map +1 -1
  337. package/lib/typescript/components/Chat/ChatList.d.ts.map +1 -1
  338. package/lib/typescript/components/Chat/ChatMessage.d.ts.map +1 -1
  339. package/lib/typescript/components/Chat/ChatMoreActionsModal.d.ts +7 -0
  340. package/lib/typescript/components/Chat/ChatMoreActionsModal.d.ts.map +1 -0
  341. package/lib/typescript/components/Chat/ChatMoreActionsSheetView.d.ts +6 -0
  342. package/lib/typescript/components/Chat/ChatMoreActionsSheetView.d.ts.map +1 -0
  343. package/lib/typescript/components/Chat/ChatMoreActionsView.d.ts +7 -0
  344. package/lib/typescript/components/Chat/ChatMoreActionsView.d.ts.map +1 -0
  345. package/lib/typescript/components/Chat/ChatPaused.d.ts +10 -0
  346. package/lib/typescript/components/Chat/ChatPaused.d.ts.map +1 -0
  347. package/lib/typescript/components/Chat/MessageOptionsBottomSheet.d.ts +3 -0
  348. package/lib/typescript/components/Chat/MessageOptionsBottomSheet.d.ts.map +1 -0
  349. package/lib/typescript/components/Chat/MessageOptionsBottomSheetView.d.ts +6 -0
  350. package/lib/typescript/components/Chat/MessageOptionsBottomSheetView.d.ts.map +1 -0
  351. package/lib/typescript/components/Chat/MessageOptionsView.d.ts +7 -0
  352. package/lib/typescript/components/Chat/MessageOptionsView.d.ts.map +1 -0
  353. package/lib/typescript/components/Chat/PeerBlockedFromChat.d.ts +9 -0
  354. package/lib/typescript/components/Chat/PeerBlockedFromChat.d.ts.map +1 -0
  355. package/lib/typescript/components/Chat/PinnedMessages.d.ts +8 -0
  356. package/lib/typescript/components/Chat/PinnedMessages.d.ts.map +1 -0
  357. package/lib/typescript/components/Chat/index.d.ts +1 -1
  358. package/lib/typescript/components/Chat/index.d.ts.map +1 -1
  359. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts.map +1 -1
  360. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
  361. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts.map +1 -1
  362. package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts.map +1 -1
  363. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
  364. package/lib/typescript/components/Footer.d.ts.map +1 -1
  365. package/lib/typescript/components/GridView.d.ts.map +1 -1
  366. package/lib/typescript/components/HMSBaseButton.d.ts +1 -0
  367. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
  368. package/lib/typescript/components/HMSDangerButton.d.ts +1 -0
  369. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
  370. package/lib/typescript/components/HMSHLSMessage.d.ts +1 -1
  371. package/lib/typescript/components/HMSHLSMessage.d.ts.map +1 -1
  372. package/lib/typescript/components/HMSHandRaiseNotification.d.ts.map +1 -1
  373. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -1
  374. package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -1
  375. package/lib/typescript/components/HMSLiveViewerCount.d.ts.map +1 -1
  376. package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -1
  377. package/lib/typescript/components/HMSNotification.d.ts +2 -1
  378. package/lib/typescript/components/HMSNotification.d.ts.map +1 -1
  379. package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
  380. package/lib/typescript/components/HMSOverlayChatView.d.ts.map +1 -1
  381. package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
  382. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  383. package/lib/typescript/components/HMSPrimaryButton.d.ts +1 -0
  384. package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
  385. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
  386. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  387. package/lib/typescript/components/HMSTerminalErrorNotification.d.ts.map +1 -1
  388. package/lib/typescript/components/Header.d.ts.map +1 -1
  389. package/lib/typescript/components/LeaveRoomBottomSheet.d.ts.map +1 -1
  390. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  391. package/lib/typescript/components/MeetingScreenContent.d.ts.map +1 -1
  392. package/lib/typescript/components/Modals.d.ts.map +1 -1
  393. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -1
  394. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  395. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
  396. package/lib/typescript/components/Preview.d.ts.map +1 -1
  397. package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -1
  398. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  399. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -1
  400. package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
  401. package/lib/typescript/hooks-sdk-selectors.d.ts +3 -0
  402. package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
  403. package/lib/typescript/hooks-sdk.d.ts +4 -0
  404. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  405. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  406. package/lib/typescript/hooks-util.d.ts +35 -3
  407. package/lib/typescript/hooks-util.d.ts.map +1 -1
  408. package/lib/typescript/redux/actionTypes.d.ts +9 -2
  409. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  410. package/lib/typescript/redux/actions/index.d.ts +37 -3
  411. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  412. package/lib/typescript/redux/index.d.ts +7 -2
  413. package/lib/typescript/redux/index.d.ts.map +1 -1
  414. package/lib/typescript/redux/reducers/appState.d.ts +7 -2
  415. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  416. package/lib/typescript/redux/reducers/chatWindow.d.ts +1 -1
  417. package/lib/typescript/redux/reducers/chatWindow.d.ts.map +1 -1
  418. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  419. package/lib/typescript/redux/reducers/index.d.ts +7 -2
  420. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  421. package/lib/typescript/redux/reducers/message.d.ts +3 -2
  422. package/lib/typescript/redux/reducers/message.d.ts.map +1 -1
  423. package/lib/typescript/types.d.ts +26 -5
  424. package/lib/typescript/types.d.ts.map +1 -1
  425. package/lib/typescript/utils/types.d.ts +3 -0
  426. package/lib/typescript/utils/types.d.ts.map +1 -1
  427. package/package.json +179 -179
  428. package/src/HMSContainer.tsx +26 -5
  429. package/src/HMSRoomSetup.tsx +9 -9
  430. package/src/Icons/Chat/assets/chat-on.png +0 -0
  431. package/src/Icons/Chat/assets/chat-on@2x.png +0 -0
  432. package/src/Icons/Chat/assets/chat-on@3x.png +0 -0
  433. package/src/Icons/Chat/index.tsx +19 -6
  434. package/src/Icons/NoEntry/assets/no-entry.png +0 -0
  435. package/src/Icons/NoEntry/assets/no-entry@2x.png +0 -0
  436. package/src/Icons/NoEntry/assets/no-entry@3x.png +0 -0
  437. package/src/Icons/NoEntry/index.tsx +33 -0
  438. package/src/Icons/PauseCircle/assets/pause-circle.png +0 -0
  439. package/src/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
  440. package/src/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
  441. package/src/Icons/PauseCircle/index.tsx +27 -0
  442. package/src/Icons/Pin/assets/unpin.png +0 -0
  443. package/src/Icons/Pin/assets/unpin@2x.png +0 -0
  444. package/src/Icons/Pin/assets/unpin@3x.png +0 -0
  445. package/src/Icons/Pin/index.tsx +13 -3
  446. package/src/Icons/Recording/assets/recording-pause.png +0 -0
  447. package/src/Icons/Recording/assets/recording-pause@2x.png +0 -0
  448. package/src/Icons/Recording/assets/recording-pause@3x.png +0 -0
  449. package/src/Icons/Recording/index.tsx +2 -2
  450. package/src/Icons/index.ts +2 -0
  451. package/src/components/BottomSheet.tsx +13 -3
  452. package/src/components/Chat/ChatFilterBottomSheet.tsx +35 -0
  453. package/src/components/Chat/ChatFilterBottomSheetOpener.tsx +170 -42
  454. package/src/components/Chat/ChatFilterItem.tsx +8 -4
  455. package/src/components/Chat/ChatFilterView.tsx +102 -75
  456. package/src/components/Chat/ChatList.tsx +18 -6
  457. package/src/components/Chat/ChatMessage.tsx +111 -7
  458. package/src/components/Chat/ChatMoreActionsModal.tsx +75 -0
  459. package/src/components/Chat/ChatMoreActionsSheetView.tsx +77 -0
  460. package/src/components/Chat/ChatMoreActionsView.tsx +84 -0
  461. package/src/components/Chat/ChatPaused.tsx +103 -0
  462. package/src/components/Chat/MessageOptionsBottomSheet.tsx +33 -0
  463. package/src/components/Chat/MessageOptionsBottomSheetView.tsx +82 -0
  464. package/src/components/Chat/MessageOptionsView.tsx +248 -0
  465. package/src/components/Chat/PeerBlockedFromChat.tsx +49 -0
  466. package/src/components/Chat/PinnedMessages.tsx +422 -0
  467. package/src/components/Chat/index.ts +1 -1
  468. package/src/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.tsx +4 -1
  469. package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +48 -12
  470. package/src/components/ChatAndParticipants/ChatAndParticipantsView.tsx +9 -1
  471. package/src/components/ChatAndParticipants/ChatView.tsx +37 -5
  472. package/src/components/EndRoomModalContent.tsx +11 -14
  473. package/src/components/Footer.tsx +3 -1
  474. package/src/components/GridView.tsx +17 -8
  475. package/src/components/HLSView.tsx +45 -45
  476. package/src/components/HMSBaseButton.tsx +17 -2
  477. package/src/components/HMSDangerButton.tsx +3 -0
  478. package/src/components/HMSHLSMessage.tsx +130 -13
  479. package/src/components/HMSHLSMessageList.tsx +2 -2
  480. package/src/components/HMSHandRaiseNotification.tsx +17 -10
  481. package/src/components/HMSKeyboardAvoidingView.tsx +6 -1
  482. package/src/components/HMSLiveIndicator.tsx +9 -13
  483. package/src/components/HMSLiveViewerCount.tsx +21 -20
  484. package/src/components/HMSLocalScreenshareNotification.tsx +1 -0
  485. package/src/components/HMSNotification.tsx +56 -13
  486. package/src/components/HMSNotifications.tsx +12 -2
  487. package/src/components/HMSOverlayChatView.tsx +74 -17
  488. package/src/components/HMSPreviewEditName.tsx +3 -1
  489. package/src/components/HMSPreviewHLSLiveIndicator.tsx +2 -6
  490. package/src/components/HMSPrimaryButton.tsx +3 -0
  491. package/src/components/HMSRecordingIndicator.tsx +8 -22
  492. package/src/components/HMSRoomOptions.tsx +4 -1
  493. package/src/components/HMSTerminalErrorNotification.tsx +15 -10
  494. package/src/components/Header.tsx +4 -1
  495. package/src/components/LeaveRoomBottomSheet.tsx +13 -11
  496. package/src/components/Meeting.tsx +4 -0
  497. package/src/components/MeetingScreenContent.tsx +24 -21
  498. package/src/components/Modals.tsx +23 -25
  499. package/src/components/Participants/ParticipantsItemOptions.tsx +12 -7
  500. package/src/components/PeerSettingsModalContent.tsx +3 -1
  501. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +3 -1
  502. package/src/components/Preview.tsx +15 -2
  503. package/src/components/PreviewForRoleChangeModal.tsx +4 -3
  504. package/src/components/RoomSettingsModalContent.tsx +62 -18
  505. package/src/components/RoomSettingsModalDebugModeContent.tsx +2 -5
  506. package/src/components/WebrtcView.tsx +6 -2
  507. package/src/hooks-sdk-selectors.tsx +19 -0
  508. package/src/hooks-sdk.ts +37 -0
  509. package/src/hooks-util-selectors.tsx +2 -3
  510. package/src/hooks-util.ts +580 -90
  511. package/src/redux/actionTypes.ts +22 -2
  512. package/src/redux/actions/index.ts +41 -4
  513. package/src/redux/reducers/appState.ts +54 -5
  514. package/src/redux/reducers/chatWindow.ts +2 -2
  515. package/src/redux/reducers/hmsStates.ts +36 -13
  516. package/src/redux/reducers/message.ts +20 -6
  517. package/src/types.ts +36 -6
  518. package/src/utils/types.ts +3 -0
  519. package/src/utils.ts +2 -2
  520. package/lib/commonjs/components/Chat/PinnedMessage.js +0 -81
  521. package/lib/commonjs/components/Chat/PinnedMessage.js.map +0 -1
  522. package/lib/module/components/Chat/PinnedMessage.js +0 -72
  523. package/lib/module/components/Chat/PinnedMessage.js.map +0 -1
  524. package/lib/typescript/components/Chat/PinnedMessage.d.ts +0 -3
  525. package/lib/typescript/components/Chat/PinnedMessage.d.ts.map +0 -1
  526. package/src/components/Chat/PinnedMessage.tsx +0 -89
@@ -1,5 +1,5 @@
1
- import { HMSStreamingState } from '@100mslive/react-native-hms';
2
1
  import { JoinForm_JoinBtnType } from '@100mslive/types-prebuilt/elements/join_form';
2
+ import { selectIsHLSStreamingOn } from './hooks-sdk-selectors';
3
3
  export const selectIsHLSViewer = (role, layoutConfig) => {
4
4
  var _role$name;
5
5
  if (layoutConfig) {
@@ -19,10 +19,10 @@ export const selectLayoutConfigForRole = (layoutConfig, role) => {
19
19
  return selectedLayout || layoutConfig[0] || null;
20
20
  };
21
21
  export const selectShouldGoLive = state => {
22
- var _state$hmsStates$loca, _state$hmsStates$room, _layoutConfig$screens2, _state$hmsStates$loca2;
22
+ var _state$hmsStates$loca, _layoutConfig$screens2, _state$hmsStates$loca2;
23
23
  const currentRole = ((_state$hmsStates$loca = state.hmsStates.localPeer) === null || _state$hmsStates$loca === void 0 ? void 0 : _state$hmsStates$loca.role) || null;
24
24
  const layoutConfig = selectLayoutConfigForRole(state.hmsStates.layoutConfig, currentRole);
25
- const isHLSStreaming = ((_state$hmsStates$room = state.hmsStates.room) === null || _state$hmsStates$room === void 0 || (_state$hmsStates$room = _state$hmsStates$room.hlsStreamingState) === null || _state$hmsStates$room === void 0 ? void 0 : _state$hmsStates$room.state) === HMSStreamingState.STARTED ?? false;
25
+ const isHLSStreaming = selectIsHLSStreamingOn(state);
26
26
  const joinButtonType = (layoutConfig === null || layoutConfig === void 0 || (_layoutConfig$screens2 = layoutConfig.screens) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.preview) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.default) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.elements) === null || _layoutConfig$screens2 === void 0 || (_layoutConfig$screens2 = _layoutConfig$screens2.join_form) === null || _layoutConfig$screens2 === void 0 ? void 0 : _layoutConfig$screens2.join_btn_type) ?? JoinForm_JoinBtnType.JOIN_BTN_TYPE_JOIN_ONLY;
27
27
  const canStartHLSStreaming = joinButtonType === JoinForm_JoinBtnType.JOIN_BTN_TYPE_JOIN_AND_GO_LIVE || joinButtonType === JoinForm_JoinBtnType.JOIN_BTN_TYPE_JOIN_ONLY ?
28
28
  // can start if `joinButtonType` is `JOIN_BTN_TYPE_JOIN_AND_GO_LIVE`
@@ -1 +1 @@
1
- {"version":3,"names":["HMSStreamingState","JoinForm_JoinBtnType","selectIsHLSViewer","role","layoutConfig","_role$name","_layoutConfig$screens","screens","conferencing","hls_live_streaming","name","includes","selectLayoutConfigForRole","length","selectedLayout","find","layout","selectShouldGoLive","state","_state$hmsStates$loca","_state$hmsStates$room","_layoutConfig$screens2","_state$hmsStates$loca2","currentRole","hmsStates","localPeer","isHLSStreaming","room","hlsStreamingState","STARTED","joinButtonType","preview","default","elements","join_form","join_btn_type","JOIN_BTN_TYPE_JOIN_ONLY","canStartHLSStreaming","JOIN_BTN_TYPE_JOIN_AND_GO_LIVE","permissions","hlsStreaming","selectChatLayoutConfig","_layoutConfig$screens3","_screenOptions$elemen","conferencingConfig","screenOptions","chat","selectVideoTileLayoutConfig","_layoutConfig$screens4","video_tile_layout","selectConferencingScreenConfig","_layoutConfig$screens5"],"sourceRoot":"../../src","sources":["hooks-util-selectors.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["JoinForm_JoinBtnType","selectIsHLSStreamingOn","selectIsHLSViewer","role","layoutConfig","_role$name","_layoutConfig$screens","screens","conferencing","hls_live_streaming","name","includes","selectLayoutConfigForRole","length","selectedLayout","find","layout","selectShouldGoLive","state","_state$hmsStates$loca","_layoutConfig$screens2","_state$hmsStates$loca2","currentRole","hmsStates","localPeer","isHLSStreaming","joinButtonType","preview","default","elements","join_form","join_btn_type","JOIN_BTN_TYPE_JOIN_ONLY","canStartHLSStreaming","JOIN_BTN_TYPE_JOIN_AND_GO_LIVE","permissions","hlsStreaming","selectChatLayoutConfig","_layoutConfig$screens3","_screenOptions$elemen","conferencingConfig","screenOptions","chat","selectVideoTileLayoutConfig","_layoutConfig$screens4","video_tile_layout","selectConferencingScreenConfig","_layoutConfig$screens5"],"sourceRoot":"../../src","sources":["hooks-util-selectors.tsx"],"mappings":"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"}
@@ -5,9 +5,10 @@ import { SoftInputModes } from '@100mslive/react-native-hms';
5
5
  import Toast from 'react-native-simple-toast';
6
6
  import { useRef, useCallback, useEffect, useState, useMemo, useContext } from 'react';
7
7
  import { MaxTilesInOnePage, ModalTypes, OnLeaveReason, PeerListRefreshInterval, PipModes } from './utils/types';
8
- import { createPeerTrackNode } from './utils/functions';
8
+ import { ChatBroadcastFilter } from './utils/types';
9
+ import { createPeerTrackNode, parseMetadata } from './utils/functions';
9
10
  import { batch, shallowEqual, useDispatch, useSelector, useStore } from 'react-redux';
10
- import { addMessage, addNotification, addParticipant, addParticipants, addPinnedMessage, addScreenshareTile, addUpdateParticipant, changeMeetingState, changePipModeStatus, changeStartingHLSStream, clearStore, removeNotification, removeParticipant, removeParticipants, removeScreenshareTile, replaceParticipantsList, saveUserData, setActiveChatBottomSheetTab, setActiveSpeakers, setAutoEnterPipMode, setEditUsernameDisabled, setFullScreenPeerTrackNode, setHMSLocalPeerState, setHMSRoleState, setHMSRoomState, setHandleBackButton, setIsLocalAudioMutedState, setIsLocalVideoMutedState, setLayoutConfig, setLocalPeerTrackNode, setMiniViewPeerTrackNode, setModalType, setOnLeaveHandler, setPrebuiltData, setReconnecting, setRoleChangeRequest, setStartingOrStoppingRecording, updateFullScreenPeerTrackNode, updateLocalPeerTrackNode, updateMiniViewPeerTrackNode, updateScreenshareTile } from './redux/actions';
11
+ import { addMessage, addNotification, addParticipant, addParticipants, addPinnedMessages, addScreenshareTile, addUpdateParticipant, changeMeetingState, changePipModeStatus, changeStartingHLSStream, clearStore, filterOutMsgsFromBlockedPeers, removeNotification, removeParticipant, removeParticipants, removeScreenshareTile, replaceParticipantsList, saveUserData, setActiveChatBottomSheetTab, setActiveSpeakers, setAutoEnterPipMode, setChatPeerBlacklist, setChatState, setEditUsernameDisabled, setFullScreenPeerTrackNode, setHMSLocalPeerState, setHMSRoleState, setHMSRoomState, setHandleBackButton, setIsLocalAudioMutedState, setIsLocalVideoMutedState, setLayoutConfig, setLocalPeerTrackNode, setMiniViewPeerTrackNode, setModalType, setOnLeaveHandler, setPrebuiltData, setReconnecting, setRoleChangeRequest, setStartingOrStoppingRecording, updateFullScreenPeerTrackNode, updateLocalPeerTrackNode, updateMiniViewPeerTrackNode, updateScreenshareTile } from './redux/actions';
11
12
  import { createPeerTrackNodeUniqueId, degradeOrRestorePeerTrackNodes, peerTrackNodeExistForPeer, peerTrackNodeExistForPeerAndTrack, removePeerTrackNodes, removePeerTrackNodesWithTrack, replacePeerTrackNodes, replacePeerTrackNodesWithTrack } from './peerTrackNodeUtils';
12
13
  import { MeetingState } from './types';
13
14
  import { BackHandler, InteractionManager, Keyboard, Platform } from 'react-native';
@@ -18,6 +19,7 @@ import { getRoomLayout } from './modules/HMSManager';
18
19
  import { DEFAULT_THEME, DEFAULT_TYPOGRAPHY } from './utils/theme';
19
20
  import { NotificationTypes } from './types';
20
21
  import { KeyboardState, useSharedValue } from 'react-native-reanimated';
22
+ import { useHMSActions } from './hooks-sdk';
21
23
  export const useHMSListeners = setPeerTrackNodes => {
22
24
  const hmsInstance = useHMSInstance();
23
25
  const updateLocalPeer = useUpdateHMSLocalPeer(hmsInstance);
@@ -57,7 +59,7 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
57
59
  // const inMeeting = useSelector(
58
60
  // (state: RootState) => state.app.meetingState === MeetingState.IN_MEETING
59
61
  // );
60
-
62
+ const hmsActions = useHMSActions();
61
63
  useEffect(() => {
62
64
  const peerUpdateHandler = ({
63
65
  peer,
@@ -105,6 +107,7 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
105
107
  const fullScreenPeerTrackNode = reduxState.app.fullScreenPeerTrackNode;
106
108
  const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
107
109
  const localPeerTrackNode = reduxState.app.localPeerTrackNode;
110
+ const initialRole = reduxState.app.initialRole;
108
111
 
109
112
  // Currently Applied Layout config
110
113
  const currentLayoutConfig = selectLayoutConfigForRole(reduxState.hmsStates.layoutConfig, peer.role || null);
@@ -159,12 +162,36 @@ const useHMSPeersUpdate = (hmsInstance, updateLocalPeer, setPeerTrackNodes) => {
159
162
  // - TODO: update local localPeer state
160
163
  // - Pass this updated data to Meeting component -> DisplayView component
161
164
  updateLocalPeer();
165
+ if (type === HMSPeerUpdate.ROLE_CHANGED) {
166
+ const parsedLocalPeerMetadata = parseMetadata(peer.metadata);
167
+ if (parsedLocalPeerMetadata.prevRole !== initialRole) {
168
+ const newMetadata = {
169
+ ...parsedLocalPeerMetadata,
170
+ prevRole: initialRole === null || initialRole === void 0 ? void 0 : initialRole.name
171
+ };
172
+ hmsActions.changeMetadata(newMetadata).then(r => {
173
+ console.log('Metadata changed successfully', r);
174
+ }).catch(e => {
175
+ console.log('Metadata change failed', e);
176
+ });
177
+ }
178
+ }
162
179
  return;
163
180
  }
164
181
  if (type === HMSPeerUpdate.ROLE_CHANGED) {
165
182
  var _peer$role2, _peer$role3, _peer$role4, _peer$role5, _peer$role6, _peer$role7, _peer$role8, _peer$role9, _peer$role10;
166
183
  dispatch(addUpdateParticipant(peer));
167
184
 
185
+ // saving current role in peer metadata,
186
+ // so that when peer is removed from stage, we can assign previous role to it.
187
+ // if (localPeerRoleName) {
188
+ // const newMetadata = {
189
+ // ...localPeerMetadata,
190
+ // prevRole: localPeerRoleName,
191
+ // };
192
+ // await hmsActions.changeMetadata(newMetadata);
193
+ // }
194
+
168
195
  // Handling regular tiles list
169
196
  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
197
  setPeerTrackNodes(prevPeerTrackNodes => {
@@ -624,6 +651,7 @@ export const useHMSRoleChangeRequest = (callback, deps) => {
624
651
  }, [...(deps || []), hmsInstance]);
625
652
  };
626
653
  export const useHMSSessionStoreListeners = gridViewRef => {
654
+ const store = useStore();
627
655
  const dispatch = useDispatch();
628
656
  const hmsSessionStore = useSelector(state => state.user.hmsSessionStore);
629
657
  const sessionStoreListenersRef = useRef([]);
@@ -635,21 +663,79 @@ export const useHMSSessionStoreListeners = gridViewRef => {
635
663
  const addSessionStoreListeners = () => {
636
664
  // Handle 'spotlight' key values
637
665
  const handleSpotlightIdChange = id => {
638
- var _gridViewRef$current;
639
- // set value to the state to rerender the component to reflect changes
640
- dispatch(saveUserData({
641
- spotlightTrackId: id
642
- }));
643
- // Scroll to start of the list
644
- (_gridViewRef$current = gridViewRef.current) === null || _gridViewRef$current === void 0 || (_gridViewRef$current = _gridViewRef$current.getRegularTilesFlatlistRef().current) === null || _gridViewRef$current === void 0 || _gridViewRef$current.scrollToOffset({
645
- animated: true,
646
- offset: 0
647
- });
666
+ if (id === null || id === undefined || typeof id === 'string') {
667
+ var _gridViewRef$current;
668
+ // set value to the state to rerender the component to reflect changes
669
+ dispatch(saveUserData({
670
+ spotlightTrackId: id
671
+ }));
672
+ // Scroll to start of the list
673
+ (_gridViewRef$current = gridViewRef.current) === null || _gridViewRef$current === void 0 || (_gridViewRef$current = _gridViewRef$current.getRegularTilesFlatlistRef().current) === null || _gridViewRef$current === void 0 || _gridViewRef$current.scrollToOffset({
674
+ animated: true,
675
+ offset: 0
676
+ });
677
+ }
648
678
  };
649
679
 
650
- // Handle 'pinnedMessage' key values
651
- const handlePinnedMessageChange = data => {
652
- dispatch(addPinnedMessage(data));
680
+ // Handle 'pinnedMessages' key values
681
+ const handlePinnedMessagesChange = data => {
682
+ if (Array.isArray(data)) {
683
+ dispatch(addPinnedMessages(data));
684
+ }
685
+ };
686
+
687
+ // Handle 'chatState' key values
688
+ const handleChatStateChange = data => {
689
+ try {
690
+ var _reduxState$hmsStates3;
691
+ if (typeof data !== 'object' || Array.isArray(data) || data === null) {
692
+ throw new Error('`data` is a falsy value');
693
+ }
694
+ if (!('enabled' in data)) {
695
+ throw new Error("`data` doesn't have `enabled` property");
696
+ }
697
+ const parsedData = data;
698
+ const reduxState = store.getState();
699
+ const currentChatState = reduxState.app.chatState;
700
+ if (parsedData.enabled === (currentChatState === null || currentChatState === void 0 ? void 0 : currentChatState.enabled)) {
701
+ return;
702
+ }
703
+ const currentLayoutConfig = selectLayoutConfigForRole(reduxState.hmsStates.layoutConfig, ((_reduxState$hmsStates3 = reduxState.hmsStates.localPeer) === null || _reduxState$hmsStates3 === void 0 ? void 0 : _reduxState$hmsStates3.role) ?? null);
704
+ const chatLayoutConfig = selectChatLayoutConfig(currentLayoutConfig);
705
+ const isAllowedToSendMessage = ((chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.private_chat_enabled) || (chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.public_chat_enabled) || (chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.roles_whitelist) && (chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.roles_whitelist.length) > 0) ?? false;
706
+ batch(() => {
707
+ if (isAllowedToSendMessage && (
708
+ // Only show notification when allowed to send message, AND
709
+ !parsedData.enabled ||
710
+ // Chat is Paused, OR
711
+ currentChatState && parsedData.enabled !== currentChatState.enabled) // current Chat state is different from previous state
712
+ ) {
713
+ dispatch(addNotification({
714
+ id: `chat-state-enabled-${Math.random().toString(16).slice(2)}`,
715
+ icon: parsedData.enabled ? 'chat-on' : 'chat-off',
716
+ type: NotificationTypes.INFO,
717
+ title: `Chat ${parsedData.enabled ? 'Resumed' : 'Paused'}`,
718
+ message: `Chat ${parsedData.enabled ? 'resumed' : 'paused'} ${parsedData.updatedBy ? `by ${parsedData.updatedBy.userName}` : ''}`
719
+ }));
720
+ }
721
+ dispatch(setChatState(parsedData));
722
+ });
723
+ } catch (error) {
724
+ dispatch(setChatState(null));
725
+ }
726
+ };
727
+
728
+ // Handle 'chatPeerBlacklist' key values
729
+ const handleChatPeerBlacklistChange = data => {
730
+ // Whenever list changes :
731
+ // - check if local peer is blocked or unblocked
732
+ // - filter out messages of blocked peers
733
+ if (Array.isArray(data)) {
734
+ batch(() => {
735
+ dispatch(setChatPeerBlacklist(data));
736
+ dispatch(filterOutMsgsFromBlockedPeers(data));
737
+ });
738
+ }
653
739
  };
654
740
 
655
741
  // Getting value for 'spotlight' key by using `get` method on HMSSessionStore instance
@@ -658,20 +744,32 @@ export const useHMSSessionStoreListeners = gridViewRef => {
658
744
  handleSpotlightIdChange(data);
659
745
  }).catch(error => console.log('Session Store get `spotlight` key value error: ', error));
660
746
 
661
- // Getting value for 'pinnedMessage' key by using `get` method on HMSSessionStore instance
662
- hmsSessionStore.get('pinnedMessage').then(data => {
663
- console.log('Session Store get `pinnedMessage` key value success: ', data);
664
- handlePinnedMessageChange(data);
665
- }).catch(error => console.log('Session Store get `pinnedMessage` key value error: ', error));
747
+ // Getting value for 'pinnedMessages' key by using `get` method on HMSSessionStore instance
748
+ hmsSessionStore.get('pinnedMessages').then(data => {
749
+ console.log('Session Store get `pinnedMessages` key value success: ', data);
750
+ handlePinnedMessagesChange(data);
751
+ }).catch(error => console.log('Session Store get `pinnedMessages` key value error: ', error));
752
+
753
+ // Getting value for 'chatState' key by using `get` method on HMSSessionStore instance
754
+ hmsSessionStore.get('chatState').then(data => {
755
+ console.log('Session Store get `chatState` key value success: ', data);
756
+ handleChatStateChange(data);
757
+ }).catch(error => console.log('Session Store get `chatState` key value error: ', error));
758
+
759
+ // Getting value for 'chatPeerBlacklist' key by using `get` method on HMSSessionStore instance
760
+ hmsSessionStore.get('chatPeerBlacklist').then(data => {
761
+ console.log('Session Store get `chatPeerBlacklist` key value success: ', data);
762
+ handleChatPeerBlacklistChange(data);
763
+ }).catch(error => console.log('Session Store get `chatPeerBlacklist` key value error: ', error));
666
764
 
667
765
  // let lastSpotlightValue: HMSSessionStoreValue = null;
668
766
  // let lastPinnedMessageValue: HMSSessionStoreValue = null;
669
767
 
670
- // Add subscription for `spotlight` & `pinnedMessage` keys updates on Session Store
671
- const subscription = hmsSessionStore.addKeyChangeListener(['spotlight', 'pinnedMessage'], (error, data) => {
768
+ // Add subscription for `spotlight`, `pinnedMessages`, `chatState` & `chatPeerBlacklist` keys updates on Session Store
769
+ const subscription = hmsSessionStore.addKeyChangeListener(['spotlight', 'pinnedMessages', 'chatState', 'chatPeerBlacklist'], (error, data) => {
672
770
  // If error occurs, handle error and return early
673
771
  if (error !== null) {
674
- console.log('`spotlight` & `pinnedMessage` key listener Error -> ', error);
772
+ console.log('`spotlight`, `pinnedMessages`, `chatState` & `chatPeerBlacklist` key listener Error -> ', error);
675
773
  return;
676
774
  }
677
775
 
@@ -681,44 +779,21 @@ export const useHMSSessionStoreListeners = gridViewRef => {
681
779
  case 'spotlight':
682
780
  {
683
781
  handleSpotlightIdChange(data.value);
684
-
685
- // Showing Toast message if value has actually changed
686
- // if (
687
- // data.value !== lastSpotlightValue &&
688
- // (data.value || lastSpotlightValue)
689
- // ) {
690
- // Toast.showWithGravity(
691
- // `SessionStore: \`spotlight\` key's value changed to ${data.value}`,
692
- // Toast.LONG,
693
- // Toast.TOP
694
- // );
695
- // }
696
-
697
- // lastSpotlightValue = data.value;
698
782
  break;
699
783
  }
700
- case 'pinnedMessage':
784
+ case 'pinnedMessages':
701
785
  {
702
- handlePinnedMessageChange(data.value);
703
-
704
- // Showing Toast message if value has actually changed
705
- // if (
706
- // data.value !== lastPinnedMessageValue &&
707
- // (data.value || lastPinnedMessageValue)
708
- // ) {
709
- // if (toastTimeoutId !== null) {
710
- // clearTimeout(toastTimeoutId);
711
- // }
712
- // toastTimeoutId = setTimeout(() => {
713
- // Toast.showWithGravity(
714
- // `SessionStore: \`pinnedMessage\` key's value changed to ${data.value}`,
715
- // Toast.LONG,
716
- // Toast.TOP
717
- // );
718
- // }, 1500);
719
- // }
720
-
721
- // lastPinnedMessageValue = data.value;
786
+ handlePinnedMessagesChange(data.value);
787
+ break;
788
+ }
789
+ case 'chatState':
790
+ {
791
+ handleChatStateChange(data.value);
792
+ break;
793
+ }
794
+ case 'chatPeerBlacklist':
795
+ {
796
+ handleChatPeerBlacklistChange(data.value);
722
797
  break;
723
798
  }
724
799
  }
@@ -736,7 +811,7 @@ export const useHMSSessionStoreListeners = gridViewRef => {
736
811
  // if (toastTimeoutId !== null) clearTimeout(toastTimeoutId);
737
812
  };
738
813
  }
739
- }, [hmsSessionStore]);
814
+ }, [store, hmsSessionStore]);
740
815
  };
741
816
  export const useHMSSessionStore = () => {
742
817
  const hmsInstance = useHMSInstance();
@@ -1367,14 +1442,13 @@ export const useLeaveMethods = () => {
1367
1442
 
1368
1443
  const onLeave = reduxStore.getState().user.onLeave;
1369
1444
  if (typeof onLeave === 'function') {
1445
+ dispatch(changeMeetingState(MeetingState.EXITED));
1370
1446
  onLeave(reason);
1371
- dispatch(clearStore());
1372
1447
  } else if (navigation && typeof navigation.canGoBack === 'function' && navigation.canGoBack()) {
1448
+ dispatch(changeMeetingState(MeetingState.EXITED));
1373
1449
  navigation.goBack();
1374
- dispatch(clearStore());
1375
1450
  } else {
1376
1451
  // Otherwise default action is to show "Meeting Ended" screen
1377
- dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
1378
1452
  dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
1379
1453
  }
1380
1454
  } catch (e) {
@@ -1491,7 +1565,7 @@ export const useSendMessage = () => {
1491
1565
  const chatWindowState = reduxStore.getState().chatWindow;
1492
1566
  const message = chatWindowState.typedMessage;
1493
1567
  const sendingTo = chatWindowState.sendTo;
1494
- if (message.length <= 0) return;
1568
+ if (message.length <= 0 || !sendingTo) return;
1495
1569
  const hmsMessageRecipient = new HMSMessageRecipient({
1496
1570
  recipientType: 'publishSettings' in sendingTo ? HMSMessageRecipientType.ROLES : 'peerID' in sendingTo ? HMSMessageRecipientType.PEER : HMSMessageRecipientType.BROADCAST,
1497
1571
  recipientPeer: 'peerID' in sendingTo ? sendingTo : undefined,
@@ -1543,6 +1617,42 @@ export const useSendMessage = () => {
1543
1617
  sendMessage
1544
1618
  };
1545
1619
  };
1620
+ export const useHMSCanDisableChat = () => {
1621
+ return useHMSChatLayoutConfig(chatLayoutConfig => {
1622
+ var _chatLayoutConfig$rea;
1623
+ return (chatLayoutConfig === null || chatLayoutConfig === void 0 || (_chatLayoutConfig$rea = chatLayoutConfig.real_time_controls) === null || _chatLayoutConfig$rea === void 0 ? void 0 : _chatLayoutConfig$rea.can_disable_chat) ?? false;
1624
+ });
1625
+ };
1626
+ export const useHMSChatRecipientSelector = () => {
1627
+ const roles = useSelector(state => state.hmsStates.roles);
1628
+ const defaultChatRecipient = useMemo(() => ({
1629
+ privateChat: false,
1630
+ publicChat: false,
1631
+ roles: []
1632
+ }), []);
1633
+ const chatLayoutConfig = useHMSChatLayoutConfig(_chatLayoutConfig => _chatLayoutConfig);
1634
+ const rolesWhitelist = chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.roles_whitelist;
1635
+ const whitelistedRoles = useMemo(() => {
1636
+ if (!rolesWhitelist) {
1637
+ return defaultChatRecipient.roles;
1638
+ }
1639
+ return rolesWhitelist.map(roleStr => roles.find(role => role.name === roleStr)).filter(role => !!role);
1640
+ }, [roles, rolesWhitelist, defaultChatRecipient]);
1641
+ const privateChat = (chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.private_chat_enabled) ?? defaultChatRecipient.privateChat;
1642
+ const publicChat = (chatLayoutConfig === null || chatLayoutConfig === void 0 ? void 0 : chatLayoutConfig.public_chat_enabled) ?? defaultChatRecipient.publicChat;
1643
+ if (chatLayoutConfig) {
1644
+ return {
1645
+ privateChat,
1646
+ publicChat,
1647
+ roles: whitelistedRoles
1648
+ };
1649
+ }
1650
+ return defaultChatRecipient;
1651
+ };
1652
+ export const useIsAllowedToSendMessage = () => {
1653
+ const chatRecipients = useHMSChatRecipientSelector();
1654
+ return chatRecipients.privateChat || chatRecipients.publicChat || chatRecipients.roles.length > 0;
1655
+ };
1546
1656
  export const useHMSChatLayoutConfig = (selector, equalityFn) => {
1547
1657
  return useHMSLayoutConfig(layoutConfig => {
1548
1658
  const chatConfig = selectChatLayoutConfig(layoutConfig);
@@ -1633,7 +1743,7 @@ export const useStartRecording = () => {
1633
1743
  dispatch(addNotification({
1634
1744
  id: Math.random().toString(16).slice(2),
1635
1745
  type: NotificationTypes.ERROR,
1636
- message: error.message
1746
+ title: error.message
1637
1747
  }));
1638
1748
  });
1639
1749
  });
@@ -1642,6 +1752,152 @@ export const useStartRecording = () => {
1642
1752
  startRecording
1643
1753
  };
1644
1754
  };
1755
+ export const useHMSChatState = () => {
1756
+ const hmsSessionStore = useSelector(state => state.user.hmsSessionStore);
1757
+ const localPeerName = useSelector(state => {
1758
+ var _state$hmsStates$loca4;
1759
+ return (_state$hmsStates$loca4 = state.hmsStates.localPeer) === null || _state$hmsStates$loca4 === void 0 ? void 0 : _state$hmsStates$loca4.name;
1760
+ });
1761
+ const localPeerID = useSelector(state => {
1762
+ var _state$hmsStates$loca5;
1763
+ return (_state$hmsStates$loca5 = state.hmsStates.localPeer) === null || _state$hmsStates$loca5 === void 0 ? void 0 : _state$hmsStates$loca5.peerID;
1764
+ });
1765
+ const localPeerUserID = useSelector(state => {
1766
+ var _state$hmsStates$loca6;
1767
+ return (_state$hmsStates$loca6 = state.hmsStates.localPeer) === null || _state$hmsStates$loca6 === void 0 ? void 0 : _state$hmsStates$loca6.customerUserID;
1768
+ });
1769
+ const _chatState = useSelector(state => state.app.chatState);
1770
+ const chatState = useMemo(() => _chatState || {
1771
+ enabled: true
1772
+ }, [_chatState]);
1773
+ const setChatState = useCallback(async enabled => {
1774
+ // If instance of HMSSessionStore is available
1775
+ if (hmsSessionStore) {
1776
+ try {
1777
+ const value = {
1778
+ enabled,
1779
+ updatedBy: {
1780
+ peerID: localPeerID ?? null,
1781
+ userID: localPeerUserID ?? null,
1782
+ userName: localPeerName ?? ''
1783
+ },
1784
+ updatedAt: Date.now()
1785
+ };
1786
+ // set `value` on `session` with key 'chatState'
1787
+ const response = await hmsSessionStore.set(value, 'chatState');
1788
+ console.log('setSessionMetaData Response -> ', response);
1789
+ } catch (error) {
1790
+ console.log('setSessionMetaData Error -> ', error);
1791
+ }
1792
+ }
1793
+ }, [localPeerName, hmsSessionStore, localPeerUserID, localPeerID]);
1794
+ return {
1795
+ chatState,
1796
+ setChatState
1797
+ };
1798
+ };
1799
+ export const useIsMessagePinned = message => {
1800
+ return useSelector(state => message ? state.messages.pinnedMessages.findIndex(pinnedMessage => pinnedMessage.id === message.messageId) >= 0 : false);
1801
+ };
1802
+ export const useHMSMessagePinningActions = () => {
1803
+ const store = useStore();
1804
+ const hmsSessionStore = useSelector(state => state.user.hmsSessionStore);
1805
+ const pinMessage = useCallback(async message => {
1806
+ let messages = message;
1807
+ if (!Array.isArray(messages)) {
1808
+ messages = [messages];
1809
+ }
1810
+
1811
+ // If instance of HMSSessionStore is available
1812
+ if (hmsSessionStore) {
1813
+ try {
1814
+ var _reduxState$hmsStates4;
1815
+ const reduxState = store.getState();
1816
+ const localPeerName = (_reduxState$hmsStates4 = reduxState.hmsStates.localPeer) === null || _reduxState$hmsStates4 === void 0 ? void 0 : _reduxState$hmsStates4.name;
1817
+ const pinnedMessages = reduxState.messages.pinnedMessages;
1818
+ let payload = messages.map(message => {
1819
+ var _message$sender2, _message$sender3;
1820
+ return {
1821
+ authorId: ((_message$sender2 = message.sender) === null || _message$sender2 === void 0 ? void 0 : _message$sender2.customerUserID) ?? '',
1822
+ id: message.messageId,
1823
+ pinnedBy: localPeerName ?? '',
1824
+ text: `${(_message$sender3 = message.sender) === null || _message$sender3 === void 0 ? void 0 : _message$sender3.name}: ${message.message}`
1825
+ };
1826
+ });
1827
+ let updatedPinnedMessages = [...pinnedMessages, ...payload];
1828
+ if (updatedPinnedMessages.length > 3) {
1829
+ updatedPinnedMessages = updatedPinnedMessages.slice(updatedPinnedMessages.length - 3);
1830
+ }
1831
+ const response = await hmsSessionStore.set(updatedPinnedMessages, 'pinnedMessages');
1832
+ console.log('setSessionMetaData Response -> ', response);
1833
+ } catch (error) {
1834
+ console.log('setSessionMetaData Error -> ', error);
1835
+ return Promise.reject(error);
1836
+ }
1837
+ }
1838
+ }, [hmsSessionStore]);
1839
+ const unpinMessage = useCallback(async message => {
1840
+ let messages = message;
1841
+ if (!Array.isArray(messages)) {
1842
+ messages = [messages];
1843
+ }
1844
+
1845
+ // If instance of HMSSessionStore is available
1846
+ if (hmsSessionStore) {
1847
+ try {
1848
+ const pinnedMessages = store.getState().messages.pinnedMessages;
1849
+ const messageIdsToUnpin = messages.map(msg => 'messageId' in msg ? msg.messageId : msg.id);
1850
+ const updatedPinnedMessages = pinnedMessages.filter(pinnedMessage => !messageIdsToUnpin.includes(pinnedMessage.id));
1851
+ const response = await hmsSessionStore.set(updatedPinnedMessages, 'pinnedMessages');
1852
+ console.log('setSessionMetaData Response -> ', response);
1853
+ } catch (error) {
1854
+ console.log('setSessionMetaData Error -> ', error);
1855
+ return Promise.reject(error);
1856
+ }
1857
+ }
1858
+ }, [hmsSessionStore]);
1859
+ return {
1860
+ pinMessage,
1861
+ unpinMessage
1862
+ };
1863
+ };
1864
+ export const useSetDefaultChatRecipient = () => {
1865
+ const dispatch = useDispatch();
1866
+ const localPeerRoleName = useSelector(state => {
1867
+ var _state$hmsStates$loca7;
1868
+ return (_state$hmsStates$loca7 = state.hmsStates.localPeer) === null || _state$hmsStates$loca7 === void 0 || (_state$hmsStates$loca7 = _state$hmsStates$loca7.role) === null || _state$hmsStates$loca7 === void 0 ? void 0 : _state$hmsStates$loca7.name;
1869
+ });
1870
+ const {
1871
+ privateChat,
1872
+ publicChat,
1873
+ roles: whitelistedRoles
1874
+ } = useHMSChatRecipientSelector();
1875
+ useEffect(() => {
1876
+ if (publicChat) {
1877
+ dispatch({
1878
+ type: 'SET_SENDTO',
1879
+ sendTo: ChatBroadcastFilter
1880
+ });
1881
+ }
1882
+ // If Role is enabled, Select a role
1883
+ else if (Array.isArray(whitelistedRoles) && whitelistedRoles.length > 0) {
1884
+ const roleObj = whitelistedRoles.length === 1 ? whitelistedRoles[0] : whitelistedRoles.filter(whitelistRole => whitelistRole.name !== localPeerRoleName)[0];
1885
+ if (roleObj) {
1886
+ dispatch({
1887
+ type: 'SET_SENDTO',
1888
+ sendTo: roleObj
1889
+ });
1890
+ }
1891
+ }
1892
+ // If private is enabled, Select None
1893
+ else if (privateChat) {
1894
+ dispatch({
1895
+ type: 'SET_SENDTO',
1896
+ sendTo: null
1897
+ });
1898
+ }
1899
+ }, [privateChat, publicChat, whitelistedRoles, localPeerRoleName, dispatch]);
1900
+ };
1645
1901
  export const useAndroidSoftInputAdjustResize = () => {
1646
1902
  const currentSoftInputRef = useRef(null);
1647
1903
  useEffect(() => {
@@ -1708,4 +1964,83 @@ export const useKeyboardState = () => {
1708
1964
  keyboardState
1709
1965
  };
1710
1966
  };
1967
+ export const useAllowPinningMessage = () => {
1968
+ return useHMSChatLayoutConfig(config => (config === null || config === void 0 ? void 0 : config.allow_pinning_messages) ?? false);
1969
+ };
1970
+ export const useIsLocalPeerBlockedFromChat = () => {
1971
+ return useSelector(state => {
1972
+ var _state$hmsStates$loca8;
1973
+ const chatPeerBlacklist = state.app.chatPeerBlacklist;
1974
+ const localPeerUserId = (_state$hmsStates$loca8 = state.hmsStates.localPeer) === null || _state$hmsStates$loca8 === void 0 ? void 0 : _state$hmsStates$loca8.customerUserID;
1975
+ return localPeerUserId ? chatPeerBlacklist.includes(localPeerUserId) : false;
1976
+ });
1977
+ };
1978
+ export const useIsPeerBlocked = peer => {
1979
+ return useSelector(state => {
1980
+ const chatPeerBlacklist = state.app.chatPeerBlacklist;
1981
+ const localPeerUserId = peer === null || peer === void 0 ? void 0 : peer.customerUserID;
1982
+ return localPeerUserId ? chatPeerBlacklist.includes(localPeerUserId) : false;
1983
+ });
1984
+ };
1985
+ export const useBlockPeerActions = () => {
1986
+ const store = useStore();
1987
+ const hmsSessionStore = useSelector(state => state.user.hmsSessionStore);
1988
+ const {
1989
+ unpinMessage
1990
+ } = useHMSMessagePinningActions();
1991
+ const blockPeer = useCallback(async peer => {
1992
+ // If instance of HMSSessionStore is available
1993
+ if (hmsSessionStore) {
1994
+ try {
1995
+ const reduxState = store.getState();
1996
+ const chatPeerBlacklist = reduxState.app.chatPeerBlacklist;
1997
+ const pinnedMessages = reduxState.messages.pinnedMessages;
1998
+ if (peer.customerUserID && !chatPeerBlacklist.includes(peer.customerUserID)) {
1999
+ let updatedChatPeerBlacklist = [...chatPeerBlacklist, peer.customerUserID];
2000
+ const response = await hmsSessionStore.set(updatedChatPeerBlacklist, 'chatPeerBlacklist');
2001
+ console.log('setSessionMetaData Response -> ', response);
2002
+
2003
+ // Unpin messages from sent by the peer
2004
+ const msgsToUnpin = pinnedMessages.filter(pinnedMessage => pinnedMessage.authorId === peer.customerUserID);
2005
+ if (msgsToUnpin.length > 0) {
2006
+ await unpinMessage(msgsToUnpin);
2007
+ }
2008
+ return response;
2009
+ }
2010
+ return Promise.reject('Peer is already blocked!');
2011
+ } catch (error) {
2012
+ console.log('setSessionMetaData Error -> ', error);
2013
+ return Promise.reject(error);
2014
+ }
2015
+ }
2016
+ }, [hmsSessionStore, unpinMessage]);
2017
+ const unblockPeer = useCallback(async peer => {
2018
+ // If instance of HMSSessionStore is available
2019
+ if (hmsSessionStore) {
2020
+ try {
2021
+ const chatPeerBlacklist = store.getState().app.chatPeerBlacklist;
2022
+ if (peer.customerUserID && chatPeerBlacklist.includes(peer.customerUserID)) {
2023
+ const updatedChatPeerBlacklist = chatPeerBlacklist.filter(peerUserId => peerUserId !== peer.customerUserID);
2024
+ const response = await hmsSessionStore.set(updatedChatPeerBlacklist, 'chatPeerBlacklist');
2025
+ console.log('setSessionMetaData Response -> ', response);
2026
+ return response;
2027
+ }
2028
+ return Promise.reject('Peer is already unblocked!');
2029
+ } catch (error) {
2030
+ console.log('setSessionMetaData Error -> ', error);
2031
+ return Promise.reject(error);
2032
+ }
2033
+ }
2034
+ }, [hmsSessionStore]);
2035
+ return {
2036
+ blockPeer,
2037
+ unblockPeer
2038
+ };
2039
+ };
2040
+ export const useAllowBlockingPeerFromChat = () => {
2041
+ return useHMSChatLayoutConfig(config => {
2042
+ var _config$real_time_con;
2043
+ return (config === null || config === void 0 || (_config$real_time_con = config.real_time_controls) === null || _config$real_time_con === void 0 ? void 0 : _config$real_time_con.can_block_user) ?? false;
2044
+ });
2045
+ };
1711
2046
  //# sourceMappingURL=hooks-util.js.map