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

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 (513) hide show
  1. package/lib/commonjs/HMSRoomSetup.js +4 -1
  2. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  3. package/lib/commonjs/Icons/Chat/assets/chat-on.png +0 -0
  4. package/lib/commonjs/Icons/Chat/assets/chat-on@2x.png +0 -0
  5. package/lib/commonjs/Icons/Chat/assets/chat-on@3x.png +0 -0
  6. package/lib/commonjs/Icons/Chat/index.js +4 -3
  7. package/lib/commonjs/Icons/Chat/index.js.map +1 -1
  8. package/lib/commonjs/Icons/NoEntry/assets/no-entry.png +0 -0
  9. package/lib/commonjs/Icons/NoEntry/assets/no-entry@2x.png +0 -0
  10. package/lib/commonjs/Icons/NoEntry/assets/no-entry@3x.png +0 -0
  11. package/lib/commonjs/Icons/NoEntry/index.js +33 -0
  12. package/lib/commonjs/Icons/NoEntry/index.js.map +1 -0
  13. package/lib/commonjs/Icons/PauseCircle/assets/pause-circle.png +0 -0
  14. package/lib/commonjs/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
  15. package/lib/commonjs/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
  16. package/lib/commonjs/Icons/PauseCircle/index.js +29 -0
  17. package/lib/commonjs/Icons/PauseCircle/index.js.map +1 -0
  18. package/lib/commonjs/Icons/Pin/assets/unpin.png +0 -0
  19. package/lib/commonjs/Icons/Pin/assets/unpin@2x.png +0 -0
  20. package/lib/commonjs/Icons/Pin/assets/unpin@3x.png +0 -0
  21. package/lib/commonjs/Icons/Pin/index.js +2 -1
  22. package/lib/commonjs/Icons/Pin/index.js.map +1 -1
  23. package/lib/commonjs/Icons/Recording/assets/recording-pause.png +0 -0
  24. package/lib/commonjs/Icons/Recording/assets/recording-pause@2x.png +0 -0
  25. package/lib/commonjs/Icons/Recording/assets/recording-pause@3x.png +0 -0
  26. package/lib/commonjs/Icons/Recording/index.js.map +1 -1
  27. package/lib/commonjs/Icons/index.js +22 -0
  28. package/lib/commonjs/Icons/index.js.map +1 -1
  29. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  30. package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js +36 -0
  31. package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js.map +1 -0
  32. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js +90 -23
  33. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  34. package/lib/commonjs/components/Chat/ChatFilterItem.js +10 -7
  35. package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -1
  36. package/lib/commonjs/components/Chat/ChatFilterView.js +54 -45
  37. package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -1
  38. package/lib/commonjs/components/Chat/ChatList.js +13 -6
  39. package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
  40. package/lib/commonjs/components/Chat/ChatMessage.js +79 -7
  41. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
  42. package/lib/commonjs/components/Chat/ChatMoreActionsModal.js +61 -0
  43. package/lib/commonjs/components/Chat/ChatMoreActionsModal.js.map +1 -0
  44. package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js +63 -0
  45. package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js.map +1 -0
  46. package/lib/commonjs/components/Chat/ChatMoreActionsView.js +83 -0
  47. package/lib/commonjs/components/Chat/ChatMoreActionsView.js.map +1 -0
  48. package/lib/commonjs/components/Chat/ChatPaused.js +86 -0
  49. package/lib/commonjs/components/Chat/ChatPaused.js.map +1 -0
  50. package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js +34 -0
  51. package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js.map +1 -0
  52. package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js +66 -0
  53. package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js.map +1 -0
  54. package/lib/commonjs/components/Chat/MessageOptionsView.js +188 -0
  55. package/lib/commonjs/components/Chat/MessageOptionsView.js.map +1 -0
  56. package/lib/commonjs/components/Chat/PeerBlockedFromChat.js +47 -0
  57. package/lib/commonjs/components/Chat/PeerBlockedFromChat.js.map +1 -0
  58. package/lib/commonjs/components/Chat/PinnedMessages.js +297 -0
  59. package/lib/commonjs/components/Chat/PinnedMessages.js.map +1 -0
  60. package/lib/commonjs/components/Chat/index.js +4 -4
  61. package/lib/commonjs/components/Chat/index.js.map +1 -1
  62. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  63. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +21 -2
  64. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  65. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -1
  66. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  67. package/lib/commonjs/components/ChatAndParticipants/ChatView.js +21 -2
  68. package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -1
  69. package/lib/commonjs/components/EndRoomModalContent.js +6 -9
  70. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  71. package/lib/commonjs/components/Footer.js.map +1 -1
  72. package/lib/commonjs/components/GridView.js.map +1 -1
  73. package/lib/commonjs/components/HLSView.js +8 -6
  74. package/lib/commonjs/components/HLSView.js.map +1 -1
  75. package/lib/commonjs/components/HMSBaseButton.js +10 -2
  76. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  77. package/lib/commonjs/components/HMSDangerButton.js +4 -2
  78. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  79. package/lib/commonjs/components/HMSHLSMessage.js +86 -1
  80. package/lib/commonjs/components/HMSHLSMessage.js.map +1 -1
  81. package/lib/commonjs/components/HMSHLSMessageList.js +2 -2
  82. package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
  83. package/lib/commonjs/components/HMSHandRaiseNotification.js +6 -3
  84. package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -1
  85. package/lib/commonjs/components/HMSKeyboardAvoidingView.js +5 -1
  86. package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -1
  87. package/lib/commonjs/components/HMSLiveIndicator.js +2 -6
  88. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
  89. package/lib/commonjs/components/HMSLiveViewerCount.js +8 -7
  90. package/lib/commonjs/components/HMSLiveViewerCount.js.map +1 -1
  91. package/lib/commonjs/components/HMSLocalScreenshareNotification.js +2 -1
  92. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
  93. package/lib/commonjs/components/HMSNotification.js +31 -4
  94. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  95. package/lib/commonjs/components/HMSNotifications.js +9 -2
  96. package/lib/commonjs/components/HMSNotifications.js.map +1 -1
  97. package/lib/commonjs/components/HMSOverlayChatView.js +44 -2
  98. package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -1
  99. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  100. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +2 -6
  101. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  102. package/lib/commonjs/components/HMSPrimaryButton.js +4 -2
  103. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  104. package/lib/commonjs/components/HMSRecordingIndicator.js +11 -16
  105. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
  106. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  107. package/lib/commonjs/components/HMSTerminalErrorNotification.js +6 -2
  108. package/lib/commonjs/components/HMSTerminalErrorNotification.js.map +1 -1
  109. package/lib/commonjs/components/Header.js.map +1 -1
  110. package/lib/commonjs/components/LeaveRoomBottomSheet.js +3 -6
  111. package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -1
  112. package/lib/commonjs/components/Meeting.js +3 -0
  113. package/lib/commonjs/components/Meeting.js.map +1 -1
  114. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  115. package/lib/commonjs/components/Modals.js +9 -12
  116. package/lib/commonjs/components/Modals.js.map +1 -1
  117. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js +5 -1
  118. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -1
  119. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  120. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  121. package/lib/commonjs/components/Preview.js +14 -1
  122. package/lib/commonjs/components/Preview.js.map +1 -1
  123. package/lib/commonjs/components/PreviewForRoleChangeModal.js +5 -4
  124. package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -1
  125. package/lib/commonjs/components/RoomSettingsModalContent.js +15 -6
  126. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  127. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +2 -4
  128. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  129. package/lib/commonjs/components/WebrtcView.js.map +1 -1
  130. package/lib/commonjs/hooks-sdk-selectors.js +16 -1
  131. package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
  132. package/lib/commonjs/hooks-sdk.js +27 -1
  133. package/lib/commonjs/hooks-sdk.js.map +1 -1
  134. package/lib/commonjs/hooks-util-selectors.js +3 -3
  135. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  136. package/lib/commonjs/hooks-util.js +408 -61
  137. package/lib/commonjs/hooks-util.js.map +1 -1
  138. package/lib/commonjs/redux/actionTypes.js +16 -3
  139. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  140. package/lib/commonjs/redux/actions/index.js +44 -4
  141. package/lib/commonjs/redux/actions/index.js.map +1 -1
  142. package/lib/commonjs/redux/reducers/appState.js +41 -1
  143. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  144. package/lib/commonjs/redux/reducers/chatWindow.js +1 -2
  145. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
  146. package/lib/commonjs/redux/reducers/message.js +17 -4
  147. package/lib/commonjs/redux/reducers/message.js.map +1 -1
  148. package/lib/commonjs/types.js +1 -0
  149. package/lib/commonjs/types.js.map +1 -1
  150. package/lib/commonjs/utils/types.js +3 -0
  151. package/lib/commonjs/utils/types.js.map +1 -1
  152. package/lib/commonjs/utils.js +2 -2
  153. package/lib/commonjs/utils.js.map +1 -1
  154. package/lib/module/HMSRoomSetup.js +5 -2
  155. package/lib/module/HMSRoomSetup.js.map +1 -1
  156. package/lib/module/Icons/Chat/assets/chat-on.png +0 -0
  157. package/lib/module/Icons/Chat/assets/chat-on@2x.png +0 -0
  158. package/lib/module/Icons/Chat/assets/chat-on@3x.png +0 -0
  159. package/lib/module/Icons/Chat/index.js +4 -3
  160. package/lib/module/Icons/Chat/index.js.map +1 -1
  161. package/lib/module/Icons/NoEntry/assets/no-entry.png +0 -0
  162. package/lib/module/Icons/NoEntry/assets/no-entry@2x.png +0 -0
  163. package/lib/module/Icons/NoEntry/assets/no-entry@3x.png +0 -0
  164. package/lib/module/Icons/NoEntry/index.js +25 -0
  165. package/lib/module/Icons/NoEntry/index.js.map +1 -0
  166. package/lib/module/Icons/PauseCircle/assets/pause-circle.png +0 -0
  167. package/lib/module/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
  168. package/lib/module/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
  169. package/lib/module/Icons/PauseCircle/index.js +21 -0
  170. package/lib/module/Icons/PauseCircle/index.js.map +1 -0
  171. package/lib/module/Icons/Pin/assets/unpin.png +0 -0
  172. package/lib/module/Icons/Pin/assets/unpin@2x.png +0 -0
  173. package/lib/module/Icons/Pin/assets/unpin@3x.png +0 -0
  174. package/lib/module/Icons/Pin/index.js +2 -1
  175. package/lib/module/Icons/Pin/index.js.map +1 -1
  176. package/lib/module/Icons/Recording/assets/recording-pause.png +0 -0
  177. package/lib/module/Icons/Recording/assets/recording-pause@2x.png +0 -0
  178. package/lib/module/Icons/Recording/assets/recording-pause@3x.png +0 -0
  179. package/lib/module/Icons/Recording/index.js.map +1 -1
  180. package/lib/module/Icons/index.js +2 -0
  181. package/lib/module/Icons/index.js.map +1 -1
  182. package/lib/module/components/BottomSheet.js.map +1 -1
  183. package/lib/module/components/Chat/ChatFilterBottomSheet.js +28 -0
  184. package/lib/module/components/Chat/ChatFilterBottomSheet.js.map +1 -0
  185. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js +93 -26
  186. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  187. package/lib/module/components/Chat/ChatFilterItem.js +11 -8
  188. package/lib/module/components/Chat/ChatFilterItem.js.map +1 -1
  189. package/lib/module/components/Chat/ChatFilterView.js +55 -46
  190. package/lib/module/components/Chat/ChatFilterView.js.map +1 -1
  191. package/lib/module/components/Chat/ChatList.js +14 -7
  192. package/lib/module/components/Chat/ChatList.js.map +1 -1
  193. package/lib/module/components/Chat/ChatMessage.js +81 -9
  194. package/lib/module/components/Chat/ChatMessage.js.map +1 -1
  195. package/lib/module/components/Chat/ChatMoreActionsModal.js +53 -0
  196. package/lib/module/components/Chat/ChatMoreActionsModal.js.map +1 -0
  197. package/lib/module/components/Chat/ChatMoreActionsSheetView.js +55 -0
  198. package/lib/module/components/Chat/ChatMoreActionsSheetView.js.map +1 -0
  199. package/lib/module/components/Chat/ChatMoreActionsView.js +75 -0
  200. package/lib/module/components/Chat/ChatMoreActionsView.js.map +1 -0
  201. package/lib/module/components/Chat/ChatPaused.js +77 -0
  202. package/lib/module/components/Chat/ChatPaused.js.map +1 -0
  203. package/lib/module/components/Chat/MessageOptionsBottomSheet.js +26 -0
  204. package/lib/module/components/Chat/MessageOptionsBottomSheet.js.map +1 -0
  205. package/lib/module/components/Chat/MessageOptionsBottomSheetView.js +58 -0
  206. package/lib/module/components/Chat/MessageOptionsBottomSheetView.js.map +1 -0
  207. package/lib/module/components/Chat/MessageOptionsView.js +180 -0
  208. package/lib/module/components/Chat/MessageOptionsView.js.map +1 -0
  209. package/lib/module/components/Chat/PeerBlockedFromChat.js +38 -0
  210. package/lib/module/components/Chat/PeerBlockedFromChat.js.map +1 -0
  211. package/lib/module/components/Chat/PinnedMessages.js +288 -0
  212. package/lib/module/components/Chat/PinnedMessages.js.map +1 -0
  213. package/lib/module/components/Chat/index.js +1 -1
  214. package/lib/module/components/Chat/index.js.map +1 -1
  215. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  216. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +24 -5
  217. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  218. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js +3 -1
  219. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  220. package/lib/module/components/ChatAndParticipants/ChatView.js +22 -3
  221. package/lib/module/components/ChatAndParticipants/ChatView.js.map +1 -1
  222. package/lib/module/components/EndRoomModalContent.js +6 -9
  223. package/lib/module/components/EndRoomModalContent.js.map +1 -1
  224. package/lib/module/components/Footer.js.map +1 -1
  225. package/lib/module/components/GridView.js.map +1 -1
  226. package/lib/module/components/HLSView.js +9 -7
  227. package/lib/module/components/HLSView.js.map +1 -1
  228. package/lib/module/components/HMSBaseButton.js +10 -2
  229. package/lib/module/components/HMSBaseButton.js.map +1 -1
  230. package/lib/module/components/HMSDangerButton.js +4 -2
  231. package/lib/module/components/HMSDangerButton.js.map +1 -1
  232. package/lib/module/components/HMSHLSMessage.js +88 -3
  233. package/lib/module/components/HMSHLSMessage.js.map +1 -1
  234. package/lib/module/components/HMSHLSMessageList.js +2 -2
  235. package/lib/module/components/HMSHLSMessageList.js.map +1 -1
  236. package/lib/module/components/HMSHandRaiseNotification.js +6 -3
  237. package/lib/module/components/HMSHandRaiseNotification.js.map +1 -1
  238. package/lib/module/components/HMSKeyboardAvoidingView.js +6 -2
  239. package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -1
  240. package/lib/module/components/HMSLiveIndicator.js +2 -6
  241. package/lib/module/components/HMSLiveIndicator.js.map +1 -1
  242. package/lib/module/components/HMSLiveViewerCount.js +8 -7
  243. package/lib/module/components/HMSLiveViewerCount.js.map +1 -1
  244. package/lib/module/components/HMSLocalScreenshareNotification.js +2 -1
  245. package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -1
  246. package/lib/module/components/HMSNotification.js +32 -5
  247. package/lib/module/components/HMSNotification.js.map +1 -1
  248. package/lib/module/components/HMSNotifications.js +9 -2
  249. package/lib/module/components/HMSNotifications.js.map +1 -1
  250. package/lib/module/components/HMSOverlayChatView.js +45 -3
  251. package/lib/module/components/HMSOverlayChatView.js.map +1 -1
  252. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  253. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +2 -6
  254. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  255. package/lib/module/components/HMSPrimaryButton.js +4 -2
  256. package/lib/module/components/HMSPrimaryButton.js.map +1 -1
  257. package/lib/module/components/HMSRecordingIndicator.js +11 -16
  258. package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
  259. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  260. package/lib/module/components/HMSTerminalErrorNotification.js +6 -2
  261. package/lib/module/components/HMSTerminalErrorNotification.js.map +1 -1
  262. package/lib/module/components/Header.js.map +1 -1
  263. package/lib/module/components/LeaveRoomBottomSheet.js +3 -6
  264. package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
  265. package/lib/module/components/Meeting.js +4 -1
  266. package/lib/module/components/Meeting.js.map +1 -1
  267. package/lib/module/components/MeetingScreenContent.js.map +1 -1
  268. package/lib/module/components/Modals.js +10 -13
  269. package/lib/module/components/Modals.js.map +1 -1
  270. package/lib/module/components/Participants/ParticipantsItemOptions.js +5 -1
  271. package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -1
  272. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  273. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  274. package/lib/module/components/Preview.js +13 -2
  275. package/lib/module/components/Preview.js.map +1 -1
  276. package/lib/module/components/PreviewForRoleChangeModal.js +5 -4
  277. package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -1
  278. package/lib/module/components/RoomSettingsModalContent.js +16 -7
  279. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  280. package/lib/module/components/RoomSettingsModalDebugModeContent.js +3 -5
  281. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  282. package/lib/module/components/WebrtcView.js.map +1 -1
  283. package/lib/module/hooks-sdk-selectors.js +12 -0
  284. package/lib/module/hooks-sdk-selectors.js.map +1 -1
  285. package/lib/module/hooks-sdk.js +23 -1
  286. package/lib/module/hooks-sdk.js.map +1 -1
  287. package/lib/module/hooks-util-selectors.js +3 -3
  288. package/lib/module/hooks-util-selectors.js.map +1 -1
  289. package/lib/module/hooks-util.js +398 -62
  290. package/lib/module/hooks-util.js.map +1 -1
  291. package/lib/module/redux/actionTypes.js +16 -3
  292. package/lib/module/redux/actionTypes.js.map +1 -1
  293. package/lib/module/redux/actions/index.js +36 -2
  294. package/lib/module/redux/actions/index.js.map +1 -1
  295. package/lib/module/redux/reducers/appState.js +41 -1
  296. package/lib/module/redux/reducers/appState.js.map +1 -1
  297. package/lib/module/redux/reducers/chatWindow.js +1 -2
  298. package/lib/module/redux/reducers/chatWindow.js.map +1 -1
  299. package/lib/module/redux/reducers/message.js +17 -4
  300. package/lib/module/redux/reducers/message.js.map +1 -1
  301. package/lib/module/types.js +1 -0
  302. package/lib/module/types.js.map +1 -1
  303. package/lib/module/utils/types.js +3 -0
  304. package/lib/module/utils/types.js.map +1 -1
  305. package/lib/module/utils.js +2 -2
  306. package/lib/module/utils.js.map +1 -1
  307. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  308. package/lib/typescript/Icons/Chat/index.d.ts +1 -0
  309. package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
  310. package/lib/typescript/Icons/NoEntry/index.d.ts +7 -0
  311. package/lib/typescript/Icons/NoEntry/index.d.ts.map +1 -0
  312. package/lib/typescript/Icons/PauseCircle/index.d.ts +7 -0
  313. package/lib/typescript/Icons/PauseCircle/index.d.ts.map +1 -0
  314. package/lib/typescript/Icons/Pin/index.d.ts +1 -0
  315. package/lib/typescript/Icons/Pin/index.d.ts.map +1 -1
  316. package/lib/typescript/Icons/index.d.ts +2 -0
  317. package/lib/typescript/Icons/index.d.ts.map +1 -1
  318. package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
  319. package/lib/typescript/components/Chat/ChatFilterBottomSheet.d.ts +3 -0
  320. package/lib/typescript/components/Chat/ChatFilterBottomSheet.d.ts.map +1 -0
  321. package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts +1 -0
  322. package/lib/typescript/components/Chat/ChatFilterBottomSheetOpener.d.ts.map +1 -1
  323. package/lib/typescript/components/Chat/ChatFilterItem.d.ts +1 -0
  324. package/lib/typescript/components/Chat/ChatFilterItem.d.ts.map +1 -1
  325. package/lib/typescript/components/Chat/ChatFilterView.d.ts +1 -0
  326. package/lib/typescript/components/Chat/ChatFilterView.d.ts.map +1 -1
  327. package/lib/typescript/components/Chat/ChatList.d.ts.map +1 -1
  328. package/lib/typescript/components/Chat/ChatMessage.d.ts.map +1 -1
  329. package/lib/typescript/components/Chat/ChatMoreActionsModal.d.ts +7 -0
  330. package/lib/typescript/components/Chat/ChatMoreActionsModal.d.ts.map +1 -0
  331. package/lib/typescript/components/Chat/ChatMoreActionsSheetView.d.ts +6 -0
  332. package/lib/typescript/components/Chat/ChatMoreActionsSheetView.d.ts.map +1 -0
  333. package/lib/typescript/components/Chat/ChatMoreActionsView.d.ts +7 -0
  334. package/lib/typescript/components/Chat/ChatMoreActionsView.d.ts.map +1 -0
  335. package/lib/typescript/components/Chat/ChatPaused.d.ts +10 -0
  336. package/lib/typescript/components/Chat/ChatPaused.d.ts.map +1 -0
  337. package/lib/typescript/components/Chat/MessageOptionsBottomSheet.d.ts +3 -0
  338. package/lib/typescript/components/Chat/MessageOptionsBottomSheet.d.ts.map +1 -0
  339. package/lib/typescript/components/Chat/MessageOptionsBottomSheetView.d.ts +6 -0
  340. package/lib/typescript/components/Chat/MessageOptionsBottomSheetView.d.ts.map +1 -0
  341. package/lib/typescript/components/Chat/MessageOptionsView.d.ts +7 -0
  342. package/lib/typescript/components/Chat/MessageOptionsView.d.ts.map +1 -0
  343. package/lib/typescript/components/Chat/PeerBlockedFromChat.d.ts +9 -0
  344. package/lib/typescript/components/Chat/PeerBlockedFromChat.d.ts.map +1 -0
  345. package/lib/typescript/components/Chat/PinnedMessages.d.ts +8 -0
  346. package/lib/typescript/components/Chat/PinnedMessages.d.ts.map +1 -0
  347. package/lib/typescript/components/Chat/index.d.ts +1 -1
  348. package/lib/typescript/components/Chat/index.d.ts.map +1 -1
  349. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.d.ts.map +1 -1
  350. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
  351. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsView.d.ts.map +1 -1
  352. package/lib/typescript/components/ChatAndParticipants/ChatView.d.ts.map +1 -1
  353. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
  354. package/lib/typescript/components/Footer.d.ts.map +1 -1
  355. package/lib/typescript/components/GridView.d.ts.map +1 -1
  356. package/lib/typescript/components/HMSBaseButton.d.ts +1 -0
  357. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
  358. package/lib/typescript/components/HMSDangerButton.d.ts +1 -0
  359. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
  360. package/lib/typescript/components/HMSHLSMessage.d.ts +1 -1
  361. package/lib/typescript/components/HMSHLSMessage.d.ts.map +1 -1
  362. package/lib/typescript/components/HMSHandRaiseNotification.d.ts.map +1 -1
  363. package/lib/typescript/components/HMSKeyboardAvoidingView.d.ts.map +1 -1
  364. package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -1
  365. package/lib/typescript/components/HMSLiveViewerCount.d.ts.map +1 -1
  366. package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -1
  367. package/lib/typescript/components/HMSNotification.d.ts +2 -1
  368. package/lib/typescript/components/HMSNotification.d.ts.map +1 -1
  369. package/lib/typescript/components/HMSNotifications.d.ts.map +1 -1
  370. package/lib/typescript/components/HMSOverlayChatView.d.ts.map +1 -1
  371. package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
  372. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  373. package/lib/typescript/components/HMSPrimaryButton.d.ts +1 -0
  374. package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
  375. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -1
  376. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  377. package/lib/typescript/components/HMSTerminalErrorNotification.d.ts.map +1 -1
  378. package/lib/typescript/components/Header.d.ts.map +1 -1
  379. package/lib/typescript/components/LeaveRoomBottomSheet.d.ts.map +1 -1
  380. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  381. package/lib/typescript/components/MeetingScreenContent.d.ts.map +1 -1
  382. package/lib/typescript/components/Modals.d.ts.map +1 -1
  383. package/lib/typescript/components/Participants/ParticipantsItemOptions.d.ts.map +1 -1
  384. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  385. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
  386. package/lib/typescript/components/Preview.d.ts.map +1 -1
  387. package/lib/typescript/components/PreviewForRoleChangeModal.d.ts.map +1 -1
  388. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  389. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -1
  390. package/lib/typescript/components/WebrtcView.d.ts.map +1 -1
  391. package/lib/typescript/hooks-sdk-selectors.d.ts +3 -0
  392. package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
  393. package/lib/typescript/hooks-sdk.d.ts +4 -0
  394. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  395. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  396. package/lib/typescript/hooks-util.d.ts +35 -3
  397. package/lib/typescript/hooks-util.d.ts.map +1 -1
  398. package/lib/typescript/redux/actionTypes.d.ts +9 -2
  399. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  400. package/lib/typescript/redux/actions/index.d.ts +37 -3
  401. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  402. package/lib/typescript/redux/index.d.ts +7 -2
  403. package/lib/typescript/redux/index.d.ts.map +1 -1
  404. package/lib/typescript/redux/reducers/appState.d.ts +7 -2
  405. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  406. package/lib/typescript/redux/reducers/chatWindow.d.ts +1 -1
  407. package/lib/typescript/redux/reducers/chatWindow.d.ts.map +1 -1
  408. package/lib/typescript/redux/reducers/index.d.ts +7 -2
  409. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  410. package/lib/typescript/redux/reducers/message.d.ts +3 -2
  411. package/lib/typescript/redux/reducers/message.d.ts.map +1 -1
  412. package/lib/typescript/types.d.ts +23 -3
  413. package/lib/typescript/types.d.ts.map +1 -1
  414. package/lib/typescript/utils/types.d.ts +3 -0
  415. package/lib/typescript/utils/types.d.ts.map +1 -1
  416. package/package.json +179 -179
  417. package/src/HMSRoomSetup.tsx +7 -2
  418. package/src/Icons/Chat/assets/chat-on.png +0 -0
  419. package/src/Icons/Chat/assets/chat-on@2x.png +0 -0
  420. package/src/Icons/Chat/assets/chat-on@3x.png +0 -0
  421. package/src/Icons/Chat/index.tsx +19 -6
  422. package/src/Icons/NoEntry/assets/no-entry.png +0 -0
  423. package/src/Icons/NoEntry/assets/no-entry@2x.png +0 -0
  424. package/src/Icons/NoEntry/assets/no-entry@3x.png +0 -0
  425. package/src/Icons/NoEntry/index.tsx +33 -0
  426. package/src/Icons/PauseCircle/assets/pause-circle.png +0 -0
  427. package/src/Icons/PauseCircle/assets/pause-circle@2x.png +0 -0
  428. package/src/Icons/PauseCircle/assets/pause-circle@3x.png +0 -0
  429. package/src/Icons/PauseCircle/index.tsx +27 -0
  430. package/src/Icons/Pin/assets/unpin.png +0 -0
  431. package/src/Icons/Pin/assets/unpin@2x.png +0 -0
  432. package/src/Icons/Pin/assets/unpin@3x.png +0 -0
  433. package/src/Icons/Pin/index.tsx +13 -3
  434. package/src/Icons/Recording/assets/recording-pause.png +0 -0
  435. package/src/Icons/Recording/assets/recording-pause@2x.png +0 -0
  436. package/src/Icons/Recording/assets/recording-pause@3x.png +0 -0
  437. package/src/Icons/Recording/index.tsx +2 -2
  438. package/src/Icons/index.ts +2 -0
  439. package/src/components/BottomSheet.tsx +13 -3
  440. package/src/components/Chat/ChatFilterBottomSheet.tsx +35 -0
  441. package/src/components/Chat/ChatFilterBottomSheetOpener.tsx +170 -42
  442. package/src/components/Chat/ChatFilterItem.tsx +8 -4
  443. package/src/components/Chat/ChatFilterView.tsx +102 -75
  444. package/src/components/Chat/ChatList.tsx +18 -6
  445. package/src/components/Chat/ChatMessage.tsx +111 -7
  446. package/src/components/Chat/ChatMoreActionsModal.tsx +75 -0
  447. package/src/components/Chat/ChatMoreActionsSheetView.tsx +77 -0
  448. package/src/components/Chat/ChatMoreActionsView.tsx +84 -0
  449. package/src/components/Chat/ChatPaused.tsx +103 -0
  450. package/src/components/Chat/MessageOptionsBottomSheet.tsx +33 -0
  451. package/src/components/Chat/MessageOptionsBottomSheetView.tsx +82 -0
  452. package/src/components/Chat/MessageOptionsView.tsx +248 -0
  453. package/src/components/Chat/PeerBlockedFromChat.tsx +49 -0
  454. package/src/components/Chat/PinnedMessages.tsx +422 -0
  455. package/src/components/Chat/index.ts +1 -1
  456. package/src/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.tsx +4 -1
  457. package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +48 -12
  458. package/src/components/ChatAndParticipants/ChatAndParticipantsView.tsx +9 -1
  459. package/src/components/ChatAndParticipants/ChatView.tsx +37 -5
  460. package/src/components/EndRoomModalContent.tsx +11 -14
  461. package/src/components/Footer.tsx +3 -1
  462. package/src/components/GridView.tsx +17 -8
  463. package/src/components/HLSView.tsx +45 -45
  464. package/src/components/HMSBaseButton.tsx +17 -2
  465. package/src/components/HMSDangerButton.tsx +3 -0
  466. package/src/components/HMSHLSMessage.tsx +130 -13
  467. package/src/components/HMSHLSMessageList.tsx +2 -2
  468. package/src/components/HMSHandRaiseNotification.tsx +17 -10
  469. package/src/components/HMSKeyboardAvoidingView.tsx +6 -1
  470. package/src/components/HMSLiveIndicator.tsx +9 -13
  471. package/src/components/HMSLiveViewerCount.tsx +21 -20
  472. package/src/components/HMSLocalScreenshareNotification.tsx +1 -0
  473. package/src/components/HMSNotification.tsx +56 -13
  474. package/src/components/HMSNotifications.tsx +12 -2
  475. package/src/components/HMSOverlayChatView.tsx +74 -17
  476. package/src/components/HMSPreviewEditName.tsx +3 -1
  477. package/src/components/HMSPreviewHLSLiveIndicator.tsx +2 -6
  478. package/src/components/HMSPrimaryButton.tsx +3 -0
  479. package/src/components/HMSRecordingIndicator.tsx +8 -22
  480. package/src/components/HMSRoomOptions.tsx +4 -1
  481. package/src/components/HMSTerminalErrorNotification.tsx +15 -10
  482. package/src/components/Header.tsx +4 -1
  483. package/src/components/LeaveRoomBottomSheet.tsx +13 -11
  484. package/src/components/Meeting.tsx +4 -0
  485. package/src/components/MeetingScreenContent.tsx +24 -21
  486. package/src/components/Modals.tsx +23 -25
  487. package/src/components/Participants/ParticipantsItemOptions.tsx +12 -7
  488. package/src/components/PeerSettingsModalContent.tsx +3 -1
  489. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +3 -1
  490. package/src/components/Preview.tsx +15 -2
  491. package/src/components/PreviewForRoleChangeModal.tsx +4 -3
  492. package/src/components/RoomSettingsModalContent.tsx +62 -18
  493. package/src/components/RoomSettingsModalDebugModeContent.tsx +2 -5
  494. package/src/components/WebrtcView.tsx +6 -2
  495. package/src/hooks-sdk-selectors.tsx +19 -0
  496. package/src/hooks-sdk.ts +37 -0
  497. package/src/hooks-util-selectors.tsx +2 -3
  498. package/src/hooks-util.ts +578 -87
  499. package/src/redux/actionTypes.ts +22 -2
  500. package/src/redux/actions/index.ts +41 -4
  501. package/src/redux/reducers/appState.ts +54 -5
  502. package/src/redux/reducers/chatWindow.ts +2 -2
  503. package/src/redux/reducers/message.ts +20 -6
  504. package/src/types.ts +35 -6
  505. package/src/utils/types.ts +3 -0
  506. package/src/utils.ts +2 -2
  507. package/lib/commonjs/components/Chat/PinnedMessage.js +0 -81
  508. package/lib/commonjs/components/Chat/PinnedMessage.js.map +0 -1
  509. package/lib/module/components/Chat/PinnedMessage.js +0 -72
  510. package/lib/module/components/Chat/PinnedMessage.js.map +0 -1
  511. package/lib/typescript/components/Chat/PinnedMessage.d.ts +0 -3
  512. package/lib/typescript/components/Chat/PinnedMessage.d.ts.map +0 -1
  513. package/src/components/Chat/PinnedMessage.tsx +0 -89
@@ -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}
@@ -10,7 +10,6 @@ import {
10
10
  } from 'react-native';
11
11
  import {
12
12
  HMSAudioMixingMode,
13
- HMSStreamingState,
14
13
  HMSUpdateListenerActions,
15
14
  checkNotifications,
16
15
  } from '@100mslive/react-native-hms';
@@ -27,6 +26,7 @@ import {
27
26
  } from '../redux/actions';
28
27
  import { ModalTypes, PipModes } from '../utils/types';
29
28
  import { useIsHLSViewer } from '../hooks-util';
29
+ import { useIsHLSStreamingOn } from '../hooks-sdk';
30
30
 
31
31
  interface RoomSettingsModalDebugModeContentProps {
32
32
  newAudioMixingMode: HMSAudioMixingMode;
@@ -60,10 +60,7 @@ export const RoomSettingsModalDebugModeContent: React.FC<
60
60
  const localPeerRole = useSelector(
61
61
  (state: RootState) => state.hmsStates.localPeer?.role
62
62
  );
63
- const isHLSStreaming = useSelector(
64
- (state: RootState) =>
65
- state.hmsStates.room?.hlsStreamingState?.state === HMSStreamingState.STARTED ?? false
66
- );
63
+ const isHLSStreaming = useIsHLSStreamingOn();
67
64
 
68
65
  const pipModeStatus = useSelector(
69
66
  (state: RootState) => state.app.pipModeStatus
@@ -1,6 +1,10 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import { useSelector } from 'react-redux';
3
- import { SafeAreaView, useSafeAreaFrame, useSafeAreaInsets } from 'react-native-safe-area-context';
3
+ import {
4
+ SafeAreaView,
5
+ useSafeAreaFrame,
6
+ useSafeAreaInsets,
7
+ } from 'react-native-safe-area-context';
4
8
  import type { SharedValue } from 'react-native-reanimated';
5
9
  import Animated, {
6
10
  interpolate,
@@ -100,7 +104,7 @@ export const WebrtcView = React.forwardRef<GridViewRefAttrs, WebrtcViewProps>(
100
104
  }
101
105
 
102
106
  return (
103
- <SafeAreaView edges={['left','right']} style={{ flex: 1 }}>
107
+ <SafeAreaView edges={['left', 'right']} style={{ flex: 1 }}>
104
108
  <Animated.View style={headerPlaceholderAnimatedStyles} />
105
109
 
106
110
  <Animated.View style={animatedStyles}>
@@ -1,3 +1,4 @@
1
+ import { HMSStreamingState } from '@100mslive/react-native-hms';
1
2
  import type { HMSRole } from '@100mslive/react-native-hms';
2
3
 
3
4
  import type { RootState } from './redux';
@@ -14,3 +15,21 @@ export const selectCanPublishTrackForRole = (
14
15
  role: HMSRole | undefined,
15
16
  track: 'audio' | 'video' | 'screen'
16
17
  ) => role?.publishSettings?.allowed?.includes(track) ?? false;
18
+
19
+ export const selectIsHLSStreamingOn = (state: RootState) => {
20
+ return (
21
+ state.hmsStates.room?.hlsStreamingState?.state ===
22
+ HMSStreamingState.STARTED ?? false
23
+ );
24
+ };
25
+
26
+ export const selectIsRTMPStreamingOn = (state: RootState) => {
27
+ return (
28
+ state.hmsStates.room?.rtmpHMSRtmpStreamingState?.state ===
29
+ HMSStreamingState.STARTED ?? false
30
+ );
31
+ };
32
+
33
+ export const selectIsAnyStreamingOn = (state: RootState) => {
34
+ return selectIsHLSStreamingOn(state) || selectIsRTMPStreamingOn(state);
35
+ };
package/src/hooks-sdk.ts CHANGED
@@ -10,9 +10,12 @@ import {
10
10
  import {
11
11
  selectAllowedTracksToPublish,
12
12
  selectCanPublishTrack,
13
+ selectIsAnyStreamingOn,
14
+ selectIsHLSStreamingOn,
13
15
  } from './hooks-sdk-selectors';
14
16
  import { useCallback } from 'react';
15
17
  import type { HMSPeer } from '@100mslive/react-native-hms';
18
+ import { HMSRecordingState } from '@100mslive/react-native-hms';
16
19
 
17
20
  export const useAllowedTracksToPublish = () => {
18
21
  return useSelector(selectAllowedTracksToPublish);
@@ -254,3 +257,37 @@ export const useHMSActions = () => {
254
257
  setRoomMuteLocally,
255
258
  };
256
259
  };
260
+
261
+ export const useIsHLSStreamingOn = () => {
262
+ return useSelector(selectIsHLSStreamingOn);
263
+ };
264
+
265
+ export const useIsAnyStreamingOn = () => {
266
+ return useSelector(selectIsAnyStreamingOn);
267
+ };
268
+
269
+ export const useIsAnyRecordingOn = () => {
270
+ return useSelector((state: RootState) => {
271
+ const room = state.hmsStates.room;
272
+ return (
273
+ room?.browserRecordingState?.state === HMSRecordingState.STARTED ||
274
+ room?.browserRecordingState?.state === HMSRecordingState.RESUMED ||
275
+ room?.serverRecordingState?.state === HMSRecordingState.STARTED ||
276
+ room?.serverRecordingState?.state === HMSRecordingState.RESUMED ||
277
+ room?.hlsRecordingState?.state === HMSRecordingState.STARTED ||
278
+ room?.hlsRecordingState?.state === HMSRecordingState.RESUMED
279
+ );
280
+ });
281
+ };
282
+
283
+ export const useIsAnyRecordingPaused = () => {
284
+ const isRecordingPaused = useSelector((state: RootState) => {
285
+ const room = state.hmsStates.room;
286
+ return (
287
+ room?.browserRecordingState?.state === HMSRecordingState.PAUSED ||
288
+ room?.serverRecordingState?.state === HMSRecordingState.PAUSED ||
289
+ room?.hlsRecordingState?.state === HMSRecordingState.PAUSED
290
+ );
291
+ });
292
+ return isRecordingPaused;
293
+ };
@@ -3,11 +3,11 @@ import type {
3
3
  HLSLiveStreamingScreen,
4
4
  Layout,
5
5
  } from '@100mslive/types-prebuilt';
6
- import { HMSStreamingState } from '@100mslive/react-native-hms';
7
6
  import type { HMSRole } from '@100mslive/react-native-hms';
8
7
  import { JoinForm_JoinBtnType } from '@100mslive/types-prebuilt/elements/join_form';
9
8
 
10
9
  import type { RootState } from './redux';
10
+ import { selectIsHLSStreamingOn } from './hooks-sdk-selectors';
11
11
 
12
12
  export const selectIsHLSViewer = (
13
13
  role: HMSRole | null | undefined,
@@ -46,8 +46,7 @@ export const selectShouldGoLive = (state: RootState) => {
46
46
  currentRole
47
47
  );
48
48
 
49
- const isHLSStreaming =
50
- state.hmsStates.room?.hlsStreamingState?.state === HMSStreamingState.STARTED ?? false;
49
+ const isHLSStreaming = selectIsHLSStreamingOn(state);
51
50
 
52
51
  const joinButtonType =
53
52
  layoutConfig?.screens?.preview?.default?.elements?.join_form