@100mslive/react-native-room-kit 0.0.1

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 (1111) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +25 -0
  3. package/lib/commonjs/HMSContainer.js +20 -0
  4. package/lib/commonjs/HMSContainer.js.map +1 -0
  5. package/lib/commonjs/HMSInstanceSetup.js +160 -0
  6. package/lib/commonjs/HMSInstanceSetup.js.map +1 -0
  7. package/lib/commonjs/HMSPrebuilt.js +32 -0
  8. package/lib/commonjs/HMSPrebuilt.js.map +1 -0
  9. package/lib/commonjs/HMSRoomSetup.js +216 -0
  10. package/lib/commonjs/HMSRoomSetup.js.map +1 -0
  11. package/lib/commonjs/Icons/100ms/assets/hms-logo.png +0 -0
  12. package/lib/commonjs/Icons/100ms/assets/hms-logo@2x.png +0 -0
  13. package/lib/commonjs/Icons/100ms/assets/hms-logo@3x.png +0 -0
  14. package/lib/commonjs/Icons/100ms/index.js +30 -0
  15. package/lib/commonjs/Icons/100ms/index.js.map +1 -0
  16. package/lib/commonjs/Icons/Alert/assets/alert.png +0 -0
  17. package/lib/commonjs/Icons/Alert/assets/alert@2x.png +0 -0
  18. package/lib/commonjs/Icons/Alert/assets/alert@3x.png +0 -0
  19. package/lib/commonjs/Icons/Alert/index.js +30 -0
  20. package/lib/commonjs/Icons/Alert/index.js.map +1 -0
  21. package/lib/commonjs/Icons/Camera/assets/camera-muted.png +0 -0
  22. package/lib/commonjs/Icons/Camera/assets/camera-muted@2x.png +0 -0
  23. package/lib/commonjs/Icons/Camera/assets/camera-muted@3x.png +0 -0
  24. package/lib/commonjs/Icons/Camera/assets/camera-unmuted.png +0 -0
  25. package/lib/commonjs/Icons/Camera/assets/camera-unmuted@2x.png +0 -0
  26. package/lib/commonjs/Icons/Camera/assets/camera-unmuted@3x.png +0 -0
  27. package/lib/commonjs/Icons/Camera/index.js +31 -0
  28. package/lib/commonjs/Icons/Camera/index.js.map +1 -0
  29. package/lib/commonjs/Icons/Chat/assets/chat.png +0 -0
  30. package/lib/commonjs/Icons/Chat/assets/chat@2x.png +0 -0
  31. package/lib/commonjs/Icons/Chat/assets/chat@3x.png +0 -0
  32. package/lib/commonjs/Icons/Chat/index.js +30 -0
  33. package/lib/commonjs/Icons/Chat/index.js.map +1 -0
  34. package/lib/commonjs/Icons/Chevron/assets/chevron-down.png +0 -0
  35. package/lib/commonjs/Icons/Chevron/assets/chevron-down@2x.png +0 -0
  36. package/lib/commonjs/Icons/Chevron/assets/chevron-down@3x.png +0 -0
  37. package/lib/commonjs/Icons/Chevron/assets/chevron-left.png +0 -0
  38. package/lib/commonjs/Icons/Chevron/assets/chevron-left@2x.png +0 -0
  39. package/lib/commonjs/Icons/Chevron/assets/chevron-left@3x.png +0 -0
  40. package/lib/commonjs/Icons/Chevron/index.js +31 -0
  41. package/lib/commonjs/Icons/Chevron/index.js.map +1 -0
  42. package/lib/commonjs/Icons/Clock/assets/clock.png +0 -0
  43. package/lib/commonjs/Icons/Clock/assets/clock@2x.png +0 -0
  44. package/lib/commonjs/Icons/Clock/assets/clock@3x.png +0 -0
  45. package/lib/commonjs/Icons/Clock/index.js +30 -0
  46. package/lib/commonjs/Icons/Clock/index.js.map +1 -0
  47. package/lib/commonjs/Icons/Close/assets/close.png +0 -0
  48. package/lib/commonjs/Icons/Close/assets/close@2x.png +0 -0
  49. package/lib/commonjs/Icons/Close/assets/close@3x.png +0 -0
  50. package/lib/commonjs/Icons/Close/index.js +30 -0
  51. package/lib/commonjs/Icons/Close/index.js.map +1 -0
  52. package/lib/commonjs/Icons/End/assets/end.png +0 -0
  53. package/lib/commonjs/Icons/End/assets/end@2x.png +0 -0
  54. package/lib/commonjs/Icons/End/assets/end@3x.png +0 -0
  55. package/lib/commonjs/Icons/End/index.js +30 -0
  56. package/lib/commonjs/Icons/End/index.js.map +1 -0
  57. package/lib/commonjs/Icons/Hand/assets/hand.png +0 -0
  58. package/lib/commonjs/Icons/Hand/assets/hand@2x.png +0 -0
  59. package/lib/commonjs/Icons/Hand/assets/hand@3x.png +0 -0
  60. package/lib/commonjs/Icons/Hand/index.js +32 -0
  61. package/lib/commonjs/Icons/Hand/index.js.map +1 -0
  62. package/lib/commonjs/Icons/Leave/assets/leave.png +0 -0
  63. package/lib/commonjs/Icons/Leave/assets/leave@2x.png +0 -0
  64. package/lib/commonjs/Icons/Leave/assets/leave@3x.png +0 -0
  65. package/lib/commonjs/Icons/Leave/index.js +30 -0
  66. package/lib/commonjs/Icons/Leave/index.js.map +1 -0
  67. package/lib/commonjs/Icons/Mic/assets/mic-muted.png +0 -0
  68. package/lib/commonjs/Icons/Mic/assets/mic-muted@2x.png +0 -0
  69. package/lib/commonjs/Icons/Mic/assets/mic-muted@3x.png +0 -0
  70. package/lib/commonjs/Icons/Mic/assets/mic-unmuted.png +0 -0
  71. package/lib/commonjs/Icons/Mic/assets/mic-unmuted@2x.png +0 -0
  72. package/lib/commonjs/Icons/Mic/assets/mic-unmuted@3x.png +0 -0
  73. package/lib/commonjs/Icons/Mic/index.js +31 -0
  74. package/lib/commonjs/Icons/Mic/index.js.map +1 -0
  75. package/lib/commonjs/Icons/NetworkQuality/assets/network_0.png +0 -0
  76. package/lib/commonjs/Icons/NetworkQuality/assets/network_0@2x.png +0 -0
  77. package/lib/commonjs/Icons/NetworkQuality/assets/network_0@3x.png +0 -0
  78. package/lib/commonjs/Icons/NetworkQuality/assets/network_1.png +0 -0
  79. package/lib/commonjs/Icons/NetworkQuality/assets/network_1@2x.png +0 -0
  80. package/lib/commonjs/Icons/NetworkQuality/assets/network_1@3x.png +0 -0
  81. package/lib/commonjs/Icons/NetworkQuality/assets/network_2.png +0 -0
  82. package/lib/commonjs/Icons/NetworkQuality/assets/network_2@2x.png +0 -0
  83. package/lib/commonjs/Icons/NetworkQuality/assets/network_2@3x.png +0 -0
  84. package/lib/commonjs/Icons/NetworkQuality/assets/network_3.png +0 -0
  85. package/lib/commonjs/Icons/NetworkQuality/assets/network_3@2x.png +0 -0
  86. package/lib/commonjs/Icons/NetworkQuality/assets/network_3@3x.png +0 -0
  87. package/lib/commonjs/Icons/NetworkQuality/assets/network_4.png +0 -0
  88. package/lib/commonjs/Icons/NetworkQuality/assets/network_4@2x.png +0 -0
  89. package/lib/commonjs/Icons/NetworkQuality/assets/network_4@3x.png +0 -0
  90. package/lib/commonjs/Icons/NetworkQuality/assets/network_5.png +0 -0
  91. package/lib/commonjs/Icons/NetworkQuality/assets/network_5@2x.png +0 -0
  92. package/lib/commonjs/Icons/NetworkQuality/assets/network_5@3x.png +0 -0
  93. package/lib/commonjs/Icons/NetworkQuality/index.js +31 -0
  94. package/lib/commonjs/Icons/NetworkQuality/index.js.map +1 -0
  95. package/lib/commonjs/Icons/Participants/assets/participants.png +0 -0
  96. package/lib/commonjs/Icons/Participants/assets/participants@2x.png +0 -0
  97. package/lib/commonjs/Icons/Participants/assets/participants@3x.png +0 -0
  98. package/lib/commonjs/Icons/Participants/index.js +30 -0
  99. package/lib/commonjs/Icons/Participants/index.js.map +1 -0
  100. package/lib/commonjs/Icons/RotateCamera/assets/rotate-camera.png +0 -0
  101. package/lib/commonjs/Icons/RotateCamera/assets/rotate-camera@2x.png +0 -0
  102. package/lib/commonjs/Icons/RotateCamera/assets/rotate-camera@3x.png +0 -0
  103. package/lib/commonjs/Icons/RotateCamera/index.js +30 -0
  104. package/lib/commonjs/Icons/RotateCamera/index.js.map +1 -0
  105. package/lib/commonjs/Icons/ScreenShare/assets/screen-share.png +0 -0
  106. package/lib/commonjs/Icons/ScreenShare/assets/screen-share@2x.png +0 -0
  107. package/lib/commonjs/Icons/ScreenShare/assets/screen-share@3x.png +0 -0
  108. package/lib/commonjs/Icons/ScreenShare/index.js +30 -0
  109. package/lib/commonjs/Icons/ScreenShare/index.js.map +1 -0
  110. package/lib/commonjs/Icons/Send/assets/send.png +0 -0
  111. package/lib/commonjs/Icons/Send/assets/send@2x.png +0 -0
  112. package/lib/commonjs/Icons/Send/assets/send@3x.png +0 -0
  113. package/lib/commonjs/Icons/Send/index.js +30 -0
  114. package/lib/commonjs/Icons/Send/index.js.map +1 -0
  115. package/lib/commonjs/Icons/Settings/assets/settings.png +0 -0
  116. package/lib/commonjs/Icons/Settings/assets/settings@2x.png +0 -0
  117. package/lib/commonjs/Icons/Settings/assets/settings@3x.png +0 -0
  118. package/lib/commonjs/Icons/Settings/index.js +30 -0
  119. package/lib/commonjs/Icons/Settings/index.js.map +1 -0
  120. package/lib/commonjs/Icons/Speaker/assets/speaker-muted.png +0 -0
  121. package/lib/commonjs/Icons/Speaker/assets/speaker-muted@2x.png +0 -0
  122. package/lib/commonjs/Icons/Speaker/assets/speaker-muted@3x.png +0 -0
  123. package/lib/commonjs/Icons/Speaker/assets/speaker.png +0 -0
  124. package/lib/commonjs/Icons/Speaker/assets/speaker@2x.png +0 -0
  125. package/lib/commonjs/Icons/Speaker/assets/speaker@3x.png +0 -0
  126. package/lib/commonjs/Icons/Speaker/index.js +31 -0
  127. package/lib/commonjs/Icons/Speaker/index.js.map +1 -0
  128. package/lib/commonjs/Icons/ThreeDots/assets/three-dots-vertical.png +0 -0
  129. package/lib/commonjs/Icons/ThreeDots/assets/three-dots-vertical@2x.png +0 -0
  130. package/lib/commonjs/Icons/ThreeDots/assets/three-dots-vertical@3x.png +0 -0
  131. package/lib/commonjs/Icons/ThreeDots/index.js +31 -0
  132. package/lib/commonjs/Icons/ThreeDots/index.js.map +1 -0
  133. package/lib/commonjs/Icons/index.js +215 -0
  134. package/lib/commonjs/Icons/index.js.map +1 -0
  135. package/lib/commonjs/assets/100ms-logo.png +0 -0
  136. package/lib/commonjs/assets/brb.png +0 -0
  137. package/lib/commonjs/assets/icon.png +0 -0
  138. package/lib/commonjs/assets/illustration.png +0 -0
  139. package/lib/commonjs/assets/network_0.png +0 -0
  140. package/lib/commonjs/assets/network_1.png +0 -0
  141. package/lib/commonjs/assets/network_2.png +0 -0
  142. package/lib/commonjs/assets/network_3.png +0 -0
  143. package/lib/commonjs/assets/network_4.png +0 -0
  144. package/lib/commonjs/assets/user_music.png +0 -0
  145. package/lib/commonjs/components/AvatarView.js +48 -0
  146. package/lib/commonjs/components/AvatarView.js.map +1 -0
  147. package/lib/commonjs/components/BackButton.js +42 -0
  148. package/lib/commonjs/components/BackButton.js.map +1 -0
  149. package/lib/commonjs/components/Chat/ChatBanner.js +77 -0
  150. package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -0
  151. package/lib/commonjs/components/Chat/ChatList.js +51 -0
  152. package/lib/commonjs/components/Chat/ChatList.js.map +1 -0
  153. package/lib/commonjs/components/Chat/ChatMessage.js +175 -0
  154. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -0
  155. package/lib/commonjs/components/Chat/PinnedMessage.js +85 -0
  156. package/lib/commonjs/components/Chat/PinnedMessage.js.map +1 -0
  157. package/lib/commonjs/components/Chat/index.js +50 -0
  158. package/lib/commonjs/components/Chat/index.js.map +1 -0
  159. package/lib/commonjs/components/ChatWindow.js +608 -0
  160. package/lib/commonjs/components/ChatWindow.js.map +1 -0
  161. package/lib/commonjs/components/CustomButton.js +53 -0
  162. package/lib/commonjs/components/CustomButton.js.map +1 -0
  163. package/lib/commonjs/components/CustomHLSPlayerControls.js +81 -0
  164. package/lib/commonjs/components/CustomHLSPlayerControls.js.map +1 -0
  165. package/lib/commonjs/components/CustomInput.js +90 -0
  166. package/lib/commonjs/components/CustomInput.js.map +1 -0
  167. package/lib/commonjs/components/DefaultModal.js +104 -0
  168. package/lib/commonjs/components/DefaultModal.js.map +1 -0
  169. package/lib/commonjs/components/DisplayTrack.js +70 -0
  170. package/lib/commonjs/components/DisplayTrack.js.map +1 -0
  171. package/lib/commonjs/components/DisplayView.js +213 -0
  172. package/lib/commonjs/components/DisplayView.js.map +1 -0
  173. package/lib/commonjs/components/Footer.js +86 -0
  174. package/lib/commonjs/components/Footer.js.map +1 -0
  175. package/lib/commonjs/components/FullScreenIndicator.js +25 -0
  176. package/lib/commonjs/components/FullScreenIndicator.js.map +1 -0
  177. package/lib/commonjs/components/GridView.js +98 -0
  178. package/lib/commonjs/components/GridView.js.map +1 -0
  179. package/lib/commonjs/components/HLSPlayerEmoticons.js +48 -0
  180. package/lib/commonjs/components/HLSPlayerEmoticons.js.map +1 -0
  181. package/lib/commonjs/components/HLSPlayerStatsView.js +64 -0
  182. package/lib/commonjs/components/HLSPlayerStatsView.js.map +1 -0
  183. package/lib/commonjs/components/HLSView.js +141 -0
  184. package/lib/commonjs/components/HLSView.js.map +1 -0
  185. package/lib/commonjs/components/HMSChat.js +31 -0
  186. package/lib/commonjs/components/HMSChat.js.map +1 -0
  187. package/lib/commonjs/components/HMSHLSNotStarted.js +59 -0
  188. package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -0
  189. package/lib/commonjs/components/HMSManageCameraRotation.js +42 -0
  190. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -0
  191. package/lib/commonjs/components/HMSManageLeave.js +286 -0
  192. package/lib/commonjs/components/HMSManageLeave.js.map +1 -0
  193. package/lib/commonjs/components/HMSManageLocalAudio.js +46 -0
  194. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -0
  195. package/lib/commonjs/components/HMSManageLocalVideo.js +46 -0
  196. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -0
  197. package/lib/commonjs/components/HMSManageRaiseHand.js +48 -0
  198. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -0
  199. package/lib/commonjs/components/HMSPreviewDeviceSettings.js +305 -0
  200. package/lib/commonjs/components/HMSPreviewDeviceSettings.js.map +1 -0
  201. package/lib/commonjs/components/HMSPreviewEditName.js +63 -0
  202. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -0
  203. package/lib/commonjs/components/HMSPreviewJoinButton.js +56 -0
  204. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -0
  205. package/lib/commonjs/components/HMSPreviewPeersList.js +89 -0
  206. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -0
  207. package/lib/commonjs/components/HMSPreviewSubtitle.js +32 -0
  208. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -0
  209. package/lib/commonjs/components/HMSPreviewTile.js +138 -0
  210. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -0
  211. package/lib/commonjs/components/HMSPreviewTitle.js +32 -0
  212. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -0
  213. package/lib/commonjs/components/HMSRoomOptions.js +105 -0
  214. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -0
  215. package/lib/commonjs/components/HMSShareScreen.js +59 -0
  216. package/lib/commonjs/components/HMSShareScreen.js.map +1 -0
  217. package/lib/commonjs/components/HMSShowNetworkQuality.js +57 -0
  218. package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -0
  219. package/lib/commonjs/components/Header.js +177 -0
  220. package/lib/commonjs/components/Header.js.map +1 -0
  221. package/lib/commonjs/components/LiveButton.js +70 -0
  222. package/lib/commonjs/components/LiveButton.js.map +1 -0
  223. package/lib/commonjs/components/Meeting.js +64 -0
  224. package/lib/commonjs/components/Meeting.js.map +1 -0
  225. package/lib/commonjs/components/MeetingScreenContent.js +98 -0
  226. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -0
  227. package/lib/commonjs/components/MenuModal/Menu.js +250 -0
  228. package/lib/commonjs/components/MenuModal/Menu.js.map +1 -0
  229. package/lib/commonjs/components/MenuModal/MenuDivider.js +27 -0
  230. package/lib/commonjs/components/MenuModal/MenuDivider.js.map +1 -0
  231. package/lib/commonjs/components/MenuModal/MenuItem.js +60 -0
  232. package/lib/commonjs/components/MenuModal/MenuItem.js.map +1 -0
  233. package/lib/commonjs/components/MenuModal/index.js +27 -0
  234. package/lib/commonjs/components/MenuModal/index.js.map +1 -0
  235. package/lib/commonjs/components/Modals.js +1640 -0
  236. package/lib/commonjs/components/Modals.js.map +1 -0
  237. package/lib/commonjs/components/PIPView.js +33 -0
  238. package/lib/commonjs/components/PIPView.js.map +1 -0
  239. package/lib/commonjs/components/Participants/ParticipantsFilter.js +128 -0
  240. package/lib/commonjs/components/Participants/ParticipantsFilter.js.map +1 -0
  241. package/lib/commonjs/components/Participants/ParticipantsHeader.js +67 -0
  242. package/lib/commonjs/components/Participants/ParticipantsHeader.js.map +1 -0
  243. package/lib/commonjs/components/Participants/ParticipantsList.js +274 -0
  244. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -0
  245. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +55 -0
  246. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -0
  247. package/lib/commonjs/components/Participants/SearchableParticipantsView.js +27 -0
  248. package/lib/commonjs/components/Participants/SearchableParticipantsView.js.map +1 -0
  249. package/lib/commonjs/components/Participants/index.js +61 -0
  250. package/lib/commonjs/components/Participants/index.js.map +1 -0
  251. package/lib/commonjs/components/ParticipantsModal.js +43 -0
  252. package/lib/commonjs/components/ParticipantsModal.js.map +1 -0
  253. package/lib/commonjs/components/PeerDisplayView.js +79 -0
  254. package/lib/commonjs/components/PeerDisplayView.js.map +1 -0
  255. package/lib/commonjs/components/PeerRTCStatsContainer.js +70 -0
  256. package/lib/commonjs/components/PeerRTCStatsContainer.js.map +1 -0
  257. package/lib/commonjs/components/PeerRTCStatsView.js +54 -0
  258. package/lib/commonjs/components/PeerRTCStatsView.js.map +1 -0
  259. package/lib/commonjs/components/PeerSettingsModalContent.js +241 -0
  260. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -0
  261. package/lib/commonjs/components/Picker.js +93 -0
  262. package/lib/commonjs/components/Picker.js.map +1 -0
  263. package/lib/commonjs/components/PressableIcon.js +46 -0
  264. package/lib/commonjs/components/PressableIcon.js.map +1 -0
  265. package/lib/commonjs/components/Preview.js +86 -0
  266. package/lib/commonjs/components/Preview.js.map +1 -0
  267. package/lib/commonjs/components/RoomSettingsModalContent.js +515 -0
  268. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -0
  269. package/lib/commonjs/components/StatusBar.js +26 -0
  270. package/lib/commonjs/components/StatusBar.js.map +1 -0
  271. package/lib/commonjs/components/StreamingQualityModalContent.js +215 -0
  272. package/lib/commonjs/components/StreamingQualityModalContent.js.map +1 -0
  273. package/lib/commonjs/components/SwitchRow.js +49 -0
  274. package/lib/commonjs/components/SwitchRow.js.map +1 -0
  275. package/lib/commonjs/components/Tile.js +111 -0
  276. package/lib/commonjs/components/Tile.js.map +1 -0
  277. package/lib/commonjs/components/TilesContainer.js +38 -0
  278. package/lib/commonjs/components/TilesContainer.js.map +1 -0
  279. package/lib/commonjs/components/ZoomableView.js +84 -0
  280. package/lib/commonjs/components/ZoomableView.js.map +1 -0
  281. package/lib/commonjs/components/index.js +94 -0
  282. package/lib/commonjs/components/index.js.map +1 -0
  283. package/lib/commonjs/components/styles.js +965 -0
  284. package/lib/commonjs/components/styles.js.map +1 -0
  285. package/lib/commonjs/hooks/useHmsInstance.js +175 -0
  286. package/lib/commonjs/hooks/useHmsInstance.js.map +1 -0
  287. package/lib/commonjs/hooks-sdk-selectors.js +17 -0
  288. package/lib/commonjs/hooks-sdk-selectors.js.map +1 -0
  289. package/lib/commonjs/hooks-sdk.js +126 -0
  290. package/lib/commonjs/hooks-sdk.js.map +1 -0
  291. package/lib/commonjs/hooks-util-selectors.js +12 -0
  292. package/lib/commonjs/hooks-util-selectors.js.map +1 -0
  293. package/lib/commonjs/hooks-util.js +792 -0
  294. package/lib/commonjs/hooks-util.js.map +1 -0
  295. package/lib/commonjs/index.js +17 -0
  296. package/lib/commonjs/index.js.map +1 -0
  297. package/lib/commonjs/peerTrackNodeUtils.js +65 -0
  298. package/lib/commonjs/peerTrackNodeUtils.js.map +1 -0
  299. package/lib/commonjs/redux/actionTypes.js +75 -0
  300. package/lib/commonjs/redux/actionTypes.js.map +1 -0
  301. package/lib/commonjs/redux/actions/index.js +182 -0
  302. package/lib/commonjs/redux/actions/index.js.map +1 -0
  303. package/lib/commonjs/redux/index.js +12 -0
  304. package/lib/commonjs/redux/index.js.map +1 -0
  305. package/lib/commonjs/redux/reducers/appState.js +131 -0
  306. package/lib/commonjs/redux/reducers/appState.js.map +1 -0
  307. package/lib/commonjs/redux/reducers/chatWindow.js +45 -0
  308. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -0
  309. package/lib/commonjs/redux/reducers/hmsStates.js +67 -0
  310. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -0
  311. package/lib/commonjs/redux/reducers/index.js +22 -0
  312. package/lib/commonjs/redux/reducers/index.js.map +1 -0
  313. package/lib/commonjs/redux/reducers/message.js +43 -0
  314. package/lib/commonjs/redux/reducers/message.js.map +1 -0
  315. package/lib/commonjs/redux/reducers/userState.js +67 -0
  316. package/lib/commonjs/redux/reducers/userState.js.map +1 -0
  317. package/lib/commonjs/types.js +16 -0
  318. package/lib/commonjs/types.js.map +1 -0
  319. package/lib/commonjs/utils/dimension.js +64 -0
  320. package/lib/commonjs/utils/dimension.js.map +1 -0
  321. package/lib/commonjs/utils/functions.js +368 -0
  322. package/lib/commonjs/utils/functions.js.map +1 -0
  323. package/lib/commonjs/utils/getRoomLinkDetails.js +23 -0
  324. package/lib/commonjs/utils/getRoomLinkDetails.js.map +1 -0
  325. package/lib/commonjs/utils/hooks.js +46 -0
  326. package/lib/commonjs/utils/hooks.js.map +1 -0
  327. package/lib/commonjs/utils/theme.js +144 -0
  328. package/lib/commonjs/utils/theme.js.map +1 -0
  329. package/lib/commonjs/utils/types.js +104 -0
  330. package/lib/commonjs/utils/types.js.map +1 -0
  331. package/lib/commonjs/utils.js +30 -0
  332. package/lib/commonjs/utils.js.map +1 -0
  333. package/lib/module/HMSContainer.js +12 -0
  334. package/lib/module/HMSContainer.js.map +1 -0
  335. package/lib/module/HMSInstanceSetup.js +151 -0
  336. package/lib/module/HMSInstanceSetup.js.map +1 -0
  337. package/lib/module/HMSPrebuilt.js +22 -0
  338. package/lib/module/HMSPrebuilt.js.map +1 -0
  339. package/lib/module/HMSRoomSetup.js +206 -0
  340. package/lib/module/HMSRoomSetup.js.map +1 -0
  341. package/lib/module/Icons/100ms/assets/hms-logo.png +0 -0
  342. package/lib/module/Icons/100ms/assets/hms-logo@2x.png +0 -0
  343. package/lib/module/Icons/100ms/assets/hms-logo@3x.png +0 -0
  344. package/lib/module/Icons/100ms/index.js +22 -0
  345. package/lib/module/Icons/100ms/index.js.map +1 -0
  346. package/lib/module/Icons/Alert/assets/alert.png +0 -0
  347. package/lib/module/Icons/Alert/assets/alert@2x.png +0 -0
  348. package/lib/module/Icons/Alert/assets/alert@3x.png +0 -0
  349. package/lib/module/Icons/Alert/index.js +22 -0
  350. package/lib/module/Icons/Alert/index.js.map +1 -0
  351. package/lib/module/Icons/Camera/assets/camera-muted.png +0 -0
  352. package/lib/module/Icons/Camera/assets/camera-muted@2x.png +0 -0
  353. package/lib/module/Icons/Camera/assets/camera-muted@3x.png +0 -0
  354. package/lib/module/Icons/Camera/assets/camera-unmuted.png +0 -0
  355. package/lib/module/Icons/Camera/assets/camera-unmuted@2x.png +0 -0
  356. package/lib/module/Icons/Camera/assets/camera-unmuted@3x.png +0 -0
  357. package/lib/module/Icons/Camera/index.js +23 -0
  358. package/lib/module/Icons/Camera/index.js.map +1 -0
  359. package/lib/module/Icons/Chat/assets/chat.png +0 -0
  360. package/lib/module/Icons/Chat/assets/chat@2x.png +0 -0
  361. package/lib/module/Icons/Chat/assets/chat@3x.png +0 -0
  362. package/lib/module/Icons/Chat/index.js +22 -0
  363. package/lib/module/Icons/Chat/index.js.map +1 -0
  364. package/lib/module/Icons/Chevron/assets/chevron-down.png +0 -0
  365. package/lib/module/Icons/Chevron/assets/chevron-down@2x.png +0 -0
  366. package/lib/module/Icons/Chevron/assets/chevron-down@3x.png +0 -0
  367. package/lib/module/Icons/Chevron/assets/chevron-left.png +0 -0
  368. package/lib/module/Icons/Chevron/assets/chevron-left@2x.png +0 -0
  369. package/lib/module/Icons/Chevron/assets/chevron-left@3x.png +0 -0
  370. package/lib/module/Icons/Chevron/index.js +23 -0
  371. package/lib/module/Icons/Chevron/index.js.map +1 -0
  372. package/lib/module/Icons/Clock/assets/clock.png +0 -0
  373. package/lib/module/Icons/Clock/assets/clock@2x.png +0 -0
  374. package/lib/module/Icons/Clock/assets/clock@3x.png +0 -0
  375. package/lib/module/Icons/Clock/index.js +22 -0
  376. package/lib/module/Icons/Clock/index.js.map +1 -0
  377. package/lib/module/Icons/Close/assets/close.png +0 -0
  378. package/lib/module/Icons/Close/assets/close@2x.png +0 -0
  379. package/lib/module/Icons/Close/assets/close@3x.png +0 -0
  380. package/lib/module/Icons/Close/index.js +22 -0
  381. package/lib/module/Icons/Close/index.js.map +1 -0
  382. package/lib/module/Icons/End/assets/end.png +0 -0
  383. package/lib/module/Icons/End/assets/end@2x.png +0 -0
  384. package/lib/module/Icons/End/assets/end@3x.png +0 -0
  385. package/lib/module/Icons/End/index.js +22 -0
  386. package/lib/module/Icons/End/index.js.map +1 -0
  387. package/lib/module/Icons/Hand/assets/hand.png +0 -0
  388. package/lib/module/Icons/Hand/assets/hand@2x.png +0 -0
  389. package/lib/module/Icons/Hand/assets/hand@3x.png +0 -0
  390. package/lib/module/Icons/Hand/index.js +24 -0
  391. package/lib/module/Icons/Hand/index.js.map +1 -0
  392. package/lib/module/Icons/Leave/assets/leave.png +0 -0
  393. package/lib/module/Icons/Leave/assets/leave@2x.png +0 -0
  394. package/lib/module/Icons/Leave/assets/leave@3x.png +0 -0
  395. package/lib/module/Icons/Leave/index.js +22 -0
  396. package/lib/module/Icons/Leave/index.js.map +1 -0
  397. package/lib/module/Icons/Mic/assets/mic-muted.png +0 -0
  398. package/lib/module/Icons/Mic/assets/mic-muted@2x.png +0 -0
  399. package/lib/module/Icons/Mic/assets/mic-muted@3x.png +0 -0
  400. package/lib/module/Icons/Mic/assets/mic-unmuted.png +0 -0
  401. package/lib/module/Icons/Mic/assets/mic-unmuted@2x.png +0 -0
  402. package/lib/module/Icons/Mic/assets/mic-unmuted@3x.png +0 -0
  403. package/lib/module/Icons/Mic/index.js +23 -0
  404. package/lib/module/Icons/Mic/index.js.map +1 -0
  405. package/lib/module/Icons/NetworkQuality/assets/network_0.png +0 -0
  406. package/lib/module/Icons/NetworkQuality/assets/network_0@2x.png +0 -0
  407. package/lib/module/Icons/NetworkQuality/assets/network_0@3x.png +0 -0
  408. package/lib/module/Icons/NetworkQuality/assets/network_1.png +0 -0
  409. package/lib/module/Icons/NetworkQuality/assets/network_1@2x.png +0 -0
  410. package/lib/module/Icons/NetworkQuality/assets/network_1@3x.png +0 -0
  411. package/lib/module/Icons/NetworkQuality/assets/network_2.png +0 -0
  412. package/lib/module/Icons/NetworkQuality/assets/network_2@2x.png +0 -0
  413. package/lib/module/Icons/NetworkQuality/assets/network_2@3x.png +0 -0
  414. package/lib/module/Icons/NetworkQuality/assets/network_3.png +0 -0
  415. package/lib/module/Icons/NetworkQuality/assets/network_3@2x.png +0 -0
  416. package/lib/module/Icons/NetworkQuality/assets/network_3@3x.png +0 -0
  417. package/lib/module/Icons/NetworkQuality/assets/network_4.png +0 -0
  418. package/lib/module/Icons/NetworkQuality/assets/network_4@2x.png +0 -0
  419. package/lib/module/Icons/NetworkQuality/assets/network_4@3x.png +0 -0
  420. package/lib/module/Icons/NetworkQuality/assets/network_5.png +0 -0
  421. package/lib/module/Icons/NetworkQuality/assets/network_5@2x.png +0 -0
  422. package/lib/module/Icons/NetworkQuality/assets/network_5@3x.png +0 -0
  423. package/lib/module/Icons/NetworkQuality/index.js +23 -0
  424. package/lib/module/Icons/NetworkQuality/index.js.map +1 -0
  425. package/lib/module/Icons/Participants/assets/participants.png +0 -0
  426. package/lib/module/Icons/Participants/assets/participants@2x.png +0 -0
  427. package/lib/module/Icons/Participants/assets/participants@3x.png +0 -0
  428. package/lib/module/Icons/Participants/index.js +22 -0
  429. package/lib/module/Icons/Participants/index.js.map +1 -0
  430. package/lib/module/Icons/RotateCamera/assets/rotate-camera.png +0 -0
  431. package/lib/module/Icons/RotateCamera/assets/rotate-camera@2x.png +0 -0
  432. package/lib/module/Icons/RotateCamera/assets/rotate-camera@3x.png +0 -0
  433. package/lib/module/Icons/RotateCamera/index.js +22 -0
  434. package/lib/module/Icons/RotateCamera/index.js.map +1 -0
  435. package/lib/module/Icons/ScreenShare/assets/screen-share.png +0 -0
  436. package/lib/module/Icons/ScreenShare/assets/screen-share@2x.png +0 -0
  437. package/lib/module/Icons/ScreenShare/assets/screen-share@3x.png +0 -0
  438. package/lib/module/Icons/ScreenShare/index.js +22 -0
  439. package/lib/module/Icons/ScreenShare/index.js.map +1 -0
  440. package/lib/module/Icons/Send/assets/send.png +0 -0
  441. package/lib/module/Icons/Send/assets/send@2x.png +0 -0
  442. package/lib/module/Icons/Send/assets/send@3x.png +0 -0
  443. package/lib/module/Icons/Send/index.js +22 -0
  444. package/lib/module/Icons/Send/index.js.map +1 -0
  445. package/lib/module/Icons/Settings/assets/settings.png +0 -0
  446. package/lib/module/Icons/Settings/assets/settings@2x.png +0 -0
  447. package/lib/module/Icons/Settings/assets/settings@3x.png +0 -0
  448. package/lib/module/Icons/Settings/index.js +22 -0
  449. package/lib/module/Icons/Settings/index.js.map +1 -0
  450. package/lib/module/Icons/Speaker/assets/speaker-muted.png +0 -0
  451. package/lib/module/Icons/Speaker/assets/speaker-muted@2x.png +0 -0
  452. package/lib/module/Icons/Speaker/assets/speaker-muted@3x.png +0 -0
  453. package/lib/module/Icons/Speaker/assets/speaker.png +0 -0
  454. package/lib/module/Icons/Speaker/assets/speaker@2x.png +0 -0
  455. package/lib/module/Icons/Speaker/assets/speaker@3x.png +0 -0
  456. package/lib/module/Icons/Speaker/index.js +23 -0
  457. package/lib/module/Icons/Speaker/index.js.map +1 -0
  458. package/lib/module/Icons/ThreeDots/assets/three-dots-vertical.png +0 -0
  459. package/lib/module/Icons/ThreeDots/assets/three-dots-vertical@2x.png +0 -0
  460. package/lib/module/Icons/ThreeDots/assets/three-dots-vertical@3x.png +0 -0
  461. package/lib/module/Icons/ThreeDots/index.js +23 -0
  462. package/lib/module/Icons/ThreeDots/index.js.map +1 -0
  463. package/lib/module/Icons/index.js +20 -0
  464. package/lib/module/Icons/index.js.map +1 -0
  465. package/lib/module/assets/100ms-logo.png +0 -0
  466. package/lib/module/assets/brb.png +0 -0
  467. package/lib/module/assets/icon.png +0 -0
  468. package/lib/module/assets/illustration.png +0 -0
  469. package/lib/module/assets/network_0.png +0 -0
  470. package/lib/module/assets/network_1.png +0 -0
  471. package/lib/module/assets/network_2.png +0 -0
  472. package/lib/module/assets/network_3.png +0 -0
  473. package/lib/module/assets/network_4.png +0 -0
  474. package/lib/module/assets/user_music.png +0 -0
  475. package/lib/module/components/AvatarView.js +39 -0
  476. package/lib/module/components/AvatarView.js.map +1 -0
  477. package/lib/module/components/BackButton.js +33 -0
  478. package/lib/module/components/BackButton.js.map +1 -0
  479. package/lib/module/components/Chat/ChatBanner.js +67 -0
  480. package/lib/module/components/Chat/ChatBanner.js.map +1 -0
  481. package/lib/module/components/Chat/ChatList.js +44 -0
  482. package/lib/module/components/Chat/ChatList.js.map +1 -0
  483. package/lib/module/components/Chat/ChatMessage.js +165 -0
  484. package/lib/module/components/Chat/ChatMessage.js.map +1 -0
  485. package/lib/module/components/Chat/PinnedMessage.js +75 -0
  486. package/lib/module/components/Chat/PinnedMessage.js.map +1 -0
  487. package/lib/module/components/Chat/index.js +5 -0
  488. package/lib/module/components/Chat/index.js.map +1 -0
  489. package/lib/module/components/ChatWindow.js +595 -0
  490. package/lib/module/components/ChatWindow.js.map +1 -0
  491. package/lib/module/components/CustomButton.js +46 -0
  492. package/lib/module/components/CustomButton.js.map +1 -0
  493. package/lib/module/components/CustomHLSPlayerControls.js +73 -0
  494. package/lib/module/components/CustomHLSPlayerControls.js.map +1 -0
  495. package/lib/module/components/CustomInput.js +83 -0
  496. package/lib/module/components/CustomInput.js.map +1 -0
  497. package/lib/module/components/DefaultModal.js +96 -0
  498. package/lib/module/components/DefaultModal.js.map +1 -0
  499. package/lib/module/components/DisplayTrack.js +63 -0
  500. package/lib/module/components/DisplayTrack.js.map +1 -0
  501. package/lib/module/components/DisplayView.js +203 -0
  502. package/lib/module/components/DisplayView.js.map +1 -0
  503. package/lib/module/components/Footer.js +76 -0
  504. package/lib/module/components/Footer.js.map +1 -0
  505. package/lib/module/components/FullScreenIndicator.js +17 -0
  506. package/lib/module/components/FullScreenIndicator.js.map +1 -0
  507. package/lib/module/components/GridView.js +90 -0
  508. package/lib/module/components/GridView.js.map +1 -0
  509. package/lib/module/components/HLSPlayerEmoticons.js +40 -0
  510. package/lib/module/components/HLSPlayerEmoticons.js.map +1 -0
  511. package/lib/module/components/HLSPlayerStatsView.js +56 -0
  512. package/lib/module/components/HLSPlayerStatsView.js.map +1 -0
  513. package/lib/module/components/HLSView.js +132 -0
  514. package/lib/module/components/HLSView.js.map +1 -0
  515. package/lib/module/components/HMSChat.js +22 -0
  516. package/lib/module/components/HMSChat.js.map +1 -0
  517. package/lib/module/components/HMSHLSNotStarted.js +50 -0
  518. package/lib/module/components/HMSHLSNotStarted.js.map +1 -0
  519. package/lib/module/components/HMSManageCameraRotation.js +33 -0
  520. package/lib/module/components/HMSManageCameraRotation.js.map +1 -0
  521. package/lib/module/components/HMSManageLeave.js +276 -0
  522. package/lib/module/components/HMSManageLeave.js.map +1 -0
  523. package/lib/module/components/HMSManageLocalAudio.js +37 -0
  524. package/lib/module/components/HMSManageLocalAudio.js.map +1 -0
  525. package/lib/module/components/HMSManageLocalVideo.js +37 -0
  526. package/lib/module/components/HMSManageLocalVideo.js.map +1 -0
  527. package/lib/module/components/HMSManageRaiseHand.js +39 -0
  528. package/lib/module/components/HMSManageRaiseHand.js.map +1 -0
  529. package/lib/module/components/HMSPreviewDeviceSettings.js +296 -0
  530. package/lib/module/components/HMSPreviewDeviceSettings.js.map +1 -0
  531. package/lib/module/components/HMSPreviewEditName.js +54 -0
  532. package/lib/module/components/HMSPreviewEditName.js.map +1 -0
  533. package/lib/module/components/HMSPreviewJoinButton.js +47 -0
  534. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -0
  535. package/lib/module/components/HMSPreviewPeersList.js +80 -0
  536. package/lib/module/components/HMSPreviewPeersList.js.map +1 -0
  537. package/lib/module/components/HMSPreviewSubtitle.js +23 -0
  538. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -0
  539. package/lib/module/components/HMSPreviewTile.js +129 -0
  540. package/lib/module/components/HMSPreviewTile.js.map +1 -0
  541. package/lib/module/components/HMSPreviewTitle.js +23 -0
  542. package/lib/module/components/HMSPreviewTitle.js.map +1 -0
  543. package/lib/module/components/HMSRoomOptions.js +96 -0
  544. package/lib/module/components/HMSRoomOptions.js.map +1 -0
  545. package/lib/module/components/HMSShareScreen.js +50 -0
  546. package/lib/module/components/HMSShareScreen.js.map +1 -0
  547. package/lib/module/components/HMSShowNetworkQuality.js +48 -0
  548. package/lib/module/components/HMSShowNetworkQuality.js.map +1 -0
  549. package/lib/module/components/Header.js +167 -0
  550. package/lib/module/components/Header.js.map +1 -0
  551. package/lib/module/components/LiveButton.js +61 -0
  552. package/lib/module/components/LiveButton.js.map +1 -0
  553. package/lib/module/components/Meeting.js +55 -0
  554. package/lib/module/components/Meeting.js.map +1 -0
  555. package/lib/module/components/MeetingScreenContent.js +89 -0
  556. package/lib/module/components/MeetingScreenContent.js.map +1 -0
  557. package/lib/module/components/MenuModal/Menu.js +242 -0
  558. package/lib/module/components/MenuModal/Menu.js.map +1 -0
  559. package/lib/module/components/MenuModal/MenuDivider.js +20 -0
  560. package/lib/module/components/MenuModal/MenuDivider.js.map +1 -0
  561. package/lib/module/components/MenuModal/MenuItem.js +53 -0
  562. package/lib/module/components/MenuModal/MenuItem.js.map +1 -0
  563. package/lib/module/components/MenuModal/index.js +4 -0
  564. package/lib/module/components/MenuModal/index.js.map +1 -0
  565. package/lib/module/components/Modals.js +1609 -0
  566. package/lib/module/components/Modals.js.map +1 -0
  567. package/lib/module/components/PIPView.js +23 -0
  568. package/lib/module/components/PIPView.js.map +1 -0
  569. package/lib/module/components/Participants/ParticipantsFilter.js +121 -0
  570. package/lib/module/components/Participants/ParticipantsFilter.js.map +1 -0
  571. package/lib/module/components/Participants/ParticipantsHeader.js +58 -0
  572. package/lib/module/components/Participants/ParticipantsHeader.js.map +1 -0
  573. package/lib/module/components/Participants/ParticipantsList.js +264 -0
  574. package/lib/module/components/Participants/ParticipantsList.js.map +1 -0
  575. package/lib/module/components/Participants/ParticipantsSeachInput.js +45 -0
  576. package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -0
  577. package/lib/module/components/Participants/SearchableParticipantsView.js +18 -0
  578. package/lib/module/components/Participants/SearchableParticipantsView.js.map +1 -0
  579. package/lib/module/components/Participants/index.js +6 -0
  580. package/lib/module/components/Participants/index.js.map +1 -0
  581. package/lib/module/components/ParticipantsModal.js +34 -0
  582. package/lib/module/components/ParticipantsModal.js.map +1 -0
  583. package/lib/module/components/PeerDisplayView.js +71 -0
  584. package/lib/module/components/PeerDisplayView.js.map +1 -0
  585. package/lib/module/components/PeerRTCStatsContainer.js +60 -0
  586. package/lib/module/components/PeerRTCStatsContainer.js.map +1 -0
  587. package/lib/module/components/PeerRTCStatsView.js +46 -0
  588. package/lib/module/components/PeerRTCStatsView.js.map +1 -0
  589. package/lib/module/components/PeerSettingsModalContent.js +233 -0
  590. package/lib/module/components/PeerSettingsModalContent.js.map +1 -0
  591. package/lib/module/components/Picker.js +83 -0
  592. package/lib/module/components/Picker.js.map +1 -0
  593. package/lib/module/components/PressableIcon.js +37 -0
  594. package/lib/module/components/PressableIcon.js.map +1 -0
  595. package/lib/module/components/Preview.js +77 -0
  596. package/lib/module/components/Preview.js.map +1 -0
  597. package/lib/module/components/RoomSettingsModalContent.js +505 -0
  598. package/lib/module/components/RoomSettingsModalContent.js.map +1 -0
  599. package/lib/module/components/StatusBar.js +17 -0
  600. package/lib/module/components/StatusBar.js.map +1 -0
  601. package/lib/module/components/StreamingQualityModalContent.js +205 -0
  602. package/lib/module/components/StreamingQualityModalContent.js.map +1 -0
  603. package/lib/module/components/SwitchRow.js +41 -0
  604. package/lib/module/components/SwitchRow.js.map +1 -0
  605. package/lib/module/components/Tile.js +104 -0
  606. package/lib/module/components/Tile.js.map +1 -0
  607. package/lib/module/components/TilesContainer.js +31 -0
  608. package/lib/module/components/TilesContainer.js.map +1 -0
  609. package/lib/module/components/ZoomableView.js +76 -0
  610. package/lib/module/components/ZoomableView.js.map +1 -0
  611. package/lib/module/components/index.js +9 -0
  612. package/lib/module/components/index.js.map +1 -0
  613. package/lib/module/components/styles.js +959 -0
  614. package/lib/module/components/styles.js.map +1 -0
  615. package/lib/module/hooks/useHmsInstance.js +174 -0
  616. package/lib/module/hooks/useHmsInstance.js.map +1 -0
  617. package/lib/module/hooks-sdk-selectors.js +9 -0
  618. package/lib/module/hooks-sdk-selectors.js.map +1 -0
  619. package/lib/module/hooks-sdk.js +115 -0
  620. package/lib/module/hooks-sdk.js.map +1 -0
  621. package/lib/module/hooks-util-selectors.js +5 -0
  622. package/lib/module/hooks-util-selectors.js.map +1 -0
  623. package/lib/module/hooks-util.js +772 -0
  624. package/lib/module/hooks-util.js.map +1 -0
  625. package/lib/module/index.js +2 -0
  626. package/lib/module/index.js.map +1 -0
  627. package/lib/module/peerTrackNodeUtils.js +52 -0
  628. package/lib/module/peerTrackNodeUtils.js.map +1 -0
  629. package/lib/module/redux/actionTypes.js +67 -0
  630. package/lib/module/redux/actionTypes.js.map +1 -0
  631. package/lib/module/redux/actions/index.js +144 -0
  632. package/lib/module/redux/actions/index.js.map +1 -0
  633. package/lib/module/redux/index.js +4 -0
  634. package/lib/module/redux/index.js.map +1 -0
  635. package/lib/module/redux/reducers/appState.js +123 -0
  636. package/lib/module/redux/reducers/appState.js.map +1 -0
  637. package/lib/module/redux/reducers/chatWindow.js +38 -0
  638. package/lib/module/redux/reducers/chatWindow.js.map +1 -0
  639. package/lib/module/redux/reducers/hmsStates.js +60 -0
  640. package/lib/module/redux/reducers/hmsStates.js.map +1 -0
  641. package/lib/module/redux/reducers/index.js +14 -0
  642. package/lib/module/redux/reducers/index.js.map +1 -0
  643. package/lib/module/redux/reducers/message.js +34 -0
  644. package/lib/module/redux/reducers/message.js.map +1 -0
  645. package/lib/module/redux/reducers/userState.js +58 -0
  646. package/lib/module/redux/reducers/userState.js.map +1 -0
  647. package/lib/module/types.js +9 -0
  648. package/lib/module/types.js.map +1 -0
  649. package/lib/module/utils/dimension.js +53 -0
  650. package/lib/module/utils/dimension.js.map +1 -0
  651. package/lib/module/utils/functions.js +338 -0
  652. package/lib/module/utils/functions.js.map +1 -0
  653. package/lib/module/utils/getRoomLinkDetails.js +16 -0
  654. package/lib/module/utils/getRoomLinkDetails.js.map +1 -0
  655. package/lib/module/utils/hooks.js +39 -0
  656. package/lib/module/utils/hooks.js.map +1 -0
  657. package/lib/module/utils/theme.js +134 -0
  658. package/lib/module/utils/theme.js.map +1 -0
  659. package/lib/module/utils/types.js +90 -0
  660. package/lib/module/utils/types.js.map +1 -0
  661. package/lib/module/utils.js +23 -0
  662. package/lib/module/utils.js.map +1 -0
  663. package/lib/typescript/HMSContainer.d.ts +3 -0
  664. package/lib/typescript/HMSContainer.d.ts.map +1 -0
  665. package/lib/typescript/HMSInstanceSetup.d.ts +3 -0
  666. package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -0
  667. package/lib/typescript/HMSPrebuilt.d.ts +18 -0
  668. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -0
  669. package/lib/typescript/HMSRoomSetup.d.ts +3 -0
  670. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -0
  671. package/lib/typescript/Icons/100ms/index.d.ts +7 -0
  672. package/lib/typescript/Icons/100ms/index.d.ts.map +1 -0
  673. package/lib/typescript/Icons/Alert/index.d.ts +7 -0
  674. package/lib/typescript/Icons/Alert/index.d.ts.map +1 -0
  675. package/lib/typescript/Icons/Camera/index.d.ts +8 -0
  676. package/lib/typescript/Icons/Camera/index.d.ts.map +1 -0
  677. package/lib/typescript/Icons/Chat/index.d.ts +7 -0
  678. package/lib/typescript/Icons/Chat/index.d.ts.map +1 -0
  679. package/lib/typescript/Icons/Chevron/index.d.ts +8 -0
  680. package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -0
  681. package/lib/typescript/Icons/Clock/index.d.ts +7 -0
  682. package/lib/typescript/Icons/Clock/index.d.ts.map +1 -0
  683. package/lib/typescript/Icons/Close/index.d.ts +7 -0
  684. package/lib/typescript/Icons/Close/index.d.ts.map +1 -0
  685. package/lib/typescript/Icons/End/index.d.ts +7 -0
  686. package/lib/typescript/Icons/End/index.d.ts.map +1 -0
  687. package/lib/typescript/Icons/Hand/index.d.ts +7 -0
  688. package/lib/typescript/Icons/Hand/index.d.ts.map +1 -0
  689. package/lib/typescript/Icons/Leave/index.d.ts +7 -0
  690. package/lib/typescript/Icons/Leave/index.d.ts.map +1 -0
  691. package/lib/typescript/Icons/Mic/index.d.ts +8 -0
  692. package/lib/typescript/Icons/Mic/index.d.ts.map +1 -0
  693. package/lib/typescript/Icons/NetworkQuality/index.d.ts +8 -0
  694. package/lib/typescript/Icons/NetworkQuality/index.d.ts.map +1 -0
  695. package/lib/typescript/Icons/Participants/index.d.ts +7 -0
  696. package/lib/typescript/Icons/Participants/index.d.ts.map +1 -0
  697. package/lib/typescript/Icons/RotateCamera/index.d.ts +7 -0
  698. package/lib/typescript/Icons/RotateCamera/index.d.ts.map +1 -0
  699. package/lib/typescript/Icons/ScreenShare/index.d.ts +7 -0
  700. package/lib/typescript/Icons/ScreenShare/index.d.ts.map +1 -0
  701. package/lib/typescript/Icons/Send/index.d.ts +7 -0
  702. package/lib/typescript/Icons/Send/index.d.ts.map +1 -0
  703. package/lib/typescript/Icons/Settings/index.d.ts +7 -0
  704. package/lib/typescript/Icons/Settings/index.d.ts.map +1 -0
  705. package/lib/typescript/Icons/Speaker/index.d.ts +8 -0
  706. package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -0
  707. package/lib/typescript/Icons/ThreeDots/index.d.ts +8 -0
  708. package/lib/typescript/Icons/ThreeDots/index.d.ts.map +1 -0
  709. package/lib/typescript/Icons/index.d.ts +20 -0
  710. package/lib/typescript/Icons/index.d.ts.map +1 -0
  711. package/lib/typescript/components/AvatarView.d.ts +10 -0
  712. package/lib/typescript/components/AvatarView.d.ts.map +1 -0
  713. package/lib/typescript/components/BackButton.d.ts +5 -0
  714. package/lib/typescript/components/BackButton.d.ts.map +1 -0
  715. package/lib/typescript/components/Chat/ChatBanner.d.ts +3 -0
  716. package/lib/typescript/components/Chat/ChatBanner.d.ts.map +1 -0
  717. package/lib/typescript/components/Chat/ChatList.d.ts +5 -0
  718. package/lib/typescript/components/Chat/ChatList.d.ts.map +1 -0
  719. package/lib/typescript/components/Chat/ChatMessage.d.ts +8 -0
  720. package/lib/typescript/components/Chat/ChatMessage.d.ts.map +1 -0
  721. package/lib/typescript/components/Chat/PinnedMessage.d.ts +3 -0
  722. package/lib/typescript/components/Chat/PinnedMessage.d.ts.map +1 -0
  723. package/lib/typescript/components/Chat/index.d.ts +5 -0
  724. package/lib/typescript/components/Chat/index.d.ts.map +1 -0
  725. package/lib/typescript/components/ChatWindow.d.ts +22 -0
  726. package/lib/typescript/components/ChatWindow.d.ts.map +1 -0
  727. package/lib/typescript/components/CustomButton.d.ts +14 -0
  728. package/lib/typescript/components/CustomButton.d.ts.map +1 -0
  729. package/lib/typescript/components/CustomHLSPlayerControls.d.ts +7 -0
  730. package/lib/typescript/components/CustomHLSPlayerControls.d.ts.map +1 -0
  731. package/lib/typescript/components/CustomInput.d.ts +24 -0
  732. package/lib/typescript/components/CustomInput.d.ts.map +1 -0
  733. package/lib/typescript/components/DefaultModal.d.ts +15 -0
  734. package/lib/typescript/components/DefaultModal.d.ts.map +1 -0
  735. package/lib/typescript/components/DisplayTrack.d.ts +9 -0
  736. package/lib/typescript/components/DisplayTrack.d.ts.map +1 -0
  737. package/lib/typescript/components/DisplayView.d.ts +10 -0
  738. package/lib/typescript/components/DisplayView.d.ts.map +1 -0
  739. package/lib/typescript/components/Footer.d.ts +9 -0
  740. package/lib/typescript/components/Footer.d.ts.map +1 -0
  741. package/lib/typescript/components/FullScreenIndicator.d.ts +3 -0
  742. package/lib/typescript/components/FullScreenIndicator.d.ts.map +1 -0
  743. package/lib/typescript/components/GridView.d.ts +14 -0
  744. package/lib/typescript/components/GridView.d.ts.map +1 -0
  745. package/lib/typescript/components/HLSPlayerEmoticons.d.ts +2 -0
  746. package/lib/typescript/components/HLSPlayerEmoticons.d.ts.map +1 -0
  747. package/lib/typescript/components/HLSPlayerStatsView.d.ts +6 -0
  748. package/lib/typescript/components/HLSPlayerStatsView.d.ts.map +1 -0
  749. package/lib/typescript/components/HLSView.d.ts +3 -0
  750. package/lib/typescript/components/HLSView.d.ts.map +1 -0
  751. package/lib/typescript/components/HMSChat.d.ts +3 -0
  752. package/lib/typescript/components/HMSChat.d.ts.map +1 -0
  753. package/lib/typescript/components/HMSHLSNotStarted.d.ts +3 -0
  754. package/lib/typescript/components/HMSHLSNotStarted.d.ts.map +1 -0
  755. package/lib/typescript/components/HMSManageCameraRotation.d.ts +3 -0
  756. package/lib/typescript/components/HMSManageCameraRotation.d.ts.map +1 -0
  757. package/lib/typescript/components/HMSManageLeave.d.ts +9 -0
  758. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -0
  759. package/lib/typescript/components/HMSManageLocalAudio.d.ts +3 -0
  760. package/lib/typescript/components/HMSManageLocalAudio.d.ts.map +1 -0
  761. package/lib/typescript/components/HMSManageLocalVideo.d.ts +3 -0
  762. package/lib/typescript/components/HMSManageLocalVideo.d.ts.map +1 -0
  763. package/lib/typescript/components/HMSManageRaiseHand.d.ts +3 -0
  764. package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -0
  765. package/lib/typescript/components/HMSPreviewDeviceSettings.d.ts +3 -0
  766. package/lib/typescript/components/HMSPreviewDeviceSettings.d.ts.map +1 -0
  767. package/lib/typescript/components/HMSPreviewEditName.d.ts +5 -0
  768. package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -0
  769. package/lib/typescript/components/HMSPreviewJoinButton.d.ts +7 -0
  770. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -0
  771. package/lib/typescript/components/HMSPreviewPeersList.d.ts +5 -0
  772. package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -0
  773. package/lib/typescript/components/HMSPreviewSubtitle.d.ts +6 -0
  774. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -0
  775. package/lib/typescript/components/HMSPreviewTile.d.ts +3 -0
  776. package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -0
  777. package/lib/typescript/components/HMSPreviewTitle.d.ts +6 -0
  778. package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -0
  779. package/lib/typescript/components/HMSRoomOptions.d.ts +6 -0
  780. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -0
  781. package/lib/typescript/components/HMSShareScreen.d.ts +9 -0
  782. package/lib/typescript/components/HMSShareScreen.d.ts.map +1 -0
  783. package/lib/typescript/components/HMSShowNetworkQuality.d.ts +3 -0
  784. package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -0
  785. package/lib/typescript/components/Header.d.ts +9 -0
  786. package/lib/typescript/components/Header.d.ts.map +1 -0
  787. package/lib/typescript/components/LiveButton.d.ts +17 -0
  788. package/lib/typescript/components/LiveButton.d.ts.map +1 -0
  789. package/lib/typescript/components/Meeting.d.ts +8 -0
  790. package/lib/typescript/components/Meeting.d.ts.map +1 -0
  791. package/lib/typescript/components/MeetingScreenContent.d.ts +8 -0
  792. package/lib/typescript/components/MeetingScreenContent.d.ts.map +1 -0
  793. package/lib/typescript/components/MenuModal/Menu.d.ts +45 -0
  794. package/lib/typescript/components/MenuModal/Menu.d.ts.map +1 -0
  795. package/lib/typescript/components/MenuModal/MenuDivider.d.ts +6 -0
  796. package/lib/typescript/components/MenuModal/MenuDivider.d.ts.map +1 -0
  797. package/lib/typescript/components/MenuModal/MenuItem.d.ts +12 -0
  798. package/lib/typescript/components/MenuModal/MenuItem.d.ts.map +1 -0
  799. package/lib/typescript/components/MenuModal/index.d.ts +7 -0
  800. package/lib/typescript/components/MenuModal/index.d.ts.map +1 -0
  801. package/lib/typescript/components/Modals.d.ts +96 -0
  802. package/lib/typescript/components/Modals.d.ts.map +1 -0
  803. package/lib/typescript/components/PIPView.d.ts +8 -0
  804. package/lib/typescript/components/PIPView.d.ts.map +1 -0
  805. package/lib/typescript/components/Participants/ParticipantsFilter.d.ts +6 -0
  806. package/lib/typescript/components/Participants/ParticipantsFilter.d.ts.map +1 -0
  807. package/lib/typescript/components/Participants/ParticipantsHeader.d.ts +9 -0
  808. package/lib/typescript/components/Participants/ParticipantsHeader.d.ts.map +1 -0
  809. package/lib/typescript/components/Participants/ParticipantsList.d.ts +7 -0
  810. package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -0
  811. package/lib/typescript/components/Participants/ParticipantsSeachInput.d.ts +8 -0
  812. package/lib/typescript/components/Participants/ParticipantsSeachInput.d.ts.map +1 -0
  813. package/lib/typescript/components/Participants/SearchableParticipantsView.d.ts +3 -0
  814. package/lib/typescript/components/Participants/SearchableParticipantsView.d.ts.map +1 -0
  815. package/lib/typescript/components/Participants/index.d.ts +6 -0
  816. package/lib/typescript/components/Participants/index.d.ts.map +1 -0
  817. package/lib/typescript/components/ParticipantsModal.d.ts +5 -0
  818. package/lib/typescript/components/ParticipantsModal.d.ts.map +1 -0
  819. package/lib/typescript/components/PeerDisplayView.d.ts +11 -0
  820. package/lib/typescript/components/PeerDisplayView.d.ts.map +1 -0
  821. package/lib/typescript/components/PeerRTCStatsContainer.d.ts +9 -0
  822. package/lib/typescript/components/PeerRTCStatsContainer.d.ts.map +1 -0
  823. package/lib/typescript/components/PeerRTCStatsView.d.ts +10 -0
  824. package/lib/typescript/components/PeerRTCStatsView.d.ts.map +1 -0
  825. package/lib/typescript/components/PeerSettingsModalContent.d.ts +13 -0
  826. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -0
  827. package/lib/typescript/components/Picker.d.ts +9 -0
  828. package/lib/typescript/components/Picker.d.ts.map +1 -0
  829. package/lib/typescript/components/PressableIcon.d.ts +11 -0
  830. package/lib/typescript/components/PressableIcon.d.ts.map +1 -0
  831. package/lib/typescript/components/Preview.d.ts +6 -0
  832. package/lib/typescript/components/Preview.d.ts.map +1 -0
  833. package/lib/typescript/components/RoomSettingsModalContent.d.ts +17 -0
  834. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -0
  835. package/lib/typescript/components/StatusBar.d.ts +7 -0
  836. package/lib/typescript/components/StatusBar.d.ts.map +1 -0
  837. package/lib/typescript/components/StreamingQualityModalContent.d.ts +9 -0
  838. package/lib/typescript/components/StreamingQualityModalContent.d.ts.map +1 -0
  839. package/lib/typescript/components/SwitchRow.d.ts +12 -0
  840. package/lib/typescript/components/SwitchRow.d.ts.map +1 -0
  841. package/lib/typescript/components/Tile.d.ts +12 -0
  842. package/lib/typescript/components/Tile.d.ts.map +1 -0
  843. package/lib/typescript/components/TilesContainer.d.ts +11 -0
  844. package/lib/typescript/components/TilesContainer.d.ts.map +1 -0
  845. package/lib/typescript/components/ZoomableView.d.ts +6 -0
  846. package/lib/typescript/components/ZoomableView.d.ts.map +1 -0
  847. package/lib/typescript/components/index.d.ts +9 -0
  848. package/lib/typescript/components/index.d.ts.map +1 -0
  849. package/lib/typescript/components/styles.d.ts +945 -0
  850. package/lib/typescript/components/styles.d.ts.map +1 -0
  851. package/lib/typescript/hooks/useHmsInstance.d.ts +1 -0
  852. package/lib/typescript/hooks/useHmsInstance.d.ts.map +1 -0
  853. package/lib/typescript/hooks-sdk-selectors.d.ts +4 -0
  854. package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -0
  855. package/lib/typescript/hooks-sdk.d.ts +12 -0
  856. package/lib/typescript/hooks-sdk.d.ts.map +1 -0
  857. package/lib/typescript/hooks-util-selectors.d.ts +3 -0
  858. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -0
  859. package/lib/typescript/hooks-util.d.ts +53 -0
  860. package/lib/typescript/hooks-util.d.ts.map +1 -0
  861. package/lib/typescript/index.d.ts +2 -0
  862. package/lib/typescript/index.d.ts.map +1 -0
  863. package/lib/typescript/peerTrackNodeUtils.d.ts +10 -0
  864. package/lib/typescript/peerTrackNodeUtils.d.ts.map +1 -0
  865. package/lib/typescript/redux/actionTypes.d.ts +56 -0
  866. package/lib/typescript/redux/actionTypes.d.ts.map +1 -0
  867. package/lib/typescript/redux/actions/index.d.ts +199 -0
  868. package/lib/typescript/redux/actions/index.d.ts.map +1 -0
  869. package/lib/typescript/redux/index.d.ts +55 -0
  870. package/lib/typescript/redux/index.d.ts.map +1 -0
  871. package/lib/typescript/redux/reducers/appState.d.ts +32 -0
  872. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -0
  873. package/lib/typescript/redux/reducers/chatWindow.d.ts +10 -0
  874. package/lib/typescript/redux/reducers/chatWindow.d.ts.map +1 -0
  875. package/lib/typescript/redux/reducers/hmsStates.d.ts +46 -0
  876. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -0
  877. package/lib/typescript/redux/reducers/index.d.ts +54 -0
  878. package/lib/typescript/redux/reducers/index.d.ts.map +1 -0
  879. package/lib/typescript/redux/reducers/message.d.ts +12 -0
  880. package/lib/typescript/redux/reducers/message.d.ts.map +1 -0
  881. package/lib/typescript/redux/reducers/userState.d.ts +26 -0
  882. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -0
  883. package/lib/typescript/types.d.ts +8 -0
  884. package/lib/typescript/types.d.ts.map +1 -0
  885. package/lib/typescript/utils/dimension.d.ts +15 -0
  886. package/lib/typescript/utils/dimension.d.ts.map +1 -0
  887. package/lib/typescript/utils/functions.d.ts +47 -0
  888. package/lib/typescript/utils/functions.d.ts.map +1 -0
  889. package/lib/typescript/utils/getRoomLinkDetails.d.ts +5 -0
  890. package/lib/typescript/utils/getRoomLinkDetails.d.ts.map +1 -0
  891. package/lib/typescript/utils/hooks.d.ts +2 -0
  892. package/lib/typescript/utils/hooks.d.ts.map +1 -0
  893. package/lib/typescript/utils/theme.d.ts +126 -0
  894. package/lib/typescript/utils/theme.d.ts.map +1 -0
  895. package/lib/typescript/utils/types.d.ts +82 -0
  896. package/lib/typescript/utils/types.d.ts.map +1 -0
  897. package/lib/typescript/utils.d.ts +12 -0
  898. package/lib/typescript/utils.d.ts.map +1 -0
  899. package/package.json +182 -0
  900. package/src/HMSContainer.tsx +18 -0
  901. package/src/HMSInstanceSetup.tsx +196 -0
  902. package/src/HMSPrebuilt.tsx +36 -0
  903. package/src/HMSRoomSetup.tsx +281 -0
  904. package/src/Icons/100ms/assets/hms-logo.png +0 -0
  905. package/src/Icons/100ms/assets/hms-logo@2x.png +0 -0
  906. package/src/Icons/100ms/assets/hms-logo@3x.png +0 -0
  907. package/src/Icons/100ms/index.tsx +27 -0
  908. package/src/Icons/Alert/assets/alert.png +0 -0
  909. package/src/Icons/Alert/assets/alert@2x.png +0 -0
  910. package/src/Icons/Alert/assets/alert@3x.png +0 -0
  911. package/src/Icons/Alert/index.tsx +27 -0
  912. package/src/Icons/Camera/assets/camera-muted.png +0 -0
  913. package/src/Icons/Camera/assets/camera-muted@2x.png +0 -0
  914. package/src/Icons/Camera/assets/camera-muted@3x.png +0 -0
  915. package/src/Icons/Camera/assets/camera-unmuted.png +0 -0
  916. package/src/Icons/Camera/assets/camera-unmuted@2x.png +0 -0
  917. package/src/Icons/Camera/assets/camera-unmuted@3x.png +0 -0
  918. package/src/Icons/Camera/index.tsx +34 -0
  919. package/src/Icons/Chat/assets/chat.png +0 -0
  920. package/src/Icons/Chat/assets/chat@2x.png +0 -0
  921. package/src/Icons/Chat/assets/chat@3x.png +0 -0
  922. package/src/Icons/Chat/index.tsx +24 -0
  923. package/src/Icons/Chevron/assets/chevron-down.png +0 -0
  924. package/src/Icons/Chevron/assets/chevron-down@2x.png +0 -0
  925. package/src/Icons/Chevron/assets/chevron-down@3x.png +0 -0
  926. package/src/Icons/Chevron/assets/chevron-left.png +0 -0
  927. package/src/Icons/Chevron/assets/chevron-left@2x.png +0 -0
  928. package/src/Icons/Chevron/assets/chevron-left@3x.png +0 -0
  929. package/src/Icons/Chevron/index.tsx +34 -0
  930. package/src/Icons/Clock/assets/clock.png +0 -0
  931. package/src/Icons/Clock/assets/clock@2x.png +0 -0
  932. package/src/Icons/Clock/assets/clock@3x.png +0 -0
  933. package/src/Icons/Clock/index.tsx +27 -0
  934. package/src/Icons/Close/assets/close.png +0 -0
  935. package/src/Icons/Close/assets/close@2x.png +0 -0
  936. package/src/Icons/Close/assets/close@3x.png +0 -0
  937. package/src/Icons/Close/index.tsx +27 -0
  938. package/src/Icons/End/assets/end.png +0 -0
  939. package/src/Icons/End/assets/end@2x.png +0 -0
  940. package/src/Icons/End/assets/end@3x.png +0 -0
  941. package/src/Icons/End/index.tsx +24 -0
  942. package/src/Icons/Hand/assets/hand.png +0 -0
  943. package/src/Icons/Hand/assets/hand@2x.png +0 -0
  944. package/src/Icons/Hand/assets/hand@3x.png +0 -0
  945. package/src/Icons/Hand/index.tsx +27 -0
  946. package/src/Icons/Leave/assets/leave.png +0 -0
  947. package/src/Icons/Leave/assets/leave@2x.png +0 -0
  948. package/src/Icons/Leave/assets/leave@3x.png +0 -0
  949. package/src/Icons/Leave/index.tsx +27 -0
  950. package/src/Icons/Mic/assets/mic-muted.png +0 -0
  951. package/src/Icons/Mic/assets/mic-muted@2x.png +0 -0
  952. package/src/Icons/Mic/assets/mic-muted@3x.png +0 -0
  953. package/src/Icons/Mic/assets/mic-unmuted.png +0 -0
  954. package/src/Icons/Mic/assets/mic-unmuted@2x.png +0 -0
  955. package/src/Icons/Mic/assets/mic-unmuted@3x.png +0 -0
  956. package/src/Icons/Mic/index.tsx +34 -0
  957. package/src/Icons/NetworkQuality/assets/network_0.png +0 -0
  958. package/src/Icons/NetworkQuality/assets/network_0@2x.png +0 -0
  959. package/src/Icons/NetworkQuality/assets/network_0@3x.png +0 -0
  960. package/src/Icons/NetworkQuality/assets/network_1.png +0 -0
  961. package/src/Icons/NetworkQuality/assets/network_1@2x.png +0 -0
  962. package/src/Icons/NetworkQuality/assets/network_1@3x.png +0 -0
  963. package/src/Icons/NetworkQuality/assets/network_2.png +0 -0
  964. package/src/Icons/NetworkQuality/assets/network_2@2x.png +0 -0
  965. package/src/Icons/NetworkQuality/assets/network_2@3x.png +0 -0
  966. package/src/Icons/NetworkQuality/assets/network_3.png +0 -0
  967. package/src/Icons/NetworkQuality/assets/network_3@2x.png +0 -0
  968. package/src/Icons/NetworkQuality/assets/network_3@3x.png +0 -0
  969. package/src/Icons/NetworkQuality/assets/network_4.png +0 -0
  970. package/src/Icons/NetworkQuality/assets/network_4@2x.png +0 -0
  971. package/src/Icons/NetworkQuality/assets/network_4@3x.png +0 -0
  972. package/src/Icons/NetworkQuality/assets/network_5.png +0 -0
  973. package/src/Icons/NetworkQuality/assets/network_5@2x.png +0 -0
  974. package/src/Icons/NetworkQuality/assets/network_5@3x.png +0 -0
  975. package/src/Icons/NetworkQuality/index.tsx +42 -0
  976. package/src/Icons/Participants/assets/participants.png +0 -0
  977. package/src/Icons/Participants/assets/participants@2x.png +0 -0
  978. package/src/Icons/Participants/assets/participants@3x.png +0 -0
  979. package/src/Icons/Participants/index.tsx +27 -0
  980. package/src/Icons/RotateCamera/assets/rotate-camera.png +0 -0
  981. package/src/Icons/RotateCamera/assets/rotate-camera@2x.png +0 -0
  982. package/src/Icons/RotateCamera/assets/rotate-camera@3x.png +0 -0
  983. package/src/Icons/RotateCamera/index.tsx +27 -0
  984. package/src/Icons/ScreenShare/assets/screen-share.png +0 -0
  985. package/src/Icons/ScreenShare/assets/screen-share@2x.png +0 -0
  986. package/src/Icons/ScreenShare/assets/screen-share@3x.png +0 -0
  987. package/src/Icons/ScreenShare/index.tsx +27 -0
  988. package/src/Icons/Send/assets/send.png +0 -0
  989. package/src/Icons/Send/assets/send@2x.png +0 -0
  990. package/src/Icons/Send/assets/send@3x.png +0 -0
  991. package/src/Icons/Send/index.tsx +24 -0
  992. package/src/Icons/Settings/assets/settings.png +0 -0
  993. package/src/Icons/Settings/assets/settings@2x.png +0 -0
  994. package/src/Icons/Settings/assets/settings@3x.png +0 -0
  995. package/src/Icons/Settings/index.tsx +27 -0
  996. package/src/Icons/Speaker/assets/speaker-muted.png +0 -0
  997. package/src/Icons/Speaker/assets/speaker-muted@2x.png +0 -0
  998. package/src/Icons/Speaker/assets/speaker-muted@3x.png +0 -0
  999. package/src/Icons/Speaker/assets/speaker.png +0 -0
  1000. package/src/Icons/Speaker/assets/speaker@2x.png +0 -0
  1001. package/src/Icons/Speaker/assets/speaker@3x.png +0 -0
  1002. package/src/Icons/Speaker/index.tsx +34 -0
  1003. package/src/Icons/ThreeDots/assets/three-dots-vertical.png +0 -0
  1004. package/src/Icons/ThreeDots/assets/three-dots-vertical@2x.png +0 -0
  1005. package/src/Icons/ThreeDots/assets/three-dots-vertical@3x.png +0 -0
  1006. package/src/Icons/ThreeDots/index.tsx +34 -0
  1007. package/src/Icons/index.ts +19 -0
  1008. package/src/assets/100ms-logo.png +0 -0
  1009. package/src/assets/brb.png +0 -0
  1010. package/src/assets/icon.png +0 -0
  1011. package/src/assets/illustration.png +0 -0
  1012. package/src/assets/network_0.png +0 -0
  1013. package/src/assets/network_1.png +0 -0
  1014. package/src/assets/network_2.png +0 -0
  1015. package/src/assets/network_3.png +0 -0
  1016. package/src/assets/network_4.png +0 -0
  1017. package/src/assets/user_music.png +0 -0
  1018. package/src/components/AvatarView.tsx +54 -0
  1019. package/src/components/BackButton.tsx +42 -0
  1020. package/src/components/Chat/ChatBanner.tsx +70 -0
  1021. package/src/components/Chat/ChatList.tsx +60 -0
  1022. package/src/components/Chat/ChatMessage.tsx +237 -0
  1023. package/src/components/Chat/PinnedMessage.tsx +89 -0
  1024. package/src/components/Chat/index.ts +4 -0
  1025. package/src/components/ChatWindow.tsx +706 -0
  1026. package/src/components/CustomButton.tsx +80 -0
  1027. package/src/components/CustomHLSPlayerControls.tsx +92 -0
  1028. package/src/components/CustomInput.tsx +139 -0
  1029. package/src/components/DefaultModal.tsx +117 -0
  1030. package/src/components/DisplayTrack.tsx +92 -0
  1031. package/src/components/DisplayView.tsx +314 -0
  1032. package/src/components/Footer.tsx +109 -0
  1033. package/src/components/FullScreenIndicator.tsx +21 -0
  1034. package/src/components/GridView.tsx +124 -0
  1035. package/src/components/HLSPlayerEmoticons.tsx +60 -0
  1036. package/src/components/HLSPlayerStatsView.tsx +68 -0
  1037. package/src/components/HLSView.tsx +170 -0
  1038. package/src/components/HMSChat.tsx +36 -0
  1039. package/src/components/HMSHLSNotStarted.tsx +62 -0
  1040. package/src/components/HMSManageCameraRotation.tsx +48 -0
  1041. package/src/components/HMSManageLeave.tsx +349 -0
  1042. package/src/components/HMSManageLocalAudio.tsx +49 -0
  1043. package/src/components/HMSManageLocalVideo.tsx +49 -0
  1044. package/src/components/HMSManageRaiseHand.tsx +48 -0
  1045. package/src/components/HMSPreviewDeviceSettings.tsx +387 -0
  1046. package/src/components/HMSPreviewEditName.tsx +63 -0
  1047. package/src/components/HMSPreviewJoinButton.tsx +64 -0
  1048. package/src/components/HMSPreviewPeersList.tsx +108 -0
  1049. package/src/components/HMSPreviewSubtitle.tsx +26 -0
  1050. package/src/components/HMSPreviewTile.tsx +152 -0
  1051. package/src/components/HMSPreviewTitle.tsx +26 -0
  1052. package/src/components/HMSRoomOptions.tsx +141 -0
  1053. package/src/components/HMSShareScreen.tsx +71 -0
  1054. package/src/components/HMSShowNetworkQuality.tsx +67 -0
  1055. package/src/components/Header.tsx +185 -0
  1056. package/src/components/LiveButton.tsx +77 -0
  1057. package/src/components/Meeting.tsx +72 -0
  1058. package/src/components/MeetingScreenContent.tsx +109 -0
  1059. package/src/components/MenuModal/Menu.tsx +305 -0
  1060. package/src/components/MenuModal/MenuDivider.tsx +22 -0
  1061. package/src/components/MenuModal/MenuItem.tsx +67 -0
  1062. package/src/components/MenuModal/index.ts +7 -0
  1063. package/src/components/Modals.tsx +2103 -0
  1064. package/src/components/PIPView.tsx +30 -0
  1065. package/src/components/Participants/ParticipantsFilter.tsx +144 -0
  1066. package/src/components/Participants/ParticipantsHeader.tsx +64 -0
  1067. package/src/components/Participants/ParticipantsList.tsx +331 -0
  1068. package/src/components/Participants/ParticipantsSeachInput.tsx +55 -0
  1069. package/src/components/Participants/SearchableParticipantsView.tsx +21 -0
  1070. package/src/components/Participants/index.ts +5 -0
  1071. package/src/components/ParticipantsModal.tsx +46 -0
  1072. package/src/components/PeerDisplayView.tsx +112 -0
  1073. package/src/components/PeerRTCStatsContainer.tsx +82 -0
  1074. package/src/components/PeerRTCStatsView.tsx +110 -0
  1075. package/src/components/PeerSettingsModalContent.tsx +355 -0
  1076. package/src/components/Picker.tsx +108 -0
  1077. package/src/components/PressableIcon.tsx +54 -0
  1078. package/src/components/Preview.tsx +108 -0
  1079. package/src/components/RoomSettingsModalContent.tsx +743 -0
  1080. package/src/components/StatusBar.tsx +22 -0
  1081. package/src/components/StreamingQualityModalContent.tsx +266 -0
  1082. package/src/components/SwitchRow.tsx +55 -0
  1083. package/src/components/Tile.tsx +119 -0
  1084. package/src/components/TilesContainer.tsx +48 -0
  1085. package/src/components/ZoomableView.tsx +91 -0
  1086. package/src/components/index.ts +8 -0
  1087. package/src/components/styles.ts +961 -0
  1088. package/src/hooks/useHmsInstance.ts +173 -0
  1089. package/src/hooks-sdk-selectors.tsx +9 -0
  1090. package/src/hooks-sdk.ts +156 -0
  1091. package/src/hooks-util-selectors.tsx +4 -0
  1092. package/src/hooks-util.ts +1124 -0
  1093. package/src/index.ts +1 -0
  1094. package/src/peerTrackNodeUtils.tsx +114 -0
  1095. package/src/redux/actionTypes.ts +85 -0
  1096. package/src/redux/actions/index.ts +196 -0
  1097. package/src/redux/index.ts +8 -0
  1098. package/src/redux/reducers/appState.ts +143 -0
  1099. package/src/redux/reducers/chatWindow.ts +35 -0
  1100. package/src/redux/reducers/hmsStates.ts +126 -0
  1101. package/src/redux/reducers/index.ts +14 -0
  1102. package/src/redux/reducers/message.ts +36 -0
  1103. package/src/redux/reducers/userState.ts +88 -0
  1104. package/src/types.ts +7 -0
  1105. package/src/utils/dimension.ts +57 -0
  1106. package/src/utils/functions.ts +522 -0
  1107. package/src/utils/getRoomLinkDetails.ts +23 -0
  1108. package/src/utils/hooks.ts +104 -0
  1109. package/src/utils/theme.ts +130 -0
  1110. package/src/utils/types.ts +95 -0
  1111. package/src/utils.ts +24 -0
@@ -0,0 +1,1124 @@
1
+ import {
2
+ HMSChangeTrackStateRequest,
3
+ HMSConfig,
4
+ HMSLocalPeer,
5
+ HMSMessage,
6
+ HMSPIPListenerActions,
7
+ HMSPeer,
8
+ // HMSPeerUpdate,
9
+ HMSRemotePeer,
10
+ HMSRoleChangeRequest,
11
+ HMSRoom,
12
+ HMSRoomUpdate,
13
+ HMSSDK,
14
+ HMSTrack,
15
+ HMSTrackSource,
16
+ HMSTrackType,
17
+ HMSTrackUpdate,
18
+ HMSUpdateListenerActions,
19
+ // useHMSPeerUpdates,
20
+ } from '@100mslive/react-native-hms';
21
+ import type {
22
+ HMSSessionStore,
23
+ HMSSessionStoreValue,
24
+ } from '@100mslive/react-native-hms';
25
+ import Toast from 'react-native-simple-toast';
26
+ import { useRef, useCallback, useEffect, useState, useMemo } from 'react';
27
+
28
+ import { ModalTypes, PipModes } from './utils/types';
29
+ import type { PeerTrackNode } from './utils/types';
30
+ import { createPeerTrackNode, parseMetadata } from './utils/functions';
31
+ import { useDispatch, useSelector, useStore } from 'react-redux';
32
+ import type { RootState } from './redux';
33
+ import {
34
+ addMessage,
35
+ addPinnedMessage,
36
+ changePipModeStatus,
37
+ clearStore,
38
+ saveUserData,
39
+ setHMSLocalPeerState,
40
+ setHMSRoleState,
41
+ setHMSRoomState,
42
+ setIsLocalAudioMutedState,
43
+ setIsLocalVideoMutedState,
44
+ setModalType,
45
+ } from './redux/actions';
46
+ import {
47
+ degradeOrRestorePeerTrackNodes,
48
+ // peerTrackNodeExistForPeer,
49
+ peerTrackNodeExistForPeerAndTrack,
50
+ // removePeerTrackNodes,
51
+ removePeerTrackNodesWithTrack,
52
+ replacePeerTrackNodes,
53
+ replacePeerTrackNodesWithTrack,
54
+ } from './peerTrackNodeUtils';
55
+ import { MeetingState } from './types';
56
+ import {
57
+ AppState,
58
+ InteractionManager,
59
+ LayoutAnimation,
60
+ Platform,
61
+ } from 'react-native';
62
+ import { useNavigation } from '@react-navigation/native';
63
+ import {
64
+ useIsLandscapeOrientation,
65
+ useIsPortraitOrientation,
66
+ } from './utils/dimension';
67
+ import {
68
+ useSafeAreaFrame,
69
+ useSafeAreaInsets,
70
+ } from 'react-native-safe-area-context';
71
+ import { selectIsHLSViewer } from './hooks-util-selectors';
72
+
73
+ export const useHMSListeners = (
74
+ setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>,
75
+ setMeetingState: React.Dispatch<React.SetStateAction<MeetingState>>
76
+ ) => {
77
+ const hmsInstance = useHMSInstance();
78
+ const updateLocalPeer = useUpdateHMSLocalPeer(hmsInstance);
79
+
80
+ useHMSRoomUpdate(hmsInstance, setMeetingState);
81
+
82
+ // useHMSPeersUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
83
+
84
+ useHMSTrackUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
85
+ };
86
+
87
+ const useHMSRoomUpdate = (
88
+ hmsInstance: HMSSDK,
89
+ setMeetingState: React.Dispatch<React.SetStateAction<MeetingState>>
90
+ ) => {
91
+ const dispatch = useDispatch();
92
+
93
+ useEffect(() => {
94
+ const roomUpdateHandler = (data: {
95
+ room: HMSRoom;
96
+ type: HMSRoomUpdate;
97
+ }) => {
98
+ const { room, type } = data;
99
+
100
+ dispatch(setHMSRoomState(room));
101
+
102
+ /**
103
+ * Handle case when User is joining as HLSViewer,
104
+ * before ON_JOIN, if ON_ROOM comes then we can show Meeting screen to user, instead of Loader or Preview
105
+ */
106
+ if (room.localPeer.role?.name?.includes('hls-') ?? false) {
107
+ dispatch(setHMSLocalPeerState(room.localPeer));
108
+ setMeetingState((prevMeetingScreen) => {
109
+ if (prevMeetingScreen !== MeetingState.IN_MEETING) {
110
+ return MeetingState.IN_MEETING;
111
+ }
112
+ return prevMeetingScreen;
113
+ });
114
+ }
115
+
116
+ if (type === HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED) {
117
+ let streaming = room?.browserRecordingState?.running;
118
+ const startAtDate = room?.browserRecordingState?.startedAt;
119
+
120
+ let startTime: null | string = null;
121
+
122
+ if (startAtDate) {
123
+ let hours = startAtDate.getHours().toString();
124
+ let minutes = startAtDate.getMinutes()?.toString();
125
+ startTime = hours + ':' + minutes;
126
+ }
127
+
128
+ Toast.showWithGravity(
129
+ `Browser Recording ${
130
+ streaming
131
+ ? `Started ${startTime ? 'At ' + startTime : ''}`
132
+ : 'Stopped'
133
+ }`,
134
+ Toast.LONG,
135
+ Toast.TOP
136
+ );
137
+ } else if (type === HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED) {
138
+ let streaming = room?.hlsStreamingState?.running;
139
+
140
+ Toast.showWithGravity(
141
+ `HLS Streaming ${streaming ? 'Started' : 'Stopped'}`,
142
+ Toast.LONG,
143
+ Toast.TOP
144
+ );
145
+ } else if (type === HMSRoomUpdate.RTMP_STREAMING_STATE_UPDATED) {
146
+ let streaming = room?.rtmpHMSRtmpStreamingState?.running;
147
+ const startAtDate = room?.rtmpHMSRtmpStreamingState?.startedAt;
148
+
149
+ let startTime: null | string = null;
150
+
151
+ if (startAtDate) {
152
+ let hours = startAtDate.getHours().toString();
153
+ let minutes = startAtDate.getMinutes()?.toString();
154
+ startTime = hours + ':' + minutes;
155
+ }
156
+
157
+ Toast.showWithGravity(
158
+ `RTMP Streaming ${
159
+ streaming
160
+ ? `Started ${startTime ? 'At ' + startTime : ''}`
161
+ : 'Stopped'
162
+ }`,
163
+ Toast.LONG,
164
+ Toast.TOP
165
+ );
166
+ } else if (type === HMSRoomUpdate.SERVER_RECORDING_STATE_UPDATED) {
167
+ let streaming = room?.serverRecordingState?.running;
168
+ const startAtDate = room?.serverRecordingState?.startedAt;
169
+
170
+ let startTime: null | string = null;
171
+
172
+ if (startAtDate) {
173
+ let hours = startAtDate.getHours().toString();
174
+ let minutes = startAtDate.getMinutes()?.toString();
175
+ startTime = hours + ':' + minutes;
176
+ }
177
+
178
+ Toast.showWithGravity(
179
+ `Server Recording ${
180
+ streaming
181
+ ? `Started ${startTime ? 'At ' + startTime : ''}`
182
+ : 'Stopped'
183
+ }`,
184
+ Toast.LONG,
185
+ Toast.TOP
186
+ );
187
+ }
188
+ };
189
+
190
+ hmsInstance.addEventListener(
191
+ HMSUpdateListenerActions.ON_ROOM_UPDATE,
192
+ roomUpdateHandler
193
+ );
194
+
195
+ return () => {
196
+ hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_ROOM_UPDATE);
197
+ };
198
+ }, [hmsInstance]);
199
+ };
200
+
201
+ // type PeerUpdate = {
202
+ // peer: HMSPeer;
203
+ // type: HMSPeerUpdate;
204
+ // };
205
+
206
+ // const useHMSPeersUpdate = (
207
+ // hmsInstance: HMSSDK,
208
+ // updateLocalPeer: () => void,
209
+ // setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
210
+ // ) => {
211
+ // useHMSPeerUpdates(
212
+ // ({ peer, type }: PeerUpdate) => {
213
+ // if (type === HMSPeerUpdate.PEER_JOINED) {
214
+ // return;
215
+ // }
216
+ // if (type === HMSPeerUpdate.PEER_LEFT) {
217
+ // setPeerTrackNodes((prevPeerTrackNodes) =>
218
+ // removePeerTrackNodes(prevPeerTrackNodes, peer)
219
+ // );
220
+ // return;
221
+ // }
222
+ // if (peer.isLocal) {
223
+ // setPeerTrackNodes((prevPeerTrackNodes) => {
224
+ // if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
225
+ // return replacePeerTrackNodes(prevPeerTrackNodes, peer);
226
+ // }
227
+ // return prevPeerTrackNodes;
228
+ // });
229
+
230
+ // // - TODO: update local localPeer state
231
+ // // - Pass this updated data to Meeting component -> DisplayView component
232
+ // updateLocalPeer();
233
+ // return;
234
+ // }
235
+ // if (type === HMSPeerUpdate.ROLE_CHANGED) {
236
+ // if (
237
+ // peer.role?.publishSettings?.allowed === undefined ||
238
+ // (peer.role?.publishSettings?.allowed &&
239
+ // peer.role?.publishSettings?.allowed.length < 1)
240
+ // ) {
241
+ // setPeerTrackNodes((prevPeerTrackNodes) => {
242
+ // if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
243
+ // return removePeerTrackNodes(prevPeerTrackNodes, peer);
244
+ // }
245
+ // return prevPeerTrackNodes;
246
+ // });
247
+ // }
248
+ // return;
249
+ // }
250
+ // if (
251
+ // type === HMSPeerUpdate.METADATA_CHANGED ||
252
+ // type === HMSPeerUpdate.NAME_CHANGED ||
253
+ // type === HMSPeerUpdate.NETWORK_QUALITY_UPDATED
254
+ // ) {
255
+ // setPeerTrackNodes((prevPeerTrackNodes) => {
256
+ // if (peerTrackNodeExistForPeer(prevPeerTrackNodes, peer)) {
257
+ // return replacePeerTrackNodes(prevPeerTrackNodes, peer);
258
+ // }
259
+ // return prevPeerTrackNodes;
260
+ // });
261
+ // return;
262
+ // }
263
+ // },
264
+ // [hmsInstance]
265
+ // );
266
+ // };
267
+
268
+ type TrackUpdate = {
269
+ peer: HMSPeer;
270
+ track: HMSTrack;
271
+ type: HMSTrackUpdate;
272
+ };
273
+
274
+ const useHMSTrackUpdate = (
275
+ hmsInstance: HMSSDK,
276
+ updateLocalPeer: () => void,
277
+ setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
278
+ ) => {
279
+ const dispatch = useDispatch();
280
+
281
+ useEffect(() => {
282
+ const trackUpdateHandler = ({ peer, track, type }: TrackUpdate) => {
283
+ if (type === HMSTrackUpdate.TRACK_ADDED) {
284
+ setPeerTrackNodes((prevPeerTrackNodes) => {
285
+ if (
286
+ peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)
287
+ ) {
288
+ if (track.type === HMSTrackType.VIDEO) {
289
+ return replacePeerTrackNodesWithTrack(
290
+ prevPeerTrackNodes,
291
+ peer,
292
+ track
293
+ );
294
+ }
295
+ return replacePeerTrackNodes(prevPeerTrackNodes, peer);
296
+ }
297
+ const newPeerTrackNode = createPeerTrackNode(peer, track);
298
+ return [...prevPeerTrackNodes, newPeerTrackNode];
299
+ });
300
+
301
+ // - TODO: update local localPeer state
302
+ // - Pass this updated data to Meeting component -> DisplayView component
303
+ if (peer.isLocal) {
304
+ updateLocalPeer();
305
+ }
306
+ return;
307
+ }
308
+ if (type === HMSTrackUpdate.TRACK_REMOVED) {
309
+ if (
310
+ track.source !== HMSTrackSource.REGULAR ||
311
+ (peer.audioTrack?.trackId === undefined &&
312
+ peer.videoTrack?.trackId === undefined)
313
+ ) {
314
+ setPeerTrackNodes((prevPeerTrackNodes) =>
315
+ removePeerTrackNodesWithTrack(prevPeerTrackNodes, peer, track)
316
+ );
317
+ }
318
+
319
+ // - TODO: update local localPeer state
320
+ // - Pass this updated data to Meeting component -> DisplayView component
321
+ if (peer.isLocal) {
322
+ updateLocalPeer();
323
+ }
324
+ return;
325
+ }
326
+ if (
327
+ type === HMSTrackUpdate.TRACK_MUTED ||
328
+ type === HMSTrackUpdate.TRACK_UNMUTED
329
+ ) {
330
+ // - TODO: update local mute states
331
+ // - Pass this updated data to Meeting component -> DisplayView component
332
+ if (peer.isLocal) {
333
+ if (track.type === HMSTrackType.AUDIO) {
334
+ dispatch(setIsLocalAudioMutedState(track.isMute()));
335
+ } else if (track.type === HMSTrackType.VIDEO) {
336
+ dispatch(setIsLocalVideoMutedState(track.isMute()));
337
+ }
338
+ }
339
+
340
+ setPeerTrackNodes((prevPeerTrackNodes) => {
341
+ if (
342
+ peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)
343
+ ) {
344
+ if (track.type === HMSTrackType.VIDEO) {
345
+ return replacePeerTrackNodesWithTrack(
346
+ prevPeerTrackNodes,
347
+ peer,
348
+ track
349
+ );
350
+ }
351
+ return replacePeerTrackNodes(prevPeerTrackNodes, peer);
352
+ }
353
+ return prevPeerTrackNodes;
354
+ });
355
+
356
+ // - TODO: update local localPeer state
357
+ // - Pass this updated data to Meeting component -> DisplayView component
358
+ if (peer.isLocal) {
359
+ updateLocalPeer();
360
+ }
361
+ return;
362
+ }
363
+ if (
364
+ type === HMSTrackUpdate.TRACK_RESTORED ||
365
+ type === HMSTrackUpdate.TRACK_DEGRADED
366
+ ) {
367
+ setPeerTrackNodes((prevPeerTrackNodes) => {
368
+ if (
369
+ peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)
370
+ ) {
371
+ return degradeOrRestorePeerTrackNodes(
372
+ prevPeerTrackNodes,
373
+ peer,
374
+ track,
375
+ type === HMSTrackUpdate.TRACK_DEGRADED
376
+ );
377
+ }
378
+ return prevPeerTrackNodes;
379
+ });
380
+ return;
381
+ }
382
+ };
383
+
384
+ hmsInstance.addEventListener(
385
+ HMSUpdateListenerActions.ON_TRACK_UPDATE,
386
+ trackUpdateHandler
387
+ );
388
+
389
+ return () => {
390
+ hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_TRACK_UPDATE);
391
+ };
392
+ }, [hmsInstance]);
393
+ };
394
+
395
+ const useUpdateHMSLocalPeer = (hmsInstance: HMSSDK) => {
396
+ const mountRef = useRef(false);
397
+ const dispatch = useDispatch();
398
+
399
+ const updateLocalPeer = useCallback(() => {
400
+ hmsInstance.getLocalPeer().then((latestLocalPeer) => {
401
+ if (mountRef.current) {
402
+ dispatch(setHMSLocalPeerState(latestLocalPeer));
403
+ }
404
+ });
405
+ }, [hmsInstance]);
406
+
407
+ useEffect(() => {
408
+ mountRef.current = true;
409
+ updateLocalPeer();
410
+
411
+ return () => {
412
+ mountRef.current = false;
413
+ };
414
+ }, [updateLocalPeer]);
415
+
416
+ return updateLocalPeer;
417
+ };
418
+
419
+ export const useHMSInstance = () => {
420
+ const hmsInstance = useSelector((state: RootState) => state.user.hmsInstance);
421
+
422
+ if (!hmsInstance) {
423
+ throw new Error('HMS Instance not available');
424
+ }
425
+
426
+ return hmsInstance;
427
+ };
428
+
429
+ export const useIsHLSViewer = () => {
430
+ return useSelector((state: RootState) =>
431
+ selectIsHLSViewer(state.hmsStates.localPeer)
432
+ );
433
+ };
434
+
435
+ type TrackStateChangeRequest = {
436
+ requestedBy?: string;
437
+ suggestedRole?: string;
438
+ };
439
+
440
+ export const useHMSChangeTrackStateRequest = (
441
+ callback?: (unmuteRequest: Omit<HMSChangeTrackStateRequest, 'mute'>) => void,
442
+ deps?: React.DependencyList
443
+ ) => {
444
+ const hmsInstance = useHMSInstance();
445
+ const [trackStateChangeRequest, setTrackStateChangeRequest] =
446
+ useState<TrackStateChangeRequest | null>(null);
447
+
448
+ useEffect(() => {
449
+ const changeTrackStateRequestHandler = (
450
+ request: HMSChangeTrackStateRequest
451
+ ) => {
452
+ if (!request?.mute) {
453
+ setTrackStateChangeRequest({
454
+ requestedBy: request?.requestedBy?.name,
455
+ suggestedRole: request?.trackType,
456
+ });
457
+ callback?.(request);
458
+ } else {
459
+ Toast.showWithGravity(
460
+ `Track Muted: ${request?.requestedBy?.name} Muted Your ${request?.trackType}`,
461
+ Toast.LONG,
462
+ Toast.TOP
463
+ );
464
+ }
465
+ };
466
+ hmsInstance.addEventListener(
467
+ HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST,
468
+ changeTrackStateRequestHandler
469
+ );
470
+
471
+ return () => {
472
+ hmsInstance.removeEventListener(
473
+ HMSUpdateListenerActions.ON_CHANGE_TRACK_STATE_REQUEST
474
+ );
475
+ };
476
+ }, [...(deps || []), hmsInstance]);
477
+
478
+ return trackStateChangeRequest;
479
+ };
480
+
481
+ type RoleChangeRequest = {
482
+ requestedBy?: string;
483
+ suggestedRole?: string;
484
+ };
485
+
486
+ export const useHMSRoleChangeRequest = (
487
+ callback?: (request: HMSRoleChangeRequest) => void,
488
+ deps?: React.DependencyList
489
+ ) => {
490
+ const hmsInstance = useHMSInstance();
491
+ const [roleChangeRequest, setRoleChangeRequest] =
492
+ useState<RoleChangeRequest | null>(null);
493
+
494
+ useEffect(() => {
495
+ const changeRoleRequestHandler = (request: HMSRoleChangeRequest) => {
496
+ setRoleChangeRequest({
497
+ requestedBy: request?.requestedBy?.name,
498
+ suggestedRole: request?.suggestedRole?.name,
499
+ });
500
+ callback?.(request);
501
+ };
502
+
503
+ hmsInstance.addEventListener(
504
+ HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST,
505
+ changeRoleRequestHandler
506
+ );
507
+
508
+ return () => {
509
+ hmsInstance.removeEventListener(
510
+ HMSUpdateListenerActions.ON_ROLE_CHANGE_REQUEST
511
+ );
512
+ };
513
+ }, [...(deps || []), hmsInstance]);
514
+
515
+ return roleChangeRequest;
516
+ };
517
+
518
+ type SessionStoreListeners = Array<{ remove: () => void }>;
519
+
520
+ export const useHMSSessionStoreListeners = () => {
521
+ const dispatch = useDispatch();
522
+ const hmsSessionStore = useSelector(
523
+ (state: RootState) => state.user.hmsSessionStore
524
+ );
525
+ const sessionStoreListenersRef = useRef<SessionStoreListeners>([]);
526
+
527
+ useEffect(() => {
528
+ // Check if instance of HMSSessionStore is available
529
+ if (hmsSessionStore) {
530
+ let toastTimeoutId: NodeJS.Timeout | null = null;
531
+
532
+ const addSessionStoreListeners = () => {
533
+ // Handle 'spotlight' key values
534
+ const handleSpotlightIdChange = (id: HMSSessionStoreValue) => {
535
+ // set value to the state to rerender the component to reflect changes
536
+ dispatch(saveUserData({ spotlightTrackId: id }));
537
+ };
538
+
539
+ // Handle 'pinnedMessage' key values
540
+ const handlePinnedMessageChange = (data: HMSSessionStoreValue) => {
541
+ dispatch(addPinnedMessage(data));
542
+ };
543
+
544
+ // Getting value for 'spotlight' key by using `get` method on HMSSessionStore instance
545
+ hmsSessionStore
546
+ .get('spotlight')
547
+ .then((data) => {
548
+ console.log(
549
+ 'Session Store get `spotlight` key value success: ',
550
+ data
551
+ );
552
+ handleSpotlightIdChange(data);
553
+ })
554
+ .catch((error) =>
555
+ console.log(
556
+ 'Session Store get `spotlight` key value error: ',
557
+ error
558
+ )
559
+ );
560
+
561
+ // Getting value for 'pinnedMessage' key by using `get` method on HMSSessionStore instance
562
+ hmsSessionStore
563
+ .get('pinnedMessage')
564
+ .then((data) => {
565
+ console.log(
566
+ 'Session Store get `pinnedMessage` key value success: ',
567
+ data
568
+ );
569
+ handlePinnedMessageChange(data);
570
+ })
571
+ .catch((error) =>
572
+ console.log(
573
+ 'Session Store get `pinnedMessage` key value error: ',
574
+ error
575
+ )
576
+ );
577
+
578
+ let lastSpotlightValue: HMSSessionStoreValue = null;
579
+ let lastPinnedMessageValue: HMSSessionStoreValue = null;
580
+
581
+ // Add subscription for `spotlight` & `pinnedMessage` keys updates on Session Store
582
+ const subscription = hmsSessionStore.addKeyChangeListener<
583
+ ['spotlight', 'pinnedMessage']
584
+ >(['spotlight', 'pinnedMessage'], (error, data) => {
585
+ // If error occurs, handle error and return early
586
+ if (error !== null) {
587
+ console.log(
588
+ '`spotlight` & `pinnedMessage` key listener Error -> ',
589
+ error
590
+ );
591
+ return;
592
+ }
593
+
594
+ // If no error, handle data
595
+ if (data !== null) {
596
+ switch (data.key) {
597
+ case 'spotlight': {
598
+ handleSpotlightIdChange(data.value);
599
+
600
+ // Showing Toast message if value has actually changed
601
+ if (
602
+ data.value !== lastSpotlightValue &&
603
+ (data.value || lastSpotlightValue)
604
+ ) {
605
+ Toast.showWithGravity(
606
+ `SessionStore: \`spotlight\` key's value changed to ${data.value}`,
607
+ Toast.LONG,
608
+ Toast.TOP
609
+ );
610
+ }
611
+
612
+ lastSpotlightValue = data.value;
613
+ break;
614
+ }
615
+ case 'pinnedMessage': {
616
+ handlePinnedMessageChange(data.value);
617
+
618
+ // Showing Toast message if value has actually changed
619
+ if (
620
+ data.value !== lastPinnedMessageValue &&
621
+ (data.value || lastPinnedMessageValue)
622
+ ) {
623
+ if (toastTimeoutId !== null) {
624
+ clearTimeout(toastTimeoutId);
625
+ }
626
+ toastTimeoutId = setTimeout(() => {
627
+ Toast.showWithGravity(
628
+ `SessionStore: \`pinnedMessage\` key's value changed to ${data.value}`,
629
+ Toast.LONG,
630
+ Toast.TOP
631
+ );
632
+ }, 1500);
633
+ }
634
+
635
+ lastPinnedMessageValue = data.value;
636
+ break;
637
+ }
638
+ }
639
+ }
640
+ });
641
+
642
+ // Save reference of `subscription` in a ref
643
+ sessionStoreListenersRef.current.push(subscription);
644
+ };
645
+
646
+ addSessionStoreListeners();
647
+
648
+ return () => {
649
+ // remove Session Store key update listener on cleanup
650
+ sessionStoreListenersRef.current.forEach((listener) =>
651
+ listener.remove()
652
+ );
653
+
654
+ if (toastTimeoutId !== null) clearTimeout(toastTimeoutId);
655
+ };
656
+ }
657
+ }, [hmsSessionStore]);
658
+ };
659
+
660
+ export const useHMSSessionStore = () => {
661
+ const hmsInstance = useHMSInstance();
662
+ const dispatch = useDispatch();
663
+
664
+ useEffect(() => {
665
+ const onSessionStoreAvailableListener = ({
666
+ sessionStore,
667
+ }: {
668
+ sessionStore: HMSSessionStore;
669
+ }) => {
670
+ // Saving `sessionStore` reference in `redux`
671
+ dispatch(saveUserData({ hmsSessionStore: sessionStore }));
672
+ };
673
+
674
+ hmsInstance.addEventListener(
675
+ HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE,
676
+ onSessionStoreAvailableListener
677
+ );
678
+
679
+ return () => {
680
+ hmsInstance.removeEventListener(
681
+ HMSUpdateListenerActions.ON_SESSION_STORE_AVAILABLE
682
+ );
683
+ };
684
+ }, [hmsInstance]);
685
+ };
686
+
687
+ export const useHMSMessages = () => {
688
+ const hmsInstance = useHMSInstance();
689
+ const dispatch = useDispatch();
690
+
691
+ useEffect(() => {
692
+ const onMessageListener = (message: HMSMessage) => {
693
+ dispatch(addMessage(message));
694
+ };
695
+
696
+ hmsInstance.addEventListener(
697
+ HMSUpdateListenerActions.ON_MESSAGE,
698
+ onMessageListener
699
+ );
700
+
701
+ return () => {
702
+ // TODO: Remove this listener when user leaves, removed or room is ended
703
+ hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_MESSAGE);
704
+ };
705
+ }, [hmsInstance]);
706
+ };
707
+
708
+ export const useHMSPIPRoomLeave = () => {
709
+ const hmsInstance = useHMSInstance();
710
+ const dispatch = useDispatch();
711
+ // TODO: What if this is undefined?
712
+ const navigation = useNavigation();
713
+
714
+ useEffect(() => {
715
+ const pipRoomLeaveHandler = () => {
716
+ hmsInstance
717
+ .destroy()
718
+ .then((s) => {
719
+ console.log('Destroy Success: ', s);
720
+ // TODOS:
721
+ // - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
722
+ // - Reset Redux States
723
+ // - HMSInstance will not be available now
724
+ // - When your presses "Re Join" Action button, restart process from root component
725
+ // - When your presses "Done" Action button
726
+ // - If we have callback fn, call it
727
+ // - Otherwise try our best to navigate away from current screen
728
+ //
729
+ // - No screen to show
730
+ // - No need to reset redux state?
731
+ // - HMSInstance will be available till this point
732
+ // - If we have callback fn, call it
733
+ // - Otherwise try our best to navigate away from current screen
734
+ // - When we are navigated away from screen, HMSInstance will be not available
735
+
736
+ // dispatch(clearMessageData());
737
+ // dispatch(clearPeerData());
738
+ // dispatch(clearHmsReference());
739
+
740
+ // if (navigation.canGoBack()) {
741
+ // navigation.goBack();
742
+ // } else {
743
+ // TODO: remove this later
744
+ navigation.navigate('QRCodeScreen' as never);
745
+ dispatch(clearStore());
746
+ // }
747
+ })
748
+ .catch((e) => {
749
+ console.log(`Destroy HMS instance Error: ${e}`);
750
+ Toast.showWithGravity(
751
+ `Destroy HMS instance Error: ${e}`,
752
+ Toast.LONG,
753
+ Toast.TOP
754
+ );
755
+ });
756
+ };
757
+
758
+ hmsInstance.addEventListener(
759
+ HMSPIPListenerActions.ON_PIP_ROOM_LEAVE,
760
+ pipRoomLeaveHandler
761
+ );
762
+
763
+ return () => {
764
+ hmsInstance.removeEventListener(HMSPIPListenerActions.ON_PIP_ROOM_LEAVE);
765
+ };
766
+ }, [hmsInstance]);
767
+ };
768
+
769
+ export const useHMSRemovedFromRoomUpdate = () => {
770
+ const hmsInstance = useHMSInstance();
771
+ const dispatch = useDispatch();
772
+ // TODO: What if this is undefined?
773
+ const navigation = useNavigation();
774
+
775
+ useEffect(() => {
776
+ const removedFromRoomHandler = () => {
777
+ hmsInstance
778
+ .destroy()
779
+ .then((s) => {
780
+ console.log('Destroy Success: ', s);
781
+ // TODOS:
782
+ // - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
783
+ // - Reset Redux States
784
+ // - HMSInstance will not be available now
785
+ // - When your presses "Re Join" Action button, restart process from root component
786
+ // - When your presses "Done" Action button
787
+ // - If we have callback fn, call it
788
+ // - Otherwise try our best to navigate away from current screen
789
+ //
790
+ // - No screen to show
791
+ // - No need to reset redux state?
792
+ // - HMSInstance will be available till this point
793
+ // - If we have callback fn, call it
794
+ // - Otherwise try our best to navigate away from current screen
795
+ // - When we are navigated away from screen, HMSInstance will be not available
796
+
797
+ // dispatch(clearMessageData());
798
+ // dispatch(clearPeerData());
799
+ // dispatch(clearHmsReference());
800
+
801
+ // if (navigation.canGoBack()) {
802
+ // navigation.goBack();
803
+ // } else {
804
+ // TODO: remove this later
805
+ navigation.navigate('QRCodeScreen' as never);
806
+ dispatch(clearStore());
807
+ // }
808
+ })
809
+ .catch((e) => {
810
+ console.log(`Destroy HMS instance Error: ${e}`);
811
+ Toast.showWithGravity(
812
+ `Destroy HMS instance Error: ${e}`,
813
+ Toast.LONG,
814
+ Toast.TOP
815
+ );
816
+ });
817
+ };
818
+
819
+ hmsInstance.addEventListener(
820
+ HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM,
821
+ removedFromRoomHandler
822
+ );
823
+
824
+ return () => {
825
+ hmsInstance.removeEventListener(
826
+ HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM
827
+ );
828
+ };
829
+ }, [hmsInstance]);
830
+ };
831
+
832
+ export const usePIPListener = () => {
833
+ const hmsInstance = useHMSInstance();
834
+ const dispatch = useDispatch();
835
+ const isPipModeActive = useSelector(
836
+ (state: RootState) => state.app.pipModeStatus === PipModes.ACTIVE
837
+ );
838
+
839
+ useEffect(() => {
840
+ if (isPipModeActive) {
841
+ const appStateListener = () => {
842
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
843
+ dispatch(changePipModeStatus(PipModes.INACTIVE));
844
+ };
845
+
846
+ AppState.addEventListener('focus', appStateListener);
847
+
848
+ return () => {
849
+ AppState.removeEventListener('focus', appStateListener);
850
+ dispatch(changePipModeStatus(PipModes.INACTIVE));
851
+ };
852
+ }
853
+ }, [isPipModeActive]);
854
+
855
+ // Check if PIP is supported or not
856
+ useEffect(() => {
857
+ // Only check for PIP support if PIP is not active
858
+ if (hmsInstance && !isPipModeActive) {
859
+ const check = async () => {
860
+ try {
861
+ const isSupported = await hmsInstance.isPipModeSupported();
862
+
863
+ if (!isSupported) {
864
+ dispatch(changePipModeStatus(PipModes.NOT_AVAILABLE));
865
+ }
866
+ } catch (error) {
867
+ dispatch(changePipModeStatus(PipModes.NOT_AVAILABLE));
868
+ }
869
+ };
870
+
871
+ check();
872
+ }
873
+ }, [isPipModeActive, hmsInstance]);
874
+ };
875
+
876
+ let modalTaskRef: { current: any } = { current: null };
877
+
878
+ export const clearPendingModalTasks = () => {
879
+ if (Platform.OS === 'android') {
880
+ modalTaskRef.current?.cancel();
881
+ } else {
882
+ clearTimeout(modalTaskRef.current);
883
+ }
884
+ };
885
+
886
+ const addModalTask = (task: () => void) => {
887
+ clearPendingModalTasks();
888
+
889
+ if (Platform.OS === 'android') {
890
+ modalTaskRef.current = InteractionManager.runAfterInteractions(task);
891
+ } else {
892
+ modalTaskRef.current = setTimeout(task, 500);
893
+ }
894
+ };
895
+
896
+ export const useModalType = () => {
897
+ const dispatch = useDispatch();
898
+ const modalType = useSelector((state: RootState) => state.app.modalType);
899
+
900
+ const setModalVisible = (modalType: ModalTypes) => {
901
+ dispatch(setModalType(modalType));
902
+ };
903
+
904
+ const handleModalVisible = useCallback(
905
+ (modalType: ModalTypes, delay = false) => {
906
+ if (delay) {
907
+ setModalVisible(ModalTypes.DEFAULT);
908
+
909
+ const task = () => {
910
+ setModalVisible(modalType);
911
+ };
912
+
913
+ addModalTask(task);
914
+ } else {
915
+ setModalVisible(modalType);
916
+ }
917
+ },
918
+ []
919
+ );
920
+
921
+ return {
922
+ modalVisibleType: modalType,
923
+ handleModalVisibleType: handleModalVisible,
924
+ };
925
+ };
926
+
927
+ export const useFetchHMSRoles = () => {
928
+ const dispatch = useDispatch();
929
+ const hmsInstance = useHMSInstance();
930
+
931
+ useEffect(() => {
932
+ let ignore = false;
933
+ hmsInstance.getRoles().then((roles) => {
934
+ if (!ignore) {
935
+ dispatch(setHMSRoleState(roles));
936
+ }
937
+ });
938
+ return () => {
939
+ ignore = true;
940
+ };
941
+ }, [hmsInstance]);
942
+ };
943
+
944
+ export const useShowLandscapeLayout = () => {
945
+ const isLandscapeOrientation = useIsLandscapeOrientation();
946
+ const localPeerRoleName = useSelector(
947
+ (state: RootState) => state.hmsStates.localPeer?.role?.name
948
+ );
949
+
950
+ return (
951
+ isLandscapeOrientation &&
952
+ !!localPeerRoleName &&
953
+ localPeerRoleName.includes('hls-')
954
+ );
955
+ };
956
+
957
+ let hmsConfig: HMSConfig | null = null;
958
+
959
+ export const clearConfig = () => {
960
+ hmsConfig = null;
961
+ };
962
+
963
+ export const useHMSConfig = () => {
964
+ const hmsInstance = useHMSInstance();
965
+ const store = useStore();
966
+
967
+ const getConfig = useCallback(async () => {
968
+ if (hmsConfig) return hmsConfig;
969
+
970
+ const storeState = store.getState() as RootState;
971
+
972
+ const token = await hmsInstance.getAuthTokenByRoomCode(
973
+ storeState.user.roomCode,
974
+ storeState.user.userId,
975
+ storeState.user.endPoints?.token
976
+ );
977
+
978
+ hmsConfig = new HMSConfig({
979
+ authToken: token,
980
+ username: storeState.user.userName,
981
+ captureNetworkQualityInPreview: true,
982
+ endpoint: storeState.user.endPoints?.init,
983
+ // metadata: JSON.stringify({isHandRaised: true}), // To join with hand raised
984
+ });
985
+
986
+ return hmsConfig;
987
+ }, [hmsInstance]);
988
+
989
+ return { clearConfig, getConfig };
990
+ };
991
+
992
+ export const useSafeDimensions = () => {
993
+ const { height, width } = useSafeAreaFrame();
994
+ const safeAreaInsets = useSafeAreaInsets();
995
+
996
+ return {
997
+ safeWidth: width - safeAreaInsets.left - safeAreaInsets.right,
998
+ safeHeight: height - safeAreaInsets.top - safeAreaInsets.bottom,
999
+ };
1000
+ };
1001
+
1002
+ export const useShowChat = (): [
1003
+ 'none' | 'inset' | 'modal',
1004
+ (show: boolean) => void,
1005
+ ] => {
1006
+ const dispatch = useDispatch();
1007
+ const isHLSViewer = useIsHLSViewer();
1008
+ const showChatView = useSelector(
1009
+ (state: RootState) => state.chatWindow.showChatView
1010
+ );
1011
+ const hlsAspectRatio = useSelector(
1012
+ (state: RootState) => state.app.hlsAspectRatio
1013
+ );
1014
+ const chatVisible: 'none' | 'inset' | 'modal' = useMemo(() => {
1015
+ if (!showChatView) return 'none';
1016
+
1017
+ if (isHLSViewer && ['16:9', '4:3'].includes(hlsAspectRatio.id))
1018
+ return 'inset';
1019
+
1020
+ // TODO: handle case when type modal is selected, but chat modal is not shown because aspect ration modal was just closed
1021
+ return 'modal';
1022
+ }, [showChatView, hlsAspectRatio.id, isHLSViewer]);
1023
+
1024
+ const isChatVisibleInsetType = chatVisible === 'inset';
1025
+
1026
+ const showChat = useCallback(
1027
+ (show: boolean) => {
1028
+ if (isChatVisibleInsetType) {
1029
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
1030
+ }
1031
+ dispatch({ type: 'SET_SHOW_CHAT_VIEW', showChatView: show });
1032
+ },
1033
+ [isChatVisibleInsetType]
1034
+ );
1035
+
1036
+ return [chatVisible, showChat];
1037
+ };
1038
+
1039
+ export const usePortraitChatViewVisible = () => {
1040
+ const [chatVisible] = useShowChat();
1041
+ const pipModeNotActive = useSelector(
1042
+ (state: RootState) => state.app.pipModeStatus !== PipModes.ACTIVE
1043
+ );
1044
+ const isPortraitOrientation = useIsPortraitOrientation();
1045
+
1046
+ return pipModeNotActive && isPortraitOrientation && chatVisible === 'inset';
1047
+ };
1048
+
1049
+ export const useLandscapeChatViewVisible = () => {
1050
+ const [chatVisible] = useShowChat();
1051
+ const pipModeNotActive = useSelector(
1052
+ (state: RootState) => state.app.pipModeStatus !== PipModes.ACTIVE
1053
+ );
1054
+ const isLandscapeOrientation = useIsLandscapeOrientation();
1055
+
1056
+ return pipModeNotActive && isLandscapeOrientation && chatVisible === 'inset';
1057
+ };
1058
+
1059
+ export const useFilteredParticipants = () => {
1060
+ const hmsInstance = useHMSInstance();
1061
+ const localPeer = useSelector(
1062
+ (state: RootState) => state.hmsStates.localPeer
1063
+ );
1064
+ const [filter, setFilter] = useState('everyone');
1065
+ const [participantsSearchInput, setParticipantsSearchInput] = useState('');
1066
+ const [hmsPeers, setHmsPeers] = useState<(HMSLocalPeer | HMSRemotePeer)[]>(
1067
+ localPeer ? [localPeer] : []
1068
+ );
1069
+
1070
+ const filteredPeerTrackNodes = useMemo(() => {
1071
+ const newFilteredPeerTrackNodes = hmsPeers?.filter((peer) => {
1072
+ if (
1073
+ participantsSearchInput.length < 1 ||
1074
+ peer.name.includes(participantsSearchInput) ||
1075
+ peer.role?.name?.includes(participantsSearchInput)
1076
+ ) {
1077
+ return true;
1078
+ }
1079
+ return false;
1080
+ });
1081
+
1082
+ if (filter === 'everyone') {
1083
+ return newFilteredPeerTrackNodes;
1084
+ }
1085
+
1086
+ if (filter === 'raised hand') {
1087
+ return newFilteredPeerTrackNodes.filter((peer) => {
1088
+ const parsedMetaData = parseMetadata(peer.metadata);
1089
+ return parsedMetaData.isHandRaised === true;
1090
+ });
1091
+ }
1092
+
1093
+ return newFilteredPeerTrackNodes.filter(
1094
+ (peer) => peer.role?.name === filter
1095
+ );
1096
+ }, [participantsSearchInput, filter, hmsPeers]);
1097
+
1098
+ useEffect(() => {
1099
+ let ignore = false;
1100
+
1101
+ hmsInstance.getRemotePeers().then((peers) => {
1102
+ if (localPeer) {
1103
+ InteractionManager.runAfterInteractions(() => {
1104
+ if (!ignore) {
1105
+ setHmsPeers([localPeer, ...peers]);
1106
+ }
1107
+ });
1108
+ }
1109
+ });
1110
+
1111
+ return () => {
1112
+ ignore = true;
1113
+ };
1114
+ }, [localPeer, hmsInstance]);
1115
+
1116
+ return {
1117
+ allParticipants: hmsPeers,
1118
+ filteredParticipants: filteredPeerTrackNodes,
1119
+ selectedFilter: filter,
1120
+ changeFilter: setFilter,
1121
+ searchText: participantsSearchInput,
1122
+ setSearchText: setParticipantsSearchInput,
1123
+ };
1124
+ };