@werxt/livekit-components-react 2.9.20
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/LICENSE +201 -0
- package/README.md +36 -0
- package/dist/assets/icons/CameraDisabledIcon.d.ts +11 -0
- package/dist/assets/icons/CameraDisabledIcon.d.ts.map +1 -0
- package/dist/assets/icons/CameraIcon.d.ts +11 -0
- package/dist/assets/icons/CameraIcon.d.ts.map +1 -0
- package/dist/assets/icons/ChatCloseIcon.d.ts +11 -0
- package/dist/assets/icons/ChatCloseIcon.d.ts.map +1 -0
- package/dist/assets/icons/ChatIcon.d.ts +11 -0
- package/dist/assets/icons/ChatIcon.d.ts.map +1 -0
- package/dist/assets/icons/Chevron.d.ts +11 -0
- package/dist/assets/icons/Chevron.d.ts.map +1 -0
- package/dist/assets/icons/FocusToggleIcon.d.ts +11 -0
- package/dist/assets/icons/FocusToggleIcon.d.ts.map +1 -0
- package/dist/assets/icons/GearIcon.d.ts +11 -0
- package/dist/assets/icons/GearIcon.d.ts.map +1 -0
- package/dist/assets/icons/LeaveIcon.d.ts +11 -0
- package/dist/assets/icons/LeaveIcon.d.ts.map +1 -0
- package/dist/assets/icons/LockLockedIcon.d.ts +11 -0
- package/dist/assets/icons/LockLockedIcon.d.ts.map +1 -0
- package/dist/assets/icons/MicDisabledIcon.d.ts +11 -0
- package/dist/assets/icons/MicDisabledIcon.d.ts.map +1 -0
- package/dist/assets/icons/MicIcon.d.ts +11 -0
- package/dist/assets/icons/MicIcon.d.ts.map +1 -0
- package/dist/assets/icons/QualityExcellentIcon.d.ts +11 -0
- package/dist/assets/icons/QualityExcellentIcon.d.ts.map +1 -0
- package/dist/assets/icons/QualityGoodIcon.d.ts +11 -0
- package/dist/assets/icons/QualityGoodIcon.d.ts.map +1 -0
- package/dist/assets/icons/QualityPoorIcon.d.ts +11 -0
- package/dist/assets/icons/QualityPoorIcon.d.ts.map +1 -0
- package/dist/assets/icons/QualityUnknownIcon.d.ts +11 -0
- package/dist/assets/icons/QualityUnknownIcon.d.ts.map +1 -0
- package/dist/assets/icons/ScreenShareIcon.d.ts +11 -0
- package/dist/assets/icons/ScreenShareIcon.d.ts.map +1 -0
- package/dist/assets/icons/ScreenShareStopIcon.d.ts +11 -0
- package/dist/assets/icons/ScreenShareStopIcon.d.ts.map +1 -0
- package/dist/assets/icons/SpinnerIcon.d.ts +11 -0
- package/dist/assets/icons/SpinnerIcon.d.ts.map +1 -0
- package/dist/assets/icons/UnfocusToggleIcon.d.ts +11 -0
- package/dist/assets/icons/UnfocusToggleIcon.d.ts.map +1 -0
- package/dist/assets/icons/index.d.ts +20 -0
- package/dist/assets/icons/index.d.ts.map +1 -0
- package/dist/assets/icons/util.d.ts +11 -0
- package/dist/assets/icons/util.d.ts.map +1 -0
- package/dist/assets/images/ParticipantPlaceholder.d.ts +11 -0
- package/dist/assets/images/ParticipantPlaceholder.d.ts.map +1 -0
- package/dist/assets/images/index.d.ts +2 -0
- package/dist/assets/images/index.d.ts.map +1 -0
- package/dist/components/ChatEntry.d.ts +35 -0
- package/dist/components/ChatEntry.d.ts.map +1 -0
- package/dist/components/ConnectionState.d.ts +23 -0
- package/dist/components/ConnectionState.d.ts.map +1 -0
- package/dist/components/ConnectionStateToast.d.ts +13 -0
- package/dist/components/ConnectionStateToast.d.ts.map +1 -0
- package/dist/components/LiveKitRoom.d.ts +92 -0
- package/dist/components/LiveKitRoom.d.ts.map +1 -0
- package/dist/components/ParticipantLoop.d.ts +28 -0
- package/dist/components/ParticipantLoop.d.ts.map +1 -0
- package/dist/components/RoomAudioRenderer.d.ts +29 -0
- package/dist/components/RoomAudioRenderer.d.ts.map +1 -0
- package/dist/components/RoomName.d.ts +20 -0
- package/dist/components/RoomName.d.ts.map +1 -0
- package/dist/components/SessionProvider.d.ts +13 -0
- package/dist/components/SessionProvider.d.ts.map +1 -0
- package/dist/components/Toast.d.ts +14 -0
- package/dist/components/Toast.d.ts.map +1 -0
- package/dist/components/TrackLoop.d.ts +26 -0
- package/dist/components/TrackLoop.d.ts.map +1 -0
- package/dist/components/controls/ChatToggle.d.ts +19 -0
- package/dist/components/controls/ChatToggle.d.ts.map +1 -0
- package/dist/components/controls/ClearPinButton.d.ts +20 -0
- package/dist/components/controls/ClearPinButton.d.ts.map +1 -0
- package/dist/components/controls/DisconnectButton.d.ts +19 -0
- package/dist/components/controls/DisconnectButton.d.ts.map +1 -0
- package/dist/components/controls/FocusToggle.d.ts +21 -0
- package/dist/components/controls/FocusToggle.d.ts.map +1 -0
- package/dist/components/controls/MediaDeviceSelect.d.ts +40 -0
- package/dist/components/controls/MediaDeviceSelect.d.ts.map +1 -0
- package/dist/components/controls/PaginationControl.d.ts +9 -0
- package/dist/components/controls/PaginationControl.d.ts.map +1 -0
- package/dist/components/controls/PaginationIndicator.d.ts +7 -0
- package/dist/components/controls/PaginationIndicator.d.ts.map +1 -0
- package/dist/components/controls/SettingsMenuToggle.d.ts +13 -0
- package/dist/components/controls/SettingsMenuToggle.d.ts.map +1 -0
- package/dist/components/controls/StartAudio.d.ts +24 -0
- package/dist/components/controls/StartAudio.d.ts.map +1 -0
- package/dist/components/controls/StartMediaButton.d.ts +22 -0
- package/dist/components/controls/StartMediaButton.d.ts.map +1 -0
- package/dist/components/controls/TrackToggle.d.ts +32 -0
- package/dist/components/controls/TrackToggle.d.ts.map +1 -0
- package/dist/components/index.d.ts +30 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/layout/CarouselLayout.d.ts +27 -0
- package/dist/components/layout/CarouselLayout.d.ts.map +1 -0
- package/dist/components/layout/FocusLayout.d.ts +25 -0
- package/dist/components/layout/FocusLayout.d.ts.map +1 -0
- package/dist/components/layout/GridLayout.d.ts +26 -0
- package/dist/components/layout/GridLayout.d.ts.map +1 -0
- package/dist/components/layout/LayoutContextProvider.d.ts +12 -0
- package/dist/components/layout/LayoutContextProvider.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +4 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/participant/AudioTrack.d.ts +33 -0
- package/dist/components/participant/AudioTrack.d.ts.map +1 -0
- package/dist/components/participant/AudioVisualizer.d.ts +22 -0
- package/dist/components/participant/AudioVisualizer.d.ts.map +1 -0
- package/dist/components/participant/BarVisualizer.d.ts +77 -0
- package/dist/components/participant/BarVisualizer.d.ts.map +1 -0
- package/dist/components/participant/ConnectionQualityIndicator.d.ts +16 -0
- package/dist/components/participant/ConnectionQualityIndicator.d.ts.map +1 -0
- package/dist/components/participant/ParticipantAudioTile.d.ts +14 -0
- package/dist/components/participant/ParticipantAudioTile.d.ts.map +1 -0
- package/dist/components/participant/ParticipantName.d.ts +17 -0
- package/dist/components/participant/ParticipantName.d.ts.map +1 -0
- package/dist/components/participant/ParticipantTile.d.ts +49 -0
- package/dist/components/participant/ParticipantTile.d.ts.map +1 -0
- package/dist/components/participant/TrackMutedIndicator.d.ts +19 -0
- package/dist/components/participant/TrackMutedIndicator.d.ts.map +1 -0
- package/dist/components/participant/VideoTrack.d.ts +23 -0
- package/dist/components/participant/VideoTrack.d.ts.map +1 -0
- package/dist/components/participant/animationSequences/connectingSequence.d.ts +2 -0
- package/dist/components/participant/animationSequences/connectingSequence.d.ts.map +1 -0
- package/dist/components/participant/animationSequences/listeningSequence.d.ts +2 -0
- package/dist/components/participant/animationSequences/listeningSequence.d.ts.map +1 -0
- package/dist/components/participant/animationSequences/thinkingSequence.d.ts +2 -0
- package/dist/components/participant/animationSequences/thinkingSequence.d.ts.map +1 -0
- package/dist/components/participant/animators/useBarAnimator.d.ts +3 -0
- package/dist/components/participant/animators/useBarAnimator.d.ts.map +1 -0
- package/dist/components-lNrIMTWQ.mjs +1051 -0
- package/dist/components-lNrIMTWQ.mjs.map +1 -0
- package/dist/context/chat-context.d.ts +23 -0
- package/dist/context/chat-context.d.ts.map +1 -0
- package/dist/context/feature-context.d.ts +14 -0
- package/dist/context/feature-context.d.ts.map +1 -0
- package/dist/context/index.d.ts +10 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/layout-context.d.ts +32 -0
- package/dist/context/layout-context.d.ts.map +1 -0
- package/dist/context/participant-context.d.ts +22 -0
- package/dist/context/participant-context.d.ts.map +1 -0
- package/dist/context/pin-context.d.ts +17 -0
- package/dist/context/pin-context.d.ts.map +1 -0
- package/dist/context/room-context.d.ts +22 -0
- package/dist/context/room-context.d.ts.map +1 -0
- package/dist/context/session-context.d.ts +22 -0
- package/dist/context/session-context.d.ts.map +1 -0
- package/dist/context/track-reference-context.d.ts +25 -0
- package/dist/context/track-reference-context.d.ts.map +1 -0
- package/dist/contexts-D4V9wQRc.mjs +4026 -0
- package/dist/contexts-D4V9wQRc.mjs.map +1 -0
- package/dist/hooks/cloud/krisp/useKrispNoiseFilter.d.ts +42 -0
- package/dist/hooks/cloud/krisp/useKrispNoiseFilter.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +54 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/internal/index.d.ts +10 -0
- package/dist/hooks/internal/index.d.ts.map +1 -0
- package/dist/hooks/internal/useMediaQuery.d.ts +7 -0
- package/dist/hooks/internal/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/internal/useObservableState.d.ts +6 -0
- package/dist/hooks/internal/useObservableState.d.ts.map +1 -0
- package/dist/hooks/internal/useResizeObserver.d.ts +14 -0
- package/dist/hooks/internal/useResizeObserver.d.ts.map +1 -0
- package/dist/hooks/useAgent.d.ts +219 -0
- package/dist/hooks/useAgent.d.ts.map +1 -0
- package/dist/hooks/useAudioPlayback.d.ts +15 -0
- package/dist/hooks/useAudioPlayback.d.ts.map +1 -0
- package/dist/hooks/useChat.d.ts +43 -0
- package/dist/hooks/useChat.d.ts.map +1 -0
- package/dist/hooks/useChatToggle.d.ts +21 -0
- package/dist/hooks/useChatToggle.d.ts.map +1 -0
- package/dist/hooks/useClearPinButton.d.ts +15 -0
- package/dist/hooks/useClearPinButton.d.ts.map +1 -0
- package/dist/hooks/useConnectionQualityIndicator.d.ts +20 -0
- package/dist/hooks/useConnectionQualityIndicator.d.ts.map +1 -0
- package/dist/hooks/useConnectionStatus.d.ts +12 -0
- package/dist/hooks/useConnectionStatus.d.ts.map +1 -0
- package/dist/hooks/useDataChannel.d.ts +38 -0
- package/dist/hooks/useDataChannel.d.ts.map +1 -0
- package/dist/hooks/useDisconnectButton.d.ts +21 -0
- package/dist/hooks/useDisconnectButton.d.ts.map +1 -0
- package/dist/hooks/useEvents.d.ts +9 -0
- package/dist/hooks/useEvents.d.ts.map +1 -0
- package/dist/hooks/useFacingMode.d.ts +10 -0
- package/dist/hooks/useFacingMode.d.ts.map +1 -0
- package/dist/hooks/useFocusToggle.d.ts +26 -0
- package/dist/hooks/useFocusToggle.d.ts.map +1 -0
- package/dist/hooks/useGridLayout.d.ts +27 -0
- package/dist/hooks/useGridLayout.d.ts.map +1 -0
- package/dist/hooks/useIsEncrypted.d.ts +12 -0
- package/dist/hooks/useIsEncrypted.d.ts.map +1 -0
- package/dist/hooks/useIsMuted.d.ts +22 -0
- package/dist/hooks/useIsMuted.d.ts.map +1 -0
- package/dist/hooks/useIsRecording.d.ts +11 -0
- package/dist/hooks/useIsRecording.d.ts.map +1 -0
- package/dist/hooks/useIsSpeaking.d.ts +11 -0
- package/dist/hooks/useIsSpeaking.d.ts.map +1 -0
- package/dist/hooks/useLiveKitRoom.d.ts +19 -0
- package/dist/hooks/useLiveKitRoom.d.ts.map +1 -0
- package/dist/hooks/useLocalParticipant.d.ts +29 -0
- package/dist/hooks/useLocalParticipant.d.ts.map +1 -0
- package/dist/hooks/useLocalParticipantPermissions.d.ts +12 -0
- package/dist/hooks/useLocalParticipantPermissions.d.ts.map +1 -0
- package/dist/hooks/useMediaDeviceSelect.d.ts +41 -0
- package/dist/hooks/useMediaDeviceSelect.d.ts.map +1 -0
- package/dist/hooks/useMediaDevices.d.ts +15 -0
- package/dist/hooks/useMediaDevices.d.ts.map +1 -0
- package/dist/hooks/useMediaTrackBySourceOrName.d.ts +18 -0
- package/dist/hooks/useMediaTrackBySourceOrName.d.ts.map +1 -0
- package/dist/hooks/usePagination.d.ts +24 -0
- package/dist/hooks/usePagination.d.ts.map +1 -0
- package/dist/hooks/useParticipantAttributes.d.ts +30 -0
- package/dist/hooks/useParticipantAttributes.d.ts.map +1 -0
- package/dist/hooks/useParticipantInfo.d.ts +21 -0
- package/dist/hooks/useParticipantInfo.d.ts.map +1 -0
- package/dist/hooks/useParticipantPermissions.d.ts +17 -0
- package/dist/hooks/useParticipantPermissions.d.ts.map +1 -0
- package/dist/hooks/useParticipantTile.d.ts +22 -0
- package/dist/hooks/useParticipantTile.d.ts.map +1 -0
- package/dist/hooks/useParticipantTracks.d.ts +14 -0
- package/dist/hooks/useParticipantTracks.d.ts.map +1 -0
- package/dist/hooks/useParticipants.d.ts +30 -0
- package/dist/hooks/useParticipants.d.ts.map +1 -0
- package/dist/hooks/usePersistentUserChoices.d.ts +35 -0
- package/dist/hooks/usePersistentUserChoices.d.ts.map +1 -0
- package/dist/hooks/usePinnedTracks.d.ts +14 -0
- package/dist/hooks/usePinnedTracks.d.ts.map +1 -0
- package/dist/hooks/useRemoteParticipant.d.ts +35 -0
- package/dist/hooks/useRemoteParticipant.d.ts.map +1 -0
- package/dist/hooks/useRemoteParticipants.d.ts +30 -0
- package/dist/hooks/useRemoteParticipants.d.ts.map +1 -0
- package/dist/hooks/useRoomInfo.d.ts +21 -0
- package/dist/hooks/useRoomInfo.d.ts.map +1 -0
- package/dist/hooks/useSequentialRoomConnectDisconnect.d.ts +27 -0
- package/dist/hooks/useSequentialRoomConnectDisconnect.d.ts.map +1 -0
- package/dist/hooks/useSession.d.ts +130 -0
- package/dist/hooks/useSession.d.ts.map +1 -0
- package/dist/hooks/useSessionMessages.d.ts +29 -0
- package/dist/hooks/useSessionMessages.d.ts.map +1 -0
- package/dist/hooks/useSettingsToggle.d.ts +20 -0
- package/dist/hooks/useSettingsToggle.d.ts.map +1 -0
- package/dist/hooks/useSortedParticipants.d.ts +7 -0
- package/dist/hooks/useSortedParticipants.d.ts.map +1 -0
- package/dist/hooks/useSpeakingParticipants.d.ts +16 -0
- package/dist/hooks/useSpeakingParticipants.d.ts.map +1 -0
- package/dist/hooks/useStartAudio.d.ts +27 -0
- package/dist/hooks/useStartAudio.d.ts.map +1 -0
- package/dist/hooks/useStartVideo.d.ts +26 -0
- package/dist/hooks/useStartVideo.d.ts.map +1 -0
- package/dist/hooks/useSwipe.d.ts +24 -0
- package/dist/hooks/useSwipe.d.ts.map +1 -0
- package/dist/hooks/useTextStream.d.ts +20 -0
- package/dist/hooks/useTextStream.d.ts.map +1 -0
- package/dist/hooks/useToken.d.ts +20 -0
- package/dist/hooks/useToken.d.ts.map +1 -0
- package/dist/hooks/useTrack.d.ts +4 -0
- package/dist/hooks/useTrack.d.ts.map +1 -0
- package/dist/hooks/useTrackByName.d.ts +10 -0
- package/dist/hooks/useTrackByName.d.ts.map +1 -0
- package/dist/hooks/useTrackMutedIndicator.d.ts +18 -0
- package/dist/hooks/useTrackMutedIndicator.d.ts.map +1 -0
- package/dist/hooks/useTrackRefBySourceOrName.d.ts +7 -0
- package/dist/hooks/useTrackRefBySourceOrName.d.ts.map +1 -0
- package/dist/hooks/useTrackSyncTime.d.ts +10 -0
- package/dist/hooks/useTrackSyncTime.d.ts.map +1 -0
- package/dist/hooks/useTrackToggle.d.ts +27 -0
- package/dist/hooks/useTrackToggle.d.ts.map +1 -0
- package/dist/hooks/useTrackTranscription.d.ts +26 -0
- package/dist/hooks/useTrackTranscription.d.ts.map +1 -0
- package/dist/hooks/useTrackVolume.d.ts +49 -0
- package/dist/hooks/useTrackVolume.d.ts.map +1 -0
- package/dist/hooks/useTracks.d.ts +29 -0
- package/dist/hooks/useTracks.d.ts.map +1 -0
- package/dist/hooks/useTranscriptions.d.ts +21 -0
- package/dist/hooks/useTranscriptions.d.ts.map +1 -0
- package/dist/hooks/useVisualStableUpdate.d.ts +27 -0
- package/dist/hooks/useVisualStableUpdate.d.ts.map +1 -0
- package/dist/hooks/useVoiceAssistant.d.ts +43 -0
- package/dist/hooks/useVoiceAssistant.d.ts.map +1 -0
- package/dist/hooks/useWarnAboutMissingStyles.d.ts +5 -0
- package/dist/hooks/useWarnAboutMissingStyles.d.ts.map +1 -0
- package/dist/hooks-hQJmeINB.mjs +1992 -0
- package/dist/hooks-hQJmeINB.mjs.map +1 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.js +2 -0
- package/dist/hooks.js.map +1 -0
- package/dist/hooks.mjs +64 -0
- package/dist/hooks.mjs.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.docs.d.ts +6 -0
- package/dist/index.docs.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +157 -0
- package/dist/index.mjs.map +1 -0
- package/dist/krisp.d.ts +2 -0
- package/dist/krisp.js +2 -0
- package/dist/krisp.js.map +1 -0
- package/dist/krisp.mjs +45 -0
- package/dist/krisp.mjs.map +1 -0
- package/dist/mergeProps.d.ts +25 -0
- package/dist/mergeProps.d.ts.map +1 -0
- package/dist/prefabs/AudioConference.d.ts +22 -0
- package/dist/prefabs/AudioConference.d.ts.map +1 -0
- package/dist/prefabs/Chat.d.ts +35 -0
- package/dist/prefabs/Chat.d.ts.map +1 -0
- package/dist/prefabs/ControlBar.d.ts +45 -0
- package/dist/prefabs/ControlBar.d.ts.map +1 -0
- package/dist/prefabs/MediaDeviceMenu.d.ts +36 -0
- package/dist/prefabs/MediaDeviceMenu.d.ts.map +1 -0
- package/dist/prefabs/PreJoin.d.ts +59 -0
- package/dist/prefabs/PreJoin.d.ts.map +1 -0
- package/dist/prefabs/VideoConference.d.ts +35 -0
- package/dist/prefabs/VideoConference.d.ts.map +1 -0
- package/dist/prefabs/VoiceAssistantControlBar.d.ts +32 -0
- package/dist/prefabs/VoiceAssistantControlBar.d.ts.map +1 -0
- package/dist/prefabs/index.d.ts +8 -0
- package/dist/prefabs/index.d.ts.map +1 -0
- package/dist/prefabs.d.ts +2 -0
- package/dist/prefabs.js +2 -0
- package/dist/prefabs.js.map +1 -0
- package/dist/prefabs.mjs +579 -0
- package/dist/prefabs.mjs.map +1 -0
- package/dist/room-BP3SCCCd.mjs +191 -0
- package/dist/room-BP3SCCCd.mjs.map +1 -0
- package/dist/shared-88J2fzv7.js +2 -0
- package/dist/shared-88J2fzv7.js.map +1 -0
- package/dist/shared-BDr0qLg4.js +4 -0
- package/dist/shared-BDr0qLg4.js.map +1 -0
- package/dist/shared-CjI_UuOX.js +2 -0
- package/dist/shared-CjI_UuOX.js.map +1 -0
- package/dist/shared-DTHOl3uJ.js +2 -0
- package/dist/shared-DTHOl3uJ.js.map +1 -0
- package/dist/utils.d.ts +19 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +104 -0
- package/src/assets/icons/CameraDisabledIcon.tsx +15 -0
- package/src/assets/icons/CameraIcon.tsx +14 -0
- package/src/assets/icons/ChatCloseIcon.tsx +17 -0
- package/src/assets/icons/ChatIcon.tsx +25 -0
- package/src/assets/icons/Chevron.tsx +19 -0
- package/src/assets/icons/FocusToggleIcon.tsx +16 -0
- package/src/assets/icons/GearIcon.tsx +19 -0
- package/src/assets/icons/LeaveIcon.tsx +25 -0
- package/src/assets/icons/LockLockedIcon.tsx +19 -0
- package/src/assets/icons/MicDisabledIcon.tsx +15 -0
- package/src/assets/icons/MicIcon.tsx +19 -0
- package/src/assets/icons/QualityExcellentIcon.tsx +15 -0
- package/src/assets/icons/QualityGoodIcon.tsx +19 -0
- package/src/assets/icons/QualityPoorIcon.tsx +20 -0
- package/src/assets/icons/QualityUnknownIcon.tsx +17 -0
- package/src/assets/icons/ScreenShareIcon.tsx +25 -0
- package/src/assets/icons/ScreenShareStopIcon.tsx +21 -0
- package/src/assets/icons/SpinnerIcon.tsx +93 -0
- package/src/assets/icons/UnfocusToggleIcon.tsx +16 -0
- package/src/assets/icons/index.ts +19 -0
- package/src/assets/icons/util.tsx +47 -0
- package/src/assets/images/ParticipantPlaceholder.tsx +31 -0
- package/src/assets/images/index.ts +1 -0
- package/src/assets/template.js +21 -0
- package/src/components/ChatEntry.tsx +112 -0
- package/src/components/ConnectionState.tsx +36 -0
- package/src/components/ConnectionStateToast.tsx +47 -0
- package/src/components/LiveKitRoom.tsx +122 -0
- package/src/components/ParticipantLoop.tsx +41 -0
- package/src/components/RoomAudioRenderer.tsx +57 -0
- package/src/components/RoomName.tsx +36 -0
- package/src/components/SessionProvider.tsx +22 -0
- package/src/components/Toast.tsx +18 -0
- package/src/components/TrackLoop.tsx +45 -0
- package/src/components/controls/ChatToggle.tsx +32 -0
- package/src/components/controls/ClearPinButton.tsx +32 -0
- package/src/components/controls/DisconnectButton.tsx +32 -0
- package/src/components/controls/FocusToggle.tsx +54 -0
- package/src/components/controls/MediaDeviceSelect.tsx +144 -0
- package/src/components/controls/PaginationControl.tsx +51 -0
- package/src/components/controls/PaginationIndicator.tsx +26 -0
- package/src/components/controls/SettingsMenuToggle.tsx +26 -0
- package/src/components/controls/StartAudio.tsx +40 -0
- package/src/components/controls/StartMediaButton.tsx +41 -0
- package/src/components/controls/TrackToggle.tsx +54 -0
- package/src/components/index.ts +34 -0
- package/src/components/layout/CarouselLayout.tsx +80 -0
- package/src/components/layout/FocusLayout.tsx +37 -0
- package/src/components/layout/GridLayout.tsx +63 -0
- package/src/components/layout/LayoutContextProvider.tsx +36 -0
- package/src/components/layout/index.ts +3 -0
- package/src/components/participant/AudioTrack.tsx +89 -0
- package/src/components/participant/AudioVisualizer.tsx +67 -0
- package/src/components/participant/BarVisualizer.tsx +164 -0
- package/src/components/participant/ConnectionQualityIndicator.tsx +36 -0
- package/src/components/participant/ParticipantAudioTile.tsx +67 -0
- package/src/components/participant/ParticipantName.tsx +50 -0
- package/src/components/participant/ParticipantTile.tsx +192 -0
- package/src/components/participant/TrackMutedIndicator.tsx +53 -0
- package/src/components/participant/VideoTrack.tsx +92 -0
- package/src/components/participant/animationSequences/connectingSequence.ts +9 -0
- package/src/components/participant/animationSequences/listeningSequence.ts +6 -0
- package/src/components/participant/animationSequences/thinkingSequence.ts +12 -0
- package/src/components/participant/animators/useBarAnimator.ts +55 -0
- package/src/context/chat-context.ts +37 -0
- package/src/context/feature-context.ts +28 -0
- package/src/context/index.ts +27 -0
- package/src/context/layout-context.ts +72 -0
- package/src/context/participant-context.ts +44 -0
- package/src/context/pin-context.ts +27 -0
- package/src/context/room-context.ts +42 -0
- package/src/context/session-context.ts +43 -0
- package/src/context/track-reference-context.ts +47 -0
- package/src/hooks/cloud/krisp/useKrispNoiseFilter.ts +110 -0
- package/src/hooks/index.ts +72 -0
- package/src/hooks/internal/index.ts +10 -0
- package/src/hooks/internal/useMediaQuery.ts +46 -0
- package/src/hooks/internal/useObservableState.ts +24 -0
- package/src/hooks/internal/useResizeObserver.ts +124 -0
- package/src/hooks/useAgent.ts +945 -0
- package/src/hooks/useAudioPlayback.ts +34 -0
- package/src/hooks/useChat.ts +57 -0
- package/src/hooks/useChatToggle.ts +38 -0
- package/src/hooks/useClearPinButton.ts +29 -0
- package/src/hooks/useConnectionQualityIndicator.ts +33 -0
- package/src/hooks/useConnectionStatus.ts +22 -0
- package/src/hooks/useDataChannel.ts +73 -0
- package/src/hooks/useDisconnectButton.ts +36 -0
- package/src/hooks/useEvents.ts +39 -0
- package/src/hooks/useFacingMode.ts +22 -0
- package/src/hooks/useFocusToggle.ts +59 -0
- package/src/hooks/useGridLayout.ts +44 -0
- package/src/hooks/useIsEncrypted.ts +29 -0
- package/src/hooks/useIsMuted.ts +51 -0
- package/src/hooks/useIsRecording.ts +23 -0
- package/src/hooks/useIsSpeaking.ts +21 -0
- package/src/hooks/useLiveKitRoom.ts +186 -0
- package/src/hooks/useLocalParticipant.ts +73 -0
- package/src/hooks/useLocalParticipantPermissions.ts +24 -0
- package/src/hooks/useMediaDeviceSelect.ts +81 -0
- package/src/hooks/useMediaDevices.ts +28 -0
- package/src/hooks/useMediaTrackBySourceOrName.ts +97 -0
- package/src/hooks/usePagination.test.ts +77 -0
- package/src/hooks/usePagination.ts +67 -0
- package/src/hooks/useParticipantAttributes.ts +69 -0
- package/src/hooks/useParticipantInfo.ts +35 -0
- package/src/hooks/useParticipantPermissions.ts +29 -0
- package/src/hooks/useParticipantTile.ts +81 -0
- package/src/hooks/useParticipantTracks.ts +54 -0
- package/src/hooks/useParticipants.ts +42 -0
- package/src/hooks/usePersistentUserChoices.ts +64 -0
- package/src/hooks/usePinnedTracks.ts +24 -0
- package/src/hooks/useRemoteParticipant.ts +79 -0
- package/src/hooks/useRemoteParticipants.ts +45 -0
- package/src/hooks/useRoomInfo.ts +32 -0
- package/src/hooks/useSequentialRoomConnectDisconnect.ts +171 -0
- package/src/hooks/useSession.ts +642 -0
- package/src/hooks/useSessionMessages.ts +158 -0
- package/src/hooks/useSettingsToggle.ts +32 -0
- package/src/hooks/useSortedParticipants.ts +20 -0
- package/src/hooks/useSpeakingParticipants.ts +27 -0
- package/src/hooks/useStartAudio.ts +50 -0
- package/src/hooks/useStartVideo.ts +49 -0
- package/src/hooks/useSwipe.ts +68 -0
- package/src/hooks/useTextStream.ts +35 -0
- package/src/hooks/useToken.ts +54 -0
- package/src/hooks/useTrack.ts +11 -0
- package/src/hooks/useTrackByName.ts +15 -0
- package/src/hooks/useTrackMutedIndicator.ts +44 -0
- package/src/hooks/useTrackRefBySourceOrName.ts +30 -0
- package/src/hooks/useTrackSyncTime.ts +18 -0
- package/src/hooks/useTrackToggle.ts +93 -0
- package/src/hooks/useTrackTranscription.ts +75 -0
- package/src/hooks/useTrackVolume.ts +283 -0
- package/src/hooks/useTracks.test.ts +60 -0
- package/src/hooks/useTracks.ts +154 -0
- package/src/hooks/useTranscriptions.ts +48 -0
- package/src/hooks/useVisualStableUpdate.ts +63 -0
- package/src/hooks/useVoiceAssistant.ts +109 -0
- package/src/hooks/useWarnAboutMissingStyles.ts +11 -0
- package/src/index.docs.ts +12 -0
- package/src/index.ts +32 -0
- package/src/mergeProps.ts +87 -0
- package/src/prefabs/AudioConference.tsx +57 -0
- package/src/prefabs/Chat.tsx +153 -0
- package/src/prefabs/ControlBar.tsx +227 -0
- package/src/prefabs/MediaDeviceMenu.tsx +159 -0
- package/src/prefabs/PreJoin.tsx +439 -0
- package/src/prefabs/VideoConference.tsx +184 -0
- package/src/prefabs/VoiceAssistantControlBar.tsx +109 -0
- package/src/prefabs/index.ts +11 -0
- package/src/utils.ts +78 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { KrispNoiseFilterProcessor, NoiseFilterOptions } from '@livekit/krisp-noise-filter';
|
|
2
|
+
import { TrackReferenceOrPlaceholder } from '@livekit/components-core';
|
|
3
|
+
/**
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
6
|
+
export interface useKrispNoiseFilterOptions {
|
|
7
|
+
/**
|
|
8
|
+
* The track reference to use for the noise filter (defaults: local microphone track)
|
|
9
|
+
*/
|
|
10
|
+
trackRef?: TrackReferenceOrPlaceholder;
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
filterOptions?: NoiseFilterOptions;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Enable the Krisp enhanced noise cancellation feature for local audio tracks.
|
|
18
|
+
*
|
|
19
|
+
* Defaults to the localParticipant's microphone track publication, but you can override this behavior by passing in a different track reference.
|
|
20
|
+
*
|
|
21
|
+
* @package \@livekit/components-react/krisp
|
|
22
|
+
* @remarks This filter requires that you install the `@livekit/krisp-noise-filter` package and is supported only on {@link https://cloud.livekit.io | LiveKit Cloud}.
|
|
23
|
+
* @beta
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* const krisp = useKrispNoiseFilter();
|
|
27
|
+
* return <input
|
|
28
|
+
* type="checkbox"
|
|
29
|
+
* onChange={(ev) => krisp.setNoiseFilterEnabled(ev.target.checked)}
|
|
30
|
+
* checked={krisp.isNoiseFilterEnabled}
|
|
31
|
+
* disabled={krisp.isNoiseFilterPending}
|
|
32
|
+
* />
|
|
33
|
+
* ```
|
|
34
|
+
* @returns Use `setIsNoiseFilterEnabled` to enable/disable the noise filter.
|
|
35
|
+
*/
|
|
36
|
+
export declare function useKrispNoiseFilter(options?: useKrispNoiseFilterOptions): {
|
|
37
|
+
setNoiseFilterEnabled: (enable: boolean) => Promise<void>;
|
|
38
|
+
isNoiseFilterEnabled: boolean;
|
|
39
|
+
isNoiseFilterPending: boolean;
|
|
40
|
+
processor: KrispNoiseFilterProcessor | undefined;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=useKrispNoiseFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKrispNoiseFilter.d.ts","sourceRoot":"","sources":["../../../../src/hooks/cloud/krisp/useKrispNoiseFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC;;OAEG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B;oCAYX,OAAO;;;;EAwDvE"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export { useAudioPlayback } from './useAudioPlayback';
|
|
2
|
+
export { useClearPinButton } from './useClearPinButton';
|
|
3
|
+
export { type ConnectionQualityIndicatorOptions, useConnectionQualityIndicator, } from './useConnectionQualityIndicator';
|
|
4
|
+
export { useConnectionState } from './useConnectionStatus';
|
|
5
|
+
export { useDataChannel } from './useDataChannel';
|
|
6
|
+
export { useDisconnectButton } from './useDisconnectButton';
|
|
7
|
+
export { useFacingMode } from './useFacingMode';
|
|
8
|
+
export { type UseFocusToggleProps, useFocusToggle } from './useFocusToggle';
|
|
9
|
+
export { useGridLayout } from './useGridLayout';
|
|
10
|
+
export { type UseIsMutedOptions, useIsMuted } from './useIsMuted';
|
|
11
|
+
export { useIsSpeaking } from './useIsSpeaking';
|
|
12
|
+
export { useLiveKitRoom } from './useLiveKitRoom';
|
|
13
|
+
export { type UseLocalParticipantOptions, useLocalParticipant } from './useLocalParticipant';
|
|
14
|
+
export { useLocalParticipantPermissions } from './useLocalParticipantPermissions';
|
|
15
|
+
export { type UseMediaDeviceSelectProps, useMediaDeviceSelect } from './useMediaDeviceSelect';
|
|
16
|
+
export { useMediaDevices } from './useMediaDevices';
|
|
17
|
+
export { usePagination } from './usePagination';
|
|
18
|
+
export { type UseParticipantInfoOptions, useParticipantInfo } from './useParticipantInfo';
|
|
19
|
+
export { type UseParticipantPermissionsOptions, useParticipantPermissions, } from './useParticipantPermissions';
|
|
20
|
+
export { type UseParticipantTileProps, useParticipantTile } from './useParticipantTile';
|
|
21
|
+
export { type UseParticipantsOptions, useParticipants } from './useParticipants';
|
|
22
|
+
export { usePinnedTracks } from './usePinnedTracks';
|
|
23
|
+
export { type UseRemoteParticipantOptions, useRemoteParticipant } from './useRemoteParticipant';
|
|
24
|
+
export { type UseRemoteParticipantsOptions, useRemoteParticipants } from './useRemoteParticipants';
|
|
25
|
+
export { type UseRoomInfoOptions, useRoomInfo } from './useRoomInfo';
|
|
26
|
+
export { useSortedParticipants } from './useSortedParticipants';
|
|
27
|
+
export { useSpeakingParticipants, type UseSpeakingParticipantsOptions, } from './useSpeakingParticipants';
|
|
28
|
+
export { type UseStartAudioProps, useStartAudio } from './useStartAudio';
|
|
29
|
+
export { type UseStartVideoProps, useStartVideo } from './useStartVideo';
|
|
30
|
+
export { type UseSwipeOptions, useSwipe } from './useSwipe';
|
|
31
|
+
export { type UseChatToggleProps, useChatToggle } from './useChatToggle';
|
|
32
|
+
export { type UseTokenOptions, type UserInfo, useToken } from './useToken';
|
|
33
|
+
export { useTrackMutedIndicator } from './useTrackMutedIndicator';
|
|
34
|
+
export { type UseTrackToggleProps, useTrackToggle } from './useTrackToggle';
|
|
35
|
+
export { type UseTracksHookReturnType, type UseTracksOptions, useTracks } from './useTracks';
|
|
36
|
+
export { type UseVisualStableUpdateOptions, useVisualStableUpdate } from './useVisualStableUpdate';
|
|
37
|
+
export { useTrackByName } from './useTrackByName';
|
|
38
|
+
export { useChat } from './useChat';
|
|
39
|
+
export { usePersistentUserChoices, type UsePersistentUserChoicesOptions, } from './usePersistentUserChoices';
|
|
40
|
+
export { type UseIsEncryptedOptions, useIsEncrypted } from './useIsEncrypted';
|
|
41
|
+
export * from './useTrackVolume';
|
|
42
|
+
export * from './useParticipantTracks';
|
|
43
|
+
export * from './useTrackTranscription';
|
|
44
|
+
export * from './useVoiceAssistant';
|
|
45
|
+
export * from './useParticipantAttributes';
|
|
46
|
+
export * from './useIsRecording';
|
|
47
|
+
export * from './useTextStream';
|
|
48
|
+
export * from './useTranscriptions';
|
|
49
|
+
export * from './useSequentialRoomConnectDisconnect';
|
|
50
|
+
export * from './useSession';
|
|
51
|
+
export { type AgentState, AgentEvent, type AgentCallbacks, type UseAgentReturn, useAgent, } from './useAgent';
|
|
52
|
+
export * from './useEvents';
|
|
53
|
+
export * from './useSessionMessages';
|
|
54
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A collection of internal hooks that are not part of the public API
|
|
3
|
+
* and therefore can be modified or removed at any time.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export * from './useResizeObserver';
|
|
8
|
+
export * from './useObservableState';
|
|
9
|
+
export * from './useMediaQuery';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useMediaQuery.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAuCpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useObservableState.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useObservableState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,EACrC,SAAS,EAAE,CAAC,EACZ,0BAA0B,UAAO,KAalC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A React hook that fires a callback whenever ResizeObserver detects a change to its size
|
|
4
|
+
* code extracted from https://github.com/jaredLunde/react-hook/blob/master/packages/resize-observer/src/index.tsx in order to not include the polyfill for resize-observer
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function useResizeObserver<T extends HTMLElement>(target: React.RefObject<T>, callback: UseResizeObserverCallback): ResizeObserver | undefined;
|
|
9
|
+
export type UseResizeObserverCallback = (entry: ResizeObserverEntry, observer: ResizeObserver) => unknown;
|
|
10
|
+
export declare const useSize: (target: React.RefObject<HTMLDivElement>) => {
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useResizeObserver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResizeObserver.d.ts","sourceRoot":"","sources":["../../../src/hooks/internal/useResizeObserver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACrD,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,yBAAyB,8BAyBpC;AAyDD,MAAM,MAAM,yBAAyB,GAAG,CACtC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,cAAc,KACrB,OAAO,CAAC;AAEb,eAAO,MAAM,OAAO,GAAI,QAAQ,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC;;;CAgB9D,CAAC"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { RemoteParticipant, Participant } from 'livekit-client';
|
|
2
|
+
import { default as TypedEventEmitter } from 'typed-emitter';
|
|
3
|
+
import { TrackReference } from '@livekit/components-core';
|
|
4
|
+
import { UseSessionReturn } from './useSession';
|
|
5
|
+
/** @see https://github.com/livekit/agents/blob/65170238db197f62f479eb7aaef1c0e18bfad6e7/livekit-agents/livekit/agents/voice/events.py#L97 */
|
|
6
|
+
type AgentSdkStates = 'initializing' | 'idle' | 'listening' | 'thinking' | 'speaking';
|
|
7
|
+
/**
|
|
8
|
+
* State representing the current status of the agent, whether it is ready for speach, etc
|
|
9
|
+
*
|
|
10
|
+
* For most agents (which have the preconnect audio buffer feature enabled), this is the lifecycle:
|
|
11
|
+
* connecting ➡️ pre-connect-buffering ➡️ initializing/listening/thinking/speaking
|
|
12
|
+
*
|
|
13
|
+
* For agents without the preconnect audio feature enabled:
|
|
14
|
+
* connecting ➡️ initializing ➡️ idle/listening/thinking/speaking
|
|
15
|
+
*
|
|
16
|
+
* If an agent fails to connect:
|
|
17
|
+
* connecting ➡️ pre-connect-buffering/initializing ➡️ failed
|
|
18
|
+
*
|
|
19
|
+
* Legacy useVoiceAssistant hook:
|
|
20
|
+
* disconnected ➡️ connecting ➡️ initializing ➡️ listening/thinking/speaking
|
|
21
|
+
*
|
|
22
|
+
* @beta
|
|
23
|
+
* */
|
|
24
|
+
export type AgentState = 'disconnected' | 'connecting' | 'pre-connect-buffering' | 'failed' | AgentSdkStates;
|
|
25
|
+
/** @beta */
|
|
26
|
+
export declare enum AgentEvent {
|
|
27
|
+
CameraChanged = "cameraChanged",
|
|
28
|
+
MicrophoneChanged = "microphoneChanged",
|
|
29
|
+
StateChanged = "stateChanged"
|
|
30
|
+
}
|
|
31
|
+
/** @beta */
|
|
32
|
+
export type AgentCallbacks = {
|
|
33
|
+
[AgentEvent.CameraChanged]: (newTrack: TrackReference | undefined) => void;
|
|
34
|
+
[AgentEvent.MicrophoneChanged]: (newTrack: TrackReference | undefined) => void;
|
|
35
|
+
[AgentEvent.StateChanged]: (newAgentState: AgentState) => void;
|
|
36
|
+
};
|
|
37
|
+
type AgentStateCommon = {
|
|
38
|
+
attributes: Participant['attributes'];
|
|
39
|
+
internal: {
|
|
40
|
+
emitter: TypedEventEmitter<AgentCallbacks>;
|
|
41
|
+
agentParticipant: RemoteParticipant | null;
|
|
42
|
+
workerParticipant: RemoteParticipant | null;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
type AgentStateAvailable = AgentStateCommon & {
|
|
46
|
+
state: 'listening' | 'thinking' | 'speaking';
|
|
47
|
+
failureReasons: null;
|
|
48
|
+
/** The agent's assigned identity, coming from the JWT token. */
|
|
49
|
+
identity: Participant['identity'];
|
|
50
|
+
name: Participant['name'];
|
|
51
|
+
metadata: Participant['metadata'];
|
|
52
|
+
/** Is the agent connected to the client? */
|
|
53
|
+
isConnected: true;
|
|
54
|
+
/**
|
|
55
|
+
* Could the client be listening for user speech?
|
|
56
|
+
*
|
|
57
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
58
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
59
|
+
* */
|
|
60
|
+
canListen: true;
|
|
61
|
+
/** Has the client disconnected from the agent either for an expected or unexpected reason? */
|
|
62
|
+
isFinished: false;
|
|
63
|
+
/** Is the agent currently connecting or setting itself up? */
|
|
64
|
+
isPending: false;
|
|
65
|
+
cameraTrack?: TrackReference;
|
|
66
|
+
microphoneTrack?: TrackReference;
|
|
67
|
+
};
|
|
68
|
+
type AgentStatePreConnectBuffering = AgentStateCommon & {
|
|
69
|
+
state: 'pre-connect-buffering';
|
|
70
|
+
failureReasons: null;
|
|
71
|
+
/** The client's assigned identity, coming from the JWT token. */
|
|
72
|
+
identity: Participant['identity'];
|
|
73
|
+
name: Participant['name'];
|
|
74
|
+
metadata: Participant['metadata'];
|
|
75
|
+
/** Is the agent connected to the client? */
|
|
76
|
+
isConnected: false;
|
|
77
|
+
/**
|
|
78
|
+
* Could the client be listening for user speech?
|
|
79
|
+
*
|
|
80
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
81
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
82
|
+
* */
|
|
83
|
+
canListen: true;
|
|
84
|
+
/** Has the client disconnected from the agent either for an expected or unexpected reason? */
|
|
85
|
+
isFinished: false;
|
|
86
|
+
/** Is the agent currently connecting or setting itself up? */
|
|
87
|
+
isPending: false;
|
|
88
|
+
cameraTrack?: TrackReference;
|
|
89
|
+
microphoneTrack?: TrackReference;
|
|
90
|
+
};
|
|
91
|
+
type AgentStateUnAvailable = AgentStateCommon & {
|
|
92
|
+
state: 'initializing' | 'idle';
|
|
93
|
+
failureReasons: null;
|
|
94
|
+
/** The client's assigned identity, coming from the JWT token. */
|
|
95
|
+
identity: Participant['identity'];
|
|
96
|
+
name: Participant['name'];
|
|
97
|
+
metadata: Participant['metadata'];
|
|
98
|
+
/** Is the agent connected to the client? */
|
|
99
|
+
isConnected: false;
|
|
100
|
+
/**
|
|
101
|
+
* Could the client be listening for user speech?
|
|
102
|
+
*
|
|
103
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
104
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
105
|
+
* */
|
|
106
|
+
canListen: false;
|
|
107
|
+
/** Has the client disconnected from the agent either for an expected or unexpected reason? */
|
|
108
|
+
isFinished: false;
|
|
109
|
+
/** Is the agent currently connecting or setting itself up? */
|
|
110
|
+
isPending: true;
|
|
111
|
+
cameraTrack?: TrackReference;
|
|
112
|
+
microphoneTrack?: TrackReference;
|
|
113
|
+
};
|
|
114
|
+
type AgentStateConnecting = AgentStateCommon & {
|
|
115
|
+
state: 'connecting';
|
|
116
|
+
failureReasons: null;
|
|
117
|
+
/** The client's assigned identity, coming from the JWT token. */
|
|
118
|
+
identity: undefined;
|
|
119
|
+
name: undefined;
|
|
120
|
+
metadata: undefined;
|
|
121
|
+
/** Is the agent connected to the client? */
|
|
122
|
+
isConnected: false;
|
|
123
|
+
/**
|
|
124
|
+
* Could the client be listening for user speech?
|
|
125
|
+
*
|
|
126
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
127
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
128
|
+
* */
|
|
129
|
+
canListen: false;
|
|
130
|
+
/** Has the client disconnected from the agent either for an expected or unexpected reason? */
|
|
131
|
+
isFinished: false;
|
|
132
|
+
/** Is the agent currently connecting or setting itself up? */
|
|
133
|
+
isPending: true;
|
|
134
|
+
cameraTrack: undefined;
|
|
135
|
+
microphoneTrack: undefined;
|
|
136
|
+
};
|
|
137
|
+
type AgentStateDisconnected = AgentStateCommon & {
|
|
138
|
+
state: 'disconnected';
|
|
139
|
+
failureReasons: null;
|
|
140
|
+
/** The client's assigned identity, coming from the JWT token. */
|
|
141
|
+
identity: undefined;
|
|
142
|
+
name: undefined;
|
|
143
|
+
metadata: undefined;
|
|
144
|
+
/** Is the agent connected to the client? */
|
|
145
|
+
isConnected: false;
|
|
146
|
+
/**
|
|
147
|
+
* Could the client be listening for user speech?
|
|
148
|
+
*
|
|
149
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
150
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
151
|
+
* */
|
|
152
|
+
canListen: false;
|
|
153
|
+
/** Has the client disconnected from the agent either for an expected or unexpected reason? */
|
|
154
|
+
isFinished: true;
|
|
155
|
+
/** Is the agent currently connecting or setting itself up? */
|
|
156
|
+
isPending: false;
|
|
157
|
+
cameraTrack: undefined;
|
|
158
|
+
microphoneTrack: undefined;
|
|
159
|
+
};
|
|
160
|
+
type AgentStateFailed = AgentStateCommon & {
|
|
161
|
+
state: 'failed';
|
|
162
|
+
failureReasons: Array<string>;
|
|
163
|
+
/** The client's assigned identity, coming from the JWT token. */
|
|
164
|
+
identity: undefined;
|
|
165
|
+
name: undefined;
|
|
166
|
+
metadata: undefined;
|
|
167
|
+
/** Is the agent connected to the client? */
|
|
168
|
+
isConnected: false;
|
|
169
|
+
/**
|
|
170
|
+
* Could the client be listening for user speech?
|
|
171
|
+
*
|
|
172
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
173
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
174
|
+
* */
|
|
175
|
+
canListen: false;
|
|
176
|
+
/** Has the client disconnected from the agent either for an expected or unexpected reason? */
|
|
177
|
+
isFinished: true;
|
|
178
|
+
/** Is the agent currently connecting or setting itself up? */
|
|
179
|
+
isPending: false;
|
|
180
|
+
cameraTrack: undefined;
|
|
181
|
+
microphoneTrack: undefined;
|
|
182
|
+
};
|
|
183
|
+
type AgentActions = {
|
|
184
|
+
/** Returns a promise that resolves once the agent is connected and available for user input */
|
|
185
|
+
waitUntilConnected: (signal?: AbortSignal) => Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* Returns a promise that resolves once the client could be listening for user speech (`canListen` is true)
|
|
188
|
+
*
|
|
189
|
+
* Note that this may not mean that the agent is actually connected - the audio pre-connect
|
|
190
|
+
* buffer could be active and recording user input before the agent actually connects.
|
|
191
|
+
* */
|
|
192
|
+
waitUntilCouldBeListening: (signal?: AbortSignal) => Promise<void>;
|
|
193
|
+
/** Returns a promise that resolves once the client has disconnected from the agent either for an expected or unexpected reason. */
|
|
194
|
+
waitUntilFinished: (signal?: AbortSignal) => Promise<void>;
|
|
195
|
+
/** Returns a promise that resolves once the agent has published a camera track */
|
|
196
|
+
waitUntilCamera: (signal?: AbortSignal) => Promise<TrackReference>;
|
|
197
|
+
/** Returns a promise that resolves once the agent has published a microphone track */
|
|
198
|
+
waitUntilMicrophone: (signal?: AbortSignal) => Promise<TrackReference>;
|
|
199
|
+
};
|
|
200
|
+
type AgentStateCases = AgentStateConnecting | AgentStateDisconnected | AgentStateAvailable | AgentStatePreConnectBuffering | AgentStateUnAvailable | AgentStateFailed;
|
|
201
|
+
/** @beta */
|
|
202
|
+
export type UseAgentReturn = AgentStateCases & AgentActions;
|
|
203
|
+
/** Internal hook used by useSession to store global agent state */
|
|
204
|
+
export declare const useAgentTimeoutIdStore: () => {
|
|
205
|
+
agentTimeoutFailureReason: string | null;
|
|
206
|
+
startAgentTimeout: (agentConnectTimeoutMilliseconds?: number) => void;
|
|
207
|
+
clearAgentTimeout: () => void;
|
|
208
|
+
clearAgentTimeoutFailureReason: () => void;
|
|
209
|
+
updateAgentTimeoutState: (agentState: AgentState) => void;
|
|
210
|
+
updateAgentTimeoutParticipantExists: (agentParticipantExists: boolean) => void;
|
|
211
|
+
};
|
|
212
|
+
type SessionStub = Pick<UseSessionReturn, 'connectionState' | 'room' | 'internal'>;
|
|
213
|
+
/**
|
|
214
|
+
* useAgent encapculates all agent state, normalizing some quirks around how LiveKit Agents work.
|
|
215
|
+
* @beta
|
|
216
|
+
*/
|
|
217
|
+
export declare function useAgent(session?: SessionStub): UseAgentReturn;
|
|
218
|
+
export {};
|
|
219
|
+
//# sourceMappingURL=useAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAgent.d.ts","sourceRoot":"","sources":["../../src/hooks/useAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Room } from 'livekit-client';
|
|
2
|
+
/**
|
|
3
|
+
* In many browsers to start audio playback, the user must perform a user-initiated event such as clicking a button.
|
|
4
|
+
* The `useAudioPlayback` hook returns an object with a boolean `canPlayAudio` flag that indicates whether audio
|
|
5
|
+
* playback is allowed in the current context, as well as a `startAudio` function that can be called in a button
|
|
6
|
+
* `onClick` callback to start audio playback in the current context.
|
|
7
|
+
*
|
|
8
|
+
* @see Autoplay policy on MDN web docs for more info: {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Best_practices#autoplay_policy}
|
|
9
|
+
* @alpha
|
|
10
|
+
*/
|
|
11
|
+
export declare function useAudioPlayback(room?: Room): {
|
|
12
|
+
canPlayAudio: boolean;
|
|
13
|
+
startAudio: () => Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useAudioPlayback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAudioPlayback.d.ts","sourceRoot":"","sources":["../../src/hooks/useAudioPlayback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAM3C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG;IAC7C,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC,CAeA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChatOptions, ReceivedChatMessage } from '@livekit/components-core';
|
|
2
|
+
import { Room } from 'livekit-client';
|
|
3
|
+
/**
|
|
4
|
+
* The `useChat` hook provides chat functionality for a LiveKit room.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Message history is not persisted and will be lost if the component is refreshed.
|
|
8
|
+
* You may want to persist message history in the browser, a cache or a database.
|
|
9
|
+
*
|
|
10
|
+
* @returns An object containing:
|
|
11
|
+
* - `chatMessages` - Array of received chat messages
|
|
12
|
+
* - `send` - Function to send a new message
|
|
13
|
+
* - `isSending` - Boolean indicating if a message is currently being sent
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```tsx
|
|
17
|
+
* function ChatComponent() {
|
|
18
|
+
* const { chatMessages, send, isSending } = useChat();
|
|
19
|
+
*
|
|
20
|
+
* return (
|
|
21
|
+
* <div>
|
|
22
|
+
* {chatMessages.map((msg) => (
|
|
23
|
+
* <div key={msg.timestamp}>
|
|
24
|
+
* {msg.from?.identity}: {msg.message}
|
|
25
|
+
* </div>
|
|
26
|
+
* ))}
|
|
27
|
+
* <button disabled={isSending} onClick={() => send("Hello!")}>
|
|
28
|
+
* Send Message
|
|
29
|
+
* </button>
|
|
30
|
+
* </div>
|
|
31
|
+
* );
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare function useChat(options?: ChatOptions & {
|
|
37
|
+
room?: Room;
|
|
38
|
+
}): {
|
|
39
|
+
send: (message: string, options?: import('livekit-client').SendTextOptions) => Promise<ReceivedChatMessage>;
|
|
40
|
+
chatMessages: ReceivedChatMessage[];
|
|
41
|
+
isSending: boolean;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=useChat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../src/hooks/useChat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAmB,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAE;;;;EAe9D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/** @public */
|
|
3
|
+
export interface UseChatToggleProps {
|
|
4
|
+
props: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The `useChatToggle` hook provides state and functions for toggling the chat window.
|
|
8
|
+
* @remarks
|
|
9
|
+
* Depends on the `LayoutContext` to work properly.
|
|
10
|
+
* @see {@link ChatToggle}, {@link Chat}
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare function useChatToggle({ props }: UseChatToggleProps): {
|
|
14
|
+
mergedProps: React.ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
15
|
+
className: string;
|
|
16
|
+
onClick: () => void;
|
|
17
|
+
'aria-pressed': string;
|
|
18
|
+
'data-lk-unread-msgs': string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useChatToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChatToggle.d.ts","sourceRoot":"","sources":["../../src/hooks/useChatToggle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,cAAc;AACd,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;CACtD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB;;;;;;;EAoB1D"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ClearPinButtonProps } from '../components';
|
|
2
|
+
/**
|
|
3
|
+
* The `useClearPinButton` hook provides props for the {@link ClearPinButton}
|
|
4
|
+
* or your custom implementation of it component. It adds the `onClick` handler
|
|
5
|
+
* to signal the `LayoutContext` that the tile in focus should be cleared.
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export declare function useClearPinButton(props: ClearPinButtonProps): {
|
|
9
|
+
buttonProps: ClearPinButtonProps & {
|
|
10
|
+
className: string;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useClearPinButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClearPinButton.d.ts","sourceRoot":"","sources":["../../src/hooks/useClearPinButton.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;;;;;;EAgB3D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Participant } from 'livekit-client';
|
|
2
|
+
/** @public */
|
|
3
|
+
export interface ConnectionQualityIndicatorOptions {
|
|
4
|
+
participant?: Participant;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* The `useConnectionQualityIndicator` hook provides props for the `ConnectionQualityIndicator` or your custom implementation of it component.
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const { quality } = useConnectionQualityIndicator();
|
|
11
|
+
* // or
|
|
12
|
+
* const { quality } = useConnectionQualityIndicator({ participant });
|
|
13
|
+
* ```
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare function useConnectionQualityIndicator(options?: ConnectionQualityIndicatorOptions): {
|
|
17
|
+
className: "lk-connection-quality";
|
|
18
|
+
quality: import('livekit-client').ConnectionQuality;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useConnectionQualityIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectionQualityIndicator.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectionQualityIndicator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,cAAc;AACd,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,GAAE,iCAAsC;;;EAW5F"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Room } from 'livekit-client';
|
|
2
|
+
/**
|
|
3
|
+
* The `useConnectionState` hook allows you to simply implement your own `ConnectionState` component.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* const connectionState = useConnectionState(room);
|
|
8
|
+
* ```
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export declare function useConnectionState(room?: Room): import('livekit-client').ConnectionState;
|
|
12
|
+
//# sourceMappingURL=useConnectionStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnectionStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnectionStatus.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAK3C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,4CAM7C"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ReceivedDataMessage } from '@livekit/components-core';
|
|
2
|
+
import { DataPublishOptions } from 'livekit-client';
|
|
3
|
+
type UseDataChannelReturnType<T extends string | undefined = undefined> = {
|
|
4
|
+
isSending: boolean;
|
|
5
|
+
send: (payload: Uint8Array, options: DataPublishOptions) => Promise<void>;
|
|
6
|
+
message: ReceivedDataMessage<T> | undefined;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The `useDataChannel` hook returns the ability to send and receive messages.
|
|
10
|
+
* Pass an optional `topic` to narrow down which messages are returned in the messages array.
|
|
11
|
+
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* There is only one data channel. Passing a `topic` does not open a new data channel.
|
|
14
|
+
* It is only used to filter out messages with no or a different `topic`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Send messages to all participants via the 'chat' topic.
|
|
19
|
+
* const { message: latestMessage, send } = useDataChannel('chat', (msg) => console.log("message received", msg));
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* // Receive all messages (no topic filtering)
|
|
25
|
+
* const { message: latestMessage, send } = useDataChannel((msg) => console.log("message received", msg));
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export declare function useDataChannel<T extends string>(topic: T, onMessage?: (msg: ReceivedDataMessage<T>) => void): UseDataChannelReturnType<T>;
|
|
31
|
+
/**
|
|
32
|
+
* Overload for `useDataChannel` without a topic. See {@link (useDataChannel:1)} for information and usage examples.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare function useDataChannel(onMessage?: (msg: ReceivedDataMessage) => void): UseDataChannelReturnType;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=useDataChannel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataChannel.d.ts","sourceRoot":"","sources":["../../src/hooks/useDataChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIzD,KAAK,wBAAwB,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,IAAI;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAC7C,KAAK,EAAE,CAAC,EACR,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAChD,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,IAAI,GAC7C,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DisconnectButtonProps } from '../components';
|
|
2
|
+
/**
|
|
3
|
+
* The `useDisconnectButton` hook is used to implement the `DisconnectButton` or your
|
|
4
|
+
* custom implementation of it. It adds onClick handler to the button to disconnect
|
|
5
|
+
* from the room.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* const { buttonProps } = useDisconnectButton(buttonProps);
|
|
10
|
+
* return <button {...buttonProps}>Disconnect</button>;
|
|
11
|
+
* ```
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
export declare function useDisconnectButton(props: DisconnectButtonProps): {
|
|
15
|
+
buttonProps: DisconnectButtonProps & {
|
|
16
|
+
className: string;
|
|
17
|
+
onClick: () => void;
|
|
18
|
+
disabled: boolean;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useDisconnectButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisconnectButton.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnectButton.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAK3D;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB;;;;;;EAe/D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as TypedEventEmitter, EventMap } from 'typed-emitter';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
/** @public */
|
|
4
|
+
export declare function useEvents<Emitter extends TypedEventEmitter<EventMap>, EmitterEventMap extends Emitter extends TypedEventEmitter<infer EM> ? EM : never, Event extends Parameters<Emitter['on']>[0], Callback extends EmitterEventMap[Event]>(instance: Emitter | {
|
|
5
|
+
internal: {
|
|
6
|
+
emitter: Emitter;
|
|
7
|
+
};
|
|
8
|
+
} | null | undefined, event: Event, handlerFn: Callback | undefined, dependencies?: React.DependencyList): void;
|
|
9
|
+
//# sourceMappingURL=useEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEvents.d.ts","sourceRoot":"","sources":["../../src/hooks/useEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5D,cAAc;AACd,wBAAgB,SAAS,CACvB,OAAO,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EAC3C,eAAe,SAAS,OAAO,SAAS,iBAAiB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,EAChF,KAAK,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C,QAAQ,SAAS,eAAe,CAAC,KAAK,CAAC,EAEvC,QAAQ,EAAE,OAAO,GAAG;IAAE,QAAQ,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EACzE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,QAAQ,GAAG,SAAS,EAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,cAAc,QAyBpC"}
|