@100mslive/react-native-room-kit 0.0.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (816) hide show
  1. package/README.md +413 -11
  2. package/lib/commonjs/HMSInstanceSetup.js +2 -1
  3. package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
  4. package/lib/commonjs/HMSPrebuilt.js +4 -2
  5. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  6. package/lib/commonjs/HMSRoomSetup.js +39 -8
  7. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  8. package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
  9. package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
  10. package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
  11. package/lib/commonjs/Icons/AlertTriangle/index.js +34 -0
  12. package/lib/commonjs/Icons/AlertTriangle/index.js.map +1 -0
  13. package/lib/commonjs/Icons/AnswerPhone/index.js +5 -1
  14. package/lib/commonjs/Icons/AnswerPhone/index.js.map +1 -1
  15. package/lib/commonjs/Icons/BRB/assets/BRB.png +0 -0
  16. package/lib/commonjs/Icons/BRB/assets/BRB@2x.png +0 -0
  17. package/lib/commonjs/Icons/BRB/assets/BRB@3x.png +0 -0
  18. package/lib/commonjs/Icons/BRB/index.js +35 -0
  19. package/lib/commonjs/Icons/BRB/index.js.map +1 -0
  20. package/lib/commonjs/Icons/Bluetooth/index.js +5 -1
  21. package/lib/commonjs/Icons/Bluetooth/index.js.map +1 -1
  22. package/lib/commonjs/Icons/Camera/index.js +5 -1
  23. package/lib/commonjs/Icons/Camera/index.js.map +1 -1
  24. package/lib/commonjs/Icons/Chat/index.js +5 -1
  25. package/lib/commonjs/Icons/Chat/index.js.map +1 -1
  26. package/lib/commonjs/Icons/Check/index.js +5 -1
  27. package/lib/commonjs/Icons/Check/index.js.map +1 -1
  28. package/lib/commonjs/Icons/Chevron/index.js +5 -1
  29. package/lib/commonjs/Icons/Chevron/index.js.map +1 -1
  30. package/lib/commonjs/Icons/Close/index.js +5 -1
  31. package/lib/commonjs/Icons/Close/index.js.map +1 -1
  32. package/lib/commonjs/Icons/Hamburger/assets/hamburger.png +0 -0
  33. package/lib/commonjs/Icons/Hamburger/assets/hamburger@2x.png +0 -0
  34. package/lib/commonjs/Icons/Hamburger/assets/hamburger@3x.png +0 -0
  35. package/lib/commonjs/Icons/Hamburger/index.js +34 -0
  36. package/lib/commonjs/Icons/Hamburger/index.js.map +1 -0
  37. package/lib/commonjs/Icons/Hand/index.js +6 -4
  38. package/lib/commonjs/Icons/Hand/index.js.map +1 -1
  39. package/lib/commonjs/Icons/Headphones/index.js +5 -1
  40. package/lib/commonjs/Icons/Headphones/index.js.map +1 -1
  41. package/lib/commonjs/Icons/Maximize/assets/maximize.png +0 -0
  42. package/lib/commonjs/Icons/Maximize/assets/maximize@2x.png +0 -0
  43. package/lib/commonjs/Icons/Maximize/assets/maximize@3x.png +0 -0
  44. package/lib/commonjs/Icons/Maximize/index.js +34 -0
  45. package/lib/commonjs/Icons/Maximize/index.js.map +1 -0
  46. package/lib/commonjs/Icons/Mic/index.js +5 -1
  47. package/lib/commonjs/Icons/Mic/index.js.map +1 -1
  48. package/lib/commonjs/Icons/Minimize/assets/minimize.png +0 -0
  49. package/lib/commonjs/Icons/Minimize/assets/minimize@2x.png +0 -0
  50. package/lib/commonjs/Icons/Minimize/assets/minimize@3x.png +0 -0
  51. package/lib/commonjs/Icons/Minimize/index.js +34 -0
  52. package/lib/commonjs/Icons/Minimize/index.js.map +1 -0
  53. package/lib/commonjs/Icons/Participants/index.js +5 -1
  54. package/lib/commonjs/Icons/Participants/index.js.map +1 -1
  55. package/lib/commonjs/Icons/Pencil/assets/pencil.png +0 -0
  56. package/lib/commonjs/Icons/Pencil/assets/pencil@2x.png +0 -0
  57. package/lib/commonjs/Icons/Pencil/assets/pencil@3x.png +0 -0
  58. package/lib/commonjs/Icons/Pencil/index.js +34 -0
  59. package/lib/commonjs/Icons/Pencil/index.js.map +1 -0
  60. package/lib/commonjs/Icons/Pin/assets/pin.png +0 -0
  61. package/lib/commonjs/Icons/Pin/assets/pin@2x.png +0 -0
  62. package/lib/commonjs/Icons/Pin/assets/pin@3x.png +0 -0
  63. package/lib/commonjs/Icons/Pin/index.js +34 -0
  64. package/lib/commonjs/Icons/Pin/index.js.map +1 -0
  65. package/lib/commonjs/Icons/Radio/assets/radio-xlarge.png +0 -0
  66. package/lib/commonjs/Icons/Radio/assets/radio-xlarge@2x.png +0 -0
  67. package/lib/commonjs/Icons/Radio/assets/radio-xlarge@3x.png +0 -0
  68. package/lib/commonjs/Icons/Radio/index.js +29 -1
  69. package/lib/commonjs/Icons/Radio/index.js.map +1 -1
  70. package/lib/commonjs/Icons/Recording/assets/recording.png +0 -0
  71. package/lib/commonjs/Icons/Recording/assets/recording@2x.png +0 -0
  72. package/lib/commonjs/Icons/Recording/assets/recording@3x.png +0 -0
  73. package/lib/commonjs/Icons/Recording/index.js +34 -0
  74. package/lib/commonjs/Icons/Recording/index.js.map +1 -0
  75. package/lib/commonjs/Icons/RotateCamera/index.js +5 -1
  76. package/lib/commonjs/Icons/RotateCamera/index.js.map +1 -1
  77. package/lib/commonjs/Icons/ScreenShare/index.js +5 -1
  78. package/lib/commonjs/Icons/ScreenShare/index.js.map +1 -1
  79. package/lib/commonjs/Icons/Speaker/index.js +5 -1
  80. package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
  81. package/lib/commonjs/Icons/Star/assets/star.png +0 -0
  82. package/lib/commonjs/Icons/Star/assets/star@2x.png +0 -0
  83. package/lib/commonjs/Icons/Star/assets/star@3x.png +0 -0
  84. package/lib/commonjs/Icons/Star/index.js +34 -0
  85. package/lib/commonjs/Icons/Star/index.js.map +1 -0
  86. package/lib/commonjs/Icons/Stop/assets/stop.png +0 -0
  87. package/lib/commonjs/Icons/Stop/assets/stop@2x.png +0 -0
  88. package/lib/commonjs/Icons/Stop/assets/stop@3x.png +0 -0
  89. package/lib/commonjs/Icons/Stop/index.js +34 -0
  90. package/lib/commonjs/Icons/Stop/index.js.map +1 -0
  91. package/lib/commonjs/Icons/ThreeDots/index.js +5 -1
  92. package/lib/commonjs/Icons/ThreeDots/index.js.map +1 -1
  93. package/lib/commonjs/Icons/Wave/index.js +5 -1
  94. package/lib/commonjs/Icons/Wave/index.js.map +1 -1
  95. package/lib/commonjs/Icons/index.js +110 -0
  96. package/lib/commonjs/Icons/index.js.map +1 -1
  97. package/lib/commonjs/components/AvatarView.js +1 -2
  98. package/lib/commonjs/components/AvatarView.js.map +1 -1
  99. package/lib/commonjs/components/BackButton.js +6 -4
  100. package/lib/commonjs/components/BackButton.js.map +1 -1
  101. package/lib/commonjs/components/BottomSheet.js +157 -0
  102. package/lib/commonjs/components/BottomSheet.js.map +1 -0
  103. package/lib/commonjs/components/ChangeNameModalContent.js +131 -0
  104. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -0
  105. package/lib/commonjs/components/CompanyLogo.js +38 -0
  106. package/lib/commonjs/components/CompanyLogo.js.map +1 -0
  107. package/lib/commonjs/components/CustomInput.js +2 -3
  108. package/lib/commonjs/components/CustomInput.js.map +1 -1
  109. package/lib/commonjs/components/DisplayView.js +15 -54
  110. package/lib/commonjs/components/DisplayView.js.map +1 -1
  111. package/lib/commonjs/components/EndRoomModalContent.js +85 -0
  112. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -0
  113. package/lib/commonjs/components/Footer.js +17 -13
  114. package/lib/commonjs/components/Footer.js.map +1 -1
  115. package/lib/commonjs/components/GridView.js +53 -7
  116. package/lib/commonjs/components/GridView.js.map +1 -1
  117. package/lib/commonjs/components/HMSBaseButton.js +66 -0
  118. package/lib/commonjs/components/HMSBaseButton.js.map +1 -0
  119. package/lib/commonjs/components/HMSDangerButton.js +53 -0
  120. package/lib/commonjs/components/HMSDangerButton.js.map +1 -0
  121. package/lib/commonjs/components/HMSHLSNotStarted.js +27 -19
  122. package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
  123. package/lib/commonjs/components/HMSHLSStreamLoading.js +17 -8
  124. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
  125. package/lib/commonjs/components/HMSManageAudioOutput.js +41 -75
  126. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  127. package/lib/commonjs/components/HMSManageCameraRotation.js +5 -4
  128. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  129. package/lib/commonjs/components/HMSManageLeave.js +101 -128
  130. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  131. package/lib/commonjs/components/HMSManageLocalAudio.js +1 -9
  132. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  133. package/lib/commonjs/components/HMSManageLocalVideo.js +1 -9
  134. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  135. package/lib/commonjs/components/HMSManageRaiseHand.js +2 -15
  136. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
  137. package/lib/commonjs/components/HMSMeetingEnded.js +1 -2
  138. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
  139. package/lib/commonjs/components/HMSPreviewEditName.js +3 -37
  140. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  141. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +17 -10
  142. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  143. package/lib/commonjs/components/HMSPreviewJoinButton.js +23 -46
  144. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  145. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +5 -3
  146. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
  147. package/lib/commonjs/components/HMSPreviewPeersList.js +21 -10
  148. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  149. package/lib/commonjs/components/HMSPreviewSubtitle.js +22 -9
  150. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  151. package/lib/commonjs/components/HMSPreviewTile.js +16 -8
  152. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  153. package/lib/commonjs/components/HMSPreviewTitle.js +14 -6
  154. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  155. package/lib/commonjs/components/HMSPrimaryButton.js +53 -0
  156. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -0
  157. package/lib/commonjs/components/HMSRecordingIndicator.js +46 -0
  158. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -0
  159. package/lib/commonjs/components/HMSRoomOptions.js +20 -7
  160. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  161. package/lib/commonjs/components/HMSShowNetworkQuality.js +5 -4
  162. package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
  163. package/lib/commonjs/components/HMSTextInput.js +66 -0
  164. package/lib/commonjs/components/HMSTextInput.js.map +1 -0
  165. package/lib/commonjs/components/Header.js +30 -30
  166. package/lib/commonjs/components/Header.js.map +1 -1
  167. package/lib/commonjs/components/LocalPeerRegularVideoView.js +26 -0
  168. package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -0
  169. package/lib/commonjs/components/LocalPeerScreenshareView.js +76 -0
  170. package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -0
  171. package/lib/commonjs/components/Meeting.js +8 -3
  172. package/lib/commonjs/components/Meeting.js.map +1 -1
  173. package/lib/commonjs/components/MeetingScreenContent.js +2 -1
  174. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  175. package/lib/commonjs/components/MiniView.js +163 -0
  176. package/lib/commonjs/components/MiniView.js.map +1 -0
  177. package/lib/commonjs/components/Modals.js +31 -116
  178. package/lib/commonjs/components/Modals.js.map +1 -1
  179. package/lib/commonjs/components/PaginationDots.js +56 -0
  180. package/lib/commonjs/components/PaginationDots.js.map +1 -0
  181. package/lib/commonjs/components/ParticipantsCount.js +55 -0
  182. package/lib/commonjs/components/ParticipantsCount.js.map +1 -0
  183. package/lib/commonjs/components/PeerMinimizedView.js +114 -0
  184. package/lib/commonjs/components/PeerMinimizedView.js.map +1 -0
  185. package/lib/commonjs/components/PeerSettingsModalContent.js +68 -51
  186. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  187. package/lib/commonjs/components/PeerVideoTile/AvatarView.js +76 -0
  188. package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -0
  189. package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js +44 -0
  190. package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
  191. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +44 -0
  192. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -0
  193. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +74 -0
  194. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
  195. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +146 -0
  196. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
  197. package/lib/commonjs/components/PeerVideoTile/VideoView.js +84 -0
  198. package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -0
  199. package/lib/commonjs/components/PeerVideoTile/index.js +2 -0
  200. package/lib/commonjs/components/PeerVideoTile/index.js.map +1 -0
  201. package/lib/commonjs/components/PressableIcon.js +15 -8
  202. package/lib/commonjs/components/PressableIcon.js.map +1 -1
  203. package/lib/commonjs/components/Preview.js +19 -6
  204. package/lib/commonjs/components/Preview.js.map +1 -1
  205. package/lib/commonjs/components/RoomSettingsModalContent.js +233 -362
  206. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  207. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +295 -0
  208. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -0
  209. package/lib/commonjs/components/StatusBar.js +7 -5
  210. package/lib/commonjs/components/StatusBar.js.map +1 -1
  211. package/lib/commonjs/components/StopRecordingModalContent.js +97 -0
  212. package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -0
  213. package/lib/commonjs/components/Tile.js +29 -90
  214. package/lib/commonjs/components/Tile.js.map +1 -1
  215. package/lib/commonjs/components/TilesContainer.js +99 -10
  216. package/lib/commonjs/components/TilesContainer.js.map +1 -1
  217. package/lib/commonjs/components/UnmountAfterDelay.js +48 -0
  218. package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -0
  219. package/lib/commonjs/components/WebrtcView.js +51 -0
  220. package/lib/commonjs/components/WebrtcView.js.map +1 -0
  221. package/lib/commonjs/components/WelcomeInMeeting.js +54 -0
  222. package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -0
  223. package/lib/commonjs/hooks-sdk-selectors.js +6 -1
  224. package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
  225. package/lib/commonjs/hooks-sdk.js +16 -1
  226. package/lib/commonjs/hooks-sdk.js.map +1 -1
  227. package/lib/commonjs/hooks-util-selectors.js +8 -2
  228. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  229. package/lib/commonjs/hooks-util.js +315 -93
  230. package/lib/commonjs/hooks-util.js.map +1 -1
  231. package/lib/commonjs/modules/HMSManager.js +23 -0
  232. package/lib/commonjs/modules/HMSManager.js.map +1 -0
  233. package/lib/commonjs/modules/parser.js +22 -0
  234. package/lib/commonjs/modules/parser.js.map +1 -0
  235. package/lib/commonjs/peerTrackNodeUtils.js +8 -3
  236. package/lib/commonjs/peerTrackNodeUtils.js.map +1 -1
  237. package/lib/commonjs/redux/actionTypes.js +16 -1
  238. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  239. package/lib/commonjs/redux/actions/index.js +51 -1
  240. package/lib/commonjs/redux/actions/index.js.map +1 -1
  241. package/lib/commonjs/redux/reducers/appState.js +57 -1
  242. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  243. package/lib/commonjs/redux/reducers/hmsStates.js +7 -1
  244. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  245. package/lib/commonjs/redux/reducers/userState.js +3 -1
  246. package/lib/commonjs/redux/reducers/userState.js.map +1 -1
  247. package/lib/commonjs/utils/functions.js +51 -1
  248. package/lib/commonjs/utils/functions.js.map +1 -1
  249. package/lib/commonjs/utils/theme.js +62 -8
  250. package/lib/commonjs/utils/theme.js.map +1 -1
  251. package/lib/commonjs/utils/types.js +8 -1
  252. package/lib/commonjs/utils/types.js.map +1 -1
  253. package/lib/module/HMSInstanceSetup.js +2 -1
  254. package/lib/module/HMSInstanceSetup.js.map +1 -1
  255. package/lib/module/HMSPrebuilt.js +4 -2
  256. package/lib/module/HMSPrebuilt.js.map +1 -1
  257. package/lib/module/HMSRoomSetup.js +41 -10
  258. package/lib/module/HMSRoomSetup.js.map +1 -1
  259. package/lib/module/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
  260. package/lib/module/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
  261. package/lib/module/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
  262. package/lib/module/Icons/AlertTriangle/index.js +26 -0
  263. package/lib/module/Icons/AlertTriangle/index.js.map +1 -0
  264. package/lib/module/Icons/AnswerPhone/index.js +5 -1
  265. package/lib/module/Icons/AnswerPhone/index.js.map +1 -1
  266. package/lib/module/Icons/BRB/assets/BRB.png +0 -0
  267. package/lib/module/Icons/BRB/assets/BRB@2x.png +0 -0
  268. package/lib/module/Icons/BRB/assets/BRB@3x.png +0 -0
  269. package/lib/module/Icons/BRB/index.js +27 -0
  270. package/lib/module/Icons/BRB/index.js.map +1 -0
  271. package/lib/module/Icons/Bluetooth/index.js +5 -1
  272. package/lib/module/Icons/Bluetooth/index.js.map +1 -1
  273. package/lib/module/Icons/Camera/index.js +5 -1
  274. package/lib/module/Icons/Camera/index.js.map +1 -1
  275. package/lib/module/Icons/Chat/index.js +5 -1
  276. package/lib/module/Icons/Chat/index.js.map +1 -1
  277. package/lib/module/Icons/Check/index.js +5 -1
  278. package/lib/module/Icons/Check/index.js.map +1 -1
  279. package/lib/module/Icons/Chevron/index.js +5 -1
  280. package/lib/module/Icons/Chevron/index.js.map +1 -1
  281. package/lib/module/Icons/Close/index.js +5 -1
  282. package/lib/module/Icons/Close/index.js.map +1 -1
  283. package/lib/module/Icons/Hamburger/assets/hamburger.png +0 -0
  284. package/lib/module/Icons/Hamburger/assets/hamburger@2x.png +0 -0
  285. package/lib/module/Icons/Hamburger/assets/hamburger@3x.png +0 -0
  286. package/lib/module/Icons/Hamburger/index.js +26 -0
  287. package/lib/module/Icons/Hamburger/index.js.map +1 -0
  288. package/lib/module/Icons/Hand/index.js +6 -4
  289. package/lib/module/Icons/Hand/index.js.map +1 -1
  290. package/lib/module/Icons/Headphones/index.js +5 -1
  291. package/lib/module/Icons/Headphones/index.js.map +1 -1
  292. package/lib/module/Icons/Maximize/assets/maximize.png +0 -0
  293. package/lib/module/Icons/Maximize/assets/maximize@2x.png +0 -0
  294. package/lib/module/Icons/Maximize/assets/maximize@3x.png +0 -0
  295. package/lib/module/Icons/Maximize/index.js +26 -0
  296. package/lib/module/Icons/Maximize/index.js.map +1 -0
  297. package/lib/module/Icons/Mic/index.js +5 -1
  298. package/lib/module/Icons/Mic/index.js.map +1 -1
  299. package/lib/module/Icons/Minimize/assets/minimize.png +0 -0
  300. package/lib/module/Icons/Minimize/assets/minimize@2x.png +0 -0
  301. package/lib/module/Icons/Minimize/assets/minimize@3x.png +0 -0
  302. package/lib/module/Icons/Minimize/index.js +26 -0
  303. package/lib/module/Icons/Minimize/index.js.map +1 -0
  304. package/lib/module/Icons/Participants/index.js +5 -1
  305. package/lib/module/Icons/Participants/index.js.map +1 -1
  306. package/lib/module/Icons/Pencil/assets/pencil.png +0 -0
  307. package/lib/module/Icons/Pencil/assets/pencil@2x.png +0 -0
  308. package/lib/module/Icons/Pencil/assets/pencil@3x.png +0 -0
  309. package/lib/module/Icons/Pencil/index.js +26 -0
  310. package/lib/module/Icons/Pencil/index.js.map +1 -0
  311. package/lib/module/Icons/Pin/assets/pin.png +0 -0
  312. package/lib/module/Icons/Pin/assets/pin@2x.png +0 -0
  313. package/lib/module/Icons/Pin/assets/pin@3x.png +0 -0
  314. package/lib/module/Icons/Pin/index.js +26 -0
  315. package/lib/module/Icons/Pin/index.js.map +1 -0
  316. package/lib/module/Icons/Radio/assets/radio-xlarge.png +0 -0
  317. package/lib/module/Icons/Radio/assets/radio-xlarge@2x.png +0 -0
  318. package/lib/module/Icons/Radio/assets/radio-xlarge@3x.png +0 -0
  319. package/lib/module/Icons/Radio/index.js +30 -2
  320. package/lib/module/Icons/Radio/index.js.map +1 -1
  321. package/lib/module/Icons/Recording/assets/recording.png +0 -0
  322. package/lib/module/Icons/Recording/assets/recording@2x.png +0 -0
  323. package/lib/module/Icons/Recording/assets/recording@3x.png +0 -0
  324. package/lib/module/Icons/Recording/index.js +26 -0
  325. package/lib/module/Icons/Recording/index.js.map +1 -0
  326. package/lib/module/Icons/RotateCamera/index.js +5 -1
  327. package/lib/module/Icons/RotateCamera/index.js.map +1 -1
  328. package/lib/module/Icons/ScreenShare/index.js +5 -1
  329. package/lib/module/Icons/ScreenShare/index.js.map +1 -1
  330. package/lib/module/Icons/Speaker/index.js +5 -1
  331. package/lib/module/Icons/Speaker/index.js.map +1 -1
  332. package/lib/module/Icons/Star/assets/star.png +0 -0
  333. package/lib/module/Icons/Star/assets/star@2x.png +0 -0
  334. package/lib/module/Icons/Star/assets/star@3x.png +0 -0
  335. package/lib/module/Icons/Star/index.js +26 -0
  336. package/lib/module/Icons/Star/index.js.map +1 -0
  337. package/lib/module/Icons/Stop/assets/stop.png +0 -0
  338. package/lib/module/Icons/Stop/assets/stop@2x.png +0 -0
  339. package/lib/module/Icons/Stop/assets/stop@3x.png +0 -0
  340. package/lib/module/Icons/Stop/index.js +26 -0
  341. package/lib/module/Icons/Stop/index.js.map +1 -0
  342. package/lib/module/Icons/ThreeDots/index.js +5 -1
  343. package/lib/module/Icons/ThreeDots/index.js.map +1 -1
  344. package/lib/module/Icons/Wave/index.js +5 -1
  345. package/lib/module/Icons/Wave/index.js.map +1 -1
  346. package/lib/module/Icons/index.js +10 -0
  347. package/lib/module/Icons/index.js.map +1 -1
  348. package/lib/module/components/AvatarView.js +1 -2
  349. package/lib/module/components/AvatarView.js.map +1 -1
  350. package/lib/module/components/BackButton.js +6 -4
  351. package/lib/module/components/BackButton.js.map +1 -1
  352. package/lib/module/components/BottomSheet.js +146 -0
  353. package/lib/module/components/BottomSheet.js.map +1 -0
  354. package/lib/module/components/ChangeNameModalContent.js +122 -0
  355. package/lib/module/components/ChangeNameModalContent.js.map +1 -0
  356. package/lib/module/components/CompanyLogo.js +30 -0
  357. package/lib/module/components/CompanyLogo.js.map +1 -0
  358. package/lib/module/components/CustomInput.js +2 -3
  359. package/lib/module/components/CustomInput.js.map +1 -1
  360. package/lib/module/components/DisplayView.js +19 -57
  361. package/lib/module/components/DisplayView.js.map +1 -1
  362. package/lib/module/components/EndRoomModalContent.js +76 -0
  363. package/lib/module/components/EndRoomModalContent.js.map +1 -0
  364. package/lib/module/components/Footer.js +19 -15
  365. package/lib/module/components/Footer.js.map +1 -1
  366. package/lib/module/components/GridView.js +55 -10
  367. package/lib/module/components/GridView.js.map +1 -1
  368. package/lib/module/components/HMSBaseButton.js +57 -0
  369. package/lib/module/components/HMSBaseButton.js.map +1 -0
  370. package/lib/module/components/HMSDangerButton.js +44 -0
  371. package/lib/module/components/HMSDangerButton.js.map +1 -0
  372. package/lib/module/components/HMSHLSNotStarted.js +29 -21
  373. package/lib/module/components/HMSHLSNotStarted.js.map +1 -1
  374. package/lib/module/components/HMSHLSStreamLoading.js +17 -8
  375. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
  376. package/lib/module/components/HMSManageAudioOutput.js +42 -77
  377. package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
  378. package/lib/module/components/HMSManageCameraRotation.js +5 -4
  379. package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
  380. package/lib/module/components/HMSManageLeave.js +104 -129
  381. package/lib/module/components/HMSManageLeave.js.map +1 -1
  382. package/lib/module/components/HMSManageLocalAudio.js +1 -9
  383. package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
  384. package/lib/module/components/HMSManageLocalVideo.js +1 -9
  385. package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
  386. package/lib/module/components/HMSManageRaiseHand.js +2 -15
  387. package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
  388. package/lib/module/components/HMSMeetingEnded.js +1 -2
  389. package/lib/module/components/HMSMeetingEnded.js.map +1 -1
  390. package/lib/module/components/HMSPreviewEditName.js +3 -37
  391. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  392. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +17 -10
  393. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  394. package/lib/module/components/HMSPreviewJoinButton.js +26 -49
  395. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  396. package/lib/module/components/HMSPreviewNetworkQuality.js +6 -4
  397. package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -1
  398. package/lib/module/components/HMSPreviewPeersList.js +21 -10
  399. package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
  400. package/lib/module/components/HMSPreviewSubtitle.js +22 -9
  401. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  402. package/lib/module/components/HMSPreviewTile.js +16 -8
  403. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  404. package/lib/module/components/HMSPreviewTitle.js +14 -6
  405. package/lib/module/components/HMSPreviewTitle.js.map +1 -1
  406. package/lib/module/components/HMSPrimaryButton.js +44 -0
  407. package/lib/module/components/HMSPrimaryButton.js.map +1 -0
  408. package/lib/module/components/HMSRecordingIndicator.js +37 -0
  409. package/lib/module/components/HMSRecordingIndicator.js.map +1 -0
  410. package/lib/module/components/HMSRoomOptions.js +21 -8
  411. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  412. package/lib/module/components/HMSShowNetworkQuality.js +6 -5
  413. package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
  414. package/lib/module/components/HMSTextInput.js +57 -0
  415. package/lib/module/components/HMSTextInput.js.map +1 -0
  416. package/lib/module/components/Header.js +32 -32
  417. package/lib/module/components/Header.js.map +1 -1
  418. package/lib/module/components/LocalPeerRegularVideoView.js +17 -0
  419. package/lib/module/components/LocalPeerRegularVideoView.js.map +1 -0
  420. package/lib/module/components/LocalPeerScreenshareView.js +66 -0
  421. package/lib/module/components/LocalPeerScreenshareView.js.map +1 -0
  422. package/lib/module/components/Meeting.js +9 -4
  423. package/lib/module/components/Meeting.js.map +1 -1
  424. package/lib/module/components/MeetingScreenContent.js +2 -1
  425. package/lib/module/components/MeetingScreenContent.js.map +1 -1
  426. package/lib/module/components/MiniView.js +154 -0
  427. package/lib/module/components/MiniView.js.map +1 -0
  428. package/lib/module/components/Modals.js +31 -114
  429. package/lib/module/components/Modals.js.map +1 -1
  430. package/lib/module/components/PaginationDots.js +47 -0
  431. package/lib/module/components/PaginationDots.js.map +1 -0
  432. package/lib/module/components/ParticipantsCount.js +46 -0
  433. package/lib/module/components/ParticipantsCount.js.map +1 -0
  434. package/lib/module/components/PeerMinimizedView.js +104 -0
  435. package/lib/module/components/PeerMinimizedView.js.map +1 -0
  436. package/lib/module/components/PeerSettingsModalContent.js +71 -54
  437. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  438. package/lib/module/components/PeerVideoTile/AvatarView.js +66 -0
  439. package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -0
  440. package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js +35 -0
  441. package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
  442. package/lib/module/components/PeerVideoTile/PeerMetadata.js +35 -0
  443. package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -0
  444. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +65 -0
  445. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
  446. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +136 -0
  447. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
  448. package/lib/module/components/PeerVideoTile/VideoView.js +75 -0
  449. package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -0
  450. package/lib/module/components/PeerVideoTile/index.js +2 -0
  451. package/lib/module/components/PeerVideoTile/index.js.map +1 -0
  452. package/lib/module/components/PressableIcon.js +15 -8
  453. package/lib/module/components/PressableIcon.js.map +1 -1
  454. package/lib/module/components/Preview.js +19 -6
  455. package/lib/module/components/Preview.js.map +1 -1
  456. package/lib/module/components/RoomSettingsModalContent.js +234 -364
  457. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  458. package/lib/module/components/RoomSettingsModalDebugModeContent.js +287 -0
  459. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -0
  460. package/lib/module/components/StatusBar.js +7 -5
  461. package/lib/module/components/StatusBar.js.map +1 -1
  462. package/lib/module/components/StopRecordingModalContent.js +88 -0
  463. package/lib/module/components/StopRecordingModalContent.js.map +1 -0
  464. package/lib/module/components/Tile.js +30 -91
  465. package/lib/module/components/Tile.js.map +1 -1
  466. package/lib/module/components/TilesContainer.js +100 -10
  467. package/lib/module/components/TilesContainer.js.map +1 -1
  468. package/lib/module/components/UnmountAfterDelay.js +39 -0
  469. package/lib/module/components/UnmountAfterDelay.js.map +1 -0
  470. package/lib/module/components/WebrtcView.js +41 -0
  471. package/lib/module/components/WebrtcView.js.map +1 -0
  472. package/lib/module/components/WelcomeInMeeting.js +45 -0
  473. package/lib/module/components/WelcomeInMeeting.js.map +1 -0
  474. package/lib/module/hooks-sdk-selectors.js +4 -0
  475. package/lib/module/hooks-sdk-selectors.js.map +1 -1
  476. package/lib/module/hooks-sdk.js +16 -1
  477. package/lib/module/hooks-sdk.js.map +1 -1
  478. package/lib/module/hooks-util-selectors.js +8 -2
  479. package/lib/module/hooks-util-selectors.js.map +1 -1
  480. package/lib/module/hooks-util.js +310 -96
  481. package/lib/module/hooks-util.js.map +1 -1
  482. package/lib/module/modules/HMSManager.js +17 -0
  483. package/lib/module/modules/HMSManager.js.map +1 -0
  484. package/lib/module/modules/parser.js +16 -0
  485. package/lib/module/modules/parser.js.map +1 -0
  486. package/lib/module/peerTrackNodeUtils.js +6 -2
  487. package/lib/module/peerTrackNodeUtils.js.map +1 -1
  488. package/lib/module/redux/actionTypes.js +16 -1
  489. package/lib/module/redux/actionTypes.js.map +1 -1
  490. package/lib/module/redux/actions/index.js +42 -0
  491. package/lib/module/redux/actions/index.js.map +1 -1
  492. package/lib/module/redux/reducers/appState.js +57 -1
  493. package/lib/module/redux/reducers/appState.js.map +1 -1
  494. package/lib/module/redux/reducers/hmsStates.js +7 -1
  495. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  496. package/lib/module/redux/reducers/userState.js +3 -1
  497. package/lib/module/redux/reducers/userState.js.map +1 -1
  498. package/lib/module/utils/functions.js +47 -0
  499. package/lib/module/utils/functions.js.map +1 -1
  500. package/lib/module/utils/theme.js +57 -5
  501. package/lib/module/utils/theme.js.map +1 -1
  502. package/lib/module/utils/types.js +6 -0
  503. package/lib/module/utils/types.js.map +1 -1
  504. package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -1
  505. package/lib/typescript/HMSPrebuilt.d.ts +1 -0
  506. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  507. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  508. package/lib/typescript/Icons/AlertTriangle/index.d.ts +7 -0
  509. package/lib/typescript/Icons/AlertTriangle/index.d.ts.map +1 -0
  510. package/lib/typescript/Icons/AnswerPhone/index.d.ts.map +1 -1
  511. package/lib/typescript/Icons/BRB/index.d.ts +7 -0
  512. package/lib/typescript/Icons/BRB/index.d.ts.map +1 -0
  513. package/lib/typescript/Icons/Bluetooth/index.d.ts.map +1 -1
  514. package/lib/typescript/Icons/Camera/index.d.ts.map +1 -1
  515. package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
  516. package/lib/typescript/Icons/Check/index.d.ts.map +1 -1
  517. package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -1
  518. package/lib/typescript/Icons/Close/index.d.ts.map +1 -1
  519. package/lib/typescript/Icons/Hamburger/index.d.ts +7 -0
  520. package/lib/typescript/Icons/Hamburger/index.d.ts.map +1 -0
  521. package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
  522. package/lib/typescript/Icons/Headphones/index.d.ts.map +1 -1
  523. package/lib/typescript/Icons/Maximize/index.d.ts +7 -0
  524. package/lib/typescript/Icons/Maximize/index.d.ts.map +1 -0
  525. package/lib/typescript/Icons/Mic/index.d.ts.map +1 -1
  526. package/lib/typescript/Icons/Minimize/index.d.ts +7 -0
  527. package/lib/typescript/Icons/Minimize/index.d.ts.map +1 -0
  528. package/lib/typescript/Icons/Participants/index.d.ts.map +1 -1
  529. package/lib/typescript/Icons/Pencil/index.d.ts +7 -0
  530. package/lib/typescript/Icons/Pencil/index.d.ts.map +1 -0
  531. package/lib/typescript/Icons/Pin/index.d.ts +7 -0
  532. package/lib/typescript/Icons/Pin/index.d.ts.map +1 -0
  533. package/lib/typescript/Icons/Radio/index.d.ts +7 -3
  534. package/lib/typescript/Icons/Radio/index.d.ts.map +1 -1
  535. package/lib/typescript/Icons/Recording/index.d.ts +7 -0
  536. package/lib/typescript/Icons/Recording/index.d.ts.map +1 -0
  537. package/lib/typescript/Icons/RotateCamera/index.d.ts.map +1 -1
  538. package/lib/typescript/Icons/ScreenShare/index.d.ts.map +1 -1
  539. package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -1
  540. package/lib/typescript/Icons/Star/index.d.ts +7 -0
  541. package/lib/typescript/Icons/Star/index.d.ts.map +1 -0
  542. package/lib/typescript/Icons/Stop/index.d.ts +7 -0
  543. package/lib/typescript/Icons/Stop/index.d.ts.map +1 -0
  544. package/lib/typescript/Icons/ThreeDots/index.d.ts.map +1 -1
  545. package/lib/typescript/Icons/Wave/index.d.ts.map +1 -1
  546. package/lib/typescript/Icons/index.d.ts +10 -0
  547. package/lib/typescript/Icons/index.d.ts.map +1 -1
  548. package/lib/typescript/components/BackButton.d.ts.map +1 -1
  549. package/lib/typescript/components/BottomSheet.d.ts +25 -0
  550. package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
  551. package/lib/typescript/components/ChangeNameModalContent.d.ts +6 -0
  552. package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -0
  553. package/lib/typescript/components/CompanyLogo.d.ts +7 -0
  554. package/lib/typescript/components/CompanyLogo.d.ts.map +1 -0
  555. package/lib/typescript/components/CustomInput.d.ts +1 -1
  556. package/lib/typescript/components/CustomInput.d.ts.map +1 -1
  557. package/lib/typescript/components/DisplayView.d.ts.map +1 -1
  558. package/lib/typescript/components/EndRoomModalContent.d.ts +6 -0
  559. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -0
  560. package/lib/typescript/components/Footer.d.ts.map +1 -1
  561. package/lib/typescript/components/GridView.d.ts +3 -4
  562. package/lib/typescript/components/GridView.d.ts.map +1 -1
  563. package/lib/typescript/components/HMSBaseButton.d.ts +15 -0
  564. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -0
  565. package/lib/typescript/components/HMSDangerButton.d.ts +12 -0
  566. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -0
  567. package/lib/typescript/components/HMSHLSNotStarted.d.ts.map +1 -1
  568. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -1
  569. package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
  570. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  571. package/lib/typescript/components/HMSManageLocalAudio.d.ts.map +1 -1
  572. package/lib/typescript/components/HMSManageLocalVideo.d.ts.map +1 -1
  573. package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
  574. package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
  575. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  576. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  577. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -1
  578. package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -1
  579. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
  580. package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -1
  581. package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
  582. package/lib/typescript/components/HMSPrimaryButton.d.ts +12 -0
  583. package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -0
  584. package/lib/typescript/components/HMSRecordingIndicator.d.ts +3 -0
  585. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -0
  586. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  587. package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
  588. package/lib/typescript/components/HMSTextInput.d.ts +10 -0
  589. package/lib/typescript/components/HMSTextInput.d.ts.map +1 -0
  590. package/lib/typescript/components/Header.d.ts.map +1 -1
  591. package/lib/typescript/components/LocalPeerRegularVideoView.d.ts +6 -0
  592. package/lib/typescript/components/LocalPeerRegularVideoView.d.ts.map +1 -0
  593. package/lib/typescript/components/LocalPeerScreenshareView.d.ts +3 -0
  594. package/lib/typescript/components/LocalPeerScreenshareView.d.ts.map +1 -0
  595. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  596. package/lib/typescript/components/MiniView.d.ts +9 -0
  597. package/lib/typescript/components/MiniView.d.ts.map +1 -0
  598. package/lib/typescript/components/Modals.d.ts +0 -7
  599. package/lib/typescript/components/Modals.d.ts.map +1 -1
  600. package/lib/typescript/components/PaginationDots.d.ts +6 -0
  601. package/lib/typescript/components/PaginationDots.d.ts.map +1 -0
  602. package/lib/typescript/components/ParticipantsCount.d.ts +3 -0
  603. package/lib/typescript/components/ParticipantsCount.d.ts.map +1 -0
  604. package/lib/typescript/components/PeerMinimizedView.d.ts +12 -0
  605. package/lib/typescript/components/PeerMinimizedView.d.ts.map +1 -0
  606. package/lib/typescript/components/PeerSettingsModalContent.d.ts +1 -0
  607. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  608. package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts +9 -0
  609. package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts.map +1 -0
  610. package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts +6 -0
  611. package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts.map +1 -0
  612. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +6 -0
  613. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -0
  614. package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts +10 -0
  615. package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -0
  616. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts +10 -0
  617. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -0
  618. package/lib/typescript/components/PeerVideoTile/VideoView.d.ts +13 -0
  619. package/lib/typescript/components/PeerVideoTile/VideoView.d.ts.map +1 -0
  620. package/lib/typescript/components/PeerVideoTile/index.d.ts +1 -0
  621. package/lib/typescript/components/PeerVideoTile/index.d.ts.map +1 -0
  622. package/lib/typescript/components/PressableIcon.d.ts.map +1 -1
  623. package/lib/typescript/components/Preview.d.ts.map +1 -1
  624. package/lib/typescript/components/RoomSettingsModalContent.d.ts +2 -2
  625. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  626. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts +17 -0
  627. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -0
  628. package/lib/typescript/components/StatusBar.d.ts +2 -1
  629. package/lib/typescript/components/StatusBar.d.ts.map +1 -1
  630. package/lib/typescript/components/StopRecordingModalContent.d.ts +6 -0
  631. package/lib/typescript/components/StopRecordingModalContent.d.ts.map +1 -0
  632. package/lib/typescript/components/Tile.d.ts +12 -3
  633. package/lib/typescript/components/Tile.d.ts.map +1 -1
  634. package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
  635. package/lib/typescript/components/UnmountAfterDelay.d.ts +12 -0
  636. package/lib/typescript/components/UnmountAfterDelay.d.ts.map +1 -0
  637. package/lib/typescript/components/WebrtcView.d.ts +10 -0
  638. package/lib/typescript/components/WebrtcView.d.ts.map +1 -0
  639. package/lib/typescript/components/WelcomeInMeeting.d.ts +5 -0
  640. package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -0
  641. package/lib/typescript/hooks-sdk-selectors.d.ts +2 -0
  642. package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
  643. package/lib/typescript/hooks-sdk.d.ts +1 -0
  644. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  645. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  646. package/lib/typescript/hooks-util.d.ts +15 -2
  647. package/lib/typescript/hooks-util.d.ts.map +1 -1
  648. package/lib/typescript/modules/HMSManager.d.ts +4 -0
  649. package/lib/typescript/modules/HMSManager.d.ts.map +1 -0
  650. package/lib/typescript/modules/parser.d.ts +3 -0
  651. package/lib/typescript/modules/parser.d.ts.map +1 -0
  652. package/lib/typescript/peerTrackNodeUtils.d.ts +1 -0
  653. package/lib/typescript/peerTrackNodeUtils.d.ts.map +1 -1
  654. package/lib/typescript/redux/actionTypes.d.ts +9 -1
  655. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  656. package/lib/typescript/redux/actions/index.d.ts +45 -0
  657. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  658. package/lib/typescript/redux/index.d.ts +7 -0
  659. package/lib/typescript/redux/index.d.ts.map +1 -1
  660. package/lib/typescript/redux/reducers/appState.d.ts +5 -0
  661. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  662. package/lib/typescript/redux/reducers/hmsStates.d.ts +7 -1
  663. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  664. package/lib/typescript/redux/reducers/index.d.ts +7 -0
  665. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  666. package/lib/typescript/redux/reducers/userState.d.ts +1 -0
  667. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  668. package/lib/typescript/utils/functions.d.ts +14 -0
  669. package/lib/typescript/utils/functions.d.ts.map +1 -1
  670. package/lib/typescript/utils/theme.d.ts +6 -3
  671. package/lib/typescript/utils/theme.d.ts.map +1 -1
  672. package/lib/typescript/utils/types.d.ts +5 -0
  673. package/lib/typescript/utils/types.d.ts.map +1 -1
  674. package/package.json +4 -2
  675. package/src/HMSInstanceSetup.tsx +1 -0
  676. package/src/HMSPrebuilt.tsx +3 -2
  677. package/src/HMSRoomSetup.tsx +45 -8
  678. package/src/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
  679. package/src/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
  680. package/src/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
  681. package/src/Icons/AlertTriangle/index.tsx +33 -0
  682. package/src/Icons/AnswerPhone/index.tsx +7 -1
  683. package/src/Icons/BRB/assets/BRB.png +0 -0
  684. package/src/Icons/BRB/assets/BRB@2x.png +0 -0
  685. package/src/Icons/BRB/assets/BRB@3x.png +0 -0
  686. package/src/Icons/BRB/index.tsx +31 -0
  687. package/src/Icons/Bluetooth/index.tsx +7 -1
  688. package/src/Icons/Camera/index.tsx +7 -1
  689. package/src/Icons/Chat/index.tsx +7 -1
  690. package/src/Icons/Check/index.tsx +7 -1
  691. package/src/Icons/Chevron/index.tsx +7 -1
  692. package/src/Icons/Close/index.tsx +7 -1
  693. package/src/Icons/Hamburger/assets/hamburger.png +0 -0
  694. package/src/Icons/Hamburger/assets/hamburger@2x.png +0 -0
  695. package/src/Icons/Hamburger/assets/hamburger@3x.png +0 -0
  696. package/src/Icons/Hamburger/index.tsx +33 -0
  697. package/src/Icons/Hand/index.tsx +6 -3
  698. package/src/Icons/Headphones/index.tsx +7 -1
  699. package/src/Icons/Maximize/assets/maximize.png +0 -0
  700. package/src/Icons/Maximize/assets/maximize@2x.png +0 -0
  701. package/src/Icons/Maximize/assets/maximize@3x.png +0 -0
  702. package/src/Icons/Maximize/index.tsx +33 -0
  703. package/src/Icons/Mic/index.tsx +7 -1
  704. package/src/Icons/Minimize/assets/minimize.png +0 -0
  705. package/src/Icons/Minimize/assets/minimize@2x.png +0 -0
  706. package/src/Icons/Minimize/assets/minimize@3x.png +0 -0
  707. package/src/Icons/Minimize/index.tsx +33 -0
  708. package/src/Icons/Participants/index.tsx +7 -1
  709. package/src/Icons/Pencil/assets/pencil.png +0 -0
  710. package/src/Icons/Pencil/assets/pencil@2x.png +0 -0
  711. package/src/Icons/Pencil/assets/pencil@3x.png +0 -0
  712. package/src/Icons/Pencil/index.tsx +33 -0
  713. package/src/Icons/Pin/assets/pin.png +0 -0
  714. package/src/Icons/Pin/assets/pin@2x.png +0 -0
  715. package/src/Icons/Pin/assets/pin@3x.png +0 -0
  716. package/src/Icons/Pin/index.tsx +30 -0
  717. package/src/Icons/Radio/assets/radio-xlarge.png +0 -0
  718. package/src/Icons/Radio/assets/radio-xlarge@2x.png +0 -0
  719. package/src/Icons/Radio/assets/radio-xlarge@3x.png +0 -0
  720. package/src/Icons/Radio/index.tsx +53 -4
  721. package/src/Icons/Recording/assets/recording.png +0 -0
  722. package/src/Icons/Recording/assets/recording@2x.png +0 -0
  723. package/src/Icons/Recording/assets/recording@3x.png +0 -0
  724. package/src/Icons/Recording/index.tsx +33 -0
  725. package/src/Icons/RotateCamera/index.tsx +7 -1
  726. package/src/Icons/ScreenShare/index.tsx +7 -1
  727. package/src/Icons/Speaker/index.tsx +12 -1
  728. package/src/Icons/Star/assets/star.png +0 -0
  729. package/src/Icons/Star/assets/star@2x.png +0 -0
  730. package/src/Icons/Star/assets/star@3x.png +0 -0
  731. package/src/Icons/Star/index.tsx +30 -0
  732. package/src/Icons/Stop/assets/stop.png +0 -0
  733. package/src/Icons/Stop/assets/stop@2x.png +0 -0
  734. package/src/Icons/Stop/assets/stop@3x.png +0 -0
  735. package/src/Icons/Stop/index.tsx +30 -0
  736. package/src/Icons/ThreeDots/index.tsx +7 -1
  737. package/src/Icons/Wave/index.tsx +7 -1
  738. package/src/Icons/index.ts +10 -0
  739. package/src/components/AvatarView.tsx +1 -2
  740. package/src/components/BackButton.tsx +6 -3
  741. package/src/components/BottomSheet.tsx +191 -0
  742. package/src/components/ChangeNameModalContent.tsx +157 -0
  743. package/src/components/CompanyLogo.tsx +35 -0
  744. package/src/components/CustomInput.tsx +2 -3
  745. package/src/components/DisplayView.tsx +17 -67
  746. package/src/components/EndRoomModalContent.tsx +90 -0
  747. package/src/components/Footer.tsx +38 -33
  748. package/src/components/GridView.tsx +91 -20
  749. package/src/components/HMSBaseButton.tsx +91 -0
  750. package/src/components/HMSDangerButton.tsx +65 -0
  751. package/src/components/HMSHLSNotStarted.tsx +26 -20
  752. package/src/components/HMSHLSStreamLoading.tsx +18 -7
  753. package/src/components/HMSManageAudioOutput.tsx +59 -90
  754. package/src/components/HMSManageCameraRotation.tsx +11 -8
  755. package/src/components/HMSManageLeave.tsx +115 -126
  756. package/src/components/HMSManageLocalAudio.tsx +1 -10
  757. package/src/components/HMSManageLocalVideo.tsx +1 -10
  758. package/src/components/HMSManageRaiseHand.tsx +2 -16
  759. package/src/components/HMSMeetingEnded.tsx +1 -2
  760. package/src/components/HMSPreviewEditName.tsx +2 -44
  761. package/src/components/HMSPreviewHLSLiveIndicator.tsx +17 -9
  762. package/src/components/HMSPreviewJoinButton.tsx +33 -71
  763. package/src/components/HMSPreviewNetworkQuality.tsx +7 -4
  764. package/src/components/HMSPreviewPeersList.tsx +23 -13
  765. package/src/components/HMSPreviewSubtitle.tsx +27 -11
  766. package/src/components/HMSPreviewTile.tsx +19 -8
  767. package/src/components/HMSPreviewTitle.tsx +18 -5
  768. package/src/components/HMSPrimaryButton.tsx +63 -0
  769. package/src/components/HMSRecordingIndicator.tsx +39 -0
  770. package/src/components/HMSRoomOptions.tsx +28 -8
  771. package/src/components/HMSShowNetworkQuality.tsx +7 -5
  772. package/src/components/HMSTextInput.tsx +78 -0
  773. package/src/components/Header.tsx +37 -36
  774. package/src/components/LocalPeerRegularVideoView.tsx +28 -0
  775. package/src/components/LocalPeerScreenshareView.tsx +72 -0
  776. package/src/components/Meeting.tsx +10 -3
  777. package/src/components/MeetingScreenContent.tsx +1 -1
  778. package/src/components/MiniView.tsx +213 -0
  779. package/src/components/Modals.tsx +1 -110
  780. package/src/components/PaginationDots.tsx +65 -0
  781. package/src/components/ParticipantsCount.tsx +52 -0
  782. package/src/components/PeerMinimizedView.tsx +131 -0
  783. package/src/components/PeerSettingsModalContent.tsx +110 -54
  784. package/src/components/PeerVideoTile/AvatarView.tsx +79 -0
  785. package/src/components/PeerVideoTile/PeerAudioMutedIndicator.tsx +41 -0
  786. package/src/components/PeerVideoTile/PeerMetadata.tsx +46 -0
  787. package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +81 -0
  788. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +180 -0
  789. package/src/components/PeerVideoTile/VideoView.tsx +104 -0
  790. package/src/components/PeerVideoTile/index.ts +0 -0
  791. package/src/components/PressableIcon.tsx +15 -8
  792. package/src/components/Preview.tsx +24 -6
  793. package/src/components/RoomSettingsModalContent.tsx +237 -524
  794. package/src/components/RoomSettingsModalDebugModeContent.tsx +446 -0
  795. package/src/components/StatusBar.tsx +6 -4
  796. package/src/components/StopRecordingModalContent.tsx +111 -0
  797. package/src/components/Tile.tsx +49 -90
  798. package/src/components/TilesContainer.tsx +116 -14
  799. package/src/components/UnmountAfterDelay.tsx +61 -0
  800. package/src/components/WebrtcView.tsx +72 -0
  801. package/src/components/WelcomeInMeeting.tsx +52 -0
  802. package/src/hooks-sdk-selectors.tsx +7 -0
  803. package/src/hooks-sdk.ts +18 -0
  804. package/src/hooks-util-selectors.tsx +12 -1
  805. package/src/hooks-util.ts +420 -114
  806. package/src/modules/HMSManager.ts +25 -0
  807. package/src/modules/parser.ts +22 -0
  808. package/src/peerTrackNodeUtils.tsx +13 -10
  809. package/src/redux/actionTypes.ts +22 -0
  810. package/src/redux/actions/index.ts +53 -0
  811. package/src/redux/reducers/appState.ts +59 -0
  812. package/src/redux/reducers/hmsStates.ts +15 -1
  813. package/src/redux/reducers/userState.ts +3 -0
  814. package/src/utils/functions.ts +48 -0
  815. package/src/utils/theme.ts +74 -5
  816. package/src/utils/types.ts +6 -0
@@ -1,39 +1,25 @@
1
- import React from 'react';
2
- import {
3
- View,
4
- StyleSheet,
5
- Text,
6
- Platform,
7
- ScrollView,
8
- Image,
9
- TouchableOpacity,
10
- Alert,
11
- InteractionManager,
12
- } from 'react-native';
13
- import {
14
- HMSAudioMixingMode,
15
- HMSUpdateListenerActions,
16
- } from '@100mslive/react-native-hms';
1
+ import * as React from 'react';
2
+ import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
3
+ import type { HMSAudioMixingMode } from '@100mslive/react-native-hms';
17
4
  import { useDispatch, useSelector } from 'react-redux';
18
- import Toast from 'react-native-simple-toast';
19
- import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
20
- import Ionicons from 'react-native-vector-icons/Ionicons';
21
- import MaterialIcons from 'react-native-vector-icons/MaterialIcons';
22
- import EntypoIcons from 'react-native-vector-icons/Entypo';
23
- import { openSettings, requestNotifications } from 'react-native-permissions';
24
-
25
- import { COLORS } from '../utils/theme';
5
+
26
6
  import type { RootState } from '../redux';
7
+ import { ModalTypes } from '../utils/types';
8
+ import { groupIntoTriplets, parseMetadata } from '../utils/functions';
27
9
  import {
28
- changePipModeStatus,
29
- changeEnableHLSPlayerControls,
30
- changeShowHLSStats,
31
- changeShowCustomHLSPlayerControls,
32
- } from '../redux/actions';
33
- import { ModalTypes, PipModes } from '../utils/types';
34
- import { parseMetadata } from '../utils/functions';
35
- import { HMSShareScreen } from './HMSShareScreen';
36
- import { ScreenShareIcon } from '../Icons';
10
+ BRBIcon,
11
+ HandIcon,
12
+ ParticipantsIcon,
13
+ PencilIcon,
14
+ RecordingIcon,
15
+ ScreenShareIcon,
16
+ } from '../Icons';
17
+ import { BottomSheet, useBottomSheetActions } from './BottomSheet';
18
+ import { useHMSInstance, useHMSRoomStyleSheet, useIsHLSViewer } from '../hooks-util';
19
+ import { useCanPublishScreen, useHMSActions } from '../hooks-sdk';
20
+ import { RoomSettingsModalDebugModeContent } from './RoomSettingsModalDebugModeContent';
21
+ import { setStartingOrStoppingRecording } from '../redux/actions';
22
+ import { ParticipantsCount } from './ParticipantsCount';
37
23
 
38
24
  interface RoomSettingsModalContentProps {
39
25
  newAudioMixingMode: HMSAudioMixingMode;
@@ -49,559 +35,286 @@ interface RoomSettingsModalContentProps {
49
35
 
50
36
  export const RoomSettingsModalContent: React.FC<
51
37
  RoomSettingsModalContentProps
52
- > = ({
53
- newAudioMixingMode,
54
- isAudioShared, //
55
- audioDeviceListenerAdded,
56
- muteAllTracksAudio,
57
- closeRoomSettingsModal,
58
- setModalVisible,
59
- setIsAudioShared,
60
- setAudioDeviceListenerAdded,
61
- setMuteAllTracksAudio,
62
- }) => {
63
- // REDUX STATES & DISPATCH
38
+ > = (props) => {
39
+ const { closeRoomSettingsModal, setModalVisible } = props;
40
+
64
41
  const dispatch = useDispatch();
65
- const hmsInstance = useSelector((state: RootState) => state.user.hmsInstance);
42
+ const hmsInstance = useHMSInstance();
66
43
  const debugMode = useSelector((state: RootState) => state.user.debugMode);
67
- const localPeerRole = useSelector(
68
- (state: RootState) => state.hmsStates.localPeer?.role
69
- );
70
- const localPeerMetadata = useSelector(
71
- (state: RootState) => state.hmsStates.localPeer?.metadata
72
- );
73
- const isHLSStreaming = useSelector(
74
- (state: RootState) =>
75
- state.hmsStates.room?.hlsStreamingState?.running ?? false
76
- );
77
- const rtmpAndRecording = useSelector(
78
- (state: RootState) =>
79
- state.hmsStates.room?.browserRecordingState?.running ?? false
80
- );
44
+ const isHLSViewer = useIsHLSViewer();
81
45
 
82
- const pipModeStatus = useSelector(
83
- (state: RootState) => state.app.pipModeStatus
84
- );
85
- const showHLSStats = useSelector(
86
- (state: RootState) => state.app.joinConfig.showHLSStats
87
- );
88
- const enableHLSPlayerControls = useSelector(
89
- (state: RootState) => state.app.joinConfig.enableHLSPlayerControls
90
- );
91
- const showCustomHLSPlayerControls = useSelector(
92
- (state: RootState) => state.app.joinConfig.showCustomHLSPlayerControls
93
- );
46
+ const hmsActions = useHMSActions();
94
47
 
95
- // CONSTANTS
96
- const parsedMetadata = parseMetadata(localPeerMetadata);
97
- const isPipModeUnavailable = pipModeStatus === PipModes.NOT_AVAILABLE;
98
-
99
- //#region FUNCTIONS
100
- const handleBRB = async () => {
101
- closeRoomSettingsModal();
102
-
103
- await hmsInstance
104
- ?.changeMetadata(
105
- JSON.stringify({
106
- ...parsedMetadata,
107
- isBRBOn: !parsedMetadata?.isBRBOn,
108
- isHandRaised: false,
109
- })
110
- )
111
- .then((d) => console.log('Change Metadata Success: ', d))
112
- .catch((e) => console.log('Change Metadata Error: ', e));
113
- };
114
-
115
- const onRaiseHandPress = async () => {
116
- closeRoomSettingsModal();
117
-
118
- await hmsInstance
119
- ?.changeMetadata(
120
- JSON.stringify({
121
- ...parsedMetadata,
122
- isHandRaised: !parsedMetadata?.isHandRaised,
123
- isBRBOn: false,
124
- })
125
- )
126
- .then((d) => console.log('Change Metadata Success: ', d))
127
- .catch((e) => console.log('Change Metadata Error: ', e));
128
- };
48
+ const { registerOnModalHideAction } = useBottomSheetActions();
129
49
 
50
+ // #region Participants realted states and functions
130
51
  const onParticipantsPress = () => {
131
- InteractionManager.runAfterInteractions(() => {
132
- setModalVisible(ModalTypes.PARTICIPANTS, true);
52
+ // Register callback to be called when bottom sheet is hiddden
53
+ registerOnModalHideAction(() => {
54
+ setModalVisible(ModalTypes.PARTICIPANTS);
133
55
  });
134
- };
135
-
136
- const enterPipMode = async () => {
137
- if (isPipModeUnavailable) {
138
- return console.log('PIP mode unavailable on Deice!');
139
- }
140
56
 
57
+ // Close the current bottom sheet
141
58
  closeRoomSettingsModal();
142
-
143
- try {
144
- const isEnabled = await hmsInstance?.enablePipMode({
145
- aspectRatio: [16, 9], // for 16:9 aspect ratio
146
- endButton: true,
147
- videoButton: true,
148
- audioButton: true,
149
- });
150
- if (isEnabled === true) {
151
- dispatch(changePipModeStatus(PipModes.ACTIVE));
152
- }
153
- } catch (error) {
154
- console.log(error);
155
- }
156
59
  };
60
+ // #endregion
157
61
 
158
- const handleLocalRemoteAudiosMute = () => {
159
- closeRoomSettingsModal();
160
- hmsInstance?.setPlaybackForAllAudio(!muteAllTracksAudio);
161
- setMuteAllTracksAudio(!muteAllTracksAudio);
162
- };
62
+ // #region Screen Share related states and functions
63
+ const canPublishScreen = useCanPublishScreen();
64
+
65
+ const isLocalScreenShared = useSelector(
66
+ (state: RootState) => state.hmsStates.isLocalScreenShared
67
+ );
163
68
 
164
- const handleRemoteAudiosMute = async () => {
69
+ const handleScreenShareTogglePress = async () => {
165
70
  closeRoomSettingsModal();
166
- await hmsInstance
167
- ?.remoteMuteAllAudio()
168
- .then((d) => console.log('Remote Mute All Audio Success: ', d))
169
- .catch((e) => console.log('Remote Mute All Audio Error: ', e));
71
+ await hmsActions.setScreenShareEnabled(!isLocalScreenShared);
170
72
  };
73
+ // #endregion
171
74
 
172
- const handleHLSStreaming = () => {
173
- if (isHLSStreaming) {
174
- closeRoomSettingsModal();
175
- hmsInstance
176
- ?.stopHLSStreaming()
177
- .then((d) => console.log('Stop HLS Streaming Success: ', d))
178
- .catch((e) => console.log('Stop HLS Streaming Error: ', e));
179
- } else {
180
- setModalVisible(ModalTypes.HLS_STREAMING, true);
181
- }
182
- };
75
+ // #region "BRB" and "Hand Raise" related states and functions
76
+ const localPeerMetadata = useSelector(
77
+ (state: RootState) => state.hmsStates.localPeer?.metadata
78
+ );
79
+ const parsedMetadata = parseMetadata(localPeerMetadata);
183
80
 
184
- const handleRTMPAndRecording = () => {
185
- if (rtmpAndRecording) {
186
- closeRoomSettingsModal();
187
- hmsInstance
188
- ?.stopRtmpAndRecording()
189
- .then((d) => console.log('Stop RTMP And Recording Success: ', d))
190
- .catch((e) => console.log('Stop RTMP And Recording Error: ', e));
191
- } else {
192
- setModalVisible(ModalTypes.RECORDING, true);
193
- }
81
+ const isBRBOn = !!parsedMetadata.isBRBOn;
82
+ const isHandRaised = !!parsedMetadata.isHandRaised;
83
+
84
+ const toggleRaiseHand = async () => {
85
+ const newMetadata = {
86
+ ...parsedMetadata,
87
+ isBRBOn: false,
88
+ isHandRaised: !isHandRaised,
89
+ };
90
+ closeRoomSettingsModal();
91
+ await hmsActions.changeMetadata(newMetadata);
194
92
  };
195
93
 
196
- const addRemoveAudioDeviceChangeListener = () => {
94
+ const toggleBRB = async () => {
95
+ const newMetadata = {
96
+ ...parsedMetadata,
97
+ isHandRaised: false,
98
+ isBRBOn: !isBRBOn,
99
+ };
197
100
  closeRoomSettingsModal();
198
- if (hmsInstance) {
199
- if (audioDeviceListenerAdded) {
200
- setAudioDeviceListenerAdded(false);
201
-
202
- hmsInstance.removeEventListener(
203
- HMSUpdateListenerActions.ON_AUDIO_DEVICE_CHANGED
204
- );
205
- } else {
206
- setAudioDeviceListenerAdded(true);
207
-
208
- hmsInstance.setAudioDeviceChangeListener((data: any) => {
209
- Toast.showWithGravity(
210
- `Audio Device Output changed to ${data?.device}`,
211
- Toast.LONG,
212
- Toast.TOP
213
- );
214
- });
215
- }
216
- }
101
+ await hmsActions.changeMetadata(newMetadata);
217
102
  };
103
+ // #endregion
218
104
 
219
- const changeBulkRole = () =>
220
- setModalVisible(ModalTypes.BULK_ROLE_CHANGE, true);
105
+ // #region Recording related states and functions
106
+ const canStartRecording = useSelector(
107
+ (state: RootState) =>
108
+ !!state.hmsStates.localPeer?.role?.permissions?.browserRecording
109
+ );
221
110
 
222
- const changeTrackState = () =>
223
- setModalVisible(ModalTypes.CHANGE_TRACK_ROLE, true);
111
+ const isRecordingOn = useSelector(
112
+ (state: RootState) => !!state.hmsStates.room?.browserRecordingState?.running
113
+ );
224
114
 
225
- const switchAudioOutput = () => {
226
- if (Platform.OS === 'android') {
227
- setModalVisible(ModalTypes.SWITCH_AUDIO_OUTPUT, true);
115
+ const handleRecordingTogglePress = () => {
116
+ if (isRecordingOn) {
117
+ registerOnModalHideAction(() => {
118
+ setModalVisible(ModalTypes.STOP_RECORDING);
119
+ });
120
+ closeRoomSettingsModal();
228
121
  } else {
122
+ dispatch(setStartingOrStoppingRecording(true));
123
+ hmsInstance
124
+ .startRTMPOrRecording({ record: true })
125
+ .catch(() => dispatch(setStartingOrStoppingRecording(false)));
229
126
  closeRoomSettingsModal();
230
- hmsInstance?.switchAudioOutputUsingIOSUI();
231
127
  }
232
128
  };
129
+ // #endregion
233
130
 
234
- const changeAudioMode = () =>
235
- setModalVisible(ModalTypes.CHANGE_AUDIO_MODE, true);
236
-
237
- const setAudioMixingMode = () =>
238
- setModalVisible(ModalTypes.AUDIO_MIXING_MODE, true);
239
-
240
- const handleHLSPlayerAspectRatio = () => {
241
- setModalVisible(ModalTypes.HLS_PLAYER_ASPECT_RATIO, true);
242
- };
243
-
244
- const showRTCStats = () => setModalVisible(ModalTypes.RTC_STATS, true);
245
-
246
- const toggleShowHLSStats = () => {
247
- dispatch(changeShowHLSStats(!showHLSStats));
248
- setModalVisible(ModalTypes.DEFAULT);
249
- };
250
-
251
- const toggleEnableHLSPlayerControls = () => {
252
- dispatch(changeEnableHLSPlayerControls(!enableHLSPlayerControls));
253
- setModalVisible(ModalTypes.DEFAULT);
254
- };
255
-
256
- const toggleShowCustomHLSPlayerControls = () => {
257
- dispatch(changeShowCustomHLSPlayerControls(!showCustomHLSPlayerControls));
258
- setModalVisible(ModalTypes.DEFAULT);
259
- };
131
+ // #region Change Name functions
132
+ const changeName = () => {
133
+ // Register callback to be called when bottom sheet is hiddden
134
+ registerOnModalHideAction(() => {
135
+ setModalVisible(ModalTypes.CHANGE_NAME);
136
+ });
260
137
 
261
- // Android Audioshare
262
- const handleAudioShare = async () => {
138
+ // Close the current bottom sheet
263
139
  closeRoomSettingsModal();
264
- if (isAudioShared) {
265
- hmsInstance
266
- ?.stopAudioshare()
267
- .then((d) => {
268
- setIsAudioShared(false);
269
- console.log('Stop Audioshare Success: ', d);
270
- })
271
- .catch((e) => console.log('Stop Audioshare Error: ', e));
272
- } else {
273
- // check notification permission on android platform
274
- // Audio share feature needs foreground service running. for Foreground service to keep running, we need active notification.
275
- if (Platform.OS === 'android') {
276
- const result = await requestNotifications(['alert', 'sound']);
277
-
278
- console.log('Notification Permission Result: ', result);
279
-
280
- if (result.status === 'blocked') {
281
- Alert.alert(
282
- 'Notification Permission is Blocked!',
283
- '100ms SDK needs notification permission to start audio share. Please allow notification from settings and try again!',
284
- [
285
- { text: 'cancel' },
286
- { text: 'Go to Settings', onPress: () => openSettings() },
287
- ],
288
- { cancelable: true }
289
- );
290
- return;
291
- }
292
- }
293
-
294
- hmsInstance
295
- ?.startAudioshare(newAudioMixingMode)
296
- .then((d) => {
297
- setIsAudioShared(true);
298
- console.log('Start Audioshare Success: ', d);
299
- })
300
- .catch((e) => console.log('Start Audioshare Error: ', e));
301
- }
302
140
  };
303
- //#endregion
141
+ // #endregion
304
142
 
305
143
  return (
306
- <View style={styles.container}>
307
- <View style={styles.chatHeaderContainer}>
308
- <Text style={styles.chatHeading}>More Options</Text>
144
+ <View>
145
+ <BottomSheet.Header
146
+ dismissModal={closeRoomSettingsModal}
147
+ heading="Options"
148
+ />
149
+
150
+ <BottomSheet.Divider />
151
+
152
+ <View style={styles.contentContainer}>
153
+ {groupIntoTriplets(
154
+ [
155
+ {
156
+ id: 'participants',
157
+ icon: <ParticipantsIcon style={{ width: 20, height: 20 }} />,
158
+ label: 'Participants',
159
+ pressHandler: onParticipantsPress,
160
+ isActive: false,
161
+ hide: false,
162
+ sibling: <ParticipantsCount />,
163
+ // parent
164
+ // children
165
+ },
166
+ {
167
+ id: 'share-screen',
168
+ icon: <ScreenShareIcon style={{ width: 20, height: 20 }} />,
169
+ label: isLocalScreenShared ? 'Sharing Screen' : 'Share Screen',
170
+ pressHandler: handleScreenShareTogglePress,
171
+ isActive: !!isLocalScreenShared, // Show active if screen is shared
172
+ hide: !canPublishScreen, // Hide if can't publish screen
173
+ },
174
+ {
175
+ id: 'brb',
176
+ icon: <BRBIcon style={{ width: 20, height: 20 }} />,
177
+ label: isBRBOn ? "I'm Back" : 'Be Right Back',
178
+ pressHandler: toggleBRB,
179
+ isActive: isBRBOn, // Show active if `isBRBOn` is set on metadata
180
+ hide: false, // Hide if can't publish screen
181
+ },
182
+ {
183
+ id: 'raise-hand',
184
+ icon: <HandIcon style={{ width: 20, height: 20 }} />,
185
+ label: parsedMetadata.isHandRaised ? 'Hand Raised' : 'Raise Hand',
186
+ pressHandler: toggleRaiseHand,
187
+ isActive: isHandRaised, // Show active if `isHandRaised` is set on metadata
188
+ hide: isHLSViewer, // Hide if can't publish screen
189
+ },
190
+ {
191
+ id: 'start-recording',
192
+ icon: <RecordingIcon style={{ width: 20, height: 20 }} />,
193
+ label: isRecordingOn ? 'Stop Recording' : 'Start Recording',
194
+ pressHandler: handleRecordingTogglePress,
195
+ isActive: !!isRecordingOn,
196
+ hide: !canStartRecording, // Hide if can't publish screen
197
+ },
198
+ {
199
+ id: 'change-name',
200
+ icon: <PencilIcon style={{ width: 20, height: 20 }} />,
201
+ label: 'Change Name',
202
+ pressHandler: changeName,
203
+ isActive: false,
204
+ hide: false,
205
+ },
206
+ ].filter((itm) => !itm.hide),
207
+ true
208
+ ).map((itm, idx) => {
209
+ const isFirst = idx === 0;
210
+
211
+ return (
212
+ <React.Fragment key={idx.toString()}>
213
+ {isFirst ? null : <View style={styles.rowSpacer} />}
214
+
215
+ <View style={styles.row}>
216
+ {itm.map((item, index) => {
217
+ const isFirst = index === 0;
218
+
219
+ return (
220
+ <React.Fragment key={item ? item.id : index.toString()}>
221
+ {isFirst ? null : <View style={styles.colSpacer} />}
222
+
223
+ <View style={styles.col}>
224
+ {item ? (
225
+ <>
226
+ <SettingItem
227
+ icon={item.icon}
228
+ onPress={item.pressHandler}
229
+ text={item.label}
230
+ isActive={item.isActive}
231
+ />
232
+
233
+ {item.sibling}
234
+ </>
235
+ ) : null}
236
+ </View>
237
+ </React.Fragment>
238
+ );
239
+ })}
240
+ </View>
241
+ </React.Fragment>
242
+ );
243
+ })}
309
244
  </View>
310
245
 
311
- <ScrollView
312
- style={styles.contentContainer}
313
- contentContainerStyle={styles.scrollContentContainer}
314
- >
315
- <HMSShareScreen
316
- screenShareDelegate={
317
- <ScreenShareDelegate
318
- closeRoomSettingsModal={closeRoomSettingsModal}
319
- />
320
- }
321
- />
322
-
323
- <TouchableOpacity onPress={handleBRB} style={styles.button}>
324
- <Image source={require('../assets/brb.png')} style={styles.brbIcon} />
325
-
326
- <Text style={styles.text}>
327
- {parsedMetadata?.isBRBOn ? 'Remove BRB' : 'Set BRB'}
328
- </Text>
329
- </TouchableOpacity>
330
-
331
- <SettingItem
332
- onPress={onRaiseHandPress}
333
- text={parsedMetadata?.isHandRaised ? 'Low Your Hand' : 'Raise Hand'}
334
- IconType={Ionicons}
335
- iconName={'hand-left-outline'}
336
- />
337
-
338
- <SettingItem
339
- onPress={onParticipantsPress}
340
- text={'Participants'}
341
- IconType={Ionicons}
342
- iconName={'people'}
343
- />
344
-
345
- {localPeerRole?.name?.includes('hls-') ? (
346
- <SettingItem
347
- onPress={handleHLSPlayerAspectRatio}
348
- text={'Change Aspect Ratio'}
349
- IconType={MaterialCommunityIcons}
350
- iconName={'aspect-ratio'}
351
- />
352
- ) : null}
353
-
354
- {!localPeerRole?.name?.includes('hls-') ? (
355
- <SettingItem
356
- onPress={handleLocalRemoteAudiosMute}
357
- text={`${muteAllTracksAudio ? 'Unmute' : 'Mute'} Room`}
358
- IconType={Ionicons}
359
- iconName={muteAllTracksAudio ? 'mic-off-outline' : 'mic-outline'}
360
- />
361
- ) : null}
362
-
363
- {debugMode && localPeerRole?.permissions?.hlsStreaming ? (
364
- <SettingItem
365
- onPress={handleHLSStreaming}
366
- text={`${isHLSStreaming === true ? 'Stop' : 'Start'} HLS Streaming`}
367
- IconType={Ionicons}
368
- iconName="radio-outline"
369
- />
370
- ) : null}
371
-
372
- {debugMode && localPeerRole?.permissions?.rtmpStreaming ? (
373
- <SettingItem
374
- onPress={handleRTMPAndRecording}
375
- text={
376
- rtmpAndRecording === true
377
- ? 'Stop RTMP And Recording'
378
- : 'Start RTMP or Recording'
379
- }
380
- IconType={Ionicons}
381
- iconName="recording-outline"
382
- />
383
- ) : null}
384
-
385
- {debugMode && localPeerRole?.permissions?.changeRole ? (
386
- <SettingItem
387
- onPress={changeBulkRole}
388
- text="Bulk Role Change"
389
- IconType={Ionicons}
390
- iconName="people-outline"
391
- />
392
- ) : null}
393
-
394
- {debugMode && localPeerRole?.permissions?.mute ? (
395
- <SettingItem
396
- onPress={handleRemoteAudiosMute}
397
- text="Remote Mute All Audio Tracks"
398
- IconType={Ionicons}
399
- iconName="mic-off-outline"
400
- />
401
- ) : null}
402
-
403
- {debugMode &&
404
- (localPeerRole?.permissions?.mute ||
405
- localPeerRole?.permissions?.unmute) ? (
406
- <SettingItem
407
- onPress={changeTrackState}
408
- text="Change Track State For Role"
409
- IconType={MaterialIcons}
410
- iconName="track-changes"
411
- />
412
- ) : null}
413
-
414
- {localPeerRole?.publishSettings?.allowed?.includes('audio') ? (
415
- <SettingItem
416
- onPress={switchAudioOutput}
417
- text="Switch Audio Output"
418
- IconType={MaterialCommunityIcons}
419
- iconName="cast-audio"
420
- />
421
- ) : null}
422
-
423
- {!isPipModeUnavailable ? (
424
- <SettingItem
425
- onPress={enterPipMode}
426
- text="Picture in Picture (PIP) Mode"
427
- IconType={MaterialCommunityIcons}
428
- iconName="picture-in-picture-bottom-right"
429
- />
430
- ) : null}
431
-
432
- {debugMode ? (
433
- <>
434
- {localPeerRole?.name?.includes('hls-') ? (
435
- <>
436
- <SettingItem
437
- onPress={toggleShowHLSStats}
438
- text={showHLSStats ? 'Hide HLS Stats' : 'Show HLS Stats'}
439
- IconType={MaterialCommunityIcons}
440
- iconName={'clipboard-pulse-outline'}
441
- />
442
-
443
- <SettingItem
444
- onPress={toggleEnableHLSPlayerControls}
445
- text={
446
- enableHLSPlayerControls
447
- ? 'Disable HLS Player Controls'
448
- : 'Enable HLS Player Controls'
449
- }
450
- IconType={Ionicons}
451
- iconName={'ios-settings-outline'}
452
- />
453
-
454
- <SettingItem
455
- onPress={toggleShowCustomHLSPlayerControls}
456
- text={
457
- showCustomHLSPlayerControls
458
- ? 'Hide Custom HLS Player Controls'
459
- : 'Show Custom HLS Player Controls'
460
- }
461
- IconType={Ionicons}
462
- iconName={'ios-settings-outline'}
463
- />
464
- </>
465
- ) : (
466
- <>
467
- <SettingItem
468
- onPress={showRTCStats}
469
- text="Show RTC Stats"
470
- IconType={MaterialCommunityIcons}
471
- iconName={'clipboard-pulse-outline'}
472
- />
473
- </>
474
- )}
475
-
476
- {Platform.OS === 'android' &&
477
- localPeerRole?.publishSettings?.allowed?.includes('audio') ? (
478
- <>
479
- <SettingItem
480
- onPress={addRemoveAudioDeviceChangeListener}
481
- text={`${
482
- audioDeviceListenerAdded ? 'Remove' : 'Set'
483
- } Audio Output Change Listener`}
484
- IconType={MaterialCommunityIcons}
485
- iconName="video-input-component"
486
- />
487
-
488
- <SettingItem
489
- onPress={handleAudioShare}
490
- text={`${isAudioShared ? 'Stop' : 'Start'} Audioshare`}
491
- IconType={Ionicons}
492
- iconName="share-social-outline"
493
- />
494
-
495
- <SettingItem
496
- onPress={changeAudioMode}
497
- text="Set Audio Mode"
498
- IconType={MaterialCommunityIcons}
499
- iconName="call-split"
500
- />
501
-
502
- <SettingItem
503
- onPress={setAudioMixingMode}
504
- text="Set Audio Mixing Mode"
505
- IconType={EntypoIcons}
506
- iconName="sound-mix"
507
- />
508
- </>
509
- ) : null}
510
- </>
511
- ) : null}
512
- </ScrollView>
246
+ {debugMode ? <RoomSettingsModalDebugModeContent {...props} /> : null}
513
247
  </View>
514
248
  );
515
249
  };
516
250
 
517
- interface SettingItemProps {
518
- onPress(): void;
251
+ type SettingItemProps = {
519
252
  text: string;
520
- iconName: string;
521
- IconType: any;
522
- }
253
+ icon: React.ReactElement;
254
+ onPress(): void;
255
+ isActive?: boolean;
256
+ };
523
257
 
524
258
  const SettingItem: React.FC<SettingItemProps> = ({
525
- onPress,
526
259
  text,
527
- iconName,
528
- IconType,
529
- }) => {
530
- return (
531
- <TouchableOpacity style={styles.button} onPress={onPress}>
532
- <IconType name={iconName} size={24} style={styles.icon} />
533
-
534
- <Text style={styles.text}>{text}</Text>
535
- </TouchableOpacity>
536
- );
537
- };
538
-
539
- const ScreenShareDelegate = ({
540
- isLocalScreenShared,
260
+ icon,
541
261
  onPress,
542
- closeRoomSettingsModal,
543
- }: any) => {
544
- const handleScreenSharePress = () => {
545
- closeRoomSettingsModal();
546
- onPress?.();
547
- };
262
+ isActive = false,
263
+ }) => {
264
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
265
+ button: {
266
+ backgroundColor: theme.palette.surface_bright,
267
+ },
268
+ text: {
269
+ color: theme.palette.on_surface_high,
270
+ fontFamily: `${typography.font_family}-SemiBold`,
271
+ },
272
+ }));
548
273
 
549
274
  return (
550
- <TouchableOpacity onPress={handleScreenSharePress} style={styles.button}>
551
- <ScreenShareIcon style={styles.icon} />
552
- <Text style={styles.text}>
553
- {isLocalScreenShared ? 'Stop Screen Share' : 'Screen Share'}
275
+ <TouchableOpacity
276
+ style={[styles.button, isActive ? hmsRoomStyles.button : null]}
277
+ onPress={onPress}
278
+ >
279
+ {icon}
280
+
281
+ <Text style={[styles.text, hmsRoomStyles.text]} numberOfLines={2}>
282
+ {text}
554
283
  </Text>
555
284
  </TouchableOpacity>
556
285
  );
557
286
  };
558
287
 
559
288
  const styles = StyleSheet.create({
560
- container: {
561
- height: '100%',
562
- width: '100%',
563
- backgroundColor: COLORS.SURFACE.DEFAULT,
289
+ contentContainer: {
290
+ marginHorizontal: 20,
564
291
  },
565
- chatHeaderContainer: {
566
- height: 48,
567
- width: '80%',
292
+ row: {
568
293
  flexDirection: 'row',
569
- alignItems: 'center',
570
294
  },
571
- chatHeading: {
572
- fontFamily: 'Inter-Medium',
573
- fontSize: 20,
574
- lineHeight: 24,
575
- letterSpacing: 0.15,
576
- color: COLORS.TEXT.HIGH_EMPHASIS,
577
- paddingRight: 12,
295
+ rowSpacer: {
296
+ height: 16,
297
+ width: '100%',
578
298
  },
579
- contentContainer: {
299
+ col: {
580
300
  flex: 1,
581
- marginVertical: 4,
582
- },
583
- scrollContentContainer: {
584
- paddingBottom: 52,
301
+ position: 'relative',
585
302
  },
586
- brbIcon: {
587
- width: 24,
588
- height: 24,
589
- tintColor: COLORS.WHITE,
590
- marginRight: 12,
303
+ colSpacer: {
304
+ width: 12,
305
+ height: '100%',
591
306
  },
592
307
  button: {
593
- flexDirection: 'row',
594
308
  alignItems: 'center',
595
- marginVertical: 12,
309
+ borderRadius: 4,
310
+ paddingVertical: 8,
311
+ paddingHorizontal: 4,
596
312
  },
597
313
  text: {
598
- fontFamily: 'Inter-Medium',
599
- fontSize: 14,
600
- lineHeight: 24,
601
- color: COLORS.TEXT.HIGH_EMPHASIS,
602
- },
603
- icon: {
604
- color: COLORS.WHITE,
605
- marginRight: 12,
314
+ textAlign: 'center',
315
+ fontSize: 12,
316
+ lineHeight: 16,
317
+ letterSpacing: 0.4,
318
+ marginTop: 8,
606
319
  },
607
320
  });