@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,16 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { View, Text, StyleSheet } from 'react-native';
3
- import { useSelector } from 'react-redux';
4
- import { HMSStreamingState } from '@100mslive/react-native-hms';
5
3
 
6
- import type { RootState } from '../redux';
7
4
  import { useHMSRoomStyleSheet } from '../hooks-util';
8
5
  import { COLORS } from '../utils/theme';
6
+ import { useIsHLSStreamingOn } from '../hooks-sdk';
9
7
 
10
8
  export const HMSPreviewHLSLiveIndicator = () => {
11
- const isHLSStreaming = useSelector(
12
- (state: RootState) => state.hmsStates.room?.hlsStreamingState?.state === HMSStreamingState.STARTED
13
- );
9
+ const isHLSStreaming = useIsHLSStreamingOn();
14
10
 
15
11
  const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
16
12
  container: {
@@ -13,6 +13,7 @@ export interface HMSPrimaryButtonProps {
13
13
  style?: StyleProp<ViewStyle>;
14
14
  disabled?: boolean;
15
15
  leftComponent?: React.ReactElement | null;
16
+ wrapWithGestureDetector?: boolean;
16
17
  }
17
18
 
18
19
  export const HMSPrimaryButton: React.FC<HMSPrimaryButtonProps> = ({
@@ -23,6 +24,7 @@ export const HMSPrimaryButton: React.FC<HMSPrimaryButtonProps> = ({
23
24
  style,
24
25
  disabled,
25
26
  leftComponent,
27
+ wrapWithGestureDetector,
26
28
  }) => {
27
29
  const { primary_dim: primaryDarkColor, on_primary_high: onPrimaryHighColor } =
28
30
  useHMSRoomColorPalette();
@@ -62,6 +64,7 @@ export const HMSPrimaryButton: React.FC<HMSPrimaryButtonProps> = ({
62
64
  hmsRoomStyles.buttonText,
63
65
  disabled ? hmsRoomStyles.disabledText : null,
64
66
  ]}
67
+ wrapWithGestureDetector={wrapWithGestureDetector}
65
68
  />
66
69
  );
67
70
  };
@@ -1,30 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { ActivityIndicator, StyleSheet } from 'react-native';
4
+ import { HMSRecordingState } from '@100mslive/react-native-hms';
4
5
 
5
6
  import type { RootState } from '../redux';
6
7
  import { RecordingIcon } from '../Icons';
7
8
  import { useHMSRoomColorPalette, useHMSRoomStyle } from '../hooks-util';
8
- import { HMSRecordingState } from '@100mslive/react-native-hms';
9
+ import { useIsAnyRecordingOn, useIsAnyRecordingPaused } from '../hooks-sdk';
9
10
 
10
11
  export const HMSRecordingIndicator = () => {
11
- const isRecordingOn = useSelector(
12
- (state: RootState) =>
13
- state.hmsStates.room?.browserRecordingState?.state === HMSRecordingState.STARTED ||
14
- state.hmsStates.room?.browserRecordingState?.state === HMSRecordingState.RESUMED ||
15
-
16
- state.hmsStates.room?.serverRecordingState?.state === HMSRecordingState.STARTED ||
17
- state.hmsStates.room?.serverRecordingState?.state === HMSRecordingState.RESUMED ||
18
-
19
- state.hmsStates.room?.hlsRecordingState?.state === HMSRecordingState.STARTED ||
20
- state.hmsStates.room?.hlsRecordingState?.state === HMSRecordingState.RESUMED
21
- );
22
- const isRecordingPaused = useSelector(
23
- (state: RootState) =>
24
- state.hmsStates.room?.browserRecordingState?.state === HMSRecordingState.PAUSED ||
25
- state.hmsStates.room?.serverRecordingState?.state === HMSRecordingState.PAUSED ||
26
- state.hmsStates.room?.hlsRecordingState?.state === HMSRecordingState.PAUSED
27
- );
12
+ const isRecordingOn = useIsAnyRecordingOn();
13
+ const isRecordingPaused = useIsAnyRecordingPaused();
28
14
  const startingOrStoppingRecording = useSelector(
29
15
  (state: RootState) =>
30
16
  state.app.startingOrStoppingRecording ||
@@ -52,15 +38,15 @@ export const HMSRecordingIndicator = () => {
52
38
  );
53
39
  }
54
40
 
55
- if (isRecordingOn) {
41
+ if (isRecordingPaused) {
56
42
  return (
57
- <RecordingIcon style={[styles.icon, styles.rightSpace, iconStyles]} />
43
+ <RecordingIcon type="pause" style={[styles.icon, styles.rightSpace]} />
58
44
  );
59
45
  }
60
46
 
61
- if (isRecordingPaused) {
47
+ if (isRecordingOn) {
62
48
  return (
63
- <RecordingIcon type='pause' style={[styles.icon, styles.rightSpace]} />
49
+ <RecordingIcon style={[styles.icon, styles.rightSpace, iconStyles]} />
64
50
  );
65
51
  }
66
52
 
@@ -47,7 +47,10 @@ export const HMSRoomOptions: React.FC<HMSRoomOptionsProps> = () => {
47
47
 
48
48
  return (
49
49
  <View>
50
- <PressableIcon testID={TestIds.room_options_btn} onPress={onSettingsPress}>
50
+ <PressableIcon
51
+ testID={TestIds.room_options_btn}
52
+ onPress={onSettingsPress}
53
+ >
51
54
  <HamburgerIcon />
52
55
  </PressableIcon>
53
56
 
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import type { HMSException } from '@100mslive/react-native-hms';
3
3
  import { StyleSheet, Text, TouchableOpacity } from 'react-native';
4
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
4
5
 
5
6
  import { HMSNotification } from './HMSNotification';
6
7
  import { AlertTriangleIcon } from '../Icons';
@@ -34,6 +35,8 @@ export const HMSTerminalErrorNotification: React.FC<
34
35
  leave(OnLeaveReason.NETWORK_ISSUES);
35
36
  };
36
37
 
38
+ const tapGesture = Gesture.Tap();
39
+
37
40
  return (
38
41
  <HMSNotification
39
42
  id={id}
@@ -41,16 +44,18 @@ export const HMSTerminalErrorNotification: React.FC<
41
44
  text={exception.description || 'Something went wrong!'}
42
45
  dismissDelay={dismissDelay}
43
46
  autoDismiss={autoDismiss}
44
- cta={(
45
- <TouchableOpacity
46
- style={[styles.button, hmsRoomStyles.button]}
47
- onPress={handleLeaveRoomPress}
48
- >
49
- <Text style={[styles.buttonText, hmsRoomStyles.buttonText]}>
50
- Leave
51
- </Text>
52
- </TouchableOpacity>
53
- )}
47
+ cta={
48
+ <GestureDetector gesture={tapGesture}>
49
+ <TouchableOpacity
50
+ style={[styles.button, hmsRoomStyles.button]}
51
+ onPress={handleLeaveRoomPress}
52
+ >
53
+ <Text style={[styles.buttonText, hmsRoomStyles.buttonText]}>
54
+ Leave
55
+ </Text>
56
+ </TouchableOpacity>
57
+ </GestureDetector>
58
+ }
54
59
  />
55
60
  );
56
61
  };
@@ -37,7 +37,10 @@ export const _Header: React.FC<HeaderProps> = ({
37
37
  }));
38
38
 
39
39
  return (
40
- <SafeAreaView style={transparent ? null : containerStyles} edges={['top','left','right']}>
40
+ <SafeAreaView
41
+ style={transparent ? null : containerStyles}
42
+ edges={['top', 'left', 'right']}
43
+ >
41
44
  <View style={[styles.container, transparent ? null : containerStyles]}>
42
45
  <View style={styles.logoContainer}>
43
46
  <CompanyLogo style={styles.logo} />
@@ -1,15 +1,19 @@
1
1
  import * as React from 'react';
2
2
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
3
3
  import { useSelector } from 'react-redux';
4
- import { HMSStreamingState } from '@100mslive/react-native-hms';
5
4
 
6
5
  import { LeaveIcon } from '../Icons';
7
- import { useHMSRoomStyleSheet, useLeaveMethods, useModalType } from '../hooks-util';
6
+ import {
7
+ useHMSRoomStyleSheet,
8
+ useLeaveMethods,
9
+ useModalType,
10
+ } from '../hooks-util';
8
11
  import type { RootState } from '../redux';
9
12
  import { BottomSheet } from './BottomSheet';
10
13
  import { StopIcon } from '../Icons';
11
14
  import { ModalTypes, OnLeaveReason } from '../utils/types';
12
15
  import { TestIds } from '../utils/constants';
16
+ import { useIsHLSStreamingOn } from '../hooks-sdk';
13
17
 
14
18
  // const HEADER_CONTENT_HEIGHT = 24 + 8 + 8 + 2; // ICON_SIZE + TOP_PADDING + BOTTOM_PADDING + TOP&BOTTOM_BORDER_WIDTH
15
19
  // const HEADER_HEIGHT = 8 + HEADER_CONTENT_HEIGHT + 8; // TOP_HEADER_PADDING + HEADER_CONTENT_HEIGHT + BOTTOM_HEADER_PADDING
@@ -25,10 +29,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
25
29
  state.hmsStates.localPeer?.role?.permissions?.hlsStreaming
26
30
  );
27
31
 
28
- const isStreaming = useSelector(
29
- (state: RootState) =>
30
- state.hmsStates.room?.hlsStreamingState?.state === HMSStreamingState.STARTED ?? false
31
- );
32
+ const isHLSStreaming = useIsHLSStreamingOn();
32
33
 
33
34
  const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
34
35
  text: {
@@ -119,17 +120,18 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
119
120
  <LeaveIcon style={styles.icon} />
120
121
 
121
122
  <View style={styles.textContainer}>
122
- <Text style={[styles.text, hmsRoomStyles.text]}>
123
- Leave
124
- </Text>
125
- <Text testID={TestIds.leave_description} style={[styles.subtext, hmsRoomStyles.subtext]}>
123
+ <Text style={[styles.text, hmsRoomStyles.text]}>Leave</Text>
124
+ <Text
125
+ testID={TestIds.leave_description}
126
+ style={[styles.subtext, hmsRoomStyles.subtext]}
127
+ >
126
128
  Others will continue after you leave. You can join the session
127
129
  again.
128
130
  </Text>
129
131
  </View>
130
132
  </TouchableOpacity>
131
133
 
132
- {canStream && isStreaming ? (
134
+ {canStream && isHLSStreaming ? (
133
135
  <TouchableOpacity
134
136
  testID={TestIds.end_stream_cta}
135
137
  style={[styles.button, hmsRoomStyles.endButton]}
@@ -16,6 +16,7 @@ import {
16
16
  useHMSRemovedFromRoomUpdate,
17
17
  useHMSRoomStyle,
18
18
  usePIPListener,
19
+ useSetDefaultChatRecipient,
19
20
  } from '../hooks-util';
20
21
  import { MeetingScreenContent } from './MeetingScreenContent';
21
22
  import { HMSHLSStreamLoading } from './HMSHLSStreamLoading';
@@ -34,6 +35,9 @@ export const Meeting: React.FC<MeetingProps> = ({ peerTrackNodes }) => {
34
35
 
35
36
  useFetchHMSRoles();
36
37
 
38
+ // Handle selected (default) Chat Recipient as per dashboard config
39
+ useSetDefaultChatRecipient();
40
+
37
41
  useHMSMessages();
38
42
 
39
43
  useHMSReconnection();
@@ -51,28 +51,31 @@ export const MeetingScreenContent: React.FC<MeetingScreenContentProps> = ({
51
51
  }
52
52
  }, []);
53
53
 
54
- const toggleControls = useCallback((fromTimeout: boolean = false) => {
55
- 'worklet';
56
- if (
57
- fromTimeout !== true &&
58
- (keyboardState.value === KeyboardState.OPEN ||
59
- keyboardState.value === KeyboardState.OPENING)
60
- ) {
61
- runOnJS(dismissKeyboard)();
62
- } else {
63
- runOnJS(clearTimer)();
64
- cancelAnimation(offset);
65
- offset.value = withTiming(
66
- offset.value === 1 ? 0 : 1,
67
- { duration: 200, easing: Easing.ease },
68
- (finished) => {
69
- if (finished) {
70
- runOnJS(setControlsHidden)(offset.value === 0);
54
+ const toggleControls = useCallback(
55
+ (fromTimeout: boolean = false) => {
56
+ 'worklet';
57
+ if (
58
+ fromTimeout !== true &&
59
+ (keyboardState.value === KeyboardState.OPEN ||
60
+ keyboardState.value === KeyboardState.OPENING)
61
+ ) {
62
+ runOnJS(dismissKeyboard)();
63
+ } else {
64
+ runOnJS(clearTimer)();
65
+ cancelAnimation(offset);
66
+ offset.value = withTiming(
67
+ offset.value === 1 ? 0 : 1,
68
+ { duration: 200, easing: Easing.ease },
69
+ (finished) => {
70
+ if (finished) {
71
+ runOnJS(setControlsHidden)(offset.value === 0);
72
+ }
71
73
  }
72
- }
73
- );
74
- }
75
- }, [dismissKeyboard, clearTimer]);
74
+ );
75
+ }
76
+ },
77
+ [dismissKeyboard, clearTimer]
78
+ );
76
79
 
77
80
  // Handles Auto hiding the controls for the first time
78
81
  // to make this feature discoverable
@@ -40,7 +40,7 @@ import { ModalTypes, SUPPORTED_ASPECT_RATIOS } from '../utils/types';
40
40
  import { COLORS } from '../utils/theme';
41
41
  import type { RootState } from '../redux';
42
42
  import { SwitchRow } from './SwitchRow';
43
- import { useHMSInstance } from '../hooks-util';
43
+ import { useHMSConferencingScreenConfig, useHMSInstance } from '../hooks-util';
44
44
 
45
45
  export const ChangeRoleModal = ({ cancelModal }: { cancelModal: Function }) => {
46
46
  const instance = useHMSInstance();
@@ -48,16 +48,31 @@ export const ChangeRoleModal = ({ cancelModal }: { cancelModal: Function }) => {
48
48
  const roles = useSelector((state: RootState) => state.hmsStates.roles);
49
49
 
50
50
  const [newRole, setNewRole] = useState<HMSRole>(peer?.role!);
51
- const [request, setRequest] = useState<boolean>(false);
52
51
  const [visible, setVisible] = useState<boolean>(false);
53
52
 
53
+ const skipPreviewForRoleChange = useHMSConferencingScreenConfig(
54
+ (conferencingScreenConfig) => {
55
+ if (
56
+ conferencingScreenConfig?.elements &&
57
+ 'on_stage_exp' in conferencingScreenConfig.elements
58
+ ) {
59
+ return (
60
+ conferencingScreenConfig.elements.on_stage_exp
61
+ ?.skip_preview_for_role_change || false
62
+ );
63
+ }
64
+ return false;
65
+ }
66
+ );
54
67
  const hideMenu = () => setVisible(false);
55
68
  const showMenu = () => setVisible(true);
56
69
  const changeRole = () => {
57
- instance?.changeRoleOfPeer(peer!, newRole, !request).catch((e) => {
58
- console.log('Change Role of Peer Error: ', e);
59
- Toast.showWithGravity((e as Error).message, Toast.LONG, Toast.TOP);
60
- });
70
+ instance
71
+ ?.changeRoleOfPeer(peer!, newRole, skipPreviewForRoleChange)
72
+ .catch((e) => {
73
+ console.log('Change Role of Peer Error: ', e);
74
+ Toast.showWithGravity((e as Error).message, Toast.LONG, Toast.TOP);
75
+ });
61
76
  cancelModal();
62
77
  };
63
78
 
@@ -100,23 +115,6 @@ export const ChangeRoleModal = ({ cancelModal }: { cancelModal: Function }) => {
100
115
  );
101
116
  })}
102
117
  </Menu>
103
- {!peer?.isLocal && (
104
- <TouchableOpacity
105
- style={styles.roleChangeModalPermissionContainer}
106
- onPress={() => {
107
- setRequest(!request);
108
- }}
109
- >
110
- <Text
111
- style={[
112
- styles.roleChangeModalPermission,
113
- request ? { color: COLORS.PRIMARY.DEFAULT } : null,
114
- ]}
115
- >
116
- Request permission from the user
117
- </Text>
118
- </TouchableOpacity>
119
- )}
120
118
  <View style={styles.roleChangeModalPermissionContainer}>
121
119
  <CustomButton
122
120
  title="Cancel"
@@ -347,8 +345,8 @@ export const RtcStatsModal = () => {
347
345
  value?.width ?? 0
348
346
  }`
349
347
  : key === 'qualityLimitationReasons'
350
- ? value.reason
351
- : value}
348
+ ? value.reason
349
+ : value}
352
350
  </Text>
353
351
  </View>
354
352
  );
@@ -67,6 +67,12 @@ const _ParticipantsItemOptions: React.FC<ParticipantsItemOptionsProps> = ({
67
67
  return roles.find((role) => role.name === offStageRoleStr);
68
68
  });
69
69
 
70
+ const skipPreviewForRoleChange = useHMSLayoutConfig(
71
+ (layoutConfig) =>
72
+ layoutConfig?.screens?.conferencing?.default?.elements?.on_stage_exp
73
+ ?.skip_preview_for_role_change
74
+ );
75
+
70
76
  const hmsRoomStyles = useHMSRoomStyleSheet((theme) => ({
71
77
  divider: {
72
78
  backgroundColor: theme.palette.border_bright,
@@ -79,7 +85,7 @@ const _ParticipantsItemOptions: React.FC<ParticipantsItemOptionsProps> = ({
79
85
  const handleBringOnStagePress = () => {
80
86
  if (onStageRole) {
81
87
  hmsInstance
82
- .changeRoleOfPeer(peer, onStageRole)
88
+ .changeRoleOfPeer(peer, onStageRole, skipPreviewForRoleChange || false)
83
89
  .then((d) => console.log('Bring on Stage Success: ', d))
84
90
  .catch((e) => console.log('Bring on Stage Error: ', e));
85
91
  } else {
@@ -95,7 +101,9 @@ const _ParticipantsItemOptions: React.FC<ParticipantsItemOptionsProps> = ({
95
101
  .then((d) => console.log('Lower Remote Peer hand Success: ', d))
96
102
  .catch((e) => console.log('Lower Remote Peer hand Error: ', e));
97
103
  } else {
98
- console.warn(`peer.isHandRaised = ${peer.isHandRaised} | peer's hand is not raised`);
104
+ console.warn(
105
+ `peer.isHandRaised = ${peer.isHandRaised} | peer's hand is not raised`
106
+ );
99
107
  }
100
108
  onItemPress();
101
109
  };
@@ -169,8 +177,7 @@ const _ParticipantsItemOptions: React.FC<ParticipantsItemOptionsProps> = ({
169
177
  peer.videoTrack?.isMute();
170
178
 
171
179
  const showBringOnStageOptions =
172
- offStageRoles &&
173
- offStageRoles.includes(peer.role?.name || '');
180
+ offStageRoles && offStageRoles.includes(peer.role?.name || '');
174
181
 
175
182
  const showLowerHandOption = peer.isHandRaised;
176
183
 
@@ -189,9 +196,7 @@ const _ParticipantsItemOptions: React.FC<ParticipantsItemOptionsProps> = ({
189
196
  },
190
197
  {
191
198
  id: 'lower-hand',
192
- icon: (
193
- <HandIcon type="off" style={{ width: 20, height: 20 }} />
194
- ),
199
+ icon: <HandIcon type="off" style={{ width: 20, height: 20 }} />,
195
200
  label: 'Lower Hand',
196
201
  pressHandler: handleLowerHandPress,
197
202
  isActive: false,
@@ -47,7 +47,9 @@ export const PeerSettingsModalContent: React.FC<
47
47
  const mininode = state.app.miniviewPeerTrackNode;
48
48
  return mininode && mininode.id === peerTrackNode.id;
49
49
  });
50
- const editUsernameDisabled = useSelector((state: RootState) => state.app.editUsernameDisabled);
50
+ const editUsernameDisabled = useSelector(
51
+ (state: RootState) => state.app.editUsernameDisabled
52
+ );
51
53
 
52
54
  const removeTextStyle = useHMSRoomStyle((theme) => ({
53
55
  color: theme.palette.alert_error_default,
@@ -52,7 +52,9 @@ export const _PeerVideoTileView = React.forwardRef<
52
52
  const isPipModeActive = useSelector(
53
53
  (state: RootState) => state.app.pipModeStatus === PipModes.ACTIVE
54
54
  );
55
- const editUsernameDisabled = useSelector((state: RootState) => state.app.editUsernameDisabled);
55
+ const editUsernameDisabled = useSelector(
56
+ (state: RootState) => state.app.editUsernameDisabled
57
+ );
56
58
 
57
59
  const onSpotlight = useSelector((state: RootState) => {
58
60
  const { onSpotlight } = isTileOnSpotlight(state.user.spotlightTrackId, {
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useEffect } from 'react';
2
2
  import {
3
3
  Keyboard,
4
4
  StyleSheet,
@@ -20,7 +20,7 @@ import { HMSPreviewTile } from './HMSPreviewTile';
20
20
  import { HMSPreviewTitle } from './HMSPreviewTitle';
21
21
  import { HMSManageAudioOutput } from './HMSManageAudioOutput';
22
22
  import { HMSPreviewNetworkQuality } from './HMSPreviewNetworkQuality';
23
- import { useCanPublishVideo } from '../hooks-sdk';
23
+ import { useCanPublishVideo, useHMSActions } from '../hooks-sdk';
24
24
  import { HMSPreviewHLSLiveIndicator } from './HMSPreviewHLSLiveIndicator';
25
25
  import { CompanyLogo } from './CompanyLogo';
26
26
  import {
@@ -75,6 +75,19 @@ export const Preview = ({
75
75
  []
76
76
  );
77
77
 
78
+ const hmsActions = useHMSActions();
79
+
80
+ useEffect(() => {
81
+ async function setupAudioVideoOnPreview() {
82
+ // TODO: rectify the below issue,
83
+ // false means audio/video is enabled, true means audio/video is disabled
84
+ // it should have been true means audio/video is enabled, false means audio/video is disabled
85
+ await hmsActions.setLocalAudioEnabled(false);
86
+ await hmsActions.setLocalVideoEnabled(false);
87
+ }
88
+ setupAudioVideoOnPreview().then((r) => console.log(r));
89
+ }, []);
90
+
78
91
  return (
79
92
  <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
80
93
  <View style={[styles.container, hmsRoomStyles.container]}>
@@ -124,8 +124,9 @@ const _PreviewForRoleChangeModal = () => {
124
124
  track.type === HMSTrackType.VIDEO
125
125
  ) as HMSLocalVideoTrack;
126
126
  if (localVideoTrack) {
127
+ localVideoTrack.setMute(false);
127
128
  setLocalVideoTrack(localVideoTrack);
128
- setIsLocalVideoMuted(localVideoTrack.isMute());
129
+ setIsLocalVideoMuted(false);
129
130
  }
130
131
 
131
132
  const localAudioTrack = previewForRoleTracks.find(
@@ -133,8 +134,9 @@ const _PreviewForRoleChangeModal = () => {
133
134
  track.type === HMSTrackType.AUDIO
134
135
  ) as HMSLocalAudioTrack;
135
136
  if (localAudioTrack) {
137
+ localAudioTrack.setMute(false);
136
138
  setLocalAudioTrack(localAudioTrack);
137
- setIsLocalAudioMuted(localAudioTrack.isMute());
139
+ setIsLocalAudioMuted(false);
138
140
  }
139
141
 
140
142
  // lower hand
@@ -362,7 +364,6 @@ const styles = StyleSheet.create({
362
364
  container: {
363
365
  flex: 1,
364
366
  position: 'relative',
365
- backgroundColor: 'silver',
366
367
  },
367
368
  header: {
368
369
  position: 'absolute',
@@ -25,7 +25,11 @@ import {
25
25
  useShowChatAndParticipants,
26
26
  useStartRecording,
27
27
  } from '../hooks-util';
28
- import { useCanPublishScreen, useHMSActions } from '../hooks-sdk';
28
+ import {
29
+ useCanPublishScreen,
30
+ useHMSActions,
31
+ useIsAnyStreamingOn,
32
+ } from '../hooks-sdk';
29
33
  import { RoomSettingsModalDebugModeContent } from './RoomSettingsModalDebugModeContent';
30
34
  import { ParticipantsCount } from './ParticipantsCount';
31
35
  import { selectAllowedTracksToPublish } from '../hooks-sdk-selectors';
@@ -52,13 +56,16 @@ export const RoomSettingsModalContent: React.FC<
52
56
 
53
57
  const hmsActions = useHMSActions();
54
58
 
55
- const { alert_error_default: alertErrorDefaultColor } = useHMSRoomColorPalette()
59
+ const { alert_error_default: alertErrorDefaultColor } =
60
+ useHMSRoomColorPalette();
56
61
 
57
62
  const isPublisher = useSelector((state: RootState) => {
58
63
  const localPeer = state.hmsStates.localPeer;
59
64
  return localPeer ? isPublishingAllowed(localPeer) : false;
60
65
  });
61
- const editUsernameDisabled = useSelector((state: RootState) => state.app.editUsernameDisabled);
66
+ const editUsernameDisabled = useSelector(
67
+ (state: RootState) => state.app.editUsernameDisabled
68
+ );
62
69
 
63
70
  const { registerOnModalHideAction } = useBottomSheetActions();
64
71
 
@@ -133,16 +140,27 @@ export const RoomSettingsModalContent: React.FC<
133
140
  (state: RootState) =>
134
141
  !!state.hmsStates.localPeer?.role?.permissions?.browserRecording
135
142
  );
136
-
137
- const isRecordingOn = useSelector(
138
- (state: RootState) =>
139
- state.hmsStates.room?.browserRecordingState?.state === HMSRecordingState.RESUMED ||
140
- state.hmsStates.room?.browserRecordingState?.state === HMSRecordingState.STARTED
141
- );
143
+ const isAnyStreamingOn = useIsAnyStreamingOn();
144
+
145
+ const isRecordingOn = useSelector((state: RootState) => {
146
+ const room = state.hmsStates.room;
147
+ return (
148
+ room?.browserRecordingState?.state === HMSRecordingState.RESUMED ||
149
+ room?.browserRecordingState?.state === HMSRecordingState.STARTED
150
+ );
151
+ });
142
152
  const isRecordingPaused = useSelector(
143
153
  (state: RootState) =>
144
- state.hmsStates.room?.browserRecordingState?.state === HMSRecordingState.PAUSED
154
+ state.hmsStates.room?.browserRecordingState?.state ===
155
+ HMSRecordingState.PAUSED
145
156
  );
157
+ const isRecordingDisabled = useSelector((state: RootState) => {
158
+ const room = state.hmsStates.room;
159
+ return (
160
+ isAnyStreamingOn ||
161
+ room?.browserRecordingState?.state === HMSRecordingState.STARTING
162
+ );
163
+ });
146
164
 
147
165
  const { startRecording } = useStartRecording();
148
166
 
@@ -214,7 +232,9 @@ export const RoomSettingsModalContent: React.FC<
214
232
  },
215
233
  {
216
234
  id: 'share-screen',
217
- testID: !!isLocalScreenShared ? TestIds.room_modal_stop_screen_share_btn : TestIds.room_modal_share_screen_btn,
235
+ testID: !!isLocalScreenShared
236
+ ? TestIds.room_modal_stop_screen_share_btn
237
+ : TestIds.room_modal_share_screen_btn,
218
238
  icon: <ScreenShareIcon style={{ width: 20, height: 20 }} />,
219
239
  label: isLocalScreenShared ? 'Sharing Screen' : 'Share Screen',
220
240
  pressHandler: handleScreenShareTogglePress,
@@ -223,7 +243,9 @@ export const RoomSettingsModalContent: React.FC<
223
243
  },
224
244
  {
225
245
  id: 'brb',
226
- testID: isBRBOn ? TestIds.room_modal_stop_brb_btn : TestIds.room_modal_brb_btn,
246
+ testID: isBRBOn
247
+ ? TestIds.room_modal_stop_brb_btn
248
+ : TestIds.room_modal_brb_btn,
227
249
  icon: <BRBIcon style={{ width: 20, height: 20 }} />,
228
250
  label: isBRBOn ? "I'm Back" : 'Be Right Back',
229
251
  pressHandler: toggleBRB,
@@ -232,7 +254,9 @@ export const RoomSettingsModalContent: React.FC<
232
254
  },
233
255
  {
234
256
  id: 'raise-hand',
235
- testID: isHandRaised ? TestIds.room_modal_hand_raised_btn : TestIds.room_modal_hand_raise_btn,
257
+ testID: isHandRaised
258
+ ? TestIds.room_modal_hand_raised_btn
259
+ : TestIds.room_modal_hand_raise_btn,
236
260
  icon: <HandIcon style={{ width: 20, height: 20 }} />,
237
261
  label: isHandRaised ? 'Hand Raised' : 'Raise Hand',
238
262
  pressHandler: toggleRaiseHand,
@@ -241,12 +265,28 @@ export const RoomSettingsModalContent: React.FC<
241
265
  },
242
266
  {
243
267
  id: 'recording',
244
- testID: isRecordingOn ? TestIds.room_modal_stop_recording_btn : TestIds.room_modal_start_recording_btn,
245
- icon: <RecordingIcon type={isRecordingPaused ? 'pause' : 'on'} style={[{ width: 20, height: 20 }, isRecordingOn ? { tintColor: alertErrorDefaultColor } : null]} />,
246
- label: isRecordingOn ? 'Recording' : isRecordingPaused ? 'Recording Paused' : 'Record',
268
+ testID: isRecordingOn
269
+ ? TestIds.room_modal_stop_recording_btn
270
+ : TestIds.room_modal_start_recording_btn,
271
+ icon: (
272
+ <RecordingIcon
273
+ type={isRecordingPaused ? 'pause' : 'on'}
274
+ style={[
275
+ { width: 20, height: 20 },
276
+ isRecordingOn
277
+ ? { tintColor: alertErrorDefaultColor }
278
+ : null,
279
+ ]}
280
+ />
281
+ ),
282
+ label: isRecordingOn
283
+ ? 'Recording'
284
+ : isRecordingPaused
285
+ ? 'Recording Paused'
286
+ : 'Record',
247
287
  pressHandler: handleRecordingTogglePress,
248
288
  isActive: false,
249
- disabled: isRecordingPaused,
289
+ disabled: isRecordingDisabled,
250
290
  hide: !canStartRecording, // Hide if can't publish screen
251
291
  },
252
292
  {
@@ -336,7 +376,11 @@ const SettingItem: React.FC<SettingItemProps> = ({
336
376
  <TouchableOpacity
337
377
  testID={testID}
338
378
  disabled={disabled}
339
- style={[styles.button, isActive ? hmsRoomStyles.button : null]}
379
+ style={[
380
+ styles.button,
381
+ isActive ? hmsRoomStyles.button : null,
382
+ disabled ? { opacity: 0.6 } : null,
383
+ ]}
340
384
  onPress={onPress}
341
385
  >
342
386
  {icon}