@100mslive/roomkit-react 0.4.3-alpha.3 → 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 (389) hide show
  1. package/dist/index.cjs.css +194 -219
  2. package/dist/index.cjs.css.map +3 -3
  3. package/dist/index.cjs.js +2 -2
  4. package/dist/index.cjs.js.map +2 -2
  5. package/dist/index.css +194 -219
  6. package/dist/index.css.map +3 -3
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +2 -2
  9. package/dist/meta.cjs.json +18 -31
  10. package/dist/meta.esbuild.json +18 -31
  11. package/package.json +8 -9
  12. package/src/Accordion/Accordion.tsx +0 -88
  13. package/src/Accordion/index.ts +0 -8
  14. package/src/AudioLevel/AudioLevel.tsx +0 -84
  15. package/src/AudioLevel/audio-level.png +0 -0
  16. package/src/AudioLevel/index.ts +0 -2
  17. package/src/AudioLevel/useBorderAudioLevel.tsx +0 -34
  18. package/src/Avatar/Avatar.tsx +0 -60
  19. package/src/Avatar/getAvatarBg.ts +0 -50
  20. package/src/Avatar/index.ts +0 -1
  21. package/src/Button/Button.tsx +0 -210
  22. package/src/Button/index.tsx +0 -1
  23. package/src/Checkbox/Checkbox.tsx +0 -35
  24. package/src/Checkbox/index.tsx +0 -1
  25. package/src/Collapsible/Collapsible.tsx +0 -34
  26. package/src/Collapsible/index.tsx +0 -1
  27. package/src/Diagnostics/AudioTest.tsx +0 -188
  28. package/src/Diagnostics/BrowserTest.tsx +0 -141
  29. package/src/Diagnostics/ConnectivityTest.tsx +0 -383
  30. package/src/Diagnostics/DeviceSelector.jsx +0 -71
  31. package/src/Diagnostics/Diagnostics.tsx +0 -190
  32. package/src/Diagnostics/DiagnosticsContext.ts +0 -46
  33. package/src/Diagnostics/VideoTest.tsx +0 -72
  34. package/src/Diagnostics/components.tsx +0 -70
  35. package/src/Diagnostics/index.ts +0 -1
  36. package/src/Divider/Divider.tsx +0 -45
  37. package/src/Divider/index.ts +0 -1
  38. package/src/Dropdown/Dropdown.tsx +0 -145
  39. package/src/Dropdown/index.tsx +0 -1
  40. package/src/Fieldset/Fieldset.tsx +0 -11
  41. package/src/Fieldset/index.tsx +0 -1
  42. package/src/Footer/Footer.tsx +0 -47
  43. package/src/Footer/index.tsx +0 -1
  44. package/src/IconButton/IconButton.tsx +0 -43
  45. package/src/IconButton/index.tsx +0 -1
  46. package/src/Input/Input.tsx +0 -109
  47. package/src/Input/index.tsx +0 -1
  48. package/src/Label/Label.tsx +0 -8
  49. package/src/Label/index.ts +0 -1
  50. package/src/Layout/Box.tsx +0 -3
  51. package/src/Layout/Flex.tsx +0 -76
  52. package/src/Layout/index.tsx +0 -2
  53. package/src/Link/Link.tsx +0 -54
  54. package/src/Link/index.tsx +0 -2
  55. package/src/Loading/Loading.tsx +0 -30
  56. package/src/Loading/index.ts +0 -1
  57. package/src/Modal/Dialog.tsx +0 -57
  58. package/src/Modal/DialogContent.tsx +0 -65
  59. package/src/Modal/index.ts +0 -1
  60. package/src/Pagination/StyledPagination.tsx +0 -70
  61. package/src/Pagination/index.tsx +0 -1
  62. package/src/Popover/index.tsx +0 -34
  63. package/src/Prebuilt/App.tsx +0 -318
  64. package/src/Prebuilt/AppContext.tsx +0 -33
  65. package/src/Prebuilt/AppStateContext.tsx +0 -95
  66. package/src/Prebuilt/IconButton.tsx +0 -26
  67. package/src/Prebuilt/common/PeersSorter.ts +0 -111
  68. package/src/Prebuilt/common/constants.ts +0 -151
  69. package/src/Prebuilt/common/hooks.ts +0 -257
  70. package/src/Prebuilt/common/utils.js +0 -185
  71. package/src/Prebuilt/components/AppData/AppData.tsx +0 -208
  72. package/src/Prebuilt/components/AppData/useChatState.js +0 -18
  73. package/src/Prebuilt/components/AppData/useSheet.ts +0 -33
  74. package/src/Prebuilt/components/AppData/useSidepane.js +0 -99
  75. package/src/Prebuilt/components/AppData/useSidepaneResetOnLayoutUpdate.tsx +0 -22
  76. package/src/Prebuilt/components/AppData/useUISettings.js +0 -212
  77. package/src/Prebuilt/components/AudioVideoToggle.tsx +0 -411
  78. package/src/Prebuilt/components/AuthToken.tsx +0 -148
  79. package/src/Prebuilt/components/CaptionIcon.tsx +0 -27
  80. package/src/Prebuilt/components/Chat/ArrowNavigation.tsx +0 -44
  81. package/src/Prebuilt/components/Chat/Chat.tsx +0 -190
  82. package/src/Prebuilt/components/Chat/ChatActions.tsx +0 -314
  83. package/src/Prebuilt/components/Chat/ChatBody.tsx +0 -493
  84. package/src/Prebuilt/components/Chat/ChatFooter.tsx +0 -316
  85. package/src/Prebuilt/components/Chat/ChatSelector.tsx +0 -228
  86. package/src/Prebuilt/components/Chat/ChatSelectorContainer.tsx +0 -158
  87. package/src/Prebuilt/components/Chat/ChatStates.tsx +0 -73
  88. package/src/Prebuilt/components/Chat/EmptyChat.tsx +0 -58
  89. package/src/Prebuilt/components/Chat/MwebChatOption.tsx +0 -24
  90. package/src/Prebuilt/components/Chat/PinnedMessage.tsx +0 -140
  91. package/src/Prebuilt/components/Chat/StickIndicator.tsx +0 -24
  92. package/src/Prebuilt/components/Chat/useEmojiPickerStyles.js +0 -32
  93. package/src/Prebuilt/components/Chat/useUnreadCount.ts +0 -19
  94. package/src/Prebuilt/components/Chat/utils.ts +0 -11
  95. package/src/Prebuilt/components/ChatSettings.tsx +0 -68
  96. package/src/Prebuilt/components/Chip.tsx +0 -40
  97. package/src/Prebuilt/components/ConferenceScreen.tsx +0 -205
  98. package/src/Prebuilt/components/Connection/ConnectionIndicator.tsx +0 -89
  99. package/src/Prebuilt/components/Connection/TileConnection.tsx +0 -93
  100. package/src/Prebuilt/components/Connection/connectionQualityUtils.js +0 -37
  101. package/src/Prebuilt/components/EmojiReaction.jsx +0 -100
  102. package/src/Prebuilt/components/EndCallFeedback/Feedback.tsx +0 -71
  103. package/src/Prebuilt/components/EndCallFeedback/FeedbackForm.tsx +0 -381
  104. package/src/Prebuilt/components/EndCallFeedback/ThankyouView.tsx +0 -64
  105. package/src/Prebuilt/components/ErrorBoundary.jsx +0 -102
  106. package/src/Prebuilt/components/Footer/ChatToggle.tsx +0 -53
  107. package/src/Prebuilt/components/Footer/EmojiCard.jsx +0 -34
  108. package/src/Prebuilt/components/Footer/Footer.tsx +0 -115
  109. package/src/Prebuilt/components/Footer/PaginatedParticipants.tsx +0 -124
  110. package/src/Prebuilt/components/Footer/ParticipantList.tsx +0 -478
  111. package/src/Prebuilt/components/Footer/PollsToggle.tsx +0 -37
  112. package/src/Prebuilt/components/Footer/RoleAccordion.tsx +0 -183
  113. package/src/Prebuilt/components/Footer/RoleOptions.tsx +0 -215
  114. package/src/Prebuilt/components/Footer/WhiteboardToggle.tsx +0 -52
  115. package/src/Prebuilt/components/FullPageProgress.tsx +0 -22
  116. package/src/Prebuilt/components/HMSVideo/Controls.jsx +0 -22
  117. package/src/Prebuilt/components/HMSVideo/FullscreenButton.tsx +0 -13
  118. package/src/Prebuilt/components/HMSVideo/HLSAutoplayBlockedPrompt.tsx +0 -72
  119. package/src/Prebuilt/components/HMSVideo/HLSCaptionSelector.tsx +0 -15
  120. package/src/Prebuilt/components/HMSVideo/HLSQualitySelector.tsx +0 -248
  121. package/src/Prebuilt/components/HMSVideo/HMSVideo.jsx +0 -75
  122. package/src/Prebuilt/components/HMSVideo/MwebHLSViewTitle.tsx +0 -86
  123. package/src/Prebuilt/components/HMSVideo/PlayPauseButton.tsx +0 -27
  124. package/src/Prebuilt/components/HMSVideo/PlayPauseSeekControls.tsx +0 -158
  125. package/src/Prebuilt/components/HMSVideo/PlayerContext.tsx +0 -15
  126. package/src/Prebuilt/components/HMSVideo/SeekControl.tsx +0 -22
  127. package/src/Prebuilt/components/HMSVideo/VideoProgress.tsx +0 -100
  128. package/src/Prebuilt/components/HMSVideo/VideoTime.tsx +0 -52
  129. package/src/Prebuilt/components/HMSVideo/VolumeControl.tsx +0 -70
  130. package/src/Prebuilt/components/HMSVideo/index.ts +0 -24
  131. package/src/Prebuilt/components/HMSVideo/utils.ts +0 -37
  132. package/src/Prebuilt/components/Header/Header.tsx +0 -52
  133. package/src/Prebuilt/components/Header/HeaderComponents.jsx +0 -57
  134. package/src/Prebuilt/components/Header/ParticipantFilter.jsx +0 -89
  135. package/src/Prebuilt/components/Header/RoomDetailsHeader.tsx +0 -51
  136. package/src/Prebuilt/components/Header/StreamActions.tsx +0 -297
  137. package/src/Prebuilt/components/Header/common.jsx +0 -196
  138. package/src/Prebuilt/components/Header/index.tsx +0 -1
  139. package/src/Prebuilt/components/HlsStatsOverlay.jsx +0 -89
  140. package/src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.tsx +0 -167
  141. package/src/Prebuilt/components/Input/KeyboardInputManager.js +0 -107
  142. package/src/Prebuilt/components/InsetTile.tsx +0 -136
  143. package/src/Prebuilt/components/LayoutModeSelector.tsx +0 -112
  144. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +0 -166
  145. package/src/Prebuilt/components/Leave/EndSessionContent.tsx +0 -64
  146. package/src/Prebuilt/components/Leave/LeaveAtoms.tsx +0 -26
  147. package/src/Prebuilt/components/Leave/LeaveCard.tsx +0 -36
  148. package/src/Prebuilt/components/Leave/LeaveRoom.tsx +0 -82
  149. package/src/Prebuilt/components/Leave/LeaveSessionContent.tsx +0 -61
  150. package/src/Prebuilt/components/Leave/MwebLeaveRoom.tsx +0 -135
  151. package/src/Prebuilt/components/LeaveScreen.tsx +0 -71
  152. package/src/Prebuilt/components/MoreSettings/ActionTile.jsx +0 -60
  153. package/src/Prebuilt/components/MoreSettings/BulkRoleChangeModal.jsx +0 -139
  154. package/src/Prebuilt/components/MoreSettings/CaptionContent.tsx +0 -143
  155. package/src/Prebuilt/components/MoreSettings/CaptionModal.tsx +0 -37
  156. package/src/Prebuilt/components/MoreSettings/ChangeNameContent.tsx +0 -123
  157. package/src/Prebuilt/components/MoreSettings/ChangeNameModal.tsx +0 -78
  158. package/src/Prebuilt/components/MoreSettings/EmbedUrl.jsx +0 -81
  159. package/src/Prebuilt/components/MoreSettings/FullScreenItem.tsx +0 -26
  160. package/src/Prebuilt/components/MoreSettings/MoreSettings.tsx +0 -29
  161. package/src/Prebuilt/components/MoreSettings/MuteAllContent.tsx +0 -81
  162. package/src/Prebuilt/components/MoreSettings/MuteAllModal.tsx +0 -72
  163. package/src/Prebuilt/components/MoreSettings/SplitComponents/DesktopOptions.tsx +0 -282
  164. package/src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx +0 -387
  165. package/src/Prebuilt/components/MoreSettings/constants.ts +0 -14
  166. package/src/Prebuilt/components/MwebLandscapePrompt.tsx +0 -81
  167. package/src/Prebuilt/components/Notifications/AutoplayBlockedModal.tsx +0 -39
  168. package/src/Prebuilt/components/Notifications/ChatNotifications.tsx +0 -34
  169. package/src/Prebuilt/components/Notifications/DeviceChangeNotifications.tsx +0 -18
  170. package/src/Prebuilt/components/Notifications/DeviceInUseError.tsx +0 -86
  171. package/src/Prebuilt/components/Notifications/ErrorNotifications.tsx +0 -56
  172. package/src/Prebuilt/components/Notifications/HLSFailureModal.tsx +0 -71
  173. package/src/Prebuilt/components/Notifications/HandRaisedNotifications.tsx +0 -78
  174. package/src/Prebuilt/components/Notifications/InitErrorModal.tsx +0 -42
  175. package/src/Prebuilt/components/Notifications/MessageNotifications.tsx +0 -24
  176. package/src/Prebuilt/components/Notifications/Notifications.tsx +0 -65
  177. package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +0 -52
  178. package/src/Prebuilt/components/Notifications/PermissionErrorModal.tsx +0 -144
  179. package/src/Prebuilt/components/Notifications/PollNotificationModal.tsx +0 -71
  180. package/src/Prebuilt/components/Notifications/ReconnectNotifications.tsx +0 -33
  181. package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +0 -24
  182. package/src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.tsx +0 -61
  183. package/src/Prebuilt/components/Notifications/TrackNotifications.tsx +0 -41
  184. package/src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx +0 -63
  185. package/src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx +0 -58
  186. package/src/Prebuilt/components/Notifications/index.tsx +0 -1
  187. package/src/Prebuilt/components/PIP/PIPChat.tsx +0 -292
  188. package/src/Prebuilt/components/PIP/PIPChatOption.tsx +0 -18
  189. package/src/Prebuilt/components/PIP/PIPComponent.tsx +0 -90
  190. package/src/Prebuilt/components/PIP/PIPManager.ts +0 -335
  191. package/src/Prebuilt/components/PIP/PIPProvider.tsx +0 -56
  192. package/src/Prebuilt/components/PIP/PIPWindow.tsx +0 -13
  193. package/src/Prebuilt/components/PIP/SetupMediaSession.js +0 -60
  194. package/src/Prebuilt/components/PIP/context.ts +0 -10
  195. package/src/Prebuilt/components/PIP/index.jsx +0 -6
  196. package/src/Prebuilt/components/PIP/pip.test.js +0 -72
  197. package/src/Prebuilt/components/PIP/pipUtils.js +0 -183
  198. package/src/Prebuilt/components/PIP/usePIPChat.tsx +0 -105
  199. package/src/Prebuilt/components/PIP/usePIPWindow.tsx +0 -12
  200. package/src/Prebuilt/components/Pagination.tsx +0 -60
  201. package/src/Prebuilt/components/Polls/CreatePollQuiz/PollsQuizMenu.tsx +0 -248
  202. package/src/Prebuilt/components/Polls/CreateQuestions/CreateQuestions.jsx +0 -142
  203. package/src/Prebuilt/components/Polls/CreateQuestions/DeleteQuestionModal.tsx +0 -74
  204. package/src/Prebuilt/components/Polls/CreateQuestions/QuestionForm.tsx +0 -324
  205. package/src/Prebuilt/components/Polls/CreateQuestions/SavedQuestion.tsx +0 -64
  206. package/src/Prebuilt/components/Polls/Polls.tsx +0 -31
  207. package/src/Prebuilt/components/Polls/Voting/LeaderboardEntry.tsx +0 -76
  208. package/src/Prebuilt/components/Polls/Voting/LeaderboardSummary.tsx +0 -116
  209. package/src/Prebuilt/components/Polls/Voting/PeerParticipationSummary.tsx +0 -60
  210. package/src/Prebuilt/components/Polls/Voting/QuestionCard.jsx +0 -221
  211. package/src/Prebuilt/components/Polls/Voting/StandardVoting.tsx +0 -47
  212. package/src/Prebuilt/components/Polls/Voting/StatisticBox.tsx +0 -20
  213. package/src/Prebuilt/components/Polls/Voting/TimedVoting.tsx +0 -55
  214. package/src/Prebuilt/components/Polls/Voting/Voting.tsx +0 -143
  215. package/src/Prebuilt/components/Polls/Voting/useQuizSummary.tsx +0 -50
  216. package/src/Prebuilt/components/Polls/common/Line.tsx +0 -4
  217. package/src/Prebuilt/components/Polls/common/MultipleChoiceOptions.jsx +0 -115
  218. package/src/Prebuilt/components/Polls/common/OptionInputWithDelete.tsx +0 -38
  219. package/src/Prebuilt/components/Polls/common/SingleChoiceOptions.jsx +0 -140
  220. package/src/Prebuilt/components/Polls/common/StatusIndicator.tsx +0 -35
  221. package/src/Prebuilt/components/Polls/common/VoteCount.tsx +0 -15
  222. package/src/Prebuilt/components/Polls/common/VoteProgress.tsx +0 -18
  223. package/src/Prebuilt/components/Polls/common/constants.ts +0 -5
  224. package/src/Prebuilt/components/Polls/common/utils.ts +0 -22
  225. package/src/Prebuilt/components/Preview/PreviewForm.tsx +0 -94
  226. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +0 -292
  227. package/src/Prebuilt/components/Preview/PreviewScreen.tsx +0 -38
  228. package/src/Prebuilt/components/PreviousRoleInMetadata.tsx +0 -20
  229. package/src/Prebuilt/components/RaiseHand.tsx +0 -30
  230. package/src/Prebuilt/components/RemoveParticipant.tsx +0 -35
  231. package/src/Prebuilt/components/RoleChangeModal.tsx +0 -188
  232. package/src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx +0 -75
  233. package/src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx +0 -94
  234. package/src/Prebuilt/components/RoomDetails/Duration.tsx +0 -26
  235. package/src/Prebuilt/components/RoomDetails/RoomDetailsPane.tsx +0 -63
  236. package/src/Prebuilt/components/RoomDetails/RoomDetailsRow.tsx +0 -23
  237. package/src/Prebuilt/components/RoomDetails/RoomDetailsSheet.tsx +0 -45
  238. package/src/Prebuilt/components/ScreenShareToggle.jsx +0 -58
  239. package/src/Prebuilt/components/ScreenshareDisplay.tsx +0 -39
  240. package/src/Prebuilt/components/ScreenshareTile.tsx +0 -134
  241. package/src/Prebuilt/components/SecondaryTiles.tsx +0 -81
  242. package/src/Prebuilt/components/Settings/DeviceSettings.jsx +0 -208
  243. package/src/Prebuilt/components/Settings/LayoutSettings.tsx +0 -74
  244. package/src/Prebuilt/components/Settings/NotificationSettings.tsx +0 -66
  245. package/src/Prebuilt/components/Settings/SettingsModal.jsx +0 -301
  246. package/src/Prebuilt/components/Settings/StartRecording.jsx +0 -101
  247. package/src/Prebuilt/components/Settings/SwitchWithLabel.tsx +0 -53
  248. package/src/Prebuilt/components/Settings/common.ts +0 -16
  249. package/src/Prebuilt/components/ShareMenuIcon.jsx +0 -27
  250. package/src/Prebuilt/components/SidePaneTabs.tsx +0 -214
  251. package/src/Prebuilt/components/StatsForNerds.jsx +0 -373
  252. package/src/Prebuilt/components/Streaming/Common.jsx +0 -143
  253. package/src/Prebuilt/components/Streaming/ResolutionInput.jsx +0 -88
  254. package/src/Prebuilt/components/TileMenu/TileMenu.tsx +0 -148
  255. package/src/Prebuilt/components/TileMenu/TileMenuContent.tsx +0 -393
  256. package/src/Prebuilt/components/TileMenu/utils.ts +0 -7
  257. package/src/Prebuilt/components/Toast/Toast.jsx +0 -17
  258. package/src/Prebuilt/components/Toast/ToastBatcher.js +0 -64
  259. package/src/Prebuilt/components/Toast/ToastConfig.jsx +0 -177
  260. package/src/Prebuilt/components/Toast/ToastContainer.jsx +0 -30
  261. package/src/Prebuilt/components/Toast/ToastManager.js +0 -44
  262. package/src/Prebuilt/components/VideoLayouts/EqualProminence.tsx +0 -62
  263. package/src/Prebuilt/components/VideoLayouts/Grid.tsx +0 -43
  264. package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +0 -155
  265. package/src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx +0 -91
  266. package/src/Prebuilt/components/VideoLayouts/RoleProminence.tsx +0 -66
  267. package/src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx +0 -74
  268. package/src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx +0 -93
  269. package/src/Prebuilt/components/VideoLayouts/interface.ts +0 -11
  270. package/src/Prebuilt/components/VideoTile.tsx +0 -203
  271. package/src/Prebuilt/components/VirtualBackground/VBCollection.tsx +0 -52
  272. package/src/Prebuilt/components/VirtualBackground/VBHandler.tsx +0 -130
  273. package/src/Prebuilt/components/VirtualBackground/VBOption.tsx +0 -57
  274. package/src/Prebuilt/components/VirtualBackground/VBPicker.tsx +0 -252
  275. package/src/Prebuilt/components/VirtualBackground/VBToggle.tsx +0 -50
  276. package/src/Prebuilt/components/hooks/useAudioOutputTest.tsx +0 -20
  277. package/src/Prebuilt/components/hooks/useAutoStartStreaming.tsx +0 -70
  278. package/src/Prebuilt/components/hooks/useChatBlacklist.ts +0 -29
  279. package/src/Prebuilt/components/hooks/useCloseScreenshareWhiteboard.tsx +0 -17
  280. package/src/Prebuilt/components/hooks/useDropdownList.ts +0 -24
  281. package/src/Prebuilt/components/hooks/useDropdownSelection.jsx +0 -3
  282. package/src/Prebuilt/components/hooks/useFullscreen.ts +0 -46
  283. package/src/Prebuilt/components/hooks/useGroupOnStageActions.tsx +0 -54
  284. package/src/Prebuilt/components/hooks/useMetadata.tsx +0 -56
  285. package/src/Prebuilt/components/hooks/usePeerOnStageActions.tsx +0 -49
  286. package/src/Prebuilt/components/hooks/usePinnedBy.tsx +0 -22
  287. package/src/Prebuilt/components/hooks/usePinnedMessages.ts +0 -78
  288. package/src/Prebuilt/components/hooks/usePlaylist.js +0 -25
  289. package/src/Prebuilt/components/hooks/usePlaylistMusic.js +0 -35
  290. package/src/Prebuilt/components/hooks/useRedirectToLeave.tsx +0 -23
  291. package/src/Prebuilt/components/hooks/useRoleProminencePeers.tsx +0 -39
  292. package/src/Prebuilt/components/hooks/useScreenshareAudio.js +0 -28
  293. package/src/Prebuilt/components/hooks/useTileLayout.tsx +0 -128
  294. package/src/Prebuilt/components/hooks/useUnreadPollQuizPresent.tsx +0 -17
  295. package/src/Prebuilt/components/hooks/useUserPreferences.jsx +0 -26
  296. package/src/Prebuilt/components/hooks/useVideoTileLayout.ts +0 -26
  297. package/src/Prebuilt/components/init/Init.jsx +0 -31
  298. package/src/Prebuilt/components/pdfAnnotator/pdfFileOptions.jsx +0 -42
  299. package/src/Prebuilt/components/pdfAnnotator/pdfHeader.jsx +0 -31
  300. package/src/Prebuilt/components/pdfAnnotator/pdfInfo.jsx +0 -32
  301. package/src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx +0 -211
  302. package/src/Prebuilt/components/pdfAnnotator/submitPdf.jsx +0 -48
  303. package/src/Prebuilt/components/pdfAnnotator/uploadedFile.jsx +0 -71
  304. package/src/Prebuilt/components/peerTileUtils.tsx +0 -42
  305. package/src/Prebuilt/images/android-perm-1.png +0 -0
  306. package/src/Prebuilt/images/empty-chat.svg +0 -12
  307. package/src/Prebuilt/images/ios-perm-0.png +0 -0
  308. package/src/Prebuilt/images/pdf-share.png +0 -0
  309. package/src/Prebuilt/images/rtmp.png +0 -0
  310. package/src/Prebuilt/images/screen-share.png +0 -0
  311. package/src/Prebuilt/images/transaction_error.svg +0 -12
  312. package/src/Prebuilt/index.ts +0 -1
  313. package/src/Prebuilt/layouts/EmbedView.jsx +0 -94
  314. package/src/Prebuilt/layouts/HLSView.jsx +0 -747
  315. package/src/Prebuilt/layouts/PDFView.jsx +0 -67
  316. package/src/Prebuilt/layouts/Sheet.tsx +0 -14
  317. package/src/Prebuilt/layouts/SidePane.tsx +0 -241
  318. package/src/Prebuilt/layouts/VideoStreamingSection.tsx +0 -164
  319. package/src/Prebuilt/layouts/WaitingView.tsx +0 -52
  320. package/src/Prebuilt/plugins/CaptionsViewer.tsx +0 -261
  321. package/src/Prebuilt/plugins/FlyingEmoji.jsx +0 -154
  322. package/src/Prebuilt/plugins/RemoteStopScreenshare.jsx +0 -18
  323. package/src/Prebuilt/plugins/transcription/Transcriber.js +0 -216
  324. package/src/Prebuilt/plugins/transcription/TranscriptionButton.jsx +0 -138
  325. package/src/Prebuilt/plugins/transcription/index.jsx +0 -1
  326. package/src/Prebuilt/primitives/DialogContent.jsx +0 -285
  327. package/src/Prebuilt/primitives/DropdownTrigger.jsx +0 -46
  328. package/src/Prebuilt/provider/roomLayoutProvider/constants/index.ts +0 -60
  329. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts +0 -88
  330. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useInsetEnabled.ts +0 -10
  331. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.ts +0 -112
  332. package/src/Prebuilt/provider/roomLayoutProvider/index.tsx +0 -53
  333. package/src/Prebuilt/services/FeatureFlags.jsx +0 -46
  334. package/src/Progress/index.tsx +0 -17
  335. package/src/QRCode/QRCode.tsx +0 -6
  336. package/src/QRCode/index.tsx +0 -1
  337. package/src/RadioGroup/RadioGroup.tsx +0 -33
  338. package/src/RadioGroup/index.tsx +0 -1
  339. package/src/ReactSelect/ReactSelect.tsx +0 -97
  340. package/src/ReactSelect/index.ts +0 -1
  341. package/src/Select/Select.tsx +0 -63
  342. package/src/Select/index.ts +0 -1
  343. package/src/Sheet/Sheet.tsx +0 -122
  344. package/src/Sheet/index.ts +0 -1
  345. package/src/Slider/Slider.tsx +0 -70
  346. package/src/Slider/index.ts +0 -1
  347. package/src/Stats/Stats.tsx +0 -243
  348. package/src/Stats/StyledStats.tsx +0 -57
  349. package/src/Stats/formatBytes.ts +0 -19
  350. package/src/Stats/index.tsx +0 -2
  351. package/src/Stats/useQoE.ts +0 -79
  352. package/src/Switch/Switch.tsx +0 -52
  353. package/src/Switch/index.ts +0 -1
  354. package/src/Tabs/Tabs.tsx +0 -41
  355. package/src/Tabs/index.tsx +0 -1
  356. package/src/Text/Text.tsx +0 -149
  357. package/src/Text/index.tsx +0 -1
  358. package/src/TextArea/TextArea.tsx +0 -30
  359. package/src/TextArea/index.tsx +0 -1
  360. package/src/Theme/ThemeProvider.tsx +0 -98
  361. package/src/Theme/base.config.ts +0 -236
  362. package/src/Theme/index.tsx +0 -2
  363. package/src/Theme/stitches.config.ts +0 -88
  364. package/src/Theme/useSSR.tsx +0 -24
  365. package/src/TileMenu/StyledMenuTile.tsx +0 -105
  366. package/src/TileMenu/TileMenu.tsx +0 -98
  367. package/src/TileMenu/index.tsx +0 -1
  368. package/src/Toast/Toast.tsx +0 -170
  369. package/src/Toast/index.tsx +0 -1
  370. package/src/Tooltip/Tooltip.tsx +0 -79
  371. package/src/Tooltip/index.ts +0 -1
  372. package/src/Video/Video.tsx +0 -61
  373. package/src/Video/index.tsx +0 -1
  374. package/src/VideoList/StyledVideoList.tsx +0 -39
  375. package/src/VideoList/index.tsx +0 -2
  376. package/src/VideoList/videoListUtils.tsx +0 -20
  377. package/src/VideoTile/StyledVideoTile.tsx +0 -146
  378. package/src/VideoTile/index.tsx +0 -1
  379. package/src/context/DialogContext.tsx +0 -13
  380. package/src/fixtures/chats.ts +0 -25
  381. package/src/fixtures/peers.ts +0 -27
  382. package/src/fixtures/tracks.ts +0 -11
  383. package/src/hooks/useDialogContainerSelector.tsx +0 -7
  384. package/src/index.ts +0 -41
  385. package/src/store/SetupFakeStore.ts +0 -33
  386. package/src/store/StorybookSDK.ts +0 -231
  387. package/src/utils/animations.ts +0 -114
  388. package/src/utils/index.ts +0 -2
  389. 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
- };