@azure/communication-react 1.13.0-alpha-202402170012 → 1.13.0-alpha-202402220012
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 +40 -36
- package/dist/dist-cjs/communication-react/index.js +657 -415
- package/dist/dist-cjs/communication-react/index.js.map +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.d.ts +3 -7
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +4 -12
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +4 -4
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +35 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +14 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -0
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +5 -5
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +3 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +9 -3
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +12 -8
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +4 -0
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +11 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +6 -5
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +7 -5
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +4 -5
- package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +4 -10
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +8 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +101 -19
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +8 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +8 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +4 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +25 -20
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +2 -10
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +12 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +38 -10
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +20 -15
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +16 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +4 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +29 -15
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +168 -141
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +10 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +77 -27
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +2 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +4 -15
- 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.d.ts +3 -5
- 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/CallWithChatBackedChatAdapter.d.ts +1 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -7
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -19
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +3 -20
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +7 -57
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +1 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +15 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.d.ts +14 -0
- package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +16 -0
- package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +4 -0
- 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.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +4 -2
- package/package.json +1 -1
@@ -173,7 +173,7 @@ function getDefaultExportFromCjs (x) {
|
|
173
173
|
// Copyright (c) Microsoft Corporation.
|
174
174
|
// Licensed under the MIT License.
|
175
175
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
176
|
-
var telemetryVersion = '1.13.0-alpha-
|
176
|
+
var telemetryVersion = '1.13.0-alpha-202402220012';
|
177
177
|
|
178
178
|
|
179
179
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -385,7 +385,7 @@ const isHideAttendeeNamesEnabled = (state, props) => {
|
|
385
385
|
/**
|
386
386
|
* @private
|
387
387
|
*/
|
388
|
-
const
|
388
|
+
const getCapabilities = (state, props) => { var _a, _b; return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities; };
|
389
389
|
/**
|
390
390
|
* @private
|
391
391
|
*/
|
@@ -413,17 +413,9 @@ const getLocalParticipantRaisedHand$1 = (state, props) => {
|
|
413
413
|
/**
|
414
414
|
* @private
|
415
415
|
*/
|
416
|
-
const
|
417
|
-
var _a
|
418
|
-
return (
|
419
|
-
};
|
420
|
-
/* @conditional-compile-remove(spotlight) */
|
421
|
-
/**
|
422
|
-
* @private
|
423
|
-
*/
|
424
|
-
const getMaxParticipantsToSpotlight = (state, props) => {
|
425
|
-
var _a, _b;
|
426
|
-
return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.spotlight) === null || _b === void 0 ? void 0 : _b.maxParticipantsToSpotlight;
|
416
|
+
const getSpotlightCallFeature = (state, props) => {
|
417
|
+
var _a;
|
418
|
+
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.spotlight;
|
427
419
|
};
|
428
420
|
/* @conditional-compile-remove(reaction) */
|
429
421
|
/**
|
@@ -649,7 +641,7 @@ const microphoneButtonSelector = reselect__namespace.createSelector([
|
|
649
641
|
getCallExists,
|
650
642
|
getIsMuted,
|
651
643
|
getDeviceManager$1,
|
652
|
-
/* @conditional-compile-remove(capabilities) */
|
644
|
+
/* @conditional-compile-remove(capabilities) */ getCapabilities,
|
653
645
|
/* @conditional-compile-remove(capabilities) */ getRole$1
|
654
646
|
], (callExists, isMuted, deviceManager,
|
655
647
|
/* @conditional-compile-remove(capabilities) */ capabilities,
|
@@ -675,7 +667,7 @@ const microphoneButtonSelector = reselect__namespace.createSelector([
|
|
675
667
|
const cameraButtonSelector = reselect__namespace.createSelector([
|
676
668
|
getLocalVideoStreams$1,
|
677
669
|
getDeviceManager$1,
|
678
|
-
/* @conditional-compile-remove(capabilities) */
|
670
|
+
/* @conditional-compile-remove(capabilities) */ getCapabilities,
|
679
671
|
/* @conditional-compile-remove(capabilities) */ getRole$1
|
680
672
|
], (localVideoStreams, deviceManager,
|
681
673
|
/* @conditional-compile-remove(capabilities) */ capabilities,
|
@@ -729,7 +721,7 @@ const reactionButtonSelector = reselect__namespace.createSelector([getLocalParti
|
|
729
721
|
const screenShareButtonSelector = reselect__namespace.createSelector([
|
730
722
|
getIsScreenSharingOn,
|
731
723
|
/* @conditional-compile-remove(PSTN-calls) */ getCallState,
|
732
|
-
/* @conditional-compile-remove(capabilities) */
|
724
|
+
/* @conditional-compile-remove(capabilities) */ getCapabilities,
|
733
725
|
/* @conditional-compile-remove(capabilities) */ getRole$1
|
734
726
|
], (isScreenSharingOn,
|
735
727
|
/* @conditional-compile-remove(PSTN-calls) */ callState,
|
@@ -1170,6 +1162,32 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1170
1162
|
const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
|
1171
1163
|
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
|
1172
1164
|
});
|
1165
|
+
/* @conditional-compile-remove(spotlight) */
|
1166
|
+
const canSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.spotlightParticipant.isPresent;
|
1167
|
+
/* @conditional-compile-remove(spotlight) */
|
1168
|
+
const onStartLocalSpotlight = canSpotlight
|
1169
|
+
? () => __awaiter$P(void 0, void 0, void 0, function* () {
|
1170
|
+
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight());
|
1171
|
+
})
|
1172
|
+
: undefined;
|
1173
|
+
/* @conditional-compile-remove(spotlight) */
|
1174
|
+
const onStopLocalSpotlight = () => __awaiter$P(void 0, void 0, void 0, function* () {
|
1175
|
+
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight());
|
1176
|
+
});
|
1177
|
+
/* @conditional-compile-remove(spotlight) */
|
1178
|
+
const onStartRemoteSpotlight = canSpotlight
|
1179
|
+
? (userIds) => __awaiter$P(void 0, void 0, void 0, function* () {
|
1180
|
+
const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
|
1181
|
+
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
|
1182
|
+
})
|
1183
|
+
: undefined;
|
1184
|
+
/* @conditional-compile-remove(spotlight) */
|
1185
|
+
const onStopRemoteSpotlight = canSpotlight
|
1186
|
+
? (userIds) => __awaiter$P(void 0, void 0, void 0, function* () {
|
1187
|
+
const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
|
1188
|
+
yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
|
1189
|
+
})
|
1190
|
+
: undefined;
|
1173
1191
|
return {
|
1174
1192
|
onHangUp,
|
1175
1193
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -1223,7 +1241,15 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1223
1241
|
/* @conditional-compile-remove(spotlight) */
|
1224
1242
|
onStartSpotlight,
|
1225
1243
|
/* @conditional-compile-remove(spotlight) */
|
1226
|
-
onStopSpotlight
|
1244
|
+
onStopSpotlight,
|
1245
|
+
/* @conditional-compile-remove(spotlight) */
|
1246
|
+
onStartLocalSpotlight,
|
1247
|
+
/* @conditional-compile-remove(spotlight) */
|
1248
|
+
onStopLocalSpotlight,
|
1249
|
+
/* @conditional-compile-remove(spotlight) */
|
1250
|
+
onStartRemoteSpotlight,
|
1251
|
+
/* @conditional-compile-remove(spotlight) */
|
1252
|
+
onStopRemoteSpotlight
|
1227
1253
|
};
|
1228
1254
|
});
|
1229
1255
|
|
@@ -2238,7 +2264,7 @@ let CallContext$2 = class CallContext {
|
|
2238
2264
|
this.modifyState((draft) => {
|
2239
2265
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
2240
2266
|
if (call) {
|
2241
|
-
call.spotlight = { spotlightedParticipants, maxParticipantsToSpotlight };
|
2267
|
+
call.spotlight = Object.assign(Object.assign({}, call.spotlight), { spotlightedParticipants, maxParticipantsToSpotlight });
|
2242
2268
|
}
|
2243
2269
|
});
|
2244
2270
|
}
|
@@ -2251,6 +2277,11 @@ let CallContext$2 = class CallContext {
|
|
2251
2277
|
if (participant) {
|
2252
2278
|
participant.spotlight = { spotlightedOrderPosition: spotlightedParticipant.order };
|
2253
2279
|
}
|
2280
|
+
else if (call.spotlight &&
|
2281
|
+
toFlatCommunicationIdentifier(draft.userId) ===
|
2282
|
+
toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {
|
2283
|
+
call.spotlight.localParticipantSpotlight = { spotlightedOrderPosition: spotlightedParticipant.order };
|
2284
|
+
}
|
2254
2285
|
}
|
2255
2286
|
});
|
2256
2287
|
}
|
@@ -2263,6 +2294,11 @@ let CallContext$2 = class CallContext {
|
|
2263
2294
|
if (participant) {
|
2264
2295
|
participant.spotlight = undefined;
|
2265
2296
|
}
|
2297
|
+
else if (call.spotlight &&
|
2298
|
+
toFlatCommunicationIdentifier(draft.userId) ===
|
2299
|
+
toFlatCommunicationIdentifier(spotlightedParticipant.identifier)) {
|
2300
|
+
call.spotlight.localParticipantSpotlight = undefined;
|
2301
|
+
}
|
2266
2302
|
}
|
2267
2303
|
});
|
2268
2304
|
}
|
@@ -10682,7 +10718,7 @@ const messageContentAriaText = (props) => {
|
|
10682
10718
|
};
|
10683
10719
|
/* @conditional-compile-remove(image-overlay) */
|
10684
10720
|
const defaultOnRenderInlineImage = (inlineImage) => {
|
10685
|
-
return React.createElement("img", Object.assign({ tabIndex: 0, "data-ui-id": inlineImage.imgAttrs.id }, inlineImage.imgAttrs));
|
10721
|
+
return (React.createElement("img", Object.assign({ key: inlineImage.imgAttrs.id, tabIndex: 0, "data-ui-id": inlineImage.imgAttrs.id }, inlineImage.imgAttrs)));
|
10686
10722
|
};
|
10687
10723
|
const processHtmlToReact = (props) => {
|
10688
10724
|
var _a;
|
@@ -12863,24 +12899,25 @@ const useRemoteVideoStreamLifecycleMaintainer = (props) => {
|
|
12863
12899
|
*/
|
12864
12900
|
const useVideoTileContextualMenuProps = (props) => {
|
12865
12901
|
var _a;
|
12866
|
-
const {
|
12902
|
+
const { participant, view, strings, isPinned, onPinParticipant, onUnpinParticipant, onUpdateScalingMode, disablePinMenuItem, toggleAnnouncerString,
|
12867
12903
|
/* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds = [],
|
12868
12904
|
/* @conditional-compile-remove(spotlight) */ isSpotlighted,
|
12869
12905
|
/* @conditional-compile-remove(spotlight) */ onStartSpotlight,
|
12870
12906
|
/* @conditional-compile-remove(spotlight) */ onStopSpotlight,
|
12871
|
-
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight
|
12907
|
+
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight,
|
12908
|
+
/* @conditional-compile-remove(spotlight) */ myUserId } = props;
|
12872
12909
|
const scalingMode = React.useMemo(() => {
|
12873
12910
|
var _a;
|
12874
|
-
return (_a = props.
|
12875
|
-
}, [(_a = props.
|
12911
|
+
return (_a = props.participant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode;
|
12912
|
+
}, [(_a = props.participant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode]);
|
12876
12913
|
const contextualMenuProps = React.useMemo(() => {
|
12877
12914
|
const items = [];
|
12878
12915
|
if (isPinned !== undefined) {
|
12879
12916
|
if (isPinned && onUnpinParticipant && (strings === null || strings === void 0 ? void 0 : strings.unpinParticipantForMe)) {
|
12880
12917
|
let unpinActionString = undefined;
|
12881
|
-
if (toggleAnnouncerString && strings.unpinParticipantMenuItemAriaLabel &&
|
12918
|
+
if (toggleAnnouncerString && strings.unpinParticipantMenuItemAriaLabel && participant.displayName) {
|
12882
12919
|
unpinActionString = _formatString(strings === null || strings === void 0 ? void 0 : strings.unpinParticipantMenuItemAriaLabel, {
|
12883
|
-
participantName:
|
12920
|
+
participantName: participant.displayName
|
12884
12921
|
});
|
12885
12922
|
}
|
12886
12923
|
items.push({
|
@@ -12891,7 +12928,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12891
12928
|
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
12892
12929
|
},
|
12893
12930
|
onClick: () => {
|
12894
|
-
onUnpinParticipant(
|
12931
|
+
onUnpinParticipant(participant.userId);
|
12895
12932
|
unpinActionString && (toggleAnnouncerString === null || toggleAnnouncerString === void 0 ? void 0 : toggleAnnouncerString(unpinActionString));
|
12896
12933
|
},
|
12897
12934
|
'data-ui-id': 'video-tile-unpin-participant-button',
|
@@ -12900,9 +12937,9 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12900
12937
|
}
|
12901
12938
|
if (!isPinned && onPinParticipant && (strings === null || strings === void 0 ? void 0 : strings.pinParticipantForMe)) {
|
12902
12939
|
let pinActionString = undefined;
|
12903
|
-
if (toggleAnnouncerString && strings.pinnedParticipantAnnouncementAriaLabel &&
|
12940
|
+
if (toggleAnnouncerString && strings.pinnedParticipantAnnouncementAriaLabel && participant.displayName) {
|
12904
12941
|
pinActionString = _formatString(strings === null || strings === void 0 ? void 0 : strings.pinnedParticipantAnnouncementAriaLabel, {
|
12905
|
-
participantName:
|
12942
|
+
participantName: participant.displayName
|
12906
12943
|
});
|
12907
12944
|
}
|
12908
12945
|
items.push({
|
@@ -12913,7 +12950,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12913
12950
|
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
12914
12951
|
},
|
12915
12952
|
onClick: () => {
|
12916
|
-
onPinParticipant(
|
12953
|
+
onPinParticipant(participant.userId);
|
12917
12954
|
pinActionString && (toggleAnnouncerString === null || toggleAnnouncerString === void 0 ? void 0 : toggleAnnouncerString(pinActionString));
|
12918
12955
|
},
|
12919
12956
|
'data-ui-id': 'video-tile-pin-participant-button',
|
@@ -12924,15 +12961,18 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12924
12961
|
}
|
12925
12962
|
/* @conditional-compile-remove(spotlight) */
|
12926
12963
|
if (isSpotlighted) {
|
12927
|
-
|
12964
|
+
const stopSpotlightMenuLabel = myUserId === participant.userId
|
12965
|
+
? strings === null || strings === void 0 ? void 0 : strings.stopSpotlightOnSelfVideoTileMenuLabel
|
12966
|
+
: strings === null || strings === void 0 ? void 0 : strings.stopSpotlightVideoTileMenuLabel;
|
12967
|
+
if (onStopSpotlight && participant.userId && (strings === null || strings === void 0 ? void 0 : strings.stopSpotlightVideoTileMenuLabel)) {
|
12928
12968
|
items.push({
|
12929
12969
|
key: 'stopSpotlight',
|
12930
|
-
text:
|
12970
|
+
text: stopSpotlightMenuLabel,
|
12931
12971
|
iconProps: {
|
12932
12972
|
iconName: 'StopSpotlightContextualMenuItem',
|
12933
12973
|
styles: { root: { lineHeight: 0 } }
|
12934
12974
|
},
|
12935
|
-
onClick: () => onStopSpotlight([
|
12975
|
+
onClick: () => onStopSpotlight([participant.userId]),
|
12936
12976
|
ariaLabel: strings.stopSpotlightVideoTileMenuLabel
|
12937
12977
|
});
|
12938
12978
|
}
|
@@ -12944,7 +12984,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12944
12984
|
const maxSpotlightedParticipantsReached = maxParticipantsToSpotlight
|
12945
12985
|
? spotlightedParticipantUserIds.length >= maxParticipantsToSpotlight
|
12946
12986
|
: false;
|
12947
|
-
if (onStartSpotlight &&
|
12987
|
+
if (onStartSpotlight && participant.userId && startSpotlightMenuLabel) {
|
12948
12988
|
items.push({
|
12949
12989
|
key: 'startSpotlight',
|
12950
12990
|
text: startSpotlightMenuLabel,
|
@@ -12952,7 +12992,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12952
12992
|
iconName: 'StartSpotlightContextualMenuItem',
|
12953
12993
|
styles: { root: { lineHeight: 0 } }
|
12954
12994
|
},
|
12955
|
-
onClick: () => onStartSpotlight([
|
12995
|
+
onClick: () => onStartSpotlight([participant.userId]),
|
12956
12996
|
ariaLabel: startSpotlightMenuLabel,
|
12957
12997
|
disabled: maxSpotlightedParticipantsReached,
|
12958
12998
|
title: maxSpotlightedParticipantsReached ? strings === null || strings === void 0 ? void 0 : strings.spotlightLimitReachedMenuTitle : undefined
|
@@ -12969,7 +13009,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12969
13009
|
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
12970
13010
|
},
|
12971
13011
|
onClick: () => {
|
12972
|
-
onUpdateScalingMode === null || onUpdateScalingMode === void 0 ? void 0 : onUpdateScalingMode(
|
13012
|
+
onUpdateScalingMode === null || onUpdateScalingMode === void 0 ? void 0 : onUpdateScalingMode(participant.userId, 'Fit');
|
12973
13013
|
view === null || view === void 0 ? void 0 : view.updateScalingMode('Fit');
|
12974
13014
|
},
|
12975
13015
|
'data-ui-id': 'video-tile-fit-to-frame',
|
@@ -12985,7 +13025,7 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
12985
13025
|
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
12986
13026
|
},
|
12987
13027
|
onClick: () => {
|
12988
|
-
onUpdateScalingMode === null || onUpdateScalingMode === void 0 ? void 0 : onUpdateScalingMode(
|
13028
|
+
onUpdateScalingMode === null || onUpdateScalingMode === void 0 ? void 0 : onUpdateScalingMode(participant.userId, 'Crop');
|
12989
13029
|
view === null || view === void 0 ? void 0 : view.updateScalingMode('Crop');
|
12990
13030
|
},
|
12991
13031
|
'data-ui-id': 'video-tile-fill-frame',
|
@@ -13005,15 +13045,16 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
13005
13045
|
onPinParticipant,
|
13006
13046
|
onUnpinParticipant,
|
13007
13047
|
onUpdateScalingMode,
|
13008
|
-
|
13009
|
-
|
13048
|
+
participant.userId,
|
13049
|
+
participant.displayName,
|
13010
13050
|
disablePinMenuItem,
|
13011
13051
|
toggleAnnouncerString,
|
13012
13052
|
/* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds,
|
13013
13053
|
/* @conditional-compile-remove(spotlight) */ isSpotlighted,
|
13014
13054
|
/* @conditional-compile-remove(spotlight) */ onStartSpotlight,
|
13015
13055
|
/* @conditional-compile-remove(spotlight) */ onStopSpotlight,
|
13016
|
-
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight
|
13056
|
+
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight,
|
13057
|
+
/* @conditional-compile-remove(spotlight) */ myUserId
|
13017
13058
|
]);
|
13018
13059
|
return contextualMenuProps;
|
13019
13060
|
};
|
@@ -13373,7 +13414,7 @@ const MAX_GRID_PARTICIPANTS_NOT_LARGE_GALLERY = 9;
|
|
13373
13414
|
const _useOrganizedParticipants = (props) => {
|
13374
13415
|
const visibleGridParticipants = React.useRef([]);
|
13375
13416
|
const visibleOverflowGalleryParticipants = React.useRef([]);
|
13376
|
-
const { remoteParticipants = [],
|
13417
|
+
const { remoteParticipants = [], dominantSpeakers = [], maxRemoteVideoStreams = DEFAULT_MAX_VIDEO_SREAMS, maxOverflowGalleryDominantSpeakers = DEFAULT_MAX_OVERFLOW_GALLERY_DOMINANT_SPEAKERS, isScreenShareActive = false, pinnedParticipantUserIds = [],
|
13377
13418
|
/* @conditional-compile-remove(gallery-layouts) */
|
13378
13419
|
layout } = props;
|
13379
13420
|
const calculateMaxRemoteVideoStreams = () => {
|
@@ -13443,13 +13484,7 @@ const _useOrganizedParticipants = (props) => {
|
|
13443
13484
|
]);
|
13444
13485
|
const gridParticipants = getGridParticipants();
|
13445
13486
|
const getOverflowGalleryRemoteParticipants = React.useCallback(() => {
|
13446
|
-
if (isScreenShareActive
|
13447
|
-
const localParticipantPlusOverflow = [localParticipant].concat(visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current));
|
13448
|
-
// If screen sharing is active, assign video and audio participants as overflow gallery participants
|
13449
|
-
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
13450
|
-
return localParticipantPlusOverflow.concat(callingParticipants);
|
13451
|
-
}
|
13452
|
-
else if (isScreenShareActive) {
|
13487
|
+
if (isScreenShareActive) {
|
13453
13488
|
// If screen sharing is active, assign video and audio participants as overflow gallery participants
|
13454
13489
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
13455
13490
|
return visibleGridParticipants.current.concat(visibleOverflowGalleryParticipants.current.concat(callingParticipants));
|
@@ -13469,7 +13504,6 @@ const _useOrganizedParticipants = (props) => {
|
|
13469
13504
|
}, [
|
13470
13505
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ callingParticipants,
|
13471
13506
|
isScreenShareActive,
|
13472
|
-
localParticipant,
|
13473
13507
|
maxRemoteVideoStreamsToUse
|
13474
13508
|
]);
|
13475
13509
|
const overflowGalleryParticipants = getOverflowGalleryRemoteParticipants();
|
@@ -13806,7 +13840,7 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
13806
13840
|
// Handle creating, destroying and updating the video stream as necessary
|
13807
13841
|
const createVideoStreamResult = useRemoteVideoStreamLifecycleMaintainer(remoteVideoStreamProps);
|
13808
13842
|
const contextualMenuProps = useVideoTileContextualMenuProps({
|
13809
|
-
remoteParticipant,
|
13843
|
+
participant: remoteParticipant,
|
13810
13844
|
view: createVideoStreamResult === null || createVideoStreamResult === void 0 ? void 0 : createVideoStreamResult.view,
|
13811
13845
|
strings: Object.assign({}, props.strings),
|
13812
13846
|
isPinned,
|
@@ -13842,7 +13876,7 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
13842
13876
|
}, [renderElement, showLoadingIndicator]);
|
13843
13877
|
const onKeyDown = React.useCallback((e) => {
|
13844
13878
|
if (e.key === 'Enter') {
|
13845
|
-
setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([])));
|
13879
|
+
setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps$1(contextualMenuProps, () => setDrawerMenuItemProps([])));
|
13846
13880
|
}
|
13847
13881
|
}, [setDrawerMenuItemProps, contextualMenuProps]);
|
13848
13882
|
let displayName = remoteParticipant.displayName || (strings === null || strings === void 0 ? void 0 : strings.displayNamePlaceholder);
|
@@ -13865,7 +13899,7 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
13865
13899
|
reaction: remoteParticipant.reaction, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel,
|
13866
13900
|
/* @conditional-compile-remove(one-to-n-calling) */
|
13867
13901
|
/* @conditional-compile-remove(PSTN-calls) */
|
13868
|
-
participantState: participantState }, videoTileContextualMenuProps, { isPinned: props.isPinned, onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([]))),
|
13902
|
+
participantState: participantState }, videoTileContextualMenuProps, { isPinned: props.isPinned, onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps$1(contextualMenuProps, () => setDrawerMenuItemProps([]))),
|
13869
13903
|
/* @conditional-compile-remove(spotlight) */
|
13870
13904
|
isSpotlighted: isSpotlighted,
|
13871
13905
|
/* @conditional-compile-remove(reaction) */
|
@@ -13874,7 +13908,7 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
13874
13908
|
React.createElement(react.Stack, { styles: drawerMenuWrapperStyles },
|
13875
13909
|
React.createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItemProps([]), items: drawerMenuItemProps, heading: remoteParticipant.displayName }))))));
|
13876
13910
|
});
|
13877
|
-
const convertContextualMenuItemsToDrawerMenuItemProps = (contextualMenuProps, onLightDismiss) => {
|
13911
|
+
const convertContextualMenuItemsToDrawerMenuItemProps$1 = (contextualMenuProps, onLightDismiss) => {
|
13878
13912
|
if (!contextualMenuProps) {
|
13879
13913
|
return [];
|
13880
13914
|
}
|
@@ -14116,6 +14150,18 @@ const _LocalVideoTile = React.memo((props) => {
|
|
14116
14150
|
reaction,
|
14117
14151
|
/* @conditional-compile-remove(spotlight) */
|
14118
14152
|
isSpotlighted,
|
14153
|
+
/* @conditional-compile-remove(spotlight) */
|
14154
|
+
spotlightedParticipantUserIds,
|
14155
|
+
/* @conditional-compile-remove(spotlight) */
|
14156
|
+
onStartSpotlight,
|
14157
|
+
/* @conditional-compile-remove(spotlight) */
|
14158
|
+
onStopSpotlight,
|
14159
|
+
/* @conditional-compile-remove(spotlight) */
|
14160
|
+
maxParticipantsToSpotlight,
|
14161
|
+
/* @conditional-compile-remove(spotlight) */
|
14162
|
+
menuKind,
|
14163
|
+
/* @conditional-compile-remove(spotlight) */
|
14164
|
+
strings,
|
14119
14165
|
/* @conditional-compile-remove(reaction) */
|
14120
14166
|
reactionResources } = props;
|
14121
14167
|
/* @conditional-compile-remove(spotlight) */
|
@@ -14138,13 +14184,53 @@ const _LocalVideoTile = React.memo((props) => {
|
|
14138
14184
|
// Handle creating, destroying and updating the video stream as necessary
|
14139
14185
|
useLocalVideoStreamLifecycleMaintainer(localVideoStreamProps);
|
14140
14186
|
/* @conditional-compile-remove(spotlight) */
|
14141
|
-
const
|
14142
|
-
|
14143
|
-
|
14144
|
-
|
14145
|
-
|
14146
|
-
|
14147
|
-
|
14187
|
+
const contextualMenuProps = useVideoTileContextualMenuProps({
|
14188
|
+
participant: { userId: userId !== null && userId !== void 0 ? userId : '' },
|
14189
|
+
strings: Object.assign({}, strings),
|
14190
|
+
spotlightedParticipantUserIds,
|
14191
|
+
isSpotlighted,
|
14192
|
+
onStartSpotlight,
|
14193
|
+
onStopSpotlight,
|
14194
|
+
maxParticipantsToSpotlight,
|
14195
|
+
myUserId: userId
|
14196
|
+
});
|
14197
|
+
const videoTileContextualMenuProps = React.useMemo(() => {
|
14198
|
+
/* @conditional-compile-remove(spotlight) */
|
14199
|
+
if (menuKind !== 'contextual' || !contextualMenuProps) {
|
14200
|
+
return {};
|
14201
|
+
}
|
14202
|
+
/* @conditional-compile-remove(spotlight) */
|
14203
|
+
return {
|
14204
|
+
contextualMenu: contextualMenuProps
|
14205
|
+
};
|
14206
|
+
}, [
|
14207
|
+
/* @conditional-compile-remove(spotlight) */ contextualMenuProps,
|
14208
|
+
/* @conditional-compile-remove(spotlight) */ menuKind
|
14209
|
+
]);
|
14210
|
+
const videoTileStyles = React.useMemo(() => {
|
14211
|
+
/* @conditional-compile-remove(spotlight) */
|
14212
|
+
if (isSpotlighted) {
|
14213
|
+
return react.concatStyleSets({
|
14214
|
+
root: {
|
14215
|
+
outline: `0.25rem solid ${theme.palette.neutralTertiaryAlt}`,
|
14216
|
+
outlineOffset: '-0.25rem'
|
14217
|
+
}
|
14218
|
+
}, styles);
|
14219
|
+
}
|
14220
|
+
return styles;
|
14221
|
+
}, [
|
14222
|
+
/* @conditional-compile-remove(spotlight) */ isSpotlighted,
|
14223
|
+
/* @conditional-compile-remove(spotlight) */ theme.palette.neutralTertiaryAlt,
|
14224
|
+
styles
|
14225
|
+
]);
|
14226
|
+
/* @conditional-compile-remove(spotlight) */
|
14227
|
+
const [drawerMenuItemProps, setDrawerMenuItemProps] = React.useState([]);
|
14228
|
+
/* @conditional-compile-remove(spotlight) */
|
14229
|
+
const onKeyDown = React.useCallback((e) => {
|
14230
|
+
if (e.key === 'Enter') {
|
14231
|
+
setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([])));
|
14232
|
+
}
|
14233
|
+
}, [setDrawerMenuItemProps, contextualMenuProps]);
|
14148
14234
|
const renderVideoStreamElement = React.useMemo(() => {
|
14149
14235
|
// Checking if renderElement is well defined or not as calling SDK has a number of video streams limitation which
|
14150
14236
|
// implies that, after their threshold, all streams have no child (blank video)
|
@@ -14154,28 +14240,30 @@ const _LocalVideoTile = React.memo((props) => {
|
|
14154
14240
|
}
|
14155
14241
|
return (React.createElement(React.Fragment, null,
|
14156
14242
|
React.createElement(FloatingLocalCameraCycleButton, { showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview !== null && showCameraSwitcherInLocalPreview !== void 0 ? showCameraSwitcherInLocalPreview : false, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: localVideoCameraSwitcherLabel, localVideoSelectedDescription: localVideoSelectedDescription }),
|
14157
|
-
React.createElement(StreamMedia, { videoStreamElement: renderElement, isMirrored: true })
|
14158
|
-
isSpotlighted && spotlightBorder));
|
14243
|
+
React.createElement(StreamMedia, { videoStreamElement: renderElement, isMirrored: true })));
|
14159
14244
|
}, [
|
14160
14245
|
localVideoCameraCycleButtonProps,
|
14161
14246
|
localVideoCameraSwitcherLabel,
|
14162
14247
|
localVideoSelectedDescription,
|
14163
14248
|
renderElement,
|
14164
|
-
showCameraSwitcherInLocalPreview
|
14165
|
-
/* @conditional-compile-remove(spotlight) */ isSpotlighted,
|
14166
|
-
/* @conditional-compile-remove(spotlight) */ spotlightBorder
|
14249
|
+
showCameraSwitcherInLocalPreview
|
14167
14250
|
]);
|
14168
|
-
return (React.createElement(
|
14169
|
-
|
14251
|
+
return (React.createElement(react.Stack, { className: react.mergeStyles({ width: '100%', height: '100%' }),
|
14252
|
+
/* @conditional-compile-remove(spotlight) */ onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined },
|
14253
|
+
React.createElement(VideoTile, Object.assign({ key: userId !== null && userId !== void 0 ? userId : 'local-video-tile', userId: userId, renderElement: renderVideoStreamElement, showLabel: showLabel, displayName: displayName, initialsName: initialsName, styles: videoTileStyles, onRenderPlaceholder: onRenderAvatar, isMuted: isMuted, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize,
|
14170
14254
|
/* @conditional-compile-remove(raise-hand) */
|
14171
14255
|
raisedHand: raisedHand,
|
14172
14256
|
/* @conditional-compile-remove(reaction) */
|
14173
14257
|
reaction: reaction,
|
14174
14258
|
/* @conditional-compile-remove(spotlight) */
|
14175
|
-
isSpotlighted: isSpotlighted,
|
14259
|
+
isSpotlighted: isSpotlighted }, videoTileContextualMenuProps, {
|
14260
|
+
/* @conditional-compile-remove(spotlight) */
|
14261
|
+
onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([]))),
|
14176
14262
|
/* @conditional-compile-remove(reaction) */
|
14177
|
-
reactionResources: reactionResources }),
|
14178
|
-
|
14263
|
+
reactionResources: reactionResources }),
|
14264
|
+
/* @conditional-compile-remove(spotlight) */ drawerMenuItemProps.length > 0 && (React.createElement(react.Layer, { hostId: props.drawerMenuHostId },
|
14265
|
+
React.createElement(react.Stack, { styles: drawerMenuWrapperStyles },
|
14266
|
+
React.createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItemProps([]), items: drawerMenuItemProps })))))));
|
14179
14267
|
});
|
14180
14268
|
const FloatingLocalCameraCycleButton = (props) => {
|
14181
14269
|
const { showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel, localVideoSelectedDescription } = props;
|
@@ -14189,6 +14277,25 @@ const FloatingLocalCameraCycleButton = (props) => {
|
|
14189
14277
|
(localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.selectedCamera) !== undefined &&
|
14190
14278
|
(localVideoCameraCycleButtonProps === null || localVideoCameraCycleButtonProps === void 0 ? void 0 : localVideoCameraCycleButtonProps.onSelectCamera) !== undefined && (React.createElement(LocalVideoCameraCycleButton, { cameras: localVideoCameraCycleButtonProps.cameras, selectedCamera: localVideoCameraCycleButtonProps.selectedCamera, onSelectCamera: localVideoCameraCycleButtonProps.onSelectCamera, label: localVideoCameraSwitcherLabel, ariaDescription: ariaDescription }))));
|
14191
14279
|
};
|
14280
|
+
/* @conditional-compile-remove(spotlight) */
|
14281
|
+
const convertContextualMenuItemsToDrawerMenuItemProps = (contextualMenuProps, onLightDismiss) => {
|
14282
|
+
if (!contextualMenuProps) {
|
14283
|
+
return [];
|
14284
|
+
}
|
14285
|
+
return contextualMenuProps.items.map((item) => {
|
14286
|
+
return {
|
14287
|
+
itemKey: item.key,
|
14288
|
+
text: item.text,
|
14289
|
+
iconProps: item.iconProps,
|
14290
|
+
disabled: item.disabled,
|
14291
|
+
onItemClick: () => {
|
14292
|
+
var _a;
|
14293
|
+
(_a = item.onClick) === null || _a === void 0 ? void 0 : _a.call(item);
|
14294
|
+
onLightDismiss === null || onLightDismiss === void 0 ? void 0 : onLightDismiss();
|
14295
|
+
}
|
14296
|
+
};
|
14297
|
+
});
|
14298
|
+
};
|
14192
14299
|
|
14193
14300
|
// Copyright (c) Microsoft Corporation.
|
14194
14301
|
// Licensed under the MIT License.
|
@@ -15027,7 +15134,7 @@ const DefaultLayout = (props) => {
|
|
15027
15134
|
/* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds
|
15028
15135
|
});
|
15029
15136
|
let activeVideoStreams = 0;
|
15030
|
-
|
15137
|
+
let gridTiles = gridParticipants.map((p) => {
|
15031
15138
|
var _a, _b;
|
15032
15139
|
return onRenderRemoteParticipant(p, maxRemoteVideoStreams && maxRemoteVideoStreams >= 0
|
15033
15140
|
? ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && activeVideoStreams++ < maxRemoteVideoStreams
|
@@ -15041,14 +15148,19 @@ const DefaultLayout = (props) => {
|
|
15041
15148
|
* this case when those components are here
|
15042
15149
|
*/
|
15043
15150
|
const [indexesToRender, setIndexesToRender] = React.useState([]);
|
15044
|
-
|
15151
|
+
let overflowGalleryTiles = overflowGalleryParticipants.map((p, i) => {
|
15045
15152
|
var _a, _b;
|
15046
15153
|
return onRenderRemoteParticipant(p, maxRemoteVideoStreams && maxRemoteVideoStreams >= 0
|
15047
15154
|
? ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && indexesToRender.includes(i) && activeVideoStreams++ < maxRemoteVideoStreams
|
15048
15155
|
: (_b = p.videoStream) === null || _b === void 0 ? void 0 : _b.isAvailable);
|
15049
15156
|
});
|
15050
15157
|
if (localVideoComponent) {
|
15051
|
-
|
15158
|
+
if (screenShareComponent) {
|
15159
|
+
overflowGalleryTiles = [localVideoComponent].concat(overflowGalleryTiles);
|
15160
|
+
}
|
15161
|
+
else {
|
15162
|
+
gridTiles = [localVideoComponent].concat(gridTiles);
|
15163
|
+
}
|
15052
15164
|
}
|
15053
15165
|
const overflowGallery = React.useMemo(() => {
|
15054
15166
|
if (overflowGalleryTiles.length === 0) {
|
@@ -16161,7 +16273,7 @@ const LargeGalleryLayout = (props) => {
|
|
16161
16273
|
/* @conditional-compile-remove(large-gallery) */ layout: 'largeGallery'
|
16162
16274
|
});
|
16163
16275
|
let activeVideoStreams = 0;
|
16164
|
-
|
16276
|
+
let gridTiles = gridParticipants.map((p) => {
|
16165
16277
|
var _a, _b;
|
16166
16278
|
return onRenderRemoteParticipant(p, maxRemoteVideoStreams && maxRemoteVideoStreams >= 0
|
16167
16279
|
? ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && activeVideoStreams++ < maxRemoteVideoStreams
|
@@ -16175,14 +16287,19 @@ const LargeGalleryLayout = (props) => {
|
|
16175
16287
|
* this case when those components are here
|
16176
16288
|
*/
|
16177
16289
|
const [indexesToRender, setIndexesToRender] = React.useState([]);
|
16178
|
-
|
16290
|
+
let overflowGalleryTiles = overflowGalleryParticipants.map((p, i) => {
|
16179
16291
|
var _a, _b;
|
16180
16292
|
return onRenderRemoteParticipant(p, maxRemoteVideoStreams && maxRemoteVideoStreams >= 0
|
16181
16293
|
? ((_a = p.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable) && indexesToRender.includes(i) && activeVideoStreams++ < maxRemoteVideoStreams
|
16182
16294
|
: (_b = p.videoStream) === null || _b === void 0 ? void 0 : _b.isAvailable);
|
16183
16295
|
});
|
16184
16296
|
if (localVideoComponent) {
|
16185
|
-
|
16297
|
+
if (screenShareComponent) {
|
16298
|
+
overflowGalleryTiles = [localVideoComponent].concat(overflowGalleryTiles);
|
16299
|
+
}
|
16300
|
+
else {
|
16301
|
+
gridTiles = [localVideoComponent].concat(gridTiles);
|
16302
|
+
}
|
16186
16303
|
}
|
16187
16304
|
const overflowGallery = React.useMemo(() => {
|
16188
16305
|
if (overflowGalleryTiles.length === 0) {
|
@@ -16276,9 +16393,13 @@ const VideoGallery = (props) => {
|
|
16276
16393
|
/* @conditional-compile-remove(spotlight) */
|
16277
16394
|
spotlightedParticipants,
|
16278
16395
|
/* @conditional-compile-remove(spotlight) */
|
16279
|
-
|
16396
|
+
onStartLocalSpotlight,
|
16280
16397
|
/* @conditional-compile-remove(spotlight) */
|
16281
|
-
|
16398
|
+
onStartRemoteSpotlight,
|
16399
|
+
/* @conditional-compile-remove(spotlight) */
|
16400
|
+
onStopLocalSpotlight,
|
16401
|
+
/* @conditional-compile-remove(spotlight) */
|
16402
|
+
onStopRemoteSpotlight,
|
16282
16403
|
/* @conditional-compile-remove(spotlight) */
|
16283
16404
|
maxParticipantsToSpotlight,
|
16284
16405
|
/* @conditional-compile-remove(reaction) */
|
@@ -16349,7 +16470,21 @@ const VideoGallery = (props) => {
|
|
16349
16470
|
/* @conditional-compile-remove(reaction) */
|
16350
16471
|
reaction: localParticipant.reaction,
|
16351
16472
|
/* @conditional-compile-remove(spotlight) */
|
16473
|
+
spotlightedParticipantUserIds: spotlightedParticipants,
|
16474
|
+
/* @conditional-compile-remove(spotlight) */
|
16352
16475
|
isSpotlighted: isSpotlighted,
|
16476
|
+
/* @conditional-compile-remove(spotlight) */
|
16477
|
+
onStartSpotlight: onStartLocalSpotlight,
|
16478
|
+
/* @conditional-compile-remove(spotlight) */
|
16479
|
+
onStopSpotlight: onStopLocalSpotlight,
|
16480
|
+
/* @conditional-compile-remove(spotlight) */
|
16481
|
+
maxParticipantsToSpotlight: maxParticipantsToSpotlight,
|
16482
|
+
/* @conditional-compile-remove(spotlight) */
|
16483
|
+
menuKind: remoteVideoTileMenu ? (remoteVideoTileMenu.kind === 'drawer' ? 'drawer' : 'contextual') : undefined,
|
16484
|
+
/* @conditional-compile-remove(spotlight) */
|
16485
|
+
drawerMenuHostId: drawerMenuHostId,
|
16486
|
+
/* @conditional-compile-remove(spotlight) */
|
16487
|
+
strings: strings,
|
16353
16488
|
/* @conditional-compile-remove(reaction) */
|
16354
16489
|
reactionResources: reactionResources })));
|
16355
16490
|
}, [
|
@@ -16364,10 +16499,6 @@ const VideoGallery = (props) => {
|
|
16364
16499
|
localTileNotInGrid,
|
16365
16500
|
showCameraSwitcherInLocalPreview,
|
16366
16501
|
showMuteIndicator,
|
16367
|
-
strings.localVideoCameraSwitcherLabel,
|
16368
|
-
strings.localVideoLabel,
|
16369
|
-
strings.localVideoMovementLabel,
|
16370
|
-
strings.localVideoSelectedDescription,
|
16371
16502
|
styles === null || styles === void 0 ? void 0 : styles.localVideo,
|
16372
16503
|
theme.effects.roundedCorner4,
|
16373
16504
|
/*@conditional-compile-remove(click-to-call) */
|
@@ -16375,6 +16506,20 @@ const VideoGallery = (props) => {
|
|
16375
16506
|
/* @conditional-compile-remove(gallery-layouts) */
|
16376
16507
|
layout,
|
16377
16508
|
showLocalVideoTileLabel,
|
16509
|
+
/* @conditional-compile-remove(spotlight) */
|
16510
|
+
spotlightedParticipants,
|
16511
|
+
/* @conditional-compile-remove(spotlight) */
|
16512
|
+
onStartLocalSpotlight,
|
16513
|
+
/* @conditional-compile-remove(spotlight) */
|
16514
|
+
onStopLocalSpotlight,
|
16515
|
+
/* @conditional-compile-remove(spotlight) */
|
16516
|
+
maxParticipantsToSpotlight,
|
16517
|
+
/* @conditional-compile-remove(spotlight) */
|
16518
|
+
remoteVideoTileMenu,
|
16519
|
+
/* @conditional-compile-remove(spotlight) */
|
16520
|
+
strings,
|
16521
|
+
/* @conditional-compile-remove(spotlight) */
|
16522
|
+
drawerMenuHostId,
|
16378
16523
|
/* @conditional-compile-remove(reaction) */
|
16379
16524
|
reactionResources
|
16380
16525
|
]);
|
@@ -16439,9 +16584,9 @@ const VideoGallery = (props) => {
|
|
16439
16584
|
/* @conditional-compile-remove(spotlight) */
|
16440
16585
|
isSpotlighted: isSpotlighted,
|
16441
16586
|
/* @conditional-compile-remove(spotlight) */
|
16442
|
-
onStartSpotlight:
|
16587
|
+
onStartSpotlight: onStartRemoteSpotlight,
|
16443
16588
|
/* @conditional-compile-remove(spotlight) */
|
16444
|
-
onStopSpotlight:
|
16589
|
+
onStopSpotlight: onStopRemoteSpotlight,
|
16445
16590
|
/* @conditional-compile-remove(spotlight) */
|
16446
16591
|
maxParticipantsToSpotlight: maxParticipantsToSpotlight,
|
16447
16592
|
/* @conditional-compile-remove(reaction) */
|
@@ -16463,8 +16608,8 @@ const VideoGallery = (props) => {
|
|
16463
16608
|
toggleAnnouncerString,
|
16464
16609
|
onUpdateScalingMode,
|
16465
16610
|
/* @conditional-compile-remove(spotlight) */ spotlightedParticipants,
|
16466
|
-
/* @conditional-compile-remove(spotlight) */
|
16467
|
-
/* @conditional-compile-remove(spotlight) */
|
16611
|
+
/* @conditional-compile-remove(spotlight) */ onStartRemoteSpotlight,
|
16612
|
+
/* @conditional-compile-remove(spotlight) */ onStopRemoteSpotlight,
|
16468
16613
|
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight,
|
16469
16614
|
/* @conditional-compile-remove(reaction) */ reactionResources
|
16470
16615
|
]);
|
@@ -20125,7 +20270,7 @@ spotlight // temp unknown type to build stable
|
|
20125
20270
|
raisedHand: raisedHand,
|
20126
20271
|
/* @conditional-compile-remove(reaction) */
|
20127
20272
|
reaction: reaction,
|
20128
|
-
/* @conditional-compile-remove(
|
20273
|
+
/* @conditional-compile-remove(spotlight) */
|
20129
20274
|
spotlight: spotlight
|
20130
20275
|
};
|
20131
20276
|
};
|
@@ -20146,7 +20291,9 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
|
|
20146
20291
|
const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream,
|
20147
20292
|
/* @conditional-compile-remove(rooms) */ role,
|
20148
20293
|
/* @conditional-compile-remove(raise-hand) */ raisedHand,
|
20149
|
-
/* @conditional-compile-remove(reaction) */ reaction
|
20294
|
+
/* @conditional-compile-remove(reaction) */ reaction,
|
20295
|
+
/* @conditional-compile-remove(spotlight) */ localSpotlight,
|
20296
|
+
/* @conditional-compile-remove(spotlight) */ capabilities) => {
|
20150
20297
|
var _a, _b;
|
20151
20298
|
return ({
|
20152
20299
|
userId: identifier,
|
@@ -20163,7 +20310,11 @@ const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, is
|
|
20163
20310
|
/* @conditional-compile-remove(raise-hand) */
|
20164
20311
|
raisedHand: raisedHand,
|
20165
20312
|
/* @conditional-compile-remove(reaction) */
|
20166
|
-
reaction: reaction
|
20313
|
+
reaction: reaction,
|
20314
|
+
/* @conditional-compile-remove(spotlight) */
|
20315
|
+
spotlight: localSpotlight,
|
20316
|
+
/* @conditional-compile-remove(spotlight) */
|
20317
|
+
capabilities
|
20167
20318
|
});
|
20168
20319
|
});
|
20169
20320
|
/* @conditional-compile-remove(spotlight) */
|
@@ -20214,9 +20365,9 @@ const videoGallerySelector = reselect.createSelector([
|
|
20214
20365
|
/* @conditional-compile-remove(reaction) */
|
20215
20366
|
getLocalParticipantReactionState,
|
20216
20367
|
/* @conditional-compile-remove(spotlight) */
|
20217
|
-
|
20368
|
+
getSpotlightCallFeature,
|
20218
20369
|
/* @conditional-compile-remove(spotlight) */
|
20219
|
-
|
20370
|
+
getCapabilities
|
20220
20371
|
], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers,
|
20221
20372
|
/* @conditional-compile-remove(optimal-video-count) */
|
20222
20373
|
optimalVideoCount,
|
@@ -20229,9 +20380,9 @@ isHideAttendeeNamesEnabled,
|
|
20229
20380
|
/* @conditional-compile-remove(reaction) */
|
20230
20381
|
localParticipantReaction,
|
20231
20382
|
/* @conditional-compile-remove(spotlight) */
|
20232
|
-
|
20383
|
+
spotlightCallFeature,
|
20233
20384
|
/* @conditional-compile-remove(spotlight) */
|
20234
|
-
|
20385
|
+
capabilities) => {
|
20235
20386
|
const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants
|
20236
20387
|
? remoteParticipants[screenShareRemoteParticipantId]
|
20237
20388
|
: undefined;
|
@@ -20242,7 +20393,7 @@ maxParticipantsToSpotlight) => {
|
|
20242
20393
|
/* @conditional-compile-remove(reaction) */
|
20243
20394
|
const localParticipantReactionState = memoizedConvertToVideoTileReaction(localParticipantReaction);
|
20244
20395
|
/* @conditional-compile-remove(spotlight) */
|
20245
|
-
const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightedParticipants);
|
20396
|
+
const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants);
|
20246
20397
|
return {
|
20247
20398
|
screenShareParticipant: screenShareRemoteParticipant
|
20248
20399
|
? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName,
|
@@ -20257,7 +20408,11 @@ maxParticipantsToSpotlight) => {
|
|
20257
20408
|
/* @conditional-compile-remove(raise-hand) */
|
20258
20409
|
raisedHand,
|
20259
20410
|
/* @conditional-compile-remove(reaction) */
|
20260
|
-
localParticipantReactionState
|
20411
|
+
localParticipantReactionState,
|
20412
|
+
/* @conditional-compile-remove(spotlight) */
|
20413
|
+
spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.localParticipantSpotlight,
|
20414
|
+
/* @conditional-compile-remove(spotlight) */
|
20415
|
+
capabilities),
|
20261
20416
|
remoteParticipants: _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline$2(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants),
|
20262
20417
|
/* @conditional-compile-remove(hide-attendee-name) */
|
20263
20418
|
isHideAttendeeNamesEnabled,
|
@@ -20269,7 +20424,7 @@ maxParticipantsToSpotlight) => {
|
|
20269
20424
|
/* @conditional-compile-remove(spotlight) */
|
20270
20425
|
spotlightedParticipants: spotlightedParticipantIds,
|
20271
20426
|
/* @conditional-compile-remove(spotlight) */
|
20272
|
-
maxParticipantsToSpotlight: maxParticipantsToSpotlight
|
20427
|
+
maxParticipantsToSpotlight: spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.maxParticipantsToSpotlight
|
20273
20428
|
};
|
20274
20429
|
});
|
20275
20430
|
const updateUserDisplayNamesTrampoline$2 = (remoteParticipants) => {
|
@@ -20353,7 +20508,7 @@ const participantListSelector = reselect.createSelector([
|
|
20353
20508
|
/* @conditional-compile-remove(reaction) */
|
20354
20509
|
getLocalParticipantReactionState,
|
20355
20510
|
/* @conditional-compile-remove(spotlight) */
|
20356
|
-
|
20511
|
+
getSpotlightCallFeature
|
20357
20512
|
], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted,
|
20358
20513
|
/* @conditional-compile-remove(raise-hand) */
|
20359
20514
|
raisedHand, role, partitipantCount,
|
@@ -20362,7 +20517,7 @@ isHideAttendeeNamesEnabled,
|
|
20362
20517
|
/* @conditional-compile-remove(reaction) */
|
20363
20518
|
localParticipantReactionState,
|
20364
20519
|
/* @conditional-compile-remove(spotlight) */
|
20365
|
-
|
20520
|
+
spotlightCallFeature) => {
|
20366
20521
|
const localUserCanRemoveOthers = localUserCanRemoveOthersTrampoline(role);
|
20367
20522
|
const participants = remoteParticipants
|
20368
20523
|
? convertRemoteParticipantsToParticipantListParticipants(updateUserDisplayNamesTrampoline$1(Object.values(remoteParticipants)), localUserCanRemoveOthers,
|
@@ -20371,7 +20526,7 @@ spotlightedParticipants) => {
|
|
20371
20526
|
/* @conditional-compile-remove(hide-attendee-name) */
|
20372
20527
|
role,
|
20373
20528
|
/* @conditional-compile-remove(spotlight) */
|
20374
|
-
spotlightedParticipants)
|
20529
|
+
spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants)
|
20375
20530
|
: [];
|
20376
20531
|
/* @conditional-compile-remove(reaction) */
|
20377
20532
|
const localParticipantReaction = memoizedConvertToVideoTileReaction(localParticipantReactionState);
|
@@ -20388,7 +20543,7 @@ spotlightedParticipants) => {
|
|
20388
20543
|
/* @conditional-compile-remove(reaction) */
|
20389
20544
|
reaction: localParticipantReaction,
|
20390
20545
|
/* @conditional-compile-remove(spotlight) */
|
20391
|
-
spotlight: memoizedSpotlight(spotlightedParticipants, userId)
|
20546
|
+
spotlight: memoizedSpotlight(spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.spotlightedParticipants, userId)
|
20392
20547
|
});
|
20393
20548
|
/* @conditional-compile-remove(total-participant-count) */
|
20394
20549
|
const totalParticipantCount = partitipantCount;
|
@@ -21176,12 +21331,12 @@ const extractAttachedFilesMetadata = (metadata) => {
|
|
21176
21331
|
}
|
21177
21332
|
};
|
21178
21333
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
21179
|
-
const extractTeamsAttachmentsMetadata = (attachments) => {
|
21334
|
+
const extractTeamsAttachmentsMetadata = (attachments, resourceCache) => {
|
21180
21335
|
/* @conditional-compile-remove(file-sharing) */
|
21181
21336
|
const files = [];
|
21182
21337
|
const inlineImages = [];
|
21183
21338
|
attachments.forEach((attachment) => {
|
21184
|
-
var _a;
|
21339
|
+
var _a, _b, _c;
|
21185
21340
|
const attachmentType = mapAttachmentType(attachment.attachmentType);
|
21186
21341
|
/* @conditional-compile-remove(file-sharing) */
|
21187
21342
|
const contentType = extractAttachmentContentTypeFromName(attachment.name);
|
@@ -21190,7 +21345,8 @@ const extractTeamsAttachmentsMetadata = (attachments) => {
|
|
21190
21345
|
attachmentType: attachmentType,
|
21191
21346
|
id: attachment.id,
|
21192
21347
|
url: extractAttachmentUrl(attachment),
|
21193
|
-
previewUrl: attachment.previewUrl
|
21348
|
+
previewUrl: attachment.previewUrl,
|
21349
|
+
fullSizeImageSrc: (_b = resourceCache === null || resourceCache === void 0 ? void 0 : resourceCache[(_a = attachment.url) !== null && _a !== void 0 ? _a : '']) !== null && _b !== void 0 ? _b : ''
|
21194
21350
|
});
|
21195
21351
|
}
|
21196
21352
|
/* @conditional-compile-remove(file-sharing) */
|
@@ -21198,7 +21354,7 @@ const extractTeamsAttachmentsMetadata = (attachments) => {
|
|
21198
21354
|
files.push({
|
21199
21355
|
attachmentType: attachmentType,
|
21200
21356
|
id: attachment.id,
|
21201
|
-
name: (
|
21357
|
+
name: (_c = attachment.name) !== null && _c !== void 0 ? _c : '',
|
21202
21358
|
extension: contentType !== null && contentType !== void 0 ? contentType : '',
|
21203
21359
|
url: extractAttachmentUrl(attachment),
|
21204
21360
|
payload: { teamsFileAttachment: 'true' }
|
@@ -21310,7 +21466,7 @@ const extractAttachmentsMetadata = (message) => {
|
|
21310
21466
|
}
|
21311
21467
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
21312
21468
|
if ((_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments) {
|
21313
|
-
const teamsAttachments = extractTeamsAttachmentsMetadata((_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments);
|
21469
|
+
const teamsAttachments = extractTeamsAttachmentsMetadata((_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments, message.resourceCache);
|
21314
21470
|
/* @conditional-compile-remove(file-sharing) */
|
21315
21471
|
files = files.concat(teamsAttachments.files);
|
21316
21472
|
inlineImages = inlineImages.concat(teamsAttachments.inlineImages);
|
@@ -21798,22 +21954,21 @@ class ResourceDownloadQueue {
|
|
21798
21954
|
else {
|
21799
21955
|
message = yield this.downloadAllPreviewUrls(message, operation);
|
21800
21956
|
}
|
21801
|
-
this.isActive = false;
|
21802
21957
|
this._context.setChatMessage(threadId, message);
|
21803
21958
|
}
|
21804
21959
|
catch (error) {
|
21805
21960
|
console.log('Downloading Resource error: ', error);
|
21806
21961
|
}
|
21962
|
+
finally {
|
21963
|
+
this.isActive = false;
|
21964
|
+
}
|
21807
21965
|
}
|
21808
21966
|
});
|
21809
21967
|
}
|
21810
21968
|
downloadSingleUrl(message, resourceUrl, operation) {
|
21811
21969
|
return __awaiter$t(this, void 0, void 0, function* () {
|
21812
|
-
if (message.resourceCache === undefined) {
|
21813
|
-
message.resourceCache = {};
|
21814
|
-
}
|
21815
21970
|
const blobUrl = yield operation(resourceUrl, this._credential);
|
21816
|
-
message.resourceCache[resourceUrl]
|
21971
|
+
message = Object.assign(Object.assign({}, message), { resourceCache: Object.assign(Object.assign({}, message.resourceCache), { [resourceUrl]: blobUrl }) });
|
21817
21972
|
return message;
|
21818
21973
|
});
|
21819
21974
|
}
|
@@ -21938,16 +22093,18 @@ let ChatContext$1 = class ChatContext {
|
|
21938
22093
|
}
|
21939
22094
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
21940
22095
|
downloadResourceToCache(threadId, messageId, resourceUrl) {
|
21941
|
-
|
21942
|
-
|
21943
|
-
|
22096
|
+
var _a;
|
22097
|
+
return __awaiter$s(this, void 0, void 0, function* () {
|
22098
|
+
let message = (_a = this.getState().threads[threadId]) === null || _a === void 0 ? void 0 : _a.chatMessages[messageId];
|
21944
22099
|
if (message && this._fullsizeImageQueue) {
|
21945
22100
|
if (!message.resourceCache) {
|
21946
|
-
message
|
22101
|
+
message = Object.assign(Object.assign({}, message), { resourceCache: {} });
|
21947
22102
|
}
|
21948
22103
|
// Need to discuss retry logic in case of failure
|
21949
22104
|
this._fullsizeImageQueue.addMessage(message);
|
21950
|
-
this._fullsizeImageQueue.startQueue(threadId, fetchImageSource, {
|
22105
|
+
yield this._fullsizeImageQueue.startQueue(threadId, fetchImageSource, {
|
22106
|
+
singleUrl: resourceUrl
|
22107
|
+
});
|
21951
22108
|
}
|
21952
22109
|
});
|
21953
22110
|
}
|
@@ -23012,6 +23169,8 @@ const COMPOSITE_ONLY_ICONS = {
|
|
23012
23169
|
ControlButtonCameraProhibited: React.createElement(reactIcons.VideoProhibited20Filled, null),
|
23013
23170
|
/* @conditional-compile-remove(capabilities) */
|
23014
23171
|
ControlButtonMicProhibited: React.createElement(reactIcons.MicProhibited20Filled, null),
|
23172
|
+
/* @conditional-compile-remove(spotlight) */
|
23173
|
+
ControlButtonExitSpotlight: React.createElement(reactIcons.VideoPersonStarOff20Filled, null),
|
23015
23174
|
ControlBarPeopleButton: React.createElement(reactIcons.People20Regular, null),
|
23016
23175
|
MoreDrawerMicrophones: React.createElement(reactIcons.Mic20Regular, null),
|
23017
23176
|
MoreDrawerPeople: React.createElement(reactIcons.People20Regular, null),
|
@@ -23097,7 +23256,7 @@ const CallCompositeIcon = (props) => (React.createElement(react.FontIcon, Object
|
|
23097
23256
|
*/
|
23098
23257
|
const CallWithChatCompositeIcon = (props) => (React.createElement(react.FontIcon, Object.assign({}, props)));
|
23099
23258
|
|
23100
|
-
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightParticipantListMenuLabel:"Spotlight for everyone",addSpotlightParticipantListMenuLabel:"Add spotlight",stopSpotlightParticipantListMenuLabel:"Stop spotlighting",stopSpotlightOnSelfParticipantListMenuLabel:"Exit spotlight",spotlightLimitReachedParticipantListMenuTitle:"Spotlight limit reached",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
23259
|
+
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightParticipantListMenuLabel:"Spotlight for everyone",addSpotlightParticipantListMenuLabel:"Add spotlight",stopSpotlightParticipantListMenuLabel:"Stop spotlighting",stopSpotlightOnSelfParticipantListMenuLabel:"Exit spotlight",spotlightLimitReachedParticipantListMenuTitle:"Spotlight limit reached",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight"};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
23101
23260
|
|
23102
23261
|
// Copyright (c) Microsoft Corporation.
|
23103
23262
|
// Licensed under the MIT License.
|
@@ -23425,19 +23584,12 @@ class ChatContext {
|
|
23425
23584
|
* @private
|
23426
23585
|
*/
|
23427
23586
|
class AzureCommunicationChatAdapter {
|
23428
|
-
constructor(chatClient, chatThreadClient
|
23429
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options) {
|
23430
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23431
|
-
this.credential = undefined;
|
23587
|
+
constructor(chatClient, chatThreadClient) {
|
23432
23588
|
this.emitter = new EventEmitter();
|
23433
23589
|
this.bindAllPublicMethods();
|
23434
23590
|
this.chatClient = chatClient;
|
23435
23591
|
this.chatThreadClient = chatThreadClient;
|
23436
23592
|
this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);
|
23437
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23438
|
-
if (options && options.credential) {
|
23439
|
-
this.credential = options.credential;
|
23440
|
-
}
|
23441
23593
|
/* @conditional-compile-remove(file-sharing) */
|
23442
23594
|
this.fileUploadAdapter = new AzureCommunicationFileUploadAdapter(this.context);
|
23443
23595
|
const onStateChange = (clientState) => {
|
@@ -23483,8 +23635,6 @@ class AzureCommunicationChatAdapter {
|
|
23483
23635
|
/* @conditional-compile-remove(file-sharing) */
|
23484
23636
|
this.updateFileUploadMetadata = this.updateFileUploadMetadata.bind(this);
|
23485
23637
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23486
|
-
this.downloadAttachment = this.downloadAttachment.bind(this); // ToDo: This method is to be removed
|
23487
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23488
23638
|
this.downloadResourceToCache = this.downloadResourceToCache.bind(this);
|
23489
23639
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23490
23640
|
this.removeResourceFromCache = this.removeResourceFromCache.bind(this);
|
@@ -23631,47 +23781,12 @@ class AzureCommunicationChatAdapter {
|
|
23631
23781
|
this.fileUploadAdapter.updateFileUploadMetadata(id, metadata);
|
23632
23782
|
}
|
23633
23783
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23634
|
-
|
23635
|
-
downloadAttachment(options) {
|
23636
|
-
return __awaiter$n(this, void 0, void 0, function* () {
|
23637
|
-
return this.asyncTeeErrorToEventEmitter(() => __awaiter$n(this, void 0, void 0, function* () {
|
23638
|
-
if (this.credential === undefined) {
|
23639
|
-
throw new ChatError('ChatThreadClient.getMessage', new Error('AccessToken is null'));
|
23640
|
-
}
|
23641
|
-
const accessToken = yield this.credential.getToken();
|
23642
|
-
if (!accessToken) {
|
23643
|
-
throw new ChatError('ChatThreadClient.getMessage', new Error('AccessToken is null'));
|
23644
|
-
}
|
23645
|
-
return this.downloadAuthenticatedFile(accessToken.token, options);
|
23646
|
-
}));
|
23647
|
-
});
|
23648
|
-
}
|
23649
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23650
|
-
// ToDo: This method is to be removed
|
23651
|
-
downloadAuthenticatedFile(accessToken, options) {
|
23784
|
+
downloadResourceToCache(resourceDetails) {
|
23652
23785
|
return __awaiter$n(this, void 0, void 0, function* () {
|
23653
|
-
|
23654
|
-
return __awaiter$n(this, void 0, void 0, function* () {
|
23655
|
-
const headers = new Headers();
|
23656
|
-
headers.append('Authorization', `Bearer ${token}`);
|
23657
|
-
try {
|
23658
|
-
return yield fetch(url, { headers });
|
23659
|
-
}
|
23660
|
-
catch (err) {
|
23661
|
-
throw new ChatError('ChatThreadClient.getMessage', err);
|
23662
|
-
}
|
23663
|
-
});
|
23664
|
-
}
|
23665
|
-
const response = yield fetchWithAuthentication(options.attachmentUrl, accessToken);
|
23666
|
-
const blob = yield response.blob();
|
23667
|
-
return { blobUrl: URL.createObjectURL(blob) };
|
23786
|
+
this.chatClient.downloadResourceToCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);
|
23668
23787
|
});
|
23669
23788
|
}
|
23670
23789
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23671
|
-
downloadResourceToCache(resourceDetails) {
|
23672
|
-
this.chatClient.downloadResourceToCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);
|
23673
|
-
}
|
23674
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23675
23790
|
removeResourceFromCache(resourceDetails) {
|
23676
23791
|
this.chatClient.removeResourceFromCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);
|
23677
23792
|
}
|
@@ -23817,10 +23932,7 @@ const _createAzureCommunicationChatAdapterInner = (endpoint, userId, displayName
|
|
23817
23932
|
}, undefined, telemetryImplementationHint);
|
23818
23933
|
const chatThreadClient = yield chatClient.getChatThreadClient(threadId);
|
23819
23934
|
yield chatClient.startRealtimeNotifications();
|
23820
|
-
|
23821
|
-
const options = { credential: credential };
|
23822
|
-
const adapter = yield createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient,
|
23823
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options);
|
23935
|
+
const adapter = yield createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);
|
23824
23936
|
return adapter;
|
23825
23937
|
});
|
23826
23938
|
/**
|
@@ -23927,12 +24039,9 @@ beforeDispose) => {
|
|
23927
24039
|
*
|
23928
24040
|
* @public
|
23929
24041
|
*/
|
23930
|
-
function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient
|
23931
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
23932
|
-
options) {
|
24042
|
+
function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient) {
|
23933
24043
|
return __awaiter$n(this, void 0, void 0, function* () {
|
23934
|
-
return new AzureCommunicationChatAdapter(chatClient, chatThreadClient
|
23935
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options);
|
24044
|
+
return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);
|
23936
24045
|
});
|
23937
24046
|
}
|
23938
24047
|
const isChatError = (e) => {
|
@@ -24620,8 +24729,6 @@ const ChatScreen = (props) => {
|
|
24620
24729
|
/* @conditional-compile-remove(file-sharing) */
|
24621
24730
|
const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
|
24622
24731
|
/* @conditional-compile-remove(image-overlay) */
|
24623
|
-
const [fullSizeAttachments, setFullSizeAttachments] = React.useState({});
|
24624
|
-
/* @conditional-compile-remove(image-overlay) */
|
24625
24732
|
const [overlayImageItem, setOverlayImageItem] = React.useState();
|
24626
24733
|
/* @conditional-compile-remove(image-overlay) */
|
24627
24734
|
const [isImageOverlayOpen, setIsImageOverlayOpen] = React.useState(false);
|
@@ -24642,6 +24749,34 @@ const ChatScreen = (props) => {
|
|
24642
24749
|
const typingIndicatorProps = usePropsFor$2(TypingIndicator);
|
24643
24750
|
const headerProps = useAdaptedSelector$1(getHeaderProps);
|
24644
24751
|
const errorBarProps = usePropsFor$2(ErrorBar);
|
24752
|
+
/* @conditional-compile-remove(image-overlay) */
|
24753
|
+
React.useEffect(() => {
|
24754
|
+
var _a;
|
24755
|
+
if (overlayImageItem === undefined) {
|
24756
|
+
return;
|
24757
|
+
}
|
24758
|
+
const messages = messageThreadProps.messages.filter((message) => {
|
24759
|
+
return message.messageId === (overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.messageId);
|
24760
|
+
});
|
24761
|
+
if (messages.length <= 0 || messages[0].messageType !== 'chat') {
|
24762
|
+
return;
|
24763
|
+
}
|
24764
|
+
const message = messages[0];
|
24765
|
+
if (overlayImageItem.imageSrc === '' && message.inlineImages && ((_a = message.inlineImages) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
24766
|
+
const inlineImages = message.inlineImages.filter((attachment) => {
|
24767
|
+
return attachment.id === (overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId);
|
24768
|
+
});
|
24769
|
+
if (inlineImages.length <= 0 ||
|
24770
|
+
inlineImages[0].fullSizeImageSrc === undefined ||
|
24771
|
+
inlineImages[0].fullSizeImageSrc === '' ||
|
24772
|
+
overlayImageItem.imageSrc === inlineImages[0].fullSizeImageSrc) {
|
24773
|
+
return;
|
24774
|
+
}
|
24775
|
+
setOverlayImageItem(Object.assign(Object.assign({}, overlayImageItem), { imageSrc: inlineImages[0].fullSizeImageSrc }));
|
24776
|
+
}
|
24777
|
+
// Disable eslint because we are using the overlayImageItem in this effect but don't want to have it as a dependency, as it will cause an infinite loop.
|
24778
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
24779
|
+
}, [messageThreadProps.messages]);
|
24645
24780
|
const onRenderAvatarCallback = React.useCallback((userId, defaultOptions) => {
|
24646
24781
|
return (React.createElement(AvatarPersona, Object.assign({ userId: userId, hidePersonaDetails: true }, defaultOptions, { dataProvider: onFetchAvatarPersonaData })));
|
24647
24782
|
}, [onFetchAvatarPersonaData]);
|
@@ -24695,28 +24830,24 @@ const ChatScreen = (props) => {
|
|
24695
24830
|
const overlayImage = {
|
24696
24831
|
title: chatMessage.senderDisplayName || '',
|
24697
24832
|
titleIcon: titleIcon,
|
24698
|
-
|
24699
|
-
imageSrc: ''
|
24833
|
+
attachmentId: attachment.id,
|
24834
|
+
imageSrc: attachment.fullSizeImageSrc || '',
|
24835
|
+
messageId: messageId
|
24700
24836
|
};
|
24701
24837
|
setIsImageOverlayOpen(true);
|
24702
|
-
|
24703
|
-
setOverlayImageItem(Object.assign(Object.assign({}, overlayImage), { imageSrc: fullSizeAttachments[attachment.id] }));
|
24704
|
-
return;
|
24705
|
-
}
|
24838
|
+
setOverlayImageItem(overlayImage);
|
24706
24839
|
if (attachment.attachmentType === 'inlineImage' && attachment.url) {
|
24707
|
-
|
24708
|
-
|
24709
|
-
|
24710
|
-
|
24711
|
-
|
24712
|
-
setOverlayImageItem(Object.assign(Object.assign({}, overlayImage), { imageSrc: blobUrl }));
|
24713
|
-
}
|
24840
|
+
adapter.downloadResourceToCache({
|
24841
|
+
threadId: adapter.getState().thread.threadId,
|
24842
|
+
messageId: messageId,
|
24843
|
+
resourceUrl: attachment.url
|
24844
|
+
});
|
24714
24845
|
}
|
24715
|
-
}), [adapter,
|
24846
|
+
}), [adapter, messageThreadProps, onRenderAvatarCallback]);
|
24716
24847
|
/* @conditional-compile-remove(image-overlay) */
|
24717
24848
|
const inlineImageOptions = {
|
24718
24849
|
onRenderInlineImage: (inlineImage, defaultOnRender) => {
|
24719
|
-
return (React.createElement("span", { onClick: () => onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: (e) => {
|
24850
|
+
return (React.createElement("span", { key: inlineImage.imgAttrs.id, onClick: () => onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: (e) => {
|
24720
24851
|
if (e.key === 'Enter') {
|
24721
24852
|
onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId);
|
24722
24853
|
}
|
@@ -24736,7 +24867,7 @@ const ChatScreen = (props) => {
|
|
24736
24867
|
const a = document.createElement('a');
|
24737
24868
|
// Set the href and download attributes for the anchor element
|
24738
24869
|
a.href = imageSrc;
|
24739
|
-
a.download = (overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.
|
24870
|
+
a.download = (overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId) || '';
|
24740
24871
|
a.rel = 'noopener noreferrer';
|
24741
24872
|
a.target = '_blank';
|
24742
24873
|
// Programmatically click the anchor element to trigger the download
|
@@ -24744,7 +24875,7 @@ const ChatScreen = (props) => {
|
|
24744
24875
|
a.click();
|
24745
24876
|
document.body.removeChild(a);
|
24746
24877
|
}
|
24747
|
-
}, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.
|
24878
|
+
}, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId]);
|
24748
24879
|
const AttachFileButton = React.useCallback(() => {
|
24749
24880
|
if (!(fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler)) {
|
24750
24881
|
return null;
|
@@ -25440,149 +25571,175 @@ var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
25440
25571
|
const useHandlers = (
|
25441
25572
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
25442
25573
|
_component) => {
|
25443
|
-
|
25444
|
-
|
25445
|
-
const
|
25446
|
-
onCreateLocalStreamView: (options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25447
|
-
return yield adapter.createStreamView(undefined, options);
|
25448
|
-
}),
|
25449
|
-
onCreateRemoteStreamView: (userId, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25450
|
-
return yield adapter.createStreamView(userId, options);
|
25451
|
-
}),
|
25452
|
-
onHangUp: (forEveryone) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25453
|
-
yield adapter.leaveCall(forEveryone);
|
25454
|
-
}),
|
25455
|
-
/* @conditional-compile-remove(PSTN-calls) */
|
25456
|
-
onToggleHold: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25457
|
-
var _a;
|
25458
|
-
return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
|
25459
|
-
}),
|
25460
|
-
/* @conditional-compile-remove(PSTN-calls) */
|
25461
|
-
onAddParticipant: (participant, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25462
|
-
return yield adapter.addParticipant(participant, options);
|
25463
|
-
}),
|
25464
|
-
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
|
25465
|
-
onSendDtmfTone: (dtmfTone) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25466
|
-
yield adapter.sendDtmfTone(dtmfTone);
|
25467
|
-
}),
|
25468
|
-
onRemoveParticipant: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25469
|
-
yield adapter.removeParticipant(userId);
|
25470
|
-
}),
|
25471
|
-
/* @conditional-compile-remove(raise-hand) */
|
25472
|
-
onRaiseHand: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25473
|
-
yield adapter.raiseHand();
|
25474
|
-
}),
|
25475
|
-
/* @conditional-compile-remove(raise-hand) */
|
25476
|
-
onLowerHand: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25477
|
-
yield adapter.lowerHand();
|
25478
|
-
}),
|
25479
|
-
/* @conditional-compile-remove(raise-hand) */
|
25480
|
-
onToggleRaiseHand: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25481
|
-
var _b;
|
25482
|
-
((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
|
25483
|
-
? yield adapter.lowerHand()
|
25484
|
-
: yield adapter.raiseHand();
|
25485
|
-
}),
|
25486
|
-
/* @conditional-compile-remove(reaction) */
|
25487
|
-
onReactionClicked: (reaction) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25488
|
-
yield adapter.onReactionClicked(reaction);
|
25489
|
-
}),
|
25490
|
-
onSelectCamera: (deviceInfo, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25491
|
-
yield adapter.setCamera(deviceInfo, options);
|
25492
|
-
}),
|
25493
|
-
onSelectMicrophone: (deviceInfo) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25494
|
-
yield adapter.setMicrophone(deviceInfo);
|
25495
|
-
}),
|
25496
|
-
onSelectSpeaker: (deviceInfo) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25497
|
-
yield adapter.setSpeaker(deviceInfo);
|
25498
|
-
}),
|
25499
|
-
onStartCall: (participants, options) => {
|
25500
|
-
const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
|
25501
|
-
return adapter.startCall(rawIds, options);
|
25502
|
-
},
|
25503
|
-
onStartScreenShare: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25504
|
-
yield adapter.startScreenShare();
|
25505
|
-
}),
|
25506
|
-
onStopScreenShare: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25507
|
-
yield adapter.stopScreenShare();
|
25508
|
-
}),
|
25509
|
-
onToggleCamera: (options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25510
|
-
isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
|
25511
|
-
}),
|
25512
|
-
onToggleMicrophone: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25513
|
-
var _c;
|
25514
|
-
return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
|
25515
|
-
}),
|
25516
|
-
onToggleScreenShare: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25517
|
-
var _d;
|
25518
|
-
return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
|
25519
|
-
? yield adapter.stopScreenShare()
|
25520
|
-
: yield adapter.startScreenShare();
|
25521
|
-
}),
|
25522
|
-
onStartLocalVideo: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25523
|
-
if (adapter.getState().call) {
|
25524
|
-
return adapter.startCamera();
|
25525
|
-
}
|
25526
|
-
}),
|
25527
|
-
onDisposeLocalStreamView: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25528
|
-
return adapter.disposeLocalVideoStreamView();
|
25529
|
-
}),
|
25530
|
-
onDisposeRemoteStreamView: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25531
|
-
return adapter.disposeStreamView(userId);
|
25532
|
-
}),
|
25533
|
-
onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25534
|
-
return adapter.disposeScreenShareStreamView(userId);
|
25535
|
-
}),
|
25536
|
-
onDisposeRemoteVideoStreamView: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25537
|
-
return adapter.disposeRemoteVideoStreamView(userId);
|
25538
|
-
}),
|
25539
|
-
/* @conditional-compile-remove(call-readiness) */
|
25540
|
-
askDevicePermission: (constrain) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25541
|
-
return adapter.askDevicePermission(constrain);
|
25542
|
-
}),
|
25543
|
-
/* @conditional-compile-remove(video-background-effects) */
|
25544
|
-
onRemoveVideoBackgroundEffects: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25545
|
-
return yield adapter.stopVideoBackgroundEffects();
|
25546
|
-
}),
|
25547
|
-
/* @conditional-compile-remove(video-background-effects) */
|
25548
|
-
onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25549
|
-
const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
|
25550
|
-
return yield adapter.startVideoBackgroundEffect(blurConfig);
|
25551
|
-
}),
|
25552
|
-
/* @conditional-compile-remove(video-background-effects) */
|
25553
|
-
onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25554
|
-
const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
|
25555
|
-
return yield adapter.startVideoBackgroundEffect(replacementConfig);
|
25556
|
-
}),
|
25557
|
-
/* @conditional-compile-remove(close-captions) */
|
25558
|
-
onStartCaptions: (options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25559
|
-
yield adapter.startCaptions(options);
|
25560
|
-
}),
|
25561
|
-
/* @conditional-compile-remove(close-captions) */
|
25562
|
-
onStopCaptions: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25563
|
-
yield adapter.stopCaptions();
|
25564
|
-
}),
|
25565
|
-
/* @conditional-compile-remove(close-captions) */
|
25566
|
-
onSetSpokenLanguage: (language) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25567
|
-
yield adapter.setSpokenLanguage(language);
|
25568
|
-
}),
|
25569
|
-
/* @conditional-compile-remove(close-captions) */
|
25570
|
-
onSetCaptionLanguage: (language) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25571
|
-
yield adapter.setCaptionLanguage(language);
|
25572
|
-
}),
|
25573
|
-
/* @conditional-compile-remove(end-of-call-survey) */
|
25574
|
-
onSubmitSurvey: (survey) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25575
|
-
return yield adapter.submitSurvey(survey);
|
25576
|
-
}),
|
25574
|
+
var _a, _b;
|
25575
|
+
const adapter = useAdapter();
|
25576
|
+
const compositeHandlers = createCompositeHandlers(adapter);
|
25577
25577
|
/* @conditional-compile-remove(spotlight) */
|
25578
|
-
|
25579
|
-
yield adapter.startSpotlight(userIds);
|
25580
|
-
}),
|
25578
|
+
const canSpotlight = (_b = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities.spotlightParticipant.isPresent;
|
25581
25579
|
/* @conditional-compile-remove(spotlight) */
|
25582
|
-
|
25583
|
-
|
25584
|
-
|
25585
|
-
}
|
25580
|
+
return Object.assign(Object.assign({}, compositeHandlers), (canSpotlight
|
25581
|
+
? {}
|
25582
|
+
: { onStartLocalSpotlight: undefined, onStartRemoteSpotlight: undefined, onStopRemoteSpotlight: undefined }));
|
25583
|
+
};
|
25584
|
+
const createCompositeHandlers = memoizeOne((adapter) => {
|
25585
|
+
return {
|
25586
|
+
onCreateLocalStreamView: (options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25587
|
+
return yield adapter.createStreamView(undefined, options);
|
25588
|
+
}),
|
25589
|
+
onCreateRemoteStreamView: (userId, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25590
|
+
return yield adapter.createStreamView(userId, options);
|
25591
|
+
}),
|
25592
|
+
onHangUp: (forEveryone) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25593
|
+
yield adapter.leaveCall(forEveryone);
|
25594
|
+
}),
|
25595
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
25596
|
+
onToggleHold: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25597
|
+
var _a;
|
25598
|
+
return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
|
25599
|
+
}),
|
25600
|
+
/* @conditional-compile-remove(PSTN-calls) */
|
25601
|
+
onAddParticipant: (participant, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25602
|
+
return yield adapter.addParticipant(participant, options);
|
25603
|
+
}),
|
25604
|
+
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
|
25605
|
+
onSendDtmfTone: (dtmfTone) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25606
|
+
yield adapter.sendDtmfTone(dtmfTone);
|
25607
|
+
}),
|
25608
|
+
onRemoveParticipant: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25609
|
+
yield adapter.removeParticipant(userId);
|
25610
|
+
}),
|
25611
|
+
/* @conditional-compile-remove(raise-hand) */
|
25612
|
+
onRaiseHand: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25613
|
+
yield adapter.raiseHand();
|
25614
|
+
}),
|
25615
|
+
/* @conditional-compile-remove(raise-hand) */
|
25616
|
+
onLowerHand: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25617
|
+
yield adapter.lowerHand();
|
25618
|
+
}),
|
25619
|
+
/* @conditional-compile-remove(raise-hand) */
|
25620
|
+
onToggleRaiseHand: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25621
|
+
var _b;
|
25622
|
+
((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
|
25623
|
+
? yield adapter.lowerHand()
|
25624
|
+
: yield adapter.raiseHand();
|
25625
|
+
}),
|
25626
|
+
/* @conditional-compile-remove(reaction) */
|
25627
|
+
onReactionClicked: (reaction) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25628
|
+
yield adapter.onReactionClicked(reaction);
|
25629
|
+
}),
|
25630
|
+
onSelectCamera: (deviceInfo, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25631
|
+
yield adapter.setCamera(deviceInfo, options);
|
25632
|
+
}),
|
25633
|
+
onSelectMicrophone: (deviceInfo) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25634
|
+
yield adapter.setMicrophone(deviceInfo);
|
25635
|
+
}),
|
25636
|
+
onSelectSpeaker: (deviceInfo) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25637
|
+
yield adapter.setSpeaker(deviceInfo);
|
25638
|
+
}),
|
25639
|
+
onStartCall: (participants, options) => {
|
25640
|
+
const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
|
25641
|
+
return adapter.startCall(rawIds, options);
|
25642
|
+
},
|
25643
|
+
onStartScreenShare: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25644
|
+
yield adapter.startScreenShare();
|
25645
|
+
}),
|
25646
|
+
onStopScreenShare: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25647
|
+
yield adapter.stopScreenShare();
|
25648
|
+
}),
|
25649
|
+
onToggleCamera: (options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25650
|
+
isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
|
25651
|
+
}),
|
25652
|
+
onToggleMicrophone: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25653
|
+
var _c;
|
25654
|
+
return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
|
25655
|
+
}),
|
25656
|
+
onToggleScreenShare: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25657
|
+
var _d;
|
25658
|
+
return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
|
25659
|
+
? yield adapter.stopScreenShare()
|
25660
|
+
: yield adapter.startScreenShare();
|
25661
|
+
}),
|
25662
|
+
onStartLocalVideo: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25663
|
+
if (adapter.getState().call) {
|
25664
|
+
return adapter.startCamera();
|
25665
|
+
}
|
25666
|
+
}),
|
25667
|
+
onDisposeLocalStreamView: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25668
|
+
return adapter.disposeLocalVideoStreamView();
|
25669
|
+
}),
|
25670
|
+
onDisposeRemoteStreamView: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25671
|
+
return adapter.disposeStreamView(userId);
|
25672
|
+
}),
|
25673
|
+
onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25674
|
+
return adapter.disposeScreenShareStreamView(userId);
|
25675
|
+
}),
|
25676
|
+
onDisposeRemoteVideoStreamView: (userId) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25677
|
+
return adapter.disposeRemoteVideoStreamView(userId);
|
25678
|
+
}),
|
25679
|
+
/* @conditional-compile-remove(call-readiness) */
|
25680
|
+
askDevicePermission: (constrain) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25681
|
+
return adapter.askDevicePermission(constrain);
|
25682
|
+
}),
|
25683
|
+
/* @conditional-compile-remove(video-background-effects) */
|
25684
|
+
onRemoveVideoBackgroundEffects: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25685
|
+
return yield adapter.stopVideoBackgroundEffects();
|
25686
|
+
}),
|
25687
|
+
/* @conditional-compile-remove(video-background-effects) */
|
25688
|
+
onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25689
|
+
const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
|
25690
|
+
return yield adapter.startVideoBackgroundEffect(blurConfig);
|
25691
|
+
}),
|
25692
|
+
/* @conditional-compile-remove(video-background-effects) */
|
25693
|
+
onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25694
|
+
const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
|
25695
|
+
return yield adapter.startVideoBackgroundEffect(replacementConfig);
|
25696
|
+
}),
|
25697
|
+
/* @conditional-compile-remove(close-captions) */
|
25698
|
+
onStartCaptions: (options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25699
|
+
yield adapter.startCaptions(options);
|
25700
|
+
}),
|
25701
|
+
/* @conditional-compile-remove(close-captions) */
|
25702
|
+
onStopCaptions: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25703
|
+
yield adapter.stopCaptions();
|
25704
|
+
}),
|
25705
|
+
/* @conditional-compile-remove(close-captions) */
|
25706
|
+
onSetSpokenLanguage: (language) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25707
|
+
yield adapter.setSpokenLanguage(language);
|
25708
|
+
}),
|
25709
|
+
/* @conditional-compile-remove(close-captions) */
|
25710
|
+
onSetCaptionLanguage: (language) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25711
|
+
yield adapter.setCaptionLanguage(language);
|
25712
|
+
}),
|
25713
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
25714
|
+
onSubmitSurvey: (survey) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25715
|
+
return yield adapter.submitSurvey(survey);
|
25716
|
+
}),
|
25717
|
+
/* @conditional-compile-remove(spotlight) */
|
25718
|
+
onStartSpotlight: (userIds) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25719
|
+
yield adapter.startSpotlight(userIds);
|
25720
|
+
}),
|
25721
|
+
/* @conditional-compile-remove(spotlight) */
|
25722
|
+
onStopSpotlight: (userIds) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25723
|
+
yield adapter.stopSpotlight(userIds);
|
25724
|
+
}),
|
25725
|
+
/* @conditional-compile-remove(spotlight) */
|
25726
|
+
onStartLocalSpotlight: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25727
|
+
yield adapter.startSpotlight();
|
25728
|
+
}),
|
25729
|
+
/* @conditional-compile-remove(spotlight) */
|
25730
|
+
onStopLocalSpotlight: () => __awaiter$j(void 0, void 0, void 0, function* () {
|
25731
|
+
yield adapter.stopSpotlight();
|
25732
|
+
}),
|
25733
|
+
/* @conditional-compile-remove(spotlight) */
|
25734
|
+
onStartRemoteSpotlight: (userIds) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25735
|
+
yield adapter.startSpotlight(userIds);
|
25736
|
+
}),
|
25737
|
+
/* @conditional-compile-remove(spotlight) */
|
25738
|
+
onStopRemoteSpotlight: (userIds) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25739
|
+
yield adapter.stopSpotlight(userIds);
|
25740
|
+
})
|
25741
|
+
};
|
25742
|
+
});
|
25586
25743
|
|
25587
25744
|
// Copyright (c) Microsoft Corporation.
|
25588
25745
|
// Licensed under the MIT License.
|
@@ -27290,6 +27447,17 @@ const DtmfDialpadButton = (props) => {
|
|
27290
27447
|
return (React.createElement(ControlBarButton, Object.assign({}, props, { strings: strings ? strings : dialpadButtonStrings, showLabel: displayType !== 'compact', labelKey: 'dtmfDialpadButtonLabelKey', onRenderOnIcon: onRenderOnIcon !== null && onRenderOnIcon !== void 0 ? onRenderOnIcon : icon, onRenderOffIcon: onRenderOffIcon !== null && onRenderOffIcon !== void 0 ? onRenderOffIcon : icon, onClick: onClick, styles: styles })));
|
27291
27448
|
};
|
27292
27449
|
|
27450
|
+
// Copyright (c) Microsoft Corporation.
|
27451
|
+
// Licensed under the MIT License.
|
27452
|
+
/* @conditional-compile-remove(spotlight) */
|
27453
|
+
/* @conditional-compile-remove(spotlight) */
|
27454
|
+
/**
|
27455
|
+
* @private
|
27456
|
+
*/
|
27457
|
+
const ExitSpotlightButton = (props) => {
|
27458
|
+
return (React.createElement(ControlBarButton, Object.assign({ "data-ui-id": 'call-composite-exit-spotlight-button', labelKey: 'exitSpotlightButtonLabelKey', showLabel: props.displayType !== 'compact', onRenderIcon: () => React.createElement(_HighContrastAwareIcon, { iconName: 'StopSpotlightContextualMenuItem' }), onClick: props.onClick }, props)));
|
27459
|
+
};
|
27460
|
+
|
27293
27461
|
// Copyright (c) Microsoft Corporation.
|
27294
27462
|
// Licensed under the MIT License.
|
27295
27463
|
const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) => {
|
@@ -27368,6 +27536,13 @@ const CommonCallControlBar = (props) => {
|
|
27368
27536
|
label: callWithChatStrings.moreDrawerButtonLabel,
|
27369
27537
|
tooltipContent: callWithChatStrings.moreDrawerButtonTooltip
|
27370
27538
|
}), [callWithChatStrings]);
|
27539
|
+
/* @conditional-compile-remove(spotlight) */
|
27540
|
+
const callStrings = useLocale().strings.call;
|
27541
|
+
/* @conditional-compile-remove(spotlight) */
|
27542
|
+
const exitSpotlightButtonStrings = React.useMemo(() => ({
|
27543
|
+
label: callStrings.exitSpotlightButtonLabel,
|
27544
|
+
tooltipContent: callStrings.exitSpotlightButtonTooltip
|
27545
|
+
}), [callStrings]);
|
27371
27546
|
const centerContainerStyles = React.useMemo(() => {
|
27372
27547
|
const styles = !props.mobileView ? desktopControlBarStyles : {};
|
27373
27548
|
return react.mergeStyleSets(styles, {
|
@@ -27398,6 +27573,8 @@ const CommonCallControlBar = (props) => {
|
|
27398
27573
|
const screenShareButtonIsEnabled = isEnabled$1(options === null || options === void 0 ? void 0 : options.screenShareButton);
|
27399
27574
|
const microphoneButtonIsEnabled = isEnabled$1(options === null || options === void 0 ? void 0 : options.microphoneButton);
|
27400
27575
|
const cameraButtonIsEnabled = isEnabled$1(options === null || options === void 0 ? void 0 : options.cameraButton);
|
27576
|
+
/* @conditional-compile-remove(spotlight) */
|
27577
|
+
const showExitSpotlightButton = (options === null || options === void 0 ? void 0 : options.exitSpotlightButton) !== false;
|
27401
27578
|
const showDesktopMoreButton =
|
27402
27579
|
/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */ isEnabled$1(options === null || options === void 0 ? void 0 : options.moreButton) &&
|
27403
27580
|
(/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled$1(options === null || options === void 0 ? void 0 : options.holdButton) ||
|
@@ -27444,6 +27621,8 @@ const CommonCallControlBar = (props) => {
|
|
27444
27621
|
props.onSetDialpadPage();
|
27445
27622
|
}
|
27446
27623
|
} })),
|
27624
|
+
/* @conditional-compile-remove(spotlight) */ showExitSpotlightButton &&
|
27625
|
+
props.onStopLocalSpotlight && (React.createElement(ExitSpotlightButton, { displayType: options.displayType, onClick: props.onStopLocalSpotlight, styles: commonButtonStyles, strings: exitSpotlightButtonStrings })),
|
27447
27626
|
screenShareButtonIsEnabled && (React.createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
|
27448
27627
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
27449
27628
|
disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.screenShareButton) })), (_b = customButtons['primary']) === null || _b === void 0 ? void 0 :
|
@@ -28891,11 +29070,13 @@ const usePeoplePane = (props) => {
|
|
28891
29070
|
/* @conditional-compile-remove(spotlight) */
|
28892
29071
|
spotlightedParticipantUserIds,
|
28893
29072
|
/* @conditional-compile-remove(spotlight) */
|
28894
|
-
|
29073
|
+
onStartLocalSpotlight,
|
28895
29074
|
/* @conditional-compile-remove(spotlight) */
|
28896
|
-
|
29075
|
+
onStopLocalSpotlight,
|
29076
|
+
/* @conditional-compile-remove(spotlight) */
|
29077
|
+
onStartRemoteSpotlight,
|
28897
29078
|
/* @conditional-compile-remove(spotlight) */
|
28898
|
-
|
29079
|
+
onStopRemoteSpotlight,
|
28899
29080
|
/* @conditional-compile-remove(spotlight) */
|
28900
29081
|
maxParticipantsToSpotlight } = props;
|
28901
29082
|
const closePane = React.useCallback(() => {
|
@@ -28909,17 +29090,23 @@ const usePeoplePane = (props) => {
|
|
28909
29090
|
const onFetchParticipantMenuItemsForCallComposite = React.useCallback((participantId, myUserId, defaultMenuItems) => {
|
28910
29091
|
const _defaultMenuItems = defaultMenuItems !== null && defaultMenuItems !== void 0 ? defaultMenuItems : [];
|
28911
29092
|
const isSpotlighted = spotlightedParticipantUserIds === null || spotlightedParticipantUserIds === void 0 ? void 0 : spotlightedParticipantUserIds.find((p) => p === participantId);
|
29093
|
+
const isMe = myUserId === participantId;
|
28912
29094
|
if (isSpotlighted) {
|
28913
|
-
const stopSpotlightMenuText =
|
29095
|
+
const stopSpotlightMenuText = isMe
|
28914
29096
|
? localeStrings.stopSpotlightOnSelfParticipantListMenuLabel
|
28915
29097
|
: localeStrings.stopSpotlightParticipantListMenuLabel;
|
28916
|
-
|
29098
|
+
const onStopSpotlight = isMe
|
29099
|
+
? onStopLocalSpotlight
|
29100
|
+
: onStopRemoteSpotlight
|
29101
|
+
? () => {
|
29102
|
+
onStopRemoteSpotlight([participantId]);
|
29103
|
+
}
|
29104
|
+
: undefined;
|
29105
|
+
if (onStopSpotlight && stopSpotlightMenuText) {
|
28917
29106
|
_defaultMenuItems.push({
|
28918
29107
|
key: 'stop-spotlight',
|
28919
29108
|
text: stopSpotlightMenuText,
|
28920
|
-
onClick:
|
28921
|
-
onStopSpotlight === null || onStopSpotlight === void 0 ? void 0 : onStopSpotlight([participantId]);
|
28922
|
-
},
|
29109
|
+
onClick: onStopSpotlight,
|
28923
29110
|
iconProps: {
|
28924
29111
|
iconName: 'StopSpotlightContextualMenuItem',
|
28925
29112
|
styles: { root: { lineHeight: 0 } }
|
@@ -28937,13 +29124,18 @@ const usePeoplePane = (props) => {
|
|
28937
29124
|
? spotlightedParticipantUserIds.length >= maxParticipantsToSpotlight
|
28938
29125
|
: false
|
28939
29126
|
: false;
|
28940
|
-
|
29127
|
+
const onStartSpotlight = isMe
|
29128
|
+
? onStartLocalSpotlight
|
29129
|
+
: onStartRemoteSpotlight
|
29130
|
+
? () => {
|
29131
|
+
onStartRemoteSpotlight([participantId]);
|
29132
|
+
}
|
29133
|
+
: undefined;
|
29134
|
+
if (onStartSpotlight && startSpotlightMenuText) {
|
28941
29135
|
_defaultMenuItems.push({
|
28942
29136
|
key: 'start-spotlight',
|
28943
29137
|
text: startSpotlightMenuText,
|
28944
|
-
onClick:
|
28945
|
-
onStartSpotlight === null || onStartSpotlight === void 0 ? void 0 : onStartSpotlight([participantId]);
|
28946
|
-
},
|
29138
|
+
onClick: onStartSpotlight,
|
28947
29139
|
iconProps: {
|
28948
29140
|
iconName: 'StartSpotlightContextualMenuItem',
|
28949
29141
|
styles: { root: { lineHeight: 0 } }
|
@@ -28961,15 +29153,16 @@ const usePeoplePane = (props) => {
|
|
28961
29153
|
: _defaultMenuItems;
|
28962
29154
|
}, [
|
28963
29155
|
spotlightedParticipantUserIds,
|
28964
|
-
|
28965
|
-
|
29156
|
+
onStartLocalSpotlight,
|
29157
|
+
onStopLocalSpotlight,
|
29158
|
+
onStartRemoteSpotlight,
|
29159
|
+
onStopRemoteSpotlight,
|
28966
29160
|
onFetchParticipantMenuItems,
|
28967
29161
|
localeStrings.stopSpotlightParticipantListMenuLabel,
|
28968
29162
|
localeStrings.stopSpotlightOnSelfParticipantListMenuLabel,
|
28969
29163
|
localeStrings.addSpotlightParticipantListMenuLabel,
|
28970
29164
|
localeStrings.startSpotlightParticipantListMenuLabel,
|
28971
29165
|
localeStrings.spotlightLimitReachedParticipantListMenuTitle,
|
28972
|
-
ableToSpotlight,
|
28973
29166
|
maxParticipantsToSpotlight
|
28974
29167
|
]);
|
28975
29168
|
let _onFetchParticipantMenuItems = onFetchParticipantMenuItems;
|
@@ -29684,31 +29877,94 @@ var __awaiter$d = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
29684
29877
|
/**
|
29685
29878
|
* @internal
|
29686
29879
|
*/
|
29687
|
-
const
|
29688
|
-
const
|
29880
|
+
const useLocalSpotlightCallbacksWithPrompt = (onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps) => {
|
29881
|
+
const strings = useLocale().strings.call;
|
29882
|
+
return React.useMemo(() => {
|
29883
|
+
if (!setIsPromptOpen || !setPromptProps) {
|
29884
|
+
return {
|
29885
|
+
onStartLocalSpotlightWithPrompt: onStartLocalSpotlight,
|
29886
|
+
onStopLocalSpotlightWithPrompt: onStopLocalSpotlight
|
29887
|
+
};
|
29888
|
+
}
|
29889
|
+
return {
|
29890
|
+
onStartLocalSpotlightWithPrompt: onStartLocalSpotlight
|
29891
|
+
? getStartLocalSpotlightWithPromptCallback(onStartLocalSpotlight, setIsPromptOpen, setPromptProps, strings)
|
29892
|
+
: undefined,
|
29893
|
+
onStopLocalSpotlightWithPrompt: onStopLocalSpotlight
|
29894
|
+
? getStopLocalSpotlightWithPromptCallback(onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings)
|
29895
|
+
: undefined
|
29896
|
+
};
|
29897
|
+
}, [onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings]);
|
29898
|
+
};
|
29899
|
+
/* @conditional-compile-remove(spotlight) */
|
29900
|
+
const getStartLocalSpotlightWithPromptCallback = (onStartSpotlight, setIsPromptOpen, setPromptProps, strings) => {
|
29901
|
+
return () => __awaiter$d(void 0, void 0, void 0, function* () {
|
29902
|
+
setPromptProps({
|
29903
|
+
heading: strings.spotlightPrompt.startSpotlightHeading,
|
29904
|
+
text: strings.spotlightPrompt.startSpotlightOnSelfText,
|
29905
|
+
confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,
|
29906
|
+
cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,
|
29907
|
+
onConfirm: () => {
|
29908
|
+
onStartSpotlight();
|
29909
|
+
setIsPromptOpen(false);
|
29910
|
+
},
|
29911
|
+
onCancel: () => setIsPromptOpen(false)
|
29912
|
+
});
|
29913
|
+
setIsPromptOpen(true);
|
29914
|
+
});
|
29915
|
+
};
|
29916
|
+
/* @conditional-compile-remove(spotlight) */
|
29917
|
+
const getStopLocalSpotlightWithPromptCallback = (onStopSpotlight, setIsPromptOpen, setPromptProps, strings) => {
|
29918
|
+
return (userIds) => __awaiter$d(void 0, void 0, void 0, function* () {
|
29919
|
+
if (userIds && userIds.length > 1) {
|
29920
|
+
onStopSpotlight(userIds);
|
29921
|
+
}
|
29922
|
+
setPromptProps({
|
29923
|
+
heading: strings.spotlightPrompt.stopSpotlightOnSelfHeading,
|
29924
|
+
text: strings.spotlightPrompt.stopSpotlightOnSelfText,
|
29925
|
+
confirmButtonLabel: strings.spotlightPrompt.stopSpotlightOnSelfConfirmButtonLabel,
|
29926
|
+
cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
|
29927
|
+
onConfirm: () => {
|
29928
|
+
onStopSpotlight(userIds);
|
29929
|
+
setIsPromptOpen(false);
|
29930
|
+
},
|
29931
|
+
onCancel: () => setIsPromptOpen(false)
|
29932
|
+
});
|
29933
|
+
setIsPromptOpen(true);
|
29934
|
+
});
|
29935
|
+
};
|
29936
|
+
/* @conditional-compile-remove(spotlight) */
|
29937
|
+
/**
|
29938
|
+
* @internal
|
29939
|
+
*/
|
29940
|
+
const useRemoteSpotlightCallbacksWithPrompt = (onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps) => {
|
29689
29941
|
const strings = useLocale().strings.call;
|
29690
29942
|
return React.useMemo(() => {
|
29691
29943
|
if (!setIsPromptOpen || !setPromptProps) {
|
29692
|
-
return {
|
29944
|
+
return {
|
29945
|
+
onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight,
|
29946
|
+
onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight
|
29947
|
+
};
|
29693
29948
|
}
|
29694
29949
|
return {
|
29695
|
-
|
29696
|
-
|
29950
|
+
onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight
|
29951
|
+
? getStartRemoteSpotlightWithPromptCallback(onStartRemoteSpotlight, setIsPromptOpen, setPromptProps, strings)
|
29952
|
+
: undefined,
|
29953
|
+
onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight
|
29954
|
+
? getStopRemoteSpotlightWithPromptCallback(onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings)
|
29955
|
+
: undefined
|
29697
29956
|
};
|
29698
|
-
}, [
|
29957
|
+
}, [onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings]);
|
29699
29958
|
};
|
29700
29959
|
/* @conditional-compile-remove(spotlight) */
|
29701
|
-
const
|
29960
|
+
const getStartRemoteSpotlightWithPromptCallback = (onStartSpotlight, setIsPromptOpen, setPromptProps, strings) => {
|
29702
29961
|
return (userIds) => __awaiter$d(void 0, void 0, void 0, function* () {
|
29703
29962
|
if (userIds && userIds.length > 1) {
|
29704
29963
|
onStartSpotlight(userIds);
|
29705
29964
|
}
|
29706
|
-
const startSpotlightPromptText = userIds === undefined || userIds[0] === myUserId
|
29707
|
-
? strings.spotlightPrompt.startSpotlightOnSelfText
|
29708
|
-
: strings.spotlightPrompt.startSpotlightText;
|
29709
29965
|
setPromptProps({
|
29710
29966
|
heading: strings.spotlightPrompt.startSpotlightHeading,
|
29711
|
-
text:
|
29967
|
+
text: strings.spotlightPrompt.startSpotlightText,
|
29712
29968
|
confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,
|
29713
29969
|
cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,
|
29714
29970
|
onConfirm: () => {
|
@@ -29721,24 +29977,15 @@ const getStartSpotlightWithPromptCallback = (myUserId, onStartSpotlight, setIsPr
|
|
29721
29977
|
});
|
29722
29978
|
};
|
29723
29979
|
/* @conditional-compile-remove(spotlight) */
|
29724
|
-
const
|
29980
|
+
const getStopRemoteSpotlightWithPromptCallback = (onStopSpotlight, setIsPromptOpen, setPromptProps, strings) => {
|
29725
29981
|
return (userIds) => __awaiter$d(void 0, void 0, void 0, function* () {
|
29726
29982
|
if (userIds && userIds.length > 1) {
|
29727
29983
|
onStopSpotlight(userIds);
|
29728
29984
|
}
|
29729
|
-
const stopSpotlightPromptHeading = userIds === undefined || userIds[0] === myUserId
|
29730
|
-
? strings.spotlightPrompt.stopSpotlightOnSelfHeading
|
29731
|
-
: strings.spotlightPrompt.stopSpotlightHeading;
|
29732
|
-
const stopSpotlightPromptText = userIds === undefined || userIds[0] === myUserId
|
29733
|
-
? strings.spotlightPrompt.stopSpotlightOnSelfText
|
29734
|
-
: strings.spotlightPrompt.stopSpotlightText;
|
29735
|
-
const stopSpotlightPromptConfirmButtonLabel = userIds === undefined || userIds[0] === myUserId
|
29736
|
-
? strings.spotlightPrompt.stopSpotlightOnSelfConfirmButtonLabel
|
29737
|
-
: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel;
|
29738
29985
|
setPromptProps({
|
29739
|
-
heading:
|
29740
|
-
text:
|
29741
|
-
confirmButtonLabel:
|
29986
|
+
heading: strings.spotlightPrompt.stopSpotlightHeading,
|
29987
|
+
text: strings.spotlightPrompt.stopSpotlightText,
|
29988
|
+
confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,
|
29742
29989
|
cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
|
29743
29990
|
onConfirm: () => {
|
29744
29991
|
onStopSpotlight(userIds);
|
@@ -29756,7 +30003,7 @@ const getStopSpotlightWithPromptCallback = (myUserId, onStopSpotlight, setIsProm
|
|
29756
30003
|
* @private
|
29757
30004
|
*/
|
29758
30005
|
const CallArrangement = (props) => {
|
29759
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
30006
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
29760
30007
|
const containerClassName = React.useMemo(() => {
|
29761
30008
|
return props.mobileView ? containerStyleMobile : containerStyleDesktop;
|
29762
30009
|
}, [props.mobileView]);
|
@@ -29800,14 +30047,17 @@ const CallArrangement = (props) => {
|
|
29800
30047
|
/* @conditional-compile-remove(spotlight) */
|
29801
30048
|
const { setPromptProps, setIsPromptOpen } = props;
|
29802
30049
|
/* @conditional-compile-remove(spotlight) */
|
29803
|
-
const {
|
30050
|
+
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, spotlightedParticipants, maxParticipantsToSpotlight, localParticipant } = videoGalleryProps;
|
30051
|
+
/* @conditional-compile-remove(spotlight) */
|
30052
|
+
const { onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);
|
29804
30053
|
/* @conditional-compile-remove(spotlight) */
|
29805
|
-
const {
|
30054
|
+
const { onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);
|
29806
30055
|
const { isPeoplePaneOpen, openPeoplePane, closePeoplePane } = usePeoplePane(Object.assign(Object.assign({}, peoplePaneProps), {
|
29807
30056
|
/* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds: spotlightedParticipants,
|
29808
|
-
/* @conditional-compile-remove(spotlight) */
|
29809
|
-
/* @conditional-compile-remove(spotlight) */
|
29810
|
-
/* @conditional-compile-remove(spotlight) */
|
30057
|
+
/* @conditional-compile-remove(spotlight) */ onStartLocalSpotlight: onStartLocalSpotlightWithPrompt,
|
30058
|
+
/* @conditional-compile-remove(spotlight) */ onStopLocalSpotlight: onStopLocalSpotlightWithPrompt,
|
30059
|
+
/* @conditional-compile-remove(spotlight) */ onStartRemoteSpotlight: onStartRemoteSpotlightWithPrompt,
|
30060
|
+
/* @conditional-compile-remove(spotlight) */ onStopRemoteSpotlight: onStopRemoteSpotlightWithPrompt,
|
29811
30061
|
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight }));
|
29812
30062
|
const togglePeoplePane = React.useCallback(() => {
|
29813
30063
|
if (isPeoplePaneOpen) {
|
@@ -29862,7 +30112,7 @@ const CallArrangement = (props) => {
|
|
29862
30112
|
}, [togglePeoplePane]);
|
29863
30113
|
const drawerContainerStylesValue = React.useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
|
29864
30114
|
/* @conditional-compile-remove(rooms) */
|
29865
|
-
const role = (
|
30115
|
+
const role = (_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
|
29866
30116
|
let canUnmute = true;
|
29867
30117
|
/* @conditional-compile-remove(rooms) */
|
29868
30118
|
canUnmute = role !== 'Consumer' ? true : false;
|
@@ -29892,15 +30142,15 @@ const CallArrangement = (props) => {
|
|
29892
30142
|
/* @conditional-compile-remove(capabilities) */
|
29893
30143
|
// Filter out shareScreen capability notifications if on mobile
|
29894
30144
|
const filteredCapabilitesChangedNotifications = props.mobileView
|
29895
|
-
? (
|
29896
|
-
: (
|
30145
|
+
? (_c = props.capabilitiesChangedNotificationBarProps) === null || _c === void 0 ? void 0 : _c.capabilitiesChangedNotifications.filter((notification) => notification.capabilityName !== 'shareScreen')
|
30146
|
+
: (_d = props.capabilitiesChangedNotificationBarProps) === null || _d === void 0 ? void 0 : _d.capabilitiesChangedNotifications;
|
29897
30147
|
return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
|
29898
30148
|
React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
29899
30149
|
React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
|
29900
|
-
((
|
30150
|
+
((_e = props.callControlProps) === null || _e === void 0 ? void 0 : _e.options) !== false && !isMobileWithActivePane && (React.createElement(react.Stack, { verticalAlign: 'center', className: react.mergeStyles({
|
29901
30151
|
zIndex: CONTROL_BAR_Z_INDEX,
|
29902
30152
|
padding: verticalControlBar ? '0.25rem' : 'unset'
|
29903
|
-
}) }, isLegacyCallControlEnabled((
|
30153
|
+
}) }, isLegacyCallControlEnabled((_f = props.callControlProps) === null || _f === void 0 ? void 0 : _f.options) ? (React.createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView,
|
29904
30154
|
/* @conditional-compile-remove(one-to-n-calling) */
|
29905
30155
|
peopleButtonChecked: isPeoplePaneOpen,
|
29906
30156
|
/* @conditional-compile-remove(one-to-n-calling) */
|
@@ -29922,8 +30172,10 @@ const CallArrangement = (props) => {
|
|
29922
30172
|
/* @conditional-compile-remove(dtmf-dialer) */
|
29923
30173
|
onSetDialpadPage: props.onSetDialpadPage,
|
29924
30174
|
/* @conditional-compile-remove(dtmf-dialer) */
|
29925
|
-
dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef
|
29926
|
-
|
30175
|
+
dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef,
|
30176
|
+
/* @conditional-compile-remove(spotlight) */
|
30177
|
+
onStopLocalSpotlight: localParticipant.spotlight ? onStopLocalSpotlight : undefined }))))),
|
30178
|
+
((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
|
29927
30179
|
React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
|
29928
30180
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
29929
30181
|
disableButtonsForHoldScreen: isInLocalHold,
|
@@ -29959,7 +30211,7 @@ const CallArrangement = (props) => {
|
|
29959
30211
|
maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, minWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)
|
29960
30212
|
? undefined
|
29961
30213
|
: togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
|
29962
|
-
isDisabled$4((
|
30214
|
+
isDisabled$4((_h = props.callControlProps.options) === null || _h === void 0 ? void 0 : _h.participantsButton), onChatButtonClicked: (_j = props.mobileChatTabHeader) === null || _j === void 0 ? void 0 : _j.onClick, disableChatButton: (_k = props.mobileChatTabHeader) === null || _k === void 0 ? void 0 : _k.disabled }),
|
29963
30215
|
props.mobileView && (React.createElement(ModalLocalAndRemotePIP, { modalLayerHostId: props.modalLayerHostId, hidden: !isSidePaneOpen, styles: pipStyles, strings: modalStrings, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition, onDismissSidePane: () => {
|
29964
30216
|
closePeoplePane();
|
29965
30217
|
if (props.onCloseChatPane) {
|
@@ -30015,7 +30267,7 @@ const remoteVideoViewOptions = {
|
|
30015
30267
|
* @private
|
30016
30268
|
*/
|
30017
30269
|
const MediaGallery = (props) => {
|
30018
|
-
var _a, _b, _c
|
30270
|
+
var _a, _b, _c;
|
30019
30271
|
/* @conditional-compile-remove(spotlight) */
|
30020
30272
|
const { setIsPromptOpen, setPromptProps } = props;
|
30021
30273
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
@@ -30070,11 +30322,11 @@ const MediaGallery = (props) => {
|
|
30070
30322
|
containerHeight
|
30071
30323
|
]);
|
30072
30324
|
/* @conditional-compile-remove(spotlight) */
|
30073
|
-
const {
|
30325
|
+
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight } = videoGalleryProps;
|
30074
30326
|
/* @conditional-compile-remove(spotlight) */
|
30075
|
-
const {
|
30327
|
+
const { onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);
|
30076
30328
|
/* @conditional-compile-remove(spotlight) */
|
30077
|
-
const
|
30329
|
+
const { onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);
|
30078
30330
|
const VideoGalleryMemoized = React.useMemo(() => {
|
30079
30331
|
const layoutBasedOnUserSelection = () => {
|
30080
30332
|
/* @conditional-compile-remove(gallery-layouts) */
|
@@ -30092,9 +30344,13 @@ const MediaGallery = (props) => {
|
|
30092
30344
|
/* @conditional-compile-remove(reaction) */
|
30093
30345
|
reactionResources: reactionResources,
|
30094
30346
|
/* @conditional-compile-remove(spotlight) */
|
30095
|
-
|
30347
|
+
onStartLocalSpotlight: onStartLocalSpotlightWithPrompt,
|
30348
|
+
/* @conditional-compile-remove(spotlight) */
|
30349
|
+
onStopLocalSpotlight: onStopLocalSpotlightWithPrompt,
|
30350
|
+
/* @conditional-compile-remove(spotlight) */
|
30351
|
+
onStartRemoteSpotlight: onStartRemoteSpotlightWithPrompt,
|
30096
30352
|
/* @conditional-compile-remove(spotlight) */
|
30097
|
-
|
30353
|
+
onStopRemoteSpotlight: onStopRemoteSpotlightWithPrompt })));
|
30098
30354
|
}, [
|
30099
30355
|
videoGalleryProps,
|
30100
30356
|
props.isMobile,
|
@@ -30117,11 +30373,13 @@ const MediaGallery = (props) => {
|
|
30117
30373
|
/* @conditional-compile-remove(reaction) */
|
30118
30374
|
reactionResources,
|
30119
30375
|
/* @conditional-compile-remove(spotlight) */
|
30120
|
-
|
30376
|
+
onStartLocalSpotlightWithPrompt,
|
30121
30377
|
/* @conditional-compile-remove(spotlight) */
|
30122
|
-
|
30378
|
+
onStopLocalSpotlightWithPrompt,
|
30123
30379
|
/* @conditional-compile-remove(spotlight) */
|
30124
|
-
|
30380
|
+
onStartRemoteSpotlightWithPrompt,
|
30381
|
+
/* @conditional-compile-remove(spotlight) */
|
30382
|
+
onStopRemoteSpotlightWithPrompt
|
30125
30383
|
]);
|
30126
30384
|
return (React.createElement("div", { ref: containerRef, style: mediaGalleryContainerStyles },
|
30127
30385
|
React.createElement(Announcer$1, { announcementString: announcerString, ariaLive: 'polite' }),
|
@@ -34983,17 +35241,12 @@ class CallWithChatBackedChatAdapter {
|
|
34983
35241
|
this.callWithChatAdapter = callWithChatAdapter;
|
34984
35242
|
}
|
34985
35243
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
34986
|
-
|
34987
|
-
downloadAttachment(options) {
|
35244
|
+
downloadResourceToCache(resourceDetails) {
|
34988
35245
|
return __awaiter$3(this, void 0, void 0, function* () {
|
34989
|
-
|
35246
|
+
this.callWithChatAdapter.downloadResourceToCache(resourceDetails);
|
34990
35247
|
});
|
34991
35248
|
}
|
34992
35249
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
34993
|
-
downloadResourceToCache(resourceDetails) {
|
34994
|
-
this.callWithChatAdapter.downloadResourceToCache(resourceDetails);
|
34995
|
-
}
|
34996
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
34997
35250
|
removeResourceFromCache(resourceDetails) {
|
34998
35251
|
this.callWithChatAdapter.removeResourceFromCache(resourceDetails);
|
34999
35252
|
}
|
@@ -35640,8 +35893,6 @@ class AzureCommunicationCallWithChatAdapter {
|
|
35640
35893
|
/* @conditional-compile-remove(file-sharing) */
|
35641
35894
|
this.updateFileUploadMetadata = this.updateFileUploadMetadata.bind(this);
|
35642
35895
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
35643
|
-
this.downloadAttachment = this.downloadAttachment.bind(this); // ToDo: This method is to be removed
|
35644
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
35645
35896
|
this.downloadResourceToCache = this.downloadResourceToCache.bind(this);
|
35646
35897
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
35647
35898
|
this.removeResourceFromCache = this.removeResourceFromCache.bind(this);
|
@@ -35900,17 +36151,12 @@ class AzureCommunicationCallWithChatAdapter {
|
|
35900
36151
|
});
|
35901
36152
|
}
|
35902
36153
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
35903
|
-
|
35904
|
-
downloadAttachment(options) {
|
36154
|
+
downloadResourceToCache(resourceDetails) {
|
35905
36155
|
return __awaiter$2(this, void 0, void 0, function* () {
|
35906
|
-
|
36156
|
+
this.chatAdapter.downloadResourceToCache(resourceDetails);
|
35907
36157
|
});
|
35908
36158
|
}
|
35909
36159
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
35910
|
-
downloadResourceToCache(resourceDetails) {
|
35911
|
-
this.chatAdapter.downloadResourceToCache(resourceDetails);
|
35912
|
-
}
|
35913
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
35914
36160
|
removeResourceFromCache(resourceDetails) {
|
35915
36161
|
this.chatAdapter.removeResourceFromCache(resourceDetails);
|
35916
36162
|
}
|
@@ -36324,15 +36570,11 @@ beforeDispose) => {
|
|
36324
36570
|
*/
|
36325
36571
|
const createAzureCommunicationCallWithChatAdapterFromClients = ({ callClient, callAgent, callLocator, chatClient, chatThreadClient,
|
36326
36572
|
/* @conditional-compile-remove(video-background-effects) */
|
36327
|
-
callAdapterOptions,
|
36328
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
36329
|
-
chatAdapterOptions }) => __awaiter$2(void 0, void 0, void 0, function* () {
|
36573
|
+
callAdapterOptions }) => __awaiter$2(void 0, void 0, void 0, function* () {
|
36330
36574
|
const createCallAdapterPromise = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, callLocator,
|
36331
36575
|
/* @conditional-compile-remove(video-background-effects) */
|
36332
36576
|
callAdapterOptions);
|
36333
|
-
const createChatAdapterPromise = createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient
|
36334
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
36335
|
-
chatAdapterOptions);
|
36577
|
+
const createChatAdapterPromise = createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);
|
36336
36578
|
const [callAdapter, chatAdapter] = yield Promise.all([createCallAdapterPromise, createChatAdapterPromise]);
|
36337
36579
|
return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);
|
36338
36580
|
});
|