@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,196 +0,0 @@
1
- import React from 'react';
2
- import {
3
- DeviceType,
4
- getAudioDeviceCategory,
5
- HMSAudioDeviceCategory,
6
- selectIsLocalVideoEnabled,
7
- selectLocalVideoTrackID,
8
- selectVideoTrackByID,
9
- useDevices,
10
- useHMSActions,
11
- useHMSStore,
12
- } from '@100mslive/react-sdk';
13
- import {
14
- BluetoothIcon,
15
- CameraFlipIcon,
16
- CheckIcon,
17
- CrossIcon,
18
- HeadphonesIcon,
19
- SpeakerIcon,
20
- TelePhoneIcon,
21
- } from '@100mslive/react-icons';
22
- import { HorizontalDivider } from '../../../Divider';
23
- import { Label } from '../../../Label';
24
- import { Box, Flex } from '../../../Layout';
25
- import { Sheet } from '../../../Sheet';
26
- import { Text } from '../../../Text';
27
- import IconButton from '../../IconButton';
28
- import { ToastManager } from '../Toast/ToastManager';
29
-
30
- export const CamaraFlipActions = () => {
31
- const actions = useHMSActions();
32
- const { allDevices } = useDevices();
33
- const { videoInput } = allDevices;
34
- const isVideoOn = useHMSStore(selectIsLocalVideoEnabled);
35
-
36
- const videoTrackId = useHMSStore(selectLocalVideoTrackID);
37
- const localVideoTrack = useHMSStore(selectVideoTrackByID(videoTrackId));
38
- if (!videoInput || !videoInput?.length || !localVideoTrack?.facingMode) {
39
- return null;
40
- }
41
- return (
42
- <Box>
43
- <IconButton
44
- disabled={!isVideoOn}
45
- onClick={async () => {
46
- try {
47
- await actions.switchCamera();
48
- } catch (e) {
49
- ToastManager.addToast({
50
- title: `Error while flipping camera ${e.message || ''}`,
51
- variant: 'error',
52
- });
53
- }
54
- }}
55
- >
56
- <CameraFlipIcon />
57
- </IconButton>
58
- </Box>
59
- );
60
- };
61
-
62
- // It will handle and show audio input devices in Mweb while audio output devices in desktop
63
- export const AudioActions = () => {
64
- const { allDevices, selectedDeviceIDs, updateDevice } = useDevices();
65
-
66
- // don't show speaker selector where the API is not supported, and use
67
- // a generic word("Audio") for Mic. In some cases(Chrome Android for example) this changes both mic and speaker keeping them in sync.
68
- const shouldShowAudioOutput = 'setSinkId' in HTMLMediaElement.prototype;
69
- const { audioInput, audioOutput } = allDevices;
70
- let availableAudioDevices = audioInput;
71
- let selectedAudio = selectedDeviceIDs.audioInput;
72
- if (shouldShowAudioOutput) {
73
- availableAudioDevices = audioOutput;
74
- selectedAudio = selectedDeviceIDs.audioOutput;
75
- }
76
- const hmsActions = useHMSActions();
77
- const audioFiltered = availableAudioDevices?.find(item => !!item.label);
78
- const currentSelection = availableAudioDevices?.find(item => item.deviceId === selectedAudio);
79
-
80
- if (!audioFiltered) {
81
- return null;
82
- }
83
- const deviceCategory = getAudioDeviceCategory(currentSelection?.label);
84
- let AudioIcon = <SpeakerIcon />;
85
- if (deviceCategory === HMSAudioDeviceCategory.BLUETOOTH) {
86
- AudioIcon = <BluetoothIcon />;
87
- } else if (deviceCategory === HMSAudioDeviceCategory.WIRED) {
88
- AudioIcon = <HeadphonesIcon />;
89
- } else if (deviceCategory === HMSAudioDeviceCategory.EARPIECE) {
90
- AudioIcon = <TelePhoneIcon />;
91
- }
92
- return (
93
- <AudioSelectionSheet
94
- audioDevices={availableAudioDevices}
95
- audioSelected={selectedAudio}
96
- onChange={async deviceId => {
97
- try {
98
- await updateDevice({
99
- deviceId,
100
- deviceType: shouldShowAudioOutput ? DeviceType.audioOutput : DeviceType.audioInput,
101
- });
102
- } catch (e) {
103
- ToastManager.addToast({
104
- title: `Error while changing audio device ${e.message || ''}`,
105
- variant: 'error',
106
- });
107
- }
108
- }}
109
- >
110
- <Box
111
- onClick={async () => {
112
- // refresh device as `devicechange` listener won't work in mobile device
113
- await hmsActions.refreshDevices();
114
- }}
115
- >
116
- <IconButton>{AudioIcon}</IconButton>
117
- </Box>
118
- </AudioSelectionSheet>
119
- );
120
- };
121
-
122
- const AudioSelectionSheet = ({ audioDevices, audioSelected, onChange, children }) => {
123
- return (
124
- <Sheet.Root>
125
- <Sheet.Trigger asChild>{children}</Sheet.Trigger>
126
- <Sheet.Content>
127
- <Sheet.Title css={{ py: '$10', px: '$8', alignItems: 'center' }}>
128
- <Flex direction="row" justify="between" css={{ w: '100%' }}>
129
- <Text variant="h6" css={{ display: 'flex' }}>
130
- Audio
131
- </Text>
132
- <Sheet.Close>
133
- <IconButton as="div" data-testid="dialog_cross_icon">
134
- <CrossIcon />
135
- </IconButton>
136
- </Sheet.Close>
137
- </Flex>
138
- </Sheet.Title>
139
- <HorizontalDivider />
140
- <Flex
141
- direction="column"
142
- css={{
143
- px: '$8',
144
- maxHeight: '80vh',
145
- overflowY: 'auto',
146
- }}
147
- >
148
- {audioDevices.map(audioDevice => {
149
- return (
150
- <SelectWithLabel
151
- key={audioDevice.deviceId}
152
- label={audioDevice.label}
153
- id={audioDevice.deviceId}
154
- checked={audioDevice.deviceId === audioSelected}
155
- onChange={() => onChange(audioDevice.deviceId)}
156
- />
157
- );
158
- })}
159
- </Flex>
160
- </Sheet.Content>
161
- </Sheet.Root>
162
- );
163
- };
164
-
165
- const SelectWithLabel = ({ label, icon = <></>, checked, id, onChange }) => {
166
- return (
167
- <Flex
168
- align="center"
169
- css={{
170
- my: '$2',
171
- py: '$8',
172
- w: '100%',
173
- borderBottom: '1px solid $border_default',
174
- }}
175
- onClick={onChange}
176
- >
177
- <Label
178
- htmlFor={id}
179
- css={{
180
- fontSize: '$md',
181
- fontWeight: '$semiBold',
182
- color: '$on_surface_high',
183
- cursor: 'pointer',
184
- display: 'flex',
185
- alignItems: 'center',
186
- gap: '$8',
187
- flex: '1 1 0',
188
- }}
189
- >
190
- {icon}
191
- {label}
192
- </Label>
193
- {checked && <CheckIcon width={24} height={24} />}
194
- </Flex>
195
- );
196
- };
@@ -1 +0,0 @@
1
- export { Header } from './Header';
@@ -1,89 +0,0 @@
1
- import React, { memo } from 'react';
2
- import { CrossIcon } from '@100mslive/react-icons';
3
- import { Flex } from '../../Layout';
4
- import { Text } from '../../Text';
5
- import IconButton from '../IconButton';
6
-
7
- export function HlsStatsOverlay({ hlsStatsState, onClose }) {
8
- return (
9
- <Flex
10
- css={{
11
- position: 'absolute',
12
- width: '$80',
13
- marginLeft: '$8',
14
- padding: '$8 $8 $10',
15
- zIndex: 10,
16
- backgroundColor: '$surface_brighter',
17
- borderRadius: '$1',
18
- }}
19
- direction="column"
20
- >
21
- <IconButton css={{ position: 'absolute', top: '$2', right: '$2' }} onClick={onClose}>
22
- <CrossIcon />
23
- </IconButton>
24
- <HlsStatsRow label="Video size">
25
- {` ${hlsStatsState?.videoSize?.width}x${hlsStatsState?.videoSize?.height}`}
26
- </HlsStatsRow>
27
- <HlsStatsRow label="Buffer duration">{hlsStatsState?.bufferedDuration?.toFixed(2)} </HlsStatsRow>
28
- <HlsStatsRow label="Connection speed">
29
- {`${(hlsStatsState?.bandwidthEstimate / (1000 * 1000)).toFixed(2)} Mbps`}
30
- </HlsStatsRow>
31
- <HlsStatsRow label="Bitrate">{`${(hlsStatsState?.bitrate / (1000 * 1000)).toFixed(2)} Mbps`}</HlsStatsRow>
32
- <HlsStatsRow label="distance from live">
33
- {getDurationFromSeconds(hlsStatsState.distanceFromLive / 1000)}
34
- </HlsStatsRow>
35
- <HlsStatsRow label="Dropped frames">{hlsStatsState?.droppedFrames}</HlsStatsRow>
36
- </Flex>
37
- );
38
- }
39
-
40
- /**
41
- * Extracted from HLS new Player PR.
42
- * TODO: remove this and use HMSVideoUtils.js
43
- * when that code is merged
44
- */
45
- export function getDurationFromSeconds(timeInSeconds) {
46
- let time = Math.floor(timeInSeconds);
47
- const hours = Math.floor(time / 3600);
48
- time = time - hours * 3600;
49
- const minutes = Math.floor(time / 60);
50
- const seconds = Math.floor(time - minutes * 60);
51
-
52
- const prefixedMinutes = `${minutes < 10 ? '0' + minutes : minutes}`;
53
- const prefixedSeconds = `${seconds < 10 ? '0' + seconds : seconds}`;
54
-
55
- let videoTimeStr = `${prefixedMinutes}:${prefixedSeconds}`;
56
- if (hours) {
57
- const prefixedHours = `${hours < 10 ? '0' + hours : hours}`;
58
- videoTimeStr = `${prefixedHours}:${prefixedMinutes}:${prefixedSeconds}`;
59
- }
60
- return videoTimeStr;
61
- }
62
-
63
- const HlsStatsRow = memo(({ label, children }) => {
64
- return (
65
- <Flex gap={4} justify="center" css={{ width: '100%' }}>
66
- <Text
67
- css={{
68
- width: '50%',
69
- '@md': { fontSize: '$md' },
70
- '@sm': { fontSize: '$sm' },
71
- // textAlign: "right",
72
- }}
73
- >
74
- {label}
75
- </Text>
76
- <Text
77
- css={{
78
- '@md': { fontSize: '$md' },
79
- '@sm': { fontSize: '$sm' },
80
- width: '50%',
81
- overflowWrap: 'break-word',
82
- // textAlign: "left",
83
- }}
84
- >
85
- {children}
86
- </Text>
87
- </Flex>
88
- );
89
- });
@@ -1,167 +0,0 @@
1
- import React from 'react';
2
- import { VerticalMenuIcon } from '@100mslive/react-icons';
3
- import { Dropdown } from '../../../Dropdown';
4
- import { Flex } from '../../../Layout';
5
- import { styled } from '../../../Theme';
6
- import { Tooltip } from '../../../Tooltip';
7
- import IconButton from '../../IconButton';
8
-
9
- const variants = {
10
- disabled: {
11
- true: {
12
- bg: '$surface_brighter',
13
- },
14
- },
15
- active: {
16
- false: {
17
- bg: '$secondary_dim',
18
- },
19
- },
20
- };
21
-
22
- const IconSection = styled(IconButton, {
23
- w: 'unset',
24
- h: '$14',
25
- p: '$4',
26
- r: '$1',
27
- bg: 'transparent',
28
- borderTopRightRadius: '0 !important',
29
- borderColor: '$border_bright',
30
- borderBottomRightRadius: '0 !important',
31
- position: 'relative',
32
- '&:not([disabled]):focus-visible': {
33
- zIndex: 1,
34
- },
35
- '@md': {
36
- mx: 0,
37
- borderTopRightRadius: '$1 !important',
38
- borderBottomRightRadius: '$1 !important',
39
- },
40
- variants: {
41
- ...variants,
42
- hideOptions: {
43
- true: {
44
- borderTopRightRadius: '$1 !important',
45
- borderBottomRightRadius: '$1 !important',
46
- },
47
- },
48
- },
49
- });
50
-
51
- const OptionsSection = styled(IconButton, {
52
- w: 'unset',
53
- h: '$14',
54
- p: '$4 $2',
55
- r: '$1',
56
- borderTopLeftRadius: '0 !important',
57
- borderColor: '$border_bright',
58
- borderBottomLeftRadius: '0 !important',
59
- borderLeftWidth: '0 !important',
60
- position: 'relative',
61
- '&:not([disabled]):focus-visible': {
62
- zIndex: 1,
63
- },
64
- '@md': {
65
- display: 'none',
66
- },
67
- variants,
68
- });
69
-
70
- const Icon = styled(Flex, {
71
- alignItems: 'center',
72
- justifyContent: 'center',
73
- color: '$on_primary_high',
74
- variants: {
75
- disabled: {
76
- true: {
77
- color: '$on_surface_low',
78
- },
79
- },
80
- active: {
81
- true: {
82
- color: '$on_surface_high',
83
- },
84
- },
85
- },
86
- });
87
-
88
- export const IconButtonWithOptions = ({
89
- disabled = false,
90
- onDisabledClick = () => {
91
- return;
92
- },
93
- testid = '',
94
- tooltipMessage = '',
95
- icon,
96
- children,
97
- active,
98
- hideOptions = false,
99
- onClick = () => {
100
- return;
101
- },
102
- }: {
103
- onClick: () => void;
104
- onDisabledClick: () => void;
105
- icon: React.ReactNode;
106
- children: React.ReactNode;
107
- testid?: string;
108
- hideOptions?: boolean;
109
- active: boolean;
110
- disabled?: boolean;
111
- tooltipMessage?: string;
112
- }) => {
113
- const commonProps = { disabled, active };
114
- return (
115
- <Flex>
116
- <IconSection
117
- data-testid={testid}
118
- {...commonProps}
119
- onClick={onClick}
120
- hideOptions={hideOptions}
121
- className="__cancel-drag-event"
122
- >
123
- <Tooltip disabled={!tooltipMessage} title={tooltipMessage}>
124
- <Icon {...commonProps}>{icon}</Icon>
125
- </Tooltip>
126
- </IconSection>
127
- {!hideOptions && children ? (
128
- <Dropdown.Root>
129
- <Dropdown.Trigger
130
- asChild
131
- // onClick does not work
132
- onPointerDown={e => {
133
- if (disabled) {
134
- e.preventDefault();
135
- onDisabledClick();
136
- }
137
- }}
138
- >
139
- <OptionsSection {...commonProps}>
140
- <Tooltip title="View Options">
141
- <Icon {...commonProps}>
142
- <VerticalMenuIcon />
143
- </Icon>
144
- </Tooltip>
145
- </OptionsSection>
146
- </Dropdown.Trigger>
147
- <Dropdown.Content
148
- sideOffset={5}
149
- alignOffset={-44}
150
- align="start"
151
- side="top"
152
- css={{
153
- w: 344,
154
- maxWidth: '100%',
155
- maxHeight: 'unset',
156
- p: 0,
157
- border: 'none',
158
- bg: '$surface_dim',
159
- }}
160
- >
161
- {children}
162
- </Dropdown.Content>
163
- </Dropdown.Root>
164
- ) : null}
165
- </Flex>
166
- );
167
- };
@@ -1,107 +0,0 @@
1
- import { useEffect } from 'react';
2
- import {
3
- selectAppData,
4
- selectIsLocalAudioEnabled,
5
- selectIsLocalVideoEnabled,
6
- useHMSActions,
7
- useHMSVanillaStore,
8
- } from '@100mslive/react-sdk';
9
- import { APP_DATA, isMacOS } from '../../common/constants';
10
-
11
- let isEvenListenersAttached = false;
12
- export class KeyboardInputManager {
13
- #actions;
14
- #store;
15
- constructor(store, actions) {
16
- this.#actions = actions;
17
- this.#store = store;
18
- }
19
- #toggleAudio = async () => {
20
- const enabled = this.#store.getState(selectIsLocalAudioEnabled);
21
- await this.#actions.setLocalAudioEnabled(!enabled);
22
- };
23
-
24
- #toggleVideo = async () => {
25
- const enabled = this.#store.getState(selectIsLocalVideoEnabled);
26
- await this.#actions.setLocalVideoEnabled(!enabled);
27
- };
28
-
29
- #hideSidepane = () => {
30
- if (this.#store.getState(selectAppData(APP_DATA.sidePane))) {
31
- this.#actions.setAppData(APP_DATA.sidePane, '');
32
- }
33
- };
34
-
35
- #toggleStatsForNerds = () => {
36
- const uiSettings = this.#store.getState(selectAppData(APP_DATA.uiSettings));
37
- const statsEnabled = uiSettings.showStatsOnTiles;
38
- this.#actions.setAppData(APP_DATA.uiSettings, {
39
- ...uiSettings,
40
- showStatsOnTiles: !statsEnabled,
41
- });
42
- };
43
-
44
- #toggleHlsStats = () => {
45
- this.#actions.setAppData(APP_DATA.hlsStats, !this.#store.getState(selectAppData(APP_DATA.hlsStats)));
46
- };
47
-
48
- // eslint-disable-next-line complexity
49
- #keyDownHandler = async e => {
50
- const CONTROL_KEY = isMacOS ? e.metaKey : e.ctrlKey;
51
- const D_KEY = e.key === 'd' || e.key === 'D';
52
- const E_KEY = e.key === 'e' || e.key === 'E';
53
- const SNF_KEY = e.key === ']' || e.key === '}';
54
-
55
- const SHORTCUT_TOGGLE_AUDIO = CONTROL_KEY && D_KEY;
56
- const SHORTCUT_TOGGLE_VIDEO = CONTROL_KEY && E_KEY;
57
- const SHORTCUT_SIDEPANE_CLOSE = e.key === 'Escape';
58
- const SHORTCUT_STATS_FOR_NERDS = CONTROL_KEY && SNF_KEY;
59
-
60
- if (SHORTCUT_TOGGLE_AUDIO) {
61
- e.preventDefault();
62
- await this.#toggleAudio();
63
- } else if (SHORTCUT_TOGGLE_VIDEO) {
64
- e.preventDefault();
65
- await this.#toggleVideo();
66
- } else if (SHORTCUT_SIDEPANE_CLOSE) {
67
- this.#hideSidepane();
68
- } else if (SHORTCUT_STATS_FOR_NERDS) {
69
- this.#toggleHlsStats();
70
- this.#toggleStatsForNerds();
71
- }
72
- };
73
-
74
- #bind = () => {
75
- document.addEventListener('keydown', this.#keyDownHandler, false);
76
- };
77
-
78
- #unbind = () => {
79
- document.removeEventListener('keydown', this.#keyDownHandler, false);
80
- };
81
-
82
- bindAllShortcuts = () => {
83
- if (!isEvenListenersAttached) {
84
- this.#bind();
85
- isEvenListenersAttached = true;
86
- }
87
- };
88
-
89
- unbindAllShortcuts = () => {
90
- if (isEvenListenersAttached) {
91
- this.#unbind();
92
- isEvenListenersAttached = false;
93
- }
94
- };
95
- }
96
-
97
- export const KeyboardHandler = () => {
98
- const store = useHMSVanillaStore();
99
- const actions = useHMSActions();
100
-
101
- useEffect(() => {
102
- const keyboardManager = new KeyboardInputManager(store, actions);
103
- keyboardManager.bindAllShortcuts();
104
- return keyboardManager.unbindAllShortcuts;
105
- }, [actions, store]);
106
- return null;
107
- };
@@ -1,136 +0,0 @@
1
- import React, { useEffect, useRef } from 'react';
2
- import Draggable from 'react-draggable';
3
- import { useMedia } from 'react-use';
4
- import {
5
- selectIsAllowedToPublish,
6
- selectLocalPeer,
7
- selectPeerByID,
8
- selectVideoTrackByID,
9
- useHMSStore,
10
- } from '@100mslive/react-sdk';
11
- import { ExpandIcon } from '@100mslive/react-icons';
12
- import { Box, Flex } from '../../Layout';
13
- import { Text } from '../../Text';
14
- import { config as cssConfig } from '../../Theme';
15
- // @ts-ignore: No implicit Any
16
- import IconButton from '../IconButton';
17
- // @ts-ignore: No implicit Any
18
- import { AudioVideoToggle } from './AudioVideoToggle';
19
- // @ts-ignore: No implicit Any
20
- import VideoTile from './VideoTile';
21
- // @ts-ignore: No implicit Any
22
- import { useSetAppDataByKey } from './AppData/useUISettings';
23
- import { useVideoTileContext } from './hooks/useVideoTileLayout';
24
- // @ts-ignore: No implicit Any
25
- import { APP_DATA } from '../common/constants';
26
-
27
- const MinimisedTile = ({ setMinimised }: { setMinimised: (value: boolean) => void }) => {
28
- return (
29
- <Flex align="center" css={{ gap: '$6', r: '$1', bg: '$surface_default', p: '$4', color: '$on_surface_high' }}>
30
- <AudioVideoToggle hideOptions={true} />
31
- <Text>You</Text>
32
- <IconButton
33
- className="__cancel-drag-event"
34
- onClick={() => setMinimised(false)}
35
- css={{ bg: 'transparent', border: 'transparent' }}
36
- >
37
- <ExpandIcon />
38
- </IconButton>
39
- </Flex>
40
- );
41
- };
42
-
43
- const insetHeightPx = 180;
44
- const insetMaxWidthPx = 240;
45
- const defaultMobileAspectRatio = 9 / 16;
46
- const desktopAspectRatio = 1 / defaultMobileAspectRatio;
47
-
48
- export const InsetTile = ({ peerId }: { peerId?: string }) => {
49
- const isMobile = useMedia(cssConfig.media.md);
50
- const isLandscape = useMedia(cssConfig.media.ls);
51
- const selector = peerId ? selectPeerByID(peerId) : selectLocalPeer;
52
- const peer = useHMSStore(selector);
53
- const [minimised, setMinimised] = useSetAppDataByKey(APP_DATA.minimiseInset);
54
- const videoTrack = useHMSStore(selectVideoTrackByID(peer?.videoTrack));
55
- const isAllowedToPublish = useHMSStore(selectIsAllowedToPublish);
56
- const videoTileProps = useVideoTileContext();
57
- let aspectRatio = isMobile ? defaultMobileAspectRatio : desktopAspectRatio;
58
- if (videoTrack?.width && videoTrack?.height && !isMobile) {
59
- aspectRatio = videoTrack.width / videoTrack.height;
60
- }
61
- let height = insetHeightPx;
62
- let width = height * aspectRatio;
63
- // Convert to 16/9 in landscape mode with a max width of 240
64
- if (isLandscape && width > insetMaxWidthPx) {
65
- width = 240;
66
- height = width / aspectRatio;
67
- }
68
-
69
- const nodeRef = useRef<HTMLDivElement>(null);
70
-
71
- useEffect(() => {
72
- const node = nodeRef.current;
73
- if (!node || !window.ResizeObserver) {
74
- return;
75
- }
76
- const resizeObserver = new ResizeObserver(entries => {
77
- entries.forEach(entry => {
78
- if (entry.target === node.parentElement) {
79
- // reset to original position on resize
80
- node.style.transform = `translate(0,0)`;
81
- }
82
- });
83
- });
84
- node.parentElement && resizeObserver.observe(node.parentElement);
85
- return () => {
86
- node?.parentElement && resizeObserver?.unobserve(node.parentElement);
87
- resizeObserver?.disconnect();
88
- };
89
- }, []);
90
-
91
- if (!isAllowedToPublish.video && !isAllowedToPublish.audio) {
92
- return null;
93
- }
94
-
95
- return (
96
- <Draggable bounds="parent" nodeRef={nodeRef} cancel=".__cancel-drag-event">
97
- <Box
98
- ref={nodeRef}
99
- css={{
100
- position: 'absolute',
101
- bottom: 0,
102
- right: 0,
103
- zIndex: 10,
104
- boxShadow: '0 0 8px 0 rgba(0,0,0,0.3)',
105
- r: '$2',
106
- ...(!minimised
107
- ? {
108
- aspectRatio: `${aspectRatio}`,
109
- h: height,
110
- }
111
- : {}),
112
- }}
113
- >
114
- {minimised ? (
115
- <MinimisedTile setMinimised={setMinimised} />
116
- ) : (
117
- <VideoTile
118
- peerId={peer?.id}
119
- trackId={peer?.videoTrack}
120
- rootCSS={{
121
- size: '100%',
122
- padding: 0,
123
- }}
124
- width={width}
125
- height={height}
126
- containerCSS={{ background: '$surface_default' }}
127
- canMinimise
128
- isDragabble
129
- {...videoTileProps}
130
- hideParticipantNameOnTile
131
- />
132
- )}
133
- </Box>
134
- </Draggable>
135
- );
136
- };