@azure/communication-react 1.16.0-alpha-202404190012 → 1.16.0-alpha-202404200012
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 +145 -82
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-WGqg2woK.js → ChatMessageComponentAsRichTextEditBox-DpYUiI1l.js} +3 -3
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-WGqg2woK.js.map → ChatMessageComponentAsRichTextEditBox-DpYUiI1l.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-oaEwmItW.js → index-C2GfkUGz.js} +255 -365
- package/dist/dist-cjs/communication-react/index-C2GfkUGz.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -7
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +5 -32
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -8
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.js +0 -1
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +22 -24
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -2
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +0 -4
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +0 -1
- package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +0 -1
- package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -2
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +2 -2
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/AttachmentCard.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/AttachmentCard.js +2 -2
- package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.d.ts +3 -4
- package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +2 -2
- package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +4 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +2 -2
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -0
- 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/RichTextEditor/RichTextEditor.js +11 -4
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +4 -4
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +20 -13
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +4 -4
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +4 -4
- package/dist/dist-esm/react-components/src/components/SendBox.js +20 -14
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +6 -6
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +0 -4
- package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +15 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +7 -5
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +5 -0
- package/dist/dist-esm/react-components/src/components/VideoTile.js +7 -5
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/index.js +0 -4
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +4 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +0 -4
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +0 -7
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +6 -6
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.js +0 -1
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.js +0 -6
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +1 -0
- package/dist/dist-esm/react-components/src/theming/themes.js +4 -2
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/Attachment.d.ts +48 -24
- package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +4 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.d.ts +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +5 -23
- 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.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +4 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +5 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +20 -18
- 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 +17 -11
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +5 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -7
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +14 -13
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +30 -21
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +5 -3
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +26 -2
- 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 +10 -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/adapter/ChatAdapterProvider.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +10 -10
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +7 -7
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.d.ts +5 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +2 -27
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +0 -20
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +0 -13
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +4 -15
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +1 -17
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +0 -9
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -23
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +0 -3
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +0 -9
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
- package/package.json +3 -3
- package/dist/dist-cjs/communication-react/index-oaEwmItW.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +0 -11
- package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +0 -1
@@ -176,7 +176,7 @@ function getDefaultExportFromCjs (x) {
|
|
176
176
|
// Copyright (c) Microsoft Corporation.
|
177
177
|
// Licensed under the MIT License.
|
178
178
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
179
|
-
var telemetryVersion = '1.16.0-alpha-
|
179
|
+
var telemetryVersion = '1.16.0-alpha-202404200012';
|
180
180
|
|
181
181
|
|
182
182
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -484,43 +484,36 @@ const getParticipantCount = (state, props) => {
|
|
484
484
|
/* @conditional-compile-remove(total-participant-count) */
|
485
485
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.totalParticipantCount;
|
486
486
|
};
|
487
|
-
/* @conditional-compile-remove(close-captions) */
|
488
487
|
/** @private */
|
489
488
|
const getCaptions = (state, props) => {
|
490
489
|
var _a;
|
491
490
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.captions;
|
492
491
|
};
|
493
|
-
/* @conditional-compile-remove(close-captions) */
|
494
492
|
/** @private */
|
495
493
|
const getCaptionsStatus$1 = (state, props) => {
|
496
494
|
var _a;
|
497
495
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.isCaptionsFeatureActive;
|
498
496
|
};
|
499
|
-
/* @conditional-compile-remove(close-captions) */
|
500
497
|
/** @private */
|
501
498
|
const getStartCaptionsInProgress = (state, props) => {
|
502
499
|
var _a;
|
503
500
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.startCaptionsInProgress;
|
504
501
|
};
|
505
|
-
/* @conditional-compile-remove(close-captions) */
|
506
502
|
/** @private */
|
507
503
|
const getCurrentCaptionLanguage = (state, props) => {
|
508
504
|
var _a;
|
509
505
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.currentCaptionLanguage;
|
510
506
|
};
|
511
|
-
/* @conditional-compile-remove(close-captions) */
|
512
507
|
/** @private */
|
513
508
|
const getCurrentSpokenLanguage = (state, props) => {
|
514
509
|
var _a;
|
515
510
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.currentSpokenLanguage;
|
516
511
|
};
|
517
|
-
/* @conditional-compile-remove(close-captions) */
|
518
512
|
/** @private */
|
519
513
|
const getSupportedCaptionLanguages = (state, props) => {
|
520
514
|
var _a;
|
521
515
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.supportedCaptionLanguages;
|
522
516
|
};
|
523
|
-
/* @conditional-compile-remove(close-captions) */
|
524
517
|
/** @private */
|
525
518
|
const getSupportedSpokenLanguages = (state, props) => {
|
526
519
|
var _a;
|
@@ -1101,22 +1094,18 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1101
1094
|
return (createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig)));
|
1102
1095
|
}
|
1103
1096
|
});
|
1104
|
-
/* @conditional-compile-remove(close-captions) */
|
1105
1097
|
const onStartCaptions = (options) => __awaiter$R(void 0, void 0, void 0, function* () {
|
1106
1098
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1107
1099
|
yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.startCaptions(options));
|
1108
1100
|
});
|
1109
|
-
/* @conditional-compile-remove(close-captions) */
|
1110
1101
|
const onStopCaptions = () => __awaiter$R(void 0, void 0, void 0, function* () {
|
1111
1102
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1112
1103
|
yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.stopCaptions());
|
1113
1104
|
});
|
1114
|
-
/* @conditional-compile-remove(close-captions) */
|
1115
1105
|
const onSetSpokenLanguage = (language) => __awaiter$R(void 0, void 0, void 0, function* () {
|
1116
1106
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1117
1107
|
yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.setSpokenLanguage(language));
|
1118
1108
|
});
|
1119
|
-
/* @conditional-compile-remove(close-captions) */
|
1120
1109
|
const onSetCaptionLanguage = (language) => __awaiter$R(void 0, void 0, void 0, function* () {
|
1121
1110
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1122
1111
|
yield captionsFeature.setCaptionLanguage(language);
|
@@ -1198,13 +1187,9 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1198
1187
|
onRemoveVideoBackgroundEffects,
|
1199
1188
|
onBlurVideoBackground,
|
1200
1189
|
onReplaceVideoBackground,
|
1201
|
-
/* @conditional-compile-remove(close-captions) */
|
1202
1190
|
onStartCaptions,
|
1203
|
-
/* @conditional-compile-remove(close-captions) */
|
1204
1191
|
onStopCaptions,
|
1205
|
-
/* @conditional-compile-remove(close-captions) */
|
1206
1192
|
onSetCaptionLanguage,
|
1207
|
-
/* @conditional-compile-remove(close-captions) */
|
1208
1193
|
onSetSpokenLanguage,
|
1209
1194
|
/* @conditional-compile-remove(end-of-call-survey) */
|
1210
1195
|
onSubmitSurvey,
|
@@ -1332,8 +1317,6 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
|
|
1332
1317
|
|
1333
1318
|
// Copyright (c) Microsoft Corporation.
|
1334
1319
|
// Licensed under the MIT License.
|
1335
|
-
/* @conditional-compile-remove(close-captions) */
|
1336
|
-
/* @conditional-compile-remove(close-captions) */
|
1337
1320
|
/**
|
1338
1321
|
* Selector for {@link StartCaptionsButton} component.
|
1339
1322
|
*
|
@@ -1346,7 +1329,6 @@ const _startCaptionsButtonSelector = reselect__namespace.createSelector([getCapt
|
|
1346
1329
|
currentSpokenLanguage: currentSpokenLanguage !== null && currentSpokenLanguage !== void 0 ? currentSpokenLanguage : 'en-us'
|
1347
1330
|
};
|
1348
1331
|
});
|
1349
|
-
/* @conditional-compile-remove(close-captions) */
|
1350
1332
|
/**
|
1351
1333
|
* Selector for Changing caption language and spoken language
|
1352
1334
|
*
|
@@ -1367,34 +1349,19 @@ const _captionSettingsSelector = reselect__namespace.createSelector([
|
|
1367
1349
|
isCaptionsFeatureActive: isCaptionsFeatureActive !== null && isCaptionsFeatureActive !== void 0 ? isCaptionsFeatureActive : false
|
1368
1350
|
};
|
1369
1351
|
});
|
1370
|
-
/* @conditional-compile-remove(close-captions) */
|
1371
1352
|
/**
|
1372
1353
|
* Selector for {@link CaptionsBanner} component.
|
1373
1354
|
*
|
1374
1355
|
* @internal
|
1375
1356
|
*/
|
1376
1357
|
const _captionsBannerSelector = reselect__namespace.createSelector([getCaptions, getCaptionsStatus$1, getStartCaptionsInProgress], (captions, isCaptionsFeatureActive, startCaptionsInProgress) => {
|
1377
|
-
|
1378
|
-
|
1379
|
-
// This will give customers a stable captions experience when others talking over the dominant speaker
|
1380
|
-
// First turn all partial captions that are older than 5 seconds to final
|
1381
|
-
captions === null || captions === void 0 ? void 0 : captions.filter((captions) => captions.resultType === 'Partial').forEach((c) => {
|
1382
|
-
// if c is created more than 5 seconds ago, make it final
|
1383
|
-
if (c.timestamp.getTime() + 5000 < Date.now()) {
|
1384
|
-
// make it final
|
1385
|
-
c.resultType = 'Final';
|
1386
|
-
}
|
1387
|
-
});
|
1388
|
-
const captionsToRender = captions === null || captions === void 0 ? void 0 : captions.filter((captions) => captions.resultType === 'Final');
|
1389
|
-
const firstPartialCaptions = captions === null || captions === void 0 ? void 0 : captions.filter((captions) => captions.resultType === 'Partial').sort(captionsComparator)[0];
|
1390
|
-
firstPartialCaptions && (captionsToRender === null || captionsToRender === void 0 ? void 0 : captionsToRender.push(firstPartialCaptions));
|
1391
|
-
const captionsInfo = captionsToRender === null || captionsToRender === void 0 ? void 0 : captionsToRender.map((c) => {
|
1392
|
-
var _a, _b;
|
1358
|
+
const captionsInfo = captions === null || captions === void 0 ? void 0 : captions.map((c, index) => {
|
1359
|
+
var _a, _b, _c;
|
1393
1360
|
const userId = getCaptionsSpeakerIdentifier(c);
|
1394
1361
|
return {
|
1395
|
-
id: c.
|
1396
|
-
displayName: (
|
1397
|
-
captionText: (
|
1362
|
+
id: (_a = c.speaker.displayName) !== null && _a !== void 0 ? _a : 'Unnamed Participant' + index,
|
1363
|
+
displayName: (_b = c.speaker.displayName) !== null && _b !== void 0 ? _b : 'Unnamed Participant',
|
1364
|
+
captionText: (_c = c.captionText) !== null && _c !== void 0 ? _c : '',
|
1398
1365
|
userId
|
1399
1366
|
};
|
1400
1367
|
});
|
@@ -1404,12 +1371,6 @@ const _captionsBannerSelector = reselect__namespace.createSelector([getCaptions,
|
|
1404
1371
|
startCaptionsInProgress: startCaptionsInProgress !== null && startCaptionsInProgress !== void 0 ? startCaptionsInProgress : false
|
1405
1372
|
};
|
1406
1373
|
});
|
1407
|
-
/* @conditional-compile-remove(close-captions) */
|
1408
|
-
const captionsComparator = (captionsA, captionsB) => {
|
1409
|
-
return (captionsA.timestamp.getTime() - captionsB.timestamp.getTime() ||
|
1410
|
-
getCaptionsSpeakerIdentifier(captionsA).localeCompare(getCaptionsSpeakerIdentifier(captionsB)));
|
1411
|
-
};
|
1412
|
-
/* @conditional-compile-remove(close-captions) */
|
1413
1374
|
const getCaptionsSpeakerIdentifier = (captions) => {
|
1414
1375
|
return captions.speaker.identifier ? toFlatCommunicationIdentifier(captions.speaker.identifier) : '';
|
1415
1376
|
};
|
@@ -1862,7 +1823,6 @@ function convertSdkCallToDeclarativeCall(call) {
|
|
1862
1823
|
startTime: new Date(),
|
1863
1824
|
endTime: undefined,
|
1864
1825
|
role: call.role,
|
1865
|
-
/* @conditional-compile-remove(close-captions) */
|
1866
1826
|
captionsFeature: {
|
1867
1827
|
captions: [],
|
1868
1828
|
supportedSpokenLanguages: [],
|
@@ -1908,7 +1868,6 @@ function convertFromSDKToDeclarativeVideoStreamRendererView(view) {
|
|
1908
1868
|
target: view.target
|
1909
1869
|
};
|
1910
1870
|
}
|
1911
|
-
/* @conditional-compile-remove(close-captions) */
|
1912
1871
|
/**
|
1913
1872
|
* @private
|
1914
1873
|
*/
|
@@ -2066,9 +2025,7 @@ let CallContext$2 = class CallContext {
|
|
2066
2025
|
/* @conditional-compile-remove(total-participant-count) */
|
2067
2026
|
existingCall.totalParticipantCount = call.totalParticipantCount;
|
2068
2027
|
// We don't update the startTime and endTime if we are updating an existing active call
|
2069
|
-
/* @conditional-compile-remove(close-captions) */
|
2070
2028
|
existingCall.captionsFeature.currentSpokenLanguage = call.captionsFeature.currentSpokenLanguage;
|
2071
|
-
/* @conditional-compile-remove(close-captions) */
|
2072
2029
|
existingCall.captionsFeature.currentCaptionLanguage = call.captionsFeature.currentCaptionLanguage;
|
2073
2030
|
/* @conditional-compile-remove(meeting-id) */
|
2074
2031
|
existingCall.info = call.info;
|
@@ -2713,28 +2670,36 @@ let CallContext$2 = class CallContext {
|
|
2713
2670
|
this._atomicId++;
|
2714
2671
|
return id;
|
2715
2672
|
}
|
2716
|
-
/* @conditional-compile-remove(close-captions) */
|
2717
2673
|
processNewCaption(captions, newCaption) {
|
2718
|
-
//
|
2719
|
-
|
2720
|
-
|
2721
|
-
|
2722
|
-
|
2723
|
-
|
2724
|
-
|
2725
|
-
|
2726
|
-
|
2727
|
-
|
2728
|
-
|
2674
|
+
// time stamp when new caption comes in
|
2675
|
+
newCaption.timestamp = new Date();
|
2676
|
+
// if this is the first caption, push it in
|
2677
|
+
if (captions.length === 0) {
|
2678
|
+
captions.push(newCaption);
|
2679
|
+
}
|
2680
|
+
// if the last caption is final, then push the new one in
|
2681
|
+
else if (captions[captions.length - 1].resultType === 'Final') {
|
2682
|
+
captions.push(newCaption);
|
2683
|
+
}
|
2684
|
+
// if the last caption is Partial, then check if the speaker is the same as the new caption, if so, update the last caption
|
2685
|
+
else {
|
2686
|
+
if (toFlatCommunicationIdentifier(captions[captions.length - 1].speaker.identifier) === toFlatCommunicationIdentifier(newCaption.speaker.identifier)) {
|
2687
|
+
captions[captions.length - 1] = newCaption;
|
2688
|
+
}
|
2689
|
+
// if different speaker, ignore the interjector until the current speaker finishes
|
2690
|
+
// edge case: if we dont receive the final caption from the current speaker for 5 secs, we turn the current speaker caption to final and push in the new interjector
|
2691
|
+
else {
|
2692
|
+
if (Date.now() - captions[captions.length - 1].timestamp.getTime() > 5000) {
|
2693
|
+
captions[captions.length - 1].resultType = 'Final';
|
2694
|
+
captions.push(newCaption);
|
2695
|
+
}
|
2729
2696
|
}
|
2730
2697
|
}
|
2731
|
-
captions.push(newCaption);
|
2732
2698
|
// If the array length exceeds 50, remove the oldest caption
|
2733
2699
|
if (captions.length > 50) {
|
2734
2700
|
captions.shift();
|
2735
2701
|
}
|
2736
2702
|
}
|
2737
|
-
/* @conditional-compile-remove(close-captions) */
|
2738
2703
|
addTeamsCaption(callId, caption) {
|
2739
2704
|
this.modifyState((draft) => {
|
2740
2705
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2766,7 +2731,6 @@ let CallContext$2 = class CallContext {
|
|
2766
2731
|
}
|
2767
2732
|
});
|
2768
2733
|
}
|
2769
|
-
/* @conditional-compile-remove(close-captions) */
|
2770
2734
|
clearCaptions(callId) {
|
2771
2735
|
this.modifyState((draft) => {
|
2772
2736
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2775,7 +2739,6 @@ let CallContext$2 = class CallContext {
|
|
2775
2739
|
}
|
2776
2740
|
});
|
2777
2741
|
}
|
2778
|
-
/* @conditional-compile-remove(close-captions) */
|
2779
2742
|
setIsCaptionActive(callId, isCaptionsActive) {
|
2780
2743
|
this.modifyState((draft) => {
|
2781
2744
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2784,7 +2747,6 @@ let CallContext$2 = class CallContext {
|
|
2784
2747
|
}
|
2785
2748
|
});
|
2786
2749
|
}
|
2787
|
-
/* @conditional-compile-remove(close-captions) */
|
2788
2750
|
setStartCaptionsInProgress(callId, startCaptionsInProgress) {
|
2789
2751
|
this.modifyState((draft) => {
|
2790
2752
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2793,7 +2755,6 @@ let CallContext$2 = class CallContext {
|
|
2793
2755
|
}
|
2794
2756
|
});
|
2795
2757
|
}
|
2796
|
-
/* @conditional-compile-remove(close-captions) */
|
2797
2758
|
setSelectedSpokenLanguage(callId, spokenLanguage) {
|
2798
2759
|
this.modifyState((draft) => {
|
2799
2760
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2802,7 +2763,6 @@ let CallContext$2 = class CallContext {
|
|
2802
2763
|
}
|
2803
2764
|
});
|
2804
2765
|
}
|
2805
|
-
/* @conditional-compile-remove(close-captions) */
|
2806
2766
|
setSelectedCaptionLanguage(callId, captionLanguage) {
|
2807
2767
|
this.modifyState((draft) => {
|
2808
2768
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2811,7 +2771,6 @@ let CallContext$2 = class CallContext {
|
|
2811
2771
|
}
|
2812
2772
|
});
|
2813
2773
|
}
|
2814
|
-
/* @conditional-compile-remove(close-captions) */
|
2815
2774
|
setAvailableCaptionLanguages(callId, captionLanguages) {
|
2816
2775
|
this.modifyState((draft) => {
|
2817
2776
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2820,7 +2779,6 @@ let CallContext$2 = class CallContext {
|
|
2820
2779
|
}
|
2821
2780
|
});
|
2822
2781
|
}
|
2823
|
-
/* @conditional-compile-remove(close-captions) */
|
2824
2782
|
setAvailableSpokenLanguages(callId, spokenLanguages) {
|
2825
2783
|
this.modifyState((draft) => {
|
2826
2784
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2913,7 +2871,6 @@ function clearParticipantReactionState(callContext, callId, participantKey) {
|
|
2913
2871
|
|
2914
2872
|
// Copyright (c) Microsoft Corporation.
|
2915
2873
|
// Licensed under the MIT License.
|
2916
|
-
/* @conditional-compile-remove(close-captions) */
|
2917
2874
|
/**
|
2918
2875
|
* @private
|
2919
2876
|
*/
|
@@ -4195,7 +4152,6 @@ class CallSubscriber {
|
|
4195
4152
|
constructor(call, context, internalContext) {
|
4196
4153
|
this.subscribe = () => {
|
4197
4154
|
this._call.on('stateChanged', this.stateChanged);
|
4198
|
-
/* @conditional-compile-remove(close-captions) */
|
4199
4155
|
this._call.on('stateChanged', this.initCaptionSubscriber);
|
4200
4156
|
/* @conditional-compile-remove(local-recording-notification) */
|
4201
4157
|
this._call.on('stateChanged', this.initLocalRecordingNotificationSubscriber);
|
@@ -4221,7 +4177,6 @@ class CallSubscriber {
|
|
4221
4177
|
this.unsubscribe = () => {
|
4222
4178
|
var _a, _b, _c, _d;
|
4223
4179
|
this._call.off('stateChanged', this.stateChanged);
|
4224
|
-
/* @conditional-compile-remove(close-captions) */
|
4225
4180
|
this._call.off('stateChanged', this.initCaptionSubscriber);
|
4226
4181
|
/* @conditional-compile-remove(local-recording-notification) */
|
4227
4182
|
this._call.off('stateChanged', this.initLocalRecordingNotificationSubscriber);
|
@@ -4262,7 +4217,6 @@ class CallSubscriber {
|
|
4262
4217
|
this.stateChanged = () => {
|
4263
4218
|
this._context.setCallState(this._callIdRef.callId, this._call.state);
|
4264
4219
|
};
|
4265
|
-
/* @conditional-compile-remove(close-captions) */
|
4266
4220
|
this.initCaptionSubscriber = () => {
|
4267
4221
|
// subscribe to captions here so that we don't call captions when call is not initialized
|
4268
4222
|
if (this._call.state === 'Connected' && !this._CaptionsFeatureSubscriber) {
|
@@ -4734,7 +4688,6 @@ class ProxyCallCommon {
|
|
4734
4688
|
case 'feature': {
|
4735
4689
|
// these are mini version of Proxy object - if it grows too big, a real Proxy object should be used.
|
4736
4690
|
return this._context.withErrorTeedToState((...args) => {
|
4737
|
-
/* @conditional-compile-remove(close-captions) */
|
4738
4691
|
if (args[0] === communicationCalling.Features.Captions) {
|
4739
4692
|
const captionsFeature = target.feature(communicationCalling.Features.Captions).captions;
|
4740
4693
|
let proxyFeature;
|
@@ -4765,7 +4718,6 @@ class ProxyCallCommon {
|
|
4765
4718
|
}
|
4766
4719
|
}
|
4767
4720
|
}
|
4768
|
-
/* @conditional-compile-remove(close-captions) */
|
4769
4721
|
/**
|
4770
4722
|
* @private
|
4771
4723
|
*/
|
@@ -6526,7 +6478,8 @@ const lightTheme = {
|
|
6526
6478
|
callRedDark: '#8b2c3d',
|
6527
6479
|
callRedDarker: '#772a38',
|
6528
6480
|
iconWhite: '#ffffff',
|
6529
|
-
raiseHandGold: '#eaa300'
|
6481
|
+
raiseHandGold: '#eaa300',
|
6482
|
+
videoTileLabelBackgroundLight: 'rgba(255,255,255,0.8)'
|
6530
6483
|
},
|
6531
6484
|
semanticColors: {
|
6532
6485
|
errorText: '#a80000'
|
@@ -6568,7 +6521,8 @@ const darkTheme = {
|
|
6568
6521
|
callRedDark: '#a42e43',
|
6569
6522
|
callRedDarker: '#8b2c3d',
|
6570
6523
|
iconWhite: '#ffffff',
|
6571
|
-
raiseHandGold: '#eaa300'
|
6524
|
+
raiseHandGold: '#eaa300',
|
6525
|
+
videoTileLabelBackgroundLight: 'rgba(37,36,35,0.8)'
|
6572
6526
|
},
|
6573
6527
|
semanticColors: {
|
6574
6528
|
errorText: '#f1707b'
|
@@ -6847,15 +6801,10 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
6847
6801
|
VerticalGalleryRightButton: React.createElement(GalleryRightButton, null),
|
6848
6802
|
ControlButtonVideoEffectsOption: React.createElement(reactIcons.VideoBackgroundEffect20Regular, null),
|
6849
6803
|
ConfigurationScreenVideoEffectsButton: React.createElement(reactIcons.VideoBackgroundEffect20Filled, null),
|
6850
|
-
/* @conditional-compile-remove(close-captions) */
|
6851
6804
|
CaptionsIcon: React.createElement(reactIcons.ClosedCaption20Regular, null),
|
6852
|
-
/* @conditional-compile-remove(close-captions) */
|
6853
6805
|
CaptionsOffIcon: React.createElement(reactIcons.ClosedCaptionOff20Regular, null),
|
6854
|
-
/* @conditional-compile-remove(close-captions) */
|
6855
6806
|
CaptionsSettingsIcon: React.createElement(reactIcons.Settings20Regular, null),
|
6856
|
-
/* @conditional-compile-remove(close-captions) */
|
6857
6807
|
ChangeSpokenLanguageIcon: React.createElement(reactIcons.PersonVoice20Regular, null),
|
6858
|
-
/* @conditional-compile-remove(close-captions) */
|
6859
6808
|
ChangeCaptionLanguageIcon: React.createElement(reactIcons.Translate20Regular, null),
|
6860
6809
|
ContextMenuCameraIcon: React.createElement(reactIcons.Video20Regular, null),
|
6861
6810
|
ContextMenuMicIcon: React.createElement(reactIcons.Mic20Regular, null),
|
@@ -8813,15 +8762,15 @@ const SendBoxErrorBar = (props) => {
|
|
8813
8762
|
* @private
|
8814
8763
|
*/
|
8815
8764
|
const SendBoxErrors = (props) => {
|
8816
|
-
const {
|
8765
|
+
const { attachmentProgressError, attachmentUploadsPendingError } = props;
|
8817
8766
|
const errorToDisplay = React.useMemo(() => {
|
8818
|
-
if (
|
8819
|
-
return
|
8820
|
-
?
|
8767
|
+
if (attachmentProgressError && attachmentUploadsPendingError) {
|
8768
|
+
return attachmentProgressError.timestamp > attachmentUploadsPendingError.timestamp
|
8769
|
+
? attachmentProgressError
|
8821
8770
|
: attachmentUploadsPendingError;
|
8822
8771
|
}
|
8823
|
-
return
|
8824
|
-
}, [
|
8772
|
+
return attachmentProgressError || attachmentUploadsPendingError;
|
8773
|
+
}, [attachmentProgressError, attachmentUploadsPendingError]);
|
8825
8774
|
return React.createElement(SendBoxErrorBar, { error: errorToDisplay, dismissAfterMs: 10 * 1000 });
|
8826
8775
|
};
|
8827
8776
|
|
@@ -8884,8 +8833,8 @@ const _AttachmentCard = (props) => {
|
|
8884
8833
|
const { attachment, menuActions, onActionHandlerFailed } = props;
|
8885
8834
|
const attachmentCardStyles = useAttachmentCardStyles();
|
8886
8835
|
const progress = React.useMemo(() => {
|
8887
|
-
return attachment.progress;
|
8888
|
-
}, [attachment
|
8836
|
+
return 'progress' in attachment ? attachment.progress : undefined;
|
8837
|
+
}, [attachment]);
|
8889
8838
|
const isUploadComplete = React.useMemo(() => {
|
8890
8839
|
return progress !== undefined && progress > 0 && progress < 1;
|
8891
8840
|
}, [progress]);
|
@@ -8987,7 +8936,7 @@ const actionIconStyle = { height: '1rem' };
|
|
8987
8936
|
*/
|
8988
8937
|
const _AttachmentUploadCards = (props) => {
|
8989
8938
|
var _a;
|
8990
|
-
const attachments = props.
|
8939
|
+
const attachments = props.attachmentsWithProgress;
|
8991
8940
|
const localeStrings = useLocaleAttachmentCardStringsTrampoline();
|
8992
8941
|
const removeAttachmentButtonString = React.useMemo(() => () => {
|
8993
8942
|
var _a, _b;
|
@@ -8998,7 +8947,7 @@ const _AttachmentUploadCards = (props) => {
|
|
8998
8947
|
}
|
8999
8948
|
return (React.createElement(_AttachmentCardGroup, null, attachments &&
|
9000
8949
|
attachments
|
9001
|
-
.filter((attachment) => !attachment.
|
8950
|
+
.filter((attachment) => !attachment.error)
|
9002
8951
|
.map((attachment) => {
|
9003
8952
|
var _a, _b;
|
9004
8953
|
return (React.createElement(_AttachmentCard, { attachment: attachment, key: attachment.id, menuActions: [
|
@@ -9033,18 +8982,18 @@ const EMPTY_MESSAGE_REGEX = /^\s*$/;
|
|
9033
8982
|
/**
|
9034
8983
|
* @private
|
9035
8984
|
*/
|
9036
|
-
const hasIncompleteAttachmentUploads = (
|
9037
|
-
return !!((
|
9038
|
-
!
|
9039
|
-
.filter((attachmentUpload) => !attachmentUpload.
|
8985
|
+
const hasIncompleteAttachmentUploads = (attachmentsWithProgress) => {
|
8986
|
+
return !!((attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.length) &&
|
8987
|
+
!attachmentsWithProgress
|
8988
|
+
.filter((attachmentUpload) => !attachmentUpload.error)
|
9040
8989
|
.every((attachmentUpload) => attachmentUpload.progress === 1 && attachmentUpload.progress !== undefined));
|
9041
8990
|
};
|
9042
8991
|
/* @conditional-compile-remove(attachment-upload) */
|
9043
8992
|
/**
|
9044
8993
|
* @private
|
9045
8994
|
*/
|
9046
|
-
const hasCompletedAttachmentUploads = (
|
9047
|
-
return !!(
|
8995
|
+
const hasCompletedAttachmentUploads = (attachmentsWithProgress) => {
|
8996
|
+
return !!(attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.find((attachment) => !attachment.error));
|
9048
8997
|
};
|
9049
8998
|
/**
|
9050
8999
|
* @private
|
@@ -9436,7 +9385,7 @@ const SendBox = (props) => {
|
|
9436
9385
|
/* @conditional-compile-remove(mention) */
|
9437
9386
|
mentionLookupOptions,
|
9438
9387
|
/* @conditional-compile-remove(attachment-upload) */
|
9439
|
-
|
9388
|
+
attachmentsWithProgress } = props;
|
9440
9389
|
const theme = useTheme();
|
9441
9390
|
const localeStrings = useLocale$1().strings.sendBox;
|
9442
9391
|
const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
|
@@ -9456,7 +9405,7 @@ const SendBox = (props) => {
|
|
9456
9405
|
/* @conditional-compile-remove(attachment-upload) */
|
9457
9406
|
setAttachmentUploadsPendingError(undefined);
|
9458
9407
|
/* @conditional-compile-remove(attachment-upload) */
|
9459
|
-
if (hasIncompleteAttachmentUploads(
|
9408
|
+
if (hasIncompleteAttachmentUploads(attachmentsWithProgress)) {
|
9460
9409
|
setAttachmentUploadsPendingError({ message: strings.attachmentUploadsPendingError, timestamp: Date.now() });
|
9461
9410
|
return;
|
9462
9411
|
}
|
@@ -9464,7 +9413,7 @@ const SendBox = (props) => {
|
|
9464
9413
|
// we don't want to send empty messages including spaces, newlines, tabs
|
9465
9414
|
// Message can be empty if there is a valid attachment upload
|
9466
9415
|
if (sanitizeText(message).length > 0 ||
|
9467
|
-
/* @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(
|
9416
|
+
/* @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(attachmentsWithProgress)) {
|
9468
9417
|
onSendMessage && onSendMessage(message);
|
9469
9418
|
setTextValue('');
|
9470
9419
|
}
|
@@ -9484,13 +9433,13 @@ const SendBox = (props) => {
|
|
9484
9433
|
const mergedSendIconStyle = React.useMemo(() => sendIconStyle({
|
9485
9434
|
theme,
|
9486
9435
|
hasText: !!textValue,
|
9487
|
-
/* @conditional-compile-remove(attachment-upload) */ hasAttachment: hasCompletedAttachmentUploads(
|
9436
|
+
/* @conditional-compile-remove(attachment-upload) */ hasAttachment: hasCompletedAttachmentUploads(attachmentsWithProgress),
|
9488
9437
|
hasErrorMessage: !!errorMessage,
|
9489
9438
|
customSendIconStyle: styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon
|
9490
9439
|
}), [
|
9491
9440
|
theme,
|
9492
9441
|
textValue,
|
9493
|
-
/* @conditional-compile-remove(attachment-upload) */
|
9442
|
+
/* @conditional-compile-remove(attachment-upload) */ attachmentsWithProgress,
|
9494
9443
|
errorMessage,
|
9495
9444
|
styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon
|
9496
9445
|
]);
|
@@ -9498,34 +9447,34 @@ const SendBox = (props) => {
|
|
9498
9447
|
// Ensure that errors are cleared when there are no attachments in sendBox
|
9499
9448
|
/* @conditional-compile-remove(attachment-upload) */
|
9500
9449
|
React.useEffect(() => {
|
9501
|
-
if (!(
|
9450
|
+
if (!(attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((upload) => !upload.error).length)) {
|
9502
9451
|
setAttachmentUploadsPendingError(undefined);
|
9503
9452
|
}
|
9504
|
-
}, [
|
9453
|
+
}, [attachmentsWithProgress]);
|
9505
9454
|
/* @conditional-compile-remove(attachment-upload) */
|
9506
9455
|
const sendBoxErrorsProps = React.useMemo(() => {
|
9507
9456
|
var _a;
|
9508
9457
|
return {
|
9509
9458
|
attachmentUploadsPendingError: attachmentUploadsPendingError,
|
9510
|
-
|
9459
|
+
attachmentProgressError: (_a = attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((attachmentUpload) => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error
|
9511
9460
|
};
|
9512
|
-
}, [
|
9461
|
+
}, [attachmentsWithProgress, attachmentUploadsPendingError]);
|
9513
9462
|
/* @conditional-compile-remove(attachment-upload) */
|
9514
9463
|
const onRenderAttachmentUploads = React.useCallback(() => {
|
9515
9464
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
9516
|
-
if (!(
|
9465
|
+
if (!(attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((upload) => !upload.error).length)) {
|
9517
9466
|
return null;
|
9518
9467
|
}
|
9519
9468
|
return props.onRenderAttachmentUploads ? (props.onRenderAttachmentUploads()) : (React.createElement(react.Stack, { className: attachmentUploadCardsStyles },
|
9520
9469
|
React.createElement(FluentV9ThemeProvider, { v8Theme: theme },
|
9521
|
-
React.createElement(_AttachmentUploadCards, {
|
9470
|
+
React.createElement(_AttachmentUploadCards, { attachmentsWithProgress: attachmentsWithProgress, onCancelAttachmentUpload: props.onCancelAttachmentUpload, strings: {
|
9522
9471
|
removeAttachment: (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.removeAttachment) !== null && _b !== void 0 ? _b : localeStrings.removeAttachment,
|
9523
9472
|
uploading: (_d = (_c = props.strings) === null || _c === void 0 ? void 0 : _c.uploading) !== null && _d !== void 0 ? _d : localeStrings.uploading,
|
9524
9473
|
uploadCompleted: (_f = (_e = props.strings) === null || _e === void 0 ? void 0 : _e.uploadCompleted) !== null && _f !== void 0 ? _f : localeStrings.uploadCompleted,
|
9525
9474
|
attachmentMoreMenu: (_h = (_g = props.strings) === null || _g === void 0 ? void 0 : _g.attachmentMoreMenu) !== null && _h !== void 0 ? _h : localeStrings.attachmentMoreMenu
|
9526
9475
|
} }))));
|
9527
9476
|
}, [
|
9528
|
-
|
9477
|
+
attachmentsWithProgress,
|
9529
9478
|
props,
|
9530
9479
|
theme,
|
9531
9480
|
localeStrings.removeAttachment,
|
@@ -9534,8 +9483,14 @@ const SendBox = (props) => {
|
|
9534
9483
|
localeStrings.attachmentMoreMenu
|
9535
9484
|
]);
|
9536
9485
|
return (React.createElement(react.Stack, { className: react.mergeStyles(sendBoxWrapperStyles, { overflow: 'visible' } // This is needed for the mention popup to be visible
|
9537
|
-
) },
|
9538
|
-
|
9486
|
+
) },
|
9487
|
+
/* @conditional-compile-remove(attachment-upload) */
|
9488
|
+
React.createElement(SendBoxErrors, { attachmentProgressError: sendBoxErrorsProps.attachmentProgressError
|
9489
|
+
? {
|
9490
|
+
message: sendBoxErrorsProps.attachmentProgressError.message,
|
9491
|
+
timestamp: Date.now()
|
9492
|
+
}
|
9493
|
+
: undefined, attachmentUploadsPendingError: sendBoxErrorsProps.attachmentUploadsPendingError }),
|
9539
9494
|
React.createElement(react.Stack, { className: borderAndBoxShadowStyle({
|
9540
9495
|
theme,
|
9541
9496
|
hasErrorMessage: !!errorMessage,
|
@@ -10628,10 +10583,17 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
10628
10583
|
onKeyDown: props.onKeyDown, focusOnInit: autoFocus === 'sendBoxTextField' }))));
|
10629
10584
|
});
|
10630
10585
|
const focusAndUpdateContent = (editor, content) => {
|
10631
|
-
// focus
|
10632
|
-
editor.focus();
|
10633
|
-
// set initial content
|
10586
|
+
// setting focus before setting content, works for Chrome and Edge but not Safari
|
10634
10587
|
editor.setContent(content);
|
10588
|
+
// this is a recommended way (by RoosterJS team) to set focus at the end of the text
|
10589
|
+
// RoosterJS v9 has this issue fixed and this code can be removed
|
10590
|
+
editor.insertContent('<span id="focus-position-span"></span>', { position: roosterjsEditorTypesCompatible.CompatibleContentPosition.DomEnd });
|
10591
|
+
const elements = editor.queryElements('#focus-position-span');
|
10592
|
+
if (elements.length > 0) {
|
10593
|
+
const placeholder = editor.queryElements('#focus-position-span')[0];
|
10594
|
+
editor.select(placeholder, roosterjsEditorTypesCompatible.CompatiblePositionType.Before);
|
10595
|
+
placeholder.remove();
|
10596
|
+
}
|
10635
10597
|
};
|
10636
10598
|
|
10637
10599
|
// Copyright (c) Microsoft Corporation.
|
@@ -10744,7 +10706,7 @@ const RichTextInputBoxComponent = (props) => {
|
|
10744
10706
|
const RichTextSendBoxErrors = (props) => {
|
10745
10707
|
const {
|
10746
10708
|
/* @conditional-compile-remove(attachment-upload) */
|
10747
|
-
|
10709
|
+
attachmentProgressError,
|
10748
10710
|
/* @conditional-compile-remove(attachment-upload) */
|
10749
10711
|
attachmentUploadsPendingError, systemMessage, textTooLongMessage } = props;
|
10750
10712
|
const [sendBoxError, setSendBoxError] = React.useState(undefined);
|
@@ -10775,8 +10737,8 @@ const RichTextSendBoxErrors = (props) => {
|
|
10775
10737
|
errors.push(attachmentUploadsPendingError);
|
10776
10738
|
}
|
10777
10739
|
/* @conditional-compile-remove(attachment-upload) */
|
10778
|
-
if (
|
10779
|
-
errors.push(
|
10740
|
+
if (attachmentProgressError) {
|
10741
|
+
errors.push(attachmentProgressError);
|
10780
10742
|
}
|
10781
10743
|
if (errors.length === 0) {
|
10782
10744
|
return undefined;
|
@@ -10786,7 +10748,7 @@ const RichTextSendBoxErrors = (props) => {
|
|
10786
10748
|
return sortedErrors[0];
|
10787
10749
|
});
|
10788
10750
|
}, [
|
10789
|
-
/* @conditional-compile-remove(attachment-upload) */
|
10751
|
+
/* @conditional-compile-remove(attachment-upload) */ attachmentProgressError,
|
10790
10752
|
/* @conditional-compile-remove(attachment-upload) */ attachmentUploadsPendingError
|
10791
10753
|
]);
|
10792
10754
|
const onDismiss = React.useCallback(() => {
|
@@ -10812,7 +10774,7 @@ const isMessageEmpty$1 = (message) => {
|
|
10812
10774
|
const RichTextSendBox = (props) => {
|
10813
10775
|
const { disabled = false, systemMessage, autoFocus, onSendMessage, onTyping,
|
10814
10776
|
/* @conditional-compile-remove(attachment-upload) */
|
10815
|
-
|
10777
|
+
attachmentsWithProgress,
|
10816
10778
|
/* @conditional-compile-remove(attachment-upload) */
|
10817
10779
|
onCancelAttachmentUpload } = props;
|
10818
10780
|
const theme = useTheme();
|
@@ -10846,7 +10808,7 @@ const RichTextSendBox = (props) => {
|
|
10846
10808
|
/* @conditional-compile-remove(attachment-upload) */
|
10847
10809
|
setAttachmentUploadsPendingError(undefined);
|
10848
10810
|
/* @conditional-compile-remove(attachment-upload) */
|
10849
|
-
if (hasIncompleteAttachmentUploads(
|
10811
|
+
if (hasIncompleteAttachmentUploads(attachmentsWithProgress)) {
|
10850
10812
|
setAttachmentUploadsPendingError({ message: strings.attachmentUploadsPendingError, timestamp: Date.now() });
|
10851
10813
|
return;
|
10852
10814
|
}
|
@@ -10862,7 +10824,7 @@ const RichTextSendBox = (props) => {
|
|
10862
10824
|
// we don't want to send empty messages including spaces, newlines, tabs
|
10863
10825
|
// Message can be empty if there is a valid attachment upload
|
10864
10826
|
if (hasContent ||
|
10865
|
-
/* @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(
|
10827
|
+
/* @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(attachmentsWithProgress)) {
|
10866
10828
|
onSendMessage(message);
|
10867
10829
|
setContentValue('');
|
10868
10830
|
(_b = editorComponentRef.current) === null || _b === void 0 ? void 0 : _b.setEmptyContent();
|
@@ -10874,7 +10836,7 @@ const RichTextSendBox = (props) => {
|
|
10874
10836
|
disabled,
|
10875
10837
|
onSendMessage,
|
10876
10838
|
strings.placeholderText,
|
10877
|
-
/* @conditional-compile-remove(attachment-upload) */
|
10839
|
+
/* @conditional-compile-remove(attachment-upload) */ attachmentsWithProgress,
|
10878
10840
|
/* @conditional-compile-remove(attachment-upload) */ strings.attachmentUploadsPendingError
|
10879
10841
|
]);
|
10880
10842
|
const hasErrorMessage = React.useMemo(() => {
|
@@ -10884,10 +10846,10 @@ const RichTextSendBox = (props) => {
|
|
10884
10846
|
/* @conditional-compile-remove(attachment-upload) */
|
10885
10847
|
!!attachmentUploadsPendingError ||
|
10886
10848
|
/* @conditional-compile-remove(attachment-upload) */
|
10887
|
-
!!((_a =
|
10849
|
+
!!((_a = attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((attachmentUpload) => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error));
|
10888
10850
|
}, [
|
10889
10851
|
/* @conditional-compile-remove(attachment-upload) */
|
10890
|
-
|
10852
|
+
attachmentsWithProgress,
|
10891
10853
|
contentTooLongMessage,
|
10892
10854
|
/* @conditional-compile-remove(attachment-upload) */
|
10893
10855
|
attachmentUploadsPendingError,
|
@@ -10914,18 +10876,25 @@ const RichTextSendBox = (props) => {
|
|
10914
10876
|
}) }));
|
10915
10877
|
}, [contentValue, disabled, hasErrorMessage, strings.placeholderText, theme]);
|
10916
10878
|
const sendBoxErrorsProps = React.useMemo(() => {
|
10917
|
-
var _a;
|
10879
|
+
var _a, _b;
|
10880
|
+
/* @conditional-compile-remove(attachment-upload) */
|
10881
|
+
const uploadErrorMessage = (_b = (_a = attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((attachmentUpload) => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
|
10918
10882
|
return {
|
10919
10883
|
/* @conditional-compile-remove(attachment-upload) */
|
10920
10884
|
attachmentUploadsPendingError: attachmentUploadsPendingError,
|
10921
10885
|
/* @conditional-compile-remove(attachment-upload) */
|
10922
|
-
|
10886
|
+
attachmentProgressError: uploadErrorMessage
|
10887
|
+
? {
|
10888
|
+
message: uploadErrorMessage,
|
10889
|
+
timestamp: Date.now()
|
10890
|
+
}
|
10891
|
+
: undefined,
|
10923
10892
|
systemMessage: systemMessage,
|
10924
10893
|
textTooLongMessage: contentTooLongMessage
|
10925
10894
|
};
|
10926
10895
|
}, [
|
10927
10896
|
/* @conditional-compile-remove(attachment-upload) */
|
10928
|
-
|
10897
|
+
attachmentsWithProgress,
|
10929
10898
|
contentTooLongMessage,
|
10930
10899
|
/* @conditional-compile-remove(attachment-upload) */
|
10931
10900
|
attachmentUploadsPendingError,
|
@@ -10935,14 +10904,14 @@ const RichTextSendBox = (props) => {
|
|
10935
10904
|
const onRenderAttachmentUploads = React.useCallback(() => {
|
10936
10905
|
return (React.createElement(react.Stack, { className: attachmentUploadCardsStyles },
|
10937
10906
|
React.createElement(FluentV9ThemeProvider, { v8Theme: theme },
|
10938
|
-
React.createElement(_AttachmentUploadCards, {
|
10907
|
+
React.createElement(_AttachmentUploadCards, { attachmentsWithProgress: attachmentsWithProgress, onCancelAttachmentUpload: onCancelAttachmentUpload, strings: {
|
10939
10908
|
removeAttachment: strings.removeAttachment,
|
10940
10909
|
uploading: strings.uploading,
|
10941
10910
|
uploadCompleted: strings.uploadCompleted,
|
10942
10911
|
attachmentMoreMenu: strings.attachmentMoreMenu
|
10943
10912
|
} }))));
|
10944
10913
|
}, [
|
10945
|
-
|
10914
|
+
attachmentsWithProgress,
|
10946
10915
|
onCancelAttachmentUpload,
|
10947
10916
|
strings.removeAttachment,
|
10948
10917
|
strings.uploadCompleted,
|
@@ -10958,8 +10927,8 @@ const RichTextSendBox = (props) => {
|
|
10958
10927
|
}, [localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]);
|
10959
10928
|
/* @conditional-compile-remove(attachment-upload) */
|
10960
10929
|
const hasAttachmentUploads = React.useMemo(() => {
|
10961
|
-
return (hasCompletedAttachmentUploads(
|
10962
|
-
}, [
|
10930
|
+
return (hasCompletedAttachmentUploads(attachmentsWithProgress) || hasIncompleteAttachmentUploads(attachmentsWithProgress));
|
10931
|
+
}, [attachmentsWithProgress]);
|
10963
10932
|
return (React.createElement(react.Stack, null,
|
10964
10933
|
React.createElement(RichTextSendBoxErrors, Object.assign({}, sendBoxErrorsProps)),
|
10965
10934
|
React.createElement(RichTextInputBoxComponent
|
@@ -11224,7 +11193,7 @@ const useChatMessageStyles = reactComponents.makeStyles({
|
|
11224
11193
|
}, '& video': {
|
11225
11194
|
maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element
|
11226
11195
|
height: 'auto !important'
|
11227
|
-
}, '& p': Object.assign({}, reactComponents.shorthands.marginBlock('0.125rem')), '& blockquote': Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted, clear: 'left', minHeight: '2.25rem', width: 'fit-content', marginTop: '7px', marginRight: '0px', marginLeft: '0px', marginBottom: '7px', paddingTop: '7px', paddingRight: '15px', paddingLeft: '15px', paddingBottom: '7px' }, reactComponents.shorthands.border('solid')), reactComponents.shorthands.borderRadius('4px')), reactComponents.shorthands.borderWidth('1px')), reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderLeftWidth: '4px' })
|
11196
|
+
}, '& p': Object.assign({}, reactComponents.shorthands.marginBlock('0.125rem')), '& blockquote': Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted, clear: 'left', minHeight: '2.25rem', width: 'fit-content', marginTop: '7px', marginRight: '0px', marginLeft: '0px', marginBottom: '7px', paddingTop: '7px', paddingRight: '15px', paddingLeft: '15px', paddingBottom: '7px' }, reactComponents.shorthands.border('solid')), reactComponents.shorthands.borderRadius('4px')), reactComponents.shorthands.borderWidth('1px')), reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderLeftWidth: '4px' }) }),
|
11228
11197
|
bodyWithPlaceholderImage: {
|
11229
11198
|
'& img[src=""]': {
|
11230
11199
|
display: 'block',
|
@@ -11260,6 +11229,9 @@ const useChatMessageStyles = reactComponents.makeStyles({
|
|
11260
11229
|
* @private
|
11261
11230
|
*/
|
11262
11231
|
const useChatMessageCommonStyles = reactComponents.makeStyles({
|
11232
|
+
body: {
|
11233
|
+
'& table': Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted }, reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderCollapse: 'collapse', tableLayout: 'auto', width: '100%', '& tr': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStroke1Selected}`)), { '& td': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStroke1Selected}`)), { wordBreak: 'normal', paddingTop: '0px', paddingRight: '5px' }) }) })
|
11234
|
+
},
|
11263
11235
|
failed: {
|
11264
11236
|
//TODO: can we reuse a theme color here?
|
11265
11237
|
backgroundColor: 'rgba(168, 0, 0, 0.2)'
|
@@ -12636,7 +12608,7 @@ const MessageBubble$1 = (props) => {
|
|
12636
12608
|
React.createElement("div", { key: props.message.messageId },
|
12637
12609
|
React.createElement(reactChat.ChatMyMessage, { attached: attached, key: props.message.messageId, body: {
|
12638
12610
|
// messageContainerStyle used in className and style prop as style prop can't handle CSS selectors
|
12639
|
-
className: reactComponents.mergeClasses(chatMyMessageStyles.body, isBlockedMessage
|
12611
|
+
className: reactComponents.mergeClasses(chatMessageCommonStyles.body, chatMyMessageStyles.body, isBlockedMessage
|
12640
12612
|
? chatMessageCommonStyles.blocked
|
12641
12613
|
: props.message.status === 'failed'
|
12642
12614
|
? chatMessageCommonStyles.failed
|
@@ -12737,7 +12709,7 @@ const ChatMessageComponentAsEditBox = (props) => {
|
|
12737
12709
|
const onRenderAttachmentUploads = React.useCallback(() => {
|
12738
12710
|
return (!!attachmentMetadata &&
|
12739
12711
|
attachmentMetadata.length > 0 && (React.createElement("div", { style: { margin: '0.25rem' } },
|
12740
|
-
React.createElement(_AttachmentUploadCards, {
|
12712
|
+
React.createElement(_AttachmentUploadCards, { attachmentsWithProgress: attachmentMetadata, onCancelAttachmentUpload: (attachmentId) => {
|
12741
12713
|
setAttachmentMetadata(attachmentMetadata === null || attachmentMetadata === void 0 ? void 0 : attachmentMetadata.filter((attachment) => attachment.id !== attachmentId));
|
12742
12714
|
} }))));
|
12743
12715
|
}, [attachmentMetadata]);
|
@@ -12813,7 +12785,7 @@ class ErrorBoundary extends React.Component {
|
|
12813
12785
|
// Copyright (c) Microsoft Corporation.
|
12814
12786
|
// Licensed under the MIT License.
|
12815
12787
|
/* @conditional-compile-remove(rich-text-editor) */
|
12816
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
12788
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DpYUiI1l.js'); }));
|
12817
12789
|
/**
|
12818
12790
|
* @private
|
12819
12791
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -12821,7 +12793,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
12821
12793
|
*
|
12822
12794
|
* @conditional-compile-remove(rich-text-editor)
|
12823
12795
|
*/
|
12824
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
12796
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DpYUiI1l.js'); });
|
12825
12797
|
/**
|
12826
12798
|
* @private
|
12827
12799
|
*/
|
@@ -13073,9 +13045,7 @@ const MessageBubble = (props) => {
|
|
13073
13045
|
const isBlockedMessage = /* @conditional-compile-remove(data-loss-prevention) */ message.messageType === 'blocked';
|
13074
13046
|
const chatMessageCommonStyles = useChatMessageCommonStyles();
|
13075
13047
|
const chatMessageStyles = useChatMessageStyles();
|
13076
|
-
const chatItemMessageContainerClassName = reactComponents.mergeClasses(
|
13077
|
-
// messageContainerStyle used in className and style prop as style prop can't handle CSS selectors
|
13078
|
-
chatMessageStyles.body,
|
13048
|
+
const chatItemMessageContainerClassName = reactComponents.mergeClasses(chatMessageCommonStyles.body, chatMessageStyles.body,
|
13079
13049
|
// disable placeholder functionality for GA releases as it might confuse users
|
13080
13050
|
chatMessageStyles.bodyWithPlaceholderImage, isBlockedMessage
|
13081
13051
|
? chatMessageCommonStyles.blocked
|
@@ -13083,7 +13053,9 @@ const MessageBubble = (props) => {
|
|
13083
13053
|
? chatMessageCommonStyles.failed
|
13084
13054
|
: undefined, shouldOverlapAvatarAndMessage ? chatMessageStyles.avatarOverlap : chatMessageStyles.avatarNoOverlap, message.attached === 'top' || message.attached === false
|
13085
13055
|
? chatMessageStyles.bodyWithAvatar
|
13086
|
-
: chatMessageStyles.bodyWithoutAvatar,
|
13056
|
+
: chatMessageStyles.bodyWithoutAvatar,
|
13057
|
+
// messageContainerStyle used in className and style prop as style prop can't handle CSS selectors
|
13058
|
+
react.mergeStyles(messageContainerStyle));
|
13087
13059
|
const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';
|
13088
13060
|
const chatMessage = (React.createElement(React.Fragment, null,
|
13089
13061
|
React.createElement("div", { key: props.message.messageId },
|
@@ -15204,13 +15176,6 @@ const disabledVideoHint = react.mergeStyles({
|
|
15204
15176
|
padding: '0.15rem',
|
15205
15177
|
maxWidth: '100%'
|
15206
15178
|
});
|
15207
|
-
/**
|
15208
|
-
* @private
|
15209
|
-
*/
|
15210
|
-
const videoHint = react.mergeStyles(disabledVideoHint, {
|
15211
|
-
// This will appear on top of the video stream, so no dependency on theme and explicitly use a translucent white
|
15212
|
-
backgroundColor: 'rgba(255,255,255,0.8)'
|
15213
|
-
});
|
15214
15179
|
/**
|
15215
15180
|
* @private
|
15216
15181
|
*/
|
@@ -15340,16 +15305,6 @@ const reactionRenderingStyle = (args) => {
|
|
15340
15305
|
});
|
15341
15306
|
};
|
15342
15307
|
|
15343
|
-
// Copyright (c) Microsoft Corporation.
|
15344
|
-
// Licensed under the MIT License.
|
15345
|
-
/**
|
15346
|
-
* @private
|
15347
|
-
*/
|
15348
|
-
const getVideoTileOverrideColor = (isVideoRendered, theme, color) => {
|
15349
|
-
// when video is being rendered, the info has a grey-ish background, so no use of theme
|
15350
|
-
return { color: isVideoRendered ? react.DefaultPalette[color] : theme.palette[color] };
|
15351
|
-
};
|
15352
|
-
|
15353
15308
|
// Copyright (c) Microsoft Corporation.
|
15354
15309
|
// Licensed under the MIT License.
|
15355
15310
|
/**
|
@@ -15490,6 +15445,7 @@ const VideoTile = (props) => {
|
|
15490
15445
|
const videoTileRef = React.useRef(null);
|
15491
15446
|
const locale = useLocale$1();
|
15492
15447
|
const theme = useTheme();
|
15448
|
+
const callingPalette = theme.callingPalette;
|
15493
15449
|
const isVideoRendered = !!renderElement;
|
15494
15450
|
const observer = React.useRef(new ResizeObserver((entries) => {
|
15495
15451
|
const { width, height } = entries[0].contentRect;
|
@@ -15560,14 +15516,16 @@ const VideoTile = (props) => {
|
|
15560
15516
|
styles: defaultPersonaStyles$1,
|
15561
15517
|
hidePersonaDetails: true
|
15562
15518
|
};
|
15563
|
-
const videoHintWithBorderRadius = react.mergeStyles(
|
15564
|
-
|
15519
|
+
const videoHintWithBorderRadius = react.mergeStyles(disabledVideoHint, {
|
15520
|
+
borderRadius: theme.effects.roundedCorner4,
|
15521
|
+
backgroundColor: callingPalette.videoTileLabelBackgroundLight
|
15522
|
+
});
|
15523
|
+
const tileInfoStyle = React.useMemo(() => react.mergeStyles(isVideoRendered || props.alwaysShowLabelBackground ? videoHintWithBorderRadius : disabledVideoHint, styles === null || styles === void 0 ? void 0 : styles.displayNameContainer), [isVideoRendered, videoHintWithBorderRadius, styles === null || styles === void 0 ? void 0 : styles.displayNameContainer, props.alwaysShowLabelBackground]);
|
15565
15524
|
const ids = useIdentifiers();
|
15566
15525
|
const canShowLabel = showLabel && (displayName || (showMuteIndicator && isMuted));
|
15567
15526
|
const participantStateString = participantStateStringTrampoline(props, locale);
|
15568
15527
|
const canShowContextMenuButton = isHovered || isFocused;
|
15569
15528
|
let raisedHandBackgroundColor = '';
|
15570
|
-
const callingPalette = theme.callingPalette;
|
15571
15529
|
raisedHandBackgroundColor = callingPalette.raiseHandGold;
|
15572
15530
|
return (React.createElement(react.Stack, Object.assign({ "data-ui-id": ids.videoTile, className: react.mergeStyles(rootStyles, {
|
15573
15531
|
background: theme.palette.neutralLighter,
|
@@ -16405,7 +16363,7 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
16405
16363
|
/* @conditional-compile-remove(hide-attendee-name) */
|
16406
16364
|
displayName = formatDisplayName();
|
16407
16365
|
return (React.createElement(react.Stack, { tabIndex: menuKind === 'drawer' ? 0 : undefined, onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined, style: remoteVideoTileWrapperStyle },
|
16408
|
-
React.createElement(VideoTile, Object.assign({ key: userId, userId: userId, initialsName: (_b = remoteParticipant.displayName) !== null && _b !== void 0 ? _b : '', renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted, raisedHand: remoteParticipant.raisedHand, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel,
|
16366
|
+
React.createElement(VideoTile, Object.assign({ key: userId, userId: userId, initialsName: (_b = remoteParticipant.displayName) !== null && _b !== void 0 ? _b : '', renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted, raisedHand: remoteParticipant.raisedHand, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel, alwaysShowLabelBackground: props.alwaysShowLabelBackground,
|
16409
16367
|
/* @conditional-compile-remove(one-to-n-calling) */
|
16410
16368
|
/* @conditional-compile-remove(PSTN-calls) */
|
16411
16369
|
participantState: participantState }, videoTileContextualMenuProps, { isPinned: props.isPinned, onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps$1(contextualMenuProps, () => setDrawerMenuItemProps([]))),
|
@@ -16656,7 +16614,7 @@ const LocalVideoCameraCycleButton = (props) => {
|
|
16656
16614
|
* @internal
|
16657
16615
|
*/
|
16658
16616
|
const _LocalVideoTile = React.memo((props) => {
|
16659
|
-
const { isAvailable, isMuted, onCreateLocalStreamView, onDisposeLocalStreamView, localVideoViewOptions, renderElement, userId, showLabel, displayName, initialsName, onRenderAvatar, showMuteIndicator, styles, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel, localVideoSelectedDescription, raisedHand, reaction,
|
16617
|
+
const { isAvailable, isMuted, onCreateLocalStreamView, onDisposeLocalStreamView, localVideoViewOptions, renderElement, userId, showLabel, alwaysShowLabelBackground, displayName, initialsName, onRenderAvatar, showMuteIndicator, styles, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel, localVideoSelectedDescription, raisedHand, reaction,
|
16660
16618
|
/* @conditional-compile-remove(spotlight) */
|
16661
16619
|
isSpotlighted,
|
16662
16620
|
/* @conditional-compile-remove(spotlight) */
|
@@ -16758,7 +16716,7 @@ const _LocalVideoTile = React.memo((props) => {
|
|
16758
16716
|
const reactionOverlay = reactionResources !== undefined ? (React.createElement(MeetingReactionOverlay, { overlayMode: "grid-tiles", reaction: reaction, reactionResources: reactionResources })) : undefined;
|
16759
16717
|
return (React.createElement(react.Stack, { className: react.mergeStyles({ width: '100%', height: '100%' }),
|
16760
16718
|
/* @conditional-compile-remove(spotlight) */ onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined },
|
16761
|
-
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, raisedHand: raisedHand,
|
16719
|
+
React.createElement(VideoTile, Object.assign({ key: userId !== null && userId !== void 0 ? userId : 'local-video-tile', userId: userId, renderElement: renderVideoStreamElement, showLabel: showLabel, alwaysShowLabelBackground: alwaysShowLabelBackground, displayName: displayName, initialsName: initialsName, styles: videoTileStyles, onRenderPlaceholder: onRenderAvatar, isMuted: isMuted, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, raisedHand: raisedHand,
|
16762
16720
|
/* @conditional-compile-remove(spotlight) */
|
16763
16721
|
isSpotlighted: isSpotlighted }, videoTileContextualMenuProps, {
|
16764
16722
|
/* @conditional-compile-remove(spotlight) */
|
@@ -18800,7 +18758,7 @@ const VideoGallery = (props) => {
|
|
18800
18758
|
/* @conditional-compile-remove(spotlight) */
|
18801
18759
|
onStopRemoteSpotlight,
|
18802
18760
|
/* @conditional-compile-remove(spotlight) */
|
18803
|
-
maxParticipantsToSpotlight, reactionResources } = props;
|
18761
|
+
maxParticipantsToSpotlight, reactionResources, videoTilesOptions } = props;
|
18804
18762
|
const ids = useIdentifiers();
|
18805
18763
|
const theme = useTheme();
|
18806
18764
|
const localeStrings = useLocale$1().strings.videoGallery;
|
@@ -18856,7 +18814,7 @@ const VideoGallery = (props) => {
|
|
18856
18814
|
return layout === 'default' ? strings.localVideoLabel : isNarrow ? '' : strings.localVideoLabel;
|
18857
18815
|
};
|
18858
18816
|
return (React.createElement(react.Stack, { styles: localVideoTileContainerStyles, key: "local-video-tile-key", tabIndex: 0, "aria-label": strings.localVideoMovementLabel, role: 'dialog' },
|
18859
|
-
React.createElement(_LocalVideoTile, { userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: showDisplayNameTrampoline(), initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: showLocalVideoTileLabel, showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles, raisedHand: localParticipant.raisedHand, reaction: localParticipant.reaction,
|
18817
|
+
React.createElement(_LocalVideoTile, { alwaysShowLabelBackground: videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground, userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: showDisplayNameTrampoline(), initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: showLocalVideoTileLabel, showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles, raisedHand: localParticipant.raisedHand, reaction: localParticipant.reaction,
|
18860
18818
|
/* @conditional-compile-remove(spotlight) */
|
18861
18819
|
spotlightedParticipantUserIds: spotlightedParticipants,
|
18862
18820
|
/* @conditional-compile-remove(spotlight) */
|
@@ -18904,7 +18862,8 @@ const VideoGallery = (props) => {
|
|
18904
18862
|
strings,
|
18905
18863
|
/* @conditional-compile-remove(spotlight) */
|
18906
18864
|
drawerMenuHostId,
|
18907
|
-
reactionResources
|
18865
|
+
reactionResources,
|
18866
|
+
videoTilesOptions
|
18908
18867
|
]);
|
18909
18868
|
const onPinParticipant = React.useCallback((userId) => {
|
18910
18869
|
if (pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {
|
@@ -18953,7 +18912,7 @@ const VideoGallery = (props) => {
|
|
18953
18912
|
}
|
18954
18913
|
: remoteVideoViewOptions;
|
18955
18914
|
};
|
18956
|
-
return (React.createElement(_RemoteVideoTile, { streamId: remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.id, key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteVideoStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: createViewOptions(), onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
|
18915
|
+
return (React.createElement(_RemoteVideoTile, { alwaysShowLabelBackground: videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground, streamId: remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.id, key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteVideoStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: createViewOptions(), onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
|
18957
18916
|
/* @conditional-compile-remove(PSTN-calls) */
|
18958
18917
|
participantState: participant.state, menuKind: participant.userId === localParticipant.userId
|
18959
18918
|
? undefined
|
@@ -18992,7 +18951,8 @@ const VideoGallery = (props) => {
|
|
18992
18951
|
/* @conditional-compile-remove(spotlight) */ onStartRemoteSpotlight,
|
18993
18952
|
/* @conditional-compile-remove(spotlight) */ onStopRemoteSpotlight,
|
18994
18953
|
/* @conditional-compile-remove(spotlight) */ maxParticipantsToSpotlight,
|
18995
|
-
reactionResources
|
18954
|
+
reactionResources,
|
18955
|
+
videoTilesOptions
|
18996
18956
|
]);
|
18997
18957
|
const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
|
18998
18958
|
const localScreenShareStreamComponent = React.createElement(LocalScreenShare, { localParticipant: localParticipant });
|
@@ -25416,7 +25376,7 @@ class AttachmentUpload {
|
|
25416
25376
|
constructor(data) {
|
25417
25377
|
this._emitter = new EventEmitter.EventEmitter();
|
25418
25378
|
this._emitter.setMaxListeners(_MAX_EVENT_LISTENERS);
|
25419
|
-
this.
|
25379
|
+
this.taskId = nanoid.nanoid();
|
25420
25380
|
if (data instanceof File) {
|
25421
25381
|
this.file = data;
|
25422
25382
|
}
|
@@ -25426,14 +25386,14 @@ class AttachmentUpload {
|
|
25426
25386
|
const name = data === null || data === void 0 ? void 0 : data.name;
|
25427
25387
|
this.name = name;
|
25428
25388
|
}
|
25429
|
-
|
25430
|
-
this._emitter.emit('uploadProgressChange', this.
|
25389
|
+
notifyUploadProgressChanged(value) {
|
25390
|
+
this._emitter.emit('uploadProgressChange', this.taskId, value);
|
25431
25391
|
}
|
25432
|
-
|
25433
|
-
this._emitter.emit('uploadComplete', this.id,
|
25392
|
+
notifyUploadCompleted(id, url) {
|
25393
|
+
this._emitter.emit('uploadComplete', this.taskId, id, url);
|
25434
25394
|
}
|
25435
|
-
|
25436
|
-
this._emitter.emit('uploadFail', this.
|
25395
|
+
notifyUploadFailed(message) {
|
25396
|
+
this._emitter.emit('uploadFail', this.taskId, message);
|
25437
25397
|
}
|
25438
25398
|
/**
|
25439
25399
|
* Attachment upload event subscriber.
|
@@ -25631,7 +25591,7 @@ const AttachmentUploadButton = (props) => {
|
|
25631
25591
|
} })));
|
25632
25592
|
};
|
25633
25593
|
const SendBoxAttachFileIconTrampoline = () => {
|
25634
|
-
|
25594
|
+
/* @conditional-compile-remove(attachment-upload) */
|
25635
25595
|
return React.createElement(ChatCompositeIcon, { iconName: "SendBoxAttachFile" });
|
25636
25596
|
};
|
25637
25597
|
/**
|
@@ -25665,27 +25625,27 @@ class AttachmentUploadContext {
|
|
25665
25625
|
this.chatContext = chatContext;
|
25666
25626
|
}
|
25667
25627
|
getAttachmentUploads() {
|
25668
|
-
return this.chatContext.getState().
|
25628
|
+
return this.chatContext.getState()._attachmentUploads;
|
25669
25629
|
}
|
25670
25630
|
addAttachmentUploads(attachmentUploads) {
|
25671
25631
|
const attachmentUploadsMap = convertObservableAttachmentUploadToAttachmentUploadsUiState(attachmentUploads);
|
25672
25632
|
this.chatContext.setState(immer.produce(this.chatContext.getState(), (draft) => {
|
25673
|
-
draft.
|
25674
|
-
draft.
|
25633
|
+
draft._attachmentUploads = draft._attachmentUploads || {};
|
25634
|
+
draft._attachmentUploads = Object.assign(Object.assign({}, draft._attachmentUploads), attachmentUploadsMap);
|
25675
25635
|
}));
|
25676
25636
|
}
|
25677
25637
|
clearUploads() {
|
25678
25638
|
this.chatContext.setState(immer.produce(this.chatContext.getState(), (draft) => {
|
25679
|
-
draft.
|
25639
|
+
draft._attachmentUploads = {};
|
25680
25640
|
}));
|
25681
25641
|
}
|
25682
25642
|
updateAttachmentUpload(id, data) {
|
25683
25643
|
this.chatContext.setState(immer.produce(this.chatContext.getState(), (draft) => {
|
25684
25644
|
var _a, _b, _c, _d;
|
25685
|
-
if ((_a = draft.
|
25686
|
-
draft.
|
25645
|
+
if ((_a = draft._attachmentUploads) === null || _a === void 0 ? void 0 : _a[id]) {
|
25646
|
+
draft._attachmentUploads[(_b = data.id) !== null && _b !== void 0 ? _b : id] = Object.assign(Object.assign({}, (_c = draft._attachmentUploads) === null || _c === void 0 ? void 0 : _c[id]), data);
|
25687
25647
|
if (data.id) {
|
25688
|
-
(_d = draft.
|
25648
|
+
(_d = draft._attachmentUploads) === null || _d === void 0 ? true : delete _d[id];
|
25689
25649
|
}
|
25690
25650
|
}
|
25691
25651
|
}));
|
@@ -25694,10 +25654,10 @@ class AttachmentUploadContext {
|
|
25694
25654
|
this.chatContext.setState(immer.produce(this.chatContext.getState(), (draft) => {
|
25695
25655
|
ids.forEach((id) => {
|
25696
25656
|
var _a;
|
25697
|
-
const keys = Object.keys((_a = draft === null || draft === void 0 ? void 0 : draft.
|
25657
|
+
const keys = Object.keys((_a = draft === null || draft === void 0 ? void 0 : draft._attachmentUploads) !== null && _a !== void 0 ? _a : []).filter((rawID) => { var _a; return ((_a = draft._attachmentUploads) === null || _a === void 0 ? void 0 : _a[rawID].id) === id; });
|
25698
25658
|
keys.forEach((key) => {
|
25699
25659
|
var _a;
|
25700
|
-
(_a = draft.
|
25660
|
+
(_a = draft._attachmentUploads) === null || _a === void 0 ? true : delete _a[key];
|
25701
25661
|
});
|
25702
25662
|
});
|
25703
25663
|
}));
|
@@ -25713,16 +25673,16 @@ class AzureCommunicationAttachmentUploadAdapter {
|
|
25713
25673
|
this.context = new AttachmentUploadContext(chatContext);
|
25714
25674
|
}
|
25715
25675
|
findAttachmentUpload(id) {
|
25716
|
-
return this.attachmentUploads.find((attachmentUpload) => attachmentUpload.
|
25676
|
+
return this.attachmentUploads.find((attachmentUpload) => attachmentUpload.taskId === id);
|
25717
25677
|
}
|
25718
25678
|
deleteAttachmentUploads(ids) {
|
25719
|
-
this.attachmentUploads = this.attachmentUploads.filter((attachmentUpload) => !ids.includes(attachmentUpload.
|
25679
|
+
this.attachmentUploads = this.attachmentUploads.filter((attachmentUpload) => !ids.includes(attachmentUpload.taskId));
|
25720
25680
|
this.context.deleteAttachmentUploads(ids);
|
25721
25681
|
}
|
25722
25682
|
deleteErroneousAttachmentUploads() {
|
25723
25683
|
const attachmentUploads = this.context.getAttachmentUploads() || {};
|
25724
25684
|
const ids = Object.values(attachmentUploads)
|
25725
|
-
.filter((item) => item.
|
25685
|
+
.filter((item) => item.error)
|
25726
25686
|
.map((item) => item.id);
|
25727
25687
|
ids.forEach((id) => {
|
25728
25688
|
const attachmentUpload = this.findAttachmentUpload(id);
|
@@ -25761,9 +25721,8 @@ class AzureCommunicationAttachmentUploadAdapter {
|
|
25761
25721
|
}
|
25762
25722
|
updateUploadStatusMessage(id, errorMessage) {
|
25763
25723
|
this.context.updateAttachmentUpload(id, {
|
25764
|
-
|
25765
|
-
message: errorMessage
|
25766
|
-
timestamp: Date.now()
|
25724
|
+
error: {
|
25725
|
+
message: errorMessage
|
25767
25726
|
}
|
25768
25727
|
});
|
25769
25728
|
}
|
@@ -25776,20 +25735,30 @@ class AzureCommunicationAttachmentUploadAdapter {
|
|
25776
25735
|
extension: metadata.extension
|
25777
25736
|
});
|
25778
25737
|
}
|
25738
|
+
setAttachmentMetadata(taskId, attachmentId, attachmentUrl) {
|
25739
|
+
const attachmentUpload = this.findAttachmentUpload(taskId);
|
25740
|
+
this.context.updateAttachmentUpload(taskId, {
|
25741
|
+
progress: 1,
|
25742
|
+
id: attachmentId,
|
25743
|
+
name: attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.name,
|
25744
|
+
url: attachmentUrl,
|
25745
|
+
extension: (attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.name.split('.').pop()) || ''
|
25746
|
+
});
|
25747
|
+
}
|
25779
25748
|
subscribeAllEvents(attachmentUpload) {
|
25780
25749
|
attachmentUpload.on('uploadProgressChange', this.updateUploadProgress.bind(this));
|
25781
|
-
attachmentUpload.on('uploadComplete', this.
|
25750
|
+
attachmentUpload.on('uploadComplete', this.setAttachmentMetadata.bind(this));
|
25782
25751
|
attachmentUpload.on('uploadFail', this.updateUploadStatusMessage.bind(this));
|
25783
25752
|
}
|
25784
25753
|
unsubscribeAllEvents(attachmentUpload) {
|
25785
25754
|
attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadProgressChange', this.updateUploadProgress.bind(this));
|
25786
|
-
attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadComplete', this.
|
25755
|
+
attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadComplete', this.setAttachmentMetadata.bind(this));
|
25787
25756
|
attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadFail', this.updateUploadStatusMessage.bind(this));
|
25788
25757
|
}
|
25789
25758
|
}
|
25790
25759
|
/* @conditional-compile-remove(attachment-upload) */
|
25791
25760
|
/**
|
25792
|
-
* @param attachmentUploadUiState {@link
|
25761
|
+
* @param attachmentUploadUiState {@link _AttachmentUploadsUiState}
|
25793
25762
|
* @private
|
25794
25763
|
*/
|
25795
25764
|
const convertAttachmentUploadsUiStateToMessageMetadata = (attachmentUploads) => {
|
@@ -25797,7 +25766,7 @@ const convertAttachmentUploadsUiStateToMessageMetadata = (attachmentUploads) =>
|
|
25797
25766
|
const attachmentMetadata = [];
|
25798
25767
|
Object.keys(attachmentUploads).forEach((key) => {
|
25799
25768
|
const attachment = attachmentUploads[key];
|
25800
|
-
if (attachment && !attachment.
|
25769
|
+
if (attachment && !attachment.error) {
|
25801
25770
|
attachmentMetadata.push({
|
25802
25771
|
id: attachment.id,
|
25803
25772
|
name: attachment.name,
|
@@ -25819,8 +25788,8 @@ const convertAttachmentUploadsUiStateToMessageMetadata = (attachmentUploads) =>
|
|
25819
25788
|
*/
|
25820
25789
|
const convertObservableAttachmentUploadToAttachmentUploadsUiState = (attachmentUploads) => {
|
25821
25790
|
return attachmentUploads.reduce((map, attachmentUpload) => {
|
25822
|
-
map[attachmentUpload.
|
25823
|
-
id: attachmentUpload.
|
25791
|
+
map[attachmentUpload.taskId] = {
|
25792
|
+
id: attachmentUpload.taskId,
|
25824
25793
|
name: attachmentUpload.name,
|
25825
25794
|
progress: 0,
|
25826
25795
|
extension: attachmentUpload.name.split('.').pop() || ''
|
@@ -25894,7 +25863,7 @@ class ChatContext {
|
|
25894
25863
|
latestErrors: clientState.latestErrors
|
25895
25864
|
};
|
25896
25865
|
/* @conditional-compile-remove(attachment-upload) */
|
25897
|
-
updatedState = Object.assign(Object.assign({}, updatedState), {
|
25866
|
+
updatedState = Object.assign(Object.assign({}, updatedState), { _attachmentUploads: this.state._attachmentUploads });
|
25898
25867
|
this.setState(updatedState);
|
25899
25868
|
}
|
25900
25869
|
}
|
@@ -25929,6 +25898,8 @@ class AzureCommunicationChatAdapter {
|
|
25929
25898
|
this.dispose = this.dispose.bind(this);
|
25930
25899
|
this.fetchInitialData = this.fetchInitialData.bind(this);
|
25931
25900
|
this.sendMessage = this.sendMessage.bind(this);
|
25901
|
+
/* @conditional-compile-remove(attachment-upload) */
|
25902
|
+
this.sendMessageWithAttachments = this.sendMessageWithAttachments.bind(this);
|
25932
25903
|
this.sendReadReceipt = this.sendReadReceipt.bind(this);
|
25933
25904
|
this.sendTypingIndicator = this.sendTypingIndicator.bind(this);
|
25934
25905
|
this.updateMessage = this.updateMessage.bind(this);
|
@@ -26001,7 +25972,7 @@ class AzureCommunicationChatAdapter {
|
|
26001
25972
|
return __awaiter$o(this, arguments, void 0, function* (content, options = {}) {
|
26002
25973
|
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$o(this, void 0, void 0, function* () {
|
26003
25974
|
/* @conditional-compile-remove(attachment-upload) */
|
26004
|
-
options.metadata = Object.assign(Object.assign({}, options.metadata), convertAttachmentUploadsUiStateToMessageMetadata(this.context.getState().
|
25975
|
+
options.metadata = Object.assign(Object.assign({}, options.metadata), convertAttachmentUploadsUiStateToMessageMetadata(this.context.getState()._attachmentUploads));
|
26005
25976
|
/* @conditional-compile-remove(attachment-upload) */
|
26006
25977
|
/**
|
26007
25978
|
* All the current uploads need to be clear from the state before a message has been sent.
|
@@ -26015,6 +25986,28 @@ class AzureCommunicationChatAdapter {
|
|
26015
25986
|
}));
|
26016
25987
|
});
|
26017
25988
|
}
|
25989
|
+
/* @conditional-compile-remove(attachment-upload) */
|
25990
|
+
/** Send a chat message with attachments. */
|
25991
|
+
sendMessageWithAttachments(content, attachments) {
|
25992
|
+
return __awaiter$o(this, void 0, void 0, function* () {
|
25993
|
+
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$o(this, void 0, void 0, function* () {
|
25994
|
+
const fileSharingMetadata = {
|
25995
|
+
fileSharingMetadata: JSON.stringify(attachments)
|
25996
|
+
};
|
25997
|
+
/**
|
25998
|
+
* All the current uploads need to be clear from the state before a message has been sent.
|
25999
|
+
* This ensures the following behavior:
|
26000
|
+
* 1. Attachment Upload cards are removed from sendbox at the same time text in sendbox is removed.
|
26001
|
+
* 2. any component rendering these attachment uploads doesn't continue to do so.
|
26002
|
+
* 3. Cleans the state for new attachment uploads with a fresh message.
|
26003
|
+
*/
|
26004
|
+
this.attachmentUploadAdapter.clearUploads();
|
26005
|
+
yield this.handlers.onSendMessage(content, {
|
26006
|
+
metadata: fileSharingMetadata
|
26007
|
+
});
|
26008
|
+
}));
|
26009
|
+
});
|
26010
|
+
}
|
26018
26011
|
sendReadReceipt(chatMessageId) {
|
26019
26012
|
return __awaiter$o(this, void 0, void 0, function* () {
|
26020
26013
|
yield this.asyncTeeErrorToEventEmitter(() => __awaiter$o(this, void 0, void 0, function* () {
|
@@ -27062,7 +27055,7 @@ const useSelector$2 = (selector, selectorProps) => {
|
|
27062
27055
|
*/
|
27063
27056
|
const getAttachmentUploads = (state) => {
|
27064
27057
|
/* @conditional-compile-remove(attachment-upload) */
|
27065
|
-
return state === null || state === void 0 ? void 0 : state.
|
27058
|
+
return state === null || state === void 0 ? void 0 : state._attachmentUploads;
|
27066
27059
|
};
|
27067
27060
|
|
27068
27061
|
// Copyright (c) Microsoft Corporation.
|
@@ -27162,9 +27155,9 @@ const ChatScreen = (props) => {
|
|
27162
27155
|
return;
|
27163
27156
|
}
|
27164
27157
|
/* @conditional-compile-remove(attachment-upload) */
|
27165
|
-
const
|
27158
|
+
const uploadTasks = adapter.registerActiveUploads(Array.from(files));
|
27166
27159
|
/* @conditional-compile-remove(attachment-upload) */
|
27167
|
-
(_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.
|
27160
|
+
(_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection(uploadTasks);
|
27168
27161
|
}, [adapter, attachmentOptions]);
|
27169
27162
|
/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
|
27170
27163
|
const onRenderAttachmentDownloads = React.useCallback((userId, message) => {
|
@@ -27263,18 +27256,18 @@ const ChatScreen = (props) => {
|
|
27263
27256
|
}, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId]);
|
27264
27257
|
const AttachmentButton = React.useCallback(() => {
|
27265
27258
|
var _a, _b, _c;
|
27266
|
-
if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.
|
27259
|
+
if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection)) {
|
27267
27260
|
return null;
|
27268
27261
|
}
|
27269
27262
|
return (React.createElement(AttachmentUploadButtonWrapper, { supportedMediaTypes: (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.supportedMediaTypes, disableMultipleUploads: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.disableMultipleUploads, onChange: attachmentUploadButtonOnChange }));
|
27270
27263
|
}, [
|
27271
|
-
(_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.
|
27264
|
+
(_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.handleAttachmentSelection,
|
27272
27265
|
(_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.supportedMediaTypes,
|
27273
27266
|
(_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.disableMultipleUploads,
|
27274
27267
|
attachmentUploadButtonOnChange
|
27275
27268
|
]);
|
27276
27269
|
/* @conditional-compile-remove(attachment-upload) */
|
27277
|
-
const
|
27270
|
+
const attachmentsWithProgress = useSelector$2(attachmentUploadsSelector).attachments;
|
27278
27271
|
return (React.createElement(react.Stack, { className: chatContainer, grow: true },
|
27279
27272
|
(options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
|
27280
27273
|
React.createElement(react.Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
|
@@ -27295,9 +27288,13 @@ const ChatScreen = (props) => {
|
|
27295
27288
|
React.createElement(react.Stack, { grow: true },
|
27296
27289
|
React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles,
|
27297
27290
|
/* @conditional-compile-remove(attachment-upload) */
|
27298
|
-
|
27291
|
+
attachmentsWithProgress: attachmentsWithProgress,
|
27299
27292
|
/* @conditional-compile-remove(attachment-upload) */
|
27300
|
-
onCancelAttachmentUpload:
|
27293
|
+
onCancelAttachmentUpload: (id) => {
|
27294
|
+
var _a, _b, _c;
|
27295
|
+
(_a = adapter.cancelUpload) === null || _a === void 0 ? void 0 : _a.call(adapter, id);
|
27296
|
+
(_c = (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.handleAttachmentRemoval) === null || _c === void 0 ? void 0 : _c.call(_b, id);
|
27297
|
+
} }))),
|
27301
27298
|
formFactor !== 'mobile' && React.createElement(AttachmentButton, null)))),
|
27302
27299
|
/* @conditional-compile-remove(chat-composite-participant-pane) */
|
27303
27300
|
(options === null || options === void 0 ? void 0 : options.participantPane) === true && (React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' }))),
|
@@ -28103,19 +28100,15 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
28103
28100
|
const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
|
28104
28101
|
return yield adapter.startVideoBackgroundEffect(replacementConfig);
|
28105
28102
|
}),
|
28106
|
-
/* @conditional-compile-remove(close-captions) */
|
28107
28103
|
onStartCaptions: (options) => __awaiter$k(void 0, void 0, void 0, function* () {
|
28108
28104
|
yield adapter.startCaptions(options);
|
28109
28105
|
}),
|
28110
|
-
/* @conditional-compile-remove(close-captions) */
|
28111
28106
|
onStopCaptions: () => __awaiter$k(void 0, void 0, void 0, function* () {
|
28112
28107
|
yield adapter.stopCaptions();
|
28113
28108
|
}),
|
28114
|
-
/* @conditional-compile-remove(close-captions) */
|
28115
28109
|
onSetSpokenLanguage: (language) => __awaiter$k(void 0, void 0, void 0, function* () {
|
28116
28110
|
yield adapter.setSpokenLanguage(language);
|
28117
28111
|
}),
|
28118
|
-
/* @conditional-compile-remove(close-captions) */
|
28119
28112
|
onSetCaptionLanguage: (language) => __awaiter$k(void 0, void 0, void 0, function* () {
|
28120
28113
|
yield adapter.setCaptionLanguage(language);
|
28121
28114
|
}),
|
@@ -28164,13 +28157,9 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
28164
28157
|
// Licensed under the MIT License.
|
28165
28158
|
/** @private */
|
28166
28159
|
const CaptionsSettingsModal = (props) => {
|
28167
|
-
/* @conditional-compile-remove(close-captions) */
|
28168
28160
|
const CaptionsSettingsModalProps = useAdaptedSelector(_captionSettingsSelector);
|
28169
|
-
/* @conditional-compile-remove(close-captions) */
|
28170
28161
|
const handlers = useHandlers();
|
28171
|
-
/* @conditional-compile-remove(close-captions) */
|
28172
28162
|
const strings = useLocale().strings.call;
|
28173
|
-
/* @conditional-compile-remove(close-captions) */
|
28174
28163
|
const modalStrings = {
|
28175
28164
|
captionsSettingsModalTitle: strings.captionsSettingsModalTitle,
|
28176
28165
|
captionsSettingsSpokenLanguageDropdownLabel: strings.captionsSettingsSpokenLanguageDropdownLabel,
|
@@ -28182,11 +28171,8 @@ const CaptionsSettingsModal = (props) => {
|
|
28182
28171
|
captionsSettingsModalAriaLabel: strings.captionsSettingsModalAriaLabel,
|
28183
28172
|
captionsSettingsCloseModalButtonAriaLabel: strings.captionsSettingsCloseModalButtonAriaLabel
|
28184
28173
|
};
|
28185
|
-
/* @conditional-compile-remove(close-captions) */
|
28186
28174
|
const spokenLanguageStrings = strings.spokenLanguageStrings;
|
28187
|
-
/* @conditional-compile-remove(close-captions) */
|
28188
28175
|
const captionLanguageStrings = strings.captionLanguageStrings;
|
28189
|
-
/* @conditional-compile-remove(close-captions) */
|
28190
28176
|
return (React.createElement(_CaptionsSettingsModal, Object.assign({}, CaptionsSettingsModalProps, handlers, { strings: modalStrings, spokenLanguageStrings: spokenLanguageStrings, captionLanguageStrings: captionLanguageStrings, showModal: props.showCaptionsSettingsModal, onDismissCaptionsSettings: props.onDismissCaptionsSettings, changeCaptionLanguage: props.changeCaptionLanguage })));
|
28191
28177
|
};
|
28192
28178
|
|
@@ -28313,26 +28299,19 @@ var __awaiter$j = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
28313
28299
|
* @private
|
28314
28300
|
*/
|
28315
28301
|
const CaptionsBannerMoreButton = (props) => {
|
28316
|
-
/* @conditional-compile-remove(close-captions) */
|
28317
28302
|
const localeStrings = useLocale();
|
28318
|
-
/* @conditional-compile-remove(close-captions) */
|
28319
28303
|
const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);
|
28320
|
-
/* @conditional-compile-remove(close-captions) */
|
28321
28304
|
const startCaptionsButtonHandlers = useHandlers();
|
28322
|
-
/* @conditional-compile-remove(close-captions) */
|
28323
28305
|
const moreButtonStrings = React.useMemo(() => ({
|
28324
28306
|
label: localeStrings.strings.call.captionsBannerMoreButtonCallingLabel,
|
28325
28307
|
tooltipOffContent: localeStrings.strings.call.captionsBannerMoreButtonTooltip
|
28326
28308
|
}), [localeStrings]);
|
28327
|
-
/* @conditional-compile-remove(close-captions) */
|
28328
28309
|
const moreButtonContextualMenuItems = [];
|
28329
|
-
/* @conditional-compile-remove(close-captions) */
|
28330
28310
|
const startCaptions = React.useCallback(() => __awaiter$j(void 0, void 0, void 0, function* () {
|
28331
28311
|
yield startCaptionsButtonHandlers.onStartCaptions({
|
28332
28312
|
spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
|
28333
28313
|
});
|
28334
28314
|
}), [startCaptionsButtonHandlers, startCaptionsButtonProps.currentSpokenLanguage]);
|
28335
|
-
/* @conditional-compile-remove(close-captions) */
|
28336
28315
|
moreButtonContextualMenuItems.push({
|
28337
28316
|
key: 'ToggleCaptionsKey',
|
28338
28317
|
text: startCaptionsButtonProps.checked
|
@@ -28353,7 +28332,6 @@ const CaptionsBannerMoreButton = (props) => {
|
|
28353
28332
|
styles: buttonFlyoutIncreasedSizeStyles
|
28354
28333
|
}
|
28355
28334
|
});
|
28356
|
-
/* @conditional-compile-remove(close-captions) */
|
28357
28335
|
if (props.onCaptionsSettingsClick) {
|
28358
28336
|
moreButtonContextualMenuItems.push({
|
28359
28337
|
key: 'openCaptionsSettingsKey',
|
@@ -28370,7 +28348,6 @@ const CaptionsBannerMoreButton = (props) => {
|
|
28370
28348
|
disabled: !startCaptionsButtonProps.checked
|
28371
28349
|
});
|
28372
28350
|
}
|
28373
|
-
/* @conditional-compile-remove(close-captions) */
|
28374
28351
|
return (React.createElement(MoreButton, Object.assign({}, props, { "data-ui-id": "captions-banner-more-button", strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: {
|
28375
28352
|
items: moreButtonContextualMenuItems,
|
28376
28353
|
calloutProps: {
|
@@ -28381,49 +28358,35 @@ const CaptionsBannerMoreButton = (props) => {
|
|
28381
28358
|
|
28382
28359
|
// Copyright (c) Microsoft Corporation.
|
28383
28360
|
// Licensed under the MIT License.
|
28384
|
-
/* @conditional-compile-remove(close-captions) */
|
28385
28361
|
const mobileViewBannerWidth = '90%';
|
28386
28362
|
/** @private */
|
28387
28363
|
const CaptionsBanner = (props) => {
|
28388
|
-
/* @conditional-compile-remove(close-captions) */
|
28389
28364
|
const captionsBannerProps = useAdaptedSelector(_captionsBannerSelector);
|
28390
|
-
/* @conditional-compile-remove(close-captions) */
|
28391
28365
|
const handlers = useHandlers();
|
28392
|
-
/* @conditional-compile-remove(close-captions) */
|
28393
28366
|
const [isCaptionsSettingsOpen, setIsCaptionsSettingsOpen] = React.useState(false);
|
28394
|
-
/* @conditional-compile-remove(close-captions) */
|
28395
28367
|
const onClickCaptionsSettings = () => {
|
28396
28368
|
setIsCaptionsSettingsOpen(true);
|
28397
28369
|
};
|
28398
|
-
/* @conditional-compile-remove(close-captions) */
|
28399
28370
|
const onDismissCaptionsSettings = () => {
|
28400
28371
|
setIsCaptionsSettingsOpen(false);
|
28401
28372
|
};
|
28402
|
-
/* @conditional-compile-remove(close-captions) */
|
28403
28373
|
const containerClassName = react.mergeStyles({
|
28404
28374
|
position: 'relative'
|
28405
28375
|
});
|
28406
|
-
/* @conditional-compile-remove(close-captions) */
|
28407
28376
|
const floatingChildClassName = react.mergeStyles({
|
28408
28377
|
position: 'absolute',
|
28409
28378
|
right: 0,
|
28410
28379
|
top: 0
|
28411
28380
|
});
|
28412
|
-
/* @conditional-compile-remove(close-captions) */
|
28413
28381
|
const strings = useLocale().strings.call;
|
28414
|
-
/* @conditional-compile-remove(close-captions) */
|
28415
28382
|
const captionsBannerStrings = {
|
28416
28383
|
captionsBannerSpinnerText: strings.captionsBannerSpinnerText
|
28417
28384
|
};
|
28418
|
-
/* @conditional-compile-remove(close-captions) */
|
28419
28385
|
const onRenderAvatar = React.useCallback((userId, options) => {
|
28420
28386
|
return React.createElement(AvatarPersona, Object.assign({ userId: userId }, options, { dataProvider: props.onFetchAvatarPersonaData }));
|
28421
28387
|
}, [props.onFetchAvatarPersonaData]);
|
28422
|
-
/* @conditional-compile-remove(close-captions) */
|
28423
28388
|
const { innerWidth: width } = window;
|
28424
|
-
/* @conditional-compile-remove(close-captions) */
|
28425
28389
|
const [windowWidth, setWindowWidth] = React.useState(width);
|
28426
|
-
/* @conditional-compile-remove(close-captions) */
|
28427
28390
|
React.useEffect(() => {
|
28428
28391
|
function handleResize() {
|
28429
28392
|
setWindowWidth(window.innerWidth);
|
@@ -28431,11 +28394,10 @@ const CaptionsBanner = (props) => {
|
|
28431
28394
|
window.addEventListener('resize', handleResize);
|
28432
28395
|
return () => window.removeEventListener('resize', handleResize);
|
28433
28396
|
}, []);
|
28434
|
-
/* @conditional-compile-remove(close-captions) */
|
28435
28397
|
const desktopViewBannerWidth = windowWidth > 620 ? '35rem' : '80%';
|
28436
28398
|
return (React.createElement(React.Fragment, null,
|
28437
|
-
|
28438
|
-
|
28399
|
+
isCaptionsSettingsOpen && (React.createElement(CaptionsSettingsModal, { showCaptionsSettingsModal: isCaptionsSettingsOpen, onDismissCaptionsSettings: onDismissCaptionsSettings, changeCaptionLanguage: props.useTeamsCaptions })),
|
28400
|
+
React.createElement("div", { className: containerClassName },
|
28439
28401
|
React.createElement(react.Stack, { horizontalAlign: "center" },
|
28440
28402
|
React.createElement(react.Stack.Item, { style: { width: props.isMobile ? mobileViewBannerWidth : desktopViewBannerWidth } },
|
28441
28403
|
React.createElement(_CaptionsBanner, Object.assign({}, captionsBannerProps, handlers, { onRenderAvatar: onRenderAvatar, formFactor: props.isMobile ? 'compact' : 'default', strings: captionsBannerStrings })))),
|
@@ -28727,13 +28689,11 @@ const getCaptionsKind = (state) => {
|
|
28727
28689
|
var _a;
|
28728
28690
|
return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.captionsKind;
|
28729
28691
|
};
|
28730
|
-
/* @conditional-compile-remove(close-captions) */
|
28731
28692
|
/** @private */
|
28732
28693
|
const getCaptionsStatus = (state) => {
|
28733
28694
|
var _a;
|
28734
28695
|
return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.isCaptionsFeatureActive;
|
28735
28696
|
};
|
28736
|
-
/* @conditional-compile-remove(close-captions) */
|
28737
28697
|
/**
|
28738
28698
|
* @private
|
28739
28699
|
*/
|
@@ -29519,15 +29479,11 @@ var __awaiter$h = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
29519
29479
|
*/
|
29520
29480
|
const DesktopMoreButton = (props) => {
|
29521
29481
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
29522
|
-
/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
|
29523
29482
|
const localeStrings = useLocale();
|
29524
29483
|
/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
29525
29484
|
const holdButtonProps = usePropsFor$1(HoldButton);
|
29526
|
-
/* @conditional-compile-remove(close-captions) */
|
29527
29485
|
const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);
|
29528
|
-
/* @conditional-compile-remove(close-captions) */
|
29529
29486
|
const startCaptionsButtonHandlers = useHandlers();
|
29530
|
-
/* @conditional-compile-remove(close-captions) */
|
29531
29487
|
const startCaptions = React.useCallback(() => __awaiter$h(void 0, void 0, void 0, function* () {
|
29532
29488
|
yield startCaptionsButtonHandlers.onStartCaptions({
|
29533
29489
|
spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
|
@@ -29540,13 +29496,11 @@ const DesktopMoreButton = (props) => {
|
|
29540
29496
|
const callees = useSelector$1(getTargetCallees);
|
29541
29497
|
const allowDtmfDialer = showDtmfDialer(callees);
|
29542
29498
|
const [dtmfDialerChecked, setDtmfDialerChecked] = React.useState((_b = props.dtmfDialerPresent) !== null && _b !== void 0 ? _b : false);
|
29543
|
-
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
|
29544
29499
|
const moreButtonStrings = React.useMemo(() => ({
|
29545
29500
|
label: localeStrings.strings.call.moreButtonCallingLabel,
|
29546
29501
|
tooltipOffContent: localeStrings.strings.callWithChat.moreDrawerButtonTooltip
|
29547
29502
|
}), [localeStrings]);
|
29548
29503
|
const moreButtonContextualMenuItems = [];
|
29549
|
-
/* @conditional-compile-remove(close-captions) */
|
29550
29504
|
const menuSubIconStyleSet = {
|
29551
29505
|
root: {
|
29552
29506
|
height: 'unset',
|
@@ -29568,7 +29522,6 @@ const DesktopMoreButton = (props) => {
|
|
29568
29522
|
disabled: props.disableButtonsForHoldScreen
|
29569
29523
|
});
|
29570
29524
|
// is captions feature is active
|
29571
|
-
/* @conditional-compile-remove(close-captions) */
|
29572
29525
|
if (props.isCaptionsSupported) {
|
29573
29526
|
const captionsContextualMenuItems = [];
|
29574
29527
|
moreButtonContextualMenuItems.push({
|
@@ -29823,9 +29776,7 @@ const DesktopMoreButton = (props) => {
|
|
29823
29776
|
styles: buttonFlyoutIncreasedSizeStyles
|
29824
29777
|
} }, element));
|
29825
29778
|
});
|
29826
|
-
return (React.createElement(MoreButton, Object.assign({}, props, { "data-ui-id": "common-call-composite-more-button",
|
29827
|
-
/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
|
29828
|
-
strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: {
|
29779
|
+
return (React.createElement(MoreButton, Object.assign({}, props, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: {
|
29829
29780
|
items: moreButtonContextualMenuItems,
|
29830
29781
|
calloutProps: {
|
29831
29782
|
preventDismissOnEvent: _preventDismissOnEvent
|
@@ -30061,7 +30012,6 @@ const CommonCallControlBar = (props) => {
|
|
30061
30012
|
const [isOutOfSpace, setIsOutOfSpace] = React.useState(false);
|
30062
30013
|
const callWithChatStrings = useCallWithChatCompositeStrings();
|
30063
30014
|
const options = inferCommonCallControlOptions(props.mobileView, props.callControls);
|
30064
|
-
/* @conditional-compile-remove(close-captions) */
|
30065
30015
|
const [showCaptionsSettingsModal, setShowCaptionsSettingsModal] = React.useState(false);
|
30066
30016
|
/* @conditional-compile-remove(end-call-options) */
|
30067
30017
|
// If the hangup capability is not present, we default to true
|
@@ -30094,11 +30044,9 @@ const CommonCallControlBar = (props) => {
|
|
30094
30044
|
React.useEffect(() => {
|
30095
30045
|
setIsOutOfSpace(totalButtonsWidth > controlBarContainerWidth);
|
30096
30046
|
}, [totalButtonsWidth, controlBarContainerWidth]);
|
30097
|
-
/* @conditional-compile-remove(close-captions) */
|
30098
30047
|
const openCaptionsSettingsModal = React.useCallback(() => {
|
30099
30048
|
setShowCaptionsSettingsModal(true);
|
30100
30049
|
}, []);
|
30101
|
-
/* @conditional-compile-remove(close-captions) */
|
30102
30050
|
const onDismissCaptionsSettings = React.useCallback(() => {
|
30103
30051
|
setShowCaptionsSettingsModal(false);
|
30104
30052
|
}, []);
|
@@ -30154,17 +30102,15 @@ const CommonCallControlBar = (props) => {
|
|
30154
30102
|
const showExitSpotlightButton = (options === null || options === void 0 ? void 0 : options.exitSpotlightButton) !== false;
|
30155
30103
|
const showCaptionsButton = props.isCaptionsSupported &&
|
30156
30104
|
/* @conditional-compile-remove(acs-close-captions) */ isEnabled$1(options.captionsButton);
|
30157
|
-
const showDesktopMoreButton =
|
30158
|
-
/*@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) &&
|
30105
|
+
const showDesktopMoreButton = isEnabled$1(options === null || options === void 0 ? void 0 : options.moreButton) &&
|
30159
30106
|
(/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled$1(options === null || options === void 0 ? void 0 : options.holdButton) ||
|
30160
|
-
|
30107
|
+
showCaptionsButton ||
|
30161
30108
|
props.onUserSetGalleryLayout);
|
30162
30109
|
const role = (_b = props.callAdapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
|
30163
30110
|
const hideRaiseHandButtonInRoomsCall = props.callAdapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);
|
30164
30111
|
const reactionResources = props.callAdapter.getState().reactions;
|
30165
30112
|
return (React.createElement("div", { ref: controlBarSizeRef },
|
30166
|
-
React.createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
30167
|
-
/* @conditional-compile-remove(close-captions) */ showCaptionsSettingsModal && (React.createElement(CaptionsSettingsModal, { showCaptionsSettingsModal: showCaptionsSettingsModal, onDismissCaptionsSettings: onDismissCaptionsSettings, changeCaptionLanguage: props.isCaptionsOn && props.useTeamsCaptions }))),
|
30113
|
+
React.createElement(CallAdapterProvider, { adapter: props.callAdapter }, showCaptionsSettingsModal && (React.createElement(CaptionsSettingsModal, { showCaptionsSettingsModal: showCaptionsSettingsModal, onDismissCaptionsSettings: onDismissCaptionsSettings, changeCaptionLanguage: props.isCaptionsOn && props.useTeamsCaptions }))),
|
30168
30114
|
React.createElement(react.Stack, { horizontal: true, reversed: !props.mobileView && !isOutOfSpace, horizontalAlign: "space-between", className: react.mergeStyles(callControlsContainerStyles, controlBarContainerStyles, controlBarDesktopContainerStyles) },
|
30169
30115
|
React.createElement(react.Stack.Item, { grow: true, className: react.mergeStyles(controlBarWrapperDesktopStyles) },
|
30170
30116
|
React.createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
@@ -30204,11 +30150,7 @@ const CommonCallControlBar = (props) => {
|
|
30204
30150
|
props.mobileView && (React.createElement(MoreButton, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, onClick: props.onMoreButtonClicked, disabled: props.disableButtonsForLobbyPage, disableTooltip: props.mobileView })),
|
30205
30151
|
!props.mobileView && showDesktopMoreButton && (React.createElement(DesktopMoreButton, { disableButtonsForHoldScreen: props.disableButtonsForHoldScreen, styles: commonButtonStyles,
|
30206
30152
|
/*@conditional-compile-remove(PSTN-calls) */
|
30207
|
-
onClickShowDialpad: props.onClickShowDialpad, callControls: props.callControls,
|
30208
|
-
/* @conditional-compile-remove(close-captions) */
|
30209
|
-
isCaptionsSupported: showCaptionsButton,
|
30210
|
-
/* @conditional-compile-remove(close-captions) */
|
30211
|
-
onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage })),
|
30153
|
+
onClickShowDialpad: props.onClickShowDialpad, callControls: props.callControls, isCaptionsSupported: showCaptionsButton, onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage })),
|
30212
30154
|
React.createElement(EndCall, { displayType: "compact", mobileView: props.mobileView, styles: endCallButtonStyles,
|
30213
30155
|
/* @conditional-compile-remove(end-call-options) */
|
30214
30156
|
enableEndCallMenu: !isBoolean(props.callControls) &&
|
@@ -30405,13 +30347,10 @@ const captionSettingsDrawerStyles = (theme) => ({
|
|
30405
30347
|
/** @private */
|
30406
30348
|
const CaptionLanguageSettingsDrawer = (props) => {
|
30407
30349
|
var _a;
|
30408
|
-
/* @conditional-compile-remove(close-captions) */
|
30409
30350
|
const theme = useTheme();
|
30410
|
-
/* @conditional-compile-remove(close-captions) */
|
30411
30351
|
const onDrawerItemClick = React.useCallback((languageCode) => {
|
30412
30352
|
props.selectLanguage(languageCode);
|
30413
30353
|
}, [props]);
|
30414
|
-
/* @conditional-compile-remove(close-captions) */
|
30415
30354
|
const drawerItems = React.useMemo(() => {
|
30416
30355
|
var _a;
|
30417
30356
|
return _getKeys((_a = props.supportedLanguageStrings) !== null && _a !== void 0 ? _a : []).map((languageCode) => ({
|
@@ -30425,7 +30364,6 @@ const CaptionLanguageSettingsDrawer = (props) => {
|
|
30425
30364
|
const copy = [...drawerItems];
|
30426
30365
|
return copy.sort((a, b) => (a.text && b.text && a.text > b.text ? 1 : -1));
|
30427
30366
|
}, [drawerItems]);
|
30428
|
-
/* @conditional-compile-remove(close-captions) */
|
30429
30367
|
return (React.createElement(_DrawerMenu, { heading: (_a = props.strings) === null || _a === void 0 ? void 0 : _a.menuTitle, items: sortedDrawerItems !== null && sortedDrawerItems !== void 0 ? sortedDrawerItems : [], onLightDismiss: () => {
|
30430
30368
|
props.setCurrentLanguage(props.currentLanguage);
|
30431
30369
|
props.onLightDismiss();
|
@@ -30463,13 +30401,10 @@ const themedToggleButtonStyle = (theme, checked) => {
|
|
30463
30401
|
/** @private */
|
30464
30402
|
const SpokenLanguageSettingsDrawer = (props) => {
|
30465
30403
|
var _a;
|
30466
|
-
/* @conditional-compile-remove(close-captions) */
|
30467
30404
|
const theme = useTheme();
|
30468
|
-
/* @conditional-compile-remove(close-captions) */
|
30469
30405
|
const onDrawerItemClick = React.useCallback((languageCode) => {
|
30470
30406
|
props.selectLanguage(languageCode);
|
30471
30407
|
}, [props]);
|
30472
|
-
/* @conditional-compile-remove(close-captions) */
|
30473
30408
|
const drawerItems = React.useMemo(() => {
|
30474
30409
|
var _a;
|
30475
30410
|
return _getKeys((_a = props.supportedLanguageStrings) !== null && _a !== void 0 ? _a : []).map((languageCode) => ({
|
@@ -30483,7 +30418,6 @@ const SpokenLanguageSettingsDrawer = (props) => {
|
|
30483
30418
|
const copy = [...drawerItems];
|
30484
30419
|
return copy.sort((a, b) => (a.text && b.text && a.text > b.text ? 1 : -1));
|
30485
30420
|
}, [drawerItems]);
|
30486
|
-
/* @conditional-compile-remove(close-captions) */
|
30487
30421
|
return (React.createElement(_DrawerMenu, { heading: (_a = props.strings) === null || _a === void 0 ? void 0 : _a.menuTitle, items: sortedDrawerItems !== null && sortedDrawerItems !== void 0 ? sortedDrawerItems : [], onLightDismiss: () => {
|
30488
30422
|
props.setCurrentLanguage(props.currentLanguage);
|
30489
30423
|
props.onLightDismiss();
|
@@ -30511,7 +30445,6 @@ const inferCallWithChatControlOptions = (callWithChatControls) => {
|
|
30511
30445
|
/** @private */
|
30512
30446
|
const MoreDrawer = (props) => {
|
30513
30447
|
var _a, _b, _c, _d, _e, _f, _g;
|
30514
|
-
/* @conditional-compile-remove(close-captions) */
|
30515
30448
|
const theme = react.useTheme();
|
30516
30449
|
const callAdapter = useAdapter();
|
30517
30450
|
const drawerMenuItems = [];
|
@@ -30725,27 +30658,17 @@ const MoreDrawer = (props) => {
|
|
30725
30658
|
}
|
30726
30659
|
});
|
30727
30660
|
}
|
30728
|
-
/* @conditional-compile-remove(close-captions) */
|
30729
30661
|
//Captions drawer menu
|
30730
30662
|
const supportedSpokenLanguageStrings = useLocale().strings.call.spokenLanguageStrings;
|
30731
|
-
/* @conditional-compile-remove(close-captions) */
|
30732
30663
|
//Captions drawer menu
|
30733
30664
|
const supportedCaptionLanguageStrings = useLocale().strings.call.captionLanguageStrings;
|
30734
|
-
/* @conditional-compile-remove(close-captions) */
|
30735
30665
|
const captionSettingsProp = useAdaptedSelector(_captionSettingsSelector);
|
30736
|
-
/* @conditional-compile-remove(close-captions) */
|
30737
30666
|
const startCaptionsButtonHandlers = useHandlers();
|
30738
|
-
/* @conditional-compile-remove(close-captions) */
|
30739
30667
|
const captionSettingsHandlers = useHandlers();
|
30740
|
-
/* @conditional-compile-remove(close-captions) */
|
30741
30668
|
const [isSpokenLanguageDrawerOpen, setIsSpokenLanguageDrawerOpen] = React.useState(false);
|
30742
|
-
/* @conditional-compile-remove(close-captions) */
|
30743
30669
|
const [isCaptionLanguageDrawerOpen, setIsCaptionLanguageDrawerOpen] = React.useState(false);
|
30744
|
-
/* @conditional-compile-remove(close-captions) */
|
30745
30670
|
const [currentSpokenLanguage, setCurrentSpokenLanguage] = React.useState((_f = captionSettingsProp.currentSpokenLanguage) !== null && _f !== void 0 ? _f : 'en-us');
|
30746
|
-
/* @conditional-compile-remove(close-captions) */
|
30747
30671
|
const [currentCaptionLanguage, setCurrentCaptionLanguage] = React.useState((_g = captionSettingsProp.currentCaptionLanguage) !== null && _g !== void 0 ? _g : _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
|
30748
|
-
/* @conditional-compile-remove(close-captions) */
|
30749
30672
|
const onToggleChange = React.useCallback(() => __awaiter$g(void 0, void 0, void 0, function* () {
|
30750
30673
|
if (!captionSettingsProp.isCaptionsFeatureActive) {
|
30751
30674
|
yield startCaptionsButtonHandlers.onStartCaptions({
|
@@ -30756,7 +30679,6 @@ const MoreDrawer = (props) => {
|
|
30756
30679
|
startCaptionsButtonHandlers.onStopCaptions();
|
30757
30680
|
}
|
30758
30681
|
}), [captionSettingsProp.isCaptionsFeatureActive, startCaptionsButtonHandlers, currentSpokenLanguage]);
|
30759
|
-
/* @conditional-compile-remove(close-captions) */
|
30760
30682
|
if (showCaptionsButton) {
|
30761
30683
|
const captionsDrawerItems = [];
|
30762
30684
|
const spokenLanguageString = supportedSpokenLanguageStrings
|
@@ -30836,7 +30758,6 @@ const MoreDrawer = (props) => {
|
|
30836
30758
|
customDrawerButtons['overflow'].forEach((element) => {
|
30837
30759
|
drawerMenuItems.push(element);
|
30838
30760
|
});
|
30839
|
-
/* @conditional-compile-remove(close-captions) */
|
30840
30761
|
return (React.createElement(React.Fragment, null,
|
30841
30762
|
isSpokenLanguageDrawerOpen && showCaptionsButton && (React.createElement(SpokenLanguageSettingsDrawer, { onLightDismiss: props.onLightDismiss, selectLanguage: setCurrentSpokenLanguage, setCurrentLanguage: captionSettingsHandlers.onSetSpokenLanguage, currentLanguage: currentSpokenLanguage, strings: { menuTitle: props.strings.spokenLanguageMenuTitle }, supportedLanguageStrings: supportedSpokenLanguageStrings })),
|
30842
30763
|
isCaptionLanguageDrawerOpen && showCaptionsButton && (React.createElement(CaptionLanguageSettingsDrawer, { onLightDismiss: props.onLightDismiss, selectLanguage: setCurrentCaptionLanguage, setCurrentLanguage: captionSettingsHandlers.onSetCaptionLanguage, currentLanguage: currentCaptionLanguage, strings: { menuTitle: props.strings.captionLanguageMenuTitle }, supportedLanguageStrings: supportedCaptionLanguageStrings })),
|
@@ -30869,11 +30790,8 @@ const PreparedMoreDrawer = (props) => {
|
|
30869
30790
|
audioDeviceMenuTitle: strings.moreDrawerAudioDeviceMenuTitle,
|
30870
30791
|
microphoneMenuTitle: strings.moreDrawerMicrophoneMenuTitle,
|
30871
30792
|
speakerMenuTitle: strings.moreDrawerSpeakerMenuTitle,
|
30872
|
-
/* @conditional-compile-remove(close-captions) */
|
30873
30793
|
captionsMenuTitle: strings.moreDrawerCaptionsMenuTitle,
|
30874
|
-
/* @conditional-compile-remove(close-captions) */
|
30875
30794
|
spokenLanguageMenuTitle: strings.moreDrawerSpokenLanguageMenuTitle,
|
30876
|
-
/* @conditional-compile-remove(close-captions) */
|
30877
30795
|
captionLanguageMenuTitle: strings.moreDrawerCaptionLanguageMenuTitle,
|
30878
30796
|
galleryOptionsMenuTitle: strings.moreDrawerGalleryOptionsMenuTitle
|
30879
30797
|
}), [strings]);
|
@@ -32677,11 +32595,8 @@ const CallArrangement = (props) => {
|
|
32677
32595
|
}
|
32678
32596
|
/* @conditional-compile-remove(acs-close-captions) */
|
32679
32597
|
const isTeamsCaptions = useSelector$1(getCaptionsKind) === 'TeamsCaptions';
|
32680
|
-
/* @conditional-compile-remove(close-captions) */
|
32681
32598
|
const useTeamsCaptions = useSelector$1(getIsTeamsCall) || /* @conditional-compile-remove(acs-close-captions) */ isTeamsCaptions;
|
32682
|
-
/* @conditional-compile-remove(close-captions) */
|
32683
32599
|
const hasJoinedCall = useSelector$1(getCallStatus) === 'Connected';
|
32684
|
-
/* @conditional-compile-remove(close-captions) */
|
32685
32600
|
const isCaptionsOn = useSelector$1(getCaptionsStatus);
|
32686
32601
|
const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
|
32687
32602
|
const pipStyles = React.useMemo(() => getPipStyles(theme), [theme]);
|
@@ -32702,25 +32617,15 @@ const CallArrangement = (props) => {
|
|
32702
32617
|
/* @conditional-compile-remove(one-to-n-calling) */
|
32703
32618
|
onPeopleButtonClicked: togglePeoplePane, displayVertical: verticalControlBar }))) : (React.createElement(CommonCallControlBar, Object.assign({}, props.callControlProps, { callControls: props.callControlProps.options, callAdapter: adapter, mobileView: props.mobileView, disableButtonsForLobbyPage: isInLobby,
|
32704
32619
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
32705
|
-
disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked,
|
32706
|
-
|
32707
|
-
isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) ||
|
32708
|
-
/* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall,
|
32709
|
-
/* @conditional-compile-remove(close-captions) */
|
32710
|
-
useTeamsCaptions: useTeamsCaptions,
|
32711
|
-
/* @conditional-compile-remove(close-captions) */
|
32712
|
-
isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef,
|
32620
|
+
disableButtonsForHoldScreen: isInLocalHold, peopleButtonChecked: isPeoplePaneOpen, onPeopleButtonClicked: togglePeoplePane, onMoreButtonClicked: onMoreButtonClicked, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) ||
|
32621
|
+
/* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall, useTeamsCaptions: useTeamsCaptions, isCaptionsOn: isCaptionsOn, onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef,
|
32713
32622
|
/* @conditional-compile-remove(spotlight) */
|
32714
32623
|
onStopLocalSpotlight: !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined }))))),
|
32715
32624
|
((_j = props.callControlProps) === null || _j === void 0 ? void 0 : _j.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
|
32716
32625
|
React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
|
32717
32626
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
32718
|
-
disableButtonsForHoldScreen: isInLocalHold,
|
32719
|
-
|
32720
|
-
isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) ||
|
32721
|
-
/* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall,
|
32722
|
-
/* @conditional-compile-remove(close-captions) */
|
32723
|
-
useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, reactionResources: adapter.getState().reactions }))),
|
32627
|
+
disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) ||
|
32628
|
+
/* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, reactionResources: adapter.getState().reactions }))),
|
32724
32629
|
React.createElement(react.Stack, { horizontal: true, grow: true },
|
32725
32630
|
React.createElement(react.Stack.Item, { style: callCompositeContainerCSS },
|
32726
32631
|
React.createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
|
@@ -32735,10 +32640,7 @@ const CallArrangement = (props) => {
|
|
32735
32640
|
React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
|
32736
32641
|
canUnmute && !!props.mutedNotificationProps && (React.createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps)))),
|
32737
32642
|
renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent(),
|
32738
|
-
/* @conditional-compile-remove(
|
32739
|
-
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && (React.createElement(CaptionsBanner, { isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData,
|
32740
|
-
/* @conditional-compile-remove(close-captions) */
|
32741
|
-
useTeamsCaptions: useTeamsCaptions }))))),
|
32643
|
+
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && (React.createElement(CaptionsBanner, { isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions }))))),
|
32742
32644
|
React.createElement(SidePane, { mobileView: props.mobileView, 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)
|
32743
32645
|
? undefined
|
32744
32646
|
: togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
|
@@ -32802,7 +32704,7 @@ const MediaGallery = (props) => {
|
|
32802
32704
|
const { pinnedParticipants = [], setPinnedParticipants,
|
32803
32705
|
/* @conditional-compile-remove(spotlight) */ setIsPromptOpen,
|
32804
32706
|
/* @conditional-compile-remove(spotlight) */ setPromptProps,
|
32805
|
-
/* @conditional-compile-remove(spotlight) */ hideSpotlightButtons } = props;
|
32707
|
+
/* @conditional-compile-remove(spotlight) */ hideSpotlightButtons, videoTilesOptions } = props;
|
32806
32708
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
32807
32709
|
const cameraSwitcherCameras = useSelector$1(localVideoCameraCycleButtonSelector);
|
32808
32710
|
const cameraSwitcherCallback = useHandlers();
|
@@ -32870,7 +32772,7 @@ const MediaGallery = (props) => {
|
|
32870
32772
|
const layoutBasedOnUserSelection = () => {
|
32871
32773
|
return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;
|
32872
32774
|
};
|
32873
|
-
return (React.createElement(VideoGallery, Object.assign({}, videoGalleryProps, { localVideoViewOptions: localVideoViewOptions$2, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: layoutBasedOnUserSelection(), showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar, remoteVideoTileMenu: remoteVideoTileMenuOptions, overflowGalleryPosition: overflowGalleryPosition, localVideoTileSize: props.localVideoTileOptions === false || userRole === 'Consumer' || (isRoomsCall && userRole === 'Unknown')
|
32775
|
+
return (React.createElement(VideoGallery, Object.assign({}, videoGalleryProps, { videoTilesOptions: videoTilesOptions, localVideoViewOptions: localVideoViewOptions$2, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: layoutBasedOnUserSelection(), showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar, remoteVideoTileMenu: remoteVideoTileMenuOptions, overflowGalleryPosition: overflowGalleryPosition, localVideoTileSize: props.localVideoTileOptions === false || userRole === 'Consumer' || (isRoomsCall && userRole === 'Unknown')
|
32874
32776
|
? 'hidden'
|
32875
32777
|
: props.isMobile && containerAspectRatio < 1
|
32876
32778
|
? '9:16'
|
@@ -32909,7 +32811,8 @@ const MediaGallery = (props) => {
|
|
32909
32811
|
/* @conditional-compile-remove(spotlight) */
|
32910
32812
|
onStopRemoteSpotlightWithPrompt,
|
32911
32813
|
/* @conditional-compile-remove(spotlight) */
|
32912
|
-
hideSpotlightButtons
|
32814
|
+
hideSpotlightButtons,
|
32815
|
+
videoTilesOptions
|
32913
32816
|
]);
|
32914
32817
|
return (React.createElement("div", { ref: containerRef, style: mediaGalleryContainerStyles },
|
32915
32818
|
React.createElement(Announcer$1, { announcementString: announcerString, ariaLive: 'polite' }),
|
@@ -33243,7 +33146,7 @@ const CallPage = (props) => {
|
|
33243
33146
|
/* @conditional-compile-remove(spotlight) */
|
33244
33147
|
setPromptProps: setPromptProps,
|
33245
33148
|
/* @conditional-compile-remove(spotlight) */
|
33246
|
-
hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons })));
|
33149
|
+
hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons, videoTilesOptions: options === null || options === void 0 ? void 0 : options.videoTilesOptions })));
|
33247
33150
|
}
|
33248
33151
|
};
|
33249
33152
|
return (React.createElement(React.Fragment, null,
|
@@ -36245,13 +36148,10 @@ class AzureCommunicationCallAdapter {
|
|
36245
36148
|
this.sendDtmfTone.bind(this);
|
36246
36149
|
/* @conditional-compile-remove(unsupported-browser) */
|
36247
36150
|
this.allowUnsupportedBrowserVersion.bind(this);
|
36248
|
-
|
36249
|
-
|
36250
|
-
|
36251
|
-
|
36252
|
-
this.setSpokenLanguage.bind(this);
|
36253
|
-
this.setCaptionLanguage.bind(this);
|
36254
|
-
}
|
36151
|
+
this.startCaptions.bind(this);
|
36152
|
+
this.stopCaptions.bind(this);
|
36153
|
+
this.setSpokenLanguage.bind(this);
|
36154
|
+
this.setCaptionLanguage.bind(this);
|
36255
36155
|
this.startVideoBackgroundEffect.bind(this);
|
36256
36156
|
this.stopVideoBackgroundEffects.bind(this);
|
36257
36157
|
this.updateBackgroundPickerImages.bind(this);
|
@@ -36694,25 +36594,21 @@ class AzureCommunicationCallAdapter {
|
|
36694
36594
|
this.handlers.onSendDtmfTone(dtmfTone);
|
36695
36595
|
});
|
36696
36596
|
}
|
36697
|
-
/* @conditional-compile-remove(close-captions) */
|
36698
36597
|
startCaptions(options) {
|
36699
36598
|
return __awaiter$5(this, void 0, void 0, function* () {
|
36700
36599
|
this.handlers.onStartCaptions(options);
|
36701
36600
|
});
|
36702
36601
|
}
|
36703
|
-
/* @conditional-compile-remove(close-captions) */
|
36704
36602
|
stopCaptions() {
|
36705
36603
|
return __awaiter$5(this, void 0, void 0, function* () {
|
36706
36604
|
this.handlers.onStopCaptions();
|
36707
36605
|
});
|
36708
36606
|
}
|
36709
|
-
/* @conditional-compile-remove(close-captions) */
|
36710
36607
|
setCaptionLanguage(language) {
|
36711
36608
|
return __awaiter$5(this, void 0, void 0, function* () {
|
36712
36609
|
this.handlers.onSetCaptionLanguage(language);
|
36713
36610
|
});
|
36714
36611
|
}
|
36715
|
-
/* @conditional-compile-remove(close-captions) */
|
36716
36612
|
setSpokenLanguage(language) {
|
36717
36613
|
return __awaiter$5(this, void 0, void 0, function* () {
|
36718
36614
|
this.handlers.onSetSpokenLanguage(language);
|
@@ -36755,7 +36651,6 @@ class AzureCommunicationCallAdapter {
|
|
36755
36651
|
on(event, listener) {
|
36756
36652
|
this.emitter.on(event, listener);
|
36757
36653
|
}
|
36758
|
-
/* @conditional-compile-remove(close-captions) */
|
36759
36654
|
subscribeToCaptionEvents() {
|
36760
36655
|
var _a, _b;
|
36761
36656
|
if (this.call && this.call.state === 'Connected') {
|
@@ -36778,7 +36673,6 @@ class AzureCommunicationCallAdapter {
|
|
36778
36673
|
}
|
36779
36674
|
}
|
36780
36675
|
}
|
36781
|
-
/* @conditional-compile-remove(close-captions) */
|
36782
36676
|
unsubscribeFromCaptionEvents() {
|
36783
36677
|
var _a, _b, _c;
|
36784
36678
|
if (this.call && this.call.state === 'Connected') {
|
@@ -36811,7 +36705,6 @@ class AzureCommunicationCallAdapter {
|
|
36811
36705
|
(_b = this.call) === null || _b === void 0 ? void 0 : _b.on('isMutedChanged', this.isMyMutedChanged.bind(this));
|
36812
36706
|
(_c = this.call) === null || _c === void 0 ? void 0 : _c.on('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));
|
36813
36707
|
(_d = this.call) === null || _d === void 0 ? void 0 : _d.on('idChanged', this.callIdChanged.bind(this));
|
36814
|
-
/* @conditional-compile-remove(close-captions) */
|
36815
36708
|
(_e = this.call) === null || _e === void 0 ? void 0 : _e.on('stateChanged', this.subscribeToCaptionEvents.bind(this));
|
36816
36709
|
(_f = this.call) === null || _f === void 0 ? void 0 : _f.on('roleChanged', this.roleChanged.bind(this));
|
36817
36710
|
(_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));
|
@@ -36830,7 +36723,6 @@ class AzureCommunicationCallAdapter {
|
|
36830
36723
|
(_c = this.call) === null || _c === void 0 ? void 0 : _c.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));
|
36831
36724
|
(_d = this.call) === null || _d === void 0 ? void 0 : _d.off('idChanged', this.callIdChanged.bind(this));
|
36832
36725
|
(_e = this.call) === null || _e === void 0 ? void 0 : _e.off('roleChanged', this.roleChanged.bind(this));
|
36833
|
-
/* @conditional-compile-remove(close-captions) */
|
36834
36726
|
this.unsubscribeFromCaptionEvents();
|
36835
36727
|
if (this.callingSoundSubscriber) {
|
36836
36728
|
this.callingSoundSubscriber.unsubscribeAll();
|
@@ -36856,7 +36748,6 @@ class AzureCommunicationCallAdapter {
|
|
36856
36748
|
var _a;
|
36857
36749
|
this.emitter.emit('isLocalScreenSharingActiveChanged', { isScreenSharingOn: (_a = this.call) === null || _a === void 0 ? void 0 : _a.isScreenSharingOn });
|
36858
36750
|
}
|
36859
|
-
/* @conditional-compile-remove(close-captions) */
|
36860
36751
|
teamsCaptionsReceived(captionsInfo) {
|
36861
36752
|
this.emitter.emit('captionsReceived', { captionsInfo });
|
36862
36753
|
}
|
@@ -36864,7 +36755,6 @@ class AzureCommunicationCallAdapter {
|
|
36864
36755
|
captionsReceived(captionsInfo) {
|
36865
36756
|
this.emitter.emit('captionsReceived', { captionsInfo });
|
36866
36757
|
}
|
36867
|
-
/* @conditional-compile-remove(close-captions) */
|
36868
36758
|
isCaptionsActiveChanged() {
|
36869
36759
|
var _a;
|
36870
36760
|
const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions).captions;
|
@@ -36872,7 +36762,6 @@ class AzureCommunicationCallAdapter {
|
|
36872
36762
|
isActive: captionsFeature.isCaptionsFeatureActive
|
36873
36763
|
});
|
36874
36764
|
}
|
36875
|
-
/* @conditional-compile-remove(close-captions) */
|
36876
36765
|
isSpokenLanguageChanged() {
|
36877
36766
|
var _a;
|
36878
36767
|
const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions).captions;
|
@@ -36880,7 +36769,6 @@ class AzureCommunicationCallAdapter {
|
|
36880
36769
|
activeSpokenLanguage: captionsFeature.activeSpokenLanguage
|
36881
36770
|
});
|
36882
36771
|
}
|
36883
|
-
/* @conditional-compile-remove(close-captions) */
|
36884
36772
|
isCaptionLanguageChanged() {
|
36885
36773
|
var _a;
|
36886
36774
|
const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions).captions;
|
@@ -37451,25 +37339,21 @@ class CallWithChatBackedCallAdapter {
|
|
37451
37339
|
allowUnsupportedBrowserVersion() {
|
37452
37340
|
return this.callWithChatAdapter.allowUnsupportedBrowserVersion();
|
37453
37341
|
}
|
37454
|
-
/* @conditional-compile-remove(close-captions) */
|
37455
37342
|
startCaptions(options) {
|
37456
37343
|
return __awaiter$4(this, void 0, void 0, function* () {
|
37457
37344
|
this.callWithChatAdapter.startCaptions(options);
|
37458
37345
|
});
|
37459
37346
|
}
|
37460
|
-
/* @conditional-compile-remove(close-captions) */
|
37461
37347
|
stopCaptions() {
|
37462
37348
|
return __awaiter$4(this, void 0, void 0, function* () {
|
37463
37349
|
this.callWithChatAdapter.stopCaptions();
|
37464
37350
|
});
|
37465
37351
|
}
|
37466
|
-
/* @conditional-compile-remove(close-captions) */
|
37467
37352
|
setCaptionLanguage(language) {
|
37468
37353
|
return __awaiter$4(this, void 0, void 0, function* () {
|
37469
37354
|
this.callWithChatAdapter.setCaptionLanguage(language);
|
37470
37355
|
});
|
37471
37356
|
}
|
37472
|
-
/* @conditional-compile-remove(close-captions) */
|
37473
37357
|
setSpokenLanguage(language) {
|
37474
37358
|
return __awaiter$4(this, void 0, void 0, function* () {
|
37475
37359
|
this.callWithChatAdapter.setSpokenLanguage(language);
|
@@ -37643,6 +37527,10 @@ class CallWithChatBackedChatAdapter {
|
|
37643
37527
|
};
|
37644
37528
|
this.callWithChatAdapter = callWithChatAdapter;
|
37645
37529
|
}
|
37530
|
+
/* @conditional-compile-remove(attachment-upload) */
|
37531
|
+
sendMessageWithAttachments(content, attachments) {
|
37532
|
+
return this.callWithChatAdapter.sendMessageWithAttachments(content, attachments);
|
37533
|
+
}
|
37646
37534
|
downloadResourceToCache(resourceDetails) {
|
37647
37535
|
return __awaiter$3(this, void 0, void 0, function* () {
|
37648
37536
|
this.callWithChatAdapter.downloadResourceToCache(resourceDetails);
|
@@ -37662,7 +37550,7 @@ function chatAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState)
|
|
37662
37550
|
thread: callWithChatAdapterState.chat,
|
37663
37551
|
latestErrors: callWithChatAdapterState.latestChatErrors,
|
37664
37552
|
/* @conditional-compile-remove(attachment-upload) */
|
37665
|
-
|
37553
|
+
_attachmentUploads: callWithChatAdapterState._attachmentUploads
|
37666
37554
|
};
|
37667
37555
|
}
|
37668
37556
|
|
@@ -38074,7 +37962,7 @@ function callWithChatAdapterStateFromBackingStates(callAdapter) {
|
|
38074
37962
|
latestCallErrors: callAdapterState.latestErrors,
|
38075
37963
|
latestChatErrors: {},
|
38076
37964
|
/* @conditional-compile-remove(attachment-upload) */
|
38077
|
-
|
37965
|
+
_attachmentUploads: {},
|
38078
37966
|
/* @conditional-compile-remove(PSTN-calls) */
|
38079
37967
|
alternateCallerId: callAdapterState.alternateCallerId,
|
38080
37968
|
/* @conditional-compile-remove(unsupported-browser) */
|
@@ -38094,7 +37982,7 @@ function callWithChatAdapterStateFromBackingStates(callAdapter) {
|
|
38094
37982
|
function mergeChatAdapterStateIntoCallWithChatAdapterState(existingCallWithChatAdapterState, chatAdapterState) {
|
38095
37983
|
return Object.assign(Object.assign({}, existingCallWithChatAdapterState), { chat: chatAdapterState.thread, latestChatErrors: chatAdapterState.latestErrors,
|
38096
37984
|
/* @conditional-compile-remove(attachment-upload) */
|
38097
|
-
|
37985
|
+
_attachmentUploads: chatAdapterState._attachmentUploads });
|
38098
37986
|
}
|
38099
37987
|
/**
|
38100
37988
|
* @private
|
@@ -38240,6 +38128,8 @@ class AzureCommunicationCallWithChatAdapter {
|
|
38240
38128
|
this.disposeScreenShareStreamView.bind(this);
|
38241
38129
|
this.fetchInitialData.bind(this);
|
38242
38130
|
this.sendMessage.bind(this);
|
38131
|
+
/* @conditional-compile-remove(attachment-upload) */
|
38132
|
+
this.sendMessageWithAttachments.bind(this);
|
38243
38133
|
this.sendReadReceipt.bind(this);
|
38244
38134
|
this.sendTypingIndicator.bind(this);
|
38245
38135
|
this.loadPreviousChatMessages.bind(this);
|
@@ -38272,12 +38162,10 @@ class AzureCommunicationCallWithChatAdapter {
|
|
38272
38162
|
this.sendDtmfTone.bind(this);
|
38273
38163
|
/* @conditional-compile-remove(unsupported-browser) */
|
38274
38164
|
this.allowUnsupportedBrowserVersion.bind(this);
|
38275
|
-
|
38276
|
-
|
38277
|
-
|
38278
|
-
|
38279
|
-
this.setCaptionLanguage.bind(this);
|
38280
|
-
}
|
38165
|
+
this.startCaptions.bind(this);
|
38166
|
+
this.stopCaptions.bind(this);
|
38167
|
+
this.setSpokenLanguage.bind(this);
|
38168
|
+
this.setCaptionLanguage.bind(this);
|
38281
38169
|
this.startVideoBackgroundEffect.bind(this);
|
38282
38170
|
this.stopVideoBackgroundEffects.bind(this);
|
38283
38171
|
this.updateBackgroundPickerImages.bind(this);
|
@@ -38490,6 +38378,20 @@ class AzureCommunicationCallWithChatAdapter {
|
|
38490
38378
|
});
|
38491
38379
|
});
|
38492
38380
|
}
|
38381
|
+
/* @conditional-compile-remove(attachment-upload) */
|
38382
|
+
/** Send a chat message with attachments. */
|
38383
|
+
sendMessageWithAttachments(content, attachments) {
|
38384
|
+
return __awaiter$2(this, void 0, void 0, function* () {
|
38385
|
+
return yield this.chatAdapterPromise.then((adapter) => {
|
38386
|
+
const fileSharingMetadata = {
|
38387
|
+
fileSharingMetadata: JSON.stringify(attachments)
|
38388
|
+
};
|
38389
|
+
return adapter.sendMessage(content, {
|
38390
|
+
metadata: fileSharingMetadata
|
38391
|
+
});
|
38392
|
+
});
|
38393
|
+
});
|
38394
|
+
}
|
38493
38395
|
/** Send a chat read receipt. */
|
38494
38396
|
sendReadReceipt(chatMessageId) {
|
38495
38397
|
return __awaiter$2(this, void 0, void 0, function* () {
|
@@ -38575,25 +38477,21 @@ class AzureCommunicationCallWithChatAdapter {
|
|
38575
38477
|
allowUnsupportedBrowserVersion() {
|
38576
38478
|
return this.callAdapter.allowUnsupportedBrowserVersion();
|
38577
38479
|
}
|
38578
|
-
/* @conditional-compile-remove(close-captions) */
|
38579
38480
|
startCaptions(options) {
|
38580
38481
|
return __awaiter$2(this, void 0, void 0, function* () {
|
38581
38482
|
yield this.callAdapter.startCaptions(options);
|
38582
38483
|
});
|
38583
38484
|
}
|
38584
|
-
/* @conditional-compile-remove(close-captions) */
|
38585
38485
|
stopCaptions() {
|
38586
38486
|
return __awaiter$2(this, void 0, void 0, function* () {
|
38587
38487
|
yield this.callAdapter.stopCaptions();
|
38588
38488
|
});
|
38589
38489
|
}
|
38590
|
-
/* @conditional-compile-remove(close-captions) */
|
38591
38490
|
setCaptionLanguage(language) {
|
38592
38491
|
return __awaiter$2(this, void 0, void 0, function* () {
|
38593
38492
|
yield this.callAdapter.setCaptionLanguage(language);
|
38594
38493
|
});
|
38595
38494
|
}
|
38596
|
-
/* @conditional-compile-remove(close-captions) */
|
38597
38495
|
setSpokenLanguage(language) {
|
38598
38496
|
return __awaiter$2(this, void 0, void 0, function* () {
|
38599
38497
|
yield this.callAdapter.setSpokenLanguage(language);
|
@@ -38672,19 +38570,15 @@ class AzureCommunicationCallWithChatAdapter {
|
|
38672
38570
|
case 'selectedSpeakerChanged':
|
38673
38571
|
this.callAdapter.on('selectedSpeakerChanged', listener);
|
38674
38572
|
break;
|
38675
|
-
/* @conditional-compile-remove(close-captions) */
|
38676
38573
|
case 'captionsReceived':
|
38677
38574
|
this.callAdapter.on('captionsReceived', listener);
|
38678
38575
|
break;
|
38679
|
-
/* @conditional-compile-remove(close-captions) */
|
38680
38576
|
case 'isCaptionsActiveChanged':
|
38681
38577
|
this.callAdapter.on('isCaptionsActiveChanged', listener);
|
38682
38578
|
break;
|
38683
|
-
/* @conditional-compile-remove(close-captions) */
|
38684
38579
|
case 'isCaptionLanguageChanged':
|
38685
38580
|
this.callAdapter.on('isCaptionLanguageChanged', listener);
|
38686
38581
|
break;
|
38687
|
-
/* @conditional-compile-remove(close-captions) */
|
38688
38582
|
case 'isSpokenLanguageChanged':
|
38689
38583
|
this.callAdapter.on('isSpokenLanguageChanged', listener);
|
38690
38584
|
break;
|
@@ -38768,19 +38662,15 @@ class AzureCommunicationCallWithChatAdapter {
|
|
38768
38662
|
case 'selectedSpeakerChanged':
|
38769
38663
|
this.callAdapter.off('selectedSpeakerChanged', listener);
|
38770
38664
|
break;
|
38771
|
-
/* @conditional-compile-remove(close-captions) */
|
38772
38665
|
case 'captionsReceived':
|
38773
38666
|
this.callAdapter.off('captionsReceived', listener);
|
38774
38667
|
break;
|
38775
|
-
/* @conditional-compile-remove(close-captions) */
|
38776
38668
|
case 'isCaptionsActiveChanged':
|
38777
38669
|
this.callAdapter.off('isCaptionsActiveChanged', listener);
|
38778
38670
|
break;
|
38779
|
-
/* @conditional-compile-remove(close-captions) */
|
38780
38671
|
case 'isCaptionLanguageChanged':
|
38781
38672
|
this.callAdapter.off('isCaptionLanguageChanged', listener);
|
38782
38673
|
break;
|
38783
|
-
/* @conditional-compile-remove(close-captions) */
|
38784
38674
|
case 'isSpokenLanguageChanged':
|
38785
38675
|
this.callAdapter.off('isSpokenLanguageChanged', listener);
|
38786
38676
|
break;
|
@@ -39652,4 +39542,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
39652
39542
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
39653
39543
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
39654
39544
|
exports.useTheme = useTheme;
|
39655
|
-
//# sourceMappingURL=index-
|
39545
|
+
//# sourceMappingURL=index-C2GfkUGz.js.map
|