@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,56 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
3
- import { GroupIcon } from '@100mslive/react-icons';
4
- import { Box } from '../../../Layout';
5
- // @ts-ignore: No implicit Any
6
- import { ToastManager } from '../Toast/ToastManager';
7
- // @ts-ignore: No implicit Any
8
- import { useSubscribedNotifications } from '../AppData/useUISettings';
9
-
10
- export const ErrorNotifications = () => {
11
- const notification = useHMSNotifications(HMSNotificationTypes.ERROR);
12
- const subscribedNotifications = useSubscribedNotifications() || {};
13
-
14
- useEffect(() => {
15
- if (!notification || !notification.data) return;
16
-
17
- const { isTerminal, action, code, message, description } = notification.data;
18
-
19
- if (isTerminal && action !== 'INIT') {
20
- if ([500, 6008].includes(code)) {
21
- ToastManager.addToast({
22
- title: `Error: ${message}`,
23
- });
24
- } else if (message === 'role limit reached') {
25
- ToastManager.addToast({
26
- title: 'The room is currently full, try joining later',
27
- close: true,
28
- icon: (
29
- <Box css={{ color: '$alert_error_default' }}>
30
- <GroupIcon />
31
- </Box>
32
- ),
33
- });
34
- } else {
35
- ToastManager.addToast({
36
- title: message || 'We couldn’t reconnect you. When you’re back online, try joining the room.',
37
- close: false,
38
- });
39
- }
40
- return;
41
- }
42
- // Autoplay error or user denied screen share (cancelled browser pop-up)
43
- if ([3008, 3001, 3011].includes(code)) {
44
- return;
45
- }
46
- if (action === 'INIT') {
47
- return;
48
- }
49
- if (!subscribedNotifications.ERROR) return;
50
- ToastManager.addToast({
51
- title: `Error: ${message} - ${description}`,
52
- });
53
- }, [notification, subscribedNotifications.ERROR]);
54
-
55
- return null;
56
- };
@@ -1,71 +0,0 @@
1
- import React, { useCallback, useState } from 'react';
2
- import { selectHLSState, useHMSActions, useHMSStore, useRecordingStreaming } from '@100mslive/react-sdk';
3
- import { Button } from '../../../Button';
4
- import { Flex } from '../../../Layout';
5
- import { Dialog } from '../../../Modal';
6
- import { Text } from '../../../Text';
7
- // @ts-ignore: No implicit Any
8
- import { useSetAppDataByKey } from '../AppData/useUISettings';
9
- // @ts-ignore: No implicit Any
10
- import { APP_DATA } from '../../common/constants';
11
-
12
- export function HLSFailureModal() {
13
- const hlsError = useHMSStore(selectHLSState).error || false;
14
- const [openModal, setOpenModal] = useState(!!hlsError);
15
- const hmsActions = useHMSActions();
16
- const { isRTMPRunning } = useRecordingStreaming();
17
- const [isHLSStarted, setHLSStarted] = useSetAppDataByKey(APP_DATA.hlsStarted);
18
- const startHLS = useCallback(async () => {
19
- try {
20
- if (isHLSStarted || isRTMPRunning) {
21
- return;
22
- }
23
- setHLSStarted(true);
24
- await hmsActions.startHLSStreaming({});
25
- } catch (error) {
26
- console.error(error);
27
- setHLSStarted(false);
28
- }
29
- }, [hmsActions, isHLSStarted, setHLSStarted, isRTMPRunning]);
30
-
31
- return hlsError ? (
32
- <Dialog.Root
33
- open={openModal}
34
- onOpenChange={value => {
35
- if (!value) {
36
- setOpenModal(false);
37
- }
38
- }}
39
- >
40
- <Dialog.Portal>
41
- <Dialog.Overlay />
42
- <Dialog.Content css={{ w: 'min(360px, 90%)' }}>
43
- <Dialog.Title
44
- css={{
45
- display: 'flex',
46
- alignItems: 'center',
47
- justifyContent: 'space-between',
48
- borderBottom: '1px solid $border_default',
49
- mt: '$4',
50
- }}
51
- >
52
- <Text variant="h6" css={{ fontWeight: '$semiBold' }}>
53
- Failed to Go Live
54
- </Text>
55
- </Dialog.Title>
56
- <Text variant="sm" css={{ mb: '$10', color: '$on_surface_medium' }}>
57
- Something went wrong and your live broadcast failed. Please try again.
58
- </Text>
59
- <Flex align="center" justify="between" css={{ w: '100%', gap: '$8' }}>
60
- <Button outlined variant="standard" css={{ w: '100%' }} onClick={() => setOpenModal(false)}>
61
- Dismiss
62
- </Button>
63
- <Button css={{ w: '100%' }} onClick={startHLS}>
64
- Go Live
65
- </Button>
66
- </Flex>
67
- </Dialog.Content>
68
- </Dialog.Portal>
69
- </Dialog.Root>
70
- ) : null;
71
- }
@@ -1,78 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { useDebounce } from 'react-use';
3
- import {
4
- HMSNotificationTypes,
5
- HMSRoomState,
6
- selectHandRaisedPeers,
7
- selectHasPeerHandRaised,
8
- selectIsLocalScreenShared,
9
- selectPeerByID,
10
- selectRoomState,
11
- useAwayNotifications,
12
- useHMSNotifications,
13
- useHMSStore,
14
- useHMSVanillaStore,
15
- } from '@100mslive/react-sdk';
16
- import { useRoomLayout } from '../../provider/roomLayoutProvider';
17
- // @ts-ignore: No implicit Any
18
- import { ToastBatcher } from '../Toast/ToastBatcher';
19
- import { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';
20
- // @ts-ignore: No implicit Any
21
- import { useSubscribedNotifications } from '../AppData/useUISettings';
22
- import { SUBSCRIBED_NOTIFICATIONS } from '../../common/constants';
23
-
24
- export const HandRaisedNotifications = () => {
25
- const notification = useHMSNotifications(HMSNotificationTypes.HAND_RAISE_CHANGED);
26
- const roomState = useHMSStore(selectRoomState);
27
- const vanillaStore = useHMSVanillaStore();
28
- const { on_stage_exp } = useRoomLayoutConferencingScreen().elements || {};
29
- const isSubscribing = !!useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.METADATA_UPDATED);
30
- const amIScreenSharing = useHMSStore(selectIsLocalScreenShared);
31
- const { showNotification } = useAwayNotifications();
32
- const logoURL = useRoomLayout()?.logo?.url;
33
-
34
- useEffect(() => {
35
- if (!notification?.data) {
36
- return;
37
- }
38
-
39
- // Don't show toast message in case of local peer.
40
- if (roomState !== HMSRoomState.Connected || notification.data.isLocal || !isSubscribing) {
41
- return;
42
- }
43
-
44
- const hasPeerHandRaised = vanillaStore.getState(selectHasPeerHandRaised(notification.data.id));
45
- const peer = vanillaStore.getState(selectPeerByID(notification.data.id));
46
- if (hasPeerHandRaised) {
47
- const showCTA = peer?.roleName && (on_stage_exp?.off_stage_roles || [])?.includes(peer.roleName);
48
- ToastBatcher.showToast({ notification, type: showCTA ? 'RAISE_HAND_HLS' : 'RAISE_HAND' });
49
- console.debug('Metadata updated', notification.data);
50
- }
51
- }, [isSubscribing, notification, on_stage_exp, roomState, vanillaStore]);
52
-
53
- useDebounce(
54
- () => {
55
- if (!notification?.data) {
56
- return;
57
- }
58
-
59
- // Don't show toast message in case of local peer.
60
- if (roomState !== HMSRoomState.Connected || notification.data.isLocal || !isSubscribing) {
61
- return;
62
- }
63
-
64
- const hasPeerHandRaised = vanillaStore.getState(selectHasPeerHandRaised(notification.data.id));
65
- const peer = vanillaStore.getState(selectPeerByID(notification.data.id));
66
- const handRaisedPeers = vanillaStore.getState(selectHandRaisedPeers);
67
- if (amIScreenSharing && hasPeerHandRaised) {
68
- const title = `${peer?.name} ${
69
- handRaisedPeers.length > 1 ? `and ${handRaisedPeers.length - 1} others` : ''
70
- } raised hand`;
71
- showNotification(title, { icon: logoURL });
72
- }
73
- },
74
- 1000,
75
- [isSubscribing, notification, roomState, vanillaStore, amIScreenSharing],
76
- );
77
- return null;
78
- };
@@ -1,42 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
3
- import { Text } from '../../..';
4
- // @ts-ignore: No implicit Any
5
- import { ErrorDialog } from '../../primitives/DialogContent';
6
-
7
- export const InitErrorModal = () => {
8
- const notification = useHMSNotifications(HMSNotificationTypes.ERROR);
9
- const [showModal, setShowModal] = useState(false);
10
- const [info, setInfo] = useState({ title: 'Init Error', description: '' });
11
-
12
- useEffect(() => {
13
- const data = notification?.data;
14
- if (!data || data.action !== 'INIT') {
15
- return;
16
- }
17
- let description;
18
- let title;
19
- if (data.description.includes('role is invalid')) {
20
- description = 'This role does not exist for the given room. Try again with a valid role.';
21
- title = 'Invalid Role';
22
- } else if (data.description.includes('room is not active')) {
23
- title = 'Room is disabled';
24
- description =
25
- 'This room is disabled and cannot be joined. To enable the room, use the 100ms dashboard or the API.';
26
- } else {
27
- description = data.description;
28
- title = 'Init Error';
29
- }
30
- setInfo({ title, description });
31
- setShowModal(true);
32
- }, [notification]);
33
-
34
- return (
35
- <ErrorDialog open={showModal} onOpenChange={setShowModal} title={info.title}>
36
- <Text variant="sm" css={{ wordBreak: 'break-word' }}>
37
- {info.description} <br />
38
- Current URL - {window.location.href}
39
- </Text>
40
- </ErrorDialog>
41
- );
42
- };
@@ -1,24 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { HMSNotificationTypes, selectIsLocalScreenShared } from '@100mslive/hms-video-store';
3
- import { useAwayNotifications, useHMSNotifications, useHMSStore } from '@100mslive/react-sdk';
4
- import { useRoomLayout } from '../../provider/roomLayoutProvider';
5
- import { usePIPWindow } from '../PIP/usePIPWindow';
6
-
7
- export const MessageNotifications = () => {
8
- const notification = useHMSNotifications(HMSNotificationTypes.NEW_MESSAGE);
9
- const amIScreenSharing = useHMSStore(selectIsLocalScreenShared);
10
- const logoURL = useRoomLayout()?.logo?.url;
11
- const { pipWindow } = usePIPWindow();
12
- const { showNotification } = useAwayNotifications();
13
-
14
- useEffect(() => {
15
- if (notification && amIScreenSharing && !notification.data?.ignored && !pipWindow) {
16
- showNotification(`New message from ${notification.data.senderName}`, {
17
- body: notification.data.message,
18
- icon: logoURL,
19
- });
20
- }
21
- }, [notification]);
22
-
23
- return null;
24
- };
@@ -1,65 +0,0 @@
1
- /* eslint-disable no-case-declarations */
2
- import React, { useCallback } from 'react';
3
- import { HMSRoleChangeRequest, HMSRoomState, selectRoomState, useCustomEvent, useHMSStore } from '@100mslive/react-sdk';
4
- // @ts-ignore: No implicit Any
5
- import { ToastManager } from '../Toast/ToastManager';
6
- import { AutoplayBlockedModal } from './AutoplayBlockedModal';
7
- import { ChatNotifications } from './ChatNotifications';
8
- import { DeviceChangeNotifications } from './DeviceChangeNotifications';
9
- import { DeviceInUseError } from './DeviceInUseError';
10
- import { ErrorNotifications } from './ErrorNotifications';
11
- import { HandRaisedNotifications } from './HandRaisedNotifications';
12
- import { InitErrorModal } from './InitErrorModal';
13
- import { MessageNotifications } from './MessageNotifications';
14
- import { PeerNotifications } from './PeerNotifications';
15
- import { PermissionErrorNotificationModal } from './PermissionErrorModal';
16
- import { PollNotificationModal } from './PollNotificationModal';
17
- import { ReconnectNotifications } from './ReconnectNotifications';
18
- import { RoleChangeNotification } from './RoleChangeNotification';
19
- import { TrackBulkUnmuteModal } from './TrackBulkUnmuteModal';
20
- import { TrackNotifications } from './TrackNotifications';
21
- import { TrackUnmuteModal } from './TrackUnmuteModal';
22
- import { TranscriptionNotifications } from './TranscriptionNotifications';
23
- // @ts-ignore: No implicit Any
24
- import { useIsNotificationDisabled } from '../AppData/useUISettings';
25
- import { ROLE_CHANGE_DECLINED } from '../../common/constants';
26
-
27
- export function Notifications() {
28
- const roomState = useHMSStore(selectRoomState);
29
- const isNotificationDisabled = useIsNotificationDisabled();
30
-
31
- const handleRoleChangeDenied = useCallback((request: HMSRoleChangeRequest & { peerName: string }) => {
32
- ToastManager.addToast({
33
- title: `${request.peerName} denied your request to join the ${request.role.name} role`,
34
- variant: 'error',
35
- });
36
- }, []);
37
-
38
- useCustomEvent({ type: ROLE_CHANGE_DECLINED, onEvent: handleRoleChangeDenied });
39
-
40
- if (isNotificationDisabled) {
41
- return null;
42
- }
43
-
44
- return (
45
- <>
46
- <TrackUnmuteModal />
47
- <TrackBulkUnmuteModal />
48
- <TrackNotifications />
49
- {roomState === HMSRoomState.Connected ? <PeerNotifications /> : null}
50
- <RoleChangeNotification />
51
- <PollNotificationModal />
52
- <MessageNotifications />
53
- <DeviceChangeNotifications />
54
- <ReconnectNotifications />
55
- <ErrorNotifications />
56
- <AutoplayBlockedModal />
57
- <PermissionErrorNotificationModal />
58
- <InitErrorModal />
59
- <ChatNotifications />
60
- <HandRaisedNotifications />
61
- <TranscriptionNotifications />
62
- <DeviceInUseError />
63
- </>
64
- );
65
- }
@@ -1,52 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
3
- // @ts-ignore: No implicit Any
4
- import { ToastBatcher } from '../Toast/ToastBatcher';
5
- // @ts-ignore: No implicit Any
6
- import { useSetSubscribedChatSelector, useSubscribedNotifications } from '../AppData/useUISettings';
7
- // @ts-ignore: No implicit Any
8
- import { CHAT_SELECTOR, SUBSCRIBED_NOTIFICATIONS } from '../../common/constants';
9
-
10
- const notificationTypes = [
11
- HMSNotificationTypes.PEER_JOINED,
12
- HMSNotificationTypes.PEER_LEFT,
13
- HMSNotificationTypes.NAME_UPDATED,
14
- ];
15
-
16
- export const PeerNotifications = () => {
17
- const notification = useHMSNotifications(notificationTypes);
18
- const isPeerJoinSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_JOINED);
19
- const isPeerLeftSubscribed = useSubscribedNotifications(SUBSCRIBED_NOTIFICATIONS.PEER_LEFT);
20
- const [selectedPeer, setPeerSelector] = useSetSubscribedChatSelector(CHAT_SELECTOR.PEER);
21
-
22
- useEffect(() => {
23
- if (!notification?.data) {
24
- return;
25
- }
26
-
27
- console.debug(`[${notification.type}]`, notification);
28
- switch (notification.type) {
29
- case HMSNotificationTypes.PEER_JOINED:
30
- if (!isPeerJoinSubscribed) {
31
- return;
32
- }
33
- break;
34
- case HMSNotificationTypes.PEER_LEFT:
35
- if (selectedPeer.id === notification.data.id) {
36
- setPeerSelector({});
37
- }
38
- if (!isPeerLeftSubscribed) {
39
- return;
40
- }
41
- break;
42
- case HMSNotificationTypes.NAME_UPDATED:
43
- console.log(notification.data.id + ' changed their name to ' + notification.data.name);
44
- return;
45
- default:
46
- return;
47
- }
48
- ToastBatcher.showToast({ notification });
49
- }, [notification]);
50
-
51
- return null;
52
- };
@@ -1,144 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { useMedia } from 'react-use';
3
- import {
4
- HMSException,
5
- HMSNotificationTypes,
6
- HMSTrackException,
7
- HMSTrackExceptionTrackType,
8
- useHMSNotifications,
9
- } from '@100mslive/react-sdk';
10
- import { Button, config as cssConfig, Dialog, Flex, Text } from '../../..';
11
- // @ts-ignore: No implicit Any
12
- import androidPermissionAlert from '../../images/android-perm-1.png';
13
- // @ts-ignore: No implicit Any
14
- import iosPermissions from '../../images/ios-perm-0.png';
15
- // @ts-ignore: No implicit Any
16
- import { isAndroid, isIOS } from '../../common/constants';
17
-
18
- export function PermissionErrorNotificationModal() {
19
- const notification = useHMSNotifications(HMSNotificationTypes.ERROR);
20
- return <PermissionErrorModal error={notification?.data} />;
21
- }
22
-
23
- export const PermissionErrorModal = ({ error }: { error?: HMSException }) => {
24
- const [deviceType, setDeviceType] = useState('');
25
- const [isSystemError, setIsSystemError] = useState(false);
26
- const isMobile = useMedia(cssConfig.media.md);
27
- useEffect(() => {
28
- if (
29
- !error ||
30
- (error?.code !== 3001 && error?.code !== 3011) ||
31
- (error?.code === 3001 && error?.message.includes('screen'))
32
- ) {
33
- return;
34
- }
35
-
36
- const errorTrackExceptionType = (error as HMSTrackException)?.trackType;
37
- const hasAudio = errorTrackExceptionType === HMSTrackExceptionTrackType.AUDIO;
38
- const hasVideo = errorTrackExceptionType === HMSTrackExceptionTrackType.VIDEO;
39
- const hasAudioVideo = errorTrackExceptionType === HMSTrackExceptionTrackType.AUDIO_VIDEO;
40
- const hasScreen = errorTrackExceptionType === HMSTrackExceptionTrackType.SCREEN;
41
- if (hasAudioVideo) {
42
- setDeviceType('camera and microphone');
43
- } else if (hasAudio) {
44
- setDeviceType('microphone');
45
- } else if (hasVideo) {
46
- setDeviceType('camera');
47
- } else if (hasScreen) {
48
- setDeviceType('screen');
49
- }
50
- setIsSystemError(error.code === 3011);
51
- }, [error]);
52
-
53
- return deviceType ? (
54
- <Dialog.Root open={!!deviceType}>
55
- <Dialog.Portal>
56
- <Dialog.Overlay />
57
- <Dialog.Content
58
- css={{
59
- w: 'min(380px, 90%)',
60
- p: '$8',
61
- // overlay over Sheet.tsx
62
- zIndex: 23,
63
- }}
64
- >
65
- <Dialog.Title
66
- css={{
67
- borderBottom: '1px solid $border_default',
68
- }}
69
- >
70
- {isMobile && isIOS ? (
71
- <img style={{ maxWidth: '100%', maxHeight: '100%' }} src={iosPermissions} alt="iOS Permission flow" />
72
- ) : null}
73
-
74
- {/* Images for android */}
75
- {isMobile && isAndroid ? (
76
- <img
77
- src={androidPermissionAlert}
78
- style={{ maxWidth: '100%', maxHeight: '100%' }}
79
- alt="Android Permission flow "
80
- />
81
- ) : null}
82
-
83
- <Text variant="h6">We can't access your {deviceType}</Text>
84
- </Dialog.Title>
85
-
86
- <Text variant="sm" css={{ pt: '$4', pb: '$10', color: '$on_surface_medium' }}>
87
- {/* IOS prompt text */}
88
- {isMobile && isIOS
89
- ? 'Enable permissions by reloading this page and clicking "Allow" on the pop-up, or change settings from the address bar.'
90
- : null}
91
-
92
- {/* Prompt for android devices */}
93
- {isMobile && isAndroid
94
- ? `To allow other users to see and hear you, click the blocked camera icon in your browser's address bar.`
95
- : null}
96
-
97
- {/* Prompt for desktops */}
98
- {!isMobile ? `Access to ${deviceType} is required. ` : null}
99
-
100
- {isSystemError && !isMobile
101
- ? `Enable permissions for ${deviceType}${deviceType === 'screen' ? 'share' : ''} from sytem settings`
102
- : null}
103
- {!isSystemError && !isMobile
104
- ? `Enable permissions for ${deviceType}${
105
- deviceType === 'screen' ? 'share' : ''
106
- } from address bar or browser settings.`
107
- : null}
108
- </Text>
109
-
110
- {/* CTA section */}
111
- {isMobile && isIOS ? (
112
- <>
113
- <Button onClick={() => window.location.reload()} css={{ w: '100%', mb: '$6' }}>
114
- Reload
115
- </Button>
116
- <Button outlined variant="standard" onClick={() => setDeviceType('')} css={{ w: '100%' }}>
117
- Continue anyway
118
- </Button>
119
- </>
120
- ) : null}
121
-
122
- {isMobile && isAndroid ? (
123
- <>
124
- <Button onClick={() => setDeviceType('')} css={{ w: '100%', mb: '$6' }}>
125
- I've allowed access
126
- </Button>
127
- <Button outlined variant="standard" onClick={() => setDeviceType('')} css={{ w: '100%' }}>
128
- Continue anyway
129
- </Button>
130
- </>
131
- ) : null}
132
-
133
- {!isMobile ? (
134
- <Flex justify="end" css={{ w: '100%' }}>
135
- <Button outlined variant="standard" onClick={() => setDeviceType('')}>
136
- Dismiss
137
- </Button>
138
- </Flex>
139
- ) : null}
140
- </Dialog.Content>
141
- </Dialog.Portal>
142
- </Dialog.Root>
143
- ) : null;
144
- };
@@ -1,71 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import {
3
- HMSNotificationTypes,
4
- selectLocalPeerID,
5
- selectPeerNameByID,
6
- useHMSNotifications,
7
- useHMSStore,
8
- useHMSVanillaStore,
9
- } from '@100mslive/react-sdk';
10
- import { Button } from '../../../Button';
11
- // @ts-ignore: No implicit Any
12
- import { ToastManager } from '../Toast/ToastManager';
13
- import { useRoomLayoutConferencingScreen } from '../../provider/roomLayoutProvider/hooks/useRoomLayoutScreen';
14
- // @ts-ignore: No implicit Any
15
- import { usePollViewToggle } from '../AppData/useSidepane';
16
-
17
- const notificationTypes = [HMSNotificationTypes.POLL_STARTED, HMSNotificationTypes.POLL_STOPPED];
18
-
19
- const pollToastKey: Record<string, string> = {};
20
-
21
- export const PollNotificationModal = () => {
22
- const togglePollView = usePollViewToggle();
23
- const localPeerID = useHMSStore(selectLocalPeerID);
24
- const vanillaStore = useHMSVanillaStore();
25
- const screenProps = useRoomLayoutConferencingScreen();
26
-
27
- const notification = useHMSNotifications(notificationTypes);
28
-
29
- useEffect(() => {
30
- switch (notification?.type) {
31
- case HMSNotificationTypes.POLL_STARTED:
32
- if (notification.data.startedBy !== localPeerID && screenProps.screenType !== 'hls_live_streaming') {
33
- const pollStartedBy = vanillaStore.getState(selectPeerNameByID(notification.data.startedBy)) || 'Participant';
34
-
35
- const pollToastID = ToastManager.addToast({
36
- title: `${pollStartedBy} started a ${notification.data.type}: ${notification.data.title}`,
37
- action: (
38
- <Button
39
- onClick={() => togglePollView(notification.data.id)}
40
- variant="standard"
41
- css={{
42
- backgroundColor: '$surface_bright',
43
- fontWeight: '$semiBold',
44
- color: '$on_surface_high',
45
- p: '$xs $md',
46
- }}
47
- >
48
- {notification.data.type === 'quiz' ? 'Answer' : 'Vote'}
49
- </Button>
50
- ),
51
- duration: Infinity,
52
- });
53
- pollToastKey[notification.data.id] = pollToastID;
54
- }
55
- break;
56
- case HMSNotificationTypes.POLL_STOPPED:
57
- {
58
- const pollID = notification?.data.id;
59
- if (pollID && pollToastKey?.[pollID]) {
60
- ToastManager.removeToast(pollToastKey?.[notification.data.id]);
61
- delete pollToastKey[notification?.data.id];
62
- }
63
- }
64
- break;
65
- default:
66
- break;
67
- }
68
- }, [notification]);
69
-
70
- return null;
71
- };
@@ -1,33 +0,0 @@
1
- import { useEffect, useRef } from 'react';
2
- import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
3
- // @ts-ignore: No implicit Any
4
- import { ToastConfig } from '../Toast/ToastConfig';
5
- // @ts-ignore: No implicit Any
6
- import { ToastManager } from '../Toast/ToastManager';
7
-
8
- const notificationTypes = [HMSNotificationTypes.RECONNECTED, HMSNotificationTypes.RECONNECTING];
9
- let notificationId: string | null = null;
10
-
11
- export const ReconnectNotifications = () => {
12
- const notification = useHMSNotifications(notificationTypes);
13
- const prevErrorCode = useRef(0);
14
- useEffect(() => {
15
- if (!notification) {
16
- return;
17
- }
18
- if (notification.type === HMSNotificationTypes.RECONNECTED) {
19
- notificationId = ToastManager.replaceToast(
20
- notificationId,
21
- ToastConfig.RECONNECTED.single([4005, 4006].includes(prevErrorCode.current)),
22
- );
23
- } else if (notification.type === HMSNotificationTypes.RECONNECTING) {
24
- prevErrorCode.current = notification.data?.code || 0;
25
- notificationId = ToastManager.replaceToast(
26
- notificationId,
27
- ToastConfig.RECONNECTING.single(notification.data?.message),
28
- );
29
- }
30
- }, [notification]);
31
-
32
- return null;
33
- };
@@ -1,24 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { HMSNotificationTypes, useHMSNotifications } from '@100mslive/react-sdk';
3
- import { useUpdateRoomLayout } from '../../provider/roomLayoutProvider';
4
- // @ts-ignore: No implicit Any
5
- import { ToastManager } from '../Toast/ToastManager';
6
-
7
- export const RoleChangeNotification = () => {
8
- const notification = useHMSNotifications(HMSNotificationTypes.ROLE_UPDATED);
9
- const updateRoomLayoutForRole = useUpdateRoomLayout();
10
-
11
- useEffect(() => {
12
- if (!notification?.data) {
13
- return;
14
- }
15
- if (notification.data?.isLocal && notification.data?.roleName) {
16
- ToastManager.addToast({
17
- title: `You are now a ${notification.data.roleName}`,
18
- });
19
- updateRoomLayoutForRole?.(notification.data.roleName);
20
- }
21
- }, [notification]);
22
-
23
- return null;
24
- };