@stream-io/video-react-sdk 0.3.41 → 0.3.43
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/CHANGELOG.md +23 -0
- package/README.md +1 -1
- package/dist/index.cjs.js +2737 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.es.js +2633 -0
- package/dist/index.es.js.map +1 -0
- package/dist/src/components/Button/CompositeButton.d.ts +1 -1
- package/dist/src/core/components/ParticipantView/ParticipantView.d.ts +1 -1
- package/dist/src/hooks/useFloatingUIPreset.d.ts +1 -1
- package/index.ts +3 -3
- package/package.json +17 -15
- package/src/components/Permissions/PermissionRequests.tsx +1 -1
- package/dist/index.js +0 -18
- package/dist/index.js.map +0 -1
- package/dist/src/components/Avatar/Avatar.js +0 -24
- package/dist/src/components/Avatar/Avatar.js.map +0 -1
- package/dist/src/components/Avatar/index.js +0 -2
- package/dist/src/components/Avatar/index.js.map +0 -1
- package/dist/src/components/Button/CompositeButton.js +0 -13
- package/dist/src/components/Button/CompositeButton.js.map +0 -1
- package/dist/src/components/Button/CopyToClipboardButton.js +0 -54
- package/dist/src/components/Button/CopyToClipboardButton.js.map +0 -1
- package/dist/src/components/Button/IconButton.js +0 -26
- package/dist/src/components/Button/IconButton.js.map +0 -1
- package/dist/src/components/Button/TextButton.js +0 -17
- package/dist/src/components/Button/TextButton.js.map +0 -1
- package/dist/src/components/Button/index.js +0 -5
- package/dist/src/components/Button/index.js.map +0 -1
- package/dist/src/components/CallControls/AcceptCallButton.js +0 -27
- package/dist/src/components/CallControls/AcceptCallButton.js.map +0 -1
- package/dist/src/components/CallControls/CallControls.js +0 -5
- package/dist/src/components/CallControls/CallControls.js.map +0 -1
- package/dist/src/components/CallControls/CallStatsButton.js +0 -8
- package/dist/src/components/CallControls/CallStatsButton.js.map +0 -1
- package/dist/src/components/CallControls/CancelCallButton.js +0 -27
- package/dist/src/components/CallControls/CancelCallButton.js.map +0 -1
- package/dist/src/components/CallControls/ReactionsButton.js +0 -45
- package/dist/src/components/CallControls/ReactionsButton.js.map +0 -1
- package/dist/src/components/CallControls/RecordCallButton.js +0 -22
- package/dist/src/components/CallControls/RecordCallButton.js.map +0 -1
- package/dist/src/components/CallControls/ScreenShareButton.js +0 -15
- package/dist/src/components/CallControls/ScreenShareButton.js.map +0 -1
- package/dist/src/components/CallControls/ToggleAudioButton.js +0 -24
- package/dist/src/components/CallControls/ToggleAudioButton.js.map +0 -1
- package/dist/src/components/CallControls/ToggleAudioOutputButton.js +0 -10
- package/dist/src/components/CallControls/ToggleAudioOutputButton.js.map +0 -1
- package/dist/src/components/CallControls/ToggleVideoButton.js +0 -24
- package/dist/src/components/CallControls/ToggleVideoButton.js.map +0 -1
- package/dist/src/components/CallControls/index.js +0 -11
- package/dist/src/components/CallControls/index.js.map +0 -1
- package/dist/src/components/CallParticipantsList/BlockedUserListing.js +0 -18
- package/dist/src/components/CallParticipantsList/BlockedUserListing.js.map +0 -1
- package/dist/src/components/CallParticipantsList/CallParticipantListHeader.js +0 -10
- package/dist/src/components/CallParticipantsList/CallParticipantListHeader.js.map +0 -1
- package/dist/src/components/CallParticipantsList/CallParticipantListing.js +0 -4
- package/dist/src/components/CallParticipantsList/CallParticipantListing.js.map +0 -1
- package/dist/src/components/CallParticipantsList/CallParticipantListingItem.js +0 -128
- package/dist/src/components/CallParticipantsList/CallParticipantListingItem.js.map +0 -1
- package/dist/src/components/CallParticipantsList/CallParticipantsList.js +0 -83
- package/dist/src/components/CallParticipantsList/CallParticipantsList.js.map +0 -1
- package/dist/src/components/CallParticipantsList/EmptyParticipantSearchList.js +0 -7
- package/dist/src/components/CallParticipantsList/EmptyParticipantSearchList.js.map +0 -1
- package/dist/src/components/CallParticipantsList/index.js +0 -4
- package/dist/src/components/CallParticipantsList/index.js.map +0 -1
- package/dist/src/components/CallPreview/CallPreview.js +0 -21
- package/dist/src/components/CallPreview/CallPreview.js.map +0 -1
- package/dist/src/components/CallPreview/index.js +0 -2
- package/dist/src/components/CallPreview/index.js.map +0 -1
- package/dist/src/components/CallRecordingList/CallRecordingList.js +0 -9
- package/dist/src/components/CallRecordingList/CallRecordingList.js.map +0 -1
- package/dist/src/components/CallRecordingList/CallRecordingListHeader.js +0 -6
- package/dist/src/components/CallRecordingList/CallRecordingListHeader.js.map +0 -1
- package/dist/src/components/CallRecordingList/CallRecordingListItem.js +0 -11
- package/dist/src/components/CallRecordingList/CallRecordingListItem.js.map +0 -1
- package/dist/src/components/CallRecordingList/EmptyCallRecordingListing.js +0 -5
- package/dist/src/components/CallRecordingList/EmptyCallRecordingListing.js.map +0 -1
- package/dist/src/components/CallRecordingList/LoadingCallRecordingListing.js +0 -7
- package/dist/src/components/CallRecordingList/LoadingCallRecordingListing.js.map +0 -1
- package/dist/src/components/CallRecordingList/index.js +0 -6
- package/dist/src/components/CallRecordingList/index.js.map +0 -1
- package/dist/src/components/CallStats/CallStats.js +0 -70
- package/dist/src/components/CallStats/CallStats.js.map +0 -1
- package/dist/src/components/CallStats/CallStatsLatencyChart.js +0 -39
- package/dist/src/components/CallStats/CallStatsLatencyChart.js.map +0 -1
- package/dist/src/components/CallStats/index.js +0 -3
- package/dist/src/components/CallStats/index.js.map +0 -1
- package/dist/src/components/Debug/DebugParticipantPublishQuality.js +0 -46
- package/dist/src/components/Debug/DebugParticipantPublishQuality.js.map +0 -1
- package/dist/src/components/Debug/DebugStatsView.js +0 -66
- package/dist/src/components/Debug/DebugStatsView.js.map +0 -1
- package/dist/src/components/Debug/useIsDebugMode.js +0 -18
- package/dist/src/components/Debug/useIsDebugMode.js.map +0 -1
- package/dist/src/components/DeviceSettings/DeviceSelector.js +0 -26
- package/dist/src/components/DeviceSettings/DeviceSelector.js.map +0 -1
- package/dist/src/components/DeviceSettings/DeviceSelectorAudio.js +0 -20
- package/dist/src/components/DeviceSettings/DeviceSelectorAudio.js.map +0 -1
- package/dist/src/components/DeviceSettings/DeviceSelectorVideo.js +0 -11
- package/dist/src/components/DeviceSettings/DeviceSelectorVideo.js.map +0 -1
- package/dist/src/components/DeviceSettings/DeviceSettings.js +0 -15
- package/dist/src/components/DeviceSettings/DeviceSettings.js.map +0 -1
- package/dist/src/components/DeviceSettings/index.js +0 -5
- package/dist/src/components/DeviceSettings/index.js.map +0 -1
- package/dist/src/components/Icon/Icon.js +0 -4
- package/dist/src/components/Icon/Icon.js.map +0 -1
- package/dist/src/components/Icon/index.js +0 -2
- package/dist/src/components/Icon/index.js.map +0 -1
- package/dist/src/components/LoadingIndicator/LoadingIndicator.js +0 -6
- package/dist/src/components/LoadingIndicator/LoadingIndicator.js.map +0 -1
- package/dist/src/components/LoadingIndicator/index.js +0 -2
- package/dist/src/components/LoadingIndicator/index.js.map +0 -1
- package/dist/src/components/Menu/GenericMenu.js +0 -20
- package/dist/src/components/Menu/GenericMenu.js.map +0 -1
- package/dist/src/components/Menu/MenuToggle.js +0 -40
- package/dist/src/components/Menu/MenuToggle.js.map +0 -1
- package/dist/src/components/Menu/index.js +0 -3
- package/dist/src/components/Menu/index.js.map +0 -1
- package/dist/src/components/Notification/Notification.js +0 -25
- package/dist/src/components/Notification/Notification.js.map +0 -1
- package/dist/src/components/Notification/PermissionNotification.js +0 -26
- package/dist/src/components/Notification/PermissionNotification.js.map +0 -1
- package/dist/src/components/Notification/SpeakingWhileMutedNotification.js +0 -50
- package/dist/src/components/Notification/SpeakingWhileMutedNotification.js.map +0 -1
- package/dist/src/components/Notification/index.js +0 -4
- package/dist/src/components/Notification/index.js.map +0 -1
- package/dist/src/components/Permissions/PermissionRequests.js +0 -122
- package/dist/src/components/Permissions/PermissionRequests.js.map +0 -1
- package/dist/src/components/Permissions/index.js +0 -2
- package/dist/src/components/Permissions/index.js.map +0 -1
- package/dist/src/components/Reaction/Reaction.js +0 -29
- package/dist/src/components/Reaction/Reaction.js.map +0 -1
- package/dist/src/components/Reaction/index.js +0 -2
- package/dist/src/components/Reaction/index.js.map +0 -1
- package/dist/src/components/RingingCall/RingingCall.js +0 -45
- package/dist/src/components/RingingCall/RingingCall.js.map +0 -1
- package/dist/src/components/RingingCall/RingingCallControls.js +0 -14
- package/dist/src/components/RingingCall/RingingCallControls.js.map +0 -1
- package/dist/src/components/RingingCall/index.js +0 -3
- package/dist/src/components/RingingCall/index.js.map +0 -1
- package/dist/src/components/Search/SearchInput.js +0 -34
- package/dist/src/components/Search/SearchInput.js.map +0 -1
- package/dist/src/components/Search/SearchResults.js +0 -12
- package/dist/src/components/Search/SearchResults.js.map +0 -1
- package/dist/src/components/Search/hooks/index.js +0 -2
- package/dist/src/components/Search/hooks/index.js.map +0 -1
- package/dist/src/components/Search/hooks/useSearch.js +0 -39
- package/dist/src/components/Search/hooks/useSearch.js.map +0 -1
- package/dist/src/components/Search/index.js +0 -3
- package/dist/src/components/Search/index.js.map +0 -1
- package/dist/src/components/StreamTheme/StreamTheme.js +0 -18
- package/dist/src/components/StreamTheme/StreamTheme.js.map +0 -1
- package/dist/src/components/StreamTheme/index.js +0 -2
- package/dist/src/components/StreamTheme/index.js.map +0 -1
- package/dist/src/components/Tooltip/Tooltip.js +0 -22
- package/dist/src/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/src/components/Tooltip/WithTooltip.js +0 -23
- package/dist/src/components/Tooltip/WithTooltip.js.map +0 -1
- package/dist/src/components/Tooltip/hooks/index.js +0 -2
- package/dist/src/components/Tooltip/hooks/index.js.map +0 -1
- package/dist/src/components/Tooltip/hooks/useEnterLeaveHandlers.js +0 -14
- package/dist/src/components/Tooltip/hooks/useEnterLeaveHandlers.js.map +0 -1
- package/dist/src/components/Tooltip/index.js +0 -3
- package/dist/src/components/Tooltip/index.js.map +0 -1
- package/dist/src/components/Video/VideoPreview.js +0 -75
- package/dist/src/components/Video/VideoPreview.js.map +0 -1
- package/dist/src/components/Video/index.js +0 -5
- package/dist/src/components/Video/index.js.map +0 -1
- package/dist/src/components/index.js +0 -18
- package/dist/src/components/index.js.map +0 -1
- package/dist/src/core/components/Audio/Audio.js +0 -30
- package/dist/src/core/components/Audio/Audio.js.map +0 -1
- package/dist/src/core/components/Audio/ParticipantsAudio.js +0 -21
- package/dist/src/core/components/Audio/ParticipantsAudio.js.map +0 -1
- package/dist/src/core/components/Audio/index.js +0 -3
- package/dist/src/core/components/Audio/index.js.map +0 -1
- package/dist/src/core/components/CallLayout/LivestreamLayout.js +0 -89
- package/dist/src/core/components/CallLayout/LivestreamLayout.js.map +0 -1
- package/dist/src/core/components/CallLayout/PaginatedGridLayout.js +0 -47
- package/dist/src/core/components/CallLayout/PaginatedGridLayout.js.map +0 -1
- package/dist/src/core/components/CallLayout/SpeakerLayout.js +0 -71
- package/dist/src/core/components/CallLayout/SpeakerLayout.js.map +0 -1
- package/dist/src/core/components/CallLayout/hooks.js +0 -41
- package/dist/src/core/components/CallLayout/hooks.js.map +0 -1
- package/dist/src/core/components/CallLayout/index.js +0 -4
- package/dist/src/core/components/CallLayout/index.js.map +0 -1
- package/dist/src/core/components/ParticipantView/DefaultParticipantViewUI.js +0 -48
- package/dist/src/core/components/ParticipantView/DefaultParticipantViewUI.js.map +0 -1
- package/dist/src/core/components/ParticipantView/ParticipantView.js +0 -54
- package/dist/src/core/components/ParticipantView/ParticipantView.js.map +0 -1
- package/dist/src/core/components/ParticipantView/index.js +0 -3
- package/dist/src/core/components/ParticipantView/index.js.map +0 -1
- package/dist/src/core/components/StreamCall/StreamCall.js +0 -7
- package/dist/src/core/components/StreamCall/StreamCall.js.map +0 -1
- package/dist/src/core/components/StreamCall/index.js +0 -2
- package/dist/src/core/components/StreamCall/index.js.map +0 -1
- package/dist/src/core/components/StreamVideo/StreamVideo.js +0 -7
- package/dist/src/core/components/StreamVideo/StreamVideo.js.map +0 -1
- package/dist/src/core/components/StreamVideo/index.js +0 -2
- package/dist/src/core/components/StreamVideo/index.js.map +0 -1
- package/dist/src/core/components/Video/BaseVideo.js +0 -48
- package/dist/src/core/components/Video/BaseVideo.js.map +0 -1
- package/dist/src/core/components/Video/DefaultVideoPlaceholder.js +0 -9
- package/dist/src/core/components/Video/DefaultVideoPlaceholder.js.map +0 -1
- package/dist/src/core/components/Video/Video.js +0 -82
- package/dist/src/core/components/Video/Video.js.map +0 -1
- package/dist/src/core/components/Video/index.js +0 -3
- package/dist/src/core/components/Video/index.js.map +0 -1
- package/dist/src/core/components/index.js +0 -7
- package/dist/src/core/components/index.js.map +0 -1
- package/dist/src/core/contexts/MediaDevicesContext.js +0 -178
- package/dist/src/core/contexts/MediaDevicesContext.js.map +0 -1
- package/dist/src/core/contexts/index.js +0 -2
- package/dist/src/core/contexts/index.js.map +0 -1
- package/dist/src/core/hooks/index.js +0 -5
- package/dist/src/core/hooks/index.js.map +0 -1
- package/dist/src/core/hooks/useAudioPublisher.js +0 -114
- package/dist/src/core/hooks/useAudioPublisher.js.map +0 -1
- package/dist/src/core/hooks/useCalculateHardLimit.js +0 -56
- package/dist/src/core/hooks/useCalculateHardLimit.js.map +0 -1
- package/dist/src/core/hooks/useDevices.js +0 -172
- package/dist/src/core/hooks/useDevices.js.map +0 -1
- package/dist/src/core/hooks/useTrackElementVisibility.js +0 -15
- package/dist/src/core/hooks/useTrackElementVisibility.js.map +0 -1
- package/dist/src/core/hooks/useVideoPublisher.js +0 -139
- package/dist/src/core/hooks/useVideoPublisher.js.map +0 -1
- package/dist/src/core/index.js +0 -4
- package/dist/src/core/index.js.map +0 -1
- package/dist/src/hooks/index.js +0 -8
- package/dist/src/hooks/index.js.map +0 -1
- package/dist/src/hooks/useFloatingUIPreset.js +0 -30
- package/dist/src/hooks/useFloatingUIPreset.js.map +0 -1
- package/dist/src/hooks/useRequestPermission.js +0 -46
- package/dist/src/hooks/useRequestPermission.js.map +0 -1
- package/dist/src/hooks/useScrollPosition.js +0 -63
- package/dist/src/hooks/useScrollPosition.js.map +0 -1
- package/dist/src/hooks/useToggleAudioMuteState.js +0 -34
- package/dist/src/hooks/useToggleAudioMuteState.js.map +0 -1
- package/dist/src/hooks/useToggleCallRecording.js +0 -44
- package/dist/src/hooks/useToggleCallRecording.js.map +0 -1
- package/dist/src/hooks/useToggleScreenShare.js +0 -38
- package/dist/src/hooks/useToggleScreenShare.js.map +0 -1
- package/dist/src/hooks/useToggleVideoMuteState.js +0 -34
- package/dist/src/hooks/useToggleVideoMuteState.js.map +0 -1
- package/dist/src/translations/en.json +0 -73
- package/dist/src/translations/index.js +0 -3
- package/dist/src/translations/index.js.map +0 -1
- package/dist/src/types/components.js +0 -2
- package/dist/src/types/components.js.map +0 -1
- package/dist/src/types/index.js +0 -2
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/utilities/applyElementToRef.js +0 -8
- package/dist/src/utilities/applyElementToRef.js.map +0 -1
- package/dist/src/utilities/chunk.js +0 -5
- package/dist/src/utilities/chunk.js.map +0 -1
- package/dist/src/utilities/index.js +0 -4
- package/dist/src/utilities/index.js.map +0 -1
- package/dist/src/utilities/isComponentType.js +0 -7
- package/dist/src/utilities/isComponentType.js.map +0 -1
- package/dist/version.d.ts +0 -1
- package/dist/version.js +0 -2
- package/dist/version.js.map +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { ResponsiveLine } from '@nivo/line';
|
|
3
|
-
export const CallStatsLatencyChart = (props) => {
|
|
4
|
-
const { values } = props;
|
|
5
|
-
let max = 0;
|
|
6
|
-
const data = values.map((point) => {
|
|
7
|
-
const { y } = point;
|
|
8
|
-
max = Math.max(max, y);
|
|
9
|
-
return point;
|
|
10
|
-
});
|
|
11
|
-
return (_jsx("div", Object.assign({ className: "str-video__call-stats-line-chart-container" }, { children: _jsx(ResponsiveLine, { colors: { scheme: 'blues' }, data: [
|
|
12
|
-
{
|
|
13
|
-
id: 'Latency',
|
|
14
|
-
data: data,
|
|
15
|
-
},
|
|
16
|
-
], animate: false, margin: { top: 10, right: 5, bottom: 5, left: 30 }, enablePoints: true, enableGridX: false, enableGridY: true, enableSlices: "x", isInteractive: true, useMesh: false, xScale: { type: 'point' }, yScale: {
|
|
17
|
-
type: 'linear',
|
|
18
|
-
min: 0,
|
|
19
|
-
max: max < 220 ? 220 : max + 30,
|
|
20
|
-
nice: true,
|
|
21
|
-
}, theme: {
|
|
22
|
-
axis: {
|
|
23
|
-
ticks: {
|
|
24
|
-
text: {
|
|
25
|
-
fill: '#FCFCFD',
|
|
26
|
-
},
|
|
27
|
-
line: {
|
|
28
|
-
stroke: '#FCFCFD',
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
grid: {
|
|
33
|
-
line: {
|
|
34
|
-
strokeWidth: 0.1,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
} }) })));
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=CallStatsLatencyChart.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CallStatsLatencyChart.js","sourceRoot":"","sources":["../../../../src/components/CallStats/CallStatsLatencyChart.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAErC,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,CACL,4BAAK,SAAS,EAAC,4CAA4C,gBACzD,KAAC,cAAc,IACb,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAC3B,IAAI,EAAE;gBACJ;oBACE,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,IAAI;iBACX;aACF,EACD,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAClD,YAAY,QACZ,WAAW,EAAE,KAAK,EAClB,WAAW,QACX,YAAY,EAAC,GAAG,EAChB,aAAa,QACb,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EACzB,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;gBAC/B,IAAI,EAAE,IAAI;aACX,EACD,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,IAAI,EAAE,SAAS;yBAChB;wBACD,IAAI,EAAE;4BACJ,MAAM,EAAE,SAAS;yBAClB;qBACF;iBACF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,WAAW,EAAE,GAAG;qBACjB;iBACF;aACF,GACD,IACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/CallStats/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
export const DebugParticipantPublishQuality = (props) => {
|
|
4
|
-
const { call, participant } = props;
|
|
5
|
-
const [quality, setQuality] = useState();
|
|
6
|
-
const [publishStats, setPublishStats] = useState(() => ({
|
|
7
|
-
f: true,
|
|
8
|
-
h: true,
|
|
9
|
-
q: true,
|
|
10
|
-
}));
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
return call.on('changePublishQuality', (event) => {
|
|
13
|
-
if (event.eventPayload.oneofKind !== 'changePublishQuality')
|
|
14
|
-
return;
|
|
15
|
-
const { videoSenders } = event.eventPayload.changePublishQuality;
|
|
16
|
-
// FIXME OL: support additional layers (like screenshare)
|
|
17
|
-
const [videoLayer] = videoSenders.map(({ layers }) => {
|
|
18
|
-
return layers.map((l) => ({ [l.name]: l.active }));
|
|
19
|
-
});
|
|
20
|
-
setPublishStats((s) => (Object.assign(Object.assign({}, s), videoLayer)));
|
|
21
|
-
});
|
|
22
|
-
}, [call]);
|
|
23
|
-
return (_jsxs("select", Object.assign({ title: `Published tracks: ${JSON.stringify(publishStats)}`, value: quality, onChange: (e) => {
|
|
24
|
-
const value = e.target.value;
|
|
25
|
-
setQuality(value);
|
|
26
|
-
let w = 960;
|
|
27
|
-
let h = 540;
|
|
28
|
-
if (value === 'h') {
|
|
29
|
-
w = w / 2; // 480
|
|
30
|
-
h = h / 2; // 270
|
|
31
|
-
}
|
|
32
|
-
else if (value === 'q') {
|
|
33
|
-
w = w / 4; // 240
|
|
34
|
-
h = h / 4; // 135
|
|
35
|
-
}
|
|
36
|
-
call.updateSubscriptionsPartial('video', {
|
|
37
|
-
[participant.sessionId]: {
|
|
38
|
-
dimension: {
|
|
39
|
-
width: w,
|
|
40
|
-
height: h,
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
});
|
|
44
|
-
} }, { children: [_jsx("option", Object.assign({ value: "f" }, { children: "High (f)" })), _jsx("option", Object.assign({ value: "h" }, { children: "Medium (h)" })), _jsx("option", Object.assign({ value: "q" }, { children: "Low (q)" }))] })));
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=DebugParticipantPublishQuality.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DebugParticipantPublishQuality.js","sourceRoot":"","sources":["../../../../src/components/Debug/DebugParticipantPublishQuality.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAG9C,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAU,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;KACR,CAAC,CAAC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,YAAY,CAAC,SAAS,KAAK,sBAAsB;gBAAE,OAAO;YACpE,MAAM,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACjE,yDAAyD;YACzD,MAAM,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;gBACnD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iCAClB,CAAC,GACD,UAAU,EACb,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,gCACE,KAAK,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAC1D,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,IAAI,CAAC,GAAG,GAAG,CAAC;YACZ,IAAI,KAAK,KAAK,GAAG,EAAE;gBACjB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;gBACjB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;aAClB;iBAAM,IAAI,KAAK,KAAK,GAAG,EAAE;gBACxB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;gBACjB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;aAClB;YACD,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE;gBACvC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;oBACvB,SAAS,EAAE;wBACT,KAAK,EAAE,CAAC;wBACR,MAAM,EAAE,CAAC;qBACV;iBACF;aACF,CAAC,CAAC;QACL,CAAC,iBAED,+BAAQ,KAAK,EAAC,GAAG,8BAAkB,EACnC,+BAAQ,KAAK,EAAC,GAAG,gCAAoB,EACrC,+BAAQ,KAAK,EAAC,GAAG,6BAAiB,KAC3B,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef, useState } from 'react';
|
|
3
|
-
import { useFloatingUIPreset } from '../../hooks';
|
|
4
|
-
import { StatCard } from '../CallStats';
|
|
5
|
-
import { useCallStateHooks } from '@stream-io/video-react-bindings';
|
|
6
|
-
export const DebugStatsView = (props) => {
|
|
7
|
-
var _a;
|
|
8
|
-
const { call, mediaStream, sessionId, userId } = props;
|
|
9
|
-
const { useCallStatsReport } = useCallStateHooks();
|
|
10
|
-
const callStatsReport = useCallStatsReport();
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
call.startReportingStatsFor(sessionId);
|
|
13
|
-
return () => {
|
|
14
|
-
call.stopReportingStatsFor(sessionId);
|
|
15
|
-
};
|
|
16
|
-
}, [call, sessionId]);
|
|
17
|
-
const reportForTracks = callStatsReport === null || callStatsReport === void 0 ? void 0 : callStatsReport.participants[sessionId];
|
|
18
|
-
const trackStats = reportForTracks === null || reportForTracks === void 0 ? void 0 : reportForTracks.flatMap((report) => report.streams);
|
|
19
|
-
const previousWidth = useRef({ f: 0, h: 0, q: 0 });
|
|
20
|
-
const previousHeight = useRef({ f: 0, h: 0, q: 0 });
|
|
21
|
-
trackStats === null || trackStats === void 0 ? void 0 : trackStats.forEach((track) => {
|
|
22
|
-
if (track.kind !== 'video')
|
|
23
|
-
return;
|
|
24
|
-
const { frameWidth = 0, frameHeight = 0, rid = '' } = track;
|
|
25
|
-
if (frameWidth !== previousWidth.current[rid] ||
|
|
26
|
-
frameHeight !== previousHeight.current[rid]) {
|
|
27
|
-
const trackSize = `${frameWidth}x${frameHeight}`;
|
|
28
|
-
console.log(`Track stats (${userId}/${sessionId}): ${rid}(${trackSize})`);
|
|
29
|
-
previousWidth.current[rid] = frameWidth;
|
|
30
|
-
previousHeight.current[rid] = frameHeight;
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
const { refs, strategy, y, x } = useFloatingUIPreset({
|
|
34
|
-
placement: 'top',
|
|
35
|
-
strategy: 'absolute',
|
|
36
|
-
});
|
|
37
|
-
const [isPopperOpen, setIsPopperOpen] = useState(false);
|
|
38
|
-
const [videoTrack] = (_a = mediaStream === null || mediaStream === void 0 ? void 0 : mediaStream.getVideoTracks()) !== null && _a !== void 0 ? _a : [];
|
|
39
|
-
const settings = videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.getSettings();
|
|
40
|
-
return (_jsxs(_Fragment, { children: [_jsx("span", { className: "str-video__debug__track-stats-icon", tabIndex: 0, ref: refs.setReference, title: settings &&
|
|
41
|
-
`${settings.width}x${settings.height}@${Math.round(settings.frameRate || 0)}`, onClick: () => {
|
|
42
|
-
setIsPopperOpen((v) => !v);
|
|
43
|
-
} }), isPopperOpen && (_jsxs("div", Object.assign({ className: "str-video__debug__track-stats str-video__call-stats", ref: refs.setFloating, style: {
|
|
44
|
-
position: strategy,
|
|
45
|
-
top: y !== null && y !== void 0 ? y : 0,
|
|
46
|
-
left: x !== null && x !== void 0 ? x : 0,
|
|
47
|
-
overflowY: 'auto',
|
|
48
|
-
} }, { children: [_jsx("h3", { children: "Participant stats" }), _jsx("div", Object.assign({ className: "str-video__call-stats__card-container" }, { children: trackStats === null || trackStats === void 0 ? void 0 : trackStats.map((track) => {
|
|
49
|
-
if (track.kind === 'video') {
|
|
50
|
-
return (_jsx(StatCard, { label: `${track.kind}: ${track.codec} ` +
|
|
51
|
-
(track.rid ? ` (${track.rid})` : ''), value: `${track.frameWidth || 0}x${track.frameHeight || 0}@${track.framesPerSecond || 0}fps` }, `${track.rid}/${track.ssrc}/${track.codec}/${track.kind}`));
|
|
52
|
-
}
|
|
53
|
-
else if (track.kind === 'audio') {
|
|
54
|
-
return (_jsx(StatCard, { label: track.codec || 'N/A', value: `Jitter: ${track.jitter || 0}ms` }, `${track.ssrc}/${track.codec}/${track.kind}`));
|
|
55
|
-
}
|
|
56
|
-
return null;
|
|
57
|
-
}).filter(Boolean) })), reportForTracks === null || reportForTracks === void 0 ? void 0 : reportForTracks.map((report, index) => (_jsx("pre", { children: JSON.stringify(unwrapStats(report.rawStats), null, 2) }, index)))] })))] }));
|
|
58
|
-
};
|
|
59
|
-
const unwrapStats = (rawStats) => {
|
|
60
|
-
const decodedStats = {};
|
|
61
|
-
rawStats === null || rawStats === void 0 ? void 0 : rawStats.forEach((s) => {
|
|
62
|
-
decodedStats[s.id] = s;
|
|
63
|
-
});
|
|
64
|
-
return decodedStats;
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=DebugStatsView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DebugStatsView.js","sourceRoot":"","sources":["../../../../src/components/Debug/DebugStatsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
2
|
-
const useQueryParams = () => {
|
|
3
|
-
return useMemo(() => typeof window === 'undefined'
|
|
4
|
-
? null
|
|
5
|
-
: new URLSearchParams(window.location.search), []);
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Internal purpose hook. Enables certain development mode tools.
|
|
9
|
-
*/
|
|
10
|
-
export const useIsDebugMode = () => {
|
|
11
|
-
const params = useQueryParams();
|
|
12
|
-
return !!(params === null || params === void 0 ? void 0 : params.get('debug'));
|
|
13
|
-
};
|
|
14
|
-
export const useDebugPreferredVideoCodec = () => {
|
|
15
|
-
const params = useQueryParams();
|
|
16
|
-
return params === null || params === void 0 ? void 0 : params.get('video_codec');
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=useIsDebugMode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useIsDebugMode.js","sourceRoot":"","sources":["../../../../src/components/Debug/useIsDebugMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,OAAO,MAAM,KAAK,WAAW;QAC3B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EACjD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,OAAO,CAAC,CAAA,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
const DeviceSelectorOption = ({ disabled, id, label, onChange, name, selected, defaultChecked, value, }) => {
|
|
4
|
-
return (_jsxs("label", Object.assign({ className: clsx('str-video__device-settings__option', {
|
|
5
|
-
'str-video__device-settings__option--selected': selected,
|
|
6
|
-
'str-video__device-settings__option--disabled': disabled,
|
|
7
|
-
}), htmlFor: id }, { children: [_jsx("input", { type: "radio", name: name, onChange: onChange, value: value, id: id, checked: selected, defaultChecked: defaultChecked, disabled: disabled }), label] })));
|
|
8
|
-
};
|
|
9
|
-
export const DeviceSelector = (props) => {
|
|
10
|
-
const { devices = [], selectedDeviceId: selectedDeviceFromProps, title, onChange, } = props;
|
|
11
|
-
const inputGroupName = title.replace(' ', '-').toLowerCase();
|
|
12
|
-
// sometimes the browser (Chrome) will report the system-default device
|
|
13
|
-
// with an id of 'default'. In case when it doesn't, we'll select the first
|
|
14
|
-
// available device.
|
|
15
|
-
let selectedDeviceId = selectedDeviceFromProps;
|
|
16
|
-
if (devices.length > 0 &&
|
|
17
|
-
!devices.find((d) => d.deviceId === selectedDeviceId)) {
|
|
18
|
-
selectedDeviceId = devices[0].deviceId;
|
|
19
|
-
}
|
|
20
|
-
return (_jsxs("div", Object.assign({ className: "str-video__device-settings__device-kind" }, { children: [_jsx("div", Object.assign({ className: "str-video__device-settings__device-selector-title" }, { children: title })), !devices.length ? (_jsx(DeviceSelectorOption, { id: `${inputGroupName}--default`, label: "Default", name: inputGroupName, defaultChecked: true, value: "default" })) : (devices.map((device) => {
|
|
21
|
-
return (_jsx(DeviceSelectorOption, { id: `${inputGroupName}--${device.deviceId}`, value: device.deviceId, label: device.label, onChange: (e) => {
|
|
22
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
|
|
23
|
-
}, name: inputGroupName, selected: device.deviceId === selectedDeviceId || devices.length === 1 }, device.deviceId));
|
|
24
|
-
}))] })));
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=DeviceSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSelector.js","sourceRoot":"","sources":["../../../../src/components/DeviceSettings/DeviceSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAcxB,MAAM,oBAAoB,GAAG,CAAC,EAC5B,QAAQ,EACR,EAAE,EACF,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,KAAK,GACqB,EAAE,EAAE;IAC9B,OAAO,CACL,+BACE,SAAS,EAAE,IAAI,CAAC,oCAAoC,EAAE;YACpD,8CAA8C,EAAE,QAAQ;YACxD,8CAA8C,EAAE,QAAQ;SACzD,CAAC,EACF,OAAO,EAAE,EAAE,iBAEX,gBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,QAAQ,EACjB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,GAClB,EACD,KAAK,KACA,CACT,CAAC;AACJ,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAK9B,EAAE,EAAE;IACH,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,gBAAgB,EAAE,uBAAuB,EACzC,KAAK,EACL,QAAQ,GACT,GAAG,KAAK,CAAC;IACV,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7D,uEAAuE;IACvE,2EAA2E;IAC3E,oBAAoB;IACpB,IAAI,gBAAgB,GAAG,uBAAuB,CAAC;IAC/C,IACE,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,EACrD;QACA,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;KACxC;IAED,OAAO,CACL,6BAAK,SAAS,EAAC,yCAAyC,iBACtD,4BAAK,SAAS,EAAC,mDAAmD,gBAC/D,KAAK,IACF,EACL,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CACjB,KAAC,oBAAoB,IACnB,EAAE,EAAE,GAAG,cAAc,WAAW,EAChC,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,cAAc,EACpB,cAAc,QACd,KAAK,EAAC,SAAS,GACf,CACH,CAAC,CAAC,CAAC,CACF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACrB,OAAO,CACL,KAAC,oBAAoB,IACnB,EAAE,EAAE,GAAG,cAAc,KAAK,MAAM,CAAC,QAAQ,EAAE,EAC3C,KAAK,EAAE,MAAM,CAAC,QAAQ,EACtB,KAAK,EAAE,MAAM,CAAC,KAAK,EAEnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC,EACD,IAAI,EAAE,cAAc,EACpB,QAAQ,EACN,MAAM,CAAC,QAAQ,KAAK,gBAAgB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IANzD,MAAM,CAAC,QAAQ,CAQpB,CACH,CAAC;YACJ,CAAC,CAAC,CACH,KACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { DeviceSelector } from './DeviceSelector';
|
|
3
|
-
import { useMediaDevices, useAudioInputDevices, useAudioOutputDevices, } from '../../core';
|
|
4
|
-
export const DeviceSelectorAudioInput = ({ title = 'Select a Mic', }) => {
|
|
5
|
-
const { selectedAudioInputDeviceId, switchDevice } = useMediaDevices();
|
|
6
|
-
const audioInputDevices = useAudioInputDevices();
|
|
7
|
-
return (_jsx(DeviceSelector, { devices: audioInputDevices, selectedDeviceId: selectedAudioInputDeviceId, onChange: (deviceId) => {
|
|
8
|
-
switchDevice('audioinput', deviceId);
|
|
9
|
-
}, title: title }));
|
|
10
|
-
};
|
|
11
|
-
export const DeviceSelectorAudioOutput = ({ title = 'Select Speakers', }) => {
|
|
12
|
-
const { isAudioOutputChangeSupported, selectedAudioOutputDeviceId, switchDevice, } = useMediaDevices();
|
|
13
|
-
const audioOutputDevices = useAudioOutputDevices();
|
|
14
|
-
if (!isAudioOutputChangeSupported)
|
|
15
|
-
return null;
|
|
16
|
-
return (_jsx(DeviceSelector, { devices: audioOutputDevices, selectedDeviceId: selectedAudioOutputDeviceId, onChange: (deviceId) => {
|
|
17
|
-
switchDevice('audiooutput', deviceId);
|
|
18
|
-
}, title: title }));
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=DeviceSelectorAudio.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSelectorAudio.js","sourceRoot":"","sources":["../../../../src/components/DeviceSettings/DeviceSelectorAudio.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAMpB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EACvC,KAAK,GAAG,cAAc,GACQ,EAAE,EAAE;IAClC,MAAM,EAAE,0BAA0B,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IACvE,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,OAAO,CACL,KAAC,cAAc,IACb,OAAO,EAAE,iBAAiB,EAC1B,gBAAgB,EAAE,0BAA0B,EAC5C,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC,EACD,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,EACxC,KAAK,GAAG,iBAAiB,GACM,EAAE,EAAE;IACnC,MAAM,EACJ,4BAA4B,EAC5B,2BAA2B,EAC3B,YAAY,GACb,GAAG,eAAe,EAAE,CAAC;IAEtB,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IAEnD,IAAI,CAAC,4BAA4B;QAAE,OAAO,IAAI,CAAC;IAE/C,OAAO,CACL,KAAC,cAAc,IACb,OAAO,EAAE,kBAAkB,EAC3B,gBAAgB,EAAE,2BAA2B,EAC7C,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC,EACD,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { DeviceSelector } from './DeviceSelector';
|
|
3
|
-
import { useMediaDevices, useVideoDevices } from '../../core';
|
|
4
|
-
export const DeviceSelectorVideo = ({ title }) => {
|
|
5
|
-
const { selectedVideoDeviceId, switchDevice } = useMediaDevices();
|
|
6
|
-
const videoDevices = useVideoDevices();
|
|
7
|
-
return (_jsx(DeviceSelector, { devices: videoDevices, selectedDeviceId: selectedVideoDeviceId, onChange: (deviceId) => {
|
|
8
|
-
switchDevice('videoinput', deviceId);
|
|
9
|
-
}, title: title || 'Select a Camera' }));
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=DeviceSelectorVideo.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSelectorVideo.js","sourceRoot":"","sources":["../../../../src/components/DeviceSettings/DeviceSelectorVideo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,KAAK,EAA4B,EAAE,EAAE;IACzE,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAClE,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,OAAO,CACL,KAAC,cAAc,IACb,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,qBAAqB,EACvC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACrB,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC,EACD,KAAK,EAAE,KAAK,IAAI,iBAAiB,GACjC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef } from 'react';
|
|
3
|
-
import { MenuToggle } from '../Menu';
|
|
4
|
-
import { DeviceSelectorAudioInput, DeviceSelectorAudioOutput, } from './DeviceSelectorAudio';
|
|
5
|
-
import { DeviceSelectorVideo } from './DeviceSelectorVideo';
|
|
6
|
-
import { IconButton } from '../Button';
|
|
7
|
-
import clsx from 'clsx';
|
|
8
|
-
export const DeviceSettings = () => {
|
|
9
|
-
return (_jsx(MenuToggle, Object.assign({ placement: "bottom-end", ToggleButton: ToggleMenuButton }, { children: _jsx(Menu, {}) })));
|
|
10
|
-
};
|
|
11
|
-
const Menu = () => (_jsxs("div", Object.assign({ className: "str-video__device-settings" }, { children: [_jsx(DeviceSelectorVideo, {}), _jsx(DeviceSelectorAudioInput, {}), _jsx(DeviceSelectorAudioOutput, {})] })));
|
|
12
|
-
const ToggleMenuButton = forwardRef(({ menuShown }, ref) => (_jsx(IconButton, { className: clsx('str-video__device-settings__button', {
|
|
13
|
-
'str-video__device-settings__button--active': menuShown,
|
|
14
|
-
}), title: "Toggle device menu", icon: "device-settings", ref: ref })));
|
|
15
|
-
//# sourceMappingURL=DeviceSettings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceSettings.js","sourceRoot":"","sources":["../../../../src/components/DeviceSettings/DeviceSettings.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,UAAU,EAAyB,MAAM,SAAS,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,CACL,KAAC,UAAU,kBAAC,SAAS,EAAC,YAAY,EAAC,YAAY,EAAE,gBAAgB,gBAC/D,KAAC,IAAI,KAAG,IACG,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,CACjB,6BAAK,SAAS,EAAC,4BAA4B,iBACzC,KAAC,mBAAmB,KAAG,EACvB,KAAC,wBAAwB,KAAG,EAC5B,KAAC,yBAAyB,KAAG,KACzB,CACP,CAAC;AAEF,MAAM,gBAAgB,GAAG,UAAU,CACjC,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,KAAC,UAAU,IACT,SAAS,EAAE,IAAI,CAAC,oCAAoC,EAAE;QACpD,4CAA4C,EAAE,SAAS;KACxD,CAAC,EACF,KAAK,EAAC,oBAAoB,EAC1B,IAAI,EAAC,iBAAiB,EACtB,GAAG,EAAE,GAAG,GAER,CACH,CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DeviceSettings/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAM5B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAa,EAAE,EAAE,CAAC,CAC3C,eACE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,oBAAoB,IAAI,EAAE,CAAC,GACtE,CACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Icon/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
export const LoadingIndicator = ({ className, type = 'spinner', text, tooltip, }) => {
|
|
4
|
-
return (_jsxs("div", Object.assign({ className: clsx('str-video__loading-indicator', className), title: tooltip }, { children: [_jsx("div", { className: clsx('str-video__loading-indicator__icon', type) }), text && _jsx("p", Object.assign({ className: "str-video__loading-indicator-text" }, { children: text }))] })));
|
|
5
|
-
};
|
|
6
|
-
//# sourceMappingURL=LoadingIndicator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingIndicator.js","sourceRoot":"","sources":["../../../../src/components/LoadingIndicator/LoadingIndicator.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,SAAS,EACT,IAAI,GAAG,SAAS,EAChB,IAAI,EACJ,OAAO,GACe,EAAE,EAAE;IAC1B,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,EAC1D,KAAK,EAAE,OAAO,iBAEd,cAAK,SAAS,EAAE,IAAI,CAAC,oCAAoC,EAAE,IAAI,CAAC,GAAQ,EACvE,IAAI,IAAI,0BAAG,SAAS,EAAC,mCAAmC,gBAAE,IAAI,IAAK,KAChE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/LoadingIndicator/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
-
var t = {};
|
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
-
t[p] = s[p];
|
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
-
t[p[i]] = s[p[i]];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
export const GenericMenu = ({ children }) => {
|
|
14
|
-
return _jsx("ul", Object.assign({ className: "str-video__generic-menu" }, { children: children }));
|
|
15
|
-
};
|
|
16
|
-
export const GenericMenuButtonItem = (_a) => {
|
|
17
|
-
var { children } = _a, rest = __rest(_a, ["children"]);
|
|
18
|
-
return (_jsx("li", Object.assign({ className: "str-video__generic-menu--item" }, { children: _jsx("button", Object.assign({}, rest, { children: children })) })));
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=GenericMenu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenericMenu.js","sourceRoot":"","sources":["../../../../src/components/Menu/GenericMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAqB,EAAE,EAAE;IAC7D,OAAO,2BAAI,SAAS,EAAC,yBAAyB,gBAAE,QAAQ,IAAM,CAAC;AACjE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAGE,EAAE,EAAE;QAHN,EACpC,QAAQ,OAE8B,EADnC,IAAI,cAF6B,YAGrC,CADQ;IAEP,OAAO,CACL,2BAAI,SAAS,EAAC,+BAA+B,gBAC3C,iCAAY,IAAI,cAAG,QAAQ,IAAU,IAClC,CACN,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useState, } from 'react';
|
|
3
|
-
import { useFloatingUIPreset } from '../../hooks';
|
|
4
|
-
export const MenuToggle = ({ ToggleButton, placement = 'top-start', strategy = 'absolute', children, }) => {
|
|
5
|
-
const [menuShown, setMenuShown] = useState(false);
|
|
6
|
-
const { floating, domReference, refs, x, y } = useFloatingUIPreset({
|
|
7
|
-
placement,
|
|
8
|
-
strategy,
|
|
9
|
-
});
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
const handleClick = (event) => {
|
|
12
|
-
if (!floating && (domReference === null || domReference === void 0 ? void 0 : domReference.contains(event.target))) {
|
|
13
|
-
setMenuShown(true);
|
|
14
|
-
}
|
|
15
|
-
else if (floating && !(floating === null || floating === void 0 ? void 0 : floating.contains(event.target))) {
|
|
16
|
-
setMenuShown(false);
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
const handleKeyDown = (event) => {
|
|
20
|
-
if (event.key.toLowerCase() === 'escape' &&
|
|
21
|
-
!event.altKey &&
|
|
22
|
-
!event.ctrlKey) {
|
|
23
|
-
setMenuShown(false);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
document === null || document === void 0 ? void 0 : document.addEventListener('click', handleClick, { capture: true });
|
|
27
|
-
document === null || document === void 0 ? void 0 : document.addEventListener('keydown', handleKeyDown);
|
|
28
|
-
return () => {
|
|
29
|
-
document === null || document === void 0 ? void 0 : document.removeEventListener('click', handleClick, { capture: true });
|
|
30
|
-
document === null || document === void 0 ? void 0 : document.removeEventListener('keydown', handleKeyDown);
|
|
31
|
-
};
|
|
32
|
-
}, [floating, domReference]);
|
|
33
|
-
return (_jsxs(_Fragment, { children: [menuShown && (_jsx("div", Object.assign({ className: "str-video__menu-container", ref: refs.setFloating, style: {
|
|
34
|
-
position: strategy,
|
|
35
|
-
top: y !== null && y !== void 0 ? y : 0,
|
|
36
|
-
left: x !== null && x !== void 0 ? x : 0,
|
|
37
|
-
overflowY: 'auto',
|
|
38
|
-
} }, { children: children }))), _jsx(ToggleButton, { menuShown: menuShown, ref: refs.setReference })] }));
|
|
39
|
-
};
|
|
40
|
-
//# sourceMappingURL=MenuToggle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MenuToggle.js","sourceRoot":"","sources":["../../../../src/components/Menu/MenuToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGL,SAAS,EACT,QAAQ,GAET,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAalD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAwB,EAChD,YAAY,EACZ,SAAS,GAAG,WAAW,EACvB,QAAQ,GAAG,UAAU,EACrB,QAAQ,GACW,EAAE,EAAE;IACvB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,mBAAmB,CAAC;QACjE,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YACxC,IAAI,CAAC,QAAQ,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,CAAA,EAAE;gBAC7D,YAAY,CAAC,IAAI,CAAC,CAAC;aACpB;iBAAM,IAAI,QAAQ,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,CAAA,EAAE;gBAChE,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC7C,IACE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,QAAQ;gBACpC,CAAC,KAAK,CAAC,MAAM;gBACb,CAAC,KAAK,CAAC,OAAO,EACd;gBACA,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QACF,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE;YACV,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7B,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,4BACE,SAAS,EAAC,2BAA2B,EACrC,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,KAAK,EAAE;oBACL,QAAQ,EAAE,QAAQ;oBAClB,GAAG,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;oBACX,IAAI,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;oBACZ,SAAS,EAAE,MAAM;iBAClB,gBAEA,QAAQ,IACL,CACP,EACD,KAAC,YAAY,IAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,GAAI,IAC7D,CACJ,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect } from 'react';
|
|
3
|
-
import { useFloatingUIPreset } from '../../hooks';
|
|
4
|
-
export const Notification = (props) => {
|
|
5
|
-
const { isVisible, message, children, visibilityTimeout, resetIsVisible, placement = 'top', iconClassName = 'str-video__notification__icon', } = props;
|
|
6
|
-
const { refs, x, y, strategy } = useFloatingUIPreset({
|
|
7
|
-
placement,
|
|
8
|
-
strategy: 'absolute',
|
|
9
|
-
});
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (!isVisible || !visibilityTimeout || !resetIsVisible)
|
|
12
|
-
return;
|
|
13
|
-
const timeout = setTimeout(() => {
|
|
14
|
-
resetIsVisible();
|
|
15
|
-
}, visibilityTimeout);
|
|
16
|
-
return () => clearTimeout(timeout);
|
|
17
|
-
}, [isVisible, resetIsVisible, visibilityTimeout]);
|
|
18
|
-
return (_jsxs("div", Object.assign({ ref: refs.setReference }, { children: [isVisible && (_jsxs("div", Object.assign({ className: "str-video__notification", ref: refs.setFloating, style: {
|
|
19
|
-
position: strategy,
|
|
20
|
-
top: y !== null && y !== void 0 ? y : 0,
|
|
21
|
-
left: x !== null && x !== void 0 ? x : 0,
|
|
22
|
-
overflowY: 'auto',
|
|
23
|
-
} }, { children: [iconClassName && _jsx("i", { className: iconClassName }), _jsx("span", Object.assign({ className: "str-video__notification__message" }, { children: message }))] }))), children] })));
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=Notification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Notification.js","sourceRoot":"","sources":["../../../../src/components/Notification/Notification.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAgC,SAAS,EAAE,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAWlD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAA2C,EAAE,EAAE;IAC1E,MAAM,EACJ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,aAAa,GAAG,+BAA+B,GAChD,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC;QACnD,SAAS;QACT,QAAQ,EAAE,UAAU;KACrB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc;YAAE,OAAO;QAEhE,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,cAAc,EAAE,CAAC;QACnB,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAEtB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEnD,OAAO,CACL,6BAAK,GAAG,EAAE,IAAI,CAAC,YAAY,iBACxB,SAAS,IAAI,CACZ,6BACE,SAAS,EAAC,yBAAyB,EACnC,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,KAAK,EAAE;oBACL,QAAQ,EAAE,QAAQ;oBAClB,GAAG,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;oBACX,IAAI,EAAE,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,CAAC;oBACZ,SAAS,EAAE,MAAM;iBAClB,iBAEA,aAAa,IAAI,YAAG,SAAS,EAAE,aAAa,GAAI,EACjD,6BAAM,SAAS,EAAC,kCAAkC,gBAAE,OAAO,IAAQ,KAC/D,CACP,EACA,QAAQ,KACL,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Notification } from './Notification';
|
|
3
|
-
import { useCallback, useEffect, useRef, useState, } from 'react';
|
|
4
|
-
import { useHasPermissions } from '@stream-io/video-react-bindings';
|
|
5
|
-
export const PermissionNotification = (props) => {
|
|
6
|
-
const { permission, isAwaitingApproval, messageApproved, messageAwaitingApproval, messageRevoked, visibilityTimeout = 3500, children, } = props;
|
|
7
|
-
const hasPermission = useHasPermissions(permission);
|
|
8
|
-
const prevHasPermission = useRef(hasPermission);
|
|
9
|
-
const [showNotification, setShowNotification] = useState();
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (hasPermission && !prevHasPermission.current) {
|
|
12
|
-
setShowNotification('granted');
|
|
13
|
-
prevHasPermission.current = true;
|
|
14
|
-
}
|
|
15
|
-
else if (!hasPermission && prevHasPermission.current) {
|
|
16
|
-
setShowNotification('revoked');
|
|
17
|
-
prevHasPermission.current = false;
|
|
18
|
-
}
|
|
19
|
-
}, [hasPermission]);
|
|
20
|
-
const resetIsVisible = useCallback(() => setShowNotification(undefined), []);
|
|
21
|
-
if (isAwaitingApproval) {
|
|
22
|
-
return (_jsx(Notification, Object.assign({ isVisible: isAwaitingApproval && !hasPermission, message: messageAwaitingApproval }, { children: children })));
|
|
23
|
-
}
|
|
24
|
-
return (_jsx(Notification, Object.assign({ isVisible: !!showNotification, visibilityTimeout: visibilityTimeout, resetIsVisible: resetIsVisible, message: showNotification === 'granted' ? messageApproved : messageRevoked }, { children: children })));
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=PermissionNotification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionNotification.js","sourceRoot":"","sources":["../../../../src/components/Notification/PermissionNotification.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAEL,WAAW,EACX,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAsCpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC3E,MAAM,EACJ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,iBAAiB,GAAG,IAAI,EACxB,QAAQ,GACT,GAAG,KAAK,CAAC;IACV,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,EAErD,CAAC;IACJ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAC/C,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;SAClC;aAAM,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,OAAO,EAAE;YACtD,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC/B,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;SACnC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI,kBAAkB,EAAE;QACtB,OAAO,CACL,KAAC,YAAY,kBACX,SAAS,EAAE,kBAAkB,IAAI,CAAC,aAAa,EAC/C,OAAO,EAAE,uBAAuB,gBAE/B,QAAQ,IACI,CAChB,CAAC;KACH;IAED,OAAO,CACL,KAAC,YAAY,kBACX,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAC7B,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,OAAO,EACL,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,gBAGlE,QAAQ,IACI,CAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
3
|
-
import { createSoundDetector, SfuModels } from '@stream-io/video-client';
|
|
4
|
-
import { useCallStateHooks, useI18n } from '@stream-io/video-react-bindings';
|
|
5
|
-
import { useMediaDevices } from '../../core';
|
|
6
|
-
import { Notification } from './Notification';
|
|
7
|
-
export const SpeakingWhileMutedNotification = ({ children, text, }) => {
|
|
8
|
-
const { useLocalParticipant } = useCallStateHooks();
|
|
9
|
-
const localParticipant = useLocalParticipant();
|
|
10
|
-
const { getAudioStream } = useMediaDevices();
|
|
11
|
-
const { t } = useI18n();
|
|
12
|
-
const message = text !== null && text !== void 0 ? text : t('You are muted. Unmute to speak.');
|
|
13
|
-
const isAudioMute = !(localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.publishedTracks.includes(SfuModels.TrackType.AUDIO));
|
|
14
|
-
const audioDeviceId = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.audioDeviceId;
|
|
15
|
-
const [isSpeakingWhileMuted, setIsSpeakingWhileMuted] = useState(false);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
// do nothing when not muted
|
|
18
|
-
if (!isAudioMute)
|
|
19
|
-
return;
|
|
20
|
-
const disposeSoundDetector = getAudioStream({
|
|
21
|
-
deviceId: audioDeviceId,
|
|
22
|
-
}).then((audioStream) => createSoundDetector(audioStream, ({ isSoundDetected }) => {
|
|
23
|
-
setIsSpeakingWhileMuted((isNotified) => isNotified ? isNotified : isSoundDetected);
|
|
24
|
-
}));
|
|
25
|
-
disposeSoundDetector.catch((err) => {
|
|
26
|
-
console.error('Error while creating sound detector', err);
|
|
27
|
-
});
|
|
28
|
-
return () => {
|
|
29
|
-
disposeSoundDetector
|
|
30
|
-
.then((dispose) => dispose())
|
|
31
|
-
.catch((err) => {
|
|
32
|
-
console.error('Error while disposing sound detector', err);
|
|
33
|
-
});
|
|
34
|
-
setIsSpeakingWhileMuted(false);
|
|
35
|
-
};
|
|
36
|
-
}, [audioDeviceId, getAudioStream, isAudioMute]);
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
if (!isSpeakingWhileMuted)
|
|
39
|
-
return;
|
|
40
|
-
const timeout = setTimeout(() => {
|
|
41
|
-
setIsSpeakingWhileMuted(false);
|
|
42
|
-
}, 3500);
|
|
43
|
-
return () => {
|
|
44
|
-
clearTimeout(timeout);
|
|
45
|
-
setIsSpeakingWhileMuted(false);
|
|
46
|
-
};
|
|
47
|
-
}, [isSpeakingWhileMuted]);
|
|
48
|
-
return (_jsx(Notification, Object.assign({ message: message, isVisible: isSpeakingWhileMuted }, { children: children })));
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=SpeakingWhileMutedNotification.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SpeakingWhileMutedNotification.js","sourceRoot":"","sources":["../../../../src/components/Notification/SpeakingWhileMutedNotification.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Notification/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC"}
|