@100mslive/react-native-room-kit 0.0.4 → 0.1.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 (777) 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/Recording/assets/recording.png +0 -0
  66. package/lib/commonjs/Icons/Recording/assets/recording@2x.png +0 -0
  67. package/lib/commonjs/Icons/Recording/assets/recording@3x.png +0 -0
  68. package/lib/commonjs/Icons/Recording/index.js +34 -0
  69. package/lib/commonjs/Icons/Recording/index.js.map +1 -0
  70. package/lib/commonjs/Icons/RotateCamera/index.js +5 -1
  71. package/lib/commonjs/Icons/RotateCamera/index.js.map +1 -1
  72. package/lib/commonjs/Icons/ScreenShare/index.js +5 -1
  73. package/lib/commonjs/Icons/ScreenShare/index.js.map +1 -1
  74. package/lib/commonjs/Icons/Speaker/index.js +5 -1
  75. package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
  76. package/lib/commonjs/Icons/Star/assets/star.png +0 -0
  77. package/lib/commonjs/Icons/Star/assets/star@2x.png +0 -0
  78. package/lib/commonjs/Icons/Star/assets/star@3x.png +0 -0
  79. package/lib/commonjs/Icons/Star/index.js +34 -0
  80. package/lib/commonjs/Icons/Star/index.js.map +1 -0
  81. package/lib/commonjs/Icons/Stop/assets/stop.png +0 -0
  82. package/lib/commonjs/Icons/Stop/assets/stop@2x.png +0 -0
  83. package/lib/commonjs/Icons/Stop/assets/stop@3x.png +0 -0
  84. package/lib/commonjs/Icons/Stop/index.js +34 -0
  85. package/lib/commonjs/Icons/Stop/index.js.map +1 -0
  86. package/lib/commonjs/Icons/ThreeDots/index.js +5 -1
  87. package/lib/commonjs/Icons/ThreeDots/index.js.map +1 -1
  88. package/lib/commonjs/Icons/Wave/index.js +5 -1
  89. package/lib/commonjs/Icons/Wave/index.js.map +1 -1
  90. package/lib/commonjs/Icons/index.js +110 -0
  91. package/lib/commonjs/Icons/index.js.map +1 -1
  92. package/lib/commonjs/components/AvatarView.js +1 -2
  93. package/lib/commonjs/components/AvatarView.js.map +1 -1
  94. package/lib/commonjs/components/BackButton.js +6 -4
  95. package/lib/commonjs/components/BackButton.js.map +1 -1
  96. package/lib/commonjs/components/BottomSheet.js +157 -0
  97. package/lib/commonjs/components/BottomSheet.js.map +1 -0
  98. package/lib/commonjs/components/ChangeNameModalContent.js +131 -0
  99. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -0
  100. package/lib/commonjs/components/CompanyLogo.js +38 -0
  101. package/lib/commonjs/components/CompanyLogo.js.map +1 -0
  102. package/lib/commonjs/components/CustomInput.js +2 -3
  103. package/lib/commonjs/components/CustomInput.js.map +1 -1
  104. package/lib/commonjs/components/DisplayView.js +12 -52
  105. package/lib/commonjs/components/DisplayView.js.map +1 -1
  106. package/lib/commonjs/components/EndRoomModalContent.js +85 -0
  107. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -0
  108. package/lib/commonjs/components/Footer.js +8 -9
  109. package/lib/commonjs/components/Footer.js.map +1 -1
  110. package/lib/commonjs/components/GridView.js +53 -7
  111. package/lib/commonjs/components/GridView.js.map +1 -1
  112. package/lib/commonjs/components/HMSBaseButton.js +66 -0
  113. package/lib/commonjs/components/HMSBaseButton.js.map +1 -0
  114. package/lib/commonjs/components/HMSDangerButton.js +53 -0
  115. package/lib/commonjs/components/HMSDangerButton.js.map +1 -0
  116. package/lib/commonjs/components/HMSHLSStreamLoading.js +17 -8
  117. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
  118. package/lib/commonjs/components/HMSManageAudioOutput.js +41 -75
  119. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  120. package/lib/commonjs/components/HMSManageCameraRotation.js +5 -4
  121. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  122. package/lib/commonjs/components/HMSManageLeave.js +91 -106
  123. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  124. package/lib/commonjs/components/HMSManageLocalAudio.js +1 -9
  125. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  126. package/lib/commonjs/components/HMSManageLocalVideo.js +1 -9
  127. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  128. package/lib/commonjs/components/HMSMeetingEnded.js +1 -2
  129. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
  130. package/lib/commonjs/components/HMSPreviewEditName.js +3 -37
  131. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  132. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +17 -10
  133. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  134. package/lib/commonjs/components/HMSPreviewJoinButton.js +23 -46
  135. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  136. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +5 -3
  137. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
  138. package/lib/commonjs/components/HMSPreviewPeersList.js +21 -10
  139. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  140. package/lib/commonjs/components/HMSPreviewSubtitle.js +22 -9
  141. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  142. package/lib/commonjs/components/HMSPreviewTile.js +16 -8
  143. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  144. package/lib/commonjs/components/HMSPreviewTitle.js +14 -6
  145. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  146. package/lib/commonjs/components/HMSPrimaryButton.js +53 -0
  147. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -0
  148. package/lib/commonjs/components/HMSRecordingIndicator.js +46 -0
  149. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -0
  150. package/lib/commonjs/components/HMSRoomOptions.js +20 -7
  151. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  152. package/lib/commonjs/components/HMSShowNetworkQuality.js +5 -4
  153. package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
  154. package/lib/commonjs/components/HMSTextInput.js +66 -0
  155. package/lib/commonjs/components/HMSTextInput.js.map +1 -0
  156. package/lib/commonjs/components/Header.js +30 -30
  157. package/lib/commonjs/components/Header.js.map +1 -1
  158. package/lib/commonjs/components/LocalPeerRegularVideoView.js +26 -0
  159. package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -0
  160. package/lib/commonjs/components/LocalPeerScreenshareView.js +76 -0
  161. package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -0
  162. package/lib/commonjs/components/Meeting.js +7 -3
  163. package/lib/commonjs/components/Meeting.js.map +1 -1
  164. package/lib/commonjs/components/MiniView.js +163 -0
  165. package/lib/commonjs/components/MiniView.js.map +1 -0
  166. package/lib/commonjs/components/Modals.js +31 -116
  167. package/lib/commonjs/components/Modals.js.map +1 -1
  168. package/lib/commonjs/components/PaginationDots.js +56 -0
  169. package/lib/commonjs/components/PaginationDots.js.map +1 -0
  170. package/lib/commonjs/components/ParticipantsCount.js +55 -0
  171. package/lib/commonjs/components/ParticipantsCount.js.map +1 -0
  172. package/lib/commonjs/components/PeerMinimizedView.js +114 -0
  173. package/lib/commonjs/components/PeerMinimizedView.js.map +1 -0
  174. package/lib/commonjs/components/PeerSettingsModalContent.js +68 -51
  175. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  176. package/lib/commonjs/components/PeerVideoTile/AvatarView.js +76 -0
  177. package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -0
  178. package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js +44 -0
  179. package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
  180. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +44 -0
  181. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -0
  182. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +74 -0
  183. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
  184. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +146 -0
  185. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
  186. package/lib/commonjs/components/PeerVideoTile/VideoView.js +84 -0
  187. package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -0
  188. package/lib/commonjs/components/PeerVideoTile/index.js +2 -0
  189. package/lib/commonjs/components/PeerVideoTile/index.js.map +1 -0
  190. package/lib/commonjs/components/PressableIcon.js +15 -8
  191. package/lib/commonjs/components/PressableIcon.js.map +1 -1
  192. package/lib/commonjs/components/Preview.js +19 -6
  193. package/lib/commonjs/components/Preview.js.map +1 -1
  194. package/lib/commonjs/components/RoomSettingsModalContent.js +232 -362
  195. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  196. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +295 -0
  197. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -0
  198. package/lib/commonjs/components/StopRecordingModalContent.js +97 -0
  199. package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -0
  200. package/lib/commonjs/components/Tile.js +29 -90
  201. package/lib/commonjs/components/Tile.js.map +1 -1
  202. package/lib/commonjs/components/TilesContainer.js +99 -10
  203. package/lib/commonjs/components/TilesContainer.js.map +1 -1
  204. package/lib/commonjs/components/UnmountAfterDelay.js +48 -0
  205. package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -0
  206. package/lib/commonjs/components/WebrtcView.js +51 -0
  207. package/lib/commonjs/components/WebrtcView.js.map +1 -0
  208. package/lib/commonjs/components/WelcomeInMeeting.js +54 -0
  209. package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -0
  210. package/lib/commonjs/hooks-sdk-selectors.js +6 -1
  211. package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
  212. package/lib/commonjs/hooks-sdk.js +16 -1
  213. package/lib/commonjs/hooks-sdk.js.map +1 -1
  214. package/lib/commonjs/hooks-util-selectors.js +8 -2
  215. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  216. package/lib/commonjs/hooks-util.js +315 -93
  217. package/lib/commonjs/hooks-util.js.map +1 -1
  218. package/lib/commonjs/modules/HMSManager.js +23 -0
  219. package/lib/commonjs/modules/HMSManager.js.map +1 -0
  220. package/lib/commonjs/modules/parser.js +22 -0
  221. package/lib/commonjs/modules/parser.js.map +1 -0
  222. package/lib/commonjs/peerTrackNodeUtils.js +8 -3
  223. package/lib/commonjs/peerTrackNodeUtils.js.map +1 -1
  224. package/lib/commonjs/redux/actionTypes.js +16 -1
  225. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  226. package/lib/commonjs/redux/actions/index.js +51 -1
  227. package/lib/commonjs/redux/actions/index.js.map +1 -1
  228. package/lib/commonjs/redux/reducers/appState.js +57 -1
  229. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  230. package/lib/commonjs/redux/reducers/hmsStates.js +7 -1
  231. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  232. package/lib/commonjs/redux/reducers/userState.js +3 -1
  233. package/lib/commonjs/redux/reducers/userState.js.map +1 -1
  234. package/lib/commonjs/utils/functions.js +51 -1
  235. package/lib/commonjs/utils/functions.js.map +1 -1
  236. package/lib/commonjs/utils/theme.js +62 -8
  237. package/lib/commonjs/utils/theme.js.map +1 -1
  238. package/lib/commonjs/utils/types.js +8 -1
  239. package/lib/commonjs/utils/types.js.map +1 -1
  240. package/lib/module/HMSInstanceSetup.js +2 -1
  241. package/lib/module/HMSInstanceSetup.js.map +1 -1
  242. package/lib/module/HMSPrebuilt.js +4 -2
  243. package/lib/module/HMSPrebuilt.js.map +1 -1
  244. package/lib/module/HMSRoomSetup.js +41 -10
  245. package/lib/module/HMSRoomSetup.js.map +1 -1
  246. package/lib/module/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
  247. package/lib/module/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
  248. package/lib/module/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
  249. package/lib/module/Icons/AlertTriangle/index.js +26 -0
  250. package/lib/module/Icons/AlertTriangle/index.js.map +1 -0
  251. package/lib/module/Icons/AnswerPhone/index.js +5 -1
  252. package/lib/module/Icons/AnswerPhone/index.js.map +1 -1
  253. package/lib/module/Icons/BRB/assets/BRB.png +0 -0
  254. package/lib/module/Icons/BRB/assets/BRB@2x.png +0 -0
  255. package/lib/module/Icons/BRB/assets/BRB@3x.png +0 -0
  256. package/lib/module/Icons/BRB/index.js +27 -0
  257. package/lib/module/Icons/BRB/index.js.map +1 -0
  258. package/lib/module/Icons/Bluetooth/index.js +5 -1
  259. package/lib/module/Icons/Bluetooth/index.js.map +1 -1
  260. package/lib/module/Icons/Camera/index.js +5 -1
  261. package/lib/module/Icons/Camera/index.js.map +1 -1
  262. package/lib/module/Icons/Chat/index.js +5 -1
  263. package/lib/module/Icons/Chat/index.js.map +1 -1
  264. package/lib/module/Icons/Check/index.js +5 -1
  265. package/lib/module/Icons/Check/index.js.map +1 -1
  266. package/lib/module/Icons/Chevron/index.js +5 -1
  267. package/lib/module/Icons/Chevron/index.js.map +1 -1
  268. package/lib/module/Icons/Close/index.js +5 -1
  269. package/lib/module/Icons/Close/index.js.map +1 -1
  270. package/lib/module/Icons/Hamburger/assets/hamburger.png +0 -0
  271. package/lib/module/Icons/Hamburger/assets/hamburger@2x.png +0 -0
  272. package/lib/module/Icons/Hamburger/assets/hamburger@3x.png +0 -0
  273. package/lib/module/Icons/Hamburger/index.js +26 -0
  274. package/lib/module/Icons/Hamburger/index.js.map +1 -0
  275. package/lib/module/Icons/Hand/index.js +6 -4
  276. package/lib/module/Icons/Hand/index.js.map +1 -1
  277. package/lib/module/Icons/Headphones/index.js +5 -1
  278. package/lib/module/Icons/Headphones/index.js.map +1 -1
  279. package/lib/module/Icons/Maximize/assets/maximize.png +0 -0
  280. package/lib/module/Icons/Maximize/assets/maximize@2x.png +0 -0
  281. package/lib/module/Icons/Maximize/assets/maximize@3x.png +0 -0
  282. package/lib/module/Icons/Maximize/index.js +26 -0
  283. package/lib/module/Icons/Maximize/index.js.map +1 -0
  284. package/lib/module/Icons/Mic/index.js +5 -1
  285. package/lib/module/Icons/Mic/index.js.map +1 -1
  286. package/lib/module/Icons/Minimize/assets/minimize.png +0 -0
  287. package/lib/module/Icons/Minimize/assets/minimize@2x.png +0 -0
  288. package/lib/module/Icons/Minimize/assets/minimize@3x.png +0 -0
  289. package/lib/module/Icons/Minimize/index.js +26 -0
  290. package/lib/module/Icons/Minimize/index.js.map +1 -0
  291. package/lib/module/Icons/Participants/index.js +5 -1
  292. package/lib/module/Icons/Participants/index.js.map +1 -1
  293. package/lib/module/Icons/Pencil/assets/pencil.png +0 -0
  294. package/lib/module/Icons/Pencil/assets/pencil@2x.png +0 -0
  295. package/lib/module/Icons/Pencil/assets/pencil@3x.png +0 -0
  296. package/lib/module/Icons/Pencil/index.js +26 -0
  297. package/lib/module/Icons/Pencil/index.js.map +1 -0
  298. package/lib/module/Icons/Pin/assets/pin.png +0 -0
  299. package/lib/module/Icons/Pin/assets/pin@2x.png +0 -0
  300. package/lib/module/Icons/Pin/assets/pin@3x.png +0 -0
  301. package/lib/module/Icons/Pin/index.js +26 -0
  302. package/lib/module/Icons/Pin/index.js.map +1 -0
  303. package/lib/module/Icons/Recording/assets/recording.png +0 -0
  304. package/lib/module/Icons/Recording/assets/recording@2x.png +0 -0
  305. package/lib/module/Icons/Recording/assets/recording@3x.png +0 -0
  306. package/lib/module/Icons/Recording/index.js +26 -0
  307. package/lib/module/Icons/Recording/index.js.map +1 -0
  308. package/lib/module/Icons/RotateCamera/index.js +5 -1
  309. package/lib/module/Icons/RotateCamera/index.js.map +1 -1
  310. package/lib/module/Icons/ScreenShare/index.js +5 -1
  311. package/lib/module/Icons/ScreenShare/index.js.map +1 -1
  312. package/lib/module/Icons/Speaker/index.js +5 -1
  313. package/lib/module/Icons/Speaker/index.js.map +1 -1
  314. package/lib/module/Icons/Star/assets/star.png +0 -0
  315. package/lib/module/Icons/Star/assets/star@2x.png +0 -0
  316. package/lib/module/Icons/Star/assets/star@3x.png +0 -0
  317. package/lib/module/Icons/Star/index.js +26 -0
  318. package/lib/module/Icons/Star/index.js.map +1 -0
  319. package/lib/module/Icons/Stop/assets/stop.png +0 -0
  320. package/lib/module/Icons/Stop/assets/stop@2x.png +0 -0
  321. package/lib/module/Icons/Stop/assets/stop@3x.png +0 -0
  322. package/lib/module/Icons/Stop/index.js +26 -0
  323. package/lib/module/Icons/Stop/index.js.map +1 -0
  324. package/lib/module/Icons/ThreeDots/index.js +5 -1
  325. package/lib/module/Icons/ThreeDots/index.js.map +1 -1
  326. package/lib/module/Icons/Wave/index.js +5 -1
  327. package/lib/module/Icons/Wave/index.js.map +1 -1
  328. package/lib/module/Icons/index.js +10 -0
  329. package/lib/module/Icons/index.js.map +1 -1
  330. package/lib/module/components/AvatarView.js +1 -2
  331. package/lib/module/components/AvatarView.js.map +1 -1
  332. package/lib/module/components/BackButton.js +6 -4
  333. package/lib/module/components/BackButton.js.map +1 -1
  334. package/lib/module/components/BottomSheet.js +146 -0
  335. package/lib/module/components/BottomSheet.js.map +1 -0
  336. package/lib/module/components/ChangeNameModalContent.js +122 -0
  337. package/lib/module/components/ChangeNameModalContent.js.map +1 -0
  338. package/lib/module/components/CompanyLogo.js +30 -0
  339. package/lib/module/components/CompanyLogo.js.map +1 -0
  340. package/lib/module/components/CustomInput.js +2 -3
  341. package/lib/module/components/CustomInput.js.map +1 -1
  342. package/lib/module/components/DisplayView.js +16 -55
  343. package/lib/module/components/DisplayView.js.map +1 -1
  344. package/lib/module/components/EndRoomModalContent.js +76 -0
  345. package/lib/module/components/EndRoomModalContent.js.map +1 -0
  346. package/lib/module/components/Footer.js +9 -10
  347. package/lib/module/components/Footer.js.map +1 -1
  348. package/lib/module/components/GridView.js +55 -10
  349. package/lib/module/components/GridView.js.map +1 -1
  350. package/lib/module/components/HMSBaseButton.js +57 -0
  351. package/lib/module/components/HMSBaseButton.js.map +1 -0
  352. package/lib/module/components/HMSDangerButton.js +44 -0
  353. package/lib/module/components/HMSDangerButton.js.map +1 -0
  354. package/lib/module/components/HMSHLSStreamLoading.js +17 -8
  355. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
  356. package/lib/module/components/HMSManageAudioOutput.js +42 -77
  357. package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
  358. package/lib/module/components/HMSManageCameraRotation.js +5 -4
  359. package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
  360. package/lib/module/components/HMSManageLeave.js +94 -107
  361. package/lib/module/components/HMSManageLeave.js.map +1 -1
  362. package/lib/module/components/HMSManageLocalAudio.js +1 -9
  363. package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
  364. package/lib/module/components/HMSManageLocalVideo.js +1 -9
  365. package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
  366. package/lib/module/components/HMSMeetingEnded.js +1 -2
  367. package/lib/module/components/HMSMeetingEnded.js.map +1 -1
  368. package/lib/module/components/HMSPreviewEditName.js +3 -37
  369. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  370. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +17 -10
  371. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  372. package/lib/module/components/HMSPreviewJoinButton.js +26 -49
  373. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  374. package/lib/module/components/HMSPreviewNetworkQuality.js +6 -4
  375. package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -1
  376. package/lib/module/components/HMSPreviewPeersList.js +21 -10
  377. package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
  378. package/lib/module/components/HMSPreviewSubtitle.js +22 -9
  379. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  380. package/lib/module/components/HMSPreviewTile.js +16 -8
  381. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  382. package/lib/module/components/HMSPreviewTitle.js +14 -6
  383. package/lib/module/components/HMSPreviewTitle.js.map +1 -1
  384. package/lib/module/components/HMSPrimaryButton.js +44 -0
  385. package/lib/module/components/HMSPrimaryButton.js.map +1 -0
  386. package/lib/module/components/HMSRecordingIndicator.js +37 -0
  387. package/lib/module/components/HMSRecordingIndicator.js.map +1 -0
  388. package/lib/module/components/HMSRoomOptions.js +21 -8
  389. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  390. package/lib/module/components/HMSShowNetworkQuality.js +6 -5
  391. package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
  392. package/lib/module/components/HMSTextInput.js +57 -0
  393. package/lib/module/components/HMSTextInput.js.map +1 -0
  394. package/lib/module/components/Header.js +32 -32
  395. package/lib/module/components/Header.js.map +1 -1
  396. package/lib/module/components/LocalPeerRegularVideoView.js +17 -0
  397. package/lib/module/components/LocalPeerRegularVideoView.js.map +1 -0
  398. package/lib/module/components/LocalPeerScreenshareView.js +66 -0
  399. package/lib/module/components/LocalPeerScreenshareView.js.map +1 -0
  400. package/lib/module/components/Meeting.js +8 -4
  401. package/lib/module/components/Meeting.js.map +1 -1
  402. package/lib/module/components/MiniView.js +154 -0
  403. package/lib/module/components/MiniView.js.map +1 -0
  404. package/lib/module/components/Modals.js +31 -114
  405. package/lib/module/components/Modals.js.map +1 -1
  406. package/lib/module/components/PaginationDots.js +47 -0
  407. package/lib/module/components/PaginationDots.js.map +1 -0
  408. package/lib/module/components/ParticipantsCount.js +46 -0
  409. package/lib/module/components/ParticipantsCount.js.map +1 -0
  410. package/lib/module/components/PeerMinimizedView.js +104 -0
  411. package/lib/module/components/PeerMinimizedView.js.map +1 -0
  412. package/lib/module/components/PeerSettingsModalContent.js +71 -54
  413. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  414. package/lib/module/components/PeerVideoTile/AvatarView.js +66 -0
  415. package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -0
  416. package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js +35 -0
  417. package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
  418. package/lib/module/components/PeerVideoTile/PeerMetadata.js +35 -0
  419. package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -0
  420. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +65 -0
  421. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
  422. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +136 -0
  423. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
  424. package/lib/module/components/PeerVideoTile/VideoView.js +75 -0
  425. package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -0
  426. package/lib/module/components/PeerVideoTile/index.js +2 -0
  427. package/lib/module/components/PeerVideoTile/index.js.map +1 -0
  428. package/lib/module/components/PressableIcon.js +15 -8
  429. package/lib/module/components/PressableIcon.js.map +1 -1
  430. package/lib/module/components/Preview.js +19 -6
  431. package/lib/module/components/Preview.js.map +1 -1
  432. package/lib/module/components/RoomSettingsModalContent.js +233 -364
  433. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  434. package/lib/module/components/RoomSettingsModalDebugModeContent.js +287 -0
  435. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -0
  436. package/lib/module/components/StopRecordingModalContent.js +88 -0
  437. package/lib/module/components/StopRecordingModalContent.js.map +1 -0
  438. package/lib/module/components/Tile.js +30 -91
  439. package/lib/module/components/Tile.js.map +1 -1
  440. package/lib/module/components/TilesContainer.js +100 -10
  441. package/lib/module/components/TilesContainer.js.map +1 -1
  442. package/lib/module/components/UnmountAfterDelay.js +39 -0
  443. package/lib/module/components/UnmountAfterDelay.js.map +1 -0
  444. package/lib/module/components/WebrtcView.js +41 -0
  445. package/lib/module/components/WebrtcView.js.map +1 -0
  446. package/lib/module/components/WelcomeInMeeting.js +45 -0
  447. package/lib/module/components/WelcomeInMeeting.js.map +1 -0
  448. package/lib/module/hooks-sdk-selectors.js +4 -0
  449. package/lib/module/hooks-sdk-selectors.js.map +1 -1
  450. package/lib/module/hooks-sdk.js +16 -1
  451. package/lib/module/hooks-sdk.js.map +1 -1
  452. package/lib/module/hooks-util-selectors.js +8 -2
  453. package/lib/module/hooks-util-selectors.js.map +1 -1
  454. package/lib/module/hooks-util.js +310 -96
  455. package/lib/module/hooks-util.js.map +1 -1
  456. package/lib/module/modules/HMSManager.js +17 -0
  457. package/lib/module/modules/HMSManager.js.map +1 -0
  458. package/lib/module/modules/parser.js +16 -0
  459. package/lib/module/modules/parser.js.map +1 -0
  460. package/lib/module/peerTrackNodeUtils.js +6 -2
  461. package/lib/module/peerTrackNodeUtils.js.map +1 -1
  462. package/lib/module/redux/actionTypes.js +16 -1
  463. package/lib/module/redux/actionTypes.js.map +1 -1
  464. package/lib/module/redux/actions/index.js +42 -0
  465. package/lib/module/redux/actions/index.js.map +1 -1
  466. package/lib/module/redux/reducers/appState.js +57 -1
  467. package/lib/module/redux/reducers/appState.js.map +1 -1
  468. package/lib/module/redux/reducers/hmsStates.js +7 -1
  469. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  470. package/lib/module/redux/reducers/userState.js +3 -1
  471. package/lib/module/redux/reducers/userState.js.map +1 -1
  472. package/lib/module/utils/functions.js +47 -0
  473. package/lib/module/utils/functions.js.map +1 -1
  474. package/lib/module/utils/theme.js +57 -5
  475. package/lib/module/utils/theme.js.map +1 -1
  476. package/lib/module/utils/types.js +6 -0
  477. package/lib/module/utils/types.js.map +1 -1
  478. package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -1
  479. package/lib/typescript/HMSPrebuilt.d.ts +1 -0
  480. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  481. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  482. package/lib/typescript/Icons/AlertTriangle/index.d.ts +7 -0
  483. package/lib/typescript/Icons/AlertTriangle/index.d.ts.map +1 -0
  484. package/lib/typescript/Icons/AnswerPhone/index.d.ts.map +1 -1
  485. package/lib/typescript/Icons/BRB/index.d.ts +7 -0
  486. package/lib/typescript/Icons/BRB/index.d.ts.map +1 -0
  487. package/lib/typescript/Icons/Bluetooth/index.d.ts.map +1 -1
  488. package/lib/typescript/Icons/Camera/index.d.ts.map +1 -1
  489. package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
  490. package/lib/typescript/Icons/Check/index.d.ts.map +1 -1
  491. package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -1
  492. package/lib/typescript/Icons/Close/index.d.ts.map +1 -1
  493. package/lib/typescript/Icons/Hamburger/index.d.ts +7 -0
  494. package/lib/typescript/Icons/Hamburger/index.d.ts.map +1 -0
  495. package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
  496. package/lib/typescript/Icons/Headphones/index.d.ts.map +1 -1
  497. package/lib/typescript/Icons/Maximize/index.d.ts +7 -0
  498. package/lib/typescript/Icons/Maximize/index.d.ts.map +1 -0
  499. package/lib/typescript/Icons/Mic/index.d.ts.map +1 -1
  500. package/lib/typescript/Icons/Minimize/index.d.ts +7 -0
  501. package/lib/typescript/Icons/Minimize/index.d.ts.map +1 -0
  502. package/lib/typescript/Icons/Participants/index.d.ts.map +1 -1
  503. package/lib/typescript/Icons/Pencil/index.d.ts +7 -0
  504. package/lib/typescript/Icons/Pencil/index.d.ts.map +1 -0
  505. package/lib/typescript/Icons/Pin/index.d.ts +7 -0
  506. package/lib/typescript/Icons/Pin/index.d.ts.map +1 -0
  507. package/lib/typescript/Icons/Recording/index.d.ts +7 -0
  508. package/lib/typescript/Icons/Recording/index.d.ts.map +1 -0
  509. package/lib/typescript/Icons/RotateCamera/index.d.ts.map +1 -1
  510. package/lib/typescript/Icons/ScreenShare/index.d.ts.map +1 -1
  511. package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -1
  512. package/lib/typescript/Icons/Star/index.d.ts +7 -0
  513. package/lib/typescript/Icons/Star/index.d.ts.map +1 -0
  514. package/lib/typescript/Icons/Stop/index.d.ts +7 -0
  515. package/lib/typescript/Icons/Stop/index.d.ts.map +1 -0
  516. package/lib/typescript/Icons/ThreeDots/index.d.ts.map +1 -1
  517. package/lib/typescript/Icons/Wave/index.d.ts.map +1 -1
  518. package/lib/typescript/Icons/index.d.ts +10 -0
  519. package/lib/typescript/Icons/index.d.ts.map +1 -1
  520. package/lib/typescript/components/BackButton.d.ts.map +1 -1
  521. package/lib/typescript/components/BottomSheet.d.ts +25 -0
  522. package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
  523. package/lib/typescript/components/ChangeNameModalContent.d.ts +6 -0
  524. package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -0
  525. package/lib/typescript/components/CompanyLogo.d.ts +7 -0
  526. package/lib/typescript/components/CompanyLogo.d.ts.map +1 -0
  527. package/lib/typescript/components/CustomInput.d.ts +1 -1
  528. package/lib/typescript/components/CustomInput.d.ts.map +1 -1
  529. package/lib/typescript/components/DisplayView.d.ts.map +1 -1
  530. package/lib/typescript/components/EndRoomModalContent.d.ts +6 -0
  531. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -0
  532. package/lib/typescript/components/Footer.d.ts.map +1 -1
  533. package/lib/typescript/components/GridView.d.ts +3 -4
  534. package/lib/typescript/components/GridView.d.ts.map +1 -1
  535. package/lib/typescript/components/HMSBaseButton.d.ts +15 -0
  536. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -0
  537. package/lib/typescript/components/HMSDangerButton.d.ts +12 -0
  538. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -0
  539. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -1
  540. package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
  541. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  542. package/lib/typescript/components/HMSManageLocalAudio.d.ts.map +1 -1
  543. package/lib/typescript/components/HMSManageLocalVideo.d.ts.map +1 -1
  544. package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
  545. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
  546. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  547. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -1
  548. package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -1
  549. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
  550. package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -1
  551. package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
  552. package/lib/typescript/components/HMSPrimaryButton.d.ts +12 -0
  553. package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -0
  554. package/lib/typescript/components/HMSRecordingIndicator.d.ts +3 -0
  555. package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -0
  556. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  557. package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
  558. package/lib/typescript/components/HMSTextInput.d.ts +10 -0
  559. package/lib/typescript/components/HMSTextInput.d.ts.map +1 -0
  560. package/lib/typescript/components/Header.d.ts.map +1 -1
  561. package/lib/typescript/components/LocalPeerRegularVideoView.d.ts +6 -0
  562. package/lib/typescript/components/LocalPeerRegularVideoView.d.ts.map +1 -0
  563. package/lib/typescript/components/LocalPeerScreenshareView.d.ts +3 -0
  564. package/lib/typescript/components/LocalPeerScreenshareView.d.ts.map +1 -0
  565. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  566. package/lib/typescript/components/MiniView.d.ts +9 -0
  567. package/lib/typescript/components/MiniView.d.ts.map +1 -0
  568. package/lib/typescript/components/Modals.d.ts +0 -7
  569. package/lib/typescript/components/Modals.d.ts.map +1 -1
  570. package/lib/typescript/components/PaginationDots.d.ts +6 -0
  571. package/lib/typescript/components/PaginationDots.d.ts.map +1 -0
  572. package/lib/typescript/components/ParticipantsCount.d.ts +3 -0
  573. package/lib/typescript/components/ParticipantsCount.d.ts.map +1 -0
  574. package/lib/typescript/components/PeerMinimizedView.d.ts +12 -0
  575. package/lib/typescript/components/PeerMinimizedView.d.ts.map +1 -0
  576. package/lib/typescript/components/PeerSettingsModalContent.d.ts +1 -0
  577. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  578. package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts +9 -0
  579. package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts.map +1 -0
  580. package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts +6 -0
  581. package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts.map +1 -0
  582. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +6 -0
  583. package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -0
  584. package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts +10 -0
  585. package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -0
  586. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts +10 -0
  587. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -0
  588. package/lib/typescript/components/PeerVideoTile/VideoView.d.ts +13 -0
  589. package/lib/typescript/components/PeerVideoTile/VideoView.d.ts.map +1 -0
  590. package/lib/typescript/components/PeerVideoTile/index.d.ts +1 -0
  591. package/lib/typescript/components/PeerVideoTile/index.d.ts.map +1 -0
  592. package/lib/typescript/components/PressableIcon.d.ts.map +1 -1
  593. package/lib/typescript/components/Preview.d.ts.map +1 -1
  594. package/lib/typescript/components/RoomSettingsModalContent.d.ts +2 -2
  595. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  596. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts +17 -0
  597. package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -0
  598. package/lib/typescript/components/StopRecordingModalContent.d.ts +6 -0
  599. package/lib/typescript/components/StopRecordingModalContent.d.ts.map +1 -0
  600. package/lib/typescript/components/Tile.d.ts +12 -3
  601. package/lib/typescript/components/Tile.d.ts.map +1 -1
  602. package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
  603. package/lib/typescript/components/UnmountAfterDelay.d.ts +12 -0
  604. package/lib/typescript/components/UnmountAfterDelay.d.ts.map +1 -0
  605. package/lib/typescript/components/WebrtcView.d.ts +10 -0
  606. package/lib/typescript/components/WebrtcView.d.ts.map +1 -0
  607. package/lib/typescript/components/WelcomeInMeeting.d.ts +5 -0
  608. package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -0
  609. package/lib/typescript/hooks-sdk-selectors.d.ts +2 -0
  610. package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
  611. package/lib/typescript/hooks-sdk.d.ts +1 -0
  612. package/lib/typescript/hooks-sdk.d.ts.map +1 -1
  613. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  614. package/lib/typescript/hooks-util.d.ts +15 -2
  615. package/lib/typescript/hooks-util.d.ts.map +1 -1
  616. package/lib/typescript/modules/HMSManager.d.ts +4 -0
  617. package/lib/typescript/modules/HMSManager.d.ts.map +1 -0
  618. package/lib/typescript/modules/parser.d.ts +3 -0
  619. package/lib/typescript/modules/parser.d.ts.map +1 -0
  620. package/lib/typescript/peerTrackNodeUtils.d.ts +1 -0
  621. package/lib/typescript/peerTrackNodeUtils.d.ts.map +1 -1
  622. package/lib/typescript/redux/actionTypes.d.ts +9 -1
  623. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  624. package/lib/typescript/redux/actions/index.d.ts +45 -0
  625. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  626. package/lib/typescript/redux/index.d.ts +7 -0
  627. package/lib/typescript/redux/index.d.ts.map +1 -1
  628. package/lib/typescript/redux/reducers/appState.d.ts +5 -0
  629. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  630. package/lib/typescript/redux/reducers/hmsStates.d.ts +7 -1
  631. package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
  632. package/lib/typescript/redux/reducers/index.d.ts +7 -0
  633. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  634. package/lib/typescript/redux/reducers/userState.d.ts +1 -0
  635. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  636. package/lib/typescript/utils/functions.d.ts +14 -0
  637. package/lib/typescript/utils/functions.d.ts.map +1 -1
  638. package/lib/typescript/utils/theme.d.ts +6 -3
  639. package/lib/typescript/utils/theme.d.ts.map +1 -1
  640. package/lib/typescript/utils/types.d.ts +5 -0
  641. package/lib/typescript/utils/types.d.ts.map +1 -1
  642. package/package.json +3 -1
  643. package/src/HMSInstanceSetup.tsx +1 -0
  644. package/src/HMSPrebuilt.tsx +3 -2
  645. package/src/HMSRoomSetup.tsx +45 -8
  646. package/src/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
  647. package/src/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
  648. package/src/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
  649. package/src/Icons/AlertTriangle/index.tsx +33 -0
  650. package/src/Icons/AnswerPhone/index.tsx +7 -1
  651. package/src/Icons/BRB/assets/BRB.png +0 -0
  652. package/src/Icons/BRB/assets/BRB@2x.png +0 -0
  653. package/src/Icons/BRB/assets/BRB@3x.png +0 -0
  654. package/src/Icons/BRB/index.tsx +31 -0
  655. package/src/Icons/Bluetooth/index.tsx +7 -1
  656. package/src/Icons/Camera/index.tsx +7 -1
  657. package/src/Icons/Chat/index.tsx +7 -1
  658. package/src/Icons/Check/index.tsx +7 -1
  659. package/src/Icons/Chevron/index.tsx +7 -1
  660. package/src/Icons/Close/index.tsx +7 -1
  661. package/src/Icons/Hamburger/assets/hamburger.png +0 -0
  662. package/src/Icons/Hamburger/assets/hamburger@2x.png +0 -0
  663. package/src/Icons/Hamburger/assets/hamburger@3x.png +0 -0
  664. package/src/Icons/Hamburger/index.tsx +33 -0
  665. package/src/Icons/Hand/index.tsx +6 -3
  666. package/src/Icons/Headphones/index.tsx +7 -1
  667. package/src/Icons/Maximize/assets/maximize.png +0 -0
  668. package/src/Icons/Maximize/assets/maximize@2x.png +0 -0
  669. package/src/Icons/Maximize/assets/maximize@3x.png +0 -0
  670. package/src/Icons/Maximize/index.tsx +33 -0
  671. package/src/Icons/Mic/index.tsx +7 -1
  672. package/src/Icons/Minimize/assets/minimize.png +0 -0
  673. package/src/Icons/Minimize/assets/minimize@2x.png +0 -0
  674. package/src/Icons/Minimize/assets/minimize@3x.png +0 -0
  675. package/src/Icons/Minimize/index.tsx +33 -0
  676. package/src/Icons/Participants/index.tsx +7 -1
  677. package/src/Icons/Pencil/assets/pencil.png +0 -0
  678. package/src/Icons/Pencil/assets/pencil@2x.png +0 -0
  679. package/src/Icons/Pencil/assets/pencil@3x.png +0 -0
  680. package/src/Icons/Pencil/index.tsx +33 -0
  681. package/src/Icons/Pin/assets/pin.png +0 -0
  682. package/src/Icons/Pin/assets/pin@2x.png +0 -0
  683. package/src/Icons/Pin/assets/pin@3x.png +0 -0
  684. package/src/Icons/Pin/index.tsx +30 -0
  685. package/src/Icons/Recording/assets/recording.png +0 -0
  686. package/src/Icons/Recording/assets/recording@2x.png +0 -0
  687. package/src/Icons/Recording/assets/recording@3x.png +0 -0
  688. package/src/Icons/Recording/index.tsx +33 -0
  689. package/src/Icons/RotateCamera/index.tsx +7 -1
  690. package/src/Icons/ScreenShare/index.tsx +7 -1
  691. package/src/Icons/Speaker/index.tsx +12 -1
  692. package/src/Icons/Star/assets/star.png +0 -0
  693. package/src/Icons/Star/assets/star@2x.png +0 -0
  694. package/src/Icons/Star/assets/star@3x.png +0 -0
  695. package/src/Icons/Star/index.tsx +30 -0
  696. package/src/Icons/Stop/assets/stop.png +0 -0
  697. package/src/Icons/Stop/assets/stop@2x.png +0 -0
  698. package/src/Icons/Stop/assets/stop@3x.png +0 -0
  699. package/src/Icons/Stop/index.tsx +33 -0
  700. package/src/Icons/ThreeDots/index.tsx +7 -1
  701. package/src/Icons/Wave/index.tsx +7 -1
  702. package/src/Icons/index.ts +10 -0
  703. package/src/components/AvatarView.tsx +1 -2
  704. package/src/components/BackButton.tsx +6 -3
  705. package/src/components/BottomSheet.tsx +191 -0
  706. package/src/components/ChangeNameModalContent.tsx +157 -0
  707. package/src/components/CompanyLogo.tsx +35 -0
  708. package/src/components/CustomInput.tsx +2 -3
  709. package/src/components/DisplayView.tsx +16 -65
  710. package/src/components/EndRoomModalContent.tsx +90 -0
  711. package/src/components/Footer.tsx +7 -7
  712. package/src/components/GridView.tsx +91 -20
  713. package/src/components/HLSView.tsx +1 -1
  714. package/src/components/HMSBaseButton.tsx +91 -0
  715. package/src/components/HMSDangerButton.tsx +65 -0
  716. package/src/components/HMSHLSStreamLoading.tsx +18 -7
  717. package/src/components/HMSManageAudioOutput.tsx +59 -90
  718. package/src/components/HMSManageCameraRotation.tsx +11 -8
  719. package/src/components/HMSManageLeave.tsx +104 -109
  720. package/src/components/HMSManageLocalAudio.tsx +1 -10
  721. package/src/components/HMSManageLocalVideo.tsx +1 -10
  722. package/src/components/HMSMeetingEnded.tsx +1 -2
  723. package/src/components/HMSPreviewEditName.tsx +2 -44
  724. package/src/components/HMSPreviewHLSLiveIndicator.tsx +17 -9
  725. package/src/components/HMSPreviewJoinButton.tsx +33 -71
  726. package/src/components/HMSPreviewNetworkQuality.tsx +7 -4
  727. package/src/components/HMSPreviewPeersList.tsx +23 -13
  728. package/src/components/HMSPreviewSubtitle.tsx +27 -11
  729. package/src/components/HMSPreviewTile.tsx +19 -8
  730. package/src/components/HMSPreviewTitle.tsx +18 -5
  731. package/src/components/HMSPrimaryButton.tsx +63 -0
  732. package/src/components/HMSRecordingIndicator.tsx +37 -0
  733. package/src/components/HMSRoomOptions.tsx +28 -8
  734. package/src/components/HMSShowNetworkQuality.tsx +7 -5
  735. package/src/components/HMSTextInput.tsx +78 -0
  736. package/src/components/Header.tsx +37 -36
  737. package/src/components/LocalPeerRegularVideoView.tsx +28 -0
  738. package/src/components/LocalPeerScreenshareView.tsx +72 -0
  739. package/src/components/Meeting.tsx +10 -3
  740. package/src/components/MiniView.tsx +213 -0
  741. package/src/components/Modals.tsx +1 -110
  742. package/src/components/PaginationDots.tsx +65 -0
  743. package/src/components/ParticipantsCount.tsx +52 -0
  744. package/src/components/PeerMinimizedView.tsx +131 -0
  745. package/src/components/PeerSettingsModalContent.tsx +110 -54
  746. package/src/components/PeerVideoTile/AvatarView.tsx +79 -0
  747. package/src/components/PeerVideoTile/PeerAudioMutedIndicator.tsx +41 -0
  748. package/src/components/PeerVideoTile/PeerMetadata.tsx +46 -0
  749. package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +81 -0
  750. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +180 -0
  751. package/src/components/PeerVideoTile/VideoView.tsx +104 -0
  752. package/src/components/PeerVideoTile/index.ts +0 -0
  753. package/src/components/PressableIcon.tsx +15 -8
  754. package/src/components/Preview.tsx +24 -6
  755. package/src/components/RoomSettingsModalContent.tsx +236 -524
  756. package/src/components/RoomSettingsModalDebugModeContent.tsx +446 -0
  757. package/src/components/StopRecordingModalContent.tsx +109 -0
  758. package/src/components/Tile.tsx +49 -90
  759. package/src/components/TilesContainer.tsx +116 -14
  760. package/src/components/UnmountAfterDelay.tsx +61 -0
  761. package/src/components/WebrtcView.tsx +72 -0
  762. package/src/components/WelcomeInMeeting.tsx +52 -0
  763. package/src/hooks-sdk-selectors.tsx +7 -0
  764. package/src/hooks-sdk.ts +18 -0
  765. package/src/hooks-util-selectors.tsx +12 -1
  766. package/src/hooks-util.ts +420 -115
  767. package/src/modules/HMSManager.ts +25 -0
  768. package/src/modules/parser.ts +22 -0
  769. package/src/peerTrackNodeUtils.tsx +13 -10
  770. package/src/redux/actionTypes.ts +22 -0
  771. package/src/redux/actions/index.ts +51 -0
  772. package/src/redux/reducers/appState.ts +56 -0
  773. package/src/redux/reducers/hmsStates.ts +15 -1
  774. package/src/redux/reducers/userState.ts +3 -0
  775. package/src/utils/functions.ts +48 -0
  776. package/src/utils/theme.ts +74 -5
  777. 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 } 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,285 @@ 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
- );
81
44
 
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
- );
45
+ const hmsActions = useHMSActions();
94
46
 
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
- };
47
+ const { registerOnModalHideAction } = useBottomSheetActions();
129
48
 
49
+ // #region Participants realted states and functions
130
50
  const onParticipantsPress = () => {
131
- InteractionManager.runAfterInteractions(() => {
132
- setModalVisible(ModalTypes.PARTICIPANTS, true);
51
+ // Register callback to be called when bottom sheet is hiddden
52
+ registerOnModalHideAction(() => {
53
+ setModalVisible(ModalTypes.PARTICIPANTS);
133
54
  });
134
- };
135
-
136
- const enterPipMode = async () => {
137
- if (isPipModeUnavailable) {
138
- return console.log('PIP mode unavailable on Deice!');
139
- }
140
55
 
56
+ // Close the current bottom sheet
141
57
  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
58
  };
59
+ // #endregion
157
60
 
158
- const handleLocalRemoteAudiosMute = () => {
159
- closeRoomSettingsModal();
160
- hmsInstance?.setPlaybackForAllAudio(!muteAllTracksAudio);
161
- setMuteAllTracksAudio(!muteAllTracksAudio);
162
- };
61
+ // #region Screen Share related states and functions
62
+ const canPublishScreen = useCanPublishScreen();
63
+
64
+ const isLocalScreenShared = useSelector(
65
+ (state: RootState) => state.hmsStates.isLocalScreenShared
66
+ );
163
67
 
164
- const handleRemoteAudiosMute = async () => {
68
+ const handleScreenShareTogglePress = async () => {
165
69
  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));
70
+ await hmsActions.setScreenShareEnabled(!isLocalScreenShared);
170
71
  };
72
+ // #endregion
171
73
 
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
- };
74
+ // #region "BRB" and "Hand Raise" related states and functions
75
+ const localPeerMetadata = useSelector(
76
+ (state: RootState) => state.hmsStates.localPeer?.metadata
77
+ );
78
+ const parsedMetadata = parseMetadata(localPeerMetadata);
183
79
 
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
- }
80
+ const isBRBOn = !!parsedMetadata.isBRBOn;
81
+ const isHandRaised = !!parsedMetadata.isHandRaised;
82
+
83
+ const toggleRaiseHand = async () => {
84
+ const newMetadata = {
85
+ ...parsedMetadata,
86
+ isBRBOn: false,
87
+ isHandRaised: !isHandRaised,
88
+ };
89
+ closeRoomSettingsModal();
90
+ await hmsActions.changeMetadata(newMetadata);
194
91
  };
195
92
 
196
- const addRemoveAudioDeviceChangeListener = () => {
93
+ const toggleBRB = async () => {
94
+ const newMetadata = {
95
+ ...parsedMetadata,
96
+ isHandRaised: false,
97
+ isBRBOn: !isBRBOn,
98
+ };
197
99
  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
- }
100
+ await hmsActions.changeMetadata(newMetadata);
217
101
  };
102
+ // #endregion
218
103
 
219
- const changeBulkRole = () =>
220
- setModalVisible(ModalTypes.BULK_ROLE_CHANGE, true);
104
+ // #region Recording related states and functions
105
+ const canStartRecording = useSelector(
106
+ (state: RootState) =>
107
+ !!state.hmsStates.localPeer?.role?.permissions?.browserRecording
108
+ );
221
109
 
222
- const changeTrackState = () =>
223
- setModalVisible(ModalTypes.CHANGE_TRACK_ROLE, true);
110
+ const isRecordingOn = useSelector(
111
+ (state: RootState) => !!state.hmsStates.room?.browserRecordingState?.running
112
+ );
224
113
 
225
- const switchAudioOutput = () => {
226
- if (Platform.OS === 'android') {
227
- setModalVisible(ModalTypes.SWITCH_AUDIO_OUTPUT, true);
114
+ const handleRecordingTogglePress = () => {
115
+ if (isRecordingOn) {
116
+ registerOnModalHideAction(() => {
117
+ setModalVisible(ModalTypes.STOP_RECORDING);
118
+ });
119
+ closeRoomSettingsModal();
228
120
  } else {
121
+ dispatch(setStartingOrStoppingRecording(true));
122
+ hmsInstance
123
+ .startRTMPOrRecording({ record: true })
124
+ .catch(() => dispatch(setStartingOrStoppingRecording(false)));
229
125
  closeRoomSettingsModal();
230
- hmsInstance?.switchAudioOutputUsingIOSUI();
231
126
  }
232
127
  };
128
+ // #endregion
233
129
 
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
- };
130
+ // #region Change Name functions
131
+ const changeName = () => {
132
+ // Register callback to be called when bottom sheet is hiddden
133
+ registerOnModalHideAction(() => {
134
+ setModalVisible(ModalTypes.CHANGE_NAME);
135
+ });
260
136
 
261
- // Android Audioshare
262
- const handleAudioShare = async () => {
137
+ // Close the current bottom sheet
263
138
  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
139
  };
303
- //#endregion
140
+ // #endregion
304
141
 
305
142
  return (
306
- <View style={styles.container}>
307
- <View style={styles.chatHeaderContainer}>
308
- <Text style={styles.chatHeading}>More Options</Text>
143
+ <View>
144
+ <BottomSheet.Header
145
+ dismissModal={closeRoomSettingsModal}
146
+ heading="Options"
147
+ />
148
+
149
+ <BottomSheet.Divider />
150
+
151
+ <View style={styles.contentContainer}>
152
+ {groupIntoTriplets(
153
+ [
154
+ {
155
+ id: 'participants',
156
+ icon: <ParticipantsIcon style={{ width: 20, height: 20 }} />,
157
+ label: 'Participants',
158
+ pressHandler: onParticipantsPress,
159
+ isActive: false,
160
+ hide: false,
161
+ sibling: <ParticipantsCount />,
162
+ // parent
163
+ // children
164
+ },
165
+ {
166
+ id: 'share-screen',
167
+ icon: <ScreenShareIcon style={{ width: 20, height: 20 }} />,
168
+ label: isLocalScreenShared ? 'Sharing Screen' : 'Share Screen',
169
+ pressHandler: handleScreenShareTogglePress,
170
+ isActive: !!isLocalScreenShared, // Show active if screen is shared
171
+ hide: !canPublishScreen, // Hide if can't publish screen
172
+ },
173
+ {
174
+ id: 'brb',
175
+ icon: <BRBIcon style={{ width: 20, height: 20 }} />,
176
+ label: isBRBOn ? "I'm Back" : 'Be Right Back',
177
+ pressHandler: toggleBRB,
178
+ isActive: isBRBOn, // Show active if `isBRBOn` is set on metadata
179
+ hide: false, // Hide if can't publish screen
180
+ },
181
+ {
182
+ id: 'raise-hand',
183
+ icon: <HandIcon style={{ width: 20, height: 20 }} />,
184
+ label: parsedMetadata.isHandRaised ? 'Hand Raised' : 'Raise Hand',
185
+ pressHandler: toggleRaiseHand,
186
+ isActive: isHandRaised, // Show active if `isHandRaised` is set on metadata
187
+ hide: false, // Hide if can't publish screen
188
+ },
189
+ {
190
+ id: 'start-recording',
191
+ icon: <RecordingIcon style={{ width: 20, height: 20 }} />,
192
+ label: isRecordingOn ? 'Stop Recording' : 'Start Recording',
193
+ pressHandler: handleRecordingTogglePress,
194
+ isActive: !!isRecordingOn,
195
+ hide: !canStartRecording, // Hide if can't publish screen
196
+ },
197
+ {
198
+ id: 'change-name',
199
+ icon: <PencilIcon style={{ width: 20, height: 20 }} />,
200
+ label: 'Change Name',
201
+ pressHandler: changeName,
202
+ isActive: false,
203
+ hide: false,
204
+ },
205
+ ].filter((itm) => !itm.hide),
206
+ true
207
+ ).map((itm, idx) => {
208
+ const isFirst = idx === 0;
209
+
210
+ return (
211
+ <React.Fragment key={idx.toString()}>
212
+ {isFirst ? null : <View style={styles.rowSpacer} />}
213
+
214
+ <View style={styles.row}>
215
+ {itm.map((item, index) => {
216
+ const isFirst = index === 0;
217
+
218
+ return (
219
+ <React.Fragment key={item ? item.id : index.toString()}>
220
+ {isFirst ? null : <View style={styles.colSpacer} />}
221
+
222
+ <View style={styles.col}>
223
+ {item ? (
224
+ <>
225
+ <SettingItem
226
+ icon={item.icon}
227
+ onPress={item.pressHandler}
228
+ text={item.label}
229
+ isActive={item.isActive}
230
+ />
231
+
232
+ {item.sibling}
233
+ </>
234
+ ) : null}
235
+ </View>
236
+ </React.Fragment>
237
+ );
238
+ })}
239
+ </View>
240
+ </React.Fragment>
241
+ );
242
+ })}
309
243
  </View>
310
244
 
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>
245
+ {debugMode ? <RoomSettingsModalDebugModeContent {...props} /> : null}
513
246
  </View>
514
247
  );
515
248
  };
516
249
 
517
- interface SettingItemProps {
518
- onPress(): void;
250
+ type SettingItemProps = {
519
251
  text: string;
520
- iconName: string;
521
- IconType: any;
522
- }
252
+ icon: React.ReactElement;
253
+ onPress(): void;
254
+ isActive?: boolean;
255
+ };
523
256
 
524
257
  const SettingItem: React.FC<SettingItemProps> = ({
525
- onPress,
526
258
  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,
259
+ icon,
541
260
  onPress,
542
- closeRoomSettingsModal,
543
- }: any) => {
544
- const handleScreenSharePress = () => {
545
- closeRoomSettingsModal();
546
- onPress?.();
547
- };
261
+ isActive = false,
262
+ }) => {
263
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
264
+ button: {
265
+ backgroundColor: theme.palette.surface_bright,
266
+ },
267
+ text: {
268
+ color: theme.palette.on_surface_high,
269
+ fontFamily: `${typography.font_family}-SemiBold`,
270
+ },
271
+ }));
548
272
 
549
273
  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'}
274
+ <TouchableOpacity
275
+ style={[styles.button, isActive ? hmsRoomStyles.button : null]}
276
+ onPress={onPress}
277
+ >
278
+ {icon}
279
+
280
+ <Text style={[styles.text, hmsRoomStyles.text]} numberOfLines={2}>
281
+ {text}
554
282
  </Text>
555
283
  </TouchableOpacity>
556
284
  );
557
285
  };
558
286
 
559
287
  const styles = StyleSheet.create({
560
- container: {
561
- height: '100%',
562
- width: '100%',
563
- backgroundColor: COLORS.SURFACE.DEFAULT,
288
+ contentContainer: {
289
+ marginHorizontal: 20,
564
290
  },
565
- chatHeaderContainer: {
566
- height: 48,
567
- width: '80%',
291
+ row: {
568
292
  flexDirection: 'row',
569
- alignItems: 'center',
570
293
  },
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,
294
+ rowSpacer: {
295
+ height: 16,
296
+ width: '100%',
578
297
  },
579
- contentContainer: {
298
+ col: {
580
299
  flex: 1,
581
- marginVertical: 4,
582
- },
583
- scrollContentContainer: {
584
- paddingBottom: 52,
300
+ position: 'relative',
585
301
  },
586
- brbIcon: {
587
- width: 24,
588
- height: 24,
589
- tintColor: COLORS.WHITE,
590
- marginRight: 12,
302
+ colSpacer: {
303
+ width: 12,
304
+ height: '100%',
591
305
  },
592
306
  button: {
593
- flexDirection: 'row',
594
307
  alignItems: 'center',
595
- marginVertical: 12,
308
+ borderRadius: 4,
309
+ paddingVertical: 8,
310
+ paddingHorizontal: 4,
596
311
  },
597
312
  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,
313
+ textAlign: 'center',
314
+ fontSize: 12,
315
+ lineHeight: 16,
316
+ letterSpacing: 0.4,
317
+ marginTop: 8,
606
318
  },
607
319
  });