@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,141 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { parsedUserAgent } from '@100mslive/react-sdk';
3
- import { TestContainer, TestFooter } from './components';
4
- import { Box, Flex } from '../Layout';
5
- import { Text } from '../Text';
6
- import { DiagnosticsStep, useDiagnostics } from './DiagnosticsContext';
7
-
8
- const CMS_MEDIA_SERVER = 'https://storage.googleapis.com/100ms-cms-prod/';
9
-
10
- export const operatingSystemIconInfo = {
11
- tizen: {
12
- key: 'tizen',
13
- val: 'Tizen',
14
- icon: `${CMS_MEDIA_SERVER}cms/Tizen_b99350214e/Tizen_b99350214e.svg`,
15
- },
16
- 'mac os': {
17
- key: 'macos',
18
- val: 'Mac OS',
19
- icon: `${CMS_MEDIA_SERVER}cms/mac_OS_804456afd8/mac_OS_804456afd8.png`,
20
- },
21
- windows: {
22
- key: 'windows',
23
- val: 'Windows',
24
- icon: `${CMS_MEDIA_SERVER}cms/Windows_fdfe6749b6/Windows_fdfe6749b6.svg`,
25
- },
26
- linux: {
27
- key: 'linux',
28
- val: 'Linux',
29
- icon: `${CMS_MEDIA_SERVER}cms/Linux_31f8353a2e/Linux_31f8353a2e.svg`,
30
- },
31
- chromium: {
32
- key: 'chromium',
33
- val: 'Chromium',
34
- icon: `${CMS_MEDIA_SERVER}cms/Chromium_3df17710bd/Chromium_3df17710bd.svg`,
35
- },
36
- ubuntu: {
37
- key: 'ubuntu',
38
- val: 'Ubuntu',
39
- icon: `${CMS_MEDIA_SERVER}cms/Ubuntu_966dd923c5/Ubuntu_966dd923c5.svg`,
40
- },
41
- ios: {
42
- key: 'ios',
43
- val: 'iOS',
44
- icon: `${CMS_MEDIA_SERVER}cms/i_OS_3cdc9d9b71/i_OS_3cdc9d9b71.svg`,
45
- },
46
- android: {
47
- key: 'android',
48
- val: 'Android',
49
- icon: `${CMS_MEDIA_SERVER}cms/Android_49dcfdc934/Android_49dcfdc934.svg`,
50
- },
51
- };
52
-
53
- export const browserTypeIconInfo = {
54
- brave: {
55
- key: 'brave',
56
- val: 'Brave',
57
- icon: `${CMS_MEDIA_SERVER}cms/Brave_7e66131f09/Brave_7e66131f09.svg`,
58
- },
59
- chrome: {
60
- key: 'chrome',
61
- val: 'Chrome',
62
- icon: `${CMS_MEDIA_SERVER}cms/Chrome_7bf77fbdd7/Chrome_7bf77fbdd7.svg`,
63
- },
64
- firefox: {
65
- key: 'firefox',
66
- val: 'Firefox',
67
- icon: `${CMS_MEDIA_SERVER}cms/Firefox_30f3976fb8/Firefox_30f3976fb8.svg`,
68
- },
69
- safari: {
70
- key: 'safari',
71
- val: 'Safari',
72
- icon: `${CMS_MEDIA_SERVER}cms/Safari_254e74ed94/Safari_254e74ed94.svg`,
73
- },
74
- 'mobile safari': {
75
- key: 'safari',
76
- val: 'Safari',
77
- icon: `${CMS_MEDIA_SERVER}cms/Safari_254e74ed94/Safari_254e74ed94.svg`,
78
- },
79
- edge: {
80
- key: 'edge',
81
- val: 'Edge',
82
- icon: `${CMS_MEDIA_SERVER}cms/Edge_23add4a83f/Edge_23add4a83f.svg`,
83
- },
84
- opera: {
85
- key: 'opera',
86
- val: 'Opera',
87
- icon: `${CMS_MEDIA_SERVER}cms/Opera_0f3bf4eb19/Opera_0f3bf4eb19.svg`,
88
- },
89
- };
90
-
91
- const CheckDetails = ({ title, value, iconURL }: { title: string; value: string; iconURL?: string }) => (
92
- <Box css={{ w: '100%', my: '$10', p: '$10', r: '$1', bg: '$surface_default', '@lg': { w: 'auto' } }}>
93
- <Text css={{ c: '$on_primary_medium', mb: '$6' }}>{title}</Text>
94
- <Flex align="center">
95
- {iconURL && (
96
- <Box css={{ size: '2rem', r: '$round', bg: '$surface_brighter', mr: '$4' }}>
97
- <img style={{ objectFit: 'contain', width: '2rem' }} src={iconURL} alt={value} />
98
- </Box>
99
- )}
100
- <Text>{value}</Text>
101
- </Flex>
102
- </Box>
103
- );
104
-
105
- export const BrowserTest = () => {
106
- const { hmsDiagnostics, updateStep } = useDiagnostics();
107
- const [error, setError] = useState<Error | undefined>();
108
- useEffect(() => {
109
- try {
110
- hmsDiagnostics?.checkBrowserSupport();
111
- } catch (err) {
112
- updateStep(DiagnosticsStep.BROWSER, { hasFailed: true });
113
- setError(err as Error);
114
- }
115
- }, [hmsDiagnostics, updateStep]);
116
- return (
117
- <>
118
- <TestContainer css={{ display: 'flex', gap: '$8', '@lg': { display: 'block' } }}>
119
- <CheckDetails
120
- title="Browser"
121
- iconURL={
122
- parsedUserAgent.getBrowser().name &&
123
- browserTypeIconInfo[parsedUserAgent.getBrowser().name?.toLowerCase() as keyof typeof browserTypeIconInfo]
124
- ?.icon
125
- }
126
- value={`${parsedUserAgent.getBrowser().name} ${parsedUserAgent.getBrowser().version}`}
127
- />
128
- <CheckDetails
129
- title="Operating system"
130
- iconURL={
131
- parsedUserAgent.getOS().name &&
132
- operatingSystemIconInfo[parsedUserAgent.getOS().name?.toLowerCase() as keyof typeof operatingSystemIconInfo]
133
- ?.icon
134
- }
135
- value={`${parsedUserAgent.getOS().name} ${parsedUserAgent.getOS().version}`}
136
- />
137
- </TestContainer>
138
- <TestFooter error={error} ctaText="Is your device information correct?" />
139
- </>
140
- );
141
- };
@@ -1,383 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { ConnectivityCheckResult, ConnectivityState, DiagnosticsRTCStats } from '@100mslive/react-sdk';
3
- import { CheckCircleIcon, CrossCircleIcon, EyeCloseIcon, EyeOpenIcon, LinkIcon } from '@100mslive/react-icons';
4
- import { TestContainer, TestFooter } from './components';
5
- import { Button } from '../Button';
6
- import { Box, Flex } from '../Layout';
7
- import { Loading } from '../Loading';
8
- import { formatBytes } from '../Stats';
9
- import { Text } from '../Text';
10
- import { DiagnosticsStep, useDiagnostics } from './DiagnosticsContext';
11
-
12
- const Regions = {
13
- in: 'India',
14
- us: 'United States',
15
- };
16
-
17
- const ConnectivityStateMessage = {
18
- [ConnectivityState.STARTING]: 'Fetching Init',
19
- [ConnectivityState.INIT_FETCHED]: 'Connecting to signal server',
20
- [ConnectivityState.SIGNAL_CONNECTED]: 'Establishing ICE connection',
21
- [ConnectivityState.ICE_ESTABLISHED]: 'Capturing Media',
22
- [ConnectivityState.MEDIA_CAPTURED]: 'Publishing Media',
23
- [ConnectivityState.MEDIA_PUBLISHED]: 'Finishing Up',
24
- [ConnectivityState.COMPLETED]: 'Completed',
25
- };
26
-
27
- export const ConnectivityTestStepResult = ({
28
- title,
29
- status = 'Connected',
30
- success,
31
- children,
32
- }: {
33
- title: string;
34
- status?: string;
35
- success?: boolean;
36
- children: React.ReactNode;
37
- }) => {
38
- const [hideDetails, setHideDetails] = useState(true);
39
-
40
- return (
41
- <Box css={{ my: '$10', p: '$10', r: '$1', bg: '$surface_bright' }}>
42
- <Text css={{ c: '$on_primary_medium', mb: '$6' }}>{title}</Text>
43
- {success ? (
44
- <Flex>
45
- <Text css={{ c: '$alert_success' }}>
46
- <CheckCircleIcon width="1.5rem" height="1.5rem" />
47
- </Text>
48
- <Text variant="lg" css={{ ml: '$4' }}>
49
- {status}
50
- </Text>
51
- </Flex>
52
- ) : (
53
- <Flex>
54
- <Text css={{ c: '$alert_error_bright' }}>
55
- <CrossCircleIcon width="1.5rem" height="1.5rem" />
56
- </Text>
57
- <Text variant="lg" css={{ ml: '$4' }}>
58
- Failed
59
- </Text>
60
- </Flex>
61
- )}
62
- <Flex
63
- onClick={() => setHideDetails(!hideDetails)}
64
- align="center"
65
- gap="2"
66
- css={{
67
- color: '$primary_bright',
68
- }}
69
- >
70
- {hideDetails ? <EyeOpenIcon /> : <EyeCloseIcon />}
71
- <Text
72
- variant="caption"
73
- css={{
74
- color: '$primary_bright',
75
- }}
76
- >
77
- {hideDetails ? 'View' : 'Hide'} detailed information
78
- </Text>
79
- </Flex>
80
- {!hideDetails ? <Box>{children}</Box> : null}
81
- </Box>
82
- );
83
- };
84
-
85
- const DetailedInfo = ({
86
- title,
87
- value,
88
- Icon,
89
- }: {
90
- title: string;
91
- value: string;
92
- Icon?: (props: React.SVGProps<SVGSVGElement>) => React.JSX.Element;
93
- }) => {
94
- return (
95
- <Box css={{ flex: '50%', mt: '$6' }}>
96
- <Text variant="caption" css={{ fontWeight: '$semiBold', c: '$on_primary_medium' }}>
97
- {title}
98
- </Text>
99
- <Flex css={{ mt: '$xs', alignItems: 'flex-start' }}>
100
- {Icon && (
101
- <Text css={{ mr: '$4' }}>
102
- <Icon width="1rem" height="1rem" />
103
- </Text>
104
- )}
105
- <Text variant="caption">{value}</Text>
106
- </Flex>
107
- </Box>
108
- );
109
- };
110
-
111
- const MediaServerResult = ({ result }: { result?: ConnectivityCheckResult['mediaServerReport'] }) => {
112
- return (
113
- <ConnectivityTestStepResult
114
- title="Media server connection test"
115
- success={result?.isPublishICEConnected && result.isSubscribeICEConnected}
116
- >
117
- <Flex css={{ flexWrap: 'wrap' }}>
118
- <DetailedInfo
119
- title="Media Captured"
120
- value={result?.stats?.audio.bytesSent ? 'Yes' : 'No'}
121
- Icon={result?.stats?.audio.bytesSent ? CheckCircleIcon : CrossCircleIcon}
122
- />
123
- <DetailedInfo
124
- title="Media Published"
125
- value={result?.stats?.audio.bitrateSent ? 'Yes' : 'No'}
126
- Icon={result?.stats?.audio.bytesSent ? CheckCircleIcon : CrossCircleIcon}
127
- />
128
- {result?.connectionQualityScore ? (
129
- <DetailedInfo
130
- title="Connection Quality Score (CQS)"
131
- value={`${result.connectionQualityScore.toFixed(2)} (out of 5)`}
132
- />
133
- ) : null}
134
- </Flex>
135
- </ConnectivityTestStepResult>
136
- );
137
- };
138
-
139
- const SignallingResult = ({ result }: { result?: ConnectivityCheckResult['signallingReport'] }) => {
140
- return (
141
- <ConnectivityTestStepResult title="Signalling server connection test" success={result?.isConnected}>
142
- <Flex css={{ flexWrap: 'wrap' }}>
143
- <DetailedInfo
144
- title="Signalling Gateway"
145
- value={result?.isConnected ? 'Reachable' : 'Unreachable'}
146
- Icon={result?.isConnected ? CheckCircleIcon : CrossCircleIcon}
147
- />
148
- <DetailedInfo title="Websocket URL" value={result?.websocketUrl || 'N/A'} Icon={LinkIcon} />
149
- </Flex>
150
- </ConnectivityTestStepResult>
151
- );
152
- };
153
-
154
- const AudioStats = ({ stats }: { stats: DiagnosticsRTCStats | undefined }) => {
155
- return (
156
- <ConnectivityTestStepResult title="Audio" status="Received" success={!!stats?.bytesSent}>
157
- {stats && (
158
- <Flex css={{ flexWrap: 'wrap' }}>
159
- <DetailedInfo title="Bytes Sent" value={formatBytes(stats.bytesSent)} />
160
- <DetailedInfo title="Bytes Received" value={formatBytes(stats.bytesReceived)} />
161
- <DetailedInfo title="Packets Received" value={stats.packetsReceived.toString()} />
162
- <DetailedInfo title="Packets Lost" value={stats.packetsLost.toString()} />
163
- <DetailedInfo title="Bitrate Sent" value={formatBytes(stats.bitrateSent, 'b/s')} />
164
- <DetailedInfo title="Bitrate Received" value={formatBytes(stats.bitrateReceived, 'b/s')} />
165
- <DetailedInfo title="Round Trip Time" value={`${stats.roundTripTime} ms`} />
166
- <DetailedInfo title="Jitter" value={`${stats.jitter * 1000} ms`} />
167
- </Flex>
168
- )}
169
- </ConnectivityTestStepResult>
170
- );
171
- };
172
-
173
- const VideoStats = ({ stats }: { stats: DiagnosticsRTCStats | undefined }) => {
174
- return (
175
- <ConnectivityTestStepResult title="Video" status="Received" success={!!stats?.bytesSent}>
176
- {stats && (
177
- <Flex css={{ flexWrap: 'wrap' }}>
178
- <DetailedInfo title="Bytes Sent" value={formatBytes(stats.bytesSent)} />
179
- <DetailedInfo title="Bytes Received" value={formatBytes(stats.bytesReceived)} />
180
- <DetailedInfo title="Packets Received" value={stats.packetsReceived.toString()} />
181
- <DetailedInfo title="Packets Lost" value={stats.packetsLost.toString()} />
182
- <DetailedInfo title="Bitrate Sent" value={formatBytes(stats.bitrateSent, 'b/s')} />
183
- <DetailedInfo title="Bitrate Received" value={formatBytes(stats.bitrateReceived, 'b/s')} />
184
- <DetailedInfo title="Round Trip Time" value={`${stats.roundTripTime} ms`} />
185
- <DetailedInfo title="Jitter" value={`${stats.jitter * 1000} ms`} />
186
- </Flex>
187
- )}
188
- </ConnectivityTestStepResult>
189
- );
190
- };
191
-
192
- const Footer = ({
193
- error,
194
- result,
195
- restart,
196
- }: {
197
- result?: ConnectivityCheckResult;
198
- restart: () => void;
199
- error?: Error;
200
- }) => {
201
- return (
202
- <TestFooter error={error}>
203
- <Flex css={{ gap: '$8', '@lg': { flexDirection: 'column' } }}>
204
- <Button variant="standard" onClick={restart}>
205
- Restart Test
206
- </Button>
207
- <Button disabled={!result} onClick={() => result && downloadJson(result, 'hms_diagnostics_results')}>
208
- Download Test Report
209
- </Button>
210
- </Flex>
211
- </TestFooter>
212
- );
213
- };
214
-
215
- const ConnectivityTestReport = ({
216
- error,
217
- result,
218
- progress,
219
- startTest,
220
- }: {
221
- error?: Error;
222
- result?: ConnectivityCheckResult;
223
- progress?: ConnectivityState;
224
- startTest: () => void;
225
- }) => {
226
- if (error) {
227
- return (
228
- <>
229
- <TestContainer css={{ textAlign: 'center' }}>
230
- <Text css={{ c: '$alert_error_default', mb: '$4' }}>
231
- <CrossCircleIcon />
232
- </Text>
233
- <Text variant="h6">Connectivity Test Failed</Text>
234
- <Text variant="body2" css={{ c: '$on_primary_medium' }}>
235
- {error.message}
236
- </Text>
237
- </TestContainer>
238
- <Footer restart={startTest} error={error} />
239
- </>
240
- );
241
- }
242
-
243
- if (result) {
244
- // for debugging and quick view of results
245
- console.log(result);
246
- return (
247
- <>
248
- <TestContainer>
249
- <Text css={{ c: '$on_primary_medium' }}>Connectivity test has been completed.</Text>
250
- <SignallingResult result={result?.signallingReport} />
251
- <MediaServerResult result={result?.mediaServerReport} />
252
- <AudioStats stats={result?.mediaServerReport?.stats?.audio} />
253
- <VideoStats stats={result?.mediaServerReport?.stats?.video} />
254
- </TestContainer>
255
- <Footer result={result} restart={startTest} error={error} />
256
- </>
257
- );
258
- }
259
-
260
- if (progress !== undefined) {
261
- return (
262
- <TestContainer css={{ textAlign: 'center' }}>
263
- <Text css={{ c: '$primary_bright', display: 'flex', justifyContent: 'center' }}>
264
- <Loading size="3.5rem" color="currentColor" />
265
- </Text>
266
- <Text variant="h6" css={{ mt: '$8' }}>
267
- Checking your connection...
268
- </Text>
269
- <Text
270
- variant="body2"
271
- css={{ c: '$on_primary_medium', mt: '$4' }}
272
- >{`${ConnectivityStateMessage[progress]}...`}</Text>
273
- </TestContainer>
274
- );
275
- }
276
-
277
- return null;
278
- };
279
-
280
- const RegionSelector = ({
281
- region,
282
- setRegion,
283
- startTest,
284
- }: {
285
- region?: string;
286
- startTest?: () => void;
287
- setRegion: (region: string) => void;
288
- }) => {
289
- return (
290
- <TestContainer css={{ borderBottom: '1px solid $border_default' }}>
291
- <Text variant="body1">Select a region</Text>
292
- <Text variant="body2" css={{ c: '$on_secondary_low' }}>
293
- Select the closest region for best results
294
- </Text>
295
- <Flex
296
- justify="between"
297
- css={{
298
- mt: '$md',
299
- '@lg': {
300
- flexDirection: 'column',
301
- gap: '$8',
302
- },
303
- }}
304
- >
305
- <Flex
306
- css={{
307
- gap: '$4',
308
- '@lg': {
309
- flexDirection: 'column',
310
- },
311
- }}
312
- >
313
- {Object.entries(Regions).map(([key, value]) => (
314
- <Button
315
- key={key}
316
- outlined={region !== key}
317
- variant={region === key ? 'primary' : 'standard'}
318
- css={region === key ? { bg: '$primary_dim' } : {}}
319
- onClick={() => setRegion(key)}
320
- >
321
- {value}
322
- </Button>
323
- ))}
324
- </Flex>
325
- <Flex css={{ '@lg': { flexDirection: 'column' } }}>
326
- <Button variant="primary" onClick={startTest} disabled={!startTest}>
327
- {startTest ? 'Start Test' : 'Testing...'}
328
- </Button>
329
- </Flex>
330
- </Flex>
331
- </TestContainer>
332
- );
333
- };
334
-
335
- export const ConnectivityTest = () => {
336
- const { hmsDiagnostics, updateStep } = useDiagnostics();
337
- const [region, setRegion] = useState<string | undefined>(Object.keys(Regions)[0]);
338
- const [error, setError] = useState<Error | undefined>();
339
- const [progress, setProgress] = useState<ConnectivityState>();
340
- const [result, setResult] = useState<ConnectivityCheckResult | undefined>();
341
-
342
- const startTest = () => {
343
- updateStep(DiagnosticsStep.CONNECTIVITY, { hasFailed: false, isCompleted: false });
344
- setError(undefined);
345
- setResult(undefined);
346
- hmsDiagnostics
347
- ?.startConnectivityCheck(
348
- state => {
349
- setProgress(state);
350
- },
351
- result => {
352
- updateStep(DiagnosticsStep.CONNECTIVITY, { isCompleted: true });
353
- setResult(result);
354
- },
355
- region,
356
- )
357
- .catch(error => {
358
- updateStep(DiagnosticsStep.CONNECTIVITY, { hasFailed: true });
359
- setError(error);
360
- });
361
- };
362
-
363
- return (
364
- <>
365
- <RegionSelector
366
- region={region}
367
- setRegion={setRegion}
368
- startTest={progress === undefined || progress === ConnectivityState.COMPLETED ? startTest : undefined}
369
- />
370
- <ConnectivityTestReport error={error} result={result} progress={progress} startTest={startTest} />
371
- </>
372
- );
373
- };
374
-
375
- const downloadJson = (obj: object, fileName: string) => {
376
- const a = document.createElement('a');
377
- const file = new Blob([JSON.stringify(obj, null, 2)], {
378
- type: 'application/json',
379
- });
380
- a.href = URL.createObjectURL(file);
381
- a.download = `${fileName}.json`;
382
- a.click();
383
- };
@@ -1,71 +0,0 @@
1
- import React, { useRef, useState } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { Dropdown } from '../Dropdown';
4
- import { Box, Flex } from '../Layout';
5
- import { DialogDropdownTrigger } from '../Prebuilt/primitives/DropdownTrigger';
6
- import { Text } from '../Text';
7
-
8
- export const DeviceSelector = ({ title, devices, selection, onChange, icon, children = null }) => {
9
- const [open, setOpen] = useState(false);
10
- const ref = useRef(null);
11
- return (
12
- <Box css={{ mb: '$6' }}>
13
- <Text css={{ mb: '$4' }}>{title}</Text>
14
- <Flex
15
- align="center"
16
- css={{
17
- gap: '$4',
18
- '@md': {
19
- flexDirection: children ? 'column' : 'row',
20
- alignItems: children ? 'start' : 'center',
21
- },
22
- }}
23
- >
24
- <Dropdown.Root open={open} onOpenChange={setOpen}>
25
- <DialogDropdownTrigger
26
- ref={ref}
27
- icon={icon}
28
- title={devices.find(({ deviceId }) => deviceId === selection)?.label || 'Select device from list'}
29
- open={open}
30
- />
31
- <Dropdown.Portal>
32
- <Dropdown.Content
33
- align="start"
34
- sideOffset={8}
35
- css={{
36
- w:
37
- // @ts-ignore
38
- ref.current?.clientWidth,
39
- zIndex: 1001,
40
- }}
41
- >
42
- {devices.map(device => {
43
- return (
44
- <Dropdown.Item
45
- key={device.label}
46
- onSelect={() => onChange(device.deviceId)}
47
- css={{
48
- px: '$9',
49
- }}
50
- >
51
- {device.label}
52
- </Dropdown.Item>
53
- );
54
- })}
55
- </Dropdown.Content>
56
- </Dropdown.Portal>
57
- </Dropdown.Root>
58
- {children}
59
- </Flex>
60
- </Box>
61
- );
62
- };
63
-
64
- DeviceSelector.propTypes = {
65
- title: PropTypes.string.isRequired,
66
- devices: PropTypes.array.isRequired,
67
- selection: PropTypes.string,
68
- onChange: PropTypes.func.isRequired,
69
- icon: PropTypes.node,
70
- children: PropTypes.node,
71
- };