@100mslive/react-native-room-kit 0.0.4 → 0.2.0
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.
- package/README.md +413 -11
- package/lib/commonjs/HMSInstanceSetup.js +2 -1
- package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
- package/lib/commonjs/HMSPrebuilt.js +4 -2
- package/lib/commonjs/HMSPrebuilt.js.map +1 -1
- package/lib/commonjs/HMSRoomSetup.js +39 -8
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
- package/lib/commonjs/Icons/AlertTriangle/index.js +34 -0
- package/lib/commonjs/Icons/AlertTriangle/index.js.map +1 -0
- package/lib/commonjs/Icons/AnswerPhone/index.js +5 -1
- package/lib/commonjs/Icons/AnswerPhone/index.js.map +1 -1
- package/lib/commonjs/Icons/BRB/assets/BRB.png +0 -0
- package/lib/commonjs/Icons/BRB/assets/BRB@2x.png +0 -0
- package/lib/commonjs/Icons/BRB/assets/BRB@3x.png +0 -0
- package/lib/commonjs/Icons/BRB/index.js +35 -0
- package/lib/commonjs/Icons/BRB/index.js.map +1 -0
- package/lib/commonjs/Icons/Bluetooth/index.js +5 -1
- package/lib/commonjs/Icons/Bluetooth/index.js.map +1 -1
- package/lib/commonjs/Icons/Camera/index.js +5 -1
- package/lib/commonjs/Icons/Camera/index.js.map +1 -1
- package/lib/commonjs/Icons/Chat/index.js +5 -1
- package/lib/commonjs/Icons/Chat/index.js.map +1 -1
- package/lib/commonjs/Icons/Check/index.js +5 -1
- package/lib/commonjs/Icons/Check/index.js.map +1 -1
- package/lib/commonjs/Icons/Chevron/index.js +5 -1
- package/lib/commonjs/Icons/Chevron/index.js.map +1 -1
- package/lib/commonjs/Icons/Close/index.js +5 -1
- package/lib/commonjs/Icons/Close/index.js.map +1 -1
- package/lib/commonjs/Icons/Hamburger/assets/hamburger.png +0 -0
- package/lib/commonjs/Icons/Hamburger/assets/hamburger@2x.png +0 -0
- package/lib/commonjs/Icons/Hamburger/assets/hamburger@3x.png +0 -0
- package/lib/commonjs/Icons/Hamburger/index.js +34 -0
- package/lib/commonjs/Icons/Hamburger/index.js.map +1 -0
- package/lib/commonjs/Icons/Hand/index.js +6 -4
- package/lib/commonjs/Icons/Hand/index.js.map +1 -1
- package/lib/commonjs/Icons/Headphones/index.js +5 -1
- package/lib/commonjs/Icons/Headphones/index.js.map +1 -1
- package/lib/commonjs/Icons/Maximize/assets/maximize.png +0 -0
- package/lib/commonjs/Icons/Maximize/assets/maximize@2x.png +0 -0
- package/lib/commonjs/Icons/Maximize/assets/maximize@3x.png +0 -0
- package/lib/commonjs/Icons/Maximize/index.js +34 -0
- package/lib/commonjs/Icons/Maximize/index.js.map +1 -0
- package/lib/commonjs/Icons/Mic/index.js +5 -1
- package/lib/commonjs/Icons/Mic/index.js.map +1 -1
- package/lib/commonjs/Icons/Minimize/assets/minimize.png +0 -0
- package/lib/commonjs/Icons/Minimize/assets/minimize@2x.png +0 -0
- package/lib/commonjs/Icons/Minimize/assets/minimize@3x.png +0 -0
- package/lib/commonjs/Icons/Minimize/index.js +34 -0
- package/lib/commonjs/Icons/Minimize/index.js.map +1 -0
- package/lib/commonjs/Icons/Participants/index.js +5 -1
- package/lib/commonjs/Icons/Participants/index.js.map +1 -1
- package/lib/commonjs/Icons/Pencil/assets/pencil.png +0 -0
- package/lib/commonjs/Icons/Pencil/assets/pencil@2x.png +0 -0
- package/lib/commonjs/Icons/Pencil/assets/pencil@3x.png +0 -0
- package/lib/commonjs/Icons/Pencil/index.js +34 -0
- package/lib/commonjs/Icons/Pencil/index.js.map +1 -0
- package/lib/commonjs/Icons/Pin/assets/pin.png +0 -0
- package/lib/commonjs/Icons/Pin/assets/pin@2x.png +0 -0
- package/lib/commonjs/Icons/Pin/assets/pin@3x.png +0 -0
- package/lib/commonjs/Icons/Pin/index.js +34 -0
- package/lib/commonjs/Icons/Pin/index.js.map +1 -0
- package/lib/commonjs/Icons/Radio/assets/radio-xlarge.png +0 -0
- package/lib/commonjs/Icons/Radio/assets/radio-xlarge@2x.png +0 -0
- package/lib/commonjs/Icons/Radio/assets/radio-xlarge@3x.png +0 -0
- package/lib/commonjs/Icons/Radio/index.js +29 -1
- package/lib/commonjs/Icons/Radio/index.js.map +1 -1
- package/lib/commonjs/Icons/Recording/assets/recording.png +0 -0
- package/lib/commonjs/Icons/Recording/assets/recording@2x.png +0 -0
- package/lib/commonjs/Icons/Recording/assets/recording@3x.png +0 -0
- package/lib/commonjs/Icons/Recording/index.js +34 -0
- package/lib/commonjs/Icons/Recording/index.js.map +1 -0
- package/lib/commonjs/Icons/RotateCamera/index.js +5 -1
- package/lib/commonjs/Icons/RotateCamera/index.js.map +1 -1
- package/lib/commonjs/Icons/ScreenShare/index.js +5 -1
- package/lib/commonjs/Icons/ScreenShare/index.js.map +1 -1
- package/lib/commonjs/Icons/Speaker/index.js +5 -1
- package/lib/commonjs/Icons/Speaker/index.js.map +1 -1
- package/lib/commonjs/Icons/Star/assets/star.png +0 -0
- package/lib/commonjs/Icons/Star/assets/star@2x.png +0 -0
- package/lib/commonjs/Icons/Star/assets/star@3x.png +0 -0
- package/lib/commonjs/Icons/Star/index.js +34 -0
- package/lib/commonjs/Icons/Star/index.js.map +1 -0
- package/lib/commonjs/Icons/Stop/assets/stop.png +0 -0
- package/lib/commonjs/Icons/Stop/assets/stop@2x.png +0 -0
- package/lib/commonjs/Icons/Stop/assets/stop@3x.png +0 -0
- package/lib/commonjs/Icons/Stop/index.js +34 -0
- package/lib/commonjs/Icons/Stop/index.js.map +1 -0
- package/lib/commonjs/Icons/ThreeDots/index.js +5 -1
- package/lib/commonjs/Icons/ThreeDots/index.js.map +1 -1
- package/lib/commonjs/Icons/Wave/index.js +5 -1
- package/lib/commonjs/Icons/Wave/index.js.map +1 -1
- package/lib/commonjs/Icons/index.js +110 -0
- package/lib/commonjs/Icons/index.js.map +1 -1
- package/lib/commonjs/components/AvatarView.js +1 -2
- package/lib/commonjs/components/AvatarView.js.map +1 -1
- package/lib/commonjs/components/BackButton.js +6 -4
- package/lib/commonjs/components/BackButton.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +157 -0
- package/lib/commonjs/components/BottomSheet.js.map +1 -0
- package/lib/commonjs/components/ChangeNameModalContent.js +131 -0
- package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -0
- package/lib/commonjs/components/CompanyLogo.js +38 -0
- package/lib/commonjs/components/CompanyLogo.js.map +1 -0
- package/lib/commonjs/components/CustomInput.js +2 -3
- package/lib/commonjs/components/CustomInput.js.map +1 -1
- package/lib/commonjs/components/DisplayView.js +15 -54
- package/lib/commonjs/components/DisplayView.js.map +1 -1
- package/lib/commonjs/components/EndRoomModalContent.js +85 -0
- package/lib/commonjs/components/EndRoomModalContent.js.map +1 -0
- package/lib/commonjs/components/Footer.js +17 -13
- package/lib/commonjs/components/Footer.js.map +1 -1
- package/lib/commonjs/components/GridView.js +53 -7
- package/lib/commonjs/components/GridView.js.map +1 -1
- package/lib/commonjs/components/HMSBaseButton.js +66 -0
- package/lib/commonjs/components/HMSBaseButton.js.map +1 -0
- package/lib/commonjs/components/HMSDangerButton.js +53 -0
- package/lib/commonjs/components/HMSDangerButton.js.map +1 -0
- package/lib/commonjs/components/HMSHLSNotStarted.js +27 -19
- package/lib/commonjs/components/HMSHLSNotStarted.js.map +1 -1
- package/lib/commonjs/components/HMSHLSStreamLoading.js +17 -8
- package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -1
- package/lib/commonjs/components/HMSManageAudioOutput.js +41 -75
- package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/commonjs/components/HMSManageCameraRotation.js +5 -4
- package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
- package/lib/commonjs/components/HMSManageLeave.js +101 -128
- package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
- package/lib/commonjs/components/HMSManageLocalAudio.js +1 -9
- package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
- package/lib/commonjs/components/HMSManageLocalVideo.js +1 -9
- package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
- package/lib/commonjs/components/HMSManageRaiseHand.js +2 -15
- package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
- package/lib/commonjs/components/HMSMeetingEnded.js +1 -2
- package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewEditName.js +3 -37
- package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +17 -10
- package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewJoinButton.js +23 -46
- package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js +5 -3
- package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewPeersList.js +21 -10
- package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewSubtitle.js +22 -9
- package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTile.js +16 -8
- package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTitle.js +14 -6
- package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/HMSPrimaryButton.js +53 -0
- package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -0
- package/lib/commonjs/components/HMSRecordingIndicator.js +46 -0
- package/lib/commonjs/components/HMSRecordingIndicator.js.map +1 -0
- package/lib/commonjs/components/HMSRoomOptions.js +20 -7
- package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
- package/lib/commonjs/components/HMSShowNetworkQuality.js +5 -4
- package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
- package/lib/commonjs/components/HMSTextInput.js +66 -0
- package/lib/commonjs/components/HMSTextInput.js.map +1 -0
- package/lib/commonjs/components/Header.js +30 -30
- package/lib/commonjs/components/Header.js.map +1 -1
- package/lib/commonjs/components/LocalPeerRegularVideoView.js +26 -0
- package/lib/commonjs/components/LocalPeerRegularVideoView.js.map +1 -0
- package/lib/commonjs/components/LocalPeerScreenshareView.js +76 -0
- package/lib/commonjs/components/LocalPeerScreenshareView.js.map +1 -0
- package/lib/commonjs/components/Meeting.js +8 -3
- package/lib/commonjs/components/Meeting.js.map +1 -1
- package/lib/commonjs/components/MeetingScreenContent.js +2 -1
- package/lib/commonjs/components/MeetingScreenContent.js.map +1 -1
- package/lib/commonjs/components/MiniView.js +163 -0
- package/lib/commonjs/components/MiniView.js.map +1 -0
- package/lib/commonjs/components/Modals.js +31 -116
- package/lib/commonjs/components/Modals.js.map +1 -1
- package/lib/commonjs/components/PaginationDots.js +56 -0
- package/lib/commonjs/components/PaginationDots.js.map +1 -0
- package/lib/commonjs/components/ParticipantsCount.js +55 -0
- package/lib/commonjs/components/ParticipantsCount.js.map +1 -0
- package/lib/commonjs/components/PeerMinimizedView.js +114 -0
- package/lib/commonjs/components/PeerMinimizedView.js.map +1 -0
- package/lib/commonjs/components/PeerSettingsModalContent.js +68 -51
- package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/AvatarView.js +76 -0
- package/lib/commonjs/components/PeerVideoTile/AvatarView.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js +44 -0
- package/lib/commonjs/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js +44 -0
- package/lib/commonjs/components/PeerVideoTile/PeerMetadata.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +74 -0
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +146 -0
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/VideoView.js +84 -0
- package/lib/commonjs/components/PeerVideoTile/VideoView.js.map +1 -0
- package/lib/commonjs/components/PeerVideoTile/index.js +2 -0
- package/lib/commonjs/components/PeerVideoTile/index.js.map +1 -0
- package/lib/commonjs/components/PressableIcon.js +15 -8
- package/lib/commonjs/components/PressableIcon.js.map +1 -1
- package/lib/commonjs/components/Preview.js +19 -6
- package/lib/commonjs/components/Preview.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalContent.js +233 -362
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js +295 -0
- package/lib/commonjs/components/RoomSettingsModalDebugModeContent.js.map +1 -0
- package/lib/commonjs/components/StatusBar.js +7 -5
- package/lib/commonjs/components/StatusBar.js.map +1 -1
- package/lib/commonjs/components/StopRecordingModalContent.js +97 -0
- package/lib/commonjs/components/StopRecordingModalContent.js.map +1 -0
- package/lib/commonjs/components/Tile.js +29 -90
- package/lib/commonjs/components/Tile.js.map +1 -1
- package/lib/commonjs/components/TilesContainer.js +99 -10
- package/lib/commonjs/components/TilesContainer.js.map +1 -1
- package/lib/commonjs/components/UnmountAfterDelay.js +48 -0
- package/lib/commonjs/components/UnmountAfterDelay.js.map +1 -0
- package/lib/commonjs/components/WebrtcView.js +51 -0
- package/lib/commonjs/components/WebrtcView.js.map +1 -0
- package/lib/commonjs/components/WelcomeInMeeting.js +54 -0
- package/lib/commonjs/components/WelcomeInMeeting.js.map +1 -0
- package/lib/commonjs/hooks-sdk-selectors.js +6 -1
- package/lib/commonjs/hooks-sdk-selectors.js.map +1 -1
- package/lib/commonjs/hooks-sdk.js +16 -1
- package/lib/commonjs/hooks-sdk.js.map +1 -1
- package/lib/commonjs/hooks-util-selectors.js +8 -2
- package/lib/commonjs/hooks-util-selectors.js.map +1 -1
- package/lib/commonjs/hooks-util.js +315 -93
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/modules/HMSManager.js +23 -0
- package/lib/commonjs/modules/HMSManager.js.map +1 -0
- package/lib/commonjs/modules/parser.js +22 -0
- package/lib/commonjs/modules/parser.js.map +1 -0
- package/lib/commonjs/peerTrackNodeUtils.js +8 -3
- package/lib/commonjs/peerTrackNodeUtils.js.map +1 -1
- package/lib/commonjs/redux/actionTypes.js +16 -1
- package/lib/commonjs/redux/actionTypes.js.map +1 -1
- package/lib/commonjs/redux/actions/index.js +51 -1
- package/lib/commonjs/redux/actions/index.js.map +1 -1
- package/lib/commonjs/redux/reducers/appState.js +57 -1
- package/lib/commonjs/redux/reducers/appState.js.map +1 -1
- package/lib/commonjs/redux/reducers/hmsStates.js +7 -1
- package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
- package/lib/commonjs/redux/reducers/userState.js +3 -1
- package/lib/commonjs/redux/reducers/userState.js.map +1 -1
- package/lib/commonjs/utils/functions.js +51 -1
- package/lib/commonjs/utils/functions.js.map +1 -1
- package/lib/commonjs/utils/theme.js +62 -8
- package/lib/commonjs/utils/theme.js.map +1 -1
- package/lib/commonjs/utils/types.js +8 -1
- package/lib/commonjs/utils/types.js.map +1 -1
- package/lib/module/HMSInstanceSetup.js +2 -1
- package/lib/module/HMSInstanceSetup.js.map +1 -1
- package/lib/module/HMSPrebuilt.js +4 -2
- package/lib/module/HMSPrebuilt.js.map +1 -1
- package/lib/module/HMSRoomSetup.js +41 -10
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
- package/lib/module/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
- package/lib/module/Icons/AlertTriangle/index.js +26 -0
- package/lib/module/Icons/AlertTriangle/index.js.map +1 -0
- package/lib/module/Icons/AnswerPhone/index.js +5 -1
- package/lib/module/Icons/AnswerPhone/index.js.map +1 -1
- package/lib/module/Icons/BRB/assets/BRB.png +0 -0
- package/lib/module/Icons/BRB/assets/BRB@2x.png +0 -0
- package/lib/module/Icons/BRB/assets/BRB@3x.png +0 -0
- package/lib/module/Icons/BRB/index.js +27 -0
- package/lib/module/Icons/BRB/index.js.map +1 -0
- package/lib/module/Icons/Bluetooth/index.js +5 -1
- package/lib/module/Icons/Bluetooth/index.js.map +1 -1
- package/lib/module/Icons/Camera/index.js +5 -1
- package/lib/module/Icons/Camera/index.js.map +1 -1
- package/lib/module/Icons/Chat/index.js +5 -1
- package/lib/module/Icons/Chat/index.js.map +1 -1
- package/lib/module/Icons/Check/index.js +5 -1
- package/lib/module/Icons/Check/index.js.map +1 -1
- package/lib/module/Icons/Chevron/index.js +5 -1
- package/lib/module/Icons/Chevron/index.js.map +1 -1
- package/lib/module/Icons/Close/index.js +5 -1
- package/lib/module/Icons/Close/index.js.map +1 -1
- package/lib/module/Icons/Hamburger/assets/hamburger.png +0 -0
- package/lib/module/Icons/Hamburger/assets/hamburger@2x.png +0 -0
- package/lib/module/Icons/Hamburger/assets/hamburger@3x.png +0 -0
- package/lib/module/Icons/Hamburger/index.js +26 -0
- package/lib/module/Icons/Hamburger/index.js.map +1 -0
- package/lib/module/Icons/Hand/index.js +6 -4
- package/lib/module/Icons/Hand/index.js.map +1 -1
- package/lib/module/Icons/Headphones/index.js +5 -1
- package/lib/module/Icons/Headphones/index.js.map +1 -1
- package/lib/module/Icons/Maximize/assets/maximize.png +0 -0
- package/lib/module/Icons/Maximize/assets/maximize@2x.png +0 -0
- package/lib/module/Icons/Maximize/assets/maximize@3x.png +0 -0
- package/lib/module/Icons/Maximize/index.js +26 -0
- package/lib/module/Icons/Maximize/index.js.map +1 -0
- package/lib/module/Icons/Mic/index.js +5 -1
- package/lib/module/Icons/Mic/index.js.map +1 -1
- package/lib/module/Icons/Minimize/assets/minimize.png +0 -0
- package/lib/module/Icons/Minimize/assets/minimize@2x.png +0 -0
- package/lib/module/Icons/Minimize/assets/minimize@3x.png +0 -0
- package/lib/module/Icons/Minimize/index.js +26 -0
- package/lib/module/Icons/Minimize/index.js.map +1 -0
- package/lib/module/Icons/Participants/index.js +5 -1
- package/lib/module/Icons/Participants/index.js.map +1 -1
- package/lib/module/Icons/Pencil/assets/pencil.png +0 -0
- package/lib/module/Icons/Pencil/assets/pencil@2x.png +0 -0
- package/lib/module/Icons/Pencil/assets/pencil@3x.png +0 -0
- package/lib/module/Icons/Pencil/index.js +26 -0
- package/lib/module/Icons/Pencil/index.js.map +1 -0
- package/lib/module/Icons/Pin/assets/pin.png +0 -0
- package/lib/module/Icons/Pin/assets/pin@2x.png +0 -0
- package/lib/module/Icons/Pin/assets/pin@3x.png +0 -0
- package/lib/module/Icons/Pin/index.js +26 -0
- package/lib/module/Icons/Pin/index.js.map +1 -0
- package/lib/module/Icons/Radio/assets/radio-xlarge.png +0 -0
- package/lib/module/Icons/Radio/assets/radio-xlarge@2x.png +0 -0
- package/lib/module/Icons/Radio/assets/radio-xlarge@3x.png +0 -0
- package/lib/module/Icons/Radio/index.js +30 -2
- package/lib/module/Icons/Radio/index.js.map +1 -1
- package/lib/module/Icons/Recording/assets/recording.png +0 -0
- package/lib/module/Icons/Recording/assets/recording@2x.png +0 -0
- package/lib/module/Icons/Recording/assets/recording@3x.png +0 -0
- package/lib/module/Icons/Recording/index.js +26 -0
- package/lib/module/Icons/Recording/index.js.map +1 -0
- package/lib/module/Icons/RotateCamera/index.js +5 -1
- package/lib/module/Icons/RotateCamera/index.js.map +1 -1
- package/lib/module/Icons/ScreenShare/index.js +5 -1
- package/lib/module/Icons/ScreenShare/index.js.map +1 -1
- package/lib/module/Icons/Speaker/index.js +5 -1
- package/lib/module/Icons/Speaker/index.js.map +1 -1
- package/lib/module/Icons/Star/assets/star.png +0 -0
- package/lib/module/Icons/Star/assets/star@2x.png +0 -0
- package/lib/module/Icons/Star/assets/star@3x.png +0 -0
- package/lib/module/Icons/Star/index.js +26 -0
- package/lib/module/Icons/Star/index.js.map +1 -0
- package/lib/module/Icons/Stop/assets/stop.png +0 -0
- package/lib/module/Icons/Stop/assets/stop@2x.png +0 -0
- package/lib/module/Icons/Stop/assets/stop@3x.png +0 -0
- package/lib/module/Icons/Stop/index.js +26 -0
- package/lib/module/Icons/Stop/index.js.map +1 -0
- package/lib/module/Icons/ThreeDots/index.js +5 -1
- package/lib/module/Icons/ThreeDots/index.js.map +1 -1
- package/lib/module/Icons/Wave/index.js +5 -1
- package/lib/module/Icons/Wave/index.js.map +1 -1
- package/lib/module/Icons/index.js +10 -0
- package/lib/module/Icons/index.js.map +1 -1
- package/lib/module/components/AvatarView.js +1 -2
- package/lib/module/components/AvatarView.js.map +1 -1
- package/lib/module/components/BackButton.js +6 -4
- package/lib/module/components/BackButton.js.map +1 -1
- package/lib/module/components/BottomSheet.js +146 -0
- package/lib/module/components/BottomSheet.js.map +1 -0
- package/lib/module/components/ChangeNameModalContent.js +122 -0
- package/lib/module/components/ChangeNameModalContent.js.map +1 -0
- package/lib/module/components/CompanyLogo.js +30 -0
- package/lib/module/components/CompanyLogo.js.map +1 -0
- package/lib/module/components/CustomInput.js +2 -3
- package/lib/module/components/CustomInput.js.map +1 -1
- package/lib/module/components/DisplayView.js +19 -57
- package/lib/module/components/DisplayView.js.map +1 -1
- package/lib/module/components/EndRoomModalContent.js +76 -0
- package/lib/module/components/EndRoomModalContent.js.map +1 -0
- package/lib/module/components/Footer.js +19 -15
- package/lib/module/components/Footer.js.map +1 -1
- package/lib/module/components/GridView.js +55 -10
- package/lib/module/components/GridView.js.map +1 -1
- package/lib/module/components/HMSBaseButton.js +57 -0
- package/lib/module/components/HMSBaseButton.js.map +1 -0
- package/lib/module/components/HMSDangerButton.js +44 -0
- package/lib/module/components/HMSDangerButton.js.map +1 -0
- package/lib/module/components/HMSHLSNotStarted.js +29 -21
- package/lib/module/components/HMSHLSNotStarted.js.map +1 -1
- package/lib/module/components/HMSHLSStreamLoading.js +17 -8
- package/lib/module/components/HMSHLSStreamLoading.js.map +1 -1
- package/lib/module/components/HMSManageAudioOutput.js +42 -77
- package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/module/components/HMSManageCameraRotation.js +5 -4
- package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
- package/lib/module/components/HMSManageLeave.js +104 -129
- package/lib/module/components/HMSManageLeave.js.map +1 -1
- package/lib/module/components/HMSManageLocalAudio.js +1 -9
- package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
- package/lib/module/components/HMSManageLocalVideo.js +1 -9
- package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
- package/lib/module/components/HMSManageRaiseHand.js +2 -15
- package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
- package/lib/module/components/HMSMeetingEnded.js +1 -2
- package/lib/module/components/HMSMeetingEnded.js.map +1 -1
- package/lib/module/components/HMSPreviewEditName.js +3 -37
- package/lib/module/components/HMSPreviewEditName.js.map +1 -1
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js +17 -10
- package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -1
- package/lib/module/components/HMSPreviewJoinButton.js +26 -49
- package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/module/components/HMSPreviewNetworkQuality.js +6 -4
- package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -1
- package/lib/module/components/HMSPreviewPeersList.js +21 -10
- package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
- package/lib/module/components/HMSPreviewSubtitle.js +22 -9
- package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/module/components/HMSPreviewTile.js +16 -8
- package/lib/module/components/HMSPreviewTile.js.map +1 -1
- package/lib/module/components/HMSPreviewTitle.js +14 -6
- package/lib/module/components/HMSPreviewTitle.js.map +1 -1
- package/lib/module/components/HMSPrimaryButton.js +44 -0
- package/lib/module/components/HMSPrimaryButton.js.map +1 -0
- package/lib/module/components/HMSRecordingIndicator.js +37 -0
- package/lib/module/components/HMSRecordingIndicator.js.map +1 -0
- package/lib/module/components/HMSRoomOptions.js +21 -8
- package/lib/module/components/HMSRoomOptions.js.map +1 -1
- package/lib/module/components/HMSShowNetworkQuality.js +6 -5
- package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
- package/lib/module/components/HMSTextInput.js +57 -0
- package/lib/module/components/HMSTextInput.js.map +1 -0
- package/lib/module/components/Header.js +32 -32
- package/lib/module/components/Header.js.map +1 -1
- package/lib/module/components/LocalPeerRegularVideoView.js +17 -0
- package/lib/module/components/LocalPeerRegularVideoView.js.map +1 -0
- package/lib/module/components/LocalPeerScreenshareView.js +66 -0
- package/lib/module/components/LocalPeerScreenshareView.js.map +1 -0
- package/lib/module/components/Meeting.js +9 -4
- package/lib/module/components/Meeting.js.map +1 -1
- package/lib/module/components/MeetingScreenContent.js +2 -1
- package/lib/module/components/MeetingScreenContent.js.map +1 -1
- package/lib/module/components/MiniView.js +154 -0
- package/lib/module/components/MiniView.js.map +1 -0
- package/lib/module/components/Modals.js +31 -114
- package/lib/module/components/Modals.js.map +1 -1
- package/lib/module/components/PaginationDots.js +47 -0
- package/lib/module/components/PaginationDots.js.map +1 -0
- package/lib/module/components/ParticipantsCount.js +46 -0
- package/lib/module/components/ParticipantsCount.js.map +1 -0
- package/lib/module/components/PeerMinimizedView.js +104 -0
- package/lib/module/components/PeerMinimizedView.js.map +1 -0
- package/lib/module/components/PeerSettingsModalContent.js +71 -54
- package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/module/components/PeerVideoTile/AvatarView.js +66 -0
- package/lib/module/components/PeerVideoTile/AvatarView.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js +35 -0
- package/lib/module/components/PeerVideoTile/PeerAudioMutedIndicator.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerMetadata.js +35 -0
- package/lib/module/components/PeerVideoTile/PeerMetadata.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +65 -0
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -0
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +136 -0
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -0
- package/lib/module/components/PeerVideoTile/VideoView.js +75 -0
- package/lib/module/components/PeerVideoTile/VideoView.js.map +1 -0
- package/lib/module/components/PeerVideoTile/index.js +2 -0
- package/lib/module/components/PeerVideoTile/index.js.map +1 -0
- package/lib/module/components/PressableIcon.js +15 -8
- package/lib/module/components/PressableIcon.js.map +1 -1
- package/lib/module/components/Preview.js +19 -6
- package/lib/module/components/Preview.js.map +1 -1
- package/lib/module/components/RoomSettingsModalContent.js +234 -364
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/components/RoomSettingsModalDebugModeContent.js +287 -0
- package/lib/module/components/RoomSettingsModalDebugModeContent.js.map +1 -0
- package/lib/module/components/StatusBar.js +7 -5
- package/lib/module/components/StatusBar.js.map +1 -1
- package/lib/module/components/StopRecordingModalContent.js +88 -0
- package/lib/module/components/StopRecordingModalContent.js.map +1 -0
- package/lib/module/components/Tile.js +30 -91
- package/lib/module/components/Tile.js.map +1 -1
- package/lib/module/components/TilesContainer.js +100 -10
- package/lib/module/components/TilesContainer.js.map +1 -1
- package/lib/module/components/UnmountAfterDelay.js +39 -0
- package/lib/module/components/UnmountAfterDelay.js.map +1 -0
- package/lib/module/components/WebrtcView.js +41 -0
- package/lib/module/components/WebrtcView.js.map +1 -0
- package/lib/module/components/WelcomeInMeeting.js +45 -0
- package/lib/module/components/WelcomeInMeeting.js.map +1 -0
- package/lib/module/hooks-sdk-selectors.js +4 -0
- package/lib/module/hooks-sdk-selectors.js.map +1 -1
- package/lib/module/hooks-sdk.js +16 -1
- package/lib/module/hooks-sdk.js.map +1 -1
- package/lib/module/hooks-util-selectors.js +8 -2
- package/lib/module/hooks-util-selectors.js.map +1 -1
- package/lib/module/hooks-util.js +310 -96
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/modules/HMSManager.js +17 -0
- package/lib/module/modules/HMSManager.js.map +1 -0
- package/lib/module/modules/parser.js +16 -0
- package/lib/module/modules/parser.js.map +1 -0
- package/lib/module/peerTrackNodeUtils.js +6 -2
- package/lib/module/peerTrackNodeUtils.js.map +1 -1
- package/lib/module/redux/actionTypes.js +16 -1
- package/lib/module/redux/actionTypes.js.map +1 -1
- package/lib/module/redux/actions/index.js +42 -0
- package/lib/module/redux/actions/index.js.map +1 -1
- package/lib/module/redux/reducers/appState.js +57 -1
- package/lib/module/redux/reducers/appState.js.map +1 -1
- package/lib/module/redux/reducers/hmsStates.js +7 -1
- package/lib/module/redux/reducers/hmsStates.js.map +1 -1
- package/lib/module/redux/reducers/userState.js +3 -1
- package/lib/module/redux/reducers/userState.js.map +1 -1
- package/lib/module/utils/functions.js +47 -0
- package/lib/module/utils/functions.js.map +1 -1
- package/lib/module/utils/theme.js +57 -5
- package/lib/module/utils/theme.js.map +1 -1
- package/lib/module/utils/types.js +6 -0
- package/lib/module/utils/types.js.map +1 -1
- package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -1
- package/lib/typescript/HMSPrebuilt.d.ts +1 -0
- package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/Icons/AlertTriangle/index.d.ts +7 -0
- package/lib/typescript/Icons/AlertTriangle/index.d.ts.map +1 -0
- package/lib/typescript/Icons/AnswerPhone/index.d.ts.map +1 -1
- package/lib/typescript/Icons/BRB/index.d.ts +7 -0
- package/lib/typescript/Icons/BRB/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Camera/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Chat/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Check/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Chevron/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Close/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Hamburger/index.d.ts +7 -0
- package/lib/typescript/Icons/Hamburger/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Headphones/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Maximize/index.d.ts +7 -0
- package/lib/typescript/Icons/Maximize/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Mic/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Minimize/index.d.ts +7 -0
- package/lib/typescript/Icons/Minimize/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Participants/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Pencil/index.d.ts +7 -0
- package/lib/typescript/Icons/Pencil/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Pin/index.d.ts +7 -0
- package/lib/typescript/Icons/Pin/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Radio/index.d.ts +7 -3
- package/lib/typescript/Icons/Radio/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Recording/index.d.ts +7 -0
- package/lib/typescript/Icons/Recording/index.d.ts.map +1 -0
- package/lib/typescript/Icons/RotateCamera/index.d.ts.map +1 -1
- package/lib/typescript/Icons/ScreenShare/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Speaker/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Star/index.d.ts +7 -0
- package/lib/typescript/Icons/Star/index.d.ts.map +1 -0
- package/lib/typescript/Icons/Stop/index.d.ts +7 -0
- package/lib/typescript/Icons/Stop/index.d.ts.map +1 -0
- package/lib/typescript/Icons/ThreeDots/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Wave/index.d.ts.map +1 -1
- package/lib/typescript/Icons/index.d.ts +10 -0
- package/lib/typescript/Icons/index.d.ts.map +1 -1
- package/lib/typescript/components/BackButton.d.ts.map +1 -1
- package/lib/typescript/components/BottomSheet.d.ts +25 -0
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/ChangeNameModalContent.d.ts +6 -0
- package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -0
- package/lib/typescript/components/CompanyLogo.d.ts +7 -0
- package/lib/typescript/components/CompanyLogo.d.ts.map +1 -0
- package/lib/typescript/components/CustomInput.d.ts +1 -1
- package/lib/typescript/components/CustomInput.d.ts.map +1 -1
- package/lib/typescript/components/DisplayView.d.ts.map +1 -1
- package/lib/typescript/components/EndRoomModalContent.d.ts +6 -0
- package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -0
- package/lib/typescript/components/Footer.d.ts.map +1 -1
- package/lib/typescript/components/GridView.d.ts +3 -4
- package/lib/typescript/components/GridView.d.ts.map +1 -1
- package/lib/typescript/components/HMSBaseButton.d.ts +15 -0
- package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -0
- package/lib/typescript/components/HMSDangerButton.d.ts +12 -0
- package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -0
- package/lib/typescript/components/HMSHLSNotStarted.d.ts.map +1 -1
- package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLocalAudio.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLocalVideo.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPrimaryButton.d.ts +12 -0
- package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -0
- package/lib/typescript/components/HMSRecordingIndicator.d.ts +3 -0
- package/lib/typescript/components/HMSRecordingIndicator.d.ts.map +1 -0
- package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
- package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
- package/lib/typescript/components/HMSTextInput.d.ts +10 -0
- package/lib/typescript/components/HMSTextInput.d.ts.map +1 -0
- package/lib/typescript/components/Header.d.ts.map +1 -1
- package/lib/typescript/components/LocalPeerRegularVideoView.d.ts +6 -0
- package/lib/typescript/components/LocalPeerRegularVideoView.d.ts.map +1 -0
- package/lib/typescript/components/LocalPeerScreenshareView.d.ts +3 -0
- package/lib/typescript/components/LocalPeerScreenshareView.d.ts.map +1 -0
- package/lib/typescript/components/Meeting.d.ts.map +1 -1
- package/lib/typescript/components/MiniView.d.ts +9 -0
- package/lib/typescript/components/MiniView.d.ts.map +1 -0
- package/lib/typescript/components/Modals.d.ts +0 -7
- package/lib/typescript/components/Modals.d.ts.map +1 -1
- package/lib/typescript/components/PaginationDots.d.ts +6 -0
- package/lib/typescript/components/PaginationDots.d.ts.map +1 -0
- package/lib/typescript/components/ParticipantsCount.d.ts +3 -0
- package/lib/typescript/components/ParticipantsCount.d.ts.map +1 -0
- package/lib/typescript/components/PeerMinimizedView.d.ts +12 -0
- package/lib/typescript/components/PeerMinimizedView.d.ts.map +1 -0
- package/lib/typescript/components/PeerSettingsModalContent.d.ts +1 -0
- package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts +9 -0
- package/lib/typescript/components/PeerVideoTile/AvatarView.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts +6 -0
- package/lib/typescript/components/PeerVideoTile/PeerAudioMutedIndicator.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts +6 -0
- package/lib/typescript/components/PeerVideoTile/PeerMetadata.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts +10 -0
- package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts +10 -0
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/VideoView.d.ts +13 -0
- package/lib/typescript/components/PeerVideoTile/VideoView.d.ts.map +1 -0
- package/lib/typescript/components/PeerVideoTile/index.d.ts +1 -0
- package/lib/typescript/components/PeerVideoTile/index.d.ts.map +1 -0
- package/lib/typescript/components/PressableIcon.d.ts.map +1 -1
- package/lib/typescript/components/Preview.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalContent.d.ts +2 -2
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts +17 -0
- package/lib/typescript/components/RoomSettingsModalDebugModeContent.d.ts.map +1 -0
- package/lib/typescript/components/StatusBar.d.ts +2 -1
- package/lib/typescript/components/StatusBar.d.ts.map +1 -1
- package/lib/typescript/components/StopRecordingModalContent.d.ts +6 -0
- package/lib/typescript/components/StopRecordingModalContent.d.ts.map +1 -0
- package/lib/typescript/components/Tile.d.ts +12 -3
- package/lib/typescript/components/Tile.d.ts.map +1 -1
- package/lib/typescript/components/TilesContainer.d.ts.map +1 -1
- package/lib/typescript/components/UnmountAfterDelay.d.ts +12 -0
- package/lib/typescript/components/UnmountAfterDelay.d.ts.map +1 -0
- package/lib/typescript/components/WebrtcView.d.ts +10 -0
- package/lib/typescript/components/WebrtcView.d.ts.map +1 -0
- package/lib/typescript/components/WelcomeInMeeting.d.ts +5 -0
- package/lib/typescript/components/WelcomeInMeeting.d.ts.map +1 -0
- package/lib/typescript/hooks-sdk-selectors.d.ts +2 -0
- package/lib/typescript/hooks-sdk-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-sdk.d.ts +1 -0
- package/lib/typescript/hooks-sdk.d.ts.map +1 -1
- package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts +15 -2
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/modules/HMSManager.d.ts +4 -0
- package/lib/typescript/modules/HMSManager.d.ts.map +1 -0
- package/lib/typescript/modules/parser.d.ts +3 -0
- package/lib/typescript/modules/parser.d.ts.map +1 -0
- package/lib/typescript/peerTrackNodeUtils.d.ts +1 -0
- package/lib/typescript/peerTrackNodeUtils.d.ts.map +1 -1
- package/lib/typescript/redux/actionTypes.d.ts +9 -1
- package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
- package/lib/typescript/redux/actions/index.d.ts +45 -0
- package/lib/typescript/redux/actions/index.d.ts.map +1 -1
- package/lib/typescript/redux/index.d.ts +7 -0
- package/lib/typescript/redux/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/appState.d.ts +5 -0
- package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts +7 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/index.d.ts +7 -0
- package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/userState.d.ts +1 -0
- package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
- package/lib/typescript/utils/functions.d.ts +14 -0
- package/lib/typescript/utils/functions.d.ts.map +1 -1
- package/lib/typescript/utils/theme.d.ts +6 -3
- package/lib/typescript/utils/theme.d.ts.map +1 -1
- package/lib/typescript/utils/types.d.ts +5 -0
- package/lib/typescript/utils/types.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/HMSInstanceSetup.tsx +1 -0
- package/src/HMSPrebuilt.tsx +3 -2
- package/src/HMSRoomSetup.tsx +45 -8
- package/src/Icons/AlertTriangle/assets/alert-triangle.png +0 -0
- package/src/Icons/AlertTriangle/assets/alert-triangle@2x.png +0 -0
- package/src/Icons/AlertTriangle/assets/alert-triangle@3x.png +0 -0
- package/src/Icons/AlertTriangle/index.tsx +33 -0
- package/src/Icons/AnswerPhone/index.tsx +7 -1
- package/src/Icons/BRB/assets/BRB.png +0 -0
- package/src/Icons/BRB/assets/BRB@2x.png +0 -0
- package/src/Icons/BRB/assets/BRB@3x.png +0 -0
- package/src/Icons/BRB/index.tsx +31 -0
- package/src/Icons/Bluetooth/index.tsx +7 -1
- package/src/Icons/Camera/index.tsx +7 -1
- package/src/Icons/Chat/index.tsx +7 -1
- package/src/Icons/Check/index.tsx +7 -1
- package/src/Icons/Chevron/index.tsx +7 -1
- package/src/Icons/Close/index.tsx +7 -1
- package/src/Icons/Hamburger/assets/hamburger.png +0 -0
- package/src/Icons/Hamburger/assets/hamburger@2x.png +0 -0
- package/src/Icons/Hamburger/assets/hamburger@3x.png +0 -0
- package/src/Icons/Hamburger/index.tsx +33 -0
- package/src/Icons/Hand/index.tsx +6 -3
- package/src/Icons/Headphones/index.tsx +7 -1
- package/src/Icons/Maximize/assets/maximize.png +0 -0
- package/src/Icons/Maximize/assets/maximize@2x.png +0 -0
- package/src/Icons/Maximize/assets/maximize@3x.png +0 -0
- package/src/Icons/Maximize/index.tsx +33 -0
- package/src/Icons/Mic/index.tsx +7 -1
- package/src/Icons/Minimize/assets/minimize.png +0 -0
- package/src/Icons/Minimize/assets/minimize@2x.png +0 -0
- package/src/Icons/Minimize/assets/minimize@3x.png +0 -0
- package/src/Icons/Minimize/index.tsx +33 -0
- package/src/Icons/Participants/index.tsx +7 -1
- package/src/Icons/Pencil/assets/pencil.png +0 -0
- package/src/Icons/Pencil/assets/pencil@2x.png +0 -0
- package/src/Icons/Pencil/assets/pencil@3x.png +0 -0
- package/src/Icons/Pencil/index.tsx +33 -0
- package/src/Icons/Pin/assets/pin.png +0 -0
- package/src/Icons/Pin/assets/pin@2x.png +0 -0
- package/src/Icons/Pin/assets/pin@3x.png +0 -0
- package/src/Icons/Pin/index.tsx +30 -0
- package/src/Icons/Radio/assets/radio-xlarge.png +0 -0
- package/src/Icons/Radio/assets/radio-xlarge@2x.png +0 -0
- package/src/Icons/Radio/assets/radio-xlarge@3x.png +0 -0
- package/src/Icons/Radio/index.tsx +53 -4
- package/src/Icons/Recording/assets/recording.png +0 -0
- package/src/Icons/Recording/assets/recording@2x.png +0 -0
- package/src/Icons/Recording/assets/recording@3x.png +0 -0
- package/src/Icons/Recording/index.tsx +33 -0
- package/src/Icons/RotateCamera/index.tsx +7 -1
- package/src/Icons/ScreenShare/index.tsx +7 -1
- package/src/Icons/Speaker/index.tsx +12 -1
- package/src/Icons/Star/assets/star.png +0 -0
- package/src/Icons/Star/assets/star@2x.png +0 -0
- package/src/Icons/Star/assets/star@3x.png +0 -0
- package/src/Icons/Star/index.tsx +30 -0
- package/src/Icons/Stop/assets/stop.png +0 -0
- package/src/Icons/Stop/assets/stop@2x.png +0 -0
- package/src/Icons/Stop/assets/stop@3x.png +0 -0
- package/src/Icons/Stop/index.tsx +30 -0
- package/src/Icons/ThreeDots/index.tsx +7 -1
- package/src/Icons/Wave/index.tsx +7 -1
- package/src/Icons/index.ts +10 -0
- package/src/components/AvatarView.tsx +1 -2
- package/src/components/BackButton.tsx +6 -3
- package/src/components/BottomSheet.tsx +191 -0
- package/src/components/ChangeNameModalContent.tsx +157 -0
- package/src/components/CompanyLogo.tsx +35 -0
- package/src/components/CustomInput.tsx +2 -3
- package/src/components/DisplayView.tsx +17 -67
- package/src/components/EndRoomModalContent.tsx +90 -0
- package/src/components/Footer.tsx +38 -33
- package/src/components/GridView.tsx +91 -20
- package/src/components/HMSBaseButton.tsx +91 -0
- package/src/components/HMSDangerButton.tsx +65 -0
- package/src/components/HMSHLSNotStarted.tsx +26 -20
- package/src/components/HMSHLSStreamLoading.tsx +18 -7
- package/src/components/HMSManageAudioOutput.tsx +59 -90
- package/src/components/HMSManageCameraRotation.tsx +11 -8
- package/src/components/HMSManageLeave.tsx +115 -126
- package/src/components/HMSManageLocalAudio.tsx +1 -10
- package/src/components/HMSManageLocalVideo.tsx +1 -10
- package/src/components/HMSManageRaiseHand.tsx +2 -16
- package/src/components/HMSMeetingEnded.tsx +1 -2
- package/src/components/HMSPreviewEditName.tsx +2 -44
- package/src/components/HMSPreviewHLSLiveIndicator.tsx +17 -9
- package/src/components/HMSPreviewJoinButton.tsx +33 -71
- package/src/components/HMSPreviewNetworkQuality.tsx +7 -4
- package/src/components/HMSPreviewPeersList.tsx +23 -13
- package/src/components/HMSPreviewSubtitle.tsx +27 -11
- package/src/components/HMSPreviewTile.tsx +19 -8
- package/src/components/HMSPreviewTitle.tsx +18 -5
- package/src/components/HMSPrimaryButton.tsx +63 -0
- package/src/components/HMSRecordingIndicator.tsx +39 -0
- package/src/components/HMSRoomOptions.tsx +28 -8
- package/src/components/HMSShowNetworkQuality.tsx +7 -5
- package/src/components/HMSTextInput.tsx +78 -0
- package/src/components/Header.tsx +37 -36
- package/src/components/LocalPeerRegularVideoView.tsx +28 -0
- package/src/components/LocalPeerScreenshareView.tsx +72 -0
- package/src/components/Meeting.tsx +10 -3
- package/src/components/MeetingScreenContent.tsx +1 -1
- package/src/components/MiniView.tsx +213 -0
- package/src/components/Modals.tsx +1 -110
- package/src/components/PaginationDots.tsx +65 -0
- package/src/components/ParticipantsCount.tsx +52 -0
- package/src/components/PeerMinimizedView.tsx +131 -0
- package/src/components/PeerSettingsModalContent.tsx +110 -54
- package/src/components/PeerVideoTile/AvatarView.tsx +79 -0
- package/src/components/PeerVideoTile/PeerAudioMutedIndicator.tsx +41 -0
- package/src/components/PeerVideoTile/PeerMetadata.tsx +46 -0
- package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +81 -0
- package/src/components/PeerVideoTile/PeerVideoTileView.tsx +180 -0
- package/src/components/PeerVideoTile/VideoView.tsx +104 -0
- package/src/components/PeerVideoTile/index.ts +0 -0
- package/src/components/PressableIcon.tsx +15 -8
- package/src/components/Preview.tsx +24 -6
- package/src/components/RoomSettingsModalContent.tsx +237 -524
- package/src/components/RoomSettingsModalDebugModeContent.tsx +446 -0
- package/src/components/StatusBar.tsx +6 -4
- package/src/components/StopRecordingModalContent.tsx +111 -0
- package/src/components/Tile.tsx +49 -90
- package/src/components/TilesContainer.tsx +116 -14
- package/src/components/UnmountAfterDelay.tsx +61 -0
- package/src/components/WebrtcView.tsx +72 -0
- package/src/components/WelcomeInMeeting.tsx +52 -0
- package/src/hooks-sdk-selectors.tsx +7 -0
- package/src/hooks-sdk.ts +18 -0
- package/src/hooks-util-selectors.tsx +12 -1
- package/src/hooks-util.ts +420 -114
- package/src/modules/HMSManager.ts +25 -0
- package/src/modules/parser.ts +22 -0
- package/src/peerTrackNodeUtils.tsx +13 -10
- package/src/redux/actionTypes.ts +22 -0
- package/src/redux/actions/index.ts +53 -0
- package/src/redux/reducers/appState.ts +59 -0
- package/src/redux/reducers/hmsStates.ts +15 -1
- package/src/redux/reducers/userState.ts +3 -0
- package/src/utils/functions.ts +48 -0
- package/src/utils/theme.ts +74 -5
- package/src/utils/types.ts +6 -0
package/src/hooks-util.ts
CHANGED
|
@@ -21,7 +21,13 @@ import {
|
|
|
21
21
|
import type {
|
|
22
22
|
HMSSessionStore,
|
|
23
23
|
HMSSessionStoreValue,
|
|
24
|
+
HMSSpeaker,
|
|
24
25
|
} from '@100mslive/react-native-hms';
|
|
26
|
+
import type {
|
|
27
|
+
ColorPalette,
|
|
28
|
+
Theme,
|
|
29
|
+
Typography,
|
|
30
|
+
} from '@100mslive/types-prebuilt';
|
|
25
31
|
import Toast from 'react-native-simple-toast';
|
|
26
32
|
import {
|
|
27
33
|
useRef,
|
|
@@ -31,30 +37,42 @@ import {
|
|
|
31
37
|
useMemo,
|
|
32
38
|
useContext,
|
|
33
39
|
} from 'react';
|
|
40
|
+
import type { DependencyList } from 'react';
|
|
34
41
|
|
|
35
|
-
import { ModalTypes, PipModes } from './utils/types';
|
|
42
|
+
import { MaxTilesInOnePage, ModalTypes, PipModes } from './utils/types';
|
|
36
43
|
import type { PeerTrackNode } from './utils/types';
|
|
37
44
|
import { createPeerTrackNode, parseMetadata } from './utils/functions';
|
|
38
|
-
import {
|
|
45
|
+
import {
|
|
46
|
+
batch,
|
|
47
|
+
shallowEqual,
|
|
48
|
+
useDispatch,
|
|
49
|
+
useSelector,
|
|
50
|
+
useStore,
|
|
51
|
+
} from 'react-redux';
|
|
39
52
|
import type { RootState } from './redux';
|
|
40
53
|
import {
|
|
41
54
|
addMessage,
|
|
42
55
|
addPinnedMessage,
|
|
43
|
-
addToPreviewPeersList,
|
|
44
56
|
changeMeetingState,
|
|
45
57
|
changePipModeStatus,
|
|
46
58
|
changeStartingHLSStream,
|
|
47
59
|
clearStore,
|
|
48
|
-
removeFromPreviewPeersList,
|
|
49
60
|
saveUserData,
|
|
50
61
|
setHMSLocalPeerState,
|
|
51
62
|
setHMSRoleState,
|
|
52
63
|
setHMSRoomState,
|
|
53
64
|
setIsLocalAudioMutedState,
|
|
54
65
|
setIsLocalVideoMutedState,
|
|
66
|
+
setLayoutConfig,
|
|
67
|
+
setLocalPeerTrackNode,
|
|
68
|
+
setMiniViewPeerTrackNode,
|
|
55
69
|
setModalType,
|
|
70
|
+
setStartingOrStoppingRecording,
|
|
71
|
+
updateLocalPeerTrackNode,
|
|
72
|
+
updateMiniViewPeerTrackNode,
|
|
56
73
|
} from './redux/actions';
|
|
57
74
|
import {
|
|
75
|
+
createPeerTrackNodeUniqueId,
|
|
58
76
|
degradeOrRestorePeerTrackNodes,
|
|
59
77
|
peerTrackNodeExistForPeer,
|
|
60
78
|
peerTrackNodeExistForPeerAndTrack,
|
|
@@ -70,6 +88,7 @@ import {
|
|
|
70
88
|
LayoutAnimation,
|
|
71
89
|
Platform,
|
|
72
90
|
} from 'react-native';
|
|
91
|
+
import type { ImageStyle, StyleProp, ViewStyle, TextStyle } from 'react-native';
|
|
73
92
|
import { NavigationContext } from '@react-navigation/native';
|
|
74
93
|
import {
|
|
75
94
|
useIsLandscapeOrientation,
|
|
@@ -80,6 +99,9 @@ import {
|
|
|
80
99
|
useSafeAreaInsets,
|
|
81
100
|
} from 'react-native-safe-area-context';
|
|
82
101
|
import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
|
|
102
|
+
import type { GridViewRefAttrs } from './components/GridView';
|
|
103
|
+
import { getRoomLayout } from './modules/HMSManager';
|
|
104
|
+
import { DEFAULT_THEME, DEFAULT_TYPOGRAPHY } from './utils/theme';
|
|
83
105
|
|
|
84
106
|
export const useHMSListeners = (
|
|
85
107
|
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
|
|
@@ -96,7 +118,7 @@ export const useHMSListeners = (
|
|
|
96
118
|
|
|
97
119
|
const useHMSRoomUpdate = (hmsInstance: HMSSDK) => {
|
|
98
120
|
const dispatch = useDispatch();
|
|
99
|
-
const reduxStore = useStore();
|
|
121
|
+
const reduxStore = useStore<RootState>();
|
|
100
122
|
|
|
101
123
|
useEffect(() => {
|
|
102
124
|
const roomUpdateHandler = (data: {
|
|
@@ -112,8 +134,7 @@ const useHMSRoomUpdate = (hmsInstance: HMSSDK) => {
|
|
|
112
134
|
* before ON_JOIN, if ON_ROOM comes then we can show Meeting screen to user, instead of Loader or Preview
|
|
113
135
|
*/
|
|
114
136
|
if (room.localPeer.role?.name?.includes('hls-') ?? false) {
|
|
115
|
-
const meetingState =
|
|
116
|
-
.meetingState;
|
|
137
|
+
const meetingState = reduxStore.getState().app.meetingState;
|
|
117
138
|
|
|
118
139
|
batch(() => {
|
|
119
140
|
dispatch(setHMSLocalPeerState(room.localPeer));
|
|
@@ -124,6 +145,13 @@ const useHMSRoomUpdate = (hmsInstance: HMSSDK) => {
|
|
|
124
145
|
}
|
|
125
146
|
|
|
126
147
|
if (type === HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED) {
|
|
148
|
+
const startingOrStoppingRecording =
|
|
149
|
+
reduxStore.getState().app.startingOrStoppingRecording;
|
|
150
|
+
|
|
151
|
+
if (startingOrStoppingRecording) {
|
|
152
|
+
dispatch(setStartingOrStoppingRecording(false));
|
|
153
|
+
}
|
|
154
|
+
|
|
127
155
|
let streaming = room?.browserRecordingState?.running;
|
|
128
156
|
const startAtDate = room?.browserRecordingState?.startedAt;
|
|
129
157
|
|
|
@@ -221,20 +249,22 @@ const useHMSPeersUpdate = (
|
|
|
221
249
|
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
|
|
222
250
|
) => {
|
|
223
251
|
const dispatch = useDispatch();
|
|
224
|
-
const
|
|
225
|
-
|
|
226
|
-
)
|
|
252
|
+
const store = useStore<RootState>();
|
|
253
|
+
// const inMeeting = useSelector(
|
|
254
|
+
// (state: RootState) => state.app.meetingState === MeetingState.IN_MEETING
|
|
255
|
+
// );
|
|
227
256
|
|
|
228
257
|
useEffect(() => {
|
|
229
258
|
const peerUpdateHandler = ({ peer, type }: PeerUpdate) => {
|
|
230
259
|
// Handle State from Preview screen
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
}
|
|
260
|
+
// TODO: When `inMeeting` becomes true Peer Update is resubscribed, we might lose some events during that time
|
|
261
|
+
// if (!inMeeting) {
|
|
262
|
+
// if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
263
|
+
// dispatch(addToPreviewPeersList(peer));
|
|
264
|
+
// } else if (type === HMSPeerUpdate.PEER_LEFT) {
|
|
265
|
+
// dispatch(removeFromPreviewPeersList(peer));
|
|
266
|
+
// }
|
|
267
|
+
// }
|
|
238
268
|
|
|
239
269
|
// Handle State for Meeting screen
|
|
240
270
|
if (type === HMSPeerUpdate.PEER_JOINED) {
|
|
@@ -254,6 +284,28 @@ const useHMSPeersUpdate = (
|
|
|
254
284
|
return prevPeerTrackNodes;
|
|
255
285
|
});
|
|
256
286
|
|
|
287
|
+
const reduxState = store.getState();
|
|
288
|
+
const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
|
|
289
|
+
const localPeerTrackNode = reduxState.app.localPeerTrackNode;
|
|
290
|
+
|
|
291
|
+
batch(() => {
|
|
292
|
+
if (localPeerTrackNode) {
|
|
293
|
+
dispatch(updateLocalPeerTrackNode({ peer }));
|
|
294
|
+
} else {
|
|
295
|
+
dispatch(
|
|
296
|
+
setLocalPeerTrackNode(createPeerTrackNode(peer, peer.videoTrack))
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// only set `localPeerTrackNode` as miniview peer track node when we are already using it.
|
|
301
|
+
if (
|
|
302
|
+
miniviewPeerTrackNode &&
|
|
303
|
+
miniviewPeerTrackNode.peer.peerID === peer.peerID
|
|
304
|
+
) {
|
|
305
|
+
dispatch(updateMiniViewPeerTrackNode({ peer }));
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
|
|
257
309
|
// - TODO: update local localPeer state
|
|
258
310
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
259
311
|
updateLocalPeer();
|
|
@@ -297,7 +349,7 @@ const useHMSPeersUpdate = (
|
|
|
297
349
|
return () => {
|
|
298
350
|
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_PEER_UPDATE);
|
|
299
351
|
};
|
|
300
|
-
}, [
|
|
352
|
+
}, [hmsInstance]);
|
|
301
353
|
};
|
|
302
354
|
|
|
303
355
|
type TrackUpdate = {
|
|
@@ -312,10 +364,22 @@ const useHMSTrackUpdate = (
|
|
|
312
364
|
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
|
|
313
365
|
) => {
|
|
314
366
|
const dispatch = useDispatch();
|
|
367
|
+
const store = useStore<RootState>();
|
|
315
368
|
|
|
316
369
|
useEffect(() => {
|
|
317
370
|
const trackUpdateHandler = ({ peer, track, type }: TrackUpdate) => {
|
|
371
|
+
const reduxState = store.getState();
|
|
372
|
+
const miniviewPeerTrackNode = reduxState.app.miniviewPeerTrackNode;
|
|
373
|
+
const localPeerTrackNode = reduxState.app.localPeerTrackNode;
|
|
374
|
+
|
|
318
375
|
if (type === HMSTrackUpdate.TRACK_ADDED) {
|
|
376
|
+
const newPeerTrackNode = createPeerTrackNode(peer, track);
|
|
377
|
+
|
|
378
|
+
const willCreateMiniviewPeerTrackNode =
|
|
379
|
+
!miniviewPeerTrackNode &&
|
|
380
|
+
peer.isLocal &&
|
|
381
|
+
track.source === HMSTrackSource.REGULAR;
|
|
382
|
+
|
|
319
383
|
setPeerTrackNodes((prevPeerTrackNodes) => {
|
|
320
384
|
if (
|
|
321
385
|
peerTrackNodeExistForPeerAndTrack(prevPeerTrackNodes, peer, track)
|
|
@@ -329,14 +393,65 @@ const useHMSTrackUpdate = (
|
|
|
329
393
|
}
|
|
330
394
|
return replacePeerTrackNodes(prevPeerTrackNodes, peer);
|
|
331
395
|
}
|
|
332
|
-
|
|
333
|
-
|
|
396
|
+
|
|
397
|
+
if (
|
|
398
|
+
miniviewPeerTrackNode
|
|
399
|
+
? newPeerTrackNode.id !== miniviewPeerTrackNode.id
|
|
400
|
+
: !willCreateMiniviewPeerTrackNode
|
|
401
|
+
) {
|
|
402
|
+
return [...prevPeerTrackNodes, newPeerTrackNode];
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
return prevPeerTrackNodes;
|
|
334
406
|
});
|
|
335
407
|
|
|
336
408
|
// - TODO: update local localPeer state
|
|
337
409
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
338
410
|
if (peer.isLocal) {
|
|
411
|
+
if (track.source === HMSTrackSource.REGULAR) {
|
|
412
|
+
if (!localPeerTrackNode) {
|
|
413
|
+
dispatch(setLocalPeerTrackNode(newPeerTrackNode));
|
|
414
|
+
} else {
|
|
415
|
+
dispatch(
|
|
416
|
+
updateLocalPeerTrackNode(
|
|
417
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer }
|
|
418
|
+
)
|
|
419
|
+
);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
// only setting `miniviewPeerTrackNode`, when:
|
|
423
|
+
// - there is no `miniviewPeerTrackNode`
|
|
424
|
+
// - if there is, then it is of regular track
|
|
425
|
+
if (!miniviewPeerTrackNode) {
|
|
426
|
+
dispatch(setMiniViewPeerTrackNode(newPeerTrackNode));
|
|
427
|
+
} else if (miniviewPeerTrackNode.id === newPeerTrackNode.id) {
|
|
428
|
+
dispatch(
|
|
429
|
+
updateMiniViewPeerTrackNode(
|
|
430
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer }
|
|
431
|
+
)
|
|
432
|
+
);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
// else -> {
|
|
436
|
+
// should `localPeerTrackNode` be created/updated for non-regular track addition?
|
|
437
|
+
// should `miniviewPeerTrackNode` be created/updated for non-regular track addition?
|
|
438
|
+
// }
|
|
439
|
+
|
|
339
440
|
updateLocalPeer();
|
|
441
|
+
} else {
|
|
442
|
+
// only setting `miniviewPeerTrackNode`, when:
|
|
443
|
+
// - there is already `miniviewPeerTrackNode`
|
|
444
|
+
// - and it is of same peer's regular track
|
|
445
|
+
if (
|
|
446
|
+
miniviewPeerTrackNode &&
|
|
447
|
+
miniviewPeerTrackNode.id === newPeerTrackNode.id
|
|
448
|
+
) {
|
|
449
|
+
dispatch(
|
|
450
|
+
updateMiniViewPeerTrackNode(
|
|
451
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer }
|
|
452
|
+
)
|
|
453
|
+
);
|
|
454
|
+
}
|
|
340
455
|
}
|
|
341
456
|
return;
|
|
342
457
|
}
|
|
@@ -354,7 +469,52 @@ const useHMSTrackUpdate = (
|
|
|
354
469
|
// - TODO: update local localPeer state
|
|
355
470
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
356
471
|
if (peer.isLocal) {
|
|
472
|
+
if (track.source === HMSTrackSource.REGULAR) {
|
|
473
|
+
if (!peer.audioTrack?.trackId && !peer.videoTrack?.trackId) {
|
|
474
|
+
dispatch(setLocalPeerTrackNode(null));
|
|
475
|
+
|
|
476
|
+
// removing `miniviewPeerTrackNode`, when:
|
|
477
|
+
// - `localPeerTrack` was used as `miniviewPeerTrackNode`
|
|
478
|
+
// - and now local peer doesn't have any tracks
|
|
479
|
+
if (
|
|
480
|
+
miniviewPeerTrackNode &&
|
|
481
|
+
miniviewPeerTrackNode.peer.peerID === peer.peerID
|
|
482
|
+
) {
|
|
483
|
+
dispatch(setMiniViewPeerTrackNode(null));
|
|
484
|
+
}
|
|
485
|
+
} else {
|
|
486
|
+
if (track.type === HMSTrackType.VIDEO) {
|
|
487
|
+
dispatch(updateLocalPeerTrackNode({ peer, track: undefined }));
|
|
488
|
+
} else {
|
|
489
|
+
dispatch(updateLocalPeerTrackNode({ peer }));
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// updating `miniviewPeerTrackNode`
|
|
493
|
+
if (
|
|
494
|
+
miniviewPeerTrackNode &&
|
|
495
|
+
miniviewPeerTrackNode.peer.peerID === peer.peerID
|
|
496
|
+
) {
|
|
497
|
+
if (track.type === HMSTrackType.VIDEO) {
|
|
498
|
+
dispatch(
|
|
499
|
+
updateMiniViewPeerTrackNode({ peer, track: undefined })
|
|
500
|
+
);
|
|
501
|
+
} else {
|
|
502
|
+
dispatch(updateMiniViewPeerTrackNode({ peer }));
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
|
|
357
508
|
updateLocalPeer();
|
|
509
|
+
} else {
|
|
510
|
+
// only removing `miniviewPeerTrackNode`, when:
|
|
511
|
+
// - there is already `miniviewPeerTrackNode`
|
|
512
|
+
// - and it is of same peer's regular track
|
|
513
|
+
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
514
|
+
|
|
515
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
516
|
+
dispatch(setMiniViewPeerTrackNode(null));
|
|
517
|
+
}
|
|
358
518
|
}
|
|
359
519
|
return;
|
|
360
520
|
}
|
|
@@ -388,10 +548,29 @@ const useHMSTrackUpdate = (
|
|
|
388
548
|
return prevPeerTrackNodes;
|
|
389
549
|
});
|
|
390
550
|
|
|
551
|
+
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
552
|
+
|
|
391
553
|
// - TODO: update local localPeer state
|
|
392
554
|
// - Pass this updated data to Meeting component -> DisplayView component
|
|
393
555
|
if (peer.isLocal) {
|
|
556
|
+
const updatePayload =
|
|
557
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer };
|
|
558
|
+
|
|
559
|
+
dispatch(updateLocalPeerTrackNode(updatePayload));
|
|
560
|
+
|
|
561
|
+
// Take care of miniviewPeerTrackNode
|
|
562
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
563
|
+
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
564
|
+
}
|
|
565
|
+
|
|
394
566
|
updateLocalPeer();
|
|
567
|
+
} else {
|
|
568
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
569
|
+
const updatePayload =
|
|
570
|
+
track.type === HMSTrackType.VIDEO ? { peer, track } : { peer };
|
|
571
|
+
|
|
572
|
+
dispatch(updateMiniViewPeerTrackNode(updatePayload));
|
|
573
|
+
}
|
|
395
574
|
}
|
|
396
575
|
return;
|
|
397
576
|
}
|
|
@@ -412,6 +591,16 @@ const useHMSTrackUpdate = (
|
|
|
412
591
|
}
|
|
413
592
|
return prevPeerTrackNodes;
|
|
414
593
|
});
|
|
594
|
+
|
|
595
|
+
const uniqueId = createPeerTrackNodeUniqueId(peer, track);
|
|
596
|
+
|
|
597
|
+
if (miniviewPeerTrackNode && miniviewPeerTrackNode.id === uniqueId) {
|
|
598
|
+
dispatch(
|
|
599
|
+
updateMiniViewPeerTrackNode({
|
|
600
|
+
isDegraded: type === HMSTrackUpdate.TRACK_DEGRADED,
|
|
601
|
+
})
|
|
602
|
+
);
|
|
603
|
+
}
|
|
415
604
|
return;
|
|
416
605
|
}
|
|
417
606
|
};
|
|
@@ -552,7 +741,9 @@ export const useHMSRoleChangeRequest = (
|
|
|
552
741
|
|
|
553
742
|
type SessionStoreListeners = Array<{ remove: () => void }>;
|
|
554
743
|
|
|
555
|
-
export const useHMSSessionStoreListeners = (
|
|
744
|
+
export const useHMSSessionStoreListeners = (
|
|
745
|
+
gridViewRef: React.MutableRefObject<GridViewRefAttrs | null>
|
|
746
|
+
) => {
|
|
556
747
|
const dispatch = useDispatch();
|
|
557
748
|
const hmsSessionStore = useSelector(
|
|
558
749
|
(state: RootState) => state.user.hmsSessionStore
|
|
@@ -569,6 +760,10 @@ export const useHMSSessionStoreListeners = () => {
|
|
|
569
760
|
const handleSpotlightIdChange = (id: HMSSessionStoreValue) => {
|
|
570
761
|
// set value to the state to rerender the component to reflect changes
|
|
571
762
|
dispatch(saveUserData({ spotlightTrackId: id }));
|
|
763
|
+
// Scroll to start of the list
|
|
764
|
+
gridViewRef.current
|
|
765
|
+
?.getFlatlistRef()
|
|
766
|
+
.current?.scrollToOffset({ animated: true, offset: 0 });
|
|
572
767
|
};
|
|
573
768
|
|
|
574
769
|
// Handle 'pinnedMessage' key values
|
|
@@ -742,54 +937,11 @@ export const useHMSMessages = () => {
|
|
|
742
937
|
|
|
743
938
|
export const useHMSPIPRoomLeave = () => {
|
|
744
939
|
const hmsInstance = useHMSInstance();
|
|
745
|
-
const
|
|
746
|
-
// TODO: What if this is undefined?
|
|
747
|
-
const navigation = useContext(NavigationContext);
|
|
940
|
+
const { destroy } = useLeaveMethods();
|
|
748
941
|
|
|
749
942
|
useEffect(() => {
|
|
750
943
|
const pipRoomLeaveHandler = () => {
|
|
751
|
-
|
|
752
|
-
.destroy()
|
|
753
|
-
.then((s) => {
|
|
754
|
-
console.log('Destroy Success: ', s);
|
|
755
|
-
// TODOS:
|
|
756
|
-
// - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
|
|
757
|
-
// - Reset Redux States
|
|
758
|
-
// - HMSInstance will not be available now
|
|
759
|
-
// - When your presses "Re Join" Action button, restart process from root component
|
|
760
|
-
// - When your presses "Done" Action button
|
|
761
|
-
// - If we have callback fn, call it
|
|
762
|
-
// - Otherwise try our best to navigate away from current screen
|
|
763
|
-
//
|
|
764
|
-
// - No screen to show
|
|
765
|
-
// - No need to reset redux state?
|
|
766
|
-
// - HMSInstance will be available till this point
|
|
767
|
-
// - If we have callback fn, call it
|
|
768
|
-
// - Otherwise try our best to navigate away from current screen
|
|
769
|
-
// - When we are navigated away from screen, HMSInstance will be not available
|
|
770
|
-
|
|
771
|
-
// dispatch(clearMessageData());
|
|
772
|
-
// dispatch(clearPeerData());
|
|
773
|
-
// dispatch(clearHmsReference());
|
|
774
|
-
|
|
775
|
-
if (navigation && navigation.canGoBack()) {
|
|
776
|
-
navigation.goBack();
|
|
777
|
-
dispatch(clearStore());
|
|
778
|
-
} else {
|
|
779
|
-
// TODO: call onLeave Callback if provided
|
|
780
|
-
// Otherwise default action is to show "Meeting Ended" screen
|
|
781
|
-
dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
|
|
782
|
-
dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
|
|
783
|
-
}
|
|
784
|
-
})
|
|
785
|
-
.catch((e) => {
|
|
786
|
-
console.log(`Destroy HMS instance Error: ${e}`);
|
|
787
|
-
Toast.showWithGravity(
|
|
788
|
-
`Destroy HMS instance Error: ${e}`,
|
|
789
|
-
Toast.LONG,
|
|
790
|
-
Toast.TOP
|
|
791
|
-
);
|
|
792
|
-
});
|
|
944
|
+
destroy();
|
|
793
945
|
};
|
|
794
946
|
|
|
795
947
|
hmsInstance.addEventListener(
|
|
@@ -800,59 +952,16 @@ export const useHMSPIPRoomLeave = () => {
|
|
|
800
952
|
return () => {
|
|
801
953
|
hmsInstance.removeEventListener(HMSPIPListenerActions.ON_PIP_ROOM_LEAVE);
|
|
802
954
|
};
|
|
803
|
-
}, [hmsInstance]);
|
|
955
|
+
}, [destroy, hmsInstance]);
|
|
804
956
|
};
|
|
805
957
|
|
|
806
958
|
export const useHMSRemovedFromRoomUpdate = () => {
|
|
807
959
|
const hmsInstance = useHMSInstance();
|
|
808
|
-
const
|
|
809
|
-
// TODO: What if this is undefined?
|
|
810
|
-
const navigation = useContext(NavigationContext);
|
|
960
|
+
const { destroy } = useLeaveMethods();
|
|
811
961
|
|
|
812
962
|
useEffect(() => {
|
|
813
963
|
const removedFromRoomHandler = () => {
|
|
814
|
-
|
|
815
|
-
.destroy()
|
|
816
|
-
.then((s) => {
|
|
817
|
-
console.log('Destroy Success: ', s);
|
|
818
|
-
// TODOS:
|
|
819
|
-
// - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
|
|
820
|
-
// - Reset Redux States
|
|
821
|
-
// - HMSInstance will not be available now
|
|
822
|
-
// - When your presses "Re Join" Action button, restart process from root component
|
|
823
|
-
// - When your presses "Done" Action button
|
|
824
|
-
// - If we have callback fn, call it
|
|
825
|
-
// - Otherwise try our best to navigate away from current screen
|
|
826
|
-
//
|
|
827
|
-
// - No screen to show
|
|
828
|
-
// - No need to reset redux state?
|
|
829
|
-
// - HMSInstance will be available till this point
|
|
830
|
-
// - If we have callback fn, call it
|
|
831
|
-
// - Otherwise try our best to navigate away from current screen
|
|
832
|
-
// - When we are navigated away from screen, HMSInstance will be not available
|
|
833
|
-
|
|
834
|
-
// dispatch(clearMessageData());
|
|
835
|
-
// dispatch(clearPeerData());
|
|
836
|
-
// dispatch(clearHmsReference());
|
|
837
|
-
|
|
838
|
-
if (navigation && navigation.canGoBack()) {
|
|
839
|
-
navigation.goBack();
|
|
840
|
-
dispatch(clearStore());
|
|
841
|
-
} else {
|
|
842
|
-
// TODO: call onLeave Callback if provided
|
|
843
|
-
// Otherwise default action is to show "Meeting Ended" screen
|
|
844
|
-
dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
|
|
845
|
-
dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
|
|
846
|
-
}
|
|
847
|
-
})
|
|
848
|
-
.catch((e) => {
|
|
849
|
-
console.log(`Destroy HMS instance Error: ${e}`);
|
|
850
|
-
Toast.showWithGravity(
|
|
851
|
-
`Destroy HMS instance Error: ${e}`,
|
|
852
|
-
Toast.LONG,
|
|
853
|
-
Toast.TOP
|
|
854
|
-
);
|
|
855
|
-
});
|
|
964
|
+
destroy();
|
|
856
965
|
};
|
|
857
966
|
|
|
858
967
|
hmsInstance.addEventListener(
|
|
@@ -865,7 +974,7 @@ export const useHMSRemovedFromRoomUpdate = () => {
|
|
|
865
974
|
HMSUpdateListenerActions.ON_REMOVED_FROM_ROOM
|
|
866
975
|
);
|
|
867
976
|
};
|
|
868
|
-
}, [hmsInstance]);
|
|
977
|
+
}, [destroy, hmsInstance]);
|
|
869
978
|
};
|
|
870
979
|
|
|
871
980
|
export const usePIPListener = () => {
|
|
@@ -912,6 +1021,104 @@ export const usePIPListener = () => {
|
|
|
912
1021
|
}, [isPipModeActive, hmsInstance]);
|
|
913
1022
|
};
|
|
914
1023
|
|
|
1024
|
+
export const useHMSNetworkQualityUpdate = () => {
|
|
1025
|
+
const hmsInstance = useHMSInstance();
|
|
1026
|
+
|
|
1027
|
+
useEffect(() => {
|
|
1028
|
+
hmsInstance.enableNetworkQualityUpdates();
|
|
1029
|
+
|
|
1030
|
+
return () => hmsInstance.disableNetworkQualityUpdates();
|
|
1031
|
+
}, [hmsInstance]);
|
|
1032
|
+
};
|
|
1033
|
+
|
|
1034
|
+
export const useHMSActiveSpeakerUpdates = (
|
|
1035
|
+
setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>,
|
|
1036
|
+
active?: boolean
|
|
1037
|
+
) => {
|
|
1038
|
+
const hmsInstance = useHMSInstance();
|
|
1039
|
+
const reduxStore = useStore<RootState>();
|
|
1040
|
+
const isPortraitOrientation = useIsPortraitOrientation();
|
|
1041
|
+
|
|
1042
|
+
useEffect(() => {
|
|
1043
|
+
if (!active) {
|
|
1044
|
+
return;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
const handleActiveSpeaker = (data: HMSSpeaker[]) => {
|
|
1048
|
+
const activePage = reduxStore.getState().app.gridViewActivePage;
|
|
1049
|
+
if (activePage !== 0) {
|
|
1050
|
+
return;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
setPeerTrackNodes((prevPeerTrackNodes) => {
|
|
1054
|
+
// list of active speakers which are not in first page
|
|
1055
|
+
const activeSpeakers = data.filter((speaker) => {
|
|
1056
|
+
const uniquePeerTrackNodeId = createPeerTrackNodeUniqueId(
|
|
1057
|
+
speaker.peer,
|
|
1058
|
+
speaker.track
|
|
1059
|
+
);
|
|
1060
|
+
|
|
1061
|
+
const inFirstPage = prevPeerTrackNodes.some(
|
|
1062
|
+
(prevPeerTrackNode, _idx) => {
|
|
1063
|
+
// we are on index which is not in current page
|
|
1064
|
+
if (
|
|
1065
|
+
_idx >=
|
|
1066
|
+
(isPortraitOrientation
|
|
1067
|
+
? MaxTilesInOnePage.IN_PORTRAIT
|
|
1068
|
+
: MaxTilesInOnePage.IN_LANDSCAPE)
|
|
1069
|
+
) {
|
|
1070
|
+
return false;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
return prevPeerTrackNode.id === uniquePeerTrackNodeId;
|
|
1074
|
+
}
|
|
1075
|
+
);
|
|
1076
|
+
|
|
1077
|
+
return !inFirstPage;
|
|
1078
|
+
});
|
|
1079
|
+
|
|
1080
|
+
// All active speakers are in first page already, Do nothing
|
|
1081
|
+
if (activeSpeakers.length === 0) {
|
|
1082
|
+
return prevPeerTrackNodes;
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
// Updated list with all Active Speakers in first page
|
|
1086
|
+
return prevPeerTrackNodes.reduce<PeerTrackNode[]>(
|
|
1087
|
+
(accumulated, current) => {
|
|
1088
|
+
if (
|
|
1089
|
+
activeSpeakers.findIndex(
|
|
1090
|
+
(activeSpeaker) =>
|
|
1091
|
+
createPeerTrackNodeUniqueId(
|
|
1092
|
+
activeSpeaker.peer,
|
|
1093
|
+
activeSpeaker.track
|
|
1094
|
+
) === current.id
|
|
1095
|
+
) >= 0
|
|
1096
|
+
) {
|
|
1097
|
+
// return [current, ...accumulated];
|
|
1098
|
+
accumulated.unshift(current);
|
|
1099
|
+
return accumulated;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
// return [...accumulated, current];
|
|
1103
|
+
accumulated.push(current);
|
|
1104
|
+
return accumulated;
|
|
1105
|
+
},
|
|
1106
|
+
[]
|
|
1107
|
+
);
|
|
1108
|
+
});
|
|
1109
|
+
};
|
|
1110
|
+
|
|
1111
|
+
hmsInstance.addEventListener(
|
|
1112
|
+
HMSUpdateListenerActions.ON_SPEAKER,
|
|
1113
|
+
handleActiveSpeaker
|
|
1114
|
+
);
|
|
1115
|
+
|
|
1116
|
+
return () => {
|
|
1117
|
+
hmsInstance.removeEventListener(HMSUpdateListenerActions.ON_SPEAKER);
|
|
1118
|
+
};
|
|
1119
|
+
}, [isPortraitOrientation, active, hmsInstance]);
|
|
1120
|
+
};
|
|
1121
|
+
|
|
915
1122
|
let modalTaskRef: { current: any } = { current: null };
|
|
916
1123
|
|
|
917
1124
|
export const clearPendingModalTasks = () => {
|
|
@@ -1001,6 +1208,7 @@ export const clearConfig = () => {
|
|
|
1001
1208
|
|
|
1002
1209
|
export const useHMSConfig = () => {
|
|
1003
1210
|
const hmsInstance = useHMSInstance();
|
|
1211
|
+
const dispatch = useDispatch();
|
|
1004
1212
|
const store = useStore();
|
|
1005
1213
|
|
|
1006
1214
|
const getConfig = useCallback(async () => {
|
|
@@ -1014,6 +1222,18 @@ export const useHMSConfig = () => {
|
|
|
1014
1222
|
storeState.user.endPoints?.token
|
|
1015
1223
|
);
|
|
1016
1224
|
|
|
1225
|
+
// TODO: [REMOVE LATER] added trycatch block so that we can join rooms where we are getting error from Layout API
|
|
1226
|
+
try {
|
|
1227
|
+
const roomLayout = await getRoomLayout(
|
|
1228
|
+
hmsInstance,
|
|
1229
|
+
token,
|
|
1230
|
+
'https://api-nonprod.100ms.live'
|
|
1231
|
+
);
|
|
1232
|
+
dispatch(setLayoutConfig(roomLayout));
|
|
1233
|
+
} catch (error) {
|
|
1234
|
+
console.warn('# getRoomLayout error: ', error);
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1017
1237
|
hmsConfig = new HMSConfig({
|
|
1018
1238
|
authToken: token,
|
|
1019
1239
|
username: storeState.user.userName,
|
|
@@ -1183,6 +1403,7 @@ export const useLeaveMethods = () => {
|
|
|
1183
1403
|
const navigation = useContext(NavigationContext);
|
|
1184
1404
|
const hmsInstance = useHMSInstance();
|
|
1185
1405
|
const dispatch = useDispatch();
|
|
1406
|
+
const reduxStore = useStore<RootState>();
|
|
1186
1407
|
|
|
1187
1408
|
const destroy = useCallback(async () => {
|
|
1188
1409
|
try {
|
|
@@ -1208,7 +1429,12 @@ export const useLeaveMethods = () => {
|
|
|
1208
1429
|
// dispatch(clearPeerData());
|
|
1209
1430
|
// dispatch(clearHmsReference());
|
|
1210
1431
|
|
|
1211
|
-
|
|
1432
|
+
const onLeave = reduxStore.getState().user.onLeave;
|
|
1433
|
+
|
|
1434
|
+
if (typeof onLeave === 'function') {
|
|
1435
|
+
onLeave();
|
|
1436
|
+
dispatch(clearStore());
|
|
1437
|
+
} else if (navigation && navigation.canGoBack()) {
|
|
1212
1438
|
navigation.goBack();
|
|
1213
1439
|
dispatch(clearStore());
|
|
1214
1440
|
} else {
|
|
@@ -1265,3 +1491,83 @@ export const useLeaveMethods = () => {
|
|
|
1265
1491
|
|
|
1266
1492
|
return { destroy, leave, endRoom, goToPreview };
|
|
1267
1493
|
};
|
|
1494
|
+
|
|
1495
|
+
export const useHMSLayoutConfig = () => {
|
|
1496
|
+
return useSelector((state: RootState) => state.hmsStates.layoutConfig);
|
|
1497
|
+
};
|
|
1498
|
+
|
|
1499
|
+
export const useHMSRoomTheme = <S>(
|
|
1500
|
+
selector?: (theme: Required<Theme>) => S
|
|
1501
|
+
): Required<Theme> | S => {
|
|
1502
|
+
return useSelector((state: RootState) => {
|
|
1503
|
+
const layoutConfig = state.hmsStates.layoutConfig;
|
|
1504
|
+
|
|
1505
|
+
const roomTheme = layoutConfig?.themes.find((theme) => theme.default);
|
|
1506
|
+
|
|
1507
|
+
const defaultTheme: Required<Theme> = roomTheme
|
|
1508
|
+
? roomTheme.palette
|
|
1509
|
+
? (roomTheme as Required<Theme>)
|
|
1510
|
+
: { ...roomTheme, palette: DEFAULT_THEME.palette }
|
|
1511
|
+
: DEFAULT_THEME;
|
|
1512
|
+
|
|
1513
|
+
if (!selector) {
|
|
1514
|
+
return defaultTheme;
|
|
1515
|
+
}
|
|
1516
|
+
|
|
1517
|
+
return selector(defaultTheme);
|
|
1518
|
+
}, shallowEqual);
|
|
1519
|
+
};
|
|
1520
|
+
|
|
1521
|
+
export const useHMSRoomColorPalette = (): ColorPalette => {
|
|
1522
|
+
return useHMSRoomTheme((theme) => theme.palette) as ColorPalette;
|
|
1523
|
+
};
|
|
1524
|
+
|
|
1525
|
+
export const useHMSRoomTypography = (): Typography => {
|
|
1526
|
+
return useSelector((state: RootState) => {
|
|
1527
|
+
const layoutConfig = state.hmsStates.layoutConfig;
|
|
1528
|
+
|
|
1529
|
+
const typography = layoutConfig?.typography;
|
|
1530
|
+
|
|
1531
|
+
if (!typography) {
|
|
1532
|
+
return DEFAULT_TYPOGRAPHY;
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
if (!typography.font_family) {
|
|
1536
|
+
return {
|
|
1537
|
+
...DEFAULT_TYPOGRAPHY,
|
|
1538
|
+
...typography,
|
|
1539
|
+
};
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
return typography;
|
|
1543
|
+
}, shallowEqual);
|
|
1544
|
+
};
|
|
1545
|
+
|
|
1546
|
+
export const useHMSRoomStyleSheet = <
|
|
1547
|
+
T extends { [key: string]: StyleProp<ViewStyle | TextStyle | ImageStyle> },
|
|
1548
|
+
>(
|
|
1549
|
+
updater: (theme: Required<Theme>, typography: Required<Typography>) => T,
|
|
1550
|
+
deps: DependencyList = []
|
|
1551
|
+
): T => {
|
|
1552
|
+
const theme = useHMSRoomTheme<Required<Theme>>();
|
|
1553
|
+
const typography = useHMSRoomTypography();
|
|
1554
|
+
|
|
1555
|
+
return useMemo(
|
|
1556
|
+
() => updater(theme, typography),
|
|
1557
|
+
[theme, typography, ...deps]
|
|
1558
|
+
);
|
|
1559
|
+
};
|
|
1560
|
+
|
|
1561
|
+
export const useHMSRoomStyle = <
|
|
1562
|
+
T extends StyleProp<ViewStyle | TextStyle | ImageStyle>,
|
|
1563
|
+
>(
|
|
1564
|
+
updater: (theme: Required<Theme>, typography: Required<Typography>) => T,
|
|
1565
|
+
deps: DependencyList = []
|
|
1566
|
+
): T => {
|
|
1567
|
+
return useHMSRoomStyleSheet(
|
|
1568
|
+
(theme, typography) => ({
|
|
1569
|
+
default: updater(theme, typography),
|
|
1570
|
+
}),
|
|
1571
|
+
deps
|
|
1572
|
+
).default;
|
|
1573
|
+
};
|