@azure/communication-react 1.14.0-alpha-202403090011 → 1.14.0-alpha-202403130012

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.
Files changed (77) hide show
  1. package/dist/communication-react.d.ts +1 -1
  2. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DXy3ttBO.js → RichTextSendBoxWrapper-Be7pr6o4.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DXy3ttBO.js.map → RichTextSendBoxWrapper-Be7pr6o4.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{index-DNgYW17b.js → index-C3IKJHX1.js} +93 -108
  5. package/dist/dist-cjs/communication-react/index-C3IKJHX1.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  9. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +5 -0
  10. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  11. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +1 -1
  12. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.d.ts +3 -2
  14. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +9 -2
  15. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  16. package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts +1 -1
  17. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +4 -3
  18. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  19. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.d.ts +13 -3
  20. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +17 -18
  21. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  22. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +2 -1
  23. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -1
  25. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -2
  26. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  27. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
  28. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +2 -2
  29. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +3 -3
  31. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +1 -1
  33. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -1
  35. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -0
  37. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +7 -1
  38. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/VideoGallery.js +4 -2
  40. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +0 -2
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +2 -10
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -12
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -1
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -22
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  53. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +0 -1
  54. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +0 -2
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +0 -2
  58. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  59. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  60. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -1
  61. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  62. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +28 -10
  63. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  64. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +2 -9
  65. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  66. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -8
  67. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  68. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +0 -7
  69. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  70. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -8
  71. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  72. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
  74. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  76. package/package.json +1 -1
  77. package/dist/dist-cjs/communication-react/index-DNgYW17b.js.map +0 -1
@@ -173,7 +173,7 @@ function getDefaultExportFromCjs (x) {
173
173
  // Copyright (c) Microsoft Corporation.
174
174
  // Licensed under the MIT License.
175
175
  // GENERATED FILE. DO NOT EDIT MANUALLY.
176
- var telemetryVersion = '1.14.0-alpha-202403090011';
176
+ var telemetryVersion = '1.14.0-alpha-202403130012';
177
177
 
178
178
 
179
179
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -2111,6 +2111,11 @@ let CallContext$2 = class CallContext {
2111
2111
  addRemoteParticipant.forEach((participant) => {
2112
2112
  call.remoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] = participant;
2113
2113
  });
2114
+ // TODO: need to remove after contentSharingRole avaible in WebCalling SDK.
2115
+ /* @conditional-compile-remove(ppt-live) */
2116
+ if (!call.contentSharingRemoteParticipant) {
2117
+ call.contentSharingRemoteParticipant = toFlatCommunicationIdentifier(addRemoteParticipant[0].identifier);
2118
+ }
2114
2119
  }
2115
2120
  });
2116
2121
  }
@@ -3723,7 +3728,7 @@ var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments,
3723
3728
  * @private
3724
3729
  */
3725
3730
  class PPTLiveSubscriber {
3726
- constructor(callIdRef, context, pptLive) {
3731
+ constructor(callIdRef, context, call) {
3727
3732
  this.subscribe = () => {
3728
3733
  this._pptLive.on('isActiveChanged', this.isAvailableChanged);
3729
3734
  };
@@ -3736,6 +3741,10 @@ class PPTLiveSubscriber {
3736
3741
  };
3737
3742
  this.checkAndUpdatePPTLiveParticipant = () => __awaiter$K(this, void 0, void 0, function* () {
3738
3743
  if (this._pptLive.isActive) {
3744
+ // TODO: need to refactor if Web Calling SDK has this logic ready
3745
+ if (this._call.isScreenSharingOn) {
3746
+ yield this._call.stopScreenSharing();
3747
+ }
3739
3748
  this._context.setCallParticipantPPTLive(this._callIdRef.callId, this._pptLive.target);
3740
3749
  }
3741
3750
  else {
@@ -3744,7 +3753,8 @@ class PPTLiveSubscriber {
3744
3753
  });
3745
3754
  this._callIdRef = callIdRef;
3746
3755
  this._context = context;
3747
- this._pptLive = pptLive;
3756
+ this._pptLive = call.feature(communicationCalling.Features.PPTLive);
3757
+ this._call = call;
3748
3758
  this.subscribe();
3749
3759
  }
3750
3760
  }
@@ -4152,7 +4162,7 @@ class CallSubscriber {
4152
4162
  this._participantSubscribers = new Map();
4153
4163
  this._recordingSubscriber = new RecordingSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Recording));
4154
4164
  /* @conditional-compile-remove(ppt-live) */
4155
- this._pptLiveSubscriber = new PPTLiveSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.PPTLive));
4165
+ this._pptLiveSubscriber = new PPTLiveSubscriber(this._callIdRef, this._context, this._call);
4156
4166
  this._transcriptionSubscriber = new TranscriptionSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Transcription));
4157
4167
  /* @conditional-compile-remove(raise-hand) */
4158
4168
  this._raiseHandSubscriber = new RaiseHandSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.RaiseHand));
@@ -8526,7 +8536,7 @@ const iconWrapperStyle$1 = react.mergeStyles({
8526
8536
  * @private
8527
8537
  */
8528
8538
  const InputBoxButton = (props) => {
8529
- const { onRenderIcon, onClick, ariaLabel, className, id, tooltipContent } = props;
8539
+ const { onRenderIcon, onClick, ariaLabel, className, id, tooltipContent, 'data-testId': dataTestId } = props;
8530
8540
  const [isHover, setIsHover] = React.useState(false);
8531
8541
  const mergedButtonStyle = react.mergeStyles(inputBoxButtonStyle, className);
8532
8542
  const theme = react.useTheme();
@@ -8544,7 +8554,7 @@ const InputBoxButton = (props) => {
8544
8554
  setIsHover(false);
8545
8555
  },
8546
8556
  // VoiceOver fix: Avoid icon from stealing focus when IconButton is double-tapped to send message by wrapping with Stack with pointerEvents style to none
8547
- onRenderIcon: () => React.createElement(react.Stack, { className: iconWrapperStyle$1 }, onRenderIcon(isHover)) })));
8557
+ onRenderIcon: () => React.createElement(react.Stack, { className: iconWrapperStyle$1 }, onRenderIcon(isHover)), "data-testid": dataTestId })));
8548
8558
  };
8549
8559
 
8550
8560
  // Copyright (c) Microsoft Corporation.
@@ -8575,7 +8585,7 @@ const SendBoxErrorBar = (props) => {
8575
8585
  if (errorMessage) {
8576
8586
  return (React.createElement(React.Fragment, null,
8577
8587
  React.createElement(Announcer$1, { announcementString: errorMessage, ariaLive: 'polite' }),
8578
- React.createElement(react.MessageBar, { "data-test-id": 'send-box-message-bar', messageBarType: react.MessageBarType.warning, styles: {
8588
+ React.createElement(react.MessageBar, { "data-testid": 'send-box-message-bar', messageBarType: react.MessageBarType.warning, styles: {
8579
8589
  iconContainer: {
8580
8590
  display: 'none'
8581
8591
  }
@@ -9459,16 +9469,16 @@ const RichTextEditor = React.forwardRef((props, ref) => {
9459
9469
  isBeakVisible: false,
9460
9470
  styles: ribbonOverflowButtonStyle(theme)
9461
9471
  }
9462
- }, strings: ribbonButtonsStrings(strings) }));
9472
+ }, strings: ribbonButtonsStrings(strings), "data-testid": 'rich-text-editor-ribbon' }));
9463
9473
  }, [strings, ribbonPlugin, theme]);
9464
- return (React.createElement("div", null,
9474
+ return (React.createElement("div", { "data-testid": 'rich-text-editor-wrapper' },
9465
9475
  showRichTextEditorFormatting && ribbon,
9466
9476
  React.createElement("div", { className: richTextEditorWrapperStyle(theme, !showRichTextEditorFormatting, showRichTextEditorFormatting) },
9467
9477
  React.createElement(roosterjsReact.Rooster, { initialContent: initialContent, inDarkMode: isDarkThemed(theme), plugins: plugins, className: richTextEditorStyle(props.styles), editorCreator: editorCreator,
9468
9478
  // TODO: confirm the color during inline images implementation
9469
9479
  imageSelectionBorderColor: 'blue',
9470
9480
  // doNotAdjustEditorColor is used to fix the default background color for Rooster component
9471
- doNotAdjustEditorColor: true,
9481
+ doNotAdjustEditorColor: true, "data-testid": 'rooster-rich-text-editor',
9472
9482
  // if we don't use 'allowKeyboardEventPropagation' only the enter key is caught
9473
9483
  onKeyDown: props.onKeyDown }))));
9474
9484
  });
@@ -9519,7 +9529,7 @@ const RichTextInputBoxComponent = (props) => {
9519
9529
  setShowRichTextEditorFormatting(!showRichTextEditorFormatting);
9520
9530
  (_a = editorComponentRef.current) === null || _a === void 0 ? void 0 : _a.focus();
9521
9531
  e.stopPropagation(); // Prevents the click from bubbling up and triggering a focus event on the chat.
9522
- }, ariaLabel: strings.richTextFormatButtonTooltip, tooltipContent: strings.richTextFormatButtonTooltip, className: richTextActionButtonsStyle }),
9532
+ }, ariaLabel: strings.richTextFormatButtonTooltip, tooltipContent: strings.richTextFormatButtonTooltip, className: richTextActionButtonsStyle, "data-testId": 'rich-text-input-box-format-button' }),
9523
9533
  React.createElement(react.Icon, { iconName: "RichTextDividerIcon", className: richTextActionButtonsDividerStyle(theme) }),
9524
9534
  actionComponents)));
9525
9535
  }, [
@@ -11407,7 +11417,7 @@ const messageContentAriaText = (props) => {
11407
11417
  };
11408
11418
  /* @conditional-compile-remove(image-overlay) */
11409
11419
  const defaultOnRenderInlineImage = (inlineImage) => {
11410
- return (React.createElement("img", Object.assign({ key: inlineImage.imgAttrs.id, tabIndex: 0, "data-ui-id": inlineImage.imgAttrs.id }, inlineImage.imgAttrs)));
11420
+ return (React.createElement("img", Object.assign({ key: inlineImage.imageAttributes.id, tabIndex: 0, "data-ui-id": inlineImage.imageAttributes.id }, inlineImage.imageAttributes)));
11411
11421
  };
11412
11422
  const processHtmlToReact = (props) => {
11413
11423
  var _a;
@@ -11434,7 +11444,7 @@ const processHtmlToReact = (props) => {
11434
11444
  domNode.attribs['aria-label'] = domNode.attribs.name;
11435
11445
  const imgProps = parse.attributesToProps(domNode.attribs);
11436
11446
  /* @conditional-compile-remove(image-overlay) */
11437
- const inlineImageProps = { messageId: props.message.messageId, imgAttrs: imgProps };
11447
+ const inlineImageProps = { messageId: props.message.messageId, imageAttributes: imgProps };
11438
11448
  /* @conditional-compile-remove(image-overlay) */
11439
11449
  return ((_c = props.inlineImageOptions) === null || _c === void 0 ? void 0 : _c.onRenderInlineImage)
11440
11450
  ? props.inlineImageOptions.onRenderInlineImage(inlineImageProps, defaultOnRenderInlineImage)
@@ -14710,7 +14720,9 @@ const loadingStyle = react.mergeStyles({
14710
14720
  * https://reactjs.org/docs/react-api.html#reactmemo
14711
14721
  */
14712
14722
  const RemoteScreenShare = React.memo((props) => {
14713
- const { userId, displayName, isMuted, renderElement, onCreateRemoteStreamView, onDisposeRemoteStreamView, isReceiving, participantVideoScalingMode } = props;
14723
+ const { userId, displayName, isMuted, renderElement, onCreateRemoteStreamView, onDisposeRemoteStreamView, isReceiving, participantVideoScalingMode,
14724
+ /* @conditional-compile-remove(ppt-live) */
14725
+ isPPTLive } = props;
14714
14726
  const locale = useLocale$1();
14715
14727
  if (!renderElement) {
14716
14728
  /**
@@ -14734,6 +14746,10 @@ const RemoteScreenShare = React.memo((props) => {
14734
14746
  participant: displayName
14735
14747
  })
14736
14748
  : '';
14749
+ /* @conditional-compile-remove(ppt-live) */
14750
+ if (isPPTLive) {
14751
+ return (React.createElement(VideoTile, { renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }) }));
14752
+ }
14737
14753
  return (React.createElement(VideoTile, { displayName: displayName, isMuted: isMuted, renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }) }));
14738
14754
  });
14739
14755
  const LoadingSpinner = (props) => {
@@ -17063,7 +17079,7 @@ const MAX_PINNED_REMOTE_VIDEO_TILES = 4;
17063
17079
  * @public
17064
17080
  */
17065
17081
  const VideoGallery = (props) => {
17066
- var _a, _b, _c;
17082
+ var _a, _b, _c, _d;
17067
17083
  const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS,
17068
17084
  /* @conditional-compile-remove(vertical-gallery) */
17069
17085
  overflowGalleryPosition = 'horizontalBottom',
@@ -17291,7 +17307,9 @@ const VideoGallery = (props) => {
17291
17307
  ]);
17292
17308
  const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
17293
17309
  const localScreenShareStreamComponent = React.createElement(LocalScreenShare, { localParticipant: localParticipant });
17294
- const remoteScreenShareComponent = screenShareParticipant && (React.createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (_b = screenShareParticipant.screenShareStream) === null || _b === void 0 ? void 0 : _b.renderElement, onCreateRemoteStreamView: onCreateRemoteStreamView, onDisposeRemoteStreamView: onDisposeRemoteScreenShareStreamView, isReceiving: (_c = screenShareParticipant.screenShareStream) === null || _c === void 0 ? void 0 : _c.isReceiving, participantVideoScalingMode: selectedScalingModeState[screenShareParticipant.userId] })));
17310
+ const remoteScreenShareComponent = screenShareParticipant && (React.createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (_b = screenShareParticipant.screenShareStream) === null || _b === void 0 ? void 0 : _b.renderElement, onCreateRemoteStreamView: onCreateRemoteStreamView, onDisposeRemoteStreamView: onDisposeRemoteScreenShareStreamView, isReceiving: (_c = screenShareParticipant.screenShareStream) === null || _c === void 0 ? void 0 : _c.isReceiving, participantVideoScalingMode: selectedScalingModeState[screenShareParticipant.userId],
17311
+ /* @conditional-compile-remove(ppt-live) */
17312
+ isPPTLive: !((_d = screenShareParticipant.screenShareStream) === null || _d === void 0 ? void 0 : _d.id) })));
17295
17313
  const screenShareComponent = remoteScreenShareComponent
17296
17314
  ? remoteScreenShareComponent
17297
17315
  : localParticipant.isScreenSharingOn
@@ -22591,12 +22609,13 @@ var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments,
22591
22609
  * @private
22592
22610
  */
22593
22611
  class ResourceDownloadQueue {
22594
- constructor(context, credential) {
22612
+ constructor(context, authentication) {
22595
22613
  this._messagesNeedingResourceRetrieval = [];
22596
22614
  this.isActive = false;
22597
22615
  this._requestsToCancel = {};
22598
22616
  this._context = context;
22599
- this._credential = credential;
22617
+ this._credential = authentication.credential;
22618
+ this._endpoint = authentication.endpoint;
22600
22619
  }
22601
22620
  containsMessageWithSameAttachments(message) {
22602
22621
  var _a, _b, _c;
@@ -22700,7 +22719,7 @@ class ResourceDownloadQueue {
22700
22719
  downloadResource(operation, url, abortController) {
22701
22720
  return __awaiter$t(this, void 0, void 0, function* () {
22702
22721
  this._requestsToCancel[url] = { src: url, abortController };
22703
- const blobUrl = yield operation(url, this._credential, { abortController });
22722
+ const blobUrl = yield operation(url, { credential: this._credential, endpoint: this._endpoint }, { abortController });
22704
22723
  delete this._requestsToCancel[url];
22705
22724
  return blobUrl;
22706
22725
  });
@@ -22710,21 +22729,16 @@ class ResourceDownloadQueue {
22710
22729
  /**
22711
22730
  * @private
22712
22731
  */
22713
- const fetchImageSource = (src, credential, options) => __awaiter$t(void 0, void 0, void 0, function* () {
22732
+ const fetchImageSource = (src, authentication, options) => __awaiter$t(void 0, void 0, void 0, function* () {
22714
22733
  function fetchWithAuthentication(url, token, options) {
22715
22734
  return __awaiter$t(this, void 0, void 0, function* () {
22716
22735
  const headers = new Headers();
22717
22736
  headers.append('Authorization', `Bearer ${token}`);
22718
- try {
22719
- return yield fetchWithTimeout(url, {
22720
- timeout: options.timeout,
22721
- headers,
22722
- abortController: options.abortController
22723
- });
22724
- }
22725
- catch (err) {
22726
- throw new ChatError('ChatThreadClient.getMessage', err);
22727
- }
22737
+ return yield fetchWithTimeout(url, {
22738
+ timeout: options.timeout,
22739
+ headers,
22740
+ abortController: options.abortController
22741
+ });
22728
22742
  });
22729
22743
  }
22730
22744
  function fetchWithTimeout(resource, options) {
@@ -22739,8 +22753,13 @@ const fetchImageSource = (src, credential, options) => __awaiter$t(void 0, void
22739
22753
  return response;
22740
22754
  });
22741
22755
  }
22742
- const accessToken = yield credential.getToken();
22743
- const response = yield fetchWithAuthentication(src, accessToken.token, options);
22756
+ const fetchUrl = new URL(src);
22757
+ const endpoint = new URL(authentication.endpoint);
22758
+ let token = '';
22759
+ if (fetchUrl.hostname === endpoint.hostname && fetchUrl.protocol === 'https:') {
22760
+ token = (yield authentication.credential.getToken()).token;
22761
+ }
22762
+ const response = yield fetchWithAuthentication(src, token, options);
22744
22763
  const blob = yield response.blob();
22745
22764
  return URL.createObjectURL(blob);
22746
22765
  });
@@ -22764,7 +22783,8 @@ immer.enablePatches();
22764
22783
  */
22765
22784
  let ChatContext$1 = class ChatContext {
22766
22785
  constructor(maxListeners,
22767
- /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ credential) {
22786
+ /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ credential,
22787
+ /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ endpoint) {
22768
22788
  this._state = {
22769
22789
  userId: { id: '' },
22770
22790
  displayName: '',
@@ -22781,8 +22801,8 @@ let ChatContext$1 = class ChatContext {
22781
22801
  this._emitter = new EventEmitter();
22782
22802
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
22783
22803
  if (credential) {
22784
- this._inlineImageQueue = new ResourceDownloadQueue(this, credential);
22785
- this._fullsizeImageQueue = new ResourceDownloadQueue(this, credential);
22804
+ this._inlineImageQueue = new ResourceDownloadQueue(this, { credential, endpoint: endpoint !== null && endpoint !== void 0 ? endpoint : '' });
22805
+ this._fullsizeImageQueue = new ResourceDownloadQueue(this, { credential, endpoint: endpoint !== null && endpoint !== void 0 ? endpoint : '' });
22786
22806
  }
22787
22807
  if (maxListeners) {
22788
22808
  this._emitter.setMaxListeners(maxListeners);
@@ -23794,7 +23814,8 @@ const _createStatefulChatClientInner = (args, options, telemetryImplementationHi
23794
23814
  */
23795
23815
  const _createStatefulChatClientWithDeps = (chatClient, args, options) => {
23796
23816
  const context = new ChatContext$1(options === null || options === void 0 ? void 0 : options.maxStateChangeListeners,
23797
- /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ args.credential);
23817
+ /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ args.credential,
23818
+ /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ args.endpoint);
23798
23819
  let eventSubscriber;
23799
23820
  context.updateChatConfig(communicationCommon.getIdentifierKind(args.userId), args.displayName);
23800
23821
  const proxy = new Proxy(chatClient, proxyChatClient);
@@ -23957,7 +23978,6 @@ const COMPOSITE_ONLY_ICONS = {
23957
23978
  LargeGalleryLayout: React.createElement(reactIcons.Table20Regular, null),
23958
23979
  /* @conditional-compile-remove(control-bar-button-injection) */
23959
23980
  DefaultCustomButton: React.createElement(reactIcons.Circle20Regular, null),
23960
- /* @conditional-compile-remove(dtmf-dialer) */
23961
23981
  DtmfDialpadButton: React.createElement(reactIcons.Dialpad20Regular, null),
23962
23982
  /* @conditional-compile-remove(spotlight) */
23963
23983
  PeoplePaneMoreButton: React.createElement(reactIcons.MoreHorizontal20Filled, null),
@@ -25453,7 +25473,7 @@ const useSelector$2 = (selector, selectorProps) => {
25453
25473
  // Copyright (c) Microsoft Corporation.
25454
25474
  // Licensed under the MIT License.
25455
25475
  /* @conditional-compile-remove(rich-text-editor) */
25456
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DXy3ttBO.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
25476
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Be7pr6o4.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
25457
25477
  /**
25458
25478
  * @private
25459
25479
  */
@@ -25532,8 +25552,8 @@ const ChatScreen = (props) => {
25532
25552
  }
25533
25553
  const message = adapter.getState().thread.chatMessages[overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.messageId];
25534
25554
  const resourceCache = message.resourceCache;
25535
- if (overlayImageItem.imageSrc === '' && resourceCache) {
25536
- const fullSizeImageSrc = resourceCache[overlayImageItem.imageUrl].sourceUrl;
25555
+ if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) {
25556
+ const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]);
25537
25557
  if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItem.imageSrc === fullSizeImageSrc) {
25538
25558
  return;
25539
25559
  }
@@ -25542,6 +25562,16 @@ const ChatScreen = (props) => {
25542
25562
  // Disable eslint because we are using the overlayImageItem in this effect but don't want to have it as a dependency, as it will cause an infinite loop.
25543
25563
  // eslint-disable-next-line react-hooks/exhaustive-deps
25544
25564
  }, [messageThreadProps.messages]);
25565
+ const getResourceSourceUrl = (result) => {
25566
+ let src = '';
25567
+ if (result.error) {
25568
+ src = 'blob://';
25569
+ }
25570
+ else {
25571
+ src = result.sourceUrl;
25572
+ }
25573
+ return src;
25574
+ };
25545
25575
  const onRenderAvatarCallback = React.useCallback((userId, defaultOptions) => {
25546
25576
  return (React.createElement(AvatarPersona, Object.assign({ userId: userId, hidePersonaDetails: true }, defaultOptions, { dataProvider: onFetchAvatarPersonaData })));
25547
25577
  }, [onFetchAvatarPersonaData]);
@@ -25566,7 +25596,7 @@ const ChatScreen = (props) => {
25566
25596
  setDownloadErrorMessage(errorMessage);
25567
25597
  } })), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
25568
25598
  /* @conditional-compile-remove(image-overlay) */
25569
- const onInlineImageClicked = React.useCallback((attachmentId, messageId) => __awaiter$l(void 0, void 0, void 0, function* () {
25599
+ const onInlineImageClicked = React.useCallback((attachmentId, messageId) => {
25570
25600
  var _a, _b;
25571
25601
  const message = adapter.getState().thread.chatMessages[messageId];
25572
25602
  const inlinedImages = (_b = (_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.filter((attachment) => {
@@ -25580,7 +25610,7 @@ const ChatScreen = (props) => {
25580
25610
  let imageSrc = '';
25581
25611
  if (attachment.url) {
25582
25612
  if (resourceCache && resourceCache[attachment.url]) {
25583
- imageSrc = resourceCache[attachment.url].sourceUrl;
25613
+ imageSrc = getResourceSourceUrl(resourceCache[attachment.url]);
25584
25614
  }
25585
25615
  else {
25586
25616
  adapter.downloadResourceToCache({
@@ -25608,21 +25638,29 @@ const ChatScreen = (props) => {
25608
25638
  };
25609
25639
  setIsImageOverlayOpen(true);
25610
25640
  setOverlayImageItem(overlayImage);
25611
- }), [adapter, onRenderAvatarCallback, userId]);
25641
+ }, [adapter, onRenderAvatarCallback, userId]);
25612
25642
  /* @conditional-compile-remove(image-overlay) */
25613
25643
  const inlineImageOptions = {
25614
25644
  onRenderInlineImage: (inlineImage, defaultOnRender) => {
25615
25645
  var _a, _b;
25616
25646
  const message = adapter.getState().thread.chatMessages[inlineImage.messageId];
25617
- const attachments = (_b = (_a = message === null || message === void 0 ? void 0 : message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.find((attachment) => attachment.id === inlineImage.imgAttrs.id);
25618
- if (attachments === undefined) {
25647
+ const attachment = (_b = (_a = message === null || message === void 0 ? void 0 : message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.find((attachment) => attachment.id === inlineImage.imageAttributes.id);
25648
+ if (attachment === undefined) {
25619
25649
  return defaultOnRender(inlineImage);
25620
25650
  }
25621
- return (React.createElement("span", { key: inlineImage.imgAttrs.id, onClick: () => onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: (e) => {
25651
+ let pointerEvents = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';
25652
+ const resourceCache = message.resourceCache;
25653
+ if (resourceCache &&
25654
+ attachment.previewUrl &&
25655
+ resourceCache[attachment.previewUrl] &&
25656
+ resourceCache[attachment.previewUrl].error) {
25657
+ pointerEvents = 'none';
25658
+ }
25659
+ return (React.createElement("span", { key: inlineImage.imageAttributes.id, onClick: () => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: (e) => {
25622
25660
  if (e.key === 'Enter') {
25623
- onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId);
25661
+ onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId);
25624
25662
  }
25625
- }, style: { cursor: 'pointer' } }, defaultOnRender(inlineImage)));
25663
+ }, style: { cursor: 'pointer', pointerEvents } }, defaultOnRender(inlineImage)));
25626
25664
  }
25627
25665
  };
25628
25666
  /* @conditional-compile-remove(image-overlay) */
@@ -26393,7 +26431,6 @@ const createCompositeHandlers = memoizeOne((adapter) => {
26393
26431
  return yield adapter.addParticipant(participant, options);
26394
26432
  }
26395
26433
  }),
26396
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
26397
26434
  onSendDtmfTone: (dtmfTone) => __awaiter$j(void 0, void 0, void 0, function* () {
26398
26435
  yield adapter.sendDtmfTone(dtmfTone);
26399
26436
  }),
@@ -27076,7 +27113,6 @@ const Microphone = (props) => {
27076
27113
  const microphoneButtonProps = usePropsFor$1(MicrophoneButton);
27077
27114
  const callStatus = useSelector$1(getCallStatus);
27078
27115
  const isLocalMicrophoneEnabled = useSelector$1(getLocalMicrophoneEnabled);
27079
- const strings = useLocale().strings.call;
27080
27116
  /* @conditional-compile-remove(rooms) */ /* @conditional-compile-remove(capabilities) */
27081
27117
  const adapter = useAdapter();
27082
27118
  /* @conditional-compile-remove(rooms) */
@@ -27092,17 +27128,9 @@ const Microphone = (props) => {
27092
27128
  // page until the user successfully joins the call.
27093
27129
  microphoneButtonProps.checked = isLocalMicrophoneEnabled;
27094
27130
  }
27095
- const microphoneButtonStrings = _isInLobbyOrConnecting(callStatus)
27096
- ? {
27097
- strings: {
27098
- tooltipOffContent: strings.microphoneToggleInLobbyNotAllowed,
27099
- tooltipOnContent: strings.microphoneToggleInLobbyNotAllowed
27100
- }
27101
- }
27102
- : {};
27103
27131
  const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
27104
27132
  // tab focus on MicrophoneButton on page load
27105
- return (React.createElement(MicrophoneButton, Object.assign({ "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', disableTooltip: props.disableTooltip, styles: styles }, microphoneButtonStrings, { enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: microphoneButtonProps.disabled ||
27133
+ return (React.createElement(MicrophoneButton, Object.assign({ "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', disableTooltip: props.disableTooltip, styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: microphoneButtonProps.disabled ||
27106
27134
  props.disabled ||
27107
27135
  /* @conditional-compile-remove(rooms) */ (isRoomsCall && ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.role) === 'Unknown'),
27108
27136
  /* @conditional-compile-remove(capabilities) */
@@ -27815,7 +27843,6 @@ const createAnnouncementString = (direction, participants, strings) => {
27815
27843
  numOfParticipants: numberOfExtraParticipants.toString()
27816
27844
  });
27817
27845
  };
27818
- /* @conditional-compile-remove(dtmf-dialer) */
27819
27846
  /**
27820
27847
  * determines if the media gallery should be replaced by the dtmf dialer
27821
27848
  * @param callees Target callees to determine if the dtmf dialer should be shown
@@ -27875,11 +27902,8 @@ const DesktopMoreButton = (props) => {
27875
27902
  const [galleryPositionTop, setGalleryPositionTop] = React.useState(false);
27876
27903
  const [focusedContentOn, setFocusedContentOn] = React.useState(false);
27877
27904
  const [previousLayout, setPreviousLayout] = React.useState((_a = props.userSetGalleryLayout) !== null && _a !== void 0 ? _a : 'floatingLocalVideo');
27878
- /* @conditional-compile-remove(dtmf-dialer) */
27879
27905
  const callees = useSelector$1(getTargetCallees);
27880
- /* @conditional-compile-remove(dtmf-dialer) */
27881
27906
  const allowDtmfDialer = showDtmfDialer(callees);
27882
- /* @conditional-compile-remove(dtmf-dialer) */
27883
27907
  const [dtmfDialerChecked, setDtmfDialerChecked] = React.useState((_b = props.dtmfDialerPresent) !== null && _b !== void 0 ? _b : false);
27884
27908
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
27885
27909
  const moreButtonStrings = React.useMemo(() => ({
@@ -27972,7 +27996,6 @@ const DesktopMoreButton = (props) => {
27972
27996
  });
27973
27997
  }
27974
27998
  }
27975
- /* @conditional-compile-remove(dtmf-dialer) */
27976
27999
  const dtmfDialerScreenOption = {
27977
28000
  key: 'dtmfDialerScreenKey',
27978
28001
  itemProps: {
@@ -27990,7 +28013,6 @@ const DesktopMoreButton = (props) => {
27990
28013
  styles: { root: { lineHeight: 0 } }
27991
28014
  }
27992
28015
  };
27993
- /* @conditional-compile-remove(dtmf-dialer) */
27994
28016
  /**
27995
28017
  * Only render the dtmf dialer if the dialpad for PSTN calls is not present
27996
28018
  */
@@ -28219,10 +28241,7 @@ const invisibleHiddenFocusStartPoint = {
28219
28241
 
28220
28242
  // Copyright (c) Microsoft Corporation.
28221
28243
  // Licensed under the MIT License.
28222
- /* @conditional-compile-remove(dtmf-dialer) */
28223
- /* @conditional-compile-remove(dtmf-dialer) */
28224
28244
  const icon = () => React.createElement(CallCompositeIcon, { iconName: 'DtmfDialpadButton' });
28225
- /* @conditional-compile-remove(dtmf-dialer) */
28226
28245
  /**
28227
28246
  * Button for showing and hiding the dtmf dialer in the Call composite.
28228
28247
  * To be used only if the more button control is disabled. This button will replace
@@ -28417,8 +28436,7 @@ const CommonCallControlBar = (props) => {
28417
28436
  /* @conditional-compile-remove(rooms) */ !hideRaiseHandButtonInRoomsCall && (React.createElement(RaiseHand, { displayType: options.displayType, styles: commonButtonStyles,
28418
28437
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
28419
28438
  disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.microphoneButton) })),
28420
- /* @conditional-compile-remove(dtmf-dialer) */ showDtmfDialerButton(options) &&
28421
- props.onSetDialpadPage !== undefined && (React.createElement(DtmfDialpadButton, { styles: commonButtonStyles, displayType: options.displayType, onClick: () => {
28439
+ showDtmfDialerButton(options) && props.onSetDialpadPage !== undefined && (React.createElement(DtmfDialpadButton, { styles: commonButtonStyles, displayType: options.displayType, onClick: () => {
28422
28440
  if (props.onSetDialpadPage !== undefined) {
28423
28441
  props.onSetDialpadPage();
28424
28442
  }
@@ -28442,11 +28460,7 @@ const CommonCallControlBar = (props) => {
28442
28460
  /* @conditional-compile-remove(close-captions) */
28443
28461
  isCaptionsSupported: props.isCaptionsSupported,
28444
28462
  /* @conditional-compile-remove(close-captions) */
28445
- onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout,
28446
- /* @conditional-compile-remove(dtmf-dialer) */
28447
- dtmfDialerPresent: props.dtmfDialerPresent,
28448
- /* @conditional-compile-remove(dtmf-dialer) */
28449
- onSetDialpadPage: props.onSetDialpadPage })),
28463
+ onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage })),
28450
28464
  React.createElement(EndCall, { displayType: "compact", styles: endCallButtonStyles }))))))),
28451
28465
  !props.mobileView && sideButtonsPresent && (React.createElement(react.Stack.Item, null,
28452
28466
  React.createElement("div", { ref: sidepaneControlsRef },
@@ -28561,7 +28575,6 @@ const getDesktopEndCallButtonStyles = (theme) => {
28561
28575
  return react.concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);
28562
28576
  };
28563
28577
  const isEnabled$1 = (option) => option !== false;
28564
- /* @conditional-compile-remove(dtmf-dialer) */
28565
28578
  const showDtmfDialerButton = (options) => {
28566
28579
  if (options.moreButton === false && options.dtmfDialerButton !== false) {
28567
28580
  return true;
@@ -28765,11 +28778,8 @@ const MoreDrawer = (props) => {
28765
28778
  const localeStrings = useLocale();
28766
28779
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
28767
28780
  const holdButtonProps = usePropsFor$1(HoldButton);
28768
- /* @conditional-compile-remove(dtmf-dialer) */
28769
28781
  const callees = useSelector$1(getTargetCallees);
28770
- /* @conditional-compile-remove(dtmf-dialer) */
28771
28782
  const allowDtmfDialer = showDtmfDialer(callees);
28772
- /* @conditional-compile-remove(dtmf-dialer) */
28773
28783
  const [dtmfDialerChecked, setDtmfDialerChecked] = React.useState((_a = props.dtmfDialerPresent) !== null && _a !== void 0 ? _a : false);
28774
28784
  /* @conditional-compile-remove(raise-hand) */
28775
28785
  const raiseHandButtonProps = usePropsFor$1(RaiseHandButton);
@@ -28838,7 +28848,6 @@ const MoreDrawer = (props) => {
28838
28848
  secondaryText: (_c = props.selectedMicrophone) === null || _c === void 0 ? void 0 : _c.name
28839
28849
  });
28840
28850
  }
28841
- /* @conditional-compile-remove(dtmf-dialer) */
28842
28851
  const dtmfDialerScreenOption = {
28843
28852
  itemKey: 'dtmfDialerScreenKey',
28844
28853
  text: !dtmfDialerChecked
@@ -28856,7 +28865,6 @@ const MoreDrawer = (props) => {
28856
28865
  styles: { root: { lineHeight: 0 } }
28857
28866
  }
28858
28867
  };
28859
- /* @conditional-compile-remove(dtmf-dialer) */
28860
28868
  /**
28861
28869
  * Only render the dtmf dialer if the dialpad for PSTN calls is not present
28862
28870
  */
@@ -31082,11 +31090,7 @@ const CallArrangement = (props) => {
31082
31090
  /* @conditional-compile-remove(close-captions) */
31083
31091
  isCaptionsOn: isCaptionsOn,
31084
31092
  /* @conditional-compile-remove(video-background-effects) */
31085
- onClickVideoEffects: onResolveVideoEffectDependency ? openVideoEffectsPane : undefined, displayVertical: verticalControlBar, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout,
31086
- /* @conditional-compile-remove(dtmf-dialer) */
31087
- onSetDialpadPage: props.onSetDialpadPage,
31088
- /* @conditional-compile-remove(dtmf-dialer) */
31089
- dtmfDialerPresent: props.dtmfDialerPresent, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef,
31093
+ 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,
31090
31094
  /* @conditional-compile-remove(spotlight) */
31091
31095
  onStopLocalSpotlight: localParticipant.spotlight ? onStopLocalSpotlight : undefined }))))),
31092
31096
  ((_j = props.callControlProps) === null || _j === void 0 ? void 0 : _j.options) !== false && showDrawer && (React.createElement(react.Stack, { styles: drawerContainerStylesValue },
@@ -31094,11 +31098,7 @@ const CallArrangement = (props) => {
31094
31098
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
31095
31099
  disableButtonsForHoldScreen: isInLocalHold,
31096
31100
  /* @conditional-compile-remove(close-captions) */
31097
- isCaptionsSupported: isTeamsCall && hasJoinedCall, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout,
31098
- /* @conditional-compile-remove(dtmf-dialer) */
31099
- onSetDialpadPage: props.onSetDialpadPage,
31100
- /* @conditional-compile-remove(dtmf-dialer) */
31101
- dtmfDialerPresent: props.dtmfDialerPresent }))),
31101
+ isCaptionsSupported: isTeamsCall && hasJoinedCall, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent }))),
31102
31102
  React.createElement(react.Stack, { horizontal: true, grow: true },
31103
31103
  React.createElement(react.Stack.Item, { style: callCompositeContainerCSS },
31104
31104
  React.createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
@@ -31557,7 +31557,6 @@ const DtmfDialpadPageContent = (props) => {
31557
31557
  React.createElement(DtmfDialerContentTimer, null),
31558
31558
  React.createElement(react.Text, { style: { margin: 'auto' } }, calleeName && calleeName !== 'Unnamed participant' ? calleeName === null || calleeName === void 0 ? void 0 : calleeName.toString() : ''),
31559
31559
  React.createElement(Dialpad, { onSendDtmfTone: (tone) => __awaiter$c(void 0, void 0, void 0, function* () {
31560
- /* @conditional-compile-remove(dtmf-dialer) */
31561
31560
  yield adapter.sendDtmfTone(tone);
31562
31561
  }), longPressTrigger: props.mobileView ? 'touch' : 'mouseAndTouch', dialpadMode: 'dtmf' }))));
31563
31562
  };
@@ -31640,13 +31639,9 @@ const CallPage = (props) => {
31640
31639
  const errorBarProps = usePropsFor$1(ErrorBar);
31641
31640
  const mutedNotificationProps = useSelector$1(mutedNotificationSelector);
31642
31641
  const networkReconnectTileProps = useSelector$1(networkReconnectTileSelector);
31643
- /* @conditional-compile-remove(dtmf-dialer) */
31644
31642
  const remoteParticipantsConnected = useSelector$1(getRemoteParticipantsConnectedSelector);
31645
- /* @conditional-compile-remove(dtmf-dialer) */
31646
31643
  const callees = useSelector$1(getTargetCallees);
31647
- /* @conditional-compile-remove(dtmf-dialer) */
31648
31644
  const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);
31649
- /* @conditional-compile-remove(dtmf-dialer) */
31650
31645
  const [dtmfDialerPresent, setDtmfDialerPresent] = React.useState(renderDtmfDialerFromStart);
31651
31646
  const strings = useLocale().strings.call;
31652
31647
  // Reduce the controls shown when mobile view is enabled.
@@ -31658,7 +31653,6 @@ const CallPage = (props) => {
31658
31653
  const [promptProps, setPromptProps] = React.useState();
31659
31654
  const onRenderGalleryContentTrampoline = () => {
31660
31655
  var _a;
31661
- /* @conditional-compile-remove(dtmf-dialer) */
31662
31656
  if (dtmfDialerPresent) {
31663
31657
  return (React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
31664
31658
  /* @conditional-compile-remove(capabilities) */
@@ -31686,11 +31680,7 @@ const CallPage = (props) => {
31686
31680
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
31687
31681
  onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout,
31688
31682
  /* @conditional-compile-remove(capabilities) */
31689
- capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps,
31690
- /* @conditional-compile-remove(dtmf-dialer) */
31691
- onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent),
31692
- /* @conditional-compile-remove(dtmf-dialer) */
31693
- dtmfDialerPresent: dtmfDialerPresent,
31683
+ capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent,
31694
31684
  /* @conditional-compile-remove(spotlight) */
31695
31685
  setIsPromptOpen: setIsPromptOpen,
31696
31686
  /* @conditional-compile-remove(spotlight) */
@@ -34752,7 +34742,6 @@ class AzureCommunicationCallAdapter {
34752
34742
  this.holdCall.bind(this);
34753
34743
  /* @conditional-compile-remove(PSTN-calls) */
34754
34744
  this.resumeCall.bind(this);
34755
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
34756
34745
  this.sendDtmfTone.bind(this);
34757
34746
  /* @conditional-compile-remove(unsupported-browser) */
34758
34747
  this.allowUnsupportedBrowserVersion.bind(this);
@@ -35202,7 +35191,6 @@ class AzureCommunicationCallAdapter {
35202
35191
  }
35203
35192
  });
35204
35193
  }
35205
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
35206
35194
  sendDtmfTone(dtmfTone) {
35207
35195
  return __awaiter$5(this, void 0, void 0, function* () {
35208
35196
  this.handlers.onSendDtmfTone(dtmfTone);
@@ -35928,7 +35916,6 @@ class CallWithChatBackedCallAdapter {
35928
35916
  this.resumeCall = () => __awaiter$4(this, void 0, void 0, function* () {
35929
35917
  yield this.callWithChatAdapter.resumeCall();
35930
35918
  });
35931
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
35932
35919
  this.sendDtmfTone = (dtmfTone) => __awaiter$4(this, void 0, void 0, function* () {
35933
35920
  yield this.callWithChatAdapter.sendDtmfTone(dtmfTone);
35934
35921
  });
@@ -36823,7 +36810,6 @@ class AzureCommunicationCallWithChatAdapter {
36823
36810
  this.resumeCall.bind(this);
36824
36811
  /* @conditional-compile-remove(PSTN-calls) */
36825
36812
  this.addParticipant.bind(this);
36826
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
36827
36813
  this.sendDtmfTone.bind(this);
36828
36814
  /* @conditional-compile-remove(unsupported-browser) */
36829
36815
  this.allowUnsupportedBrowserVersion.bind(this);
@@ -37104,7 +37090,6 @@ class AzureCommunicationCallWithChatAdapter {
37104
37090
  }
37105
37091
  });
37106
37092
  }
37107
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
37108
37093
  sendDtmfTone(dtmfTone) {
37109
37094
  return __awaiter$2(this, void 0, void 0, function* () {
37110
37095
  return yield this.callAdapter.sendDtmfTone(dtmfTone);
@@ -38064,4 +38049,4 @@ exports.useTeamsCall = useTeamsCall;
38064
38049
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
38065
38050
  exports.useTeamsCallAgent = useTeamsCallAgent;
38066
38051
  exports.useTheme = useTheme;
38067
- //# sourceMappingURL=index-DNgYW17b.js.map
38052
+ //# sourceMappingURL=index-C3IKJHX1.js.map