@azure/communication-react 1.14.0-alpha-202403150012 → 1.14.0-alpha-202403160012
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/dist/communication-react.d.ts +38 -0
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-UUKnVH43.js → RichTextSendBoxWrapper-BCdGFyar.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-UUKnVH43.js.map → RichTextSendBoxWrapper-BCdGFyar.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-Db9LOYoW.js → index-BfFCLrEO.js} +116 -182
- package/dist/dist-cjs/communication-react/index-BfFCLrEO.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -3
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +0 -3
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -7
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +3 -11
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +3 -9
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +5 -16
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +4 -17
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +35 -0
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +5 -0
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +29 -7
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +6 -6
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +3 -5
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +36 -0
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
- package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +0 -1
- package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js +0 -2
- package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +11 -0
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.js +0 -1
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +2 -6
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -17
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +0 -7
- package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -3
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +1 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +3 -9
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +0 -2
- package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.js +0 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.js +0 -5
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.js +0 -2
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +1 -15
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +1 -9
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +0 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +1 -6
- package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +2 -5
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -12
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -3
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/dist-cjs/communication-react/index-Db9LOYoW.js.map +0 -1
@@ -17,7 +17,6 @@ import { memoizedConvertAllremoteParticipantsBetaRelease } from './utils/partici
|
|
17
17
|
import { memoizedConvertAllremoteParticipantsBeta } from './utils/participantListSelectorUtils';
|
18
18
|
/* @conditional-compile-remove(spotlight) */
|
19
19
|
import { memoizedSpotlight } from './utils/participantListSelectorUtils';
|
20
|
-
/* @conditional-compile-remove(raise-hand) */
|
21
20
|
import { getLocalParticipantRaisedHand } from './baseSelectors';
|
22
21
|
/* @conditional-compile-remove(reaction) */
|
23
22
|
import { getLocalParticipantReactionState } from './baseSelectors';
|
@@ -59,9 +58,7 @@ const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipan
|
|
59
58
|
const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);
|
60
59
|
/* @conditional-compile-remove(spotlight) */
|
61
60
|
const spotlight = memoizedSpotlight(spotlightedParticipants, toFlatCommunicationIdentifier(participant.identifier));
|
62
|
-
return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking,
|
63
|
-
/* @conditional-compile-remove(raise-hand) */
|
64
|
-
participant.raisedHand, localUserCanRemoveOthers,
|
61
|
+
return memoizeFn(toFlatCommunicationIdentifier(participant.identifier), displayName, state, participant.isMuted, isScreenSharing, participant.isSpeaking, participant.raisedHand, localUserCanRemoveOthers,
|
65
62
|
/* @conditional-compile-remove(reaction) */
|
66
63
|
remoteParticipantReaction,
|
67
64
|
/* @conditional-compile-remove(spotlight) */
|
@@ -101,7 +98,7 @@ export const participantListSelector = createSelector([
|
|
101
98
|
getRemoteParticipantsExcludingConsumers,
|
102
99
|
getIsScreenSharingOn,
|
103
100
|
getIsMuted,
|
104
|
-
|
101
|
+
getLocalParticipantRaisedHand,
|
105
102
|
getRole,
|
106
103
|
getParticipantCount,
|
107
104
|
/* @conditional-compile-remove(hide-attendee-name) */
|
@@ -110,9 +107,7 @@ export const participantListSelector = createSelector([
|
|
110
107
|
getLocalParticipantReactionState,
|
111
108
|
/* @conditional-compile-remove(spotlight) */
|
112
109
|
getSpotlightCallFeature
|
113
|
-
], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted,
|
114
|
-
/* @conditional-compile-remove(raise-hand) */
|
115
|
-
raisedHand, role, partitipantCount,
|
110
|
+
], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted, raisedHand, role, partitipantCount,
|
116
111
|
/* @conditional-compile-remove(hide-attendee-name) */
|
117
112
|
isHideAttendeeNamesEnabled,
|
118
113
|
/* @conditional-compile-remove(reaction) */
|
@@ -136,7 +131,6 @@ spotlightCallFeature) => {
|
|
136
131
|
displayName: displayName,
|
137
132
|
isScreenSharing: isScreenSharingOn,
|
138
133
|
isMuted: isMuted,
|
139
|
-
/* @conditional-compile-remove(raise-hand) */
|
140
134
|
raisedHand: raisedHand,
|
141
135
|
state: 'Connected',
|
142
136
|
// Local participant can never remove themselves.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"participantListSelector.js","sourceRoot":"","sources":["../../../../../calling-component-bindings/src/participantListSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { createSelector } from 'reselect';\nimport {\n getIdentifier,\n getDisplayName,\n getIsScreenSharingOn,\n getIsMuted,\n CallingBaseSelectorProps\n} from './baseSelectors';\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { CallParticipantListParticipant } from '@internal/react-components';\nimport { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils';\nimport { memoizedConvertAllremoteParticipants } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { memoizedConvertAllremoteParticipantsBetaSpotlight } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertToVideoTileReaction } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(rooms) */\nimport { memoizedConvertAllremoteParticipantsBetaRelease } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertAllremoteParticipantsBeta } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { memoizedSpotlight } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(raise-hand) */\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\n/* @conditional-compile-remove(reaction) */\nimport { getLocalParticipantReactionState } from './baseSelectors';\n/* @conditional-compile-remove(spotlight) */\nimport { getSpotlightCallFeature } from './baseSelectors';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { getParticipantCount } from './baseSelectors';\nimport { isMicrosoftTeamsAppIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantRole, SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './utils/callUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\n\nconst convertRemoteParticipantsToParticipantListParticipants = (\n remoteParticipants: RemoteParticipantState[],\n localUserCanRemoveOthers: boolean,\n isHideAttendeeNamesEnabled?: boolean,\n localUserRole?: ParticipantRole,\n spotlightedParticipants?: SpotlightedParticipant[]\n): CallParticipantListParticipant[] => {\n const conversionCallback = (\n memoizeFn: (...args: any[]) => CallParticipantListParticipant\n ): CallParticipantListParticipant[] => {\n return (\n remoteParticipants\n // Filter out MicrosoftBot participants\n .filter((participant: RemoteParticipantState) => {\n return !isMicrosoftTeamsAppIdentifier(participant.identifier);\n return true;\n })\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */\n .filter((participant) => {\n return (\n !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) ||\n isPhoneNumberIdentifier(participant.identifier)\n );\n })\n .map((participant: RemoteParticipantState) => {\n const isScreenSharing = Object.values(participant.videoStreams).some(\n (videoStream) => videoStream.mediaStreamType === 'ScreenSharing' && videoStream.isAvailable\n );\n /**\n * We want to check the participant to see if they are a PSTN participant joining the call\n * and mapping their state to be 'Ringing'\n */\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(\n displayName,\n localUserRole,\n participant.role,\n isHideAttendeeNamesEnabled\n );\n /* @conditional-compile-remove(reaction) */\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n /* @conditional-compile-remove(spotlight) */\n const spotlight = memoizedSpotlight(\n spotlightedParticipants,\n toFlatCommunicationIdentifier(participant.identifier)\n );\n return memoizeFn(\n toFlatCommunicationIdentifier(participant.identifier),\n displayName,\n state,\n participant.isMuted,\n isScreenSharing,\n participant.isSpeaking,\n /* @conditional-compile-remove(raise-hand) */\n participant.raisedHand,\n localUserCanRemoveOthers,\n /* @conditional-compile-remove(reaction) */\n remoteParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight\n );\n })\n .sort((a, b) => {\n const nameA = a.displayName?.toLowerCase() || '';\n const nameB = b.displayName?.toLowerCase() || '';\n if (nameA < nameB) {\n return -1;\n } else if (nameA > nameB) {\n return 1;\n } else {\n return 0;\n }\n })\n );\n };\n /* @conditional-compile-remove(spotlight) */\n return memoizedConvertAllremoteParticipantsBetaSpotlight(conversionCallback);\n /* @conditional-compile-remove(reaction) */\n return memoizedConvertAllremoteParticipantsBeta(conversionCallback);\n /* @conditional-compile-remove(rooms) */\n return memoizedConvertAllremoteParticipantsBetaRelease(conversionCallback);\n return memoizedConvertAllremoteParticipants(conversionCallback);\n};\n\n/**\n * Selector type for {@link ParticipantList} component.\n *\n * @public\n */\nexport type ParticipantListSelector = (\n state: CallClientState,\n props: CallingBaseSelectorProps\n) => {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n /* @conditional-compile-remove(total-participant-count) */\n totalParticipantCount?: number;\n};\n\n/**\n * Selects data that drives {@link ParticipantList} component.\n *\n * @public\n */\nexport const participantListSelector: ParticipantListSelector = createSelector(\n [\n getIdentifier,\n getDisplayName,\n getRemoteParticipantsExcludingConsumers,\n getIsScreenSharingOn,\n getIsMuted,\n /* @conditional-compile-remove(raise-hand) */ getLocalParticipantRaisedHand,\n getRole,\n getParticipantCount,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n getLocalParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n getSpotlightCallFeature\n ],\n (\n userId,\n displayName,\n remoteParticipants,\n isScreenSharingOn,\n isMuted,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand,\n role,\n partitipantCount,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n localParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature\n ): {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n totalParticipantCount?: number;\n } => {\n const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);\n const participants = remoteParticipants\n ? convertRemoteParticipantsToParticipantListParticipants(\n updateUserDisplayNamesTrampoline(Object.values(remoteParticipants)),\n localUserCanRemoveOthers,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(hide-attendee-name) */\n role,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature?.spotlightedParticipants\n )\n : [];\n /* @conditional-compile-remove(reaction) */\n const localParticipantReaction = memoizedConvertToVideoTileReaction(localParticipantReactionState);\n participants.push({\n userId: userId,\n displayName: displayName,\n isScreenSharing: isScreenSharingOn,\n isMuted: isMuted,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand: raisedHand,\n state: 'Connected',\n // Local participant can never remove themselves.\n isRemovable: false,\n /* @conditional-compile-remove(reaction) */\n reaction: localParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight: memoizedSpotlight(spotlightCallFeature?.spotlightedParticipants, userId)\n });\n /* @conditional-compile-remove(total-participant-count) */\n const totalParticipantCount = partitipantCount;\n return {\n participants: participants,\n myUserId: userId,\n /* @conditional-compile-remove(total-participant-count) */\n totalParticipantCount: totalParticipantCount\n };\n }\n);\n\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\n\nconst localUserCanRemoveOthersTrampoline = (role?: string): boolean => {\n /* @conditional-compile-remove(rooms) */\n return role === 'Presenter' || role === 'Unknown' || role === undefined;\n return true;\n};\n"]}
|
1
|
+
{"version":3,"file":"participantListSelector.js","sourceRoot":"","sources":["../../../../../calling-component-bindings/src/participantListSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { createSelector } from 'reselect';\nimport {\n getIdentifier,\n getDisplayName,\n getIsScreenSharingOn,\n getIsMuted,\n CallingBaseSelectorProps\n} from './baseSelectors';\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { CallParticipantListParticipant } from '@internal/react-components';\nimport { _isRingingPSTNParticipant, _updateUserDisplayNames } from './utils/callUtils';\nimport { memoizedConvertAllremoteParticipants } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { memoizedConvertAllremoteParticipantsBetaSpotlight } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertToVideoTileReaction } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(rooms) */\nimport { memoizedConvertAllremoteParticipantsBetaRelease } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertAllremoteParticipantsBeta } from './utils/participantListSelectorUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { memoizedSpotlight } from './utils/participantListSelectorUtils';\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\n/* @conditional-compile-remove(reaction) */\nimport { getLocalParticipantReactionState } from './baseSelectors';\n/* @conditional-compile-remove(spotlight) */\nimport { getSpotlightCallFeature } from './baseSelectors';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { getParticipantCount } from './baseSelectors';\nimport { isMicrosoftTeamsAppIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantRole, SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './utils/callUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\n\nconst convertRemoteParticipantsToParticipantListParticipants = (\n remoteParticipants: RemoteParticipantState[],\n localUserCanRemoveOthers: boolean,\n isHideAttendeeNamesEnabled?: boolean,\n localUserRole?: ParticipantRole,\n spotlightedParticipants?: SpotlightedParticipant[]\n): CallParticipantListParticipant[] => {\n const conversionCallback = (\n memoizeFn: (...args: any[]) => CallParticipantListParticipant\n ): CallParticipantListParticipant[] => {\n return (\n remoteParticipants\n // Filter out MicrosoftBot participants\n .filter((participant: RemoteParticipantState) => {\n return !isMicrosoftTeamsAppIdentifier(participant.identifier);\n return true;\n })\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */\n .filter((participant) => {\n return (\n !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) ||\n isPhoneNumberIdentifier(participant.identifier)\n );\n })\n .map((participant: RemoteParticipantState) => {\n const isScreenSharing = Object.values(participant.videoStreams).some(\n (videoStream) => videoStream.mediaStreamType === 'ScreenSharing' && videoStream.isAvailable\n );\n /**\n * We want to check the participant to see if they are a PSTN participant joining the call\n * and mapping their state to be 'Ringing'\n */\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(\n displayName,\n localUserRole,\n participant.role,\n isHideAttendeeNamesEnabled\n );\n /* @conditional-compile-remove(reaction) */\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n /* @conditional-compile-remove(spotlight) */\n const spotlight = memoizedSpotlight(\n spotlightedParticipants,\n toFlatCommunicationIdentifier(participant.identifier)\n );\n return memoizeFn(\n toFlatCommunicationIdentifier(participant.identifier),\n displayName,\n state,\n participant.isMuted,\n isScreenSharing,\n participant.isSpeaking,\n participant.raisedHand,\n localUserCanRemoveOthers,\n /* @conditional-compile-remove(reaction) */\n remoteParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight\n );\n })\n .sort((a, b) => {\n const nameA = a.displayName?.toLowerCase() || '';\n const nameB = b.displayName?.toLowerCase() || '';\n if (nameA < nameB) {\n return -1;\n } else if (nameA > nameB) {\n return 1;\n } else {\n return 0;\n }\n })\n );\n };\n /* @conditional-compile-remove(spotlight) */\n return memoizedConvertAllremoteParticipantsBetaSpotlight(conversionCallback);\n /* @conditional-compile-remove(reaction) */\n return memoizedConvertAllremoteParticipantsBeta(conversionCallback);\n /* @conditional-compile-remove(rooms) */\n return memoizedConvertAllremoteParticipantsBetaRelease(conversionCallback);\n return memoizedConvertAllremoteParticipants(conversionCallback);\n};\n\n/**\n * Selector type for {@link ParticipantList} component.\n *\n * @public\n */\nexport type ParticipantListSelector = (\n state: CallClientState,\n props: CallingBaseSelectorProps\n) => {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n /* @conditional-compile-remove(total-participant-count) */\n totalParticipantCount?: number;\n};\n\n/**\n * Selects data that drives {@link ParticipantList} component.\n *\n * @public\n */\nexport const participantListSelector: ParticipantListSelector = createSelector(\n [\n getIdentifier,\n getDisplayName,\n getRemoteParticipantsExcludingConsumers,\n getIsScreenSharingOn,\n getIsMuted,\n getLocalParticipantRaisedHand,\n getRole,\n getParticipantCount,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n getLocalParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n getSpotlightCallFeature\n ],\n (\n userId,\n displayName,\n remoteParticipants,\n isScreenSharingOn,\n isMuted,\n raisedHand,\n role,\n partitipantCount,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n localParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature\n ): {\n participants: CallParticipantListParticipant[];\n myUserId: string;\n totalParticipantCount?: number;\n } => {\n const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);\n const participants = remoteParticipants\n ? convertRemoteParticipantsToParticipantListParticipants(\n updateUserDisplayNamesTrampoline(Object.values(remoteParticipants)),\n localUserCanRemoveOthers,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(hide-attendee-name) */\n role,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature?.spotlightedParticipants\n )\n : [];\n /* @conditional-compile-remove(reaction) */\n const localParticipantReaction = memoizedConvertToVideoTileReaction(localParticipantReactionState);\n participants.push({\n userId: userId,\n displayName: displayName,\n isScreenSharing: isScreenSharingOn,\n isMuted: isMuted,\n raisedHand: raisedHand,\n state: 'Connected',\n // Local participant can never remove themselves.\n isRemovable: false,\n /* @conditional-compile-remove(reaction) */\n reaction: localParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight: memoizedSpotlight(spotlightCallFeature?.spotlightedParticipants, userId)\n });\n /* @conditional-compile-remove(total-participant-count) */\n const totalParticipantCount = partitipantCount;\n return {\n participants: participants,\n myUserId: userId,\n /* @conditional-compile-remove(total-participant-count) */\n totalParticipantCount: totalParticipantCount\n };\n }\n);\n\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\n\nconst localUserCanRemoveOthersTrampoline = (role?: string): boolean => {\n /* @conditional-compile-remove(rooms) */\n return role === 'Presenter' || role === 'Unknown' || role === undefined;\n return true;\n};\n"]}
|
package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"participantListSelectorUtils.js","sourceRoot":"","sources":["../../../../../../calling-component-bindings/src/utils/participantListSelectorUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { RemoteParticipantState } from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\nimport { getIdentifierKind } from '@azure/communication-common';\nimport { fromFlatCommunicationIdentifier, memoizeFnAll } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(spotlight) */\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallParticipantListParticipant } from '@internal/react-components';\n/* @conditional-compile-remove(spotlight) */\nimport { Spotlight } from '@internal/react-components';\n/* @conditional-compile-remove(raise-hand) */\nimport { RaisedHandState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(reaction) */\nimport { ReactionState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@internal/react-components';\n/* @conditional-compile-remove(reaction) */\nimport memoizeOne from 'memoize-one';\n\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipants = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n );\n }\n);\n\nconst convertRemoteParticipantToParticipantListParticipant = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n): CallParticipantListParticipant => {\n const identifier = fromFlatCommunicationIdentifier(userId);\n return {\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n // ACS users can not remove Teams users.\n // Removing unknown types of users is undefined.\n isRemovable:\n (getIdentifierKind(identifier).kind === 'communicationUser' ||\n getIdentifierKind(identifier).kind === 'phoneNumber') &&\n localUserCanRemoveOthers\n };\n};\n\n/* @conditional-compile-remove(rooms) */\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipantsBetaRelease = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipantBetaRelease(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n );\n }\n);\n\n/* @conditional-compile-remove(reaction) */\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipantsBeta = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipantBeta(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers,\n reaction\n );\n }\n);\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipantsBetaSpotlight = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined,\n isSpotlighted: Spotlight | undefined\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipantBetaSpotlight(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers,\n reaction,\n isSpotlighted\n );\n }\n);\n\n/* @conditional-compile-remove(reaction) */\n/**\n * @private\n */\nexport const memoizedConvertToVideoTileReaction = memoizeOne(\n (reactionState: ReactionState | undefined): Reaction | undefined => {\n return reactionState && reactionState.reactionMessage\n ? {\n reactionType: reactionState.reactionMessage.reactionType,\n receivedOn: reactionState.receivedOn\n }\n : undefined;\n }\n);\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @private\n */\nexport const memoizedSpotlight = memoizeOne(\n (spotlightedParticipants: SpotlightedParticipant[] | undefined, userId: string): Spotlight | undefined => {\n const spotlightOrder = spotlightedParticipants?.find(\n (spotlightedParticipant) => toFlatCommunicationIdentifier(spotlightedParticipant.identifier) === userId\n );\n return spotlightOrder ? { spotlightedOrderPosition: spotlightOrder.order } : undefined;\n }\n);\n\n/* @conditional-compile-remove(rooms) */\nconst convertRemoteParticipantToParticipantListParticipantBetaRelease = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n): CallParticipantListParticipant => {\n return {\n ...convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n )\n };\n};\n\n/* @conditional-compile-remove(reaction) */\nconst convertRemoteParticipantToParticipantListParticipantBeta = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined\n): CallParticipantListParticipant => {\n return {\n ...convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n ),\n reaction\n };\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst convertRemoteParticipantToParticipantListParticipantBetaSpotlight = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined,\n spotlight: Spotlight | undefined\n): CallParticipantListParticipant => {\n return {\n ...convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n ),\n reaction,\n spotlight\n };\n};\n"]}
|
1
|
+
{"version":3,"file":"participantListSelectorUtils.js","sourceRoot":"","sources":["../../../../../../calling-component-bindings/src/utils/participantListSelectorUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { RemoteParticipantState } from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\nimport { getIdentifierKind } from '@azure/communication-common';\nimport { fromFlatCommunicationIdentifier, memoizeFnAll } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(spotlight) */\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallParticipantListParticipant } from '@internal/react-components';\n/* @conditional-compile-remove(spotlight) */\nimport { Spotlight } from '@internal/react-components';\nimport { RaisedHandState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(reaction) */\nimport { ReactionState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@internal/react-components';\n/* @conditional-compile-remove(reaction) */\nimport memoizeOne from 'memoize-one';\n\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipants = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n );\n }\n);\n\nconst convertRemoteParticipantToParticipantListParticipant = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n): CallParticipantListParticipant => {\n const identifier = fromFlatCommunicationIdentifier(userId);\n return {\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n // ACS users can not remove Teams users.\n // Removing unknown types of users is undefined.\n isRemovable:\n (getIdentifierKind(identifier).kind === 'communicationUser' ||\n getIdentifierKind(identifier).kind === 'phoneNumber') &&\n localUserCanRemoveOthers\n };\n};\n\n/* @conditional-compile-remove(rooms) */\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipantsBetaRelease = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipantBetaRelease(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n );\n }\n);\n\n/* @conditional-compile-remove(reaction) */\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipantsBeta = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipantBeta(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers,\n reaction\n );\n }\n);\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @private\n */\nexport const memoizedConvertAllremoteParticipantsBetaSpotlight = memoizeFnAll(\n (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined,\n isSpotlighted: Spotlight | undefined\n ): CallParticipantListParticipant => {\n return convertRemoteParticipantToParticipantListParticipantBetaSpotlight(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers,\n reaction,\n isSpotlighted\n );\n }\n);\n\n/* @conditional-compile-remove(reaction) */\n/**\n * @private\n */\nexport const memoizedConvertToVideoTileReaction = memoizeOne(\n (reactionState: ReactionState | undefined): Reaction | undefined => {\n return reactionState && reactionState.reactionMessage\n ? {\n reactionType: reactionState.reactionMessage.reactionType,\n receivedOn: reactionState.receivedOn\n }\n : undefined;\n }\n);\n\n/* @conditional-compile-remove(spotlight) */\n/**\n * @private\n */\nexport const memoizedSpotlight = memoizeOne(\n (spotlightedParticipants: SpotlightedParticipant[] | undefined, userId: string): Spotlight | undefined => {\n const spotlightOrder = spotlightedParticipants?.find(\n (spotlightedParticipant) => toFlatCommunicationIdentifier(spotlightedParticipant.identifier) === userId\n );\n return spotlightOrder ? { spotlightedOrderPosition: spotlightOrder.order } : undefined;\n }\n);\n\n/* @conditional-compile-remove(rooms) */\nconst convertRemoteParticipantToParticipantListParticipantBetaRelease = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean\n): CallParticipantListParticipant => {\n return {\n ...convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n )\n };\n};\n\n/* @conditional-compile-remove(reaction) */\nconst convertRemoteParticipantToParticipantListParticipantBeta = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined\n): CallParticipantListParticipant => {\n return {\n ...convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n ),\n reaction\n };\n};\n\n/* @conditional-compile-remove(spotlight) */\nconst convertRemoteParticipantToParticipantListParticipantBetaSpotlight = (\n userId: string,\n displayName: string | undefined,\n state: RemoteParticipantState,\n isMuted: boolean,\n isScreenSharing: boolean,\n isSpeaking: boolean,\n raisedHand: RaisedHandState | undefined,\n localUserCanRemoveOthers: boolean,\n reaction: Reaction | undefined,\n spotlight: Spotlight | undefined\n): CallParticipantListParticipant => {\n return {\n ...convertRemoteParticipantToParticipantListParticipant(\n userId,\n displayName,\n state,\n isMuted,\n isScreenSharing,\n isSpeaking,\n raisedHand,\n localUserCanRemoveOthers\n ),\n reaction,\n spotlight\n };\n};\n"]}
|
@@ -37,9 +37,7 @@ export const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAt
|
|
37
37
|
displayName = maskDisplayNameWithRole(displayName, localUserRole, participant.role, isHideAttendeeNamesEnabled);
|
38
38
|
/* @conditional-compile-remove(reaction) */
|
39
39
|
const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);
|
40
|
-
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName,
|
41
|
-
/* @conditional-compile-remove(raise-hand) */
|
42
|
-
participant.raisedHand,
|
40
|
+
return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, displayName, participant.raisedHand,
|
43
41
|
/* @conditional-compile-remove(reaction) */
|
44
42
|
remoteParticipantReaction,
|
45
43
|
/* @conditional-compile-remove(spotlight) */
|
@@ -49,18 +47,14 @@ export const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAt
|
|
49
47
|
}));
|
50
48
|
});
|
51
49
|
};
|
52
|
-
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName,
|
53
|
-
/* @conditional-compile-remove(raise-hand) */
|
54
|
-
raisedHand, // temp unknown type to build stable
|
50
|
+
const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, // temp unknown type to build stable
|
55
51
|
/* @conditional-compile-remove(reaction) */
|
56
52
|
reaction, // temp unknown type to build stable
|
57
53
|
/* @conditional-compile-remove(spotlight) */
|
58
54
|
spotlight, // temp unknown type to build stable
|
59
55
|
/* @conditional-compile-remove(ppt-live) */
|
60
56
|
contentSharingStream) => {
|
61
|
-
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName,
|
62
|
-
/* @conditional-compile-remove(raise-hand) */
|
63
|
-
raisedHand,
|
57
|
+
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand,
|
64
58
|
/* @conditional-compile-remove(reaction) */
|
65
59
|
reaction,
|
66
60
|
/* @conditional-compile-remove(spotlight) */
|
@@ -69,9 +63,7 @@ contentSharingStream) => {
|
|
69
63
|
contentSharingStream);
|
70
64
|
});
|
71
65
|
/** @private */
|
72
|
-
export const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName,
|
73
|
-
/* @conditional-compile-remove(raise-hand) */
|
74
|
-
raisedHand, // temp unknown type to build stable
|
66
|
+
export const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName, raisedHand, // temp unknown type to build stable
|
75
67
|
/* @conditional-compile-remove(reaction) */
|
76
68
|
reaction, // temp unknown type to build stable
|
77
69
|
/* @conditional-compile-remove(spotlight) */
|
@@ -106,7 +98,6 @@ contentSharingStream) => {
|
|
106
98
|
/* @conditional-compile-remove(one-to-n-calling) */
|
107
99
|
/* @conditional-compile-remove(PSTN-calls) */
|
108
100
|
state,
|
109
|
-
/* @conditional-compile-remove(raise-hand) */
|
110
101
|
raisedHand: raisedHand,
|
111
102
|
/* @conditional-compile-remove(reaction) */
|
112
103
|
reaction: reaction,
|
@@ -138,8 +129,7 @@ const convertRemoteContentSharingStreamToVideoGalleryStream = (stream) => {
|
|
138
129
|
};
|
139
130
|
/** @private */
|
140
131
|
export const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream,
|
141
|
-
/* @conditional-compile-remove(rooms) */ role,
|
142
|
-
/* @conditional-compile-remove(raise-hand) */ raisedHand,
|
132
|
+
/* @conditional-compile-remove(rooms) */ role, raisedHand,
|
143
133
|
/* @conditional-compile-remove(reaction) */ reaction,
|
144
134
|
/* @conditional-compile-remove(spotlight) */ localSpotlight,
|
145
135
|
/* @conditional-compile-remove(spotlight) */ capabilities) => {
|
@@ -156,7 +146,6 @@ export const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMu
|
|
156
146
|
},
|
157
147
|
/* @conditional-compile-remove(rooms) */
|
158
148
|
role,
|
159
|
-
/* @conditional-compile-remove(raise-hand) */
|
160
149
|
raisedHand: raisedHand,
|
161
150
|
/* @conditional-compile-remove(reaction) */
|
162
151
|
reaction: reaction,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"videoGalleryUtils.js","sourceRoot":"","sources":["../../../../../../calling-component-bindings/src/utils/videoGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n DominantSpeakersInfo,\n RemoteParticipantState as RemoteParticipantConnectionState\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components';\nimport memoizeOne from 'memoize-one';\nimport { _isRingingPSTNParticipant } from './callUtils';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './callUtils';\nimport { checkIsSpeaking } from './SelectorUtils';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(raise-hand) */\nimport { RaisedHandState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@internal/react-components';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertToVideoTileReaction } from './participantListSelectorUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { Spotlight } from '@internal/react-components';\n\n/** @internal */\nexport const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersInfo): undefined | string[] => {\n return dominantSpeakers?.speakersList?.map(toFlatCommunicationIdentifier);\n};\n\n/** @internal */\nexport type _VideoGalleryRemoteParticipantsMemoFn = (\n remoteParticipants: RemoteParticipantState[] | undefined,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled?: boolean,\n /* @conditional-compile-remove(hide-attendee-name) */\n localUserRole?: ParticipantRole\n) => VideoGalleryRemoteParticipant[];\n\n/** @internal */\nexport const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipantsMemoFn = (\n remoteParticipants: RemoteParticipantState[] | undefined,\n isHideAttendeeNamesEnabled?: boolean,\n /* @conditional-compile-remove(hide-attendee-name) */ localUserRole?\n): VideoGalleryRemoteParticipant[] => {\n if (!remoteParticipants) {\n return [];\n }\n\n return memoizedAllConvertRemoteParticipant((memoizedFn) => {\n return (\n Object.values(remoteParticipants)\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */\n .filter((participant: RemoteParticipantState) => {\n return (\n !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) ||\n isPhoneNumberIdentifier(participant.identifier)\n );\n })\n .map((participant: RemoteParticipantState) => {\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(\n displayName,\n localUserRole,\n participant.role,\n isHideAttendeeNamesEnabled\n );\n /* @conditional-compile-remove(reaction) */\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n return memoizedFn(\n toFlatCommunicationIdentifier(participant.identifier),\n participant.isMuted,\n checkIsSpeaking(participant),\n participant.videoStreams,\n state,\n displayName,\n /* @conditional-compile-remove(raise-hand) */\n participant.raisedHand,\n /* @conditional-compile-remove(reaction) */\n remoteParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n participant.spotlight,\n /* @conditional-compile-remove(ppt-live) */\n participant.contentSharingStream\n );\n })\n );\n });\n};\n\nconst memoizedAllConvertRemoteParticipant = memoizeFnAll(\n (\n userId: string,\n isMuted: boolean,\n isSpeaking: boolean,\n videoStreams: { [key: number]: RemoteVideoStreamState },\n state: RemoteParticipantConnectionState,\n displayName?: string,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(reaction) */\n reaction?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(spotlight) */\n spotlight?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(ppt-live) */\n contentSharingStream?: HTMLElement\n ): VideoGalleryRemoteParticipant => {\n return convertRemoteParticipantToVideoGalleryRemoteParticipant(\n userId,\n isMuted,\n isSpeaking,\n videoStreams,\n state,\n displayName,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand as RaisedHandState,\n /* @conditional-compile-remove(reaction) */\n reaction as Reaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight as Spotlight,\n /* @conditional-compile-remove(ppt-live) */\n contentSharingStream\n );\n }\n);\n\n/** @private */\nexport const convertRemoteParticipantToVideoGalleryRemoteParticipant = (\n userId: string,\n isMuted: boolean,\n isSpeaking: boolean,\n videoStreams: { [key: number]: RemoteVideoStreamState },\n state: RemoteParticipantConnectionState,\n displayName?: string,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(reaction) */\n reaction?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(spotlight) */\n spotlight?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(ppt-live) */\n contentSharingStream?: HTMLElement\n): VideoGalleryRemoteParticipant => {\n const rawVideoStreamsArray = Object.values(videoStreams);\n let videoStream: VideoGalleryStream | undefined = undefined;\n let screenShareStream: VideoGalleryStream | undefined = undefined;\n\n const sdkRemoteVideoStream =\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video' && i.isAvailable) ||\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video');\n\n const sdkScreenShareStream =\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) ||\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing');\n\n if (sdkRemoteVideoStream) {\n videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);\n }\n if (sdkScreenShareStream) {\n screenShareStream = convertRemoteVideoStreamToVideoGalleryStream(sdkScreenShareStream);\n }\n\n /* @conditional-compile-remove(ppt-live) */\n if (contentSharingStream) {\n screenShareStream = convertRemoteContentSharingStreamToVideoGalleryStream(contentSharingStream);\n }\n\n return {\n userId,\n displayName,\n isMuted,\n isSpeaking,\n videoStream,\n screenShareStream,\n isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,\n /* @conditional-compile-remove(one-to-n-calling) */\n /* @conditional-compile-remove(PSTN-calls) */\n state,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand: raisedHand as RaisedHandState,\n /* @conditional-compile-remove(reaction) */\n reaction: reaction as Reaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight: spotlight as Spotlight\n };\n};\n\nconst convertRemoteVideoStreamToVideoGalleryStream = (stream: RemoteVideoStreamState): VideoGalleryStream => {\n return {\n id: stream.id,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n isMirrored: stream.view?.isMirrored,\n renderElement: stream.view?.target,\n scalingMode: stream.view?.scalingMode,\n streamSize: stream.streamSize\n };\n};\n\n/* @conditional-compile-remove(ppt-live) */\nconst convertRemoteContentSharingStreamToVideoGalleryStream = (stream: HTMLElement): VideoGalleryStream => {\n return {\n isAvailable: !!stream,\n isReceiving: true,\n isMirrored: false,\n renderElement: stream\n };\n};\n\n/** @private */\nexport const memoizeLocalParticipant = memoizeOne(\n (\n identifier,\n displayName,\n isMuted,\n isScreenSharingOn,\n localVideoStream,\n /* @conditional-compile-remove(rooms) */ role,\n /* @conditional-compile-remove(raise-hand) */ raisedHand,\n /* @conditional-compile-remove(reaction) */ reaction,\n /* @conditional-compile-remove(spotlight) */ localSpotlight,\n /* @conditional-compile-remove(spotlight) */ capabilities\n ) => ({\n userId: identifier,\n displayName: displayName ?? '',\n isMuted: isMuted,\n isScreenSharingOn: isScreenSharingOn,\n videoStream: {\n isAvailable: !!localVideoStream,\n isMirrored: localVideoStream?.view?.isMirrored,\n renderElement: localVideoStream?.view?.target\n },\n /* @conditional-compile-remove(rooms) */\n role,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand: raisedHand,\n /* @conditional-compile-remove(reaction) */\n reaction: reaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight: localSpotlight,\n /* @conditional-compile-remove(spotlight) */\n capabilities\n })\n);\n\n/* @conditional-compile-remove(spotlight) */\n/** @private */\nexport const memoizeSpotlightedParticipantIds = memoizeOne((spotlightedParticipants) =>\n spotlightedParticipants?.map((p: SpotlightedParticipant) => toFlatCommunicationIdentifier(p.identifier))\n);\n"]}
|
1
|
+
{"version":3,"file":"videoGalleryUtils.js","sourceRoot":"","sources":["../../../../../../calling-component-bindings/src/utils/videoGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n DominantSpeakersInfo,\n RemoteParticipantState as RemoteParticipantConnectionState\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components';\nimport memoizeOne from 'memoize-one';\nimport { _isRingingPSTNParticipant } from './callUtils';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { maskDisplayNameWithRole } from './callUtils';\nimport { checkIsSpeaking } from './SelectorUtils';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { RaisedHandState } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@internal/react-components';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertToVideoTileReaction } from './participantListSelectorUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { Spotlight } from '@internal/react-components';\n\n/** @internal */\nexport const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersInfo): undefined | string[] => {\n return dominantSpeakers?.speakersList?.map(toFlatCommunicationIdentifier);\n};\n\n/** @internal */\nexport type _VideoGalleryRemoteParticipantsMemoFn = (\n remoteParticipants: RemoteParticipantState[] | undefined,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled?: boolean,\n /* @conditional-compile-remove(hide-attendee-name) */\n localUserRole?: ParticipantRole\n) => VideoGalleryRemoteParticipant[];\n\n/** @internal */\nexport const _videoGalleryRemoteParticipantsMemo: _VideoGalleryRemoteParticipantsMemoFn = (\n remoteParticipants: RemoteParticipantState[] | undefined,\n isHideAttendeeNamesEnabled?: boolean,\n /* @conditional-compile-remove(hide-attendee-name) */ localUserRole?\n): VideoGalleryRemoteParticipant[] => {\n if (!remoteParticipants) {\n return [];\n }\n\n return memoizedAllConvertRemoteParticipant((memoizedFn) => {\n return (\n Object.values(remoteParticipants)\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */\n .filter((participant: RemoteParticipantState) => {\n return (\n !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) ||\n isPhoneNumberIdentifier(participant.identifier)\n );\n })\n .map((participant: RemoteParticipantState) => {\n const state = _isRingingPSTNParticipant(participant);\n let displayName = participant.displayName;\n /* @conditional-compile-remove(hide-attendee-name) */\n displayName = maskDisplayNameWithRole(\n displayName,\n localUserRole,\n participant.role,\n isHideAttendeeNamesEnabled\n );\n /* @conditional-compile-remove(reaction) */\n const remoteParticipantReaction = memoizedConvertToVideoTileReaction(participant.reactionState);\n return memoizedFn(\n toFlatCommunicationIdentifier(participant.identifier),\n participant.isMuted,\n checkIsSpeaking(participant),\n participant.videoStreams,\n state,\n displayName,\n participant.raisedHand,\n /* @conditional-compile-remove(reaction) */\n remoteParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n participant.spotlight,\n /* @conditional-compile-remove(ppt-live) */\n participant.contentSharingStream\n );\n })\n );\n });\n};\n\nconst memoizedAllConvertRemoteParticipant = memoizeFnAll(\n (\n userId: string,\n isMuted: boolean,\n isSpeaking: boolean,\n videoStreams: { [key: number]: RemoteVideoStreamState },\n state: RemoteParticipantConnectionState,\n displayName?: string,\n raisedHand?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(reaction) */\n reaction?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(spotlight) */\n spotlight?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(ppt-live) */\n contentSharingStream?: HTMLElement\n ): VideoGalleryRemoteParticipant => {\n return convertRemoteParticipantToVideoGalleryRemoteParticipant(\n userId,\n isMuted,\n isSpeaking,\n videoStreams,\n state,\n displayName,\n raisedHand as RaisedHandState,\n /* @conditional-compile-remove(reaction) */\n reaction as Reaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight as Spotlight,\n /* @conditional-compile-remove(ppt-live) */\n contentSharingStream\n );\n }\n);\n\n/** @private */\nexport const convertRemoteParticipantToVideoGalleryRemoteParticipant = (\n userId: string,\n isMuted: boolean,\n isSpeaking: boolean,\n videoStreams: { [key: number]: RemoteVideoStreamState },\n state: RemoteParticipantConnectionState,\n displayName?: string,\n raisedHand?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(reaction) */\n reaction?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(spotlight) */\n spotlight?: unknown, // temp unknown type to build stable\n /* @conditional-compile-remove(ppt-live) */\n contentSharingStream?: HTMLElement\n): VideoGalleryRemoteParticipant => {\n const rawVideoStreamsArray = Object.values(videoStreams);\n let videoStream: VideoGalleryStream | undefined = undefined;\n let screenShareStream: VideoGalleryStream | undefined = undefined;\n\n const sdkRemoteVideoStream =\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video' && i.isAvailable) ||\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video');\n\n const sdkScreenShareStream =\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) ||\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing');\n\n if (sdkRemoteVideoStream) {\n videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);\n }\n if (sdkScreenShareStream) {\n screenShareStream = convertRemoteVideoStreamToVideoGalleryStream(sdkScreenShareStream);\n }\n\n /* @conditional-compile-remove(ppt-live) */\n if (contentSharingStream) {\n screenShareStream = convertRemoteContentSharingStreamToVideoGalleryStream(contentSharingStream);\n }\n\n return {\n userId,\n displayName,\n isMuted,\n isSpeaking,\n videoStream,\n screenShareStream,\n isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,\n /* @conditional-compile-remove(one-to-n-calling) */\n /* @conditional-compile-remove(PSTN-calls) */\n state,\n raisedHand: raisedHand as RaisedHandState,\n /* @conditional-compile-remove(reaction) */\n reaction: reaction as Reaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight: spotlight as Spotlight\n };\n};\n\nconst convertRemoteVideoStreamToVideoGalleryStream = (stream: RemoteVideoStreamState): VideoGalleryStream => {\n return {\n id: stream.id,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n isMirrored: stream.view?.isMirrored,\n renderElement: stream.view?.target,\n scalingMode: stream.view?.scalingMode,\n streamSize: stream.streamSize\n };\n};\n\n/* @conditional-compile-remove(ppt-live) */\nconst convertRemoteContentSharingStreamToVideoGalleryStream = (stream: HTMLElement): VideoGalleryStream => {\n return {\n isAvailable: !!stream,\n isReceiving: true,\n isMirrored: false,\n renderElement: stream\n };\n};\n\n/** @private */\nexport const memoizeLocalParticipant = memoizeOne(\n (\n identifier,\n displayName,\n isMuted,\n isScreenSharingOn,\n localVideoStream,\n /* @conditional-compile-remove(rooms) */ role,\n raisedHand,\n /* @conditional-compile-remove(reaction) */ reaction,\n /* @conditional-compile-remove(spotlight) */ localSpotlight,\n /* @conditional-compile-remove(spotlight) */ capabilities\n ) => ({\n userId: identifier,\n displayName: displayName ?? '',\n isMuted: isMuted,\n isScreenSharingOn: isScreenSharingOn,\n videoStream: {\n isAvailable: !!localVideoStream,\n isMirrored: localVideoStream?.view?.isMirrored,\n renderElement: localVideoStream?.view?.target\n },\n /* @conditional-compile-remove(rooms) */\n role,\n raisedHand: raisedHand,\n /* @conditional-compile-remove(reaction) */\n reaction: reaction,\n /* @conditional-compile-remove(spotlight) */\n spotlight: localSpotlight,\n /* @conditional-compile-remove(spotlight) */\n capabilities\n })\n);\n\n/* @conditional-compile-remove(spotlight) */\n/** @private */\nexport const memoizeSpotlightedParticipantIds = memoizeOne((spotlightedParticipants) =>\n spotlightedParticipants?.map((p: SpotlightedParticipant) => toFlatCommunicationIdentifier(p.identifier))\n);\n"]}
|
@@ -7,14 +7,12 @@ import { getDisplayName, getDominantSpeakers, getIdentifier, getIsMuted, getIsSc
|
|
7
7
|
import { getRole } from './baseSelectors';
|
8
8
|
/* @conditional-compile-remove(hide-attendee-name) */
|
9
9
|
import { isHideAttendeeNamesEnabled } from './baseSelectors';
|
10
|
-
/* @conditional-compile-remove(optimal-video-count) */
|
11
10
|
import { getOptimalVideoCount } from './baseSelectors';
|
12
11
|
import { _updateUserDisplayNames } from './utils/callUtils';
|
13
12
|
import { checkIsSpeaking } from './utils/SelectorUtils';
|
14
13
|
import { _videoGalleryRemoteParticipantsMemo, _dominantSpeakersWithFlatId, convertRemoteParticipantToVideoGalleryRemoteParticipant, memoizeLocalParticipant } from './utils/videoGalleryUtils';
|
15
14
|
/* @conditional-compile-remove(spotlight) */
|
16
15
|
import { memoizeSpotlightedParticipantIds } from './utils/videoGalleryUtils';
|
17
|
-
/* @conditional-compile-remove(raise-hand) */
|
18
16
|
import { getLocalParticipantRaisedHand } from './baseSelectors';
|
19
17
|
/* @conditional-compile-remove(reaction) */
|
20
18
|
import { getLocalParticipantReactionState } from './baseSelectors';
|
@@ -36,11 +34,9 @@ export const videoGallerySelector = createSelector([
|
|
36
34
|
getDisplayName,
|
37
35
|
getIdentifier,
|
38
36
|
getDominantSpeakers,
|
39
|
-
/* @conditional-compile-remove(optimal-video-count) */
|
40
37
|
getOptimalVideoCount,
|
41
38
|
/* @conditional-compile-remove(rooms) */
|
42
39
|
getRole,
|
43
|
-
/* @conditional-compile-remove(raise-hand) */
|
44
40
|
getLocalParticipantRaisedHand,
|
45
41
|
/* @conditional-compile-remove(hide-attendee-name) */
|
46
42
|
isHideAttendeeNamesEnabled,
|
@@ -50,13 +46,9 @@ export const videoGallerySelector = createSelector([
|
|
50
46
|
getSpotlightCallFeature,
|
51
47
|
/* @conditional-compile-remove(spotlight) */
|
52
48
|
getCapabilities
|
53
|
-
], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers,
|
54
|
-
/* @conditional-compile-remove(optimal-video-count) */
|
55
|
-
optimalVideoCount,
|
49
|
+
], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers, optimalVideoCount,
|
56
50
|
/* @conditional-compile-remove(rooms) */
|
57
|
-
role,
|
58
|
-
/* @conditional-compile-remove(raise-hand) */
|
59
|
-
raisedHand,
|
51
|
+
role, raisedHand,
|
60
52
|
/* @conditional-compile-remove(hide-attendee-name) */
|
61
53
|
isHideAttendeeNamesEnabled,
|
62
54
|
/* @conditional-compile-remove(reaction) */
|
@@ -79,17 +71,13 @@ capabilities) => {
|
|
79
71
|
const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants);
|
80
72
|
return {
|
81
73
|
screenShareParticipant: screenShareRemoteParticipant
|
82
|
-
? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName,
|
83
|
-
/* @conditional-compile-remove(raise-hand) */
|
84
|
-
screenShareRemoteParticipant.raisedHand,
|
74
|
+
? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand,
|
85
75
|
/* @conditional-compile-remove(spotlight) */
|
86
76
|
screenShareRemoteParticipant.spotlight)
|
87
77
|
: undefined,
|
88
78
|
localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream,
|
89
79
|
/* @conditional-compile-remove(rooms) */
|
90
|
-
role,
|
91
|
-
/* @conditional-compile-remove(raise-hand) */
|
92
|
-
raisedHand,
|
80
|
+
role, raisedHand,
|
93
81
|
/* @conditional-compile-remove(reaction) */
|
94
82
|
localParticipantReactionState,
|
95
83
|
/* @conditional-compile-remove(spotlight) */
|
@@ -102,7 +90,6 @@ capabilities) => {
|
|
102
90
|
/* @conditional-compile-remove(hide-attendee-name) */
|
103
91
|
role),
|
104
92
|
dominantSpeakers: dominantSpeakerIds,
|
105
|
-
/* @conditional-compile-remove(optimal-video-count) */
|
106
93
|
maxRemoteVideoStreams: optimalVideoCount,
|
107
94
|
/* @conditional-compile-remove(spotlight) */
|
108
95
|
spotlightedParticipants: spotlightedParticipantIds,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"videoGallerySelector.js","sourceRoot":"","sources":["../../../../../calling-component-bindings/src/videoGallerySelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryLocalParticipant } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport {\n CallingBaseSelectorProps,\n getDisplayName,\n getDominantSpeakers,\n getIdentifier,\n getIsMuted,\n getIsScreenSharingOn,\n getLocalVideoStreams,\n getScreenShareRemoteParticipant\n} from './baseSelectors';\n/* @conditional-compile-remove(rooms) */\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { getOptimalVideoCount } from './baseSelectors';\nimport { _updateUserDisplayNames } from './utils/callUtils';\nimport { checkIsSpeaking } from './utils/SelectorUtils';\nimport {\n _videoGalleryRemoteParticipantsMemo,\n _dominantSpeakersWithFlatId,\n convertRemoteParticipantToVideoGalleryRemoteParticipant,\n memoizeLocalParticipant\n} from './utils/videoGalleryUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { memoizeSpotlightedParticipantIds } from './utils/videoGalleryUtils';\n/* @conditional-compile-remove(raise-hand) */\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\n/* @conditional-compile-remove(reaction) */\nimport { getLocalParticipantReactionState } from './baseSelectors';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertToVideoTileReaction } from './utils/participantListSelectorUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\n/* @conditional-compile-remove(spotlight) */\nimport { getSpotlightCallFeature, getCapabilities } from './baseSelectors';\n\n/**\n * Selector type for {@link VideoGallery} component.\n *\n * @public\n */\nexport type VideoGallerySelector = (\n state: CallClientState,\n props: CallingBaseSelectorProps\n) => {\n screenShareParticipant?: VideoGalleryRemoteParticipant;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n /* @conditional-compile-remove(optimal-video-count) */\n optimalVideoCount?: number;\n /* @conditional-compile-remove(spotlight) */\n spotlightedParticipants?: string[];\n /* @conditional-compile-remove(spotlight) */\n maxParticipantsToSpotlight?: number;\n};\n\n/**\n * Provides data attributes to {@link VideoGallery} component.\n * @public\n */\nexport const videoGallerySelector: VideoGallerySelector = createSelector(\n [\n getScreenShareRemoteParticipant,\n getRemoteParticipantsExcludingConsumers,\n getLocalVideoStreams,\n getIsMuted,\n getIsScreenSharingOn,\n getDisplayName,\n getIdentifier,\n getDominantSpeakers,\n /* @conditional-compile-remove(optimal-video-count) */\n getOptimalVideoCount,\n /* @conditional-compile-remove(rooms) */\n getRole,\n /* @conditional-compile-remove(raise-hand) */\n getLocalParticipantRaisedHand,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n getLocalParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n getSpotlightCallFeature,\n /* @conditional-compile-remove(spotlight) */\n getCapabilities\n ],\n (\n screenShareRemoteParticipantId,\n remoteParticipants,\n localVideoStreams,\n isMuted,\n isScreenSharingOn,\n displayName: string | undefined,\n identifier: string,\n dominantSpeakers,\n /* @conditional-compile-remove(optimal-video-count) */\n optimalVideoCount,\n /* @conditional-compile-remove(rooms) */\n role,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n localParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature,\n /* @conditional-compile-remove(spotlight) */\n capabilities\n ) => {\n const screenShareRemoteParticipant =\n screenShareRemoteParticipantId && remoteParticipants\n ? remoteParticipants[screenShareRemoteParticipantId]\n : undefined;\n const localVideoStream = localVideoStreams?.find((i) => i.mediaStreamType === 'Video');\n\n const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);\n const dominantSpeakersMap: Record<string, number> = {};\n dominantSpeakerIds?.forEach((speaker, idx) => (dominantSpeakersMap[speaker] = idx));\n const noRemoteParticipants: RemoteParticipantState[] = [];\n /* @conditional-compile-remove(reaction) */\n const localParticipantReactionState = memoizedConvertToVideoTileReaction(localParticipantReaction);\n /* @conditional-compile-remove(spotlight) */\n const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature?.spotlightedParticipants);\n\n return {\n screenShareParticipant: screenShareRemoteParticipant\n ? convertRemoteParticipantToVideoGalleryRemoteParticipant(\n toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier),\n screenShareRemoteParticipant.isMuted,\n checkIsSpeaking(screenShareRemoteParticipant),\n screenShareRemoteParticipant.videoStreams,\n screenShareRemoteParticipant.state,\n screenShareRemoteParticipant.displayName,\n /* @conditional-compile-remove(raise-hand) */\n screenShareRemoteParticipant.raisedHand,\n /* @conditional-compile-remove(spotlight) */\n screenShareRemoteParticipant.spotlight\n )\n : undefined,\n localParticipant: memoizeLocalParticipant(\n identifier,\n displayName,\n isMuted,\n isScreenSharingOn,\n localVideoStream,\n /* @conditional-compile-remove(rooms) */\n role,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand,\n /* @conditional-compile-remove(reaction) */\n localParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature?.localParticipantSpotlight,\n /* @conditional-compile-remove(spotlight) */\n capabilities\n ),\n remoteParticipants: _videoGalleryRemoteParticipantsMemo(\n updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants),\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(hide-attendee-name) */\n role\n ),\n dominantSpeakers: dominantSpeakerIds,\n /* @conditional-compile-remove(optimal-video-count) */\n maxRemoteVideoStreams: optimalVideoCount,\n /* @conditional-compile-remove(spotlight) */\n spotlightedParticipants: spotlightedParticipantIds,\n /* @conditional-compile-remove(spotlight) */\n maxParticipantsToSpotlight: spotlightCallFeature?.maxParticipantsToSpotlight\n };\n }\n);\n\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\n"]}
|
1
|
+
{"version":3,"file":"videoGallerySelector.js","sourceRoot":"","sources":["../../../../../calling-component-bindings/src/videoGallerySelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryLocalParticipant } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport {\n CallingBaseSelectorProps,\n getDisplayName,\n getDominantSpeakers,\n getIdentifier,\n getIsMuted,\n getIsScreenSharingOn,\n getLocalVideoStreams,\n getScreenShareRemoteParticipant\n} from './baseSelectors';\n/* @conditional-compile-remove(rooms) */\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(hide-attendee-name) */\nimport { isHideAttendeeNamesEnabled } from './baseSelectors';\nimport { getOptimalVideoCount } from './baseSelectors';\nimport { _updateUserDisplayNames } from './utils/callUtils';\nimport { checkIsSpeaking } from './utils/SelectorUtils';\nimport {\n _videoGalleryRemoteParticipantsMemo,\n _dominantSpeakersWithFlatId,\n convertRemoteParticipantToVideoGalleryRemoteParticipant,\n memoizeLocalParticipant\n} from './utils/videoGalleryUtils';\n/* @conditional-compile-remove(spotlight) */\nimport { memoizeSpotlightedParticipantIds } from './utils/videoGalleryUtils';\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\n/* @conditional-compile-remove(reaction) */\nimport { getLocalParticipantReactionState } from './baseSelectors';\n/* @conditional-compile-remove(reaction) */\nimport { memoizedConvertToVideoTileReaction } from './utils/participantListSelectorUtils';\nimport { getRemoteParticipantsExcludingConsumers } from './getRemoteParticipantsExcludingConsumers';\n/* @conditional-compile-remove(spotlight) */\nimport { getSpotlightCallFeature, getCapabilities } from './baseSelectors';\n\n/**\n * Selector type for {@link VideoGallery} component.\n *\n * @public\n */\nexport type VideoGallerySelector = (\n state: CallClientState,\n props: CallingBaseSelectorProps\n) => {\n screenShareParticipant?: VideoGalleryRemoteParticipant;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n optimalVideoCount?: number;\n /* @conditional-compile-remove(spotlight) */\n spotlightedParticipants?: string[];\n /* @conditional-compile-remove(spotlight) */\n maxParticipantsToSpotlight?: number;\n};\n\n/**\n * Provides data attributes to {@link VideoGallery} component.\n * @public\n */\nexport const videoGallerySelector: VideoGallerySelector = createSelector(\n [\n getScreenShareRemoteParticipant,\n getRemoteParticipantsExcludingConsumers,\n getLocalVideoStreams,\n getIsMuted,\n getIsScreenSharingOn,\n getDisplayName,\n getIdentifier,\n getDominantSpeakers,\n getOptimalVideoCount,\n /* @conditional-compile-remove(rooms) */\n getRole,\n getLocalParticipantRaisedHand,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n getLocalParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n getSpotlightCallFeature,\n /* @conditional-compile-remove(spotlight) */\n getCapabilities\n ],\n (\n screenShareRemoteParticipantId,\n remoteParticipants,\n localVideoStreams,\n isMuted,\n isScreenSharingOn,\n displayName: string | undefined,\n identifier: string,\n dominantSpeakers,\n optimalVideoCount,\n /* @conditional-compile-remove(rooms) */\n role,\n raisedHand,\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(reaction) */\n localParticipantReaction,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature,\n /* @conditional-compile-remove(spotlight) */\n capabilities\n ) => {\n const screenShareRemoteParticipant =\n screenShareRemoteParticipantId && remoteParticipants\n ? remoteParticipants[screenShareRemoteParticipantId]\n : undefined;\n const localVideoStream = localVideoStreams?.find((i) => i.mediaStreamType === 'Video');\n\n const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);\n const dominantSpeakersMap: Record<string, number> = {};\n dominantSpeakerIds?.forEach((speaker, idx) => (dominantSpeakersMap[speaker] = idx));\n const noRemoteParticipants: RemoteParticipantState[] = [];\n /* @conditional-compile-remove(reaction) */\n const localParticipantReactionState = memoizedConvertToVideoTileReaction(localParticipantReaction);\n /* @conditional-compile-remove(spotlight) */\n const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature?.spotlightedParticipants);\n\n return {\n screenShareParticipant: screenShareRemoteParticipant\n ? convertRemoteParticipantToVideoGalleryRemoteParticipant(\n toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier),\n screenShareRemoteParticipant.isMuted,\n checkIsSpeaking(screenShareRemoteParticipant),\n screenShareRemoteParticipant.videoStreams,\n screenShareRemoteParticipant.state,\n screenShareRemoteParticipant.displayName,\n screenShareRemoteParticipant.raisedHand,\n /* @conditional-compile-remove(spotlight) */\n screenShareRemoteParticipant.spotlight\n )\n : undefined,\n localParticipant: memoizeLocalParticipant(\n identifier,\n displayName,\n isMuted,\n isScreenSharingOn,\n localVideoStream,\n /* @conditional-compile-remove(rooms) */\n role,\n raisedHand,\n /* @conditional-compile-remove(reaction) */\n localParticipantReactionState,\n /* @conditional-compile-remove(spotlight) */\n spotlightCallFeature?.localParticipantSpotlight,\n /* @conditional-compile-remove(spotlight) */\n capabilities\n ),\n remoteParticipants: _videoGalleryRemoteParticipantsMemo(\n updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants),\n /* @conditional-compile-remove(hide-attendee-name) */\n isHideAttendeeNamesEnabled,\n /* @conditional-compile-remove(hide-attendee-name) */\n role\n ),\n dominantSpeakers: dominantSpeakerIds,\n maxRemoteVideoStreams: optimalVideoCount,\n /* @conditional-compile-remove(spotlight) */\n spotlightedParticipants: spotlightedParticipantIds,\n /* @conditional-compile-remove(spotlight) */\n maxParticipantsToSpotlight: spotlightCallFeature?.maxParticipantsToSpotlight\n };\n }\n);\n\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\n"]}
|
@@ -8,6 +8,7 @@ import { ParticipantRole } from '@azure/communication-calling';
|
|
8
8
|
import { CommunicationIdentifierKind } from '@azure/communication-common';
|
9
9
|
import { ReactionMessage } from '@azure/communication-calling';
|
10
10
|
import { SpotlightedParticipant } from '@azure/communication-calling';
|
11
|
+
import { LocalRecordingInfo, RecordingInfo } from '@azure/communication-calling';
|
11
12
|
/**
|
12
13
|
* State only version of {@link @azure/communication-calling#CallAgent} except calls is moved to be a child directly of
|
13
14
|
* {@link CallClientState} and not included here. The reason to have CallAgent's state proxied is to provide access to
|
@@ -157,6 +158,36 @@ export interface RecordingCallFeatureState {
|
|
157
158
|
* Proxy of {@link @azure/communication-calling#RecordingCallFeature.isRecordingActive}.
|
158
159
|
*/
|
159
160
|
isRecordingActive: boolean;
|
161
|
+
/**
|
162
|
+
* Contains list of information of started recordings
|
163
|
+
* Proxy of {@link @azure/communication-calling#RecordingCallFeature.recordings}.
|
164
|
+
*/
|
165
|
+
activeRecordings?: RecordingInfo[];
|
166
|
+
/**
|
167
|
+
* Contains list of information of stopped recordings
|
168
|
+
*/
|
169
|
+
lastStoppedRecording?: RecordingInfo[];
|
170
|
+
}
|
171
|
+
/**
|
172
|
+
* State only version of {@link @azure/communication-calling#LocalRecordingCallFeature}. {@link StatefulCallClient} will
|
173
|
+
* automatically listen for local recording state of the call and update the state exposed by {@link StatefulCallClient} accordingly.
|
174
|
+
*
|
175
|
+
* @beta
|
176
|
+
*/
|
177
|
+
export interface LocalRecordingCallFeatureState {
|
178
|
+
/**
|
179
|
+
* Proxy of {@link @azure/communication-calling#LocalRecordingCallFeature.isRecordingActive}.
|
180
|
+
*/
|
181
|
+
isLocalRecordingActive: boolean;
|
182
|
+
/**
|
183
|
+
* Contains list of information of started recordings
|
184
|
+
* Proxy of {@link @azure/communication-calling#LocalRecordingCallFeature.recordings}.
|
185
|
+
*/
|
186
|
+
activeLocalRecordings?: LocalRecordingInfo[];
|
187
|
+
/**
|
188
|
+
* Contains list of information of stopped recordings
|
189
|
+
*/
|
190
|
+
lastStoppedLocalRecording?: LocalRecordingInfo[];
|
160
191
|
}
|
161
192
|
/**
|
162
193
|
* State only version of {@link @azure/communication-calling#RaiseHandCallFeature}. {@link StatefulCallClient} will
|
@@ -458,6 +489,10 @@ export interface CallState {
|
|
458
489
|
* Proxy of {@link @azure/communication-calling#RecordingCallFeature}.
|
459
490
|
*/
|
460
491
|
recording: RecordingCallFeatureState;
|
492
|
+
/**
|
493
|
+
* Proxy of {@link @azure/communication-calling#LocalRecordingCallFeature}.
|
494
|
+
*/
|
495
|
+
localRecording: LocalRecordingCallFeatureState;
|
461
496
|
/**
|
462
497
|
* Proxy of {@link @azure/communication-calling#PPTLiveCallFeature}.
|
463
498
|
*
|