@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,411 +0,0 @@
1
- import React, { Fragment, useCallback, useEffect, useState } from 'react';
2
- import { HMSKrispPlugin } from '@100mslive/hms-noise-cancellation';
3
- import {
4
- DeviceType,
5
- HMSRoomState,
6
- selectIsLocalAudioPluginPresent,
7
- selectLocalAudioTrackID,
8
- selectLocalPeer,
9
- selectLocalVideoTrackID,
10
- selectRoom,
11
- selectRoomState,
12
- selectVideoTrackByID,
13
- useAVToggle,
14
- useDevices,
15
- useHMSActions,
16
- useHMSStore,
17
- useHMSVanillaStore,
18
- } from '@100mslive/react-sdk';
19
- import {
20
- AudioLevelIcon,
21
- CameraFlipIcon,
22
- CheckIcon,
23
- MicOffIcon,
24
- MicOnIcon,
25
- SettingsIcon,
26
- SpeakerIcon,
27
- VideoOffIcon,
28
- VideoOnIcon,
29
- } from '@100mslive/react-icons';
30
- import { IconButtonWithOptions } from './IconButtonWithOptions/IconButtonWithOptions';
31
- // @ts-ignore: No implicit Any
32
- import { ActionTile } from './MoreSettings/ActionTile';
33
- // @ts-ignore: No implicit Any
34
- import SettingsModal from './Settings/SettingsModal';
35
- // @ts-ignore: No implicit Any
36
- import { ToastManager } from './Toast/ToastManager';
37
- import { AudioLevel } from '../../AudioLevel';
38
- import { Dropdown } from '../../Dropdown';
39
- import { Box, Flex } from '../../Layout';
40
- import { Switch } from '../../Switch';
41
- import { Text } from '../../Text';
42
- import { Tooltip } from '../../Tooltip';
43
- import IconButton from '../IconButton';
44
- import { useRoomLayoutConferencingScreen } from '../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';
45
- // @ts-ignore: No implicit Any
46
- import { useIsNoiseCancellationEnabled, useSetNoiseCancellation } from './AppData/useUISettings';
47
- import { useAudioOutputTest } from './hooks/useAudioOutputTest';
48
- import { isAndroid, isIOS, isMacOS, TEST_AUDIO_URL } from '../common/constants';
49
-
50
- const krispPlugin = new HMSKrispPlugin();
51
- // const optionsCSS = { fontWeight: '$semiBold', color: '$on_surface_high', w: '100%' };
52
-
53
- export const Options = ({
54
- options,
55
- selectedDeviceId,
56
- onClick,
57
- }: {
58
- options?: Array<MediaDeviceInfo | InputDeviceInfo>;
59
- selectedDeviceId?: string;
60
- onClick: (deviceId: string) => Promise<void>;
61
- }) => {
62
- return (
63
- <>
64
- {options?.map(option => (
65
- <Dropdown.Item
66
- key={option.label}
67
- css={{
68
- backgroundColor: '$surface_dim',
69
- p: '$4 $8',
70
- h: '$15',
71
- fontSize: '$xs',
72
- justifyContent: 'space-between',
73
- color: selectedDeviceId === option.deviceId ? '$primary_bright' : '',
74
- }}
75
- onClick={() => {
76
- onClick(option.deviceId);
77
- }}
78
- >
79
- {option.label}
80
- {selectedDeviceId === option.deviceId ? <CheckIcon width={16} height={16} /> : null}
81
- </Dropdown.Item>
82
- ))}
83
- </>
84
- );
85
- };
86
-
87
- const OptionLabel = ({ children, icon }: { children: React.ReactNode; icon: React.ReactNode }) => {
88
- return (
89
- <Dropdown.Label
90
- css={{
91
- h: '$16',
92
- p: '$4 $8',
93
- color: '$on_surface_medium',
94
- bg: 'transparent',
95
- fontSize: '$xs',
96
- gap: '$4',
97
- alignItems: 'center',
98
- }}
99
- >
100
- <Flex css={{ alignItems: 'center', justifyContent: 'center', '& svg': { size: '$8' } }}>{icon}</Flex> {children}
101
- </Dropdown.Label>
102
- );
103
- };
104
-
105
- const useNoiseCancellationWithPlugin = () => {
106
- const actions = useHMSActions();
107
- const [inProgress, setInProgress] = useState(false);
108
- const [, setNoiseCancellationEnabled] = useSetNoiseCancellation();
109
- const isEnabledForRoom = useHMSStore(selectRoom)?.isNoiseCancellationEnabled;
110
- const setNoiseCancellationWithPlugin = useCallback(
111
- async (enabled: boolean) => {
112
- if (!isEnabledForRoom || inProgress) {
113
- return;
114
- }
115
- if (!krispPlugin.checkSupport().isSupported) {
116
- throw Error('Krisp plugin is not supported');
117
- }
118
- setInProgress(true);
119
- if (enabled) {
120
- await actions.addPluginToAudioTrack(krispPlugin);
121
- } else {
122
- await actions.removePluginFromAudioTrack(krispPlugin);
123
- }
124
- setNoiseCancellationEnabled(enabled);
125
- setInProgress(false);
126
- },
127
- [actions, inProgress, isEnabledForRoom, setNoiseCancellationEnabled],
128
- );
129
- return {
130
- setNoiseCancellationWithPlugin,
131
- inProgress,
132
- };
133
- };
134
-
135
- export const NoiseCancellation = ({
136
- actionTile,
137
- iconOnly,
138
- setOpenOptionsSheet,
139
- }: {
140
- setOpenOptionsSheet?: (value: boolean) => void;
141
- iconOnly?: boolean;
142
- actionTile?: boolean;
143
- }) => {
144
- const localPeerAudioTrackID = useHMSStore(selectLocalAudioTrackID);
145
- const isNoiseCancellationEnabled = useIsNoiseCancellationEnabled();
146
- const { setNoiseCancellationWithPlugin, inProgress } = useNoiseCancellationWithPlugin();
147
- const room = useHMSStore(selectRoom);
148
- const isKrispPluginAdded = useHMSStore(selectIsLocalAudioPluginPresent(krispPlugin.getName()));
149
-
150
- if (!krispPlugin.isSupported() || !room.isNoiseCancellationEnabled || !localPeerAudioTrackID) {
151
- return null;
152
- }
153
-
154
- if (actionTile) {
155
- return (
156
- <ActionTile.Root
157
- active={isNoiseCancellationEnabled && isKrispPluginAdded}
158
- disabled={inProgress}
159
- onClick={async () => {
160
- await setNoiseCancellationWithPlugin(!isNoiseCancellationEnabled);
161
- setOpenOptionsSheet?.(false);
162
- }}
163
- >
164
- <AudioLevelIcon />
165
- <ActionTile.Title>{isNoiseCancellationEnabled ? 'Noise Reduced' : 'Reduce Noise'}</ActionTile.Title>
166
- </ActionTile.Root>
167
- );
168
- }
169
-
170
- if (iconOnly) {
171
- return (
172
- <Tooltip title={isNoiseCancellationEnabled ? 'Noise Reduced' : 'Reduce Noise'}>
173
- <IconButton
174
- onClick={async () => {
175
- await setNoiseCancellationWithPlugin(!isNoiseCancellationEnabled);
176
- }}
177
- disabled={inProgress}
178
- css={{
179
- bg: isNoiseCancellationEnabled && isKrispPluginAdded ? '$surface_brighter' : '$background_dim',
180
- borderColor: isNoiseCancellationEnabled && isKrispPluginAdded ? '$border_brighter' : '$border_bright',
181
- }}
182
- >
183
- <AudioLevelIcon />
184
- </IconButton>
185
- </Tooltip>
186
- );
187
- }
188
- return (
189
- <>
190
- <Dropdown.ItemSeparator css={{ mx: 0 }} />
191
- <Dropdown.Item
192
- css={{
193
- p: '$4 $8',
194
- h: '$15',
195
- fontSize: '$xs',
196
- justifyContent: 'space-between',
197
- }}
198
- onClick={async e => {
199
- e.preventDefault();
200
- await setNoiseCancellationWithPlugin(!isNoiseCancellationEnabled);
201
- }}
202
- >
203
- <Text css={{ display: 'flex', alignItems: 'center', gap: '$2', fontSize: '$xs', '& svg': { size: '$8' } }}>
204
- <AudioLevelIcon />
205
- Reduce Noise
206
- </Text>
207
- <Switch
208
- id="noise_cancellation"
209
- checked={isNoiseCancellationEnabled && isKrispPluginAdded}
210
- disabled={inProgress}
211
- onClick={e => e.stopPropagation()}
212
- onCheckedChange={async value => {
213
- await setNoiseCancellationWithPlugin(value);
214
- }}
215
- />
216
- </Dropdown.Item>
217
- <Dropdown.ItemSeparator css={{ mx: 0 }} />
218
- </>
219
- );
220
- };
221
-
222
- const AudioOutputLabel = ({ deviceId }: { deviceId: string }) => {
223
- const { playing, setPlaying, audioRef } = useAudioOutputTest({ deviceId });
224
- return (
225
- <OptionLabel icon={<SpeakerIcon />}>
226
- <Box css={{ flex: '1 1 0' }}>Speakers</Box>
227
- <Text
228
- variant="xs"
229
- css={{ color: '$primary_bright', '&:hover': { cursor: 'pointer' } }}
230
- onClick={async () => {
231
- if (playing) {
232
- return;
233
- }
234
- await audioRef.current?.play();
235
- }}
236
- >
237
- <audio
238
- ref={audioRef}
239
- src={TEST_AUDIO_URL}
240
- onEnded={() => setPlaying(false)}
241
- onPlay={() => setPlaying(true)}
242
- style={{ display: 'none' }}
243
- />
244
- {playing ? 'Playing Sound...' : 'Play Test Sound'}
245
- </Text>
246
- </OptionLabel>
247
- );
248
- };
249
-
250
- const AudioSettings = ({ onClick }: { onClick: () => void }) => {
251
- return (
252
- <>
253
- <Dropdown.Item
254
- css={{
255
- backgroundColor: '$surface_dim',
256
- p: '$4 $8',
257
- h: '$15',
258
- alignItems: 'center',
259
- gap: '$2',
260
- fontSize: '$xs',
261
- '& svg': { size: '$8' },
262
- }}
263
- onClick={onClick}
264
- >
265
- <SettingsIcon /> Audio Settings
266
- </Dropdown.Item>
267
- </>
268
- );
269
- };
270
- export const AudioVideoToggle = ({ hideOptions = false }: { hideOptions?: boolean }) => {
271
- const { allDevices, selectedDeviceIDs, updateDevice } = useDevices(error => {
272
- ToastManager.addToast({
273
- title: error.message,
274
- variant: 'error',
275
- duration: 2000,
276
- });
277
- });
278
- const { videoInput, audioInput, audioOutput } = allDevices;
279
- const localPeer = useHMSStore(selectLocalPeer);
280
- const { isLocalVideoEnabled, isLocalAudioEnabled, toggleAudio, toggleVideo } = useAVToggle();
281
- const actions = useHMSActions();
282
- const vanillaStore = useHMSVanillaStore();
283
- const videoTrackId = useHMSStore(selectLocalVideoTrackID);
284
- const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));
285
- const roomState = useHMSStore(selectRoomState);
286
- const hasAudioDevices = Number(audioInput?.length) > 0;
287
- const hasVideoDevices = Number(videoInput?.length) > 0;
288
- const shouldShowAudioOutput = 'setSinkId' in HTMLMediaElement.prototype && Number(audioOutput?.length) > 0;
289
- const { screenType } = useRoomLayoutConferencingScreen();
290
- const [showSettings, setShowSettings] = useState(false);
291
- const isKrispPluginAdded = useHMSStore(selectIsLocalAudioPluginPresent(krispPlugin.getName()));
292
- const isNoiseCancellationEnabled = useIsNoiseCancellationEnabled();
293
- const { setNoiseCancellationWithPlugin, inProgress } = useNoiseCancellationWithPlugin();
294
- const showMuteIcon = !isLocalAudioEnabled || !toggleAudio;
295
-
296
- useEffect(() => {
297
- (async () => {
298
- const isEnabledForRoom = vanillaStore.getState(selectRoom)?.isNoiseCancellationEnabled;
299
- if (
300
- isEnabledForRoom &&
301
- isNoiseCancellationEnabled &&
302
- !isKrispPluginAdded &&
303
- !inProgress &&
304
- localPeer?.audioTrack
305
- ) {
306
- try {
307
- await setNoiseCancellationWithPlugin(true);
308
- ToastManager.addToast({
309
- title: `Noise Reduction Enabled`,
310
- variant: 'standard',
311
- duration: 2000,
312
- icon: <AudioLevelIcon />,
313
- });
314
- } catch (error) {
315
- console.error(error);
316
- }
317
- }
318
- })();
319
- // eslint-disable-next-line react-hooks/exhaustive-deps
320
- }, [isNoiseCancellationEnabled, localPeer?.audioTrack, inProgress]);
321
-
322
- if (!toggleAudio && !toggleVideo) {
323
- return null;
324
- }
325
- return (
326
- <Fragment>
327
- {toggleAudio ? (
328
- <IconButtonWithOptions
329
- disabled={!toggleAudio}
330
- hideOptions={hideOptions || !hasAudioDevices}
331
- onDisabledClick={toggleAudio}
332
- testid="audio_toggle_btn"
333
- tooltipMessage={`Turn ${isLocalAudioEnabled ? 'off' : 'on'} audio (${isMacOS ? '⌘' : 'ctrl'} + d)`}
334
- icon={!isLocalAudioEnabled ? <MicOffIcon /> : <MicOnIcon />}
335
- active={isLocalAudioEnabled}
336
- onClick={toggleAudio}
337
- key="toggleAudio"
338
- >
339
- <Dropdown.Group>
340
- <OptionLabel icon={<MicOnIcon />}>
341
- <Box css={{ flex: '1 1 0' }}>{!shouldShowAudioOutput ? 'Audio' : 'Microphone'}</Box>
342
- {!showMuteIcon && <AudioLevel trackId={localPeer?.audioTrack} />}
343
- </OptionLabel>
344
- <Options
345
- options={audioInput}
346
- selectedDeviceId={selectedDeviceIDs.audioInput}
347
- onClick={deviceId => updateDevice({ deviceId, deviceType: DeviceType.audioInput })}
348
- />
349
- </Dropdown.Group>
350
- <Dropdown.ItemSeparator css={{ mx: 0 }} />
351
- {shouldShowAudioOutput && (
352
- <>
353
- <AudioOutputLabel deviceId={selectedDeviceIDs.audioOutput || ''} />
354
- <Dropdown.Group>
355
- <Options
356
- options={audioOutput}
357
- selectedDeviceId={selectedDeviceIDs.audioOutput}
358
- onClick={deviceId => updateDevice({ deviceId, deviceType: DeviceType.audioOutput })}
359
- />
360
- </Dropdown.Group>
361
- </>
362
- )}
363
- <NoiseCancellation />
364
- <AudioSettings onClick={() => setShowSettings(true)} />
365
- </IconButtonWithOptions>
366
- ) : null}
367
-
368
- {toggleVideo ? (
369
- <IconButtonWithOptions
370
- disabled={!toggleVideo}
371
- hideOptions={hideOptions || !hasVideoDevices}
372
- onDisabledClick={toggleVideo}
373
- tooltipMessage={`Turn ${isLocalVideoEnabled ? 'off' : 'on'} video (${isMacOS ? '⌘' : 'ctrl'} + e)`}
374
- testid="video_toggle_btn"
375
- icon={!isLocalVideoEnabled ? <VideoOffIcon /> : <VideoOnIcon />}
376
- key="toggleVideo"
377
- active={isLocalVideoEnabled}
378
- onClick={toggleVideo}
379
- >
380
- <Options
381
- options={videoInput}
382
- selectedDeviceId={selectedDeviceIDs.videoInput}
383
- onClick={deviceId => updateDevice({ deviceId, deviceType: DeviceType.videoInput })}
384
- />
385
- </IconButtonWithOptions>
386
- ) : null}
387
-
388
- {localVideoTrack?.facingMode && roomState === HMSRoomState.Preview && (isIOS || isAndroid) ? (
389
- <Tooltip title="Switch Camera" key="switchCamera">
390
- <IconButton
391
- onClick={async () => {
392
- try {
393
- await actions.switchCamera();
394
- } catch (e) {
395
- ToastManager.addToast({
396
- title: `Error while flipping camera ${(e as Error).message || ''}`,
397
- variant: 'error',
398
- });
399
- }
400
- }}
401
- >
402
- <CameraFlipIcon />
403
- </IconButton>
404
- </Tooltip>
405
- ) : null}
406
- {showSettings && (
407
- <SettingsModal open={showSettings} onOpenChange={() => setShowSettings(false)} screenType={screenType} />
408
- )}
409
- </Fragment>
410
- );
411
- };
@@ -1,148 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react';
2
- import { useSessionStorage } from 'react-use';
3
- import { match } from 'ts-pattern';
4
- import { v4 as uuid } from 'uuid';
5
- import { HMSException, useHMSActions } from '@100mslive/react-sdk';
6
- import { Dialog } from '../../Modal';
7
- import { Text } from '../../Text';
8
- import { useHMSPrebuiltContext } from '../AppContext';
9
- import { PrebuiltStates } from '../AppStateContext';
10
- // @ts-ignore: No implicit Any
11
- import errorImage from '../images/transaction_error.svg';
12
- // @ts-ignore: No implicit Any
13
- import { useSetAppDataByKey } from './AppData/useUISettings';
14
- // @ts-ignore: No implicit Any
15
- import { UserPreferencesKeys } from './hooks/useUserPreferences';
16
- import { APP_DATA } from '../common/constants';
17
-
18
- /**
19
- * query params exposed -
20
- * skip_preview=true => used by recording and streaming service, skips preview and directly joins
21
- * header and footer don't show up in this case
22
- * skip_preview_headful=true => used by automation testing to skip preview without impacting the UI
23
- * name=abc => gives the initial name for the peer joining
24
- * auth_token=123 => uses the passed in token to join instead of fetching from token endpoint
25
- * ui_mode=activespeaker => lands in active speaker mode after joining the room
26
- */
27
- const AuthToken = React.memo<{
28
- authTokenByRoomCodeEndpoint?: string;
29
- defaultAuthToken?: string;
30
- activeState?: PrebuiltStates;
31
- }>(({ authTokenByRoomCodeEndpoint, defaultAuthToken, activeState }) => {
32
- const hmsActions = useHMSActions();
33
- const { roomCode, userId } = useHMSPrebuiltContext();
34
- const [error, setError] = useState({ title: '', body: '' });
35
- const authToken = defaultAuthToken;
36
- const [tokenInAppData, setAuthTokenInAppData] = useSetAppDataByKey(APP_DATA.authToken);
37
- const [savedUserId, setSavedUserId] = useSessionStorage<string>(UserPreferencesKeys.USER_ID);
38
- const progressRef = useRef<boolean | null>(null);
39
-
40
- useEffect(() => {
41
- if (authToken) {
42
- setAuthTokenInAppData(authToken);
43
- return;
44
- }
45
-
46
- if (tokenInAppData || progressRef.current || activeState === PrebuiltStates.LEAVE) {
47
- return;
48
- }
49
-
50
- if (!roomCode) {
51
- console.error('room code not provided');
52
- return;
53
- }
54
-
55
- let userIdForAuthToken = userId || savedUserId;
56
- if (!userIdForAuthToken) {
57
- userIdForAuthToken = uuid();
58
- setSavedUserId(userIdForAuthToken);
59
- }
60
-
61
- progressRef.current = true;
62
- hmsActions
63
- .getAuthTokenByRoomCode({ roomCode, userId: userIdForAuthToken }, { endpoint: authTokenByRoomCodeEndpoint })
64
- .then(token => setAuthTokenInAppData(token))
65
- .catch(error => setError(convertError(error)))
66
- .finally(() => {
67
- progressRef.current = false;
68
- });
69
- }, [
70
- hmsActions,
71
- authToken,
72
- authTokenByRoomCodeEndpoint,
73
- setAuthTokenInAppData,
74
- roomCode,
75
- userId,
76
- savedUserId,
77
- tokenInAppData,
78
- setSavedUserId,
79
- activeState,
80
- ]);
81
-
82
- if (error.title) {
83
- return (
84
- <Dialog.Root open={true}>
85
- <Dialog.Content
86
- css={{
87
- maxWidth: '$100',
88
- boxSizing: 'border-box',
89
- p: '$10 $12',
90
- display: 'flex',
91
- flexDirection: 'column',
92
- alignItems: 'center',
93
- }}
94
- >
95
- <img src={errorImage} height={80} width={80} alt="Token Error" />
96
- <Text variant="h4" css={{ textAlign: 'center', mb: '$4', mt: '$10' }}>
97
- {error.title}
98
- </Text>
99
- <Text css={{ c: '$on_surface_medium', textAlign: 'center' }}>{error.body}</Text>
100
- </Dialog.Content>
101
- </Dialog.Root>
102
- );
103
- }
104
- return null;
105
- });
106
-
107
- const convertError = (error: HMSException) => {
108
- console.error('[error]', { error });
109
- console.warn(
110
- 'If you think this is a mistake on our side, please reach out to us on Dashboard:',
111
- 'https://dashboard.100ms.live/dashboard',
112
- );
113
- return match([error.action, error.code])
114
- .with(['GET_TOKEN', 403], () => ({
115
- title: 'Psst! This room is currently inactive.',
116
- body: 'Please feel free to join another open room for more conversations. Thanks for stopping by!',
117
- }))
118
-
119
- .with(['GET_TOKEN', 404], () => ({
120
- title: 'Room code does not exist',
121
- body: 'We could not find a room code corresponding to this link.',
122
- }))
123
- .with(['GET_TOKEN', 2003], () => ({
124
- title: 'Endpoint is not reachable',
125
- body: `Endpoint is not reachable. ${error.description}.`,
126
- }))
127
- .otherwise(() =>
128
- // @ts-ignore
129
- match(error.response?.status)
130
- .with(404, () => ({
131
- title: 'Room does not exist',
132
- body: 'We could not find a room corresponding to this link.',
133
- }))
134
- .with(403, () => ({
135
- title: 'Accessing room using this link format is disabled',
136
- body: 'You can re-enable this from the developer section in Dashboard.',
137
- }))
138
- .otherwise(() => {
139
- console.error('Token API Error', error);
140
- return {
141
- title: 'Error fetching token',
142
- body: 'An error occurred while fetching the app token. Please look into logs for more details.',
143
- };
144
- }),
145
- );
146
- };
147
-
148
- export default AuthToken;
@@ -1,27 +0,0 @@
1
- import React from 'react';
2
- import { selectIsTranscriptionEnabled, useHMSStore } from '@100mslive/react-sdk';
3
- import { ClosedCaptionIcon, OpenCaptionIcon } from '@100mslive/react-icons';
4
- import { Tooltip } from '../../Tooltip';
5
- // @ts-ignore: No implicit Any
6
- import IconButton from '../IconButton';
7
- // @ts-ignore: No implicit Any
8
- import { useSetIsCaptionEnabled } from './AppData/useUISettings.js';
9
-
10
- export const CaptionIcon = () => {
11
- const isCaptionPresent = useHMSStore(selectIsTranscriptionEnabled);
12
- const [isCaption, setIsCaption] = useSetIsCaptionEnabled();
13
-
14
- const onClick = () => {
15
- setIsCaption(!isCaption);
16
- };
17
- if (!isCaptionPresent) {
18
- return null;
19
- }
20
- return (
21
- <Tooltip title={isCaption ? 'Hide closed captions' : 'Show closed captions'}>
22
- <IconButton data-testid="caption_btn" onClick={onClick}>
23
- {isCaption ? <ClosedCaptionIcon width="20" height="20px" /> : <OpenCaptionIcon width="20" height="20px" />}
24
- </IconButton>
25
- </Tooltip>
26
- );
27
- };
@@ -1,44 +0,0 @@
1
- import React from 'react';
2
- import { ChevronDownIcon, ChevronUpIcon } from '@100mslive/react-icons';
3
- import { Flex } from '../../../Layout';
4
-
5
- export const ArrowNavigation = ({
6
- total,
7
- index,
8
- showPrevious,
9
- showNext,
10
- }: {
11
- total: number;
12
- index: number;
13
- showPrevious: () => void;
14
- showNext: () => void;
15
- }) => {
16
- if (total < 2) {
17
- return null;
18
- }
19
-
20
- return (
21
- <Flex direction="column" css={{ gap: '$1' }}>
22
- <Flex
23
- onClick={showPrevious}
24
- css={
25
- index === 0
26
- ? { cursor: 'not-allowed', color: '$on_surface_low' }
27
- : { cursor: 'pointer', color: '$on_surface_medium' }
28
- }
29
- >
30
- <ChevronUpIcon height={20} width={20} />
31
- </Flex>
32
- <Flex
33
- onClick={showNext}
34
- css={
35
- index === total - 1
36
- ? { cursor: 'not-allowed', color: '$on_surface_low' }
37
- : { cursor: 'pointer', color: '$on_surface_medium' }
38
- }
39
- >
40
- <ChevronDownIcon height={20} width={20} />
41
- </Flex>
42
- </Flex>
43
- );
44
- };