@100mslive/roomkit-react 0.4.3-alpha.2 → 0.4.3-alpha.4

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 (391) hide show
  1. package/dist/Prebuilt/App.d.ts +0 -1
  2. package/dist/Prebuilt/AppContext.d.ts +0 -1
  3. package/dist/index.cjs.css +194 -219
  4. package/dist/index.cjs.css.map +3 -3
  5. package/dist/index.cjs.js +8 -56
  6. package/dist/index.cjs.js.map +3 -3
  7. package/dist/index.css +194 -219
  8. package/dist/index.css.map +3 -3
  9. package/dist/index.js +8 -56
  10. package/dist/index.js.map +3 -3
  11. package/dist/meta.cjs.json +23 -41
  12. package/dist/meta.esbuild.json +23 -41
  13. package/package.json +8 -9
  14. package/src/Accordion/Accordion.tsx +0 -88
  15. package/src/Accordion/index.ts +0 -8
  16. package/src/AudioLevel/AudioLevel.tsx +0 -84
  17. package/src/AudioLevel/audio-level.png +0 -0
  18. package/src/AudioLevel/index.ts +0 -2
  19. package/src/AudioLevel/useBorderAudioLevel.tsx +0 -34
  20. package/src/Avatar/Avatar.tsx +0 -60
  21. package/src/Avatar/getAvatarBg.ts +0 -50
  22. package/src/Avatar/index.ts +0 -1
  23. package/src/Button/Button.tsx +0 -210
  24. package/src/Button/index.tsx +0 -1
  25. package/src/Checkbox/Checkbox.tsx +0 -35
  26. package/src/Checkbox/index.tsx +0 -1
  27. package/src/Collapsible/Collapsible.tsx +0 -34
  28. package/src/Collapsible/index.tsx +0 -1
  29. package/src/Diagnostics/AudioTest.tsx +0 -188
  30. package/src/Diagnostics/BrowserTest.tsx +0 -141
  31. package/src/Diagnostics/ConnectivityTest.tsx +0 -383
  32. package/src/Diagnostics/DeviceSelector.jsx +0 -71
  33. package/src/Diagnostics/Diagnostics.tsx +0 -190
  34. package/src/Diagnostics/DiagnosticsContext.ts +0 -46
  35. package/src/Diagnostics/VideoTest.tsx +0 -72
  36. package/src/Diagnostics/components.tsx +0 -70
  37. package/src/Diagnostics/index.ts +0 -1
  38. package/src/Divider/Divider.tsx +0 -45
  39. package/src/Divider/index.ts +0 -1
  40. package/src/Dropdown/Dropdown.tsx +0 -145
  41. package/src/Dropdown/index.tsx +0 -1
  42. package/src/Fieldset/Fieldset.tsx +0 -11
  43. package/src/Fieldset/index.tsx +0 -1
  44. package/src/Footer/Footer.tsx +0 -47
  45. package/src/Footer/index.tsx +0 -1
  46. package/src/IconButton/IconButton.tsx +0 -43
  47. package/src/IconButton/index.tsx +0 -1
  48. package/src/Input/Input.tsx +0 -109
  49. package/src/Input/index.tsx +0 -1
  50. package/src/Label/Label.tsx +0 -8
  51. package/src/Label/index.ts +0 -1
  52. package/src/Layout/Box.tsx +0 -3
  53. package/src/Layout/Flex.tsx +0 -76
  54. package/src/Layout/index.tsx +0 -2
  55. package/src/Link/Link.tsx +0 -54
  56. package/src/Link/index.tsx +0 -2
  57. package/src/Loading/Loading.tsx +0 -30
  58. package/src/Loading/index.ts +0 -1
  59. package/src/Modal/Dialog.tsx +0 -57
  60. package/src/Modal/DialogContent.tsx +0 -65
  61. package/src/Modal/index.ts +0 -1
  62. package/src/Pagination/StyledPagination.tsx +0 -70
  63. package/src/Pagination/index.tsx +0 -1
  64. package/src/Popover/index.tsx +0 -34
  65. package/src/Prebuilt/App.tsx +0 -323
  66. package/src/Prebuilt/AppContext.tsx +0 -34
  67. package/src/Prebuilt/AppStateContext.tsx +0 -95
  68. package/src/Prebuilt/IconButton.tsx +0 -26
  69. package/src/Prebuilt/common/PeersSorter.ts +0 -111
  70. package/src/Prebuilt/common/constants.ts +0 -151
  71. package/src/Prebuilt/common/hooks.ts +0 -257
  72. package/src/Prebuilt/common/utils.js +0 -185
  73. package/src/Prebuilt/components/AppData/AppData.tsx +0 -208
  74. package/src/Prebuilt/components/AppData/useChatState.js +0 -18
  75. package/src/Prebuilt/components/AppData/useSheet.ts +0 -33
  76. package/src/Prebuilt/components/AppData/useSidepane.js +0 -99
  77. package/src/Prebuilt/components/AppData/useSidepaneResetOnLayoutUpdate.tsx +0 -22
  78. package/src/Prebuilt/components/AppData/useUISettings.js +0 -212
  79. package/src/Prebuilt/components/AudioVideoToggle.tsx +0 -411
  80. package/src/Prebuilt/components/AuthToken.tsx +0 -148
  81. package/src/Prebuilt/components/CaptionIcon.tsx +0 -27
  82. package/src/Prebuilt/components/Chat/ArrowNavigation.tsx +0 -44
  83. package/src/Prebuilt/components/Chat/Chat.tsx +0 -190
  84. package/src/Prebuilt/components/Chat/ChatActions.tsx +0 -314
  85. package/src/Prebuilt/components/Chat/ChatBody.tsx +0 -493
  86. package/src/Prebuilt/components/Chat/ChatFooter.tsx +0 -316
  87. package/src/Prebuilt/components/Chat/ChatSelector.tsx +0 -228
  88. package/src/Prebuilt/components/Chat/ChatSelectorContainer.tsx +0 -158
  89. package/src/Prebuilt/components/Chat/ChatStates.tsx +0 -73
  90. package/src/Prebuilt/components/Chat/EmptyChat.tsx +0 -58
  91. package/src/Prebuilt/components/Chat/MwebChatOption.tsx +0 -24
  92. package/src/Prebuilt/components/Chat/PinnedMessage.tsx +0 -140
  93. package/src/Prebuilt/components/Chat/StickIndicator.tsx +0 -24
  94. package/src/Prebuilt/components/Chat/useEmojiPickerStyles.js +0 -32
  95. package/src/Prebuilt/components/Chat/useUnreadCount.ts +0 -19
  96. package/src/Prebuilt/components/Chat/utils.ts +0 -11
  97. package/src/Prebuilt/components/ChatSettings.tsx +0 -68
  98. package/src/Prebuilt/components/Chip.tsx +0 -40
  99. package/src/Prebuilt/components/ConferenceScreen.tsx +0 -205
  100. package/src/Prebuilt/components/Connection/ConnectionIndicator.tsx +0 -89
  101. package/src/Prebuilt/components/Connection/TileConnection.tsx +0 -93
  102. package/src/Prebuilt/components/Connection/connectionQualityUtils.js +0 -37
  103. package/src/Prebuilt/components/EmojiReaction.jsx +0 -100
  104. package/src/Prebuilt/components/EndCallFeedback/Feedback.tsx +0 -71
  105. package/src/Prebuilt/components/EndCallFeedback/FeedbackForm.tsx +0 -381
  106. package/src/Prebuilt/components/EndCallFeedback/ThankyouView.tsx +0 -64
  107. package/src/Prebuilt/components/ErrorBoundary.jsx +0 -102
  108. package/src/Prebuilt/components/Footer/ChatToggle.tsx +0 -53
  109. package/src/Prebuilt/components/Footer/EmojiCard.jsx +0 -34
  110. package/src/Prebuilt/components/Footer/Footer.tsx +0 -115
  111. package/src/Prebuilt/components/Footer/PaginatedParticipants.tsx +0 -124
  112. package/src/Prebuilt/components/Footer/ParticipantList.tsx +0 -478
  113. package/src/Prebuilt/components/Footer/PollsToggle.tsx +0 -37
  114. package/src/Prebuilt/components/Footer/RoleAccordion.tsx +0 -183
  115. package/src/Prebuilt/components/Footer/RoleOptions.tsx +0 -215
  116. package/src/Prebuilt/components/Footer/WhiteboardToggle.tsx +0 -52
  117. package/src/Prebuilt/components/FullPageProgress.tsx +0 -22
  118. package/src/Prebuilt/components/HMSVideo/Controls.jsx +0 -22
  119. package/src/Prebuilt/components/HMSVideo/FullscreenButton.tsx +0 -13
  120. package/src/Prebuilt/components/HMSVideo/HLSAutoplayBlockedPrompt.tsx +0 -72
  121. package/src/Prebuilt/components/HMSVideo/HLSCaptionSelector.tsx +0 -15
  122. package/src/Prebuilt/components/HMSVideo/HLSQualitySelector.tsx +0 -248
  123. package/src/Prebuilt/components/HMSVideo/HMSVideo.jsx +0 -75
  124. package/src/Prebuilt/components/HMSVideo/MwebHLSViewTitle.tsx +0 -86
  125. package/src/Prebuilt/components/HMSVideo/PlayPauseButton.tsx +0 -27
  126. package/src/Prebuilt/components/HMSVideo/PlayPauseSeekControls.tsx +0 -158
  127. package/src/Prebuilt/components/HMSVideo/PlayerContext.tsx +0 -15
  128. package/src/Prebuilt/components/HMSVideo/SeekControl.tsx +0 -22
  129. package/src/Prebuilt/components/HMSVideo/VideoProgress.tsx +0 -100
  130. package/src/Prebuilt/components/HMSVideo/VideoTime.tsx +0 -52
  131. package/src/Prebuilt/components/HMSVideo/VolumeControl.tsx +0 -70
  132. package/src/Prebuilt/components/HMSVideo/index.ts +0 -24
  133. package/src/Prebuilt/components/HMSVideo/utils.ts +0 -37
  134. package/src/Prebuilt/components/Header/Header.tsx +0 -52
  135. package/src/Prebuilt/components/Header/HeaderComponents.jsx +0 -57
  136. package/src/Prebuilt/components/Header/ParticipantFilter.jsx +0 -89
  137. package/src/Prebuilt/components/Header/RoomDetailsHeader.tsx +0 -51
  138. package/src/Prebuilt/components/Header/StreamActions.tsx +0 -297
  139. package/src/Prebuilt/components/Header/common.jsx +0 -196
  140. package/src/Prebuilt/components/Header/index.tsx +0 -1
  141. package/src/Prebuilt/components/HlsStatsOverlay.jsx +0 -89
  142. package/src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.tsx +0 -167
  143. package/src/Prebuilt/components/Input/KeyboardInputManager.js +0 -107
  144. package/src/Prebuilt/components/InsetTile.tsx +0 -136
  145. package/src/Prebuilt/components/LayoutModeSelector.tsx +0 -112
  146. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +0 -166
  147. package/src/Prebuilt/components/Leave/EndSessionContent.tsx +0 -64
  148. package/src/Prebuilt/components/Leave/LeaveAtoms.tsx +0 -26
  149. package/src/Prebuilt/components/Leave/LeaveCard.tsx +0 -36
  150. package/src/Prebuilt/components/Leave/LeaveRoom.tsx +0 -82
  151. package/src/Prebuilt/components/Leave/LeaveSessionContent.tsx +0 -61
  152. package/src/Prebuilt/components/Leave/MwebLeaveRoom.tsx +0 -135
  153. package/src/Prebuilt/components/LeaveScreen.tsx +0 -71
  154. package/src/Prebuilt/components/MoreSettings/ActionTile.jsx +0 -60
  155. package/src/Prebuilt/components/MoreSettings/BulkRoleChangeModal.jsx +0 -139
  156. package/src/Prebuilt/components/MoreSettings/CaptionContent.tsx +0 -143
  157. package/src/Prebuilt/components/MoreSettings/CaptionModal.tsx +0 -37
  158. package/src/Prebuilt/components/MoreSettings/ChangeNameContent.tsx +0 -123
  159. package/src/Prebuilt/components/MoreSettings/ChangeNameModal.tsx +0 -78
  160. package/src/Prebuilt/components/MoreSettings/EmbedUrl.jsx +0 -81
  161. package/src/Prebuilt/components/MoreSettings/FullScreenItem.tsx +0 -26
  162. package/src/Prebuilt/components/MoreSettings/MoreSettings.tsx +0 -29
  163. package/src/Prebuilt/components/MoreSettings/MuteAllContent.tsx +0 -81
  164. package/src/Prebuilt/components/MoreSettings/MuteAllModal.tsx +0 -72
  165. package/src/Prebuilt/components/MoreSettings/SplitComponents/DesktopOptions.tsx +0 -282
  166. package/src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx +0 -387
  167. package/src/Prebuilt/components/MoreSettings/constants.ts +0 -14
  168. package/src/Prebuilt/components/MwebLandscapePrompt.tsx +0 -81
  169. package/src/Prebuilt/components/Notifications/AutoplayBlockedModal.tsx +0 -39
  170. package/src/Prebuilt/components/Notifications/ChatNotifications.tsx +0 -34
  171. package/src/Prebuilt/components/Notifications/DeviceChangeNotifications.tsx +0 -18
  172. package/src/Prebuilt/components/Notifications/DeviceInUseError.tsx +0 -86
  173. package/src/Prebuilt/components/Notifications/ErrorNotifications.tsx +0 -56
  174. package/src/Prebuilt/components/Notifications/HLSFailureModal.tsx +0 -71
  175. package/src/Prebuilt/components/Notifications/HandRaisedNotifications.tsx +0 -78
  176. package/src/Prebuilt/components/Notifications/InitErrorModal.tsx +0 -42
  177. package/src/Prebuilt/components/Notifications/MessageNotifications.tsx +0 -24
  178. package/src/Prebuilt/components/Notifications/Notifications.tsx +0 -65
  179. package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +0 -52
  180. package/src/Prebuilt/components/Notifications/PermissionErrorModal.tsx +0 -144
  181. package/src/Prebuilt/components/Notifications/PollNotificationModal.tsx +0 -71
  182. package/src/Prebuilt/components/Notifications/ReconnectNotifications.tsx +0 -33
  183. package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +0 -24
  184. package/src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.tsx +0 -61
  185. package/src/Prebuilt/components/Notifications/TrackNotifications.tsx +0 -41
  186. package/src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx +0 -63
  187. package/src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx +0 -58
  188. package/src/Prebuilt/components/Notifications/index.tsx +0 -1
  189. package/src/Prebuilt/components/PIP/PIPChat.tsx +0 -292
  190. package/src/Prebuilt/components/PIP/PIPChatOption.tsx +0 -18
  191. package/src/Prebuilt/components/PIP/PIPComponent.tsx +0 -90
  192. package/src/Prebuilt/components/PIP/PIPManager.ts +0 -335
  193. package/src/Prebuilt/components/PIP/PIPProvider.tsx +0 -56
  194. package/src/Prebuilt/components/PIP/PIPWindow.tsx +0 -13
  195. package/src/Prebuilt/components/PIP/SetupMediaSession.js +0 -60
  196. package/src/Prebuilt/components/PIP/context.ts +0 -10
  197. package/src/Prebuilt/components/PIP/index.jsx +0 -6
  198. package/src/Prebuilt/components/PIP/pip.test.js +0 -72
  199. package/src/Prebuilt/components/PIP/pipUtils.js +0 -183
  200. package/src/Prebuilt/components/PIP/usePIPChat.tsx +0 -105
  201. package/src/Prebuilt/components/PIP/usePIPWindow.tsx +0 -12
  202. package/src/Prebuilt/components/Pagination.tsx +0 -60
  203. package/src/Prebuilt/components/Polls/CreatePollQuiz/PollsQuizMenu.tsx +0 -248
  204. package/src/Prebuilt/components/Polls/CreateQuestions/CreateQuestions.jsx +0 -142
  205. package/src/Prebuilt/components/Polls/CreateQuestions/DeleteQuestionModal.tsx +0 -74
  206. package/src/Prebuilt/components/Polls/CreateQuestions/QuestionForm.tsx +0 -324
  207. package/src/Prebuilt/components/Polls/CreateQuestions/SavedQuestion.tsx +0 -64
  208. package/src/Prebuilt/components/Polls/Polls.tsx +0 -31
  209. package/src/Prebuilt/components/Polls/Voting/LeaderboardEntry.tsx +0 -76
  210. package/src/Prebuilt/components/Polls/Voting/LeaderboardSummary.tsx +0 -116
  211. package/src/Prebuilt/components/Polls/Voting/PeerParticipationSummary.tsx +0 -60
  212. package/src/Prebuilt/components/Polls/Voting/QuestionCard.jsx +0 -221
  213. package/src/Prebuilt/components/Polls/Voting/StandardVoting.tsx +0 -47
  214. package/src/Prebuilt/components/Polls/Voting/StatisticBox.tsx +0 -20
  215. package/src/Prebuilt/components/Polls/Voting/TimedVoting.tsx +0 -55
  216. package/src/Prebuilt/components/Polls/Voting/Voting.tsx +0 -143
  217. package/src/Prebuilt/components/Polls/Voting/useQuizSummary.tsx +0 -50
  218. package/src/Prebuilt/components/Polls/common/Line.tsx +0 -4
  219. package/src/Prebuilt/components/Polls/common/MultipleChoiceOptions.jsx +0 -115
  220. package/src/Prebuilt/components/Polls/common/OptionInputWithDelete.tsx +0 -38
  221. package/src/Prebuilt/components/Polls/common/SingleChoiceOptions.jsx +0 -140
  222. package/src/Prebuilt/components/Polls/common/StatusIndicator.tsx +0 -35
  223. package/src/Prebuilt/components/Polls/common/VoteCount.tsx +0 -15
  224. package/src/Prebuilt/components/Polls/common/VoteProgress.tsx +0 -18
  225. package/src/Prebuilt/components/Polls/common/constants.ts +0 -5
  226. package/src/Prebuilt/components/Polls/common/utils.ts +0 -22
  227. package/src/Prebuilt/components/Preview/PreviewForm.tsx +0 -94
  228. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +0 -292
  229. package/src/Prebuilt/components/Preview/PreviewScreen.tsx +0 -38
  230. package/src/Prebuilt/components/PreviousRoleInMetadata.tsx +0 -20
  231. package/src/Prebuilt/components/RaiseHand.tsx +0 -30
  232. package/src/Prebuilt/components/RemoveParticipant.tsx +0 -35
  233. package/src/Prebuilt/components/RoleChangeModal.tsx +0 -188
  234. package/src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx +0 -75
  235. package/src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx +0 -94
  236. package/src/Prebuilt/components/RoomDetails/Duration.tsx +0 -26
  237. package/src/Prebuilt/components/RoomDetails/RoomDetailsPane.tsx +0 -63
  238. package/src/Prebuilt/components/RoomDetails/RoomDetailsRow.tsx +0 -23
  239. package/src/Prebuilt/components/RoomDetails/RoomDetailsSheet.tsx +0 -45
  240. package/src/Prebuilt/components/ScreenShareToggle.jsx +0 -58
  241. package/src/Prebuilt/components/ScreenshareDisplay.tsx +0 -39
  242. package/src/Prebuilt/components/ScreenshareTile.tsx +0 -134
  243. package/src/Prebuilt/components/SecondaryTiles.tsx +0 -81
  244. package/src/Prebuilt/components/Settings/DeviceSettings.jsx +0 -208
  245. package/src/Prebuilt/components/Settings/LayoutSettings.tsx +0 -74
  246. package/src/Prebuilt/components/Settings/NotificationSettings.tsx +0 -66
  247. package/src/Prebuilt/components/Settings/SettingsModal.jsx +0 -301
  248. package/src/Prebuilt/components/Settings/StartRecording.jsx +0 -101
  249. package/src/Prebuilt/components/Settings/SwitchWithLabel.tsx +0 -53
  250. package/src/Prebuilt/components/Settings/common.ts +0 -16
  251. package/src/Prebuilt/components/ShareMenuIcon.jsx +0 -27
  252. package/src/Prebuilt/components/SidePaneTabs.tsx +0 -214
  253. package/src/Prebuilt/components/StatsForNerds.jsx +0 -373
  254. package/src/Prebuilt/components/Streaming/Common.jsx +0 -143
  255. package/src/Prebuilt/components/Streaming/ResolutionInput.jsx +0 -88
  256. package/src/Prebuilt/components/TileMenu/TileMenu.tsx +0 -148
  257. package/src/Prebuilt/components/TileMenu/TileMenuContent.tsx +0 -393
  258. package/src/Prebuilt/components/TileMenu/utils.ts +0 -7
  259. package/src/Prebuilt/components/Toast/Toast.jsx +0 -17
  260. package/src/Prebuilt/components/Toast/ToastBatcher.js +0 -64
  261. package/src/Prebuilt/components/Toast/ToastConfig.jsx +0 -177
  262. package/src/Prebuilt/components/Toast/ToastContainer.jsx +0 -30
  263. package/src/Prebuilt/components/Toast/ToastManager.js +0 -44
  264. package/src/Prebuilt/components/VideoLayouts/EqualProminence.tsx +0 -62
  265. package/src/Prebuilt/components/VideoLayouts/Grid.tsx +0 -43
  266. package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +0 -155
  267. package/src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx +0 -91
  268. package/src/Prebuilt/components/VideoLayouts/RoleProminence.tsx +0 -66
  269. package/src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx +0 -74
  270. package/src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx +0 -93
  271. package/src/Prebuilt/components/VideoLayouts/interface.ts +0 -11
  272. package/src/Prebuilt/components/VideoTile.tsx +0 -203
  273. package/src/Prebuilt/components/VirtualBackground/VBCollection.tsx +0 -52
  274. package/src/Prebuilt/components/VirtualBackground/VBHandler.tsx +0 -130
  275. package/src/Prebuilt/components/VirtualBackground/VBOption.tsx +0 -57
  276. package/src/Prebuilt/components/VirtualBackground/VBPicker.tsx +0 -252
  277. package/src/Prebuilt/components/VirtualBackground/VBToggle.tsx +0 -50
  278. package/src/Prebuilt/components/hooks/useAudioOutputTest.tsx +0 -20
  279. package/src/Prebuilt/components/hooks/useAutoStartStreaming.tsx +0 -70
  280. package/src/Prebuilt/components/hooks/useChatBlacklist.ts +0 -29
  281. package/src/Prebuilt/components/hooks/useCloseScreenshareWhiteboard.tsx +0 -17
  282. package/src/Prebuilt/components/hooks/useDropdownList.ts +0 -24
  283. package/src/Prebuilt/components/hooks/useDropdownSelection.jsx +0 -3
  284. package/src/Prebuilt/components/hooks/useFullscreen.ts +0 -46
  285. package/src/Prebuilt/components/hooks/useGroupOnStageActions.tsx +0 -54
  286. package/src/Prebuilt/components/hooks/useMetadata.tsx +0 -56
  287. package/src/Prebuilt/components/hooks/usePeerOnStageActions.tsx +0 -49
  288. package/src/Prebuilt/components/hooks/usePinnedBy.tsx +0 -22
  289. package/src/Prebuilt/components/hooks/usePinnedMessages.ts +0 -78
  290. package/src/Prebuilt/components/hooks/usePlaylist.js +0 -25
  291. package/src/Prebuilt/components/hooks/usePlaylistMusic.js +0 -35
  292. package/src/Prebuilt/components/hooks/useRedirectToLeave.tsx +0 -23
  293. package/src/Prebuilt/components/hooks/useRoleProminencePeers.tsx +0 -39
  294. package/src/Prebuilt/components/hooks/useScreenshareAudio.js +0 -28
  295. package/src/Prebuilt/components/hooks/useTileLayout.tsx +0 -128
  296. package/src/Prebuilt/components/hooks/useUnreadPollQuizPresent.tsx +0 -17
  297. package/src/Prebuilt/components/hooks/useUserPreferences.jsx +0 -26
  298. package/src/Prebuilt/components/hooks/useVideoTileLayout.ts +0 -26
  299. package/src/Prebuilt/components/init/Init.jsx +0 -31
  300. package/src/Prebuilt/components/pdfAnnotator/pdfFileOptions.jsx +0 -42
  301. package/src/Prebuilt/components/pdfAnnotator/pdfHeader.jsx +0 -31
  302. package/src/Prebuilt/components/pdfAnnotator/pdfInfo.jsx +0 -32
  303. package/src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx +0 -211
  304. package/src/Prebuilt/components/pdfAnnotator/submitPdf.jsx +0 -48
  305. package/src/Prebuilt/components/pdfAnnotator/uploadedFile.jsx +0 -71
  306. package/src/Prebuilt/components/peerTileUtils.tsx +0 -42
  307. package/src/Prebuilt/images/android-perm-1.png +0 -0
  308. package/src/Prebuilt/images/empty-chat.svg +0 -12
  309. package/src/Prebuilt/images/ios-perm-0.png +0 -0
  310. package/src/Prebuilt/images/pdf-share.png +0 -0
  311. package/src/Prebuilt/images/rtmp.png +0 -0
  312. package/src/Prebuilt/images/screen-share.png +0 -0
  313. package/src/Prebuilt/images/transaction_error.svg +0 -12
  314. package/src/Prebuilt/index.ts +0 -1
  315. package/src/Prebuilt/layouts/EmbedView.jsx +0 -94
  316. package/src/Prebuilt/layouts/HLSView.jsx +0 -794
  317. package/src/Prebuilt/layouts/PDFView.jsx +0 -67
  318. package/src/Prebuilt/layouts/Sheet.tsx +0 -14
  319. package/src/Prebuilt/layouts/SidePane.tsx +0 -241
  320. package/src/Prebuilt/layouts/VideoStreamingSection.tsx +0 -164
  321. package/src/Prebuilt/layouts/WaitingView.tsx +0 -52
  322. package/src/Prebuilt/plugins/CaptionsViewer.tsx +0 -261
  323. package/src/Prebuilt/plugins/FlyingEmoji.jsx +0 -154
  324. package/src/Prebuilt/plugins/RemoteStopScreenshare.jsx +0 -18
  325. package/src/Prebuilt/plugins/transcription/Transcriber.js +0 -216
  326. package/src/Prebuilt/plugins/transcription/TranscriptionButton.jsx +0 -138
  327. package/src/Prebuilt/plugins/transcription/index.jsx +0 -1
  328. package/src/Prebuilt/primitives/DialogContent.jsx +0 -285
  329. package/src/Prebuilt/primitives/DropdownTrigger.jsx +0 -46
  330. package/src/Prebuilt/provider/roomLayoutProvider/constants/index.ts +0 -60
  331. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts +0 -88
  332. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useInsetEnabled.ts +0 -10
  333. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.ts +0 -112
  334. package/src/Prebuilt/provider/roomLayoutProvider/index.tsx +0 -53
  335. package/src/Prebuilt/services/FeatureFlags.jsx +0 -46
  336. package/src/Progress/index.tsx +0 -17
  337. package/src/QRCode/QRCode.tsx +0 -6
  338. package/src/QRCode/index.tsx +0 -1
  339. package/src/RadioGroup/RadioGroup.tsx +0 -33
  340. package/src/RadioGroup/index.tsx +0 -1
  341. package/src/ReactSelect/ReactSelect.tsx +0 -97
  342. package/src/ReactSelect/index.ts +0 -1
  343. package/src/Select/Select.tsx +0 -63
  344. package/src/Select/index.ts +0 -1
  345. package/src/Sheet/Sheet.tsx +0 -122
  346. package/src/Sheet/index.ts +0 -1
  347. package/src/Slider/Slider.tsx +0 -70
  348. package/src/Slider/index.ts +0 -1
  349. package/src/Stats/Stats.tsx +0 -243
  350. package/src/Stats/StyledStats.tsx +0 -57
  351. package/src/Stats/formatBytes.ts +0 -19
  352. package/src/Stats/index.tsx +0 -2
  353. package/src/Stats/useQoE.ts +0 -79
  354. package/src/Switch/Switch.tsx +0 -52
  355. package/src/Switch/index.ts +0 -1
  356. package/src/Tabs/Tabs.tsx +0 -41
  357. package/src/Tabs/index.tsx +0 -1
  358. package/src/Text/Text.tsx +0 -149
  359. package/src/Text/index.tsx +0 -1
  360. package/src/TextArea/TextArea.tsx +0 -30
  361. package/src/TextArea/index.tsx +0 -1
  362. package/src/Theme/ThemeProvider.tsx +0 -98
  363. package/src/Theme/base.config.ts +0 -236
  364. package/src/Theme/index.tsx +0 -2
  365. package/src/Theme/stitches.config.ts +0 -88
  366. package/src/Theme/useSSR.tsx +0 -24
  367. package/src/TileMenu/StyledMenuTile.tsx +0 -105
  368. package/src/TileMenu/TileMenu.tsx +0 -98
  369. package/src/TileMenu/index.tsx +0 -1
  370. package/src/Toast/Toast.tsx +0 -170
  371. package/src/Toast/index.tsx +0 -1
  372. package/src/Tooltip/Tooltip.tsx +0 -79
  373. package/src/Tooltip/index.ts +0 -1
  374. package/src/Video/Video.tsx +0 -61
  375. package/src/Video/index.tsx +0 -1
  376. package/src/VideoList/StyledVideoList.tsx +0 -39
  377. package/src/VideoList/index.tsx +0 -2
  378. package/src/VideoList/videoListUtils.tsx +0 -20
  379. package/src/VideoTile/StyledVideoTile.tsx +0 -146
  380. package/src/VideoTile/index.tsx +0 -1
  381. package/src/context/DialogContext.tsx +0 -13
  382. package/src/fixtures/chats.ts +0 -25
  383. package/src/fixtures/peers.ts +0 -27
  384. package/src/fixtures/tracks.ts +0 -11
  385. package/src/hooks/useDialogContainerSelector.tsx +0 -7
  386. package/src/index.ts +0 -41
  387. package/src/store/SetupFakeStore.ts +0 -33
  388. package/src/store/StorybookSDK.ts +0 -231
  389. package/src/utils/animations.ts +0 -114
  390. package/src/utils/index.ts +0 -2
  391. package/src/utils/styles.ts +0 -22
@@ -1,323 +0,0 @@
1
- import React, { MutableRefObject, useEffect, useRef } from 'react';
2
- import { Layout, Logo, Screens, Theme, Typography } from '@100mslive/types-prebuilt';
3
- import { match } from 'ts-pattern';
4
- import {
5
- HMSActions,
6
- HMSReactiveStore,
7
- HMSRoomProvider,
8
- HMSStatsStoreWrapper,
9
- HMSStoreWrapper,
10
- IHMSNotifications,
11
- selectIsConnectedToRoom,
12
- useHMSActions,
13
- useHMSStore,
14
- } from '@100mslive/react-sdk';
15
- import { AppData } from './components/AppData/AppData';
16
- // @ts-ignore: No implicit Any
17
- import AuthToken from './components/AuthToken';
18
- import { ConferenceScreen } from './components/ConferenceScreen';
19
- // @ts-ignore: No implicit Any
20
- import { ErrorBoundary } from './components/ErrorBoundary';
21
- // @ts-ignore: No implicit Any
22
- import { Init } from './components/init/Init';
23
- // @ts-ignore: No implicit Any
24
- import { KeyboardHandler } from './components/Input/KeyboardInputManager';
25
- import { LeaveScreen } from './components/LeaveScreen';
26
- import { MwebLandscapePrompt } from './components/MwebLandscapePrompt';
27
- import { Notifications } from './components/Notifications';
28
- import { PIPProvider } from './components/PIP/PIPProvider';
29
- import { PreviewScreen } from './components/Preview/PreviewScreen';
30
- // @ts-ignore: No implicit Any
31
- import { ToastContainer } from './components/Toast/ToastContainer';
32
- import { Sheet } from './layouts/Sheet';
33
- import { RoomLayoutContext, RoomLayoutProvider, useRoomLayout } from './provider/roomLayoutProvider';
34
- import { DialogContainerProvider } from '../context/DialogContext';
35
- import { Box } from '../Layout';
36
- import { globalStyles, HMSThemeProvider } from '../Theme';
37
- import { HMSPrebuiltContext } from './AppContext';
38
- import { AppStateContext, PrebuiltStates, useAppStateManager } from './AppStateContext';
39
- // @ts-ignore: No implicit Any
40
- import { FlyingEmoji } from './plugins/FlyingEmoji';
41
- // @ts-ignore: No implicit Any
42
- import { RemoteStopScreenshare } from './plugins/RemoteStopScreenshare';
43
- // @ts-ignore: No implicit Any
44
- import { useIsNotificationDisabled } from './components/AppData/useUISettings';
45
- import { useAutoStartStreaming } from './components/hooks/useAutoStartStreaming';
46
- import {
47
- useRoomLayoutLeaveScreen,
48
- useRoomLayoutPreviewScreen,
49
- } from './provider/roomLayoutProvider/hooks/useRoomLayoutScreen';
50
- // @ts-ignore: No implicit Any
51
- import { FeatureFlags } from './services/FeatureFlags';
52
- // @ts-ignore: No implicit Any
53
- import { DEFAULT_PORTAL_CONTAINER } from './common/constants';
54
-
55
- export type HMSPrebuiltOptions = {
56
- userName?: string;
57
- userId?: string;
58
- endpoints?: object;
59
- effectsSDKKey?: string;
60
- managementToken?: string;
61
- };
62
-
63
- export type HMSPrebuiltProps = {
64
- roomCode?: string;
65
- logo?: Logo;
66
- typography?: Typography;
67
- themes?: Theme[];
68
- options?: HMSPrebuiltOptions;
69
- screens?: Screens;
70
- authToken?: string;
71
- leaveOnUnload?: boolean;
72
- onLeave?: () => void;
73
- onJoin?: () => void;
74
- /**
75
- * @remarks
76
- * Specify css selectors for the HTML element to be used as container for dialogs. Affects the positioning and focus of dialogs.
77
- */
78
- containerSelector?: string;
79
- };
80
-
81
- export type HMSPrebuiltRefType = {
82
- hmsActions: HMSActions;
83
- hmsStore: HMSStoreWrapper;
84
- hmsStats: HMSStatsStoreWrapper;
85
- hmsNotifications: IHMSNotifications;
86
- };
87
-
88
- export const HMSPrebuilt = React.forwardRef<HMSPrebuiltRefType, HMSPrebuiltProps>(
89
- (
90
- {
91
- roomCode = '',
92
- authToken = '',
93
- containerSelector = DEFAULT_PORTAL_CONTAINER,
94
- logo,
95
- typography,
96
- themes,
97
- options: { userName = '', userId = '', endpoints, managementToken } = {},
98
- screens,
99
- leaveOnUnload = true,
100
- onLeave,
101
- onJoin,
102
- },
103
- ref,
104
- ) => {
105
- const reactiveStore = useRef<HMSPrebuiltRefType>();
106
- const [hydrated, setHydrated] = React.useState(false);
107
-
108
- useEffect(() => {
109
- setHydrated(true);
110
- const hms = new HMSReactiveStore();
111
- const hmsStore = hms.getStore();
112
- const hmsActions = hms.getActions();
113
- const hmsNotifications = hms.getNotifications();
114
- const hmsStats = hms.getStats();
115
- hms.triggerOnSubscribe();
116
-
117
- reactiveStore.current = {
118
- hmsActions,
119
- hmsStats,
120
- hmsStore,
121
- hmsNotifications,
122
- };
123
- }, []);
124
-
125
- useEffect(() => {
126
- if (!ref || !reactiveStore.current) {
127
- return;
128
- }
129
- (ref as MutableRefObject<HMSPrebuiltRefType>).current = { ...reactiveStore.current };
130
- }, [ref]);
131
-
132
- useEffect(() => {
133
- // leave room when component unmounts
134
- return () => {
135
- reactiveStore?.current?.hmsActions.leave();
136
- };
137
- }, []);
138
-
139
- const endpointsObj = endpoints as
140
- | {
141
- init: string;
142
- tokenByRoomCode: string;
143
- roomLayout: string;
144
- event: string;
145
- passport: string;
146
- }
147
- | undefined;
148
- const tokenByRoomCodeEndpoint = endpointsObj?.tokenByRoomCode;
149
- const initEndpoint = endpointsObj?.init;
150
- const eventEndpoint = endpointsObj?.event;
151
- const roomLayoutEndpoint = endpointsObj?.roomLayout;
152
- const passportEndpoint = endpointsObj?.passport;
153
-
154
- const overrideLayout: Partial<Layout> = {
155
- logo,
156
- themes,
157
- typography,
158
- screens,
159
- };
160
-
161
- if (!roomCode && !authToken) {
162
- console.error(`
163
- HMSPrebuilt can be initialised by providing:
164
- either "roomCode" or "authToken".
165
- Please check if you are providing the above values for initialising prebuilt.
166
- `);
167
- throw Error('Incorrect initializing params for HMSPrebuilt component');
168
- }
169
-
170
- if (!hydrated) {
171
- return null;
172
- }
173
-
174
- globalStyles();
175
-
176
- return (
177
- <ErrorBoundary>
178
- <HMSPrebuiltContext.Provider
179
- value={{
180
- roomCode,
181
- containerSelector,
182
- onLeave,
183
- onJoin,
184
- userName,
185
- userId,
186
- managementToken,
187
- endpoints: {
188
- tokenByRoomCode: tokenByRoomCodeEndpoint,
189
- init: initEndpoint,
190
- roomLayout: roomLayoutEndpoint,
191
- event: eventEndpoint,
192
- passport: passportEndpoint,
193
- },
194
- }}
195
- >
196
- <HMSRoomProvider
197
- isHMSStatsOn={FeatureFlags.enableStatsForNerds}
198
- actions={reactiveStore.current?.hmsActions}
199
- store={reactiveStore.current?.hmsStore}
200
- notifications={reactiveStore.current?.hmsNotifications}
201
- stats={reactiveStore.current?.hmsStats}
202
- leaveOnUnload={leaveOnUnload}
203
- >
204
- <RoomLayoutProvider roomLayoutEndpoint={roomLayoutEndpoint} overrideLayout={overrideLayout}>
205
- <RoomLayoutContext.Consumer>
206
- {data => {
207
- const layout = data?.layout;
208
- const theme: Theme = layout?.themes?.[0] || ({} as Theme);
209
- const { typography } = layout || {};
210
- let fontFamily = ['sans-serif'];
211
- if (typography?.font_family) {
212
- fontFamily = [`${typography?.font_family}`, ...fontFamily];
213
- }
214
-
215
- return (
216
- <HMSThemeProvider
217
- // issue is with stitches caching the theme using the theme name / class
218
- // no updates to the themes are fired if the name is same.
219
- // TODO: cache the theme and do deep check to trigger name change in the theme
220
- themeType={`${theme.name}-${Date.now()}`}
221
- theme={{
222
- //@ts-ignore: Prebuilt theme to match stitches theme
223
- colors: theme.palette,
224
- fonts: {
225
- //@ts-ignore: font list to match token types of stitches
226
- sans: fontFamily,
227
- },
228
- }}
229
- >
230
- <PIPProvider>
231
- <Init />
232
- <DialogContainerProvider dialogContainerSelector={containerSelector}>
233
- <Box
234
- className={DEFAULT_PORTAL_CONTAINER.slice(1)} // Skips the '.' in the selector
235
- css={{
236
- bg: '$background_dim',
237
- size: '100%',
238
- lineHeight: '1.5',
239
- '-webkit-text-size-adjust': '100%',
240
- position: 'relative',
241
- }}
242
- >
243
- <AppRoutes
244
- authTokenByRoomCodeEndpoint={tokenByRoomCodeEndpoint}
245
- defaultAuthToken={authToken}
246
- />
247
- </Box>
248
- </DialogContainerProvider>
249
- </PIPProvider>
250
- </HMSThemeProvider>
251
- );
252
- }}
253
- </RoomLayoutContext.Consumer>
254
- </RoomLayoutProvider>
255
- </HMSRoomProvider>
256
- </HMSPrebuiltContext.Provider>
257
- </ErrorBoundary>
258
- );
259
- },
260
- );
261
-
262
- HMSPrebuilt.displayName = 'HMSPrebuilt';
263
-
264
- const AppStates = ({ activeState }: { activeState: PrebuiltStates }) => {
265
- const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();
266
- const { isLeaveScreenEnabled } = useRoomLayoutLeaveScreen();
267
- useAutoStartStreaming();
268
-
269
- return match({ activeState, isPreviewScreenEnabled, isLeaveScreenEnabled })
270
- .with({ activeState: PrebuiltStates.PREVIEW, isPreviewScreenEnabled: true }, () => <PreviewScreen />)
271
- .with({ activeState: PrebuiltStates.LEAVE, isLeaveScreenEnabled: true }, () => <LeaveScreen />)
272
- .otherwise(() => <ConferenceScreen />);
273
- };
274
-
275
- const BackSwipe = () => {
276
- const isConnectedToRoom = useHMSStore(selectIsConnectedToRoom);
277
- const hmsActions = useHMSActions();
278
- useEffect(() => {
279
- const onRouteLeave = async () => {
280
- if (isConnectedToRoom) {
281
- await hmsActions.leave();
282
- }
283
- };
284
- window.addEventListener('popstate', onRouteLeave);
285
- return () => {
286
- window.removeEventListener('popstate', onRouteLeave);
287
- };
288
- }, [hmsActions, isConnectedToRoom]);
289
- return null;
290
- };
291
-
292
- function AppRoutes({
293
- authTokenByRoomCodeEndpoint,
294
- defaultAuthToken,
295
- }: {
296
- authTokenByRoomCodeEndpoint?: string;
297
- defaultAuthToken?: string;
298
- }) {
299
- const roomLayout = useRoomLayout();
300
- const isNotificationsDisabled = useIsNotificationDisabled();
301
- const { activeState, rejoin } = useAppStateManager();
302
- return (
303
- <AppStateContext.Provider value={{ rejoin }}>
304
- <>
305
- {activeState !== PrebuiltStates.LEAVE && <AppData />}
306
- <ToastContainer />
307
- <Notifications />
308
- <MwebLandscapePrompt />
309
- <Sheet />
310
- <BackSwipe />
311
- {!isNotificationsDisabled && <FlyingEmoji />}
312
- <RemoteStopScreenshare />
313
- <KeyboardHandler />
314
- <AuthToken
315
- authTokenByRoomCodeEndpoint={authTokenByRoomCodeEndpoint}
316
- defaultAuthToken={defaultAuthToken}
317
- activeState={activeState}
318
- />
319
- {roomLayout && activeState && <AppStates activeState={activeState} />}
320
- </>
321
- </AppStateContext.Provider>
322
- );
323
- }
@@ -1,34 +0,0 @@
1
- import React, { useContext } from 'react';
2
- // @ts-ignore
3
- import { DEFAULT_PORTAL_CONTAINER } from './common/constants';
4
-
5
- type HMSPrebuiltContextType = {
6
- roomCode: string;
7
- userName?: string;
8
- userId?: string;
9
- containerSelector: string;
10
- endpoints?: Record<string, string | undefined>;
11
- managementToken?: string;
12
- onLeave?: () => void;
13
- onJoin?: () => void;
14
- };
15
-
16
- export const HMSPrebuiltContext = React.createContext<HMSPrebuiltContextType>({
17
- roomCode: '',
18
- userName: '',
19
- userId: '',
20
- containerSelector: DEFAULT_PORTAL_CONTAINER,
21
- endpoints: {},
22
- onLeave: undefined,
23
- onJoin: undefined,
24
- });
25
-
26
- HMSPrebuiltContext.displayName = 'HMSPrebuiltContext';
27
-
28
- export const useHMSPrebuiltContext = () => {
29
- const context = useContext(HMSPrebuiltContext);
30
- if (!context) {
31
- throw Error('Make sure HMSPrebuiltContext.Provider is present at the top level of your application');
32
- }
33
- return context;
34
- };
@@ -1,95 +0,0 @@
1
- import React, { useContext, useEffect } from 'react';
2
- import { usePreviousDistinct } from 'react-use';
3
- import { HMSVirtualBackgroundTypes } from '@100mslive/hms-virtual-background';
4
- import { match, P } from 'ts-pattern';
5
- import { HMSRoomState, selectRoomState, useHMSActions, useHMSStore } from '@100mslive/react-sdk';
6
- import { VBHandler } from './components/VirtualBackground/VBHandler';
7
- import { useRoomLayout, useSetOriginalLayout } from './provider/roomLayoutProvider';
8
- import { useRedirectToLeave } from './components/hooks/useRedirectToLeave';
9
- import {
10
- useRoomLayoutLeaveScreen,
11
- useRoomLayoutPreviewScreen,
12
- } from './provider/roomLayoutProvider/hooks/useRoomLayoutScreen';
13
- import { APP_DATA } from './common/constants';
14
-
15
- export enum PrebuiltStates {
16
- MEETING = 'meeting',
17
- PREVIEW = 'preview',
18
- LEAVE = 'leave',
19
- }
20
-
21
- type AppStateContextType = {
22
- rejoin: () => void;
23
- };
24
-
25
- export const AppStateContext = React.createContext<AppStateContextType>({
26
- rejoin: () => {
27
- console.log('Rejoin');
28
- },
29
- });
30
-
31
- AppStateContext.displayName = 'AppStateContext';
32
-
33
- export const useHMSAppStateContext = () => {
34
- const context = useContext(AppStateContext);
35
- if (!context) {
36
- throw Error('Make sure AppStateContext.Provider is present at the top level of your application');
37
- }
38
- return context;
39
- };
40
-
41
- export const useAppStateManager = () => {
42
- const roomLayout = useRoomLayout();
43
- const setOriginalLayout = useSetOriginalLayout();
44
- const [activeState, setActiveState] = React.useState<PrebuiltStates | undefined>();
45
- const roomState = useHMSStore(selectRoomState);
46
- const prevRoomState = usePreviousDistinct(roomState);
47
- const hmsActions = useHMSActions();
48
- const { isLeaveScreenEnabled } = useRoomLayoutLeaveScreen();
49
- const { isPreviewScreenEnabled } = useRoomLayoutPreviewScreen();
50
- const { redirectToLeave } = useRedirectToLeave();
51
-
52
- const rejoin = () => {
53
- setOriginalLayout?.();
54
- hmsActions.setAppData(APP_DATA.authToken, '');
55
- setActiveState(isPreviewScreenEnabled ? PrebuiltStates.PREVIEW : PrebuiltStates.MEETING);
56
- };
57
-
58
- useEffect(() => {
59
- if (!roomLayout) {
60
- return;
61
- }
62
- match([roomState, prevRoomState])
63
- .with([HMSRoomState.Connected, P.any], () => setActiveState(PrebuiltStates.MEETING))
64
- .with(
65
- [HMSRoomState.Disconnecting, HMSRoomState.Connected],
66
- [HMSRoomState.Disconnecting, HMSRoomState.Connecting],
67
- [HMSRoomState.Disconnecting, HMSRoomState.Reconnecting],
68
- [HMSRoomState.Disconnected, HMSRoomState.Connected],
69
- [HMSRoomState.Disconnected, HMSRoomState.Connecting],
70
- [HMSRoomState.Disconnected, HMSRoomState.Reconnecting],
71
- [HMSRoomState.Disconnected, HMSRoomState.Preview],
72
- () => {
73
- setActiveState(prevState => {
74
- return match({ isLeaveScreenEnabled, isPreviewScreenEnabled, prevState })
75
- .when(
76
- ({ isLeaveScreenEnabled, prevState }) => isLeaveScreenEnabled && prevState !== PrebuiltStates.LEAVE,
77
- () => PrebuiltStates.LEAVE,
78
- )
79
- .with({ isPreviewScreenEnabled: true }, () => PrebuiltStates.PREVIEW)
80
- .otherwise(() => PrebuiltStates.MEETING);
81
- });
82
- VBHandler.reset();
83
- hmsActions.setAppData(APP_DATA.background, HMSVirtualBackgroundTypes.NONE);
84
- redirectToLeave(1000); // to clear toasts after 1 second
85
- },
86
- )
87
- .with([HMSRoomState.Disconnected, P.nullish], () => {
88
- setActiveState(isPreviewScreenEnabled ? PrebuiltStates.PREVIEW : PrebuiltStates.MEETING);
89
- })
90
- .otherwise(() => {
91
- // do nothing
92
- });
93
- }, [roomLayout, roomState, isLeaveScreenEnabled, isPreviewScreenEnabled, prevRoomState, redirectToLeave, hmsActions]);
94
- return { activeState, rejoin };
95
- };
@@ -1,26 +0,0 @@
1
- import { IconButton as BaseIconButton } from '../IconButton';
2
- import { styled } from '../Theme';
3
-
4
- const IconButton = styled(BaseIconButton, {
5
- width: '$14',
6
- height: '$14',
7
- border: '1px solid $border_bright',
8
- bg: '$background_dim',
9
- r: '$1',
10
- '&[disabled]': {
11
- opacity: 0.5,
12
- cursor: 'not-allowed',
13
- backgroundColor: '$secondary_dim',
14
- color: '$on_primary_high',
15
- },
16
- variants: {
17
- active: {
18
- true: {
19
- color: '$on_surface_high',
20
- backgroundColor: 'transparent',
21
- },
22
- },
23
- },
24
- });
25
-
26
- export default IconButton;
@@ -1,111 +0,0 @@
1
- import { HMSPeer, HMSPeerID, IStoreReadOnly, selectDominantSpeaker } from '@100mslive/react-sdk';
2
-
3
- class PeersSorter {
4
- storeUnsubscribe: undefined | (() => void) = undefined;
5
- store: IStoreReadOnly<any>;
6
- peers: Map<string, HMSPeer>;
7
- lruPeers: Set<HMSPeerID>;
8
- tilesPerPage!: number;
9
- speaker?: HMSPeer;
10
- listeners: Set<(peers: HMSPeer[]) => void>;
11
-
12
- constructor(store: IStoreReadOnly<any>) {
13
- this.store = store;
14
- this.peers = new Map();
15
- this.lruPeers = new Set();
16
- this.speaker = undefined;
17
- this.listeners = new Set();
18
- }
19
-
20
- setPeersAndTilesPerPage = ({ peers, tilesPerPage }: { peers: HMSPeer[]; tilesPerPage: number }) => {
21
- this.speaker = undefined;
22
- this.tilesPerPage = tilesPerPage;
23
- const peerIds = new Set(peers.map(peer => peer.id));
24
- // remove existing peers which are no longer provided
25
- this.peers.forEach((_, key) => {
26
- if (!peerIds.has(key)) {
27
- this.peers.delete(key);
28
- }
29
- });
30
- this.lruPeers = new Set([...this.lruPeers].filter(peerId => peerIds.has(peerId)));
31
- peers.forEach(peer => {
32
- this.peers.set(peer.id, peer);
33
- if (this.lruPeers.size < tilesPerPage) {
34
- this.lruPeers.add(peer.id);
35
- }
36
- });
37
- if (!this.storeUnsubscribe) {
38
- this.storeUnsubscribe = this.store.subscribe(this.onDominantSpeakerChange, selectDominantSpeaker);
39
- }
40
- this.moveSpeakerToFront(this.speaker);
41
- };
42
-
43
- onUpdate = (cb: (peers: HMSPeer[]) => void) => {
44
- this.listeners.add(cb);
45
- };
46
-
47
- stop = () => {
48
- this.updateListeners();
49
- this.listeners.clear();
50
- this.storeUnsubscribe?.();
51
- this.storeUnsubscribe = undefined;
52
- this.speaker = undefined;
53
- };
54
-
55
- moveSpeakerToFront = (speaker?: HMSPeer) => {
56
- if (!speaker) {
57
- this.maintainLruSize(this.tilesPerPage);
58
- this.updateListeners();
59
- return;
60
- }
61
- if (this.lruPeers.has(speaker.id) && this.lruPeers.size <= this.tilesPerPage) {
62
- this.updateListeners();
63
- return;
64
- }
65
- // delete to insert at beginning
66
- this.lruPeers.delete(speaker.id);
67
- // - 1 as we are going to insert the new speaker
68
- this.maintainLruSize(this.tilesPerPage - 1);
69
- this.lruPeers = new Set([speaker.id, ...this.lruPeers]);
70
- this.updateListeners();
71
- };
72
-
73
- onDominantSpeakerChange = (speaker: HMSPeer | null) => {
74
- // no speaker or is current speaker do nothing
75
- if (!speaker || speaker.id === this.speaker?.id) {
76
- return;
77
- }
78
- // if the active speaker is not from the peers passed ignore
79
- if (!this.peers.has(speaker.id)) {
80
- return;
81
- }
82
- this.speaker = speaker;
83
- this.moveSpeakerToFront(speaker);
84
- };
85
-
86
- updateListeners = () => {
87
- const orderedPeers: HMSPeer[] = [];
88
- this.lruPeers.forEach(key => {
89
- const peer = this.peers.get(key);
90
- if (peer) {
91
- orderedPeers.push(peer);
92
- }
93
- });
94
- this.peers.forEach(peer => {
95
- if (!this.lruPeers.has(peer.id) && peer) {
96
- orderedPeers.push(peer);
97
- }
98
- });
99
- this.listeners.forEach(listener => listener?.(orderedPeers));
100
- };
101
-
102
- private maintainLruSize = (size: number) => {
103
- const lruPeerArray = Array.from(this.lruPeers);
104
- while (lruPeerArray.length > size && lruPeerArray.length) {
105
- lruPeerArray.pop();
106
- }
107
- this.lruPeers = new Set(lruPeerArray);
108
- };
109
- }
110
-
111
- export default PeersSorter;