@100mslive/roomkit-react 0.4.3-alpha.0 → 0.4.3-alpha.10

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 (442) hide show
  1. package/dist/index.cjs.css +214 -223
  2. package/dist/index.cjs.css.map +3 -3
  3. package/dist/index.cjs.js +489 -727
  4. package/dist/index.cjs.js.map +4 -4
  5. package/dist/index.css +214 -223
  6. package/dist/index.css.map +3 -3
  7. package/dist/index.js +501 -739
  8. package/dist/index.js.map +4 -4
  9. package/dist/meta.cjs.json +93 -149
  10. package/dist/meta.esbuild.json +92 -148
  11. package/package.json +10 -24
  12. package/src/Accordion/Accordion.stories.tsx +0 -50
  13. package/src/Accordion/Accordion.tsx +0 -88
  14. package/src/Accordion/index.ts +0 -8
  15. package/src/AudioLevel/AudioLevel.tsx +0 -84
  16. package/src/AudioLevel/audio-level.png +0 -0
  17. package/src/AudioLevel/index.ts +0 -2
  18. package/src/AudioLevel/useBorderAudioLevel.tsx +0 -34
  19. package/src/Avatar/Avatar.stories.tsx +0 -33
  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.mdx +0 -43
  24. package/src/Button/Button.stories.tsx +0 -52
  25. package/src/Button/Button.tsx +0 -210
  26. package/src/Button/index.tsx +0 -1
  27. package/src/Chat/Chat.mdx +0 -39
  28. package/src/Chat/Chat.stories.tsx +0 -39
  29. package/src/Checkbox/Checkbox.stories.tsx +0 -61
  30. package/src/Checkbox/Checkbox.tsx +0 -35
  31. package/src/Checkbox/index.tsx +0 -1
  32. package/src/Collapsible/Collapsible.tsx +0 -34
  33. package/src/Collapsible/index.tsx +0 -1
  34. package/src/Diagnostics/AudioTest.tsx +0 -188
  35. package/src/Diagnostics/BrowserTest.tsx +0 -141
  36. package/src/Diagnostics/ConnectivityTest.tsx +0 -383
  37. package/src/Diagnostics/DeviceSelector.jsx +0 -71
  38. package/src/Diagnostics/Diagnostics.tsx +0 -190
  39. package/src/Diagnostics/DiagnosticsContext.ts +0 -46
  40. package/src/Diagnostics/VideoTest.tsx +0 -72
  41. package/src/Diagnostics/components.tsx +0 -70
  42. package/src/Diagnostics/index.ts +0 -1
  43. package/src/Divider/Divider.tsx +0 -45
  44. package/src/Divider/HorizontalDivider.stories.tsx +0 -34
  45. package/src/Divider/VerticalDivider.stories.tsx +0 -40
  46. package/src/Divider/index.ts +0 -1
  47. package/src/Dropdown/Dropdown.stories.tsx +0 -94
  48. package/src/Dropdown/Dropdown.tsx +0 -145
  49. package/src/Dropdown/index.tsx +0 -1
  50. package/src/Fieldset/Fieldset.stories.tsx +0 -29
  51. package/src/Fieldset/Fieldset.tsx +0 -11
  52. package/src/Fieldset/index.tsx +0 -1
  53. package/src/Footer/Footer.stories.tsx +0 -61
  54. package/src/Footer/Footer.tsx +0 -47
  55. package/src/Footer/index.tsx +0 -1
  56. package/src/IconButton/IconButton.tsx +0 -43
  57. package/src/IconButton/index.tsx +0 -1
  58. package/src/Icons/Icons.stories.mdx +0 -10
  59. package/src/Icons/IconsList.jsx +0 -17
  60. package/src/Input/Input.stories.tsx +0 -25
  61. package/src/Input/Input.tsx +0 -109
  62. package/src/Input/PasswordInput.stories.tsx +0 -53
  63. package/src/Input/index.tsx +0 -1
  64. package/src/Introduction/Integrating.stories.mdx +0 -100
  65. package/src/Introduction/Introduction.stories.mdx +0 -9
  66. package/src/Label/Label.tsx +0 -8
  67. package/src/Label/index.ts +0 -1
  68. package/src/Layout/Box.tsx +0 -3
  69. package/src/Layout/Flex.tsx +0 -76
  70. package/src/Layout/index.tsx +0 -2
  71. package/src/Link/Link.stories.tsx +0 -18
  72. package/src/Link/Link.tsx +0 -54
  73. package/src/Link/index.tsx +0 -2
  74. package/src/Loading/Loading.mdx +0 -15
  75. package/src/Loading/Loading.stories.tsx +0 -37
  76. package/src/Loading/Loading.tsx +0 -30
  77. package/src/Loading/index.ts +0 -1
  78. package/src/Modal/Dialog.mdx +0 -19
  79. package/src/Modal/Dialog.stories.tsx +0 -68
  80. package/src/Modal/Dialog.tsx +0 -57
  81. package/src/Modal/DialogContent.tsx +0 -65
  82. package/src/Modal/index.ts +0 -1
  83. package/src/Pagination/StyledPagination.stories.tsx +0 -80
  84. package/src/Pagination/StyledPagination.tsx +0 -70
  85. package/src/Pagination/index.tsx +0 -1
  86. package/src/Popover/Popover.mdx +0 -9
  87. package/src/Popover/Popover.stories.tsx +0 -95
  88. package/src/Popover/index.tsx +0 -34
  89. package/src/Prebuilt/App.tsx +0 -318
  90. package/src/Prebuilt/AppContext.tsx +0 -33
  91. package/src/Prebuilt/AppStateContext.tsx +0 -95
  92. package/src/Prebuilt/IconButton.tsx +0 -26
  93. package/src/Prebuilt/Prebuilt.stories.tsx +0 -46
  94. package/src/Prebuilt/common/PeersSorter.ts +0 -111
  95. package/src/Prebuilt/common/constants.ts +0 -151
  96. package/src/Prebuilt/common/hooks.ts +0 -257
  97. package/src/Prebuilt/common/utils.js +0 -185
  98. package/src/Prebuilt/components/AppData/AppData.tsx +0 -208
  99. package/src/Prebuilt/components/AppData/useChatState.js +0 -18
  100. package/src/Prebuilt/components/AppData/useSheet.ts +0 -33
  101. package/src/Prebuilt/components/AppData/useSidepane.js +0 -99
  102. package/src/Prebuilt/components/AppData/useSidepaneResetOnLayoutUpdate.tsx +0 -22
  103. package/src/Prebuilt/components/AppData/useUISettings.js +0 -212
  104. package/src/Prebuilt/components/AudioVideoToggle.tsx +0 -411
  105. package/src/Prebuilt/components/AuthToken.tsx +0 -148
  106. package/src/Prebuilt/components/CaptionIcon.tsx +0 -27
  107. package/src/Prebuilt/components/Chat/ArrowNavigation.tsx +0 -44
  108. package/src/Prebuilt/components/Chat/Chat.tsx +0 -190
  109. package/src/Prebuilt/components/Chat/ChatActions.tsx +0 -314
  110. package/src/Prebuilt/components/Chat/ChatBody.tsx +0 -493
  111. package/src/Prebuilt/components/Chat/ChatFooter.tsx +0 -316
  112. package/src/Prebuilt/components/Chat/ChatSelector.tsx +0 -228
  113. package/src/Prebuilt/components/Chat/ChatSelectorContainer.tsx +0 -158
  114. package/src/Prebuilt/components/Chat/ChatStates.tsx +0 -73
  115. package/src/Prebuilt/components/Chat/EmptyChat.tsx +0 -58
  116. package/src/Prebuilt/components/Chat/MwebChatOption.tsx +0 -24
  117. package/src/Prebuilt/components/Chat/PinnedMessage.tsx +0 -140
  118. package/src/Prebuilt/components/Chat/StickIndicator.tsx +0 -24
  119. package/src/Prebuilt/components/Chat/useEmojiPickerStyles.js +0 -32
  120. package/src/Prebuilt/components/Chat/useUnreadCount.ts +0 -19
  121. package/src/Prebuilt/components/Chat/utils.ts +0 -11
  122. package/src/Prebuilt/components/ChatSettings.tsx +0 -68
  123. package/src/Prebuilt/components/Chip.tsx +0 -40
  124. package/src/Prebuilt/components/ConferenceScreen.tsx +0 -205
  125. package/src/Prebuilt/components/Connection/ConnectionIndicator.tsx +0 -89
  126. package/src/Prebuilt/components/Connection/TileConnection.tsx +0 -93
  127. package/src/Prebuilt/components/Connection/connectionQualityUtils.js +0 -37
  128. package/src/Prebuilt/components/EmojiReaction.jsx +0 -100
  129. package/src/Prebuilt/components/EndCallFeedback/Feedback.tsx +0 -71
  130. package/src/Prebuilt/components/EndCallFeedback/FeedbackForm.tsx +0 -381
  131. package/src/Prebuilt/components/EndCallFeedback/ThankyouView.tsx +0 -64
  132. package/src/Prebuilt/components/ErrorBoundary.jsx +0 -102
  133. package/src/Prebuilt/components/Footer/ChatToggle.tsx +0 -53
  134. package/src/Prebuilt/components/Footer/EmojiCard.jsx +0 -34
  135. package/src/Prebuilt/components/Footer/Footer.tsx +0 -115
  136. package/src/Prebuilt/components/Footer/PaginatedParticipants.tsx +0 -124
  137. package/src/Prebuilt/components/Footer/ParticipantList.tsx +0 -478
  138. package/src/Prebuilt/components/Footer/PollsToggle.tsx +0 -37
  139. package/src/Prebuilt/components/Footer/RoleAccordion.tsx +0 -183
  140. package/src/Prebuilt/components/Footer/RoleOptions.tsx +0 -215
  141. package/src/Prebuilt/components/Footer/WhiteboardToggle.tsx +0 -52
  142. package/src/Prebuilt/components/FullPageProgress.tsx +0 -22
  143. package/src/Prebuilt/components/HMSVideo/Controls.jsx +0 -22
  144. package/src/Prebuilt/components/HMSVideo/FullscreenButton.tsx +0 -13
  145. package/src/Prebuilt/components/HMSVideo/HLSAutoplayBlockedPrompt.tsx +0 -72
  146. package/src/Prebuilt/components/HMSVideo/HLSCaptionSelector.tsx +0 -15
  147. package/src/Prebuilt/components/HMSVideo/HLSQualitySelector.tsx +0 -248
  148. package/src/Prebuilt/components/HMSVideo/HMSVideo.jsx +0 -75
  149. package/src/Prebuilt/components/HMSVideo/MwebHLSViewTitle.tsx +0 -86
  150. package/src/Prebuilt/components/HMSVideo/PlayPauseButton.tsx +0 -27
  151. package/src/Prebuilt/components/HMSVideo/PlayPauseSeekControls.tsx +0 -158
  152. package/src/Prebuilt/components/HMSVideo/PlayerContext.tsx +0 -15
  153. package/src/Prebuilt/components/HMSVideo/SeekControl.tsx +0 -22
  154. package/src/Prebuilt/components/HMSVideo/VideoProgress.tsx +0 -100
  155. package/src/Prebuilt/components/HMSVideo/VideoTime.tsx +0 -52
  156. package/src/Prebuilt/components/HMSVideo/VolumeControl.tsx +0 -70
  157. package/src/Prebuilt/components/HMSVideo/index.ts +0 -24
  158. package/src/Prebuilt/components/HMSVideo/utils.ts +0 -37
  159. package/src/Prebuilt/components/Header/Header.tsx +0 -52
  160. package/src/Prebuilt/components/Header/HeaderComponents.jsx +0 -57
  161. package/src/Prebuilt/components/Header/ParticipantFilter.jsx +0 -89
  162. package/src/Prebuilt/components/Header/RoomDetailsHeader.tsx +0 -51
  163. package/src/Prebuilt/components/Header/StreamActions.tsx +0 -297
  164. package/src/Prebuilt/components/Header/common.jsx +0 -196
  165. package/src/Prebuilt/components/Header/index.tsx +0 -1
  166. package/src/Prebuilt/components/HlsStatsOverlay.jsx +0 -89
  167. package/src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.stories.tsx +0 -40
  168. package/src/Prebuilt/components/IconButtonWithOptions/IconButtonWithOptions.tsx +0 -167
  169. package/src/Prebuilt/components/Input/KeyboardInputManager.js +0 -107
  170. package/src/Prebuilt/components/InsetTile.tsx +0 -136
  171. package/src/Prebuilt/components/LayoutModeSelector.tsx +0 -112
  172. package/src/Prebuilt/components/Leave/DesktopLeaveRoom.tsx +0 -166
  173. package/src/Prebuilt/components/Leave/EndSessionContent.tsx +0 -64
  174. package/src/Prebuilt/components/Leave/LeaveAtoms.tsx +0 -26
  175. package/src/Prebuilt/components/Leave/LeaveCard.tsx +0 -36
  176. package/src/Prebuilt/components/Leave/LeaveRoom.tsx +0 -82
  177. package/src/Prebuilt/components/Leave/LeaveSessionContent.tsx +0 -61
  178. package/src/Prebuilt/components/Leave/MwebLeaveRoom.tsx +0 -135
  179. package/src/Prebuilt/components/LeaveScreen.tsx +0 -71
  180. package/src/Prebuilt/components/MoreSettings/ActionTile.jsx +0 -60
  181. package/src/Prebuilt/components/MoreSettings/BulkRoleChangeModal.jsx +0 -139
  182. package/src/Prebuilt/components/MoreSettings/CaptionContent.tsx +0 -143
  183. package/src/Prebuilt/components/MoreSettings/CaptionModal.tsx +0 -37
  184. package/src/Prebuilt/components/MoreSettings/ChangeNameContent.tsx +0 -123
  185. package/src/Prebuilt/components/MoreSettings/ChangeNameModal.tsx +0 -78
  186. package/src/Prebuilt/components/MoreSettings/EmbedUrl.jsx +0 -81
  187. package/src/Prebuilt/components/MoreSettings/FullScreenItem.tsx +0 -26
  188. package/src/Prebuilt/components/MoreSettings/MoreSettings.tsx +0 -29
  189. package/src/Prebuilt/components/MoreSettings/MuteAllContent.tsx +0 -81
  190. package/src/Prebuilt/components/MoreSettings/MuteAllModal.tsx +0 -72
  191. package/src/Prebuilt/components/MoreSettings/SplitComponents/DesktopOptions.tsx +0 -282
  192. package/src/Prebuilt/components/MoreSettings/SplitComponents/MwebOptions.tsx +0 -387
  193. package/src/Prebuilt/components/MoreSettings/constants.ts +0 -14
  194. package/src/Prebuilt/components/MwebLandscapePrompt.tsx +0 -81
  195. package/src/Prebuilt/components/Notifications/AutoplayBlockedModal.tsx +0 -39
  196. package/src/Prebuilt/components/Notifications/ChatNotifications.tsx +0 -34
  197. package/src/Prebuilt/components/Notifications/DeviceChangeNotifications.tsx +0 -18
  198. package/src/Prebuilt/components/Notifications/DeviceInUseError.tsx +0 -86
  199. package/src/Prebuilt/components/Notifications/ErrorNotifications.tsx +0 -56
  200. package/src/Prebuilt/components/Notifications/HLSFailureModal.tsx +0 -71
  201. package/src/Prebuilt/components/Notifications/HandRaisedNotifications.tsx +0 -78
  202. package/src/Prebuilt/components/Notifications/InitErrorModal.tsx +0 -42
  203. package/src/Prebuilt/components/Notifications/MessageNotifications.tsx +0 -24
  204. package/src/Prebuilt/components/Notifications/Notifications.tsx +0 -65
  205. package/src/Prebuilt/components/Notifications/PeerNotifications.tsx +0 -52
  206. package/src/Prebuilt/components/Notifications/PermissionErrorModal.tsx +0 -144
  207. package/src/Prebuilt/components/Notifications/PollNotificationModal.tsx +0 -71
  208. package/src/Prebuilt/components/Notifications/ReconnectNotifications.tsx +0 -33
  209. package/src/Prebuilt/components/Notifications/RoleChangeNotification.tsx +0 -24
  210. package/src/Prebuilt/components/Notifications/TrackBulkUnmuteModal.tsx +0 -61
  211. package/src/Prebuilt/components/Notifications/TrackNotifications.tsx +0 -41
  212. package/src/Prebuilt/components/Notifications/TrackUnmuteModal.tsx +0 -63
  213. package/src/Prebuilt/components/Notifications/TranscriptionNotifications.tsx +0 -58
  214. package/src/Prebuilt/components/Notifications/index.tsx +0 -1
  215. package/src/Prebuilt/components/PIP/PIPChat.tsx +0 -292
  216. package/src/Prebuilt/components/PIP/PIPChatOption.tsx +0 -18
  217. package/src/Prebuilt/components/PIP/PIPComponent.tsx +0 -90
  218. package/src/Prebuilt/components/PIP/PIPManager.ts +0 -335
  219. package/src/Prebuilt/components/PIP/PIPProvider.tsx +0 -56
  220. package/src/Prebuilt/components/PIP/PIPWindow.tsx +0 -13
  221. package/src/Prebuilt/components/PIP/SetupMediaSession.js +0 -60
  222. package/src/Prebuilt/components/PIP/context.ts +0 -10
  223. package/src/Prebuilt/components/PIP/index.jsx +0 -6
  224. package/src/Prebuilt/components/PIP/pip.test.js +0 -72
  225. package/src/Prebuilt/components/PIP/pipUtils.js +0 -183
  226. package/src/Prebuilt/components/PIP/usePIPChat.tsx +0 -105
  227. package/src/Prebuilt/components/PIP/usePIPWindow.tsx +0 -12
  228. package/src/Prebuilt/components/Pagination.tsx +0 -60
  229. package/src/Prebuilt/components/Polls/CreatePollQuiz/PollsQuizMenu.tsx +0 -248
  230. package/src/Prebuilt/components/Polls/CreateQuestions/CreateQuestions.jsx +0 -142
  231. package/src/Prebuilt/components/Polls/CreateQuestions/DeleteQuestionModal.tsx +0 -74
  232. package/src/Prebuilt/components/Polls/CreateQuestions/QuestionForm.tsx +0 -324
  233. package/src/Prebuilt/components/Polls/CreateQuestions/SavedQuestion.tsx +0 -64
  234. package/src/Prebuilt/components/Polls/Polls.tsx +0 -31
  235. package/src/Prebuilt/components/Polls/Voting/LeaderboardEntry.tsx +0 -76
  236. package/src/Prebuilt/components/Polls/Voting/LeaderboardSummary.tsx +0 -116
  237. package/src/Prebuilt/components/Polls/Voting/PeerParticipationSummary.tsx +0 -60
  238. package/src/Prebuilt/components/Polls/Voting/QuestionCard.jsx +0 -221
  239. package/src/Prebuilt/components/Polls/Voting/StandardVoting.tsx +0 -47
  240. package/src/Prebuilt/components/Polls/Voting/StatisticBox.tsx +0 -20
  241. package/src/Prebuilt/components/Polls/Voting/TimedVoting.tsx +0 -55
  242. package/src/Prebuilt/components/Polls/Voting/Voting.tsx +0 -143
  243. package/src/Prebuilt/components/Polls/Voting/useQuizSummary.tsx +0 -50
  244. package/src/Prebuilt/components/Polls/common/Line.tsx +0 -4
  245. package/src/Prebuilt/components/Polls/common/MultipleChoiceOptions.jsx +0 -115
  246. package/src/Prebuilt/components/Polls/common/OptionInputWithDelete.tsx +0 -38
  247. package/src/Prebuilt/components/Polls/common/SingleChoiceOptions.jsx +0 -140
  248. package/src/Prebuilt/components/Polls/common/StatusIndicator.tsx +0 -35
  249. package/src/Prebuilt/components/Polls/common/VoteCount.tsx +0 -15
  250. package/src/Prebuilt/components/Polls/common/VoteProgress.tsx +0 -18
  251. package/src/Prebuilt/components/Polls/common/constants.ts +0 -5
  252. package/src/Prebuilt/components/Polls/common/utils.ts +0 -22
  253. package/src/Prebuilt/components/Preview/PreviewForm.tsx +0 -94
  254. package/src/Prebuilt/components/Preview/PreviewJoin.tsx +0 -292
  255. package/src/Prebuilt/components/Preview/PreviewScreen.tsx +0 -38
  256. package/src/Prebuilt/components/PreviousRoleInMetadata.tsx +0 -20
  257. package/src/Prebuilt/components/RaiseHand.tsx +0 -30
  258. package/src/Prebuilt/components/RemoveParticipant.tsx +0 -35
  259. package/src/Prebuilt/components/RoleChangeModal.tsx +0 -188
  260. package/src/Prebuilt/components/RoleChangeRequest/RequestPrompt.tsx +0 -75
  261. package/src/Prebuilt/components/RoleChangeRequest/RoleChangeRequestModal.tsx +0 -94
  262. package/src/Prebuilt/components/RoomDetails/Duration.tsx +0 -26
  263. package/src/Prebuilt/components/RoomDetails/RoomDetailsPane.tsx +0 -63
  264. package/src/Prebuilt/components/RoomDetails/RoomDetailsRow.tsx +0 -23
  265. package/src/Prebuilt/components/RoomDetails/RoomDetailsSheet.tsx +0 -45
  266. package/src/Prebuilt/components/ScreenShareToggle.jsx +0 -58
  267. package/src/Prebuilt/components/ScreenshareDisplay.tsx +0 -39
  268. package/src/Prebuilt/components/ScreenshareTile.tsx +0 -134
  269. package/src/Prebuilt/components/SecondaryTiles.tsx +0 -81
  270. package/src/Prebuilt/components/Settings/DeviceSettings.jsx +0 -208
  271. package/src/Prebuilt/components/Settings/LayoutSettings.tsx +0 -74
  272. package/src/Prebuilt/components/Settings/NotificationSettings.tsx +0 -66
  273. package/src/Prebuilt/components/Settings/SettingsModal.jsx +0 -301
  274. package/src/Prebuilt/components/Settings/StartRecording.jsx +0 -101
  275. package/src/Prebuilt/components/Settings/SwitchWithLabel.tsx +0 -53
  276. package/src/Prebuilt/components/Settings/common.ts +0 -16
  277. package/src/Prebuilt/components/ShareMenuIcon.jsx +0 -27
  278. package/src/Prebuilt/components/SidePaneTabs.tsx +0 -214
  279. package/src/Prebuilt/components/StatsForNerds.jsx +0 -373
  280. package/src/Prebuilt/components/Streaming/Common.jsx +0 -143
  281. package/src/Prebuilt/components/Streaming/ResolutionInput.jsx +0 -88
  282. package/src/Prebuilt/components/TileMenu/TileMenu.tsx +0 -148
  283. package/src/Prebuilt/components/TileMenu/TileMenuContent.tsx +0 -393
  284. package/src/Prebuilt/components/TileMenu/utils.ts +0 -7
  285. package/src/Prebuilt/components/Toast/Toast.jsx +0 -17
  286. package/src/Prebuilt/components/Toast/ToastBatcher.js +0 -64
  287. package/src/Prebuilt/components/Toast/ToastConfig.jsx +0 -177
  288. package/src/Prebuilt/components/Toast/ToastContainer.jsx +0 -30
  289. package/src/Prebuilt/components/Toast/ToastManager.js +0 -44
  290. package/src/Prebuilt/components/VideoLayouts/EqualProminence.tsx +0 -62
  291. package/src/Prebuilt/components/VideoLayouts/Grid.tsx +0 -43
  292. package/src/Prebuilt/components/VideoLayouts/GridLayout.tsx +0 -155
  293. package/src/Prebuilt/components/VideoLayouts/ProminenceLayout.tsx +0 -91
  294. package/src/Prebuilt/components/VideoLayouts/RoleProminence.tsx +0 -66
  295. package/src/Prebuilt/components/VideoLayouts/ScreenshareLayout.tsx +0 -74
  296. package/src/Prebuilt/components/VideoLayouts/WhiteboardLayout.tsx +0 -93
  297. package/src/Prebuilt/components/VideoLayouts/interface.ts +0 -11
  298. package/src/Prebuilt/components/VideoTile.tsx +0 -203
  299. package/src/Prebuilt/components/VirtualBackground/VBCollection.tsx +0 -52
  300. package/src/Prebuilt/components/VirtualBackground/VBHandler.tsx +0 -130
  301. package/src/Prebuilt/components/VirtualBackground/VBOption.tsx +0 -57
  302. package/src/Prebuilt/components/VirtualBackground/VBPicker.tsx +0 -252
  303. package/src/Prebuilt/components/VirtualBackground/VBToggle.tsx +0 -50
  304. package/src/Prebuilt/components/hooks/useAudioOutputTest.tsx +0 -20
  305. package/src/Prebuilt/components/hooks/useAutoStartStreaming.tsx +0 -70
  306. package/src/Prebuilt/components/hooks/useChatBlacklist.ts +0 -29
  307. package/src/Prebuilt/components/hooks/useCloseScreenshareWhiteboard.tsx +0 -17
  308. package/src/Prebuilt/components/hooks/useDropdownList.ts +0 -24
  309. package/src/Prebuilt/components/hooks/useDropdownSelection.jsx +0 -3
  310. package/src/Prebuilt/components/hooks/useFullscreen.ts +0 -46
  311. package/src/Prebuilt/components/hooks/useGroupOnStageActions.tsx +0 -54
  312. package/src/Prebuilt/components/hooks/useMetadata.tsx +0 -56
  313. package/src/Prebuilt/components/hooks/usePeerOnStageActions.tsx +0 -49
  314. package/src/Prebuilt/components/hooks/usePinnedBy.tsx +0 -22
  315. package/src/Prebuilt/components/hooks/usePinnedMessages.ts +0 -78
  316. package/src/Prebuilt/components/hooks/usePlaylist.js +0 -25
  317. package/src/Prebuilt/components/hooks/usePlaylistMusic.js +0 -35
  318. package/src/Prebuilt/components/hooks/useRedirectToLeave.tsx +0 -23
  319. package/src/Prebuilt/components/hooks/useRoleProminencePeers.tsx +0 -39
  320. package/src/Prebuilt/components/hooks/useScreenshareAudio.js +0 -28
  321. package/src/Prebuilt/components/hooks/useTileLayout.tsx +0 -128
  322. package/src/Prebuilt/components/hooks/useUnreadPollQuizPresent.tsx +0 -17
  323. package/src/Prebuilt/components/hooks/useUserPreferences.jsx +0 -26
  324. package/src/Prebuilt/components/hooks/useVideoTileLayout.ts +0 -26
  325. package/src/Prebuilt/components/init/Init.jsx +0 -31
  326. package/src/Prebuilt/components/pdfAnnotator/pdfFileOptions.jsx +0 -42
  327. package/src/Prebuilt/components/pdfAnnotator/pdfHeader.jsx +0 -31
  328. package/src/Prebuilt/components/pdfAnnotator/pdfInfo.jsx +0 -32
  329. package/src/Prebuilt/components/pdfAnnotator/shareScreenOptions.jsx +0 -211
  330. package/src/Prebuilt/components/pdfAnnotator/submitPdf.jsx +0 -48
  331. package/src/Prebuilt/components/pdfAnnotator/uploadedFile.jsx +0 -71
  332. package/src/Prebuilt/components/peerTileUtils.tsx +0 -42
  333. package/src/Prebuilt/images/android-perm-1.png +0 -0
  334. package/src/Prebuilt/images/empty-chat.svg +0 -12
  335. package/src/Prebuilt/images/ios-perm-0.png +0 -0
  336. package/src/Prebuilt/images/pdf-share.png +0 -0
  337. package/src/Prebuilt/images/rtmp.png +0 -0
  338. package/src/Prebuilt/images/screen-share.png +0 -0
  339. package/src/Prebuilt/images/transaction_error.svg +0 -12
  340. package/src/Prebuilt/index.ts +0 -1
  341. package/src/Prebuilt/layouts/EmbedView.jsx +0 -94
  342. package/src/Prebuilt/layouts/HLSView.jsx +0 -747
  343. package/src/Prebuilt/layouts/PDFView.jsx +0 -67
  344. package/src/Prebuilt/layouts/Sheet.tsx +0 -14
  345. package/src/Prebuilt/layouts/SidePane.tsx +0 -241
  346. package/src/Prebuilt/layouts/VideoStreamingSection.tsx +0 -164
  347. package/src/Prebuilt/layouts/WaitingView.tsx +0 -52
  348. package/src/Prebuilt/plugins/CaptionsViewer.tsx +0 -261
  349. package/src/Prebuilt/plugins/FlyingEmoji.jsx +0 -154
  350. package/src/Prebuilt/plugins/RemoteStopScreenshare.jsx +0 -18
  351. package/src/Prebuilt/plugins/transcription/Transcriber.js +0 -216
  352. package/src/Prebuilt/plugins/transcription/TranscriptionButton.jsx +0 -138
  353. package/src/Prebuilt/plugins/transcription/index.jsx +0 -1
  354. package/src/Prebuilt/primitives/DialogContent.jsx +0 -285
  355. package/src/Prebuilt/primitives/DropdownTrigger.jsx +0 -46
  356. package/src/Prebuilt/provider/roomLayoutProvider/constants/index.ts +0 -60
  357. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useFetchRoomLayout.ts +0 -88
  358. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useInsetEnabled.ts +0 -10
  359. package/src/Prebuilt/provider/roomLayoutProvider/hooks/useRoomLayoutScreen.ts +0 -112
  360. package/src/Prebuilt/provider/roomLayoutProvider/index.tsx +0 -53
  361. package/src/Prebuilt/services/FeatureFlags.jsx +0 -46
  362. package/src/Progress/index.tsx +0 -17
  363. package/src/QRCode/QRCode.mdx +0 -9
  364. package/src/QRCode/QRCode.stories.tsx +0 -29
  365. package/src/QRCode/QRCode.tsx +0 -6
  366. package/src/QRCode/index.tsx +0 -1
  367. package/src/RadioGroup/RadioGroup.stories.tsx +0 -32
  368. package/src/RadioGroup/RadioGroup.tsx +0 -33
  369. package/src/RadioGroup/index.tsx +0 -1
  370. package/src/ReactSelect/ReactSelect.stories.tsx +0 -83
  371. package/src/ReactSelect/ReactSelect.tsx +0 -97
  372. package/src/ReactSelect/index.ts +0 -1
  373. package/src/Select/Select.stories.tsx +0 -33
  374. package/src/Select/Select.tsx +0 -63
  375. package/src/Select/index.ts +0 -1
  376. package/src/Sheet/Sheet.mdx +0 -19
  377. package/src/Sheet/Sheet.stories.tsx +0 -103
  378. package/src/Sheet/Sheet.tsx +0 -122
  379. package/src/Sheet/index.ts +0 -1
  380. package/src/Slider/Slider.stories.tsx +0 -21
  381. package/src/Slider/Slider.tsx +0 -70
  382. package/src/Slider/index.ts +0 -1
  383. package/src/Stats/Stats.tsx +0 -243
  384. package/src/Stats/StyledStats.tsx +0 -57
  385. package/src/Stats/formatBytes.ts +0 -19
  386. package/src/Stats/index.tsx +0 -2
  387. package/src/Stats/useQoE.ts +0 -79
  388. package/src/Switch/Switch.mdx +0 -11
  389. package/src/Switch/Switch.stories.tsx +0 -46
  390. package/src/Switch/Switch.tsx +0 -52
  391. package/src/Switch/index.ts +0 -1
  392. package/src/Tabs/Tabs.stories.tsx +0 -77
  393. package/src/Tabs/Tabs.tsx +0 -41
  394. package/src/Tabs/index.tsx +0 -1
  395. package/src/Text/Text.stories.tsx +0 -21
  396. package/src/Text/Text.tsx +0 -149
  397. package/src/Text/index.tsx +0 -1
  398. package/src/TextArea/TextArea.tsx +0 -30
  399. package/src/TextArea/index.tsx +0 -1
  400. package/src/Theme/Theme.stories.mdx +0 -8
  401. package/src/Theme/ThemeProvider.tsx +0 -98
  402. package/src/Theme/ThemeStory.jsx +0 -56
  403. package/src/Theme/base.config.ts +0 -236
  404. package/src/Theme/index.tsx +0 -2
  405. package/src/Theme/stitches.config.ts +0 -88
  406. package/src/Theme/useSSR.tsx +0 -24
  407. package/src/TileMenu/StyledMenuTile.tsx +0 -105
  408. package/src/TileMenu/TileMenu.tsx +0 -98
  409. package/src/TileMenu/index.tsx +0 -1
  410. package/src/Toast/AppToast.stories.tsx +0 -56
  411. package/src/Toast/Toast.mdx +0 -19
  412. package/src/Toast/Toast.stories.tsx +0 -57
  413. package/src/Toast/Toast.tsx +0 -170
  414. package/src/Toast/index.tsx +0 -1
  415. package/src/Tooltip/Tooltip.stories.tsx +0 -62
  416. package/src/Tooltip/Tooltip.tsx +0 -79
  417. package/src/Tooltip/index.ts +0 -1
  418. package/src/Video/UseVideo.mdx +0 -22
  419. package/src/Video/UseVideo.stories.tsx +0 -26
  420. package/src/Video/Video.mdx +0 -24
  421. package/src/Video/Video.stories.tsx +0 -27
  422. package/src/Video/Video.tsx +0 -61
  423. package/src/Video/index.tsx +0 -1
  424. package/src/VideoList/StyledVideoList.tsx +0 -39
  425. package/src/VideoList/VideoList.stories.tsx +0 -92
  426. package/src/VideoList/index.tsx +0 -2
  427. package/src/VideoList/videoListUtils.tsx +0 -20
  428. package/src/VideoTile/StyledVideoTile.tsx +0 -146
  429. package/src/VideoTile/VideoTile.mdx +0 -28
  430. package/src/VideoTile/VideoTile.stories.tsx +0 -32
  431. package/src/VideoTile/index.tsx +0 -1
  432. package/src/context/DialogContext.tsx +0 -13
  433. package/src/fixtures/chats.ts +0 -25
  434. package/src/fixtures/peers.ts +0 -27
  435. package/src/fixtures/tracks.ts +0 -11
  436. package/src/hooks/useDialogContainerSelector.tsx +0 -7
  437. package/src/index.ts +0 -41
  438. package/src/store/SetupFakeStore.ts +0 -33
  439. package/src/store/StorybookSDK.ts +0 -231
  440. package/src/utils/animations.ts +0 -114
  441. package/src/utils/index.ts +0 -2
  442. package/src/utils/styles.ts +0 -22
@@ -1,103 +0,0 @@
1
- import React from 'react';
2
- import { ComponentMeta, ComponentStory } from '@storybook/react';
3
- import { CrossIcon, InfoIcon } from '@100mslive/react-icons';
4
- import { Button } from '../Button';
5
- import { HorizontalDivider } from '../Divider';
6
- import { Fieldset } from '../Fieldset';
7
- import { Input } from '../Input';
8
- import { Label } from '../Label';
9
- import { Box, Flex } from '../Layout';
10
- import { Text } from '../Text';
11
- import { Sheet } from './Sheet';
12
- import SheetDocs from './Sheet.mdx';
13
-
14
- export default {
15
- title: 'UI Components/Sheet',
16
- component: Sheet.Root,
17
- argTypes: { onClick: { action: 'clicked' } },
18
- parameters: {
19
- docs: {
20
- page: SheetDocs,
21
- },
22
- },
23
- } as ComponentMeta<typeof Sheet.Root>;
24
-
25
- //👇 We create a “template” of how args map to rendering
26
- const Template: ComponentStory<typeof Sheet.Root> = () => (
27
- <Sheet.Root>
28
- <Sheet.Trigger asChild>
29
- <Button variant="standard">Open Sheet</Button>
30
- </Sheet.Trigger>
31
- <Sheet.Content>
32
- <Sheet.Title css={{ p: '$10' }}>
33
- <Flex direction="row" justify="between" css={{ w: '100%' }}>
34
- <Flex justify="start" align="center" gap="3">
35
- <InfoIcon />
36
- <Text variant="h5">Sheet Heading</Text>
37
- </Flex>
38
- <Sheet.Close css={{ color: 'white' }}>
39
- <CrossIcon />
40
- </Sheet.Close>
41
- </Flex>
42
- </Sheet.Title>
43
- <HorizontalDivider />
44
- <Box as="div" css={{ p: '$10', overflowY: 'scroll', maxHeight: '70vh' }}>
45
- <Text variant="body1" css={{ c: '$on_surface_medium' }}>
46
- Body 2: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
47
- dolore magna aliqua. Ut enim ad minim veniam,im venitetur adipiscing elit, sed do eiusmod tempor incididunt ut
48
- labore et dolore magna aliqua. Ut enim ad minim veniam,im veni
49
- </Text>
50
- <Fieldset>
51
- <Label htmlFor="name">Name</Label>
52
- <Input id="name" defaultValue="Amar" css={{ w: '50%' }} />
53
- </Fieldset>
54
- <Fieldset>
55
- <Label htmlFor="username">Username</Label>
56
- <Input id="username" defaultValue="@amar1995" css={{ w: '50%' }} />
57
- </Fieldset>
58
- <Text variant="body1" css={{ c: '$on_surface_medium' }}>
59
- Body 2: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
60
- dolore magna aliqua. Ut enim ad minim veniam,im venitetur adipiscing elit, sed do eiusmod tempor incididunt ut
61
- labore et dolore magna aliqua. Ut enim ad minim veniam,im veni
62
- </Text>
63
- <Fieldset>
64
- <Label htmlFor="name">Name</Label>
65
- <Input id="name" defaultValue="Amar" css={{ w: '50%' }} />
66
- </Fieldset>
67
- <Fieldset>
68
- <Label htmlFor="username">Username</Label>
69
- <Input id="username" defaultValue="@amar1995" css={{ w: '50%' }} />
70
- </Fieldset>
71
- <Text variant="body1" css={{ c: '$on_surface_medium' }}>
72
- Body 2: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
73
- dolore magna aliqua. Ut enim ad minim veniam,im venitetur adipiscing elit, sed do eiusmod tempor incididunt ut
74
- labore et dolore magna aliqua. Ut enim ad minim veniam,im veni
75
- </Text>
76
- <Fieldset>
77
- <Label htmlFor="name">Name</Label>
78
- <Input id="name" defaultValue="Amar" css={{ w: '50%' }} />
79
- </Fieldset>
80
- <Fieldset>
81
- <Label htmlFor="username">Username</Label>
82
- <Input id="username" defaultValue="@amar1995" css={{ w: '50%' }} />
83
- </Fieldset>
84
- <Text variant="body1" css={{ c: '$on_surface_medium' }}>
85
- Body 2: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
86
- dolore magna aliqua. Ut enim ad minim veniam,im venitetur adipiscing elit, sed do eiusmod tempor incididunt ut
87
- labore et dolore magna aliqua. Ut enim ad minim veniam,im veni
88
- </Text>
89
- <Fieldset>
90
- <Label htmlFor="name">Name</Label>
91
- <Input id="name" defaultValue="Amar" css={{ w: '50%' }} />
92
- </Fieldset>
93
- <Fieldset>
94
- <Label htmlFor="username">Username</Label>
95
- <Input id="username" defaultValue="@amar1995" css={{ w: '50%' }} />
96
- </Fieldset>
97
- </Box>
98
- </Sheet.Content>
99
- </Sheet.Root>
100
- );
101
-
102
- export const Example = Template.bind({});
103
- Example.storyName = 'Sheet';
@@ -1,122 +0,0 @@
1
- import React from 'react';
2
- import * as DialogPrimitive from '@radix-ui/react-dialog';
3
- import { CSS, VariantProps } from '@stitches/react';
4
- import { Dialog } from '../Modal';
5
- import { styled } from '../Theme';
6
- import { sheetFadeIn, sheetFadeOut, sheetSlideIn, sheetSlideOut } from '../utils';
7
-
8
- const SheetRoot = styled(DialogPrimitive.Root, {
9
- minHeight: '240px',
10
- maxWidth: '100%',
11
- });
12
- const SheetTrigger = styled(DialogPrimitive.Trigger, {
13
- appearance: 'none !important', // Needed for safari it shows white overlay
14
- });
15
-
16
- const StyledOverlay = styled(Dialog.Overlay, {
17
- top: 0,
18
- right: 0,
19
- bottom: 0,
20
- left: 0,
21
-
22
- '&[data-state="open"]': {
23
- animation: `${sheetFadeIn} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,
24
- },
25
-
26
- '&[data-state="closed"]': {
27
- animation: `${sheetFadeOut} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,
28
- },
29
- });
30
-
31
- const StyledContent = styled(DialogPrimitive.Content, {
32
- color: '$on_surface_medium',
33
- backgroundColor: '$surface_default',
34
- borderTopLeftRadius: '$3',
35
- borderTopRightRadius: '$3',
36
- boxShadow: '0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)',
37
- position: 'fixed',
38
- zIndex: 22,
39
- top: 0,
40
- right: 0,
41
- left: 0,
42
- bottom: 0,
43
- maxHeight: '96%',
44
-
45
- // Among other things, prevents text alignment inconsistencies when dialog can't be centered in the viewport evenly.
46
- // Affects animated and non-animated dialogs alike.
47
- willChange: 'transform',
48
-
49
- '&:focus': {
50
- outline: 'none',
51
- },
52
- '@allowMotion': {
53
- '&[data-state="open"]': {
54
- animation: `${sheetSlideIn} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,
55
- },
56
-
57
- '&[data-state="closed"]': {
58
- animation: `${sheetSlideOut} 150ms cubic-bezier(0.22, 1, 0.36, 1)`,
59
- },
60
- },
61
- '@ls': {
62
- maxWidth: '50%',
63
- margin: '0 auto',
64
- },
65
-
66
- variants: {
67
- side: {
68
- top: {
69
- $$transformValue: 'translate3d(0,-100%,0)',
70
- bottom: 'auto',
71
- },
72
- right: {
73
- $$transformValue: 'translate3d(100%,0,0)',
74
- right: 0,
75
- },
76
- bottom: {
77
- $$transformValue: 'translate3d(0,100%,0)',
78
- bottom: 0,
79
- top: 'auto',
80
- },
81
- left: {
82
- $$transformValue: 'translate3d(-100%,0,0)',
83
- left: 0,
84
- },
85
- },
86
- },
87
-
88
- defaultVariants: {
89
- side: 'bottom',
90
- },
91
- });
92
-
93
- type SheetContentVariants = VariantProps<typeof StyledContent>;
94
- type DialogContentPrimitiveProps = React.ComponentProps<typeof DialogPrimitive.Content>;
95
- type SheetContentProps = DialogContentPrimitiveProps & SheetContentVariants & { css?: CSS; container?: HTMLElement };
96
-
97
- const SheetContent = React.forwardRef<React.ElementRef<typeof StyledContent>, SheetContentProps>(
98
- ({ children, container, ...props }, forwardedRef) => (
99
- <Dialog.Portal container={container}>
100
- <StyledOverlay />
101
- <StyledContent {...props} ref={forwardedRef}>
102
- {children}
103
- </StyledContent>
104
- </Dialog.Portal>
105
- ),
106
- );
107
- const SheetClose = Dialog.Close;
108
- const SheetTitle = styled(DialogPrimitive.Title, {
109
- margin: 0,
110
- });
111
- const SheetDescription = Dialog.Description;
112
- const SheetDefaultCloseIcon = Dialog.DefaultClose;
113
-
114
- export const Sheet = {
115
- Root: SheetRoot,
116
- Trigger: SheetTrigger,
117
- Content: SheetContent,
118
- Description: SheetDescription,
119
- Title: SheetTitle,
120
- Close: SheetClose,
121
- DefaultClose: SheetDefaultCloseIcon,
122
- };
@@ -1 +0,0 @@
1
- export { Sheet } from './Sheet';
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import { ComponentMeta, ComponentStory } from '@storybook/react';
3
- import { Box } from '..';
4
- import { Slider } from './Slider';
5
-
6
- export default {
7
- title: 'UI Components/Slider',
8
- component: Slider,
9
- } as ComponentMeta<typeof Slider>;
10
-
11
- const Template: ComponentStory<typeof Slider> = () => {
12
- const [volume, setVolume] = React.useState<number>(25);
13
- return (
14
- <Box css={{ width: '$80' }}>
15
- <Slider defaultValue={[25]} step={1} value={[volume]} onValueChange={e => setVolume(e[0])} />
16
- </Box>
17
- );
18
- };
19
-
20
- export const Primary = Template.bind({});
21
- Primary.storyName = 'Slider';
@@ -1,70 +0,0 @@
1
- import React from 'react';
2
- import * as BaseSlider from '@radix-ui/react-slider';
3
- import { CSS } from '@stitches/react';
4
- import { styled } from '../Theme';
5
- import { Tooltip } from '../Tooltip';
6
-
7
- const Root = styled(BaseSlider.Root, {
8
- position: 'relative',
9
- display: 'flex',
10
- alignItems: 'center',
11
- userSelect: 'none',
12
- touchAction: 'none',
13
- width: '100%',
14
- '&[data-orientation="horizontal"]': {
15
- height: 20,
16
- },
17
- });
18
-
19
- const Track = styled(BaseSlider.Track, {
20
- backgroundColor: '$surface_bright',
21
- position: 'relative',
22
- flexGrow: 1,
23
- borderRadius: '$round',
24
- cursor: 'pointer',
25
- '&[data-orientation="horizontal"]': { height: 3 },
26
- });
27
-
28
- const Range = styled(BaseSlider.Range, {
29
- position: 'absolute',
30
- backgroundColor: '$primary_default',
31
- borderRadius: '$round',
32
- height: '100%',
33
- });
34
-
35
- const Thumb = styled(BaseSlider.Thumb, {
36
- all: 'unset',
37
- display: 'block',
38
- width: '$8',
39
- height: '$8',
40
- backgroundColor: '$primary_default',
41
- cursor: 'pointer',
42
- boxShadow: `0 2px 10px $colors$surface_default`,
43
- borderRadius: 10,
44
- '&:hover': { backgroundColor: '$primary_default' },
45
- '&:focus': { boxShadow: 'none' },
46
- });
47
-
48
- type SliderProps = React.ComponentProps<typeof Root> & {
49
- thumbStyles?: CSS;
50
- showTooltip?: boolean;
51
- };
52
-
53
- export const Slider: React.FC<SliderProps & { showTooltip?: boolean }> = ({
54
- showTooltip = true,
55
- thumbStyles,
56
- ...props
57
- }) => (
58
- <Root {...props}>
59
- <Track>
60
- <Range />
61
- </Track>
62
- {showTooltip ? (
63
- <Tooltip title={String(props.value?.[0])}>
64
- <Thumb css={thumbStyles} />
65
- </Tooltip>
66
- ) : (
67
- <Thumb css={thumbStyles} />
68
- )}
69
- </Root>
70
- );
@@ -1 +0,0 @@
1
- export { Slider } from './Slider';
@@ -1,243 +0,0 @@
1
- import React, { Fragment } from 'react';
2
- import {
3
- HMSPeerID,
4
- HMSTrackID,
5
- HMSTrackStats,
6
- RID,
7
- selectConnectionQualityByPeerID,
8
- selectHMSStats,
9
- simulcastMapping,
10
- useHMSStatsStore,
11
- useHMSStore,
12
- } from '@100mslive/react-sdk';
13
- import { Tooltip } from '../Tooltip';
14
- import { formatBytes } from './formatBytes';
15
- import { Stats } from './StyledStats';
16
- import { useQoE } from './useQoE';
17
-
18
- export interface VideoTileStatsProps {
19
- videoTrackID?: HMSTrackID;
20
- audioTrackID?: HMSTrackID;
21
- peerID?: HMSPeerID;
22
- isLocal: boolean;
23
- }
24
-
25
- /**
26
- * This component can be used to overlay webrtc stats over the Video Tile. For the local tracks it also includes
27
- * remote inbound stats as sent by the SFU in receiver report.
28
- */
29
- export function VideoTileStats({ videoTrackID, audioTrackID, peerID, isLocal = false }: VideoTileStatsProps) {
30
- const audioSelector = isLocal ? selectHMSStats.localAudioTrackStatsByID : selectHMSStats.trackStatsByID;
31
- const audioTrackStats = useHMSStatsStore(audioSelector(audioTrackID));
32
- const localVideoTrackStats = useHMSStatsStore(selectHMSStats.localVideoTrackStatsByID(videoTrackID));
33
- const remoteVideoTrackStats = useHMSStatsStore(selectHMSStats.trackStatsByID(videoTrackID));
34
- const videoTrackStats = isLocal ? localVideoTrackStats?.[0] : remoteVideoTrackStats;
35
- const downlinkScore = useHMSStore(selectConnectionQualityByPeerID(peerID))?.downlinkQuality;
36
- const availableOutgoingBitrate = useHMSStatsStore(selectHMSStats.availablePublishBitrate);
37
- const qoe = useQoE({ videoTrackID, audioTrackID, isLocal });
38
-
39
- // Viewer role - no stats to show
40
- if (!(audioTrackStats || videoTrackStats)) {
41
- return null;
42
- }
43
- return (
44
- <Stats.Root>
45
- <table>
46
- <tbody>
47
- {isLocal ? (
48
- <Fragment>
49
- <StatsRow
50
- show={isNotNullishAndNot0(availableOutgoingBitrate)}
51
- label="AOBR"
52
- tooltip="Available Outgoing Bitrate"
53
- value={formatBytes(availableOutgoingBitrate, 'b/s')}
54
- />
55
- {localVideoTrackStats?.map(stat => {
56
- if (!stat) {
57
- return null;
58
- }
59
- const layer = stat.rid ? simulcastMapping[stat.rid as RID] : '';
60
- return (
61
- <Fragment key={`${stat.id}${stat.rid}`}>
62
- {layer && <StatsRow label={layer.toUpperCase()} value="" />}
63
- <StatsRow
64
- show={isNotNullishAndNot0(stat.frameWidth)}
65
- label="Width"
66
- value={stat.frameWidth?.toString()}
67
- />
68
- <StatsRow
69
- show={isNotNullishAndNot0(stat.frameHeight)}
70
- label="Height"
71
- value={stat.frameHeight?.toString()}
72
- />
73
- <StatsRow
74
- show={isNotNullishAndNot0(stat.framesPerSecond)}
75
- label="FPS"
76
- value={`${stat.framesPerSecond} ${
77
- isNotNullishAndNot0(stat.framesDropped) ? `(${stat.framesDropped} dropped)` : ''
78
- }`}
79
- />
80
- <StatsRow
81
- show={isNotNullish(stat.bitrate)}
82
- label="Bitrate(V)"
83
- value={formatBytes(stat.bitrate, 'b/s')}
84
- />
85
- <Stats.Gap />
86
- </Fragment>
87
- );
88
- })}
89
- </Fragment>
90
- ) : (
91
- <Fragment>
92
- <StatsRow show={isNotNullish(qoe)} label="QoE" value={qoe} />
93
- <StatsRow
94
- show={isNotNullishAndNot0(videoTrackStats?.frameWidth)}
95
- label="Width"
96
- value={videoTrackStats?.frameWidth?.toString()}
97
- />
98
- <StatsRow
99
- show={isNotNullishAndNot0(videoTrackStats?.frameHeight)}
100
- label="Height"
101
- value={videoTrackStats?.frameHeight?.toString()}
102
- />
103
- <StatsRow
104
- show={isNotNullishAndNot0(videoTrackStats?.framesPerSecond)}
105
- label="FPS"
106
- value={`${videoTrackStats?.framesPerSecond} ${
107
- isNotNullishAndNot0(videoTrackStats?.framesDropped)
108
- ? `(${videoTrackStats?.framesDropped} dropped)`
109
- : ''
110
- }`}
111
- />
112
- <StatsRow
113
- show={isNotNullish(videoTrackStats?.totalPausesDuration)}
114
- label="Pauses Duration"
115
- value={videoTrackStats?.totalPausesDuration}
116
- />
117
- <StatsRow
118
- show={isNotNullish(videoTrackStats?.totalFreezesDuration)}
119
- label="Freezes Duration"
120
- value={videoTrackStats?.totalFreezesDuration}
121
- />
122
- <StatsRow
123
- show={isNotNullish(videoTrackStats?.bitrate)}
124
- label="Bitrate(V)"
125
- value={formatBytes(videoTrackStats?.bitrate, 'b/s')}
126
- />
127
- </Fragment>
128
- )}
129
-
130
- <StatsRow
131
- show={isNotNullish(audioTrackStats?.bitrate)}
132
- label="Bitrate(A)"
133
- value={formatBytes(audioTrackStats?.bitrate, 'b/s')}
134
- />
135
-
136
- <StatsRow show={isNotNullish(downlinkScore)} label="CQS" value={downlinkScore} />
137
-
138
- <StatsRow show={isNotNullish(videoTrackStats?.codec)} label="Codec(V)" value={videoTrackStats?.codec} />
139
-
140
- <StatsRow show={isNotNullish(audioTrackStats?.codec)} label="Codec(A)" value={audioTrackStats?.codec} />
141
-
142
- <PacketLostAndJitter audioTrackStats={audioTrackStats} videoTrackStats={videoTrackStats} />
143
- </tbody>
144
- </table>
145
- </Stats.Root>
146
- );
147
- }
148
-
149
- const PacketLostAndJitter = ({
150
- audioTrackStats,
151
- videoTrackStats,
152
- }: {
153
- audioTrackStats?: HMSTrackStats;
154
- videoTrackStats?: HMSTrackStats;
155
- }) => {
156
- // for local peer, we'll use the remote inbound stats to get packet loss and jitter, to know whether the track is
157
- // local we check if the stats type has outbound in it as it's being published from local. Both audio and video
158
- // tracks are checked in case the user has permission to publish only one of them.
159
- const isLocalPeer = audioTrackStats?.type.includes('outbound') || videoTrackStats?.type.includes('outbound');
160
- const audioStats = isLocalPeer ? audioTrackStats?.remote : audioTrackStats;
161
- const videoStats = isLocalPeer ? videoTrackStats?.remote : videoTrackStats;
162
-
163
- return (
164
- <>
165
- <TrackPacketsLostRow label="Packet Loss(V)" stats={videoStats} />
166
- <TrackPacketsLostRow label="Packet Loss(A)" stats={audioStats} />
167
- <StatsRow
168
- show={isNotNullish(videoStats?.jitter)}
169
- label="Jitter(V)"
170
- value={`${((videoStats?.jitter ?? 0) * 1000).toFixed(2)} ms`}
171
- />
172
- <StatsRow
173
- show={isNotNullish(audioStats?.jitter)}
174
- label="Jitter(A)"
175
- value={`${((audioStats?.jitter ?? 0) * 1000).toFixed(2)} ms`}
176
- />
177
- </>
178
- );
179
- };
180
-
181
- const TrackPacketsLostRow = ({
182
- stats,
183
- label,
184
- }: {
185
- stats?: Pick<HMSTrackStats, 'packetsLost' | 'packetsLostRate'>;
186
- label: string;
187
- }) => {
188
- const packetsLostRate = `${stats?.packetsLostRate ? stats.packetsLostRate.toFixed(2) : 0}/s`;
189
-
190
- return (
191
- <StatsRow
192
- show={isNotNullishAndNot0(stats?.packetsLost)}
193
- label={label}
194
- value={`${stats?.packetsLost}(${packetsLostRate})`}
195
- />
196
- );
197
- };
198
-
199
- const RawStatsRow = ({
200
- label = '',
201
- value = '',
202
- tooltip = '',
203
- show = true,
204
- }: {
205
- label: string;
206
- value?: string | number;
207
- show?: boolean;
208
- tooltip?: string;
209
- }) => {
210
- const statsLabel = <Stats.Label>{label}</Stats.Label>;
211
-
212
- return (
213
- <>
214
- {show ? (
215
- <Stats.Row>
216
- {tooltip ? (
217
- <Tooltip side="top" title={tooltip}>
218
- {statsLabel}
219
- </Tooltip>
220
- ) : (
221
- statsLabel
222
- )}
223
- {value === '' ? <Stats.Value /> : <Stats.Value>{value}</Stats.Value>}
224
- </Stats.Row>
225
- ) : null}
226
- </>
227
- );
228
- };
229
-
230
- // memoize so only the rows which change rerender
231
- const StatsRow = React.memo(RawStatsRow);
232
-
233
- export function isNotNullishAndNot0(value: number | undefined | null) {
234
- return isNotNullish(value) && value !== 0;
235
- }
236
-
237
- /**
238
- * Check only for presence(not truthy) of a value.
239
- * Use in places where 0, false need to be considered valid.
240
- */
241
- export function isNotNullish(value: number | string | undefined | null) {
242
- return value !== undefined && value !== null;
243
- }
@@ -1,57 +0,0 @@
1
- import { styled } from '../Theme';
2
-
3
- export const Root = styled('div', {
4
- backgroundColor: 'rgba(0,0,0,0.75)',
5
- position: 'absolute',
6
- top: '$3',
7
- left: '$3',
8
- zIndex: 7,
9
- borderRadius: '$2',
10
- padding: '$2',
11
- fontSize: '$xs',
12
- overflowY: 'auto',
13
- maxHeight: '75%',
14
- maxWidth: '85%',
15
- });
16
-
17
- export const Table = styled('table', {});
18
-
19
- export const Row = styled('tr', {
20
- width: '100%',
21
- '& > * + *': {
22
- px: '$4',
23
- },
24
- whiteSpace: 'nowrap',
25
- textAlign: 'left',
26
- });
27
-
28
- export const Label = styled('td', {
29
- color: '$on_primary_high',
30
- fontWeight: '$regular',
31
- });
32
-
33
- export const Value = styled('td', {
34
- color: '$on_primary_high',
35
- });
36
-
37
- export const Gap = styled('tr', {
38
- height: '$4',
39
- });
40
-
41
- interface StatsType {
42
- Root: typeof Root;
43
- Row: typeof Row;
44
- Label: typeof Label;
45
- Value: typeof Value;
46
- Table: typeof Table;
47
- Gap: typeof Gap;
48
- }
49
-
50
- export const Stats: StatsType = {
51
- Root,
52
- Row,
53
- Label,
54
- Value,
55
- Table,
56
- Gap,
57
- };
@@ -1,19 +0,0 @@
1
- export const formatBytes = (bytes?: number, unit = 'B', decimals = 2) => {
2
- if (bytes === 0) {
3
- return `0 ${unit}`;
4
- }
5
- if (!bytes) {
6
- return '-';
7
- }
8
-
9
- const k = 1024;
10
- const dm = decimals < 0 ? 0 : decimals;
11
- const sizes = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'].map(size => size + unit);
12
-
13
- let i = Math.floor(Math.log(bytes) / Math.log(k));
14
-
15
- // B to KB
16
- i === 0 && i++;
17
-
18
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
19
- };
@@ -1,2 +0,0 @@
1
- export { VideoTileStats } from './Stats';
2
- export { formatBytes } from './formatBytes';