@100mslive/react-native-room-kit 1.1.2 → 1.1.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 (658) hide show
  1. package/lib/commonjs/HMSContainer.js.map +1 -1
  2. package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
  3. package/lib/commonjs/HMSPrebuilt.js +3 -0
  4. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  5. package/lib/commonjs/HMSRoomSetup.js +28 -4
  6. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  7. package/lib/commonjs/Icons/100ms/index.js.map +1 -1
  8. package/lib/commonjs/Icons/Add/index.js.map +1 -1
  9. package/lib/commonjs/Icons/Alert/index.js.map +1 -1
  10. package/lib/commonjs/Icons/AlertTriangle/index.js.map +1 -1
  11. package/lib/commonjs/Icons/AnswerPhone/index.js.map +1 -1
  12. package/lib/commonjs/Icons/BRB/index.js.map +1 -1
  13. package/lib/commonjs/Icons/Bluetooth/index.js.map +1 -1
  14. package/lib/commonjs/Icons/Camera/index.js.map +1 -1
  15. package/lib/commonjs/Icons/Chat/index.js.map +1 -1
  16. package/lib/commonjs/Icons/Check/index.js.map +1 -1
  17. package/lib/commonjs/Icons/CheckBox/index.js.map +1 -1
  18. package/lib/commonjs/Icons/Chevron/index.js.map +1 -1
  19. package/lib/commonjs/Icons/Clock/assets/clock-vector.png +0 -0
  20. package/lib/commonjs/Icons/Clock/assets/clock-vector@2x.png +0 -0
  21. package/lib/commonjs/Icons/Clock/assets/clock-vector@3x.png +0 -0
  22. package/lib/commonjs/Icons/Clock/assets/clock.png +0 -0
  23. package/lib/commonjs/Icons/Clock/assets/clock@2x.png +0 -0
  24. package/lib/commonjs/Icons/Clock/assets/clock@3x.png +0 -0
  25. package/lib/commonjs/Icons/Clock/index.js +7 -2
  26. package/lib/commonjs/Icons/Clock/index.js.map +1 -1
  27. package/lib/commonjs/Icons/Close/index.js.map +1 -1
  28. package/lib/commonjs/Icons/CrossCircle/index.js.map +1 -1
  29. package/lib/commonjs/Icons/End/index.js.map +1 -1
  30. package/lib/commonjs/Icons/Eye/index.js.map +1 -1
  31. package/lib/commonjs/Icons/GenericLogo/index.js.map +1 -1
  32. package/lib/commonjs/Icons/Hamburger/index.js.map +1 -1
  33. package/lib/commonjs/Icons/Hand/index.js.map +1 -1
  34. package/lib/commonjs/Icons/Headphones/index.js.map +1 -1
  35. package/lib/commonjs/Icons/Leave/index.js.map +1 -1
  36. package/lib/commonjs/Icons/Maximize/index.js.map +1 -1
  37. package/lib/commonjs/Icons/Mic/index.js.map +1 -1
  38. package/lib/commonjs/Icons/Minimize/index.js.map +1 -1
  39. package/lib/commonjs/Icons/NetworkQuality/index.js.map +1 -1
  40. package/lib/commonjs/Icons/NoEntry/index.js.map +1 -1
  41. package/lib/commonjs/Icons/Participants/index.js.map +1 -1
  42. package/lib/commonjs/Icons/PauseCircle/index.js.map +1 -1
  43. package/lib/commonjs/Icons/Pencil/index.js.map +1 -1
  44. package/lib/commonjs/Icons/Person/index.js.map +1 -1
  45. package/lib/commonjs/Icons/Pin/index.js.map +1 -1
  46. package/lib/commonjs/Icons/Poll/index.js.map +1 -1
  47. package/lib/commonjs/Icons/PollVote/index.js.map +1 -1
  48. package/lib/commonjs/Icons/Quiz/index.js.map +1 -1
  49. package/lib/commonjs/Icons/Radio/index.js.map +1 -1
  50. package/lib/commonjs/Icons/Recording/index.js.map +1 -1
  51. package/lib/commonjs/Icons/RotateCamera/index.js.map +1 -1
  52. package/lib/commonjs/Icons/ScreenShare/index.js.map +1 -1
  53. package/lib/commonjs/Icons/Search/index.js.map +1 -1
  54. package/lib/commonjs/Icons/Send/index.js.map +1 -1
  55. package/lib/commonjs/Icons/Settings/index.js.map +1 -1
  56. package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
  57. package/lib/commonjs/Icons/Star/index.js.map +1 -1
  58. package/lib/commonjs/Icons/Stop/index.js.map +1 -1
  59. package/lib/commonjs/Icons/ThreeDots/index.js.map +1 -1
  60. package/lib/commonjs/Icons/TrashBin/index.js.map +1 -1
  61. package/lib/commonjs/Icons/Wave/index.js.map +1 -1
  62. package/lib/commonjs/Icons/WelcomeHand/index.js.map +1 -1
  63. package/lib/commonjs/Icons/index.js.map +1 -1
  64. package/lib/commonjs/components/AnimatedFooter.js.map +1 -1
  65. package/lib/commonjs/components/AnimatedHLSFooter.js.map +1 -1
  66. package/lib/commonjs/components/AnimatedHeader.js.map +1 -1
  67. package/lib/commonjs/components/AvatarView.js.map +1 -1
  68. package/lib/commonjs/components/BackButton.js.map +1 -1
  69. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  70. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
  71. package/lib/commonjs/components/Chat/ChatBanner.js.map +1 -1
  72. package/lib/commonjs/components/Chat/ChatFilterBottomSheet.js.map +1 -1
  73. package/lib/commonjs/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  74. package/lib/commonjs/components/Chat/ChatFilterBottomSheetView.js.map +1 -1
  75. package/lib/commonjs/components/Chat/ChatFilterItem.js.map +1 -1
  76. package/lib/commonjs/components/Chat/ChatFilterView.js.map +1 -1
  77. package/lib/commonjs/components/Chat/ChatList.js.map +1 -1
  78. package/lib/commonjs/components/Chat/ChatMessage.js.map +1 -1
  79. package/lib/commonjs/components/Chat/ChatMoreActionsModal.js.map +1 -1
  80. package/lib/commonjs/components/Chat/ChatMoreActionsSheetView.js.map +1 -1
  81. package/lib/commonjs/components/Chat/ChatMoreActionsView.js.map +1 -1
  82. package/lib/commonjs/components/Chat/ChatPaused.js.map +1 -1
  83. package/lib/commonjs/components/Chat/MessageOptionsBottomSheet.js.map +1 -1
  84. package/lib/commonjs/components/Chat/MessageOptionsBottomSheetView.js.map +1 -1
  85. package/lib/commonjs/components/Chat/MessageOptionsView.js.map +1 -1
  86. package/lib/commonjs/components/Chat/PeerBlockedFromChat.js.map +1 -1
  87. package/lib/commonjs/components/Chat/PinnedMessages.js.map +1 -1
  88. package/lib/commonjs/components/Chat/index.js.map +1 -1
  89. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  90. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  91. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  92. package/lib/commonjs/components/ChatAndParticipants/ChatView.js.map +1 -1
  93. package/lib/commonjs/components/ChatAndParticipants/ParticipantsView.js.map +1 -1
  94. package/lib/commonjs/components/ChatAndParticipants/index.js.map +1 -1
  95. package/lib/commonjs/components/CheckboxInputRow.js.map +1 -1
  96. package/lib/commonjs/components/CompanyLogo.js.map +1 -1
  97. package/lib/commonjs/components/CreatePoll.js +3 -2
  98. package/lib/commonjs/components/CreatePoll.js.map +1 -1
  99. package/lib/commonjs/components/CustomButton.js.map +1 -1
  100. package/lib/commonjs/components/CustomHLSPlayerControls.js.map +1 -1
  101. package/lib/commonjs/components/DefaultModal.js.map +1 -1
  102. package/lib/commonjs/components/DisplayView.js.map +1 -1
  103. package/lib/commonjs/components/EndRoomModal.js.map +1 -1
  104. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  105. package/lib/commonjs/components/Footer.js.map +1 -1
  106. package/lib/commonjs/components/FullScreenIndicator.js.map +1 -1
  107. package/lib/commonjs/components/FullScreenVideoView.js.map +1 -1
  108. package/lib/commonjs/components/GridView.js.map +1 -1
  109. package/lib/commonjs/components/HLSFooter.js.map +1 -1
  110. package/lib/commonjs/components/HLSPlayerEmoticons.js.map +1 -1
  111. package/lib/commonjs/components/HLSPlayerStatsView.js.map +1 -1
  112. package/lib/commonjs/components/HLSView.js +15 -1
  113. package/lib/commonjs/components/HLSView.js.map +1 -1
  114. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  115. package/lib/commonjs/components/HMSChat.js.map +1 -1
  116. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  117. package/lib/commonjs/components/HMSHLSMessage.js.map +1 -1
  118. package/lib/commonjs/components/HMSHLSMessageList.js.map +1 -1
  119. package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
  120. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
  121. package/lib/commonjs/components/HMSHandRaiseNotification.js.map +1 -1
  122. package/lib/commonjs/components/HMSKeyboardAvoidingView.android.js.map +1 -1
  123. package/lib/commonjs/components/HMSKeyboardAvoidingView.js.map +1 -1
  124. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
  125. package/lib/commonjs/components/HMSLiveViewerCount.js.map +1 -1
  126. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
  127. package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -1
  128. package/lib/commonjs/components/HMSManageAudioOutput.js +1 -1
  129. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  130. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  131. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  132. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  133. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  134. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
  135. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
  136. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  137. package/lib/commonjs/components/HMSNotifications.js.map +1 -1
  138. package/lib/commonjs/components/HMSOverlayChatView.js.map +1 -1
  139. package/lib/commonjs/components/HMSPollsQuizzesNotification.js +1 -1
  140. package/lib/commonjs/components/HMSPollsQuizzesNotification.js.map +1 -1
  141. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  142. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  143. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  144. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
  145. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  146. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  147. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  148. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  149. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  150. package/lib/commonjs/components/HMSReconnectingNotification.js.map +1 -1
  151. package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -1
  152. package/lib/commonjs/components/HMSRoleChangeDeclinedNotification.js.map +1 -1
  153. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  154. package/lib/commonjs/components/HMSSecondaryButton.js.map +1 -1
  155. package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -1
  156. package/lib/commonjs/components/HMSTerminalErrorNotification.js.map +1 -1
  157. package/lib/commonjs/components/HMSTextInput.js.map +1 -1
  158. package/lib/commonjs/components/HMSVideoView.js.map +1 -1
  159. package/lib/commonjs/components/Header.js.map +1 -1
  160. package/lib/commonjs/components/LeaderboardEntry.js +140 -0
  161. package/lib/commonjs/components/LeaderboardEntry.js.map +1 -0
  162. package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -1
  163. package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -1
  164. package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -1
  165. package/lib/commonjs/components/Meeting.js.map +1 -1
  166. package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
  167. package/lib/commonjs/components/MenuModal/Menu.js.map +1 -1
  168. package/lib/commonjs/components/MenuModal/MenuDivider.js.map +1 -1
  169. package/lib/commonjs/components/MenuModal/MenuItem.js.map +1 -1
  170. package/lib/commonjs/components/MenuModal/index.js.map +1 -1
  171. package/lib/commonjs/components/MiniView.js.map +1 -1
  172. package/lib/commonjs/components/Modals.js.map +1 -1
  173. package/lib/commonjs/components/OverlayContainer.js.map +1 -1
  174. package/lib/commonjs/components/OverlayedViews.js.map +1 -1
  175. package/lib/commonjs/components/PIPView.js.map +1 -1
  176. package/lib/commonjs/components/PaginationDots.js.map +1 -1
  177. package/lib/commonjs/components/Participants/MultiRoleParticipantsList.js.map +1 -1
  178. package/lib/commonjs/components/Participants/ParticipantsAccordian.js.map +1 -1
  179. package/lib/commonjs/components/Participants/ParticipantsAccordianExpanded.js.map +1 -1
  180. package/lib/commonjs/components/Participants/ParticipantsGroupFooter.js.map +1 -1
  181. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  182. package/lib/commonjs/components/Participants/ParticipantsGroupOptions.js.map +1 -1
  183. package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -1
  184. package/lib/commonjs/components/Participants/ParticipantsItemOption.js.map +1 -1
  185. package/lib/commonjs/components/Participants/ParticipantsItemOptions.js.map +1 -1
  186. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
  187. package/lib/commonjs/components/Participants/ParticipantsListFooter.js.map +1 -1
  188. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
  189. package/lib/commonjs/components/Participants/index.js.map +1 -1
  190. package/lib/commonjs/components/ParticipantsCount.js.map +1 -1
  191. package/lib/commonjs/components/PeerDisplayView.js.map +1 -1
  192. package/lib/commonjs/components/PeerMinimizedView.js.map +1 -1
  193. package/lib/commonjs/components/PeerRTCStatsContainer.js.map +1 -1
  194. package/lib/commonjs/components/PeerRTCStatsView.js.map +1 -1
  195. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  196. package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -1
  197. package/lib/commonjs/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -1
  198. package/lib/commonjs/components/PeerVideoTile/HMSPinchGesture.js.map +1 -1
  199. package/lib/commonjs/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -1
  200. package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  201. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  202. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +16 -6
  203. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  204. package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -1
  205. package/lib/commonjs/components/PeerVideoTile/index.js.map +1 -1
  206. package/lib/commonjs/components/PollAndQuizQuestionResponseCard.js.map +1 -1
  207. package/lib/commonjs/components/PollAndQuizQuestionResponseCards.js.map +1 -1
  208. package/lib/commonjs/components/PollAndQuizSheetScreen.js +69 -0
  209. package/lib/commonjs/components/PollAndQuizSheetScreen.js.map +1 -0
  210. package/lib/commonjs/components/PollAndQuizVoting.js +133 -4
  211. package/lib/commonjs/components/PollAndQuizVoting.js.map +1 -1
  212. package/lib/commonjs/components/PollAndQuizzStateLabel.js.map +1 -1
  213. package/lib/commonjs/components/PollQDeleteConfirmationSheetView.js.map +1 -1
  214. package/lib/commonjs/components/PollQuestion.js.map +1 -1
  215. package/lib/commonjs/components/PollQuestionDeleteConfirmation.js.map +1 -1
  216. package/lib/commonjs/components/PollQuestions.js +104 -4
  217. package/lib/commonjs/components/PollQuestions.js.map +1 -1
  218. package/lib/commonjs/components/PollResponseProgressView.js.map +1 -1
  219. package/lib/commonjs/components/PollsAndQuizBottomSheet.js +9 -11
  220. package/lib/commonjs/components/PollsAndQuizBottomSheet.js.map +1 -1
  221. package/lib/commonjs/components/PollsAndQuizzesCard.js +1 -1
  222. package/lib/commonjs/components/PollsAndQuizzesCard.js.map +1 -1
  223. package/lib/commonjs/components/PollsAndQuizzesModalContent.js +26 -120
  224. package/lib/commonjs/components/PollsAndQuizzesModalContent.js.map +1 -1
  225. package/lib/commonjs/components/PollsConfigAndList.js +81 -4
  226. package/lib/commonjs/components/PollsConfigAndList.js.map +1 -1
  227. package/lib/commonjs/components/PressableIcon.js.map +1 -1
  228. package/lib/commonjs/components/Preview.js.map +1 -1
  229. package/lib/commonjs/components/PreviewForRoleChangeModal.js.map +1 -1
  230. package/lib/commonjs/components/PreviousPollsAndQuizzesList.js +7 -15
  231. package/lib/commonjs/components/PreviousPollsAndQuizzesList.js.map +1 -1
  232. package/lib/commonjs/components/QuizEndOptionsView.js.map +1 -1
  233. package/lib/commonjs/components/QuizLeaderboardEntriesScreen.js +284 -0
  234. package/lib/commonjs/components/QuizLeaderboardEntriesScreen.js.map +1 -0
  235. package/lib/commonjs/components/QuizLeaderboardScreen.js +279 -0
  236. package/lib/commonjs/components/QuizLeaderboardScreen.js.map +1 -0
  237. package/lib/commonjs/components/QuizLeaderboardSummary.js +195 -0
  238. package/lib/commonjs/components/QuizLeaderboardSummary.js.map +1 -0
  239. package/lib/commonjs/components/RadioInput.js.map +1 -1
  240. package/lib/commonjs/components/RadioInputRow.js.map +1 -1
  241. package/lib/commonjs/components/ReconnectionView.js.map +1 -1
  242. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  243. package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  244. package/lib/commonjs/components/StatusBar.js.map +1 -1
  245. package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -1
  246. package/lib/commonjs/components/StreamingQualityModalContent.js.map +1 -1
  247. package/lib/commonjs/components/SwitchRow.js.map +1 -1
  248. package/lib/commonjs/components/Tile.js.map +1 -1
  249. package/lib/commonjs/components/TilesContainer.js.map +1 -1
  250. package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -1
  251. package/lib/commonjs/components/VoterParticipationSummary.js +46 -0
  252. package/lib/commonjs/components/VoterParticipationSummary.js.map +1 -0
  253. package/lib/commonjs/components/WebrtcView.js.map +1 -1
  254. package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -1
  255. package/lib/commonjs/components/index.js.map +1 -1
  256. package/lib/commonjs/components/styles.js.map +1 -1
  257. package/lib/commonjs/hooks/useHmsInstance.js.map +1 -1
  258. package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
  259. package/lib/commonjs/hooks-sdk.js.map +1 -1
  260. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  261. package/lib/commonjs/hooks-util.js +16 -3
  262. package/lib/commonjs/hooks-util.js.map +1 -1
  263. package/lib/commonjs/index.js.map +1 -1
  264. package/lib/commonjs/modules/HMSManager.js.map +1 -1
  265. package/lib/commonjs/modules/parser.js.map +1 -1
  266. package/lib/commonjs/peerTrackNodeUtils.js.map +1 -1
  267. package/lib/commonjs/redux/actionTypes.js +7 -1
  268. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  269. package/lib/commonjs/redux/actions/index.js +25 -5
  270. package/lib/commonjs/redux/actions/index.js.map +1 -1
  271. package/lib/commonjs/redux/index.js.map +1 -1
  272. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  273. package/lib/commonjs/redux/reducers/chatWindow.js.map +1 -1
  274. package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
  275. package/lib/commonjs/redux/reducers/index.js.map +1 -1
  276. package/lib/commonjs/redux/reducers/message.js.map +1 -1
  277. package/lib/commonjs/redux/reducers/polls.js +65 -5
  278. package/lib/commonjs/redux/reducers/polls.js.map +1 -1
  279. package/lib/commonjs/redux/reducers/userState.js +10 -8
  280. package/lib/commonjs/redux/reducers/userState.js.map +1 -1
  281. package/lib/commonjs/types.js.map +1 -1
  282. package/lib/commonjs/utils/constants.js.map +1 -1
  283. package/lib/commonjs/utils/dimension.js.map +1 -1
  284. package/lib/commonjs/utils/functions.js.map +1 -1
  285. package/lib/commonjs/utils/hooks.js +107 -2
  286. package/lib/commonjs/utils/hooks.js.map +1 -1
  287. package/lib/commonjs/utils/theme.js.map +1 -1
  288. package/lib/commonjs/utils/types.js.map +1 -1
  289. package/lib/commonjs/utils.js.map +1 -1
  290. package/lib/module/HMSContainer.js.map +1 -1
  291. package/lib/module/HMSInstanceSetup.js.map +1 -1
  292. package/lib/module/HMSPrebuilt.js +3 -0
  293. package/lib/module/HMSPrebuilt.js.map +1 -1
  294. package/lib/module/HMSRoomSetup.js +29 -5
  295. package/lib/module/HMSRoomSetup.js.map +1 -1
  296. package/lib/module/Icons/100ms/index.js.map +1 -1
  297. package/lib/module/Icons/Add/index.js.map +1 -1
  298. package/lib/module/Icons/Alert/index.js.map +1 -1
  299. package/lib/module/Icons/AlertTriangle/index.js.map +1 -1
  300. package/lib/module/Icons/AnswerPhone/index.js.map +1 -1
  301. package/lib/module/Icons/BRB/index.js.map +1 -1
  302. package/lib/module/Icons/Bluetooth/index.js.map +1 -1
  303. package/lib/module/Icons/Camera/index.js.map +1 -1
  304. package/lib/module/Icons/Chat/index.js.map +1 -1
  305. package/lib/module/Icons/Check/index.js.map +1 -1
  306. package/lib/module/Icons/CheckBox/index.js.map +1 -1
  307. package/lib/module/Icons/Chevron/index.js.map +1 -1
  308. package/lib/module/Icons/Clock/assets/clock-vector.png +0 -0
  309. package/lib/module/Icons/Clock/assets/clock-vector@2x.png +0 -0
  310. package/lib/module/Icons/Clock/assets/clock-vector@3x.png +0 -0
  311. package/lib/module/Icons/Clock/assets/clock.png +0 -0
  312. package/lib/module/Icons/Clock/assets/clock@2x.png +0 -0
  313. package/lib/module/Icons/Clock/assets/clock@3x.png +0 -0
  314. package/lib/module/Icons/Clock/index.js +7 -2
  315. package/lib/module/Icons/Clock/index.js.map +1 -1
  316. package/lib/module/Icons/Close/index.js.map +1 -1
  317. package/lib/module/Icons/CrossCircle/index.js.map +1 -1
  318. package/lib/module/Icons/End/index.js.map +1 -1
  319. package/lib/module/Icons/Eye/index.js.map +1 -1
  320. package/lib/module/Icons/GenericLogo/index.js.map +1 -1
  321. package/lib/module/Icons/Hamburger/index.js.map +1 -1
  322. package/lib/module/Icons/Hand/index.js.map +1 -1
  323. package/lib/module/Icons/Headphones/index.js.map +1 -1
  324. package/lib/module/Icons/Leave/index.js.map +1 -1
  325. package/lib/module/Icons/Maximize/index.js.map +1 -1
  326. package/lib/module/Icons/Mic/index.js.map +1 -1
  327. package/lib/module/Icons/Minimize/index.js.map +1 -1
  328. package/lib/module/Icons/NetworkQuality/index.js.map +1 -1
  329. package/lib/module/Icons/NoEntry/index.js.map +1 -1
  330. package/lib/module/Icons/Participants/index.js.map +1 -1
  331. package/lib/module/Icons/PauseCircle/index.js.map +1 -1
  332. package/lib/module/Icons/Pencil/index.js.map +1 -1
  333. package/lib/module/Icons/Person/index.js.map +1 -1
  334. package/lib/module/Icons/Pin/index.js.map +1 -1
  335. package/lib/module/Icons/Poll/index.js.map +1 -1
  336. package/lib/module/Icons/PollVote/index.js.map +1 -1
  337. package/lib/module/Icons/Quiz/index.js.map +1 -1
  338. package/lib/module/Icons/Radio/index.js.map +1 -1
  339. package/lib/module/Icons/Recording/index.js.map +1 -1
  340. package/lib/module/Icons/RotateCamera/index.js.map +1 -1
  341. package/lib/module/Icons/ScreenShare/index.js.map +1 -1
  342. package/lib/module/Icons/Search/index.js.map +1 -1
  343. package/lib/module/Icons/Send/index.js.map +1 -1
  344. package/lib/module/Icons/Settings/index.js.map +1 -1
  345. package/lib/module/Icons/Speaker/index.js.map +1 -1
  346. package/lib/module/Icons/Star/index.js.map +1 -1
  347. package/lib/module/Icons/Stop/index.js.map +1 -1
  348. package/lib/module/Icons/ThreeDots/index.js.map +1 -1
  349. package/lib/module/Icons/TrashBin/index.js.map +1 -1
  350. package/lib/module/Icons/Wave/index.js.map +1 -1
  351. package/lib/module/Icons/WelcomeHand/index.js.map +1 -1
  352. package/lib/module/Icons/index.js.map +1 -1
  353. package/lib/module/components/AnimatedFooter.js.map +1 -1
  354. package/lib/module/components/AnimatedHLSFooter.js.map +1 -1
  355. package/lib/module/components/AnimatedHeader.js.map +1 -1
  356. package/lib/module/components/AvatarView.js.map +1 -1
  357. package/lib/module/components/BackButton.js.map +1 -1
  358. package/lib/module/components/BottomSheet.js.map +1 -1
  359. package/lib/module/components/ChangeNameModalContent.js.map +1 -1
  360. package/lib/module/components/Chat/ChatBanner.js.map +1 -1
  361. package/lib/module/components/Chat/ChatFilterBottomSheet.js.map +1 -1
  362. package/lib/module/components/Chat/ChatFilterBottomSheetOpener.js.map +1 -1
  363. package/lib/module/components/Chat/ChatFilterBottomSheetView.js.map +1 -1
  364. package/lib/module/components/Chat/ChatFilterItem.js.map +1 -1
  365. package/lib/module/components/Chat/ChatFilterView.js.map +1 -1
  366. package/lib/module/components/Chat/ChatList.js.map +1 -1
  367. package/lib/module/components/Chat/ChatMessage.js.map +1 -1
  368. package/lib/module/components/Chat/ChatMoreActionsModal.js.map +1 -1
  369. package/lib/module/components/Chat/ChatMoreActionsSheetView.js.map +1 -1
  370. package/lib/module/components/Chat/ChatMoreActionsView.js.map +1 -1
  371. package/lib/module/components/Chat/ChatPaused.js.map +1 -1
  372. package/lib/module/components/Chat/MessageOptionsBottomSheet.js.map +1 -1
  373. package/lib/module/components/Chat/MessageOptionsBottomSheetView.js.map +1 -1
  374. package/lib/module/components/Chat/MessageOptionsView.js.map +1 -1
  375. package/lib/module/components/Chat/PeerBlockedFromChat.js.map +1 -1
  376. package/lib/module/components/Chat/PinnedMessages.js.map +1 -1
  377. package/lib/module/components/Chat/index.js.map +1 -1
  378. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsBottomSheet.js.map +1 -1
  379. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  380. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsView.js.map +1 -1
  381. package/lib/module/components/ChatAndParticipants/ChatView.js.map +1 -1
  382. package/lib/module/components/ChatAndParticipants/ParticipantsView.js.map +1 -1
  383. package/lib/module/components/ChatAndParticipants/index.js.map +1 -1
  384. package/lib/module/components/CheckboxInputRow.js.map +1 -1
  385. package/lib/module/components/CompanyLogo.js.map +1 -1
  386. package/lib/module/components/CreatePoll.js +4 -3
  387. package/lib/module/components/CreatePoll.js.map +1 -1
  388. package/lib/module/components/CustomButton.js.map +1 -1
  389. package/lib/module/components/CustomHLSPlayerControls.js.map +1 -1
  390. package/lib/module/components/DefaultModal.js.map +1 -1
  391. package/lib/module/components/DisplayView.js.map +1 -1
  392. package/lib/module/components/EndRoomModal.js.map +1 -1
  393. package/lib/module/components/EndRoomModalContent.js.map +1 -1
  394. package/lib/module/components/Footer.js.map +1 -1
  395. package/lib/module/components/FullScreenIndicator.js.map +1 -1
  396. package/lib/module/components/FullScreenVideoView.js.map +1 -1
  397. package/lib/module/components/GridView.js.map +1 -1
  398. package/lib/module/components/HLSFooter.js.map +1 -1
  399. package/lib/module/components/HLSPlayerEmoticons.js.map +1 -1
  400. package/lib/module/components/HLSPlayerStatsView.js.map +1 -1
  401. package/lib/module/components/HLSView.js +17 -3
  402. package/lib/module/components/HLSView.js.map +1 -1
  403. package/lib/module/components/HMSBaseButton.js.map +1 -1
  404. package/lib/module/components/HMSChat.js.map +1 -1
  405. package/lib/module/components/HMSDangerButton.js.map +1 -1
  406. package/lib/module/components/HMSHLSMessage.js.map +1 -1
  407. package/lib/module/components/HMSHLSMessageList.js.map +1 -1
  408. package/lib/module/components/HMSHLSNotStarted.js.map +1 -1
  409. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
  410. package/lib/module/components/HMSHandRaiseNotification.js.map +1 -1
  411. package/lib/module/components/HMSKeyboardAvoidingView.android.js.map +1 -1
  412. package/lib/module/components/HMSKeyboardAvoidingView.js.map +1 -1
  413. package/lib/module/components/HMSLiveIndicator.js.map +1 -1
  414. package/lib/module/components/HMSLiveViewerCount.js.map +1 -1
  415. package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -1
  416. package/lib/module/components/HMSLocalVideoView.js.map +1 -1
  417. package/lib/module/components/HMSManageAudioOutput.js +1 -1
  418. package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
  419. package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
  420. package/lib/module/components/HMSManageLeave.js.map +1 -1
  421. package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
  422. package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
  423. package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
  424. package/lib/module/components/HMSMeetingEnded.js.map +1 -1
  425. package/lib/module/components/HMSNotification.js.map +1 -1
  426. package/lib/module/components/HMSNotifications.js.map +1 -1
  427. package/lib/module/components/HMSOverlayChatView.js.map +1 -1
  428. package/lib/module/components/HMSPollsQuizzesNotification.js +2 -2
  429. package/lib/module/components/HMSPollsQuizzesNotification.js.map +1 -1
  430. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  431. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
  432. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  433. package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -1
  434. package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
  435. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  436. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  437. package/lib/module/components/HMSPreviewTitle.js.map +1 -1
  438. package/lib/module/components/HMSPrimaryButton.js.map +1 -1
  439. package/lib/module/components/HMSReconnectingNotification.js.map +1 -1
  440. package/lib/module/components/HMSRecordingIndicator.js.map +1 -1
  441. package/lib/module/components/HMSRoleChangeDeclinedNotification.js.map +1 -1
  442. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  443. package/lib/module/components/HMSSecondaryButton.js.map +1 -1
  444. package/lib/module/components/HMSSendMessageInput.js.map +1 -1
  445. package/lib/module/components/HMSTerminalErrorNotification.js.map +1 -1
  446. package/lib/module/components/HMSTextInput.js.map +1 -1
  447. package/lib/module/components/HMSVideoView.js.map +1 -1
  448. package/lib/module/components/Header.js.map +1 -1
  449. package/lib/module/components/LeaderboardEntry.js +131 -0
  450. package/lib/module/components/LeaderboardEntry.js.map +1 -0
  451. package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
  452. package/lib/module/components/LocalPeerRegularVideoView.js.map +1 -1
  453. package/lib/module/components/LocalPeerScreenshareView.js.map +1 -1
  454. package/lib/module/components/Meeting.js.map +1 -1
  455. package/lib/module/components/MeetingScreenContent.js.map +1 -1
  456. package/lib/module/components/MenuModal/Menu.js.map +1 -1
  457. package/lib/module/components/MenuModal/MenuDivider.js.map +1 -1
  458. package/lib/module/components/MenuModal/MenuItem.js.map +1 -1
  459. package/lib/module/components/MenuModal/index.js.map +1 -1
  460. package/lib/module/components/MiniView.js.map +1 -1
  461. package/lib/module/components/Modals.js.map +1 -1
  462. package/lib/module/components/OverlayContainer.js.map +1 -1
  463. package/lib/module/components/OverlayedViews.js.map +1 -1
  464. package/lib/module/components/PIPView.js.map +1 -1
  465. package/lib/module/components/PaginationDots.js.map +1 -1
  466. package/lib/module/components/Participants/MultiRoleParticipantsList.js.map +1 -1
  467. package/lib/module/components/Participants/ParticipantsAccordian.js.map +1 -1
  468. package/lib/module/components/Participants/ParticipantsAccordianExpanded.js.map +1 -1
  469. package/lib/module/components/Participants/ParticipantsGroupFooter.js.map +1 -1
  470. package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  471. package/lib/module/components/Participants/ParticipantsGroupOptions.js.map +1 -1
  472. package/lib/module/components/Participants/ParticipantsItem.js.map +1 -1
  473. package/lib/module/components/Participants/ParticipantsItemOption.js.map +1 -1
  474. package/lib/module/components/Participants/ParticipantsItemOptions.js.map +1 -1
  475. package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
  476. package/lib/module/components/Participants/ParticipantsListFooter.js.map +1 -1
  477. package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
  478. package/lib/module/components/Participants/index.js.map +1 -1
  479. package/lib/module/components/ParticipantsCount.js.map +1 -1
  480. package/lib/module/components/PeerDisplayView.js.map +1 -1
  481. package/lib/module/components/PeerMinimizedView.js.map +1 -1
  482. package/lib/module/components/PeerRTCStatsContainer.js.map +1 -1
  483. package/lib/module/components/PeerRTCStatsView.js.map +1 -1
  484. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  485. package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -1
  486. package/lib/module/components/PeerVideoTile/HMSFullScreenButton.js.map +1 -1
  487. package/lib/module/components/PeerVideoTile/HMSPinchGesture.js.map +1 -1
  488. package/lib/module/components/PeerVideoTile/PeerAudioIndicator.js.map +1 -1
  489. package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -1
  490. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  491. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +19 -7
  492. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  493. package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -1
  494. package/lib/module/components/PeerVideoTile/index.js.map +1 -1
  495. package/lib/module/components/PollAndQuizQuestionResponseCard.js.map +1 -1
  496. package/lib/module/components/PollAndQuizQuestionResponseCards.js.map +1 -1
  497. package/lib/module/components/PollAndQuizSheetScreen.js +60 -0
  498. package/lib/module/components/PollAndQuizSheetScreen.js.map +1 -0
  499. package/lib/module/components/PollAndQuizVoting.js +135 -6
  500. package/lib/module/components/PollAndQuizVoting.js.map +1 -1
  501. package/lib/module/components/PollAndQuizzStateLabel.js.map +1 -1
  502. package/lib/module/components/PollQDeleteConfirmationSheetView.js.map +1 -1
  503. package/lib/module/components/PollQuestion.js.map +1 -1
  504. package/lib/module/components/PollQuestionDeleteConfirmation.js.map +1 -1
  505. package/lib/module/components/PollQuestions.js +107 -7
  506. package/lib/module/components/PollQuestions.js.map +1 -1
  507. package/lib/module/components/PollResponseProgressView.js.map +1 -1
  508. package/lib/module/components/PollsAndQuizBottomSheet.js +11 -13
  509. package/lib/module/components/PollsAndQuizBottomSheet.js.map +1 -1
  510. package/lib/module/components/PollsAndQuizzesCard.js +2 -2
  511. package/lib/module/components/PollsAndQuizzesCard.js.map +1 -1
  512. package/lib/module/components/PollsAndQuizzesModalContent.js +28 -122
  513. package/lib/module/components/PollsAndQuizzesModalContent.js.map +1 -1
  514. package/lib/module/components/PollsConfigAndList.js +82 -5
  515. package/lib/module/components/PollsConfigAndList.js.map +1 -1
  516. package/lib/module/components/PressableIcon.js.map +1 -1
  517. package/lib/module/components/Preview.js.map +1 -1
  518. package/lib/module/components/PreviewForRoleChangeModal.js.map +1 -1
  519. package/lib/module/components/PreviousPollsAndQuizzesList.js +7 -15
  520. package/lib/module/components/PreviousPollsAndQuizzesList.js.map +1 -1
  521. package/lib/module/components/QuizEndOptionsView.js.map +1 -1
  522. package/lib/module/components/QuizLeaderboardEntriesScreen.js +275 -0
  523. package/lib/module/components/QuizLeaderboardEntriesScreen.js.map +1 -0
  524. package/lib/module/components/QuizLeaderboardScreen.js +270 -0
  525. package/lib/module/components/QuizLeaderboardScreen.js.map +1 -0
  526. package/lib/module/components/QuizLeaderboardSummary.js +186 -0
  527. package/lib/module/components/QuizLeaderboardSummary.js.map +1 -0
  528. package/lib/module/components/RadioInput.js.map +1 -1
  529. package/lib/module/components/RadioInputRow.js.map +1 -1
  530. package/lib/module/components/ReconnectionView.js.map +1 -1
  531. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  532. package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -1
  533. package/lib/module/components/StatusBar.js.map +1 -1
  534. package/lib/module/components/StopRecordingModalContent.js.map +1 -1
  535. package/lib/module/components/StreamingQualityModalContent.js.map +1 -1
  536. package/lib/module/components/SwitchRow.js.map +1 -1
  537. package/lib/module/components/Tile.js.map +1 -1
  538. package/lib/module/components/TilesContainer.js.map +1 -1
  539. package/lib/module/components/UnmountAfterDelay.js.map +1 -1
  540. package/lib/module/components/VoterParticipationSummary.js +37 -0
  541. package/lib/module/components/VoterParticipationSummary.js.map +1 -0
  542. package/lib/module/components/WebrtcView.js.map +1 -1
  543. package/lib/module/components/WelcomeInMeeting.js.map +1 -1
  544. package/lib/module/components/index.js.map +1 -1
  545. package/lib/module/components/styles.js.map +1 -1
  546. package/lib/module/hooks/useHmsInstance.js.map +1 -1
  547. package/lib/module/hooks-sdk-selectors.js.map +1 -1
  548. package/lib/module/hooks-sdk.js.map +1 -1
  549. package/lib/module/hooks-util-selectors.js.map +1 -1
  550. package/lib/module/hooks-util.js +16 -3
  551. package/lib/module/hooks-util.js.map +1 -1
  552. package/lib/module/index.js.map +1 -1
  553. package/lib/module/modules/HMSManager.js.map +1 -1
  554. package/lib/module/modules/parser.js.map +1 -1
  555. package/lib/module/peerTrackNodeUtils.js.map +1 -1
  556. package/lib/module/redux/actionTypes.js +7 -1
  557. package/lib/module/redux/actionTypes.js.map +1 -1
  558. package/lib/module/redux/actions/index.js +18 -3
  559. package/lib/module/redux/actions/index.js.map +1 -1
  560. package/lib/module/redux/index.js.map +1 -1
  561. package/lib/module/redux/reducers/appState.js.map +1 -1
  562. package/lib/module/redux/reducers/chatWindow.js.map +1 -1
  563. package/lib/module/redux/reducers/hmsStates.js.map +1 -1
  564. package/lib/module/redux/reducers/index.js.map +1 -1
  565. package/lib/module/redux/reducers/message.js.map +1 -1
  566. package/lib/module/redux/reducers/polls.js +65 -5
  567. package/lib/module/redux/reducers/polls.js.map +1 -1
  568. package/lib/module/redux/reducers/userState.js +10 -8
  569. package/lib/module/redux/reducers/userState.js.map +1 -1
  570. package/lib/module/types.js.map +1 -1
  571. package/lib/module/utils/constants.js.map +1 -1
  572. package/lib/module/utils/dimension.js.map +1 -1
  573. package/lib/module/utils/functions.js.map +1 -1
  574. package/lib/module/utils/hooks.js +105 -2
  575. package/lib/module/utils/hooks.js.map +1 -1
  576. package/lib/module/utils/theme.js.map +1 -1
  577. package/lib/module/utils/types.js.map +1 -1
  578. package/lib/module/utils.js.map +1 -1
  579. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  580. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  581. package/lib/typescript/Icons/Clock/index.d.ts +1 -0
  582. package/lib/typescript/Icons/Clock/index.d.ts.map +1 -1
  583. package/lib/typescript/components/CreatePoll.d.ts.map +1 -1
  584. package/lib/typescript/components/HLSView.d.ts.map +1 -1
  585. package/lib/typescript/components/LeaderboardEntry.d.ts +11 -0
  586. package/lib/typescript/components/LeaderboardEntry.d.ts.map +1 -0
  587. package/lib/typescript/components/PollAndQuizSheetScreen.d.ts +8 -0
  588. package/lib/typescript/components/PollAndQuizSheetScreen.d.ts.map +1 -0
  589. package/lib/typescript/components/PollAndQuizVoting.d.ts +2 -0
  590. package/lib/typescript/components/PollAndQuizVoting.d.ts.map +1 -1
  591. package/lib/typescript/components/PollQuestions.d.ts +2 -0
  592. package/lib/typescript/components/PollQuestions.d.ts.map +1 -1
  593. package/lib/typescript/components/PollsAndQuizBottomSheet.d.ts.map +1 -1
  594. package/lib/typescript/components/PollsAndQuizzesModalContent.d.ts +0 -1
  595. package/lib/typescript/components/PollsAndQuizzesModalContent.d.ts.map +1 -1
  596. package/lib/typescript/components/PollsConfigAndList.d.ts +1 -0
  597. package/lib/typescript/components/PollsConfigAndList.d.ts.map +1 -1
  598. package/lib/typescript/components/PreviousPollsAndQuizzesList.d.ts.map +1 -1
  599. package/lib/typescript/components/QuizLeaderboardEntriesScreen.d.ts +8 -0
  600. package/lib/typescript/components/QuizLeaderboardEntriesScreen.d.ts.map +1 -0
  601. package/lib/typescript/components/QuizLeaderboardScreen.d.ts +8 -0
  602. package/lib/typescript/components/QuizLeaderboardScreen.d.ts.map +1 -0
  603. package/lib/typescript/components/QuizLeaderboardSummary.d.ts +9 -0
  604. package/lib/typescript/components/QuizLeaderboardSummary.d.ts.map +1 -0
  605. package/lib/typescript/components/VoterParticipationSummary.d.ts +7 -0
  606. package/lib/typescript/components/VoterParticipationSummary.d.ts.map +1 -0
  607. package/lib/typescript/hooks-util.d.ts.map +1 -1
  608. package/lib/typescript/redux/actionTypes.d.ts +29 -8
  609. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  610. package/lib/typescript/redux/actions/index.d.ts +10 -10
  611. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  612. package/lib/typescript/redux/index.d.ts +20 -18
  613. package/lib/typescript/redux/index.d.ts.map +1 -1
  614. package/lib/typescript/redux/reducers/index.d.ts +20 -18
  615. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  616. package/lib/typescript/redux/reducers/polls.d.ts +3 -2
  617. package/lib/typescript/redux/reducers/polls.d.ts.map +1 -1
  618. package/lib/typescript/redux/reducers/userState.d.ts +3 -2
  619. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  620. package/lib/typescript/types.d.ts +9 -2
  621. package/lib/typescript/types.d.ts.map +1 -1
  622. package/lib/typescript/utils/hooks.d.ts +6 -0
  623. package/lib/typescript/utils/hooks.d.ts.map +1 -1
  624. package/package.json +3 -3
  625. package/src/HMSPrebuilt.tsx +4 -0
  626. package/src/HMSRoomSetup.tsx +35 -5
  627. package/src/Icons/Clock/assets/clock-vector.png +0 -0
  628. package/src/Icons/Clock/assets/clock-vector@2x.png +0 -0
  629. package/src/Icons/Clock/assets/clock-vector@3x.png +0 -0
  630. package/src/Icons/Clock/assets/clock.png +0 -0
  631. package/src/Icons/Clock/assets/clock@2x.png +0 -0
  632. package/src/Icons/Clock/assets/clock@3x.png +0 -0
  633. package/src/Icons/Clock/index.tsx +16 -3
  634. package/src/components/CreatePoll.tsx +7 -2
  635. package/src/components/HLSView.tsx +27 -1
  636. package/src/components/HMSManageAudioOutput.tsx +1 -1
  637. package/src/components/HMSPollsQuizzesNotification.tsx +2 -2
  638. package/src/components/LeaderboardEntry.tsx +181 -0
  639. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +12 -12
  640. package/src/components/PollAndQuizSheetScreen.tsx +85 -0
  641. package/src/components/PollAndQuizVoting.tsx +181 -7
  642. package/src/components/PollQuestions.tsx +171 -49
  643. package/src/components/PollsAndQuizBottomSheet.tsx +20 -42
  644. package/src/components/PollsAndQuizzesCard.tsx +2 -2
  645. package/src/components/PollsAndQuizzesModalContent.tsx +40 -163
  646. package/src/components/PollsConfigAndList.tsx +107 -11
  647. package/src/components/PreviousPollsAndQuizzesList.tsx +33 -40
  648. package/src/components/QuizLeaderboardEntriesScreen.tsx +323 -0
  649. package/src/components/QuizLeaderboardScreen.tsx +342 -0
  650. package/src/components/QuizLeaderboardSummary.tsx +207 -0
  651. package/src/components/VoterParticipationSummary.tsx +67 -0
  652. package/src/hooks-util.ts +27 -9
  653. package/src/redux/actionTypes.ts +35 -5
  654. package/src/redux/actions/index.ts +36 -10
  655. package/src/redux/reducers/polls.ts +84 -6
  656. package/src/redux/reducers/userState.ts +17 -12
  657. package/src/types.ts +14 -2
  658. package/src/utils/hooks.ts +190 -3
@@ -1,11 +1,18 @@
1
1
  import React, { useRef } from 'react';
2
2
  import type { ComponentRef } from 'react';
3
3
  import { useDispatch, useSelector } from 'react-redux';
4
- import { View, Text, StyleSheet, Platform } from 'react-native';
4
+ import {
5
+ View,
6
+ Text,
7
+ StyleSheet,
8
+ Platform,
9
+ useWindowDimensions,
10
+ } from 'react-native';
5
11
  import {
6
12
  HMSHLSPlayer,
7
13
  HMSHLSPlayerPlaybackState,
8
14
  useHMSHLSPlayerPlaybackState,
15
+ useHMSHLSPlayerResolution,
9
16
  } from '@100mslive/react-native-hms';
10
17
 
11
18
  import type { RootState } from '../redux';
@@ -18,6 +25,7 @@ import { HMSHLSNotStarted } from './HMSHLSNotStarted';
18
25
  import { CrossCircleIcon } from '../Icons';
19
26
  import { useHMSRoomStyleSheet } from '../hooks-util';
20
27
  import { useIsHLSStreamingOn } from '../hooks-sdk';
28
+ import { useIsLandscapeOrientation } from '../utils/dimension';
21
29
 
22
30
  export const _HLSView: React.FC = () => {
23
31
  const dispatch = useDispatch();
@@ -26,6 +34,7 @@ export const _HLSView: React.FC = () => {
26
34
  (state: RootState) =>
27
35
  !!state.hmsStates.room?.hlsStreamingState.variants?.[0]?.hlsStreamUrl
28
36
  );
37
+ const { width, height } = useWindowDimensions();
29
38
  const hmsHlsPlayerRef = useRef<ComponentRef<typeof HMSHLSPlayer>>(null);
30
39
  const showHLSStats = useSelector(
31
40
  (state: RootState) => state.app.joinConfig.showHLSStats
@@ -99,6 +108,8 @@ export const _HLSView: React.FC = () => {
99
108
  );
100
109
 
101
110
  const hlsPlayerPlaybackState = useHMSHLSPlayerPlaybackState();
111
+ const resolution = useHMSHLSPlayerResolution();
112
+ const isLandscapeOrientation = useIsLandscapeOrientation();
102
113
 
103
114
  const isPlaybackFailed =
104
115
  hlsPlayerPlaybackState === HMSHLSPlayerPlaybackState.FAILED;
@@ -141,6 +152,21 @@ export const _HLSView: React.FC = () => {
141
152
  ref={hmsHlsPlayerRef}
142
153
  enableStats={showHLSStats}
143
154
  enableControls={enableHLSPlayerControls}
155
+ style={
156
+ isLandscapeOrientation
157
+ ? {
158
+ height,
159
+ width: resolution
160
+ ? height * (resolution.width / resolution.height)
161
+ : width,
162
+ }
163
+ : {
164
+ width,
165
+ height: resolution
166
+ ? width / (resolution.width / resolution.height)
167
+ : height,
168
+ }
169
+ }
144
170
  />
145
171
 
146
172
  <HLSPlayerEmoticons />
@@ -178,7 +178,7 @@ export const HMSManageAudioOutput: React.FC = () => {
178
178
  <AudioOutputDevice
179
179
  id={'ios-audio-device'}
180
180
  hideDivider={true}
181
- selected={!roomLocallyMuted}
181
+ selected={false}
182
182
  text={'Auto'}
183
183
  icon={<SpeakerIcon muted={false} />}
184
184
  onPress={handleSelectAudioDevice}
@@ -14,8 +14,8 @@ import {
14
14
  import { HMSNotification } from './HMSNotification';
15
15
  import { ModalTypes } from '../utils/types';
16
16
  import {
17
+ pushToNavigationStack,
17
18
  removeNotification,
18
- setPollStage,
19
19
  setSelectedPollId,
20
20
  } from '../redux/actions';
21
21
  import { CreatePollStages } from '../redux/actionTypes';
@@ -56,7 +56,7 @@ export const HMSPollsQuizzesNotification: React.FC<
56
56
  // return;
57
57
  // }
58
58
  batch(() => {
59
- dispatch(setPollStage(CreatePollStages.POLL_VOTING));
59
+ dispatch(pushToNavigationStack(CreatePollStages.POLL_VOTING));
60
60
  dispatch(setSelectedPollId(poll.pollId));
61
61
  handleModalVisibleType(ModalTypes.POLLS_AND_QUIZZES);
62
62
  dispatch(removeNotification(id));
@@ -0,0 +1,181 @@
1
+ import * as React from 'react';
2
+ import { Text, StyleSheet, View } from 'react-native';
3
+ import type { ViewStyle, StyleProp } from 'react-native';
4
+ import type { HMSPollLeaderboardEntry } from '@100mslive/react-native-hms';
5
+
6
+ import { useHMSRoomStyleSheet } from '../hooks-util';
7
+ import { CheckIcon, ClockIcon } from '../Icons';
8
+
9
+ export interface LeaderboardEntryProps {
10
+ entry: HMSPollLeaderboardEntry;
11
+ totalPoints: number;
12
+ totalQuestions: number;
13
+ style?: StyleProp<ViewStyle>;
14
+ }
15
+
16
+ export const LeaderboardEntry: React.FC<LeaderboardEntryProps> = ({
17
+ entry,
18
+ style,
19
+ totalPoints,
20
+ totalQuestions,
21
+ }) => {
22
+ const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
23
+ regularHighText: {
24
+ color: theme.palette.on_surface_high,
25
+ fontFamily: `${typography.font_family}-Regular`,
26
+ },
27
+ regularMediumText: {
28
+ color: theme.palette.on_surface_medium,
29
+ fontFamily: `${typography.font_family}-Regular`,
30
+ },
31
+ semiBoldHighText: {
32
+ color: theme.palette.on_surface_high,
33
+ fontFamily: `${typography.font_family}-SemiBold`,
34
+ },
35
+ semiBoldWhiteText: {
36
+ color: '#ffffff',
37
+ fontFamily: `${typography.font_family}-SemiBold`,
38
+ },
39
+ icon: {
40
+ tintColor: theme.palette.on_surface_medium,
41
+ },
42
+ }));
43
+
44
+ return (
45
+ <View style={[styles.container, style]}>
46
+ <View style={styles.namePositionWrapper}>
47
+ <View
48
+ style={[
49
+ styles.position,
50
+ entry.position === 1
51
+ ? styles.firstPosition
52
+ : entry.position === 2
53
+ ? styles.secondPosition
54
+ : entry.position === 3
55
+ ? styles.thirdPosition
56
+ : null,
57
+ ]}
58
+ >
59
+ <Text
60
+ style={[
61
+ styles.smallerText,
62
+ hmsRoomStyles.semiBoldWhiteText,
63
+ {
64
+ textAlign: 'center',
65
+ textAlignVertical: 'center',
66
+ },
67
+ ]}
68
+ >
69
+ {entry.position}
70
+ </Text>
71
+ </View>
72
+
73
+ <View style={styles.flexShrink}>
74
+ <Text
75
+ numberOfLines={2}
76
+ style={[styles.smallText, hmsRoomStyles.semiBoldHighText]}
77
+ >
78
+ {entry.peer?.userName}
79
+ </Text>
80
+ <Text style={[styles.smallerText, hmsRoomStyles.regularMediumText]}>
81
+ {entry.score}/{totalPoints} points
82
+ </Text>
83
+ </View>
84
+ </View>
85
+
86
+ <View style={styles.scoreDurationWrapper}>
87
+ {entry.position === 1 &&
88
+ entry.correctResponses &&
89
+ entry.correctResponses > 0 ? (
90
+ <Text
91
+ style={[
92
+ styles.normalText,
93
+ { marginLeft: 12 },
94
+ hmsRoomStyles.semiBoldHighText,
95
+ ]}
96
+ >
97
+ 🏆
98
+ </Text>
99
+ ) : null}
100
+
101
+ <View style={styles.iconWrapper}>
102
+ <CheckIcon
103
+ type="in-circle"
104
+ style={[styles.icon, hmsRoomStyles.icon]}
105
+ />
106
+ <Text style={[styles.smallerText, hmsRoomStyles.regularHighText]}>
107
+ {entry.correctResponses}/{totalQuestions}
108
+ </Text>
109
+ </View>
110
+
111
+ {entry.duration ? (
112
+ <View style={styles.iconWrapper}>
113
+ <ClockIcon
114
+ type="normal"
115
+ style={[styles.icon, hmsRoomStyles.icon]}
116
+ />
117
+ <Text style={[styles.smallerText, hmsRoomStyles.regularHighText]}>
118
+ {(entry.duration / 1000).toFixed(2)}s
119
+ </Text>
120
+ </View>
121
+ ) : null}
122
+ </View>
123
+ </View>
124
+ );
125
+ };
126
+
127
+ const styles = StyleSheet.create({
128
+ container: {
129
+ flexDirection: 'row',
130
+ alignItems: 'center',
131
+ justifyContent: 'space-between',
132
+ },
133
+ namePositionWrapper: {
134
+ flexDirection: 'row',
135
+ alignItems: 'center',
136
+ flexShrink: 1,
137
+ },
138
+ scoreDurationWrapper: { flexDirection: 'row', alignItems: 'center' },
139
+ flexShrink: {
140
+ flexShrink: 1,
141
+ },
142
+ smallerText: {
143
+ fontSize: 12,
144
+ lineHeight: 16,
145
+ },
146
+ smallText: {
147
+ fontSize: 14,
148
+ lineHeight: 20,
149
+ },
150
+ normalText: {
151
+ fontSize: 16,
152
+ lineHeight: 24,
153
+ },
154
+ position: {
155
+ width: 24,
156
+ height: 24,
157
+ borderRadius: 12,
158
+ alignItems: 'center',
159
+ justifyContent: 'center',
160
+ marginRight: 12,
161
+ },
162
+ firstPosition: {
163
+ backgroundColor: '#D69516', // '#FFD700'
164
+ },
165
+ secondPosition: {
166
+ backgroundColor: '#3E3E3E', // '#C0C0C0'
167
+ },
168
+ thirdPosition: {
169
+ backgroundColor: '#583B0F', // '#CD7F32'
170
+ },
171
+ iconWrapper: {
172
+ flexDirection: 'row',
173
+ alignItems: 'center',
174
+ marginLeft: 12,
175
+ },
176
+ icon: {
177
+ width: 16,
178
+ height: 16,
179
+ marginRight: 4,
180
+ },
181
+ });
@@ -23,7 +23,7 @@ import type { PeerTrackNode } from '../../utils/types';
23
23
  import { isTileOnSpotlight } from '../../utils/functions';
24
24
  import {
25
25
  selectAllowedTracksToPublish,
26
- selectCanPublishTrackForRole,
26
+ // selectCanPublishTrackForRole,
27
27
  } from '../../hooks-sdk-selectors';
28
28
  import { useHMSRoomStyleSheet } from '../../hooks-util';
29
29
  import { HMSFullScreenButton } from './HMSFullScreenButton';
@@ -89,14 +89,14 @@ export const _PeerVideoTileView = React.forwardRef<
89
89
 
90
90
  const { peer, track, isDegraded } = peerTrackNode;
91
91
 
92
- const peerCanPublishAudio = selectCanPublishTrackForRole(
93
- peer.role,
94
- 'audio'
95
- );
96
- const peerCanPublishVideo = selectCanPublishTrackForRole(
97
- peer.role,
98
- 'video'
99
- );
92
+ // const peerCanPublishAudio = selectCanPublishTrackForRole(
93
+ // peer.role,
94
+ // 'audio'
95
+ // );
96
+ // const peerCanPublishVideo = selectCanPublishTrackForRole(
97
+ // peer.role,
98
+ // 'video'
99
+ // );
100
100
 
101
101
  const allowedToPublish = useSelector((state: RootState) => {
102
102
  const allowed = selectAllowedTracksToPublish(state);
@@ -134,7 +134,7 @@ export const _PeerVideoTileView = React.forwardRef<
134
134
  !!trackSource && trackSource === HMSTrackSource.SCREEN;
135
135
 
136
136
  const showingVideoTrack =
137
- peerCanPublishVideo &&
137
+ // peerCanPublishVideo && // Refer #RN-254@Jira, when user skips preview, it receives stub role object which has `publishPermissions` as `undefined`
138
138
  track &&
139
139
  track.trackId &&
140
140
  track.type === HMSTrackType.VIDEO &&
@@ -187,8 +187,8 @@ export const _PeerVideoTileView = React.forwardRef<
187
187
  isPipModeActive || isLandscapeOrientation ? null : (
188
188
  <HMSFullScreenButton peerTrackNode={peerTrackNode} />
189
189
  )
190
- ) : peerCanPublishAudio ? (
191
- <PeerAudioIndicator isMuted={peer.audioTrack?.isMute()} peer={peer} />
190
+ ) : peer.audioTrack && peer.audioTrack.id ? (
191
+ <PeerAudioIndicator isMuted={peer.audioTrack.isMute()} peer={peer} />
192
192
  ) : null}
193
193
 
194
194
  {/* Handling showing Peer name */}
@@ -0,0 +1,85 @@
1
+ import * as React from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import Animated, {
4
+ interpolate,
5
+ useAnimatedStyle,
6
+ useSharedValue,
7
+ withTiming,
8
+ runOnJS,
9
+ } from 'react-native-reanimated';
10
+ import { useSafeAreaFrame } from 'react-native-safe-area-context';
11
+
12
+ import { useIsLandscapeOrientation } from '../utils/dimension';
13
+
14
+ export interface PollAndQuizSheetScreenProps {
15
+ children: React.ReactElement | null;
16
+ zIndex: number;
17
+ disableAnimation?: boolean;
18
+ }
19
+
20
+ export const PollAndQuizSheetScreen: React.FC<PollAndQuizSheetScreenProps> = ({
21
+ children,
22
+ zIndex,
23
+ disableAnimation,
24
+ }) => {
25
+ const isLandscapeOrientation = useIsLandscapeOrientation();
26
+ const { width } = useSafeAreaFrame();
27
+ const xPosition = useSharedValue(disableAnimation ? 0 : 1);
28
+
29
+ const animatedStyle = useAnimatedStyle(
30
+ () => ({
31
+ opacity: interpolate(xPosition.value, [0, 1], [1, 0]),
32
+ transform: [
33
+ {
34
+ translateX: interpolate(
35
+ xPosition.value,
36
+ [0, 1],
37
+ [0, isLandscapeOrientation ? width * 0.6 : width],
38
+ 'clamp'
39
+ ),
40
+ },
41
+ ],
42
+ }),
43
+ [isLandscapeOrientation]
44
+ );
45
+
46
+ React.useEffect(() => {
47
+ if (disableAnimation) {
48
+ return;
49
+ }
50
+ xPosition.value = withTiming(0, { duration: 150 });
51
+ return () => {
52
+ cancelAnimationFrame(xPosition.value);
53
+ };
54
+ }, []);
55
+
56
+ const unmountScreenWithAnimation = React.useCallback(
57
+ (cb: () => void) => {
58
+ if (disableAnimation) {
59
+ cb();
60
+ return;
61
+ }
62
+ xPosition.value = withTiming(1, { duration: 150 }, () => {
63
+ runOnJS(cb)();
64
+ });
65
+ },
66
+ [disableAnimation]
67
+ );
68
+
69
+ return (
70
+ <Animated.View style={[styles.absolute, { zIndex }, animatedStyle]}>
71
+ {children
72
+ ? React.cloneElement(children, { unmountScreenWithAnimation })
73
+ : null}
74
+ </Animated.View>
75
+ );
76
+ };
77
+
78
+ const styles = StyleSheet.create({
79
+ absolute: {
80
+ width: '100%',
81
+ height: '100%',
82
+ position: 'absolute',
83
+ overflow: 'hidden',
84
+ },
85
+ });
@@ -6,22 +6,42 @@ import {
6
6
  findNodeHandle,
7
7
  UIManager,
8
8
  View,
9
+ Keyboard,
10
+ TouchableOpacity,
9
11
  } from 'react-native';
10
- import { useSelector } from 'react-redux';
12
+ import { useDispatch, useSelector } from 'react-redux';
11
13
  import { HMSPollState, HMSPollType } from '@100mslive/react-native-hms';
12
14
 
13
15
  import { useHMSInstance, useHMSRoomStyleSheet } from '../hooks-util';
14
16
  import type { RootState } from '../redux';
15
17
  import { HMSDangerButton } from './HMSDangerButton';
16
18
  import { PollAndQuizQuestionResponseCards } from './PollAndQuizQuestionResponseCards';
19
+ import {
20
+ popFromNavigationStack,
21
+ pushToNavigationStack,
22
+ } from '../redux/actions';
23
+ import { BottomSheet } from './BottomSheet';
24
+ import { ChevronIcon, CloseIcon } from '../Icons';
25
+ import { PollAndQuizzStateLabel } from './PollAndQuizzStateLabel';
26
+ import { HMSPrimaryButton } from './HMSPrimaryButton';
27
+ import { CreatePollStages } from '../redux/actionTypes';
28
+ import { VoterParticipationSummary } from './VoterParticipationSummary';
17
29
 
18
30
  export interface PollAndQuizVotingProps {
31
+ currentIdx: number;
19
32
  dismissModal(): void;
33
+ unmountScreenWithAnimation?(cb: Function): void;
20
34
  }
21
35
 
22
- export const PollAndQuizVoting: React.FC<PollAndQuizVotingProps> = () => {
36
+ export const PollAndQuizVoting: React.FC<PollAndQuizVotingProps> = ({
37
+ currentIdx,
38
+ dismissModal,
39
+ unmountScreenWithAnimation,
40
+ }) => {
23
41
  const scrollViewRef = React.useRef<ScrollView>(null);
24
42
  const hmsInstance = useHMSInstance();
43
+ const dispatch = useDispatch();
44
+
25
45
  const selectedPoll = useSelector((state: RootState) => {
26
46
  const pollsData = state.polls;
27
47
  if (pollsData.selectedPollId !== null) {
@@ -33,16 +53,34 @@ export const PollAndQuizVoting: React.FC<PollAndQuizVotingProps> = () => {
33
53
  const permissions = state.hmsStates.localPeer?.role?.permissions;
34
54
  return permissions?.pollWrite;
35
55
  });
56
+ const headerTitle = useSelector((state: RootState) => {
57
+ const pollsData = state.polls;
58
+ if (pollsData.selectedPollId !== null) {
59
+ return pollsData.polls[pollsData.selectedPollId]?.title || null;
60
+ }
61
+ return null;
62
+ });
36
63
 
37
64
  const hmsRoomStyles = useHMSRoomStyleSheet((theme, typography) => ({
38
65
  regularMediumText: {
39
66
  color: theme.palette.on_surface_medium,
40
67
  fontFamily: `${typography.font_family}-Regular`,
41
68
  },
69
+ semiBoldHighText: {
70
+ color: theme.palette.on_surface_high,
71
+ fontFamily: `${typography.font_family}-SemiBold`,
72
+ },
42
73
  semiBoldMediumText: {
43
74
  color: theme.palette.on_surface_medium,
44
75
  fontFamily: `${typography.font_family}-SemiBold`,
45
76
  },
77
+ headerText: {
78
+ color: theme.palette.on_surface_high,
79
+ fontFamily: `${typography.font_family}-SemiBold`,
80
+ },
81
+ container: {
82
+ backgroundColor: theme.palette.surface_dim,
83
+ },
46
84
  }));
47
85
 
48
86
  const endPoll = async () => {
@@ -79,17 +117,90 @@ export const PollAndQuizVoting: React.FC<PollAndQuizVotingProps> = () => {
79
117
  );
80
118
  };
81
119
 
120
+ const viewLeaderboard = () => {
121
+ dispatch(pushToNavigationStack(CreatePollStages.QUIZ_LEADERBOARD));
122
+ };
123
+
124
+ const handleBackPress = () => {
125
+ Keyboard.dismiss();
126
+ if (typeof unmountScreenWithAnimation === 'function') {
127
+ unmountScreenWithAnimation(() => dispatch(popFromNavigationStack()));
128
+ } else {
129
+ dispatch(popFromNavigationStack());
130
+ }
131
+ };
132
+
133
+ const handleClosePress = () => {
134
+ Keyboard.dismiss();
135
+ dismissModal();
136
+ };
137
+
82
138
  return (
83
- <View style={{ flex: 1 }}>
139
+ <View style={[styles.fullView, hmsRoomStyles.container]}>
140
+ {/* Header */}
141
+ <View style={styles.header}>
142
+ <View style={styles.headerControls}>
143
+ {currentIdx > 0 ? (
144
+ <TouchableOpacity
145
+ onPress={handleBackPress}
146
+ hitSlop={styles.closeIconHitSlop}
147
+ style={styles.backIcon}
148
+ >
149
+ <ChevronIcon direction="left" />
150
+ </TouchableOpacity>
151
+ ) : null}
152
+
153
+ <Text
154
+ numberOfLines={2}
155
+ style={[
156
+ styles.headerText,
157
+ { flexShrink: 1 },
158
+ hmsRoomStyles.headerText,
159
+ ]}
160
+ >
161
+ {headerTitle}
162
+ </Text>
163
+
164
+ {selectedPoll?.state ? (
165
+ <PollAndQuizzStateLabel state={selectedPoll?.state} />
166
+ ) : null}
167
+ </View>
168
+
169
+ <TouchableOpacity
170
+ onPress={handleClosePress}
171
+ hitSlop={styles.closeIconHitSlop}
172
+ style={{ marginLeft: 16 }}
173
+ >
174
+ <CloseIcon />
175
+ </TouchableOpacity>
176
+ </View>
177
+
178
+ {/* Divider */}
179
+ <BottomSheet.Divider style={styles.halfDivider} />
180
+
181
+ {/* Content */}
84
182
  <ScrollView
85
183
  ref={scrollViewRef}
86
184
  style={styles.contentContainer}
87
185
  contentContainerStyle={{ flexGrow: 1, paddingVertical: 24 }}
88
186
  >
89
- <Text style={[styles.normalText, hmsRoomStyles.semiBoldMediumText]}>
90
- {selectedPoll?.createdBy?.name} started a{' '}
91
- {selectedPoll?.type === HMSPollType.quiz ? 'quiz' : 'poll'}
92
- </Text>
187
+ {selectedPoll &&
188
+ selectedPoll.type === HMSPollType.quiz &&
189
+ selectedPoll.state === HMSPollState.stopped &&
190
+ !canCreateOrEndPoll ? (
191
+ <React.Fragment>
192
+ <VoterParticipationSummary pollId={selectedPoll.pollId} />
193
+
194
+ <Text style={[styles.normalText, hmsRoomStyles.semiBoldHighText]}>
195
+ Questions
196
+ </Text>
197
+ </React.Fragment>
198
+ ) : (
199
+ <Text style={[styles.normalText, hmsRoomStyles.semiBoldMediumText]}>
200
+ {selectedPoll?.createdBy?.name} started a{' '}
201
+ {selectedPoll?.type === HMSPollType.quiz ? 'quiz' : 'poll'}
202
+ </Text>
203
+ )}
93
204
 
94
205
  {selectedPoll ? (
95
206
  <PollAndQuizQuestionResponseCards
@@ -117,6 +228,22 @@ export const PollAndQuizVoting: React.FC<PollAndQuizVotingProps> = () => {
117
228
  }}
118
229
  />
119
230
  ) : null}
231
+
232
+ {selectedPoll &&
233
+ selectedPoll.state === HMSPollState.stopped &&
234
+ selectedPoll.type === HMSPollType.quiz ? (
235
+ <HMSPrimaryButton
236
+ title={'View Leaderboard'}
237
+ loading={false}
238
+ onPress={viewLeaderboard}
239
+ style={{
240
+ marginTop: 16,
241
+ marginBottom: 16,
242
+ marginRight: 24,
243
+ alignSelf: 'flex-end',
244
+ }}
245
+ />
246
+ ) : null}
120
247
  </View>
121
248
  );
122
249
  };
@@ -158,4 +285,51 @@ const styles = StyleSheet.create({
158
285
  marginRight: 8,
159
286
  padding: 8,
160
287
  },
288
+
289
+ // -----------------
290
+
291
+ // Utilities
292
+ fullView: {
293
+ flex: 1,
294
+ },
295
+ // Header
296
+ header: {
297
+ flexDirection: 'row',
298
+ alignItems: 'center',
299
+ justifyContent: 'space-between',
300
+ marginTop: 24,
301
+ marginHorizontal: 24,
302
+ },
303
+ headerControls: {
304
+ flexDirection: 'row',
305
+ alignItems: 'center',
306
+ flexShrink: 1,
307
+ },
308
+ headerText: {
309
+ fontSize: 20,
310
+ lineHeight: 24,
311
+ letterSpacing: 0.15,
312
+ marginRight: 12,
313
+ },
314
+ closeIconHitSlop: {
315
+ bottom: 16,
316
+ left: 16,
317
+ right: 16,
318
+ top: 16,
319
+ },
320
+ backIcon: {
321
+ marginRight: 8,
322
+ },
323
+ // Divider
324
+ halfDivider: {
325
+ marginHorizontal: 24,
326
+ marginVertical: 0,
327
+ marginTop: 24,
328
+ width: undefined,
329
+ },
330
+ divider: {
331
+ marginHorizontal: 24,
332
+ marginVertical: 24,
333
+ width: undefined,
334
+ },
161
335
  });