@azure/communication-react 1.18.0-alpha-202407090014 → 1.18.0-alpha-202407110015

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 (75) hide show
  1. package/dist/communication-react.d.ts +95 -2
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-RrIa2t97.js → ChatMessageComponentAsRichTextEditBox-BHcuHeib.js} +5 -5
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BHcuHeib.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Bz_1ebsD.js → RichTextSendBoxWrapper-7S-tHnhY.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Bz_1ebsD.js.map → RichTextSendBoxWrapper-7S-tHnhY.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-DGXoGo4W.js → index-B2uDEMiK.js} +267 -134
  7. package/dist/dist-cjs/communication-react/index-B2uDEMiK.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +2 -1
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +21 -2
  13. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  14. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +16 -36
  15. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  16. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +6 -0
  17. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +23 -0
  18. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -0
  19. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +11 -0
  20. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  21. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
  22. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  23. package/dist/dist-esm/communication-react/src/index.d.ts +3 -0
  24. package/dist/dist-esm/communication-react/src/index.js +2 -0
  25. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +4 -4
  27. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  28. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +13 -6
  29. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  31. package/dist/dist-esm/react-components/src/components/ErrorBar.js +2 -2
  32. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.d.ts +64 -0
  34. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +86 -0
  35. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -0
  36. package/dist/dist-esm/react-components/src/components/Notification.d.ts +2 -2
  37. package/dist/dist-esm/react-components/src/components/Notification.js +1 -1
  38. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +5 -0
  40. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +7 -0
  42. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +5 -1
  43. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -1
  45. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +4 -10
  47. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/SendBox.js +1 -15
  49. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/components/index.d.ts +1 -0
  51. package/dist/dist-esm/react-components/src/components/index.js +2 -0
  52. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +2 -5
  54. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +8 -27
  55. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/utils.js +2 -0
  57. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  58. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +2 -0
  59. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  60. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +52 -38
  61. package/dist/dist-esm/react-components/src/theming/icons.d.ts +3 -0
  62. package/dist/dist-esm/react-components/src/theming/icons.js +9 -1
  63. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  64. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +10 -0
  65. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  66. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +3 -3
  67. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  68. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +17 -15
  69. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  70. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +45 -10
  71. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  72. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -0
  73. package/package.json +1 -1
  74. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-RrIa2t97.js.map +0 -1
  75. package/dist/dist-cjs/communication-react/index-DGXoGo4W.js.map +0 -1
@@ -175,7 +175,7 @@ function getDefaultExportFromCjs (x) {
175
175
  // Copyright (c) Microsoft Corporation.
176
176
  // Licensed under the MIT License.
177
177
  // GENERATED FILE. DO NOT EDIT MANUALLY.
178
- var telemetryVersion = '1.18.0-alpha-202407090014';
178
+ var telemetryVersion = '1.18.0-alpha-202407110015';
179
179
 
180
180
 
181
181
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -526,6 +526,12 @@ const getSupportedSpokenLanguages = (state, props) => {
526
526
  var _a;
527
527
  return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.captionsFeature.supportedSpokenLanguages;
528
528
  };
529
+ /* @conditional-compile-remove(teams-meeting-conference) */
530
+ /** @private */
531
+ const getTeamsMeetingConference = (state, props) => {
532
+ var _a;
533
+ return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.teamsMeetingConference;
534
+ };
529
535
 
530
536
  // Copyright (c) Microsoft Corporation.
531
537
  // Licensed under the MIT License.
@@ -1336,7 +1342,14 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
1336
1342
  *
1337
1343
  * @beta
1338
1344
  */
1339
- const notificationStackSelector = reselect.createSelector([getLatestErrors$1, getDiagnostics, getDeviceManager$1, getEnvironmentInfo], (latestErrors, diagnostics, deviceManager, environmentInfo) => {
1345
+ const notificationStackSelector = reselect.createSelector([
1346
+ getLatestErrors$1,
1347
+ getDiagnostics,
1348
+ getDeviceManager$1,
1349
+ getEnvironmentInfo,
1350
+ /* @conditional-compile-remove(teams-meeting-conference) */ getTeamsMeetingConference
1351
+ ], (latestErrors, diagnostics, deviceManager, environmentInfo,
1352
+ /* @conditional-compile-remove(teams-meeting-conference) */ meetingConference) => {
1340
1353
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
1341
1354
  // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.
1342
1355
  // There are several options for the ordering:
@@ -1355,9 +1368,19 @@ const notificationStackSelector = reselect.createSelector([getLatestErrors$1, ge
1355
1368
  return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.platform) === 'mac';
1356
1369
  };
1357
1370
  // Errors reported via diagnostics are more reliable than from API method failures, so process those first.
1371
+ let isTeamsMeetingWithPhones = false;
1372
+ /* @conditional-compile-remove(teams-meeting-conference) */
1373
+ if (meetingConference && meetingConference.length > 0) {
1374
+ isTeamsMeetingWithPhones = true;
1375
+ }
1358
1376
  if (((_a = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _a === void 0 ? void 0 : _a.value) === communicationCalling.DiagnosticQuality.Bad ||
1359
1377
  ((_b = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) === communicationCalling.DiagnosticQuality.Poor) {
1360
- activeErrorMessages.push({ type: 'callNetworkQualityLow' });
1378
+ if (isTeamsMeetingWithPhones) {
1379
+ activeErrorMessages.push({ type: 'teamsMeetingCallNetworkQualityLow' });
1380
+ }
1381
+ else {
1382
+ activeErrorMessages.push({ type: 'callNetworkQualityLow' });
1383
+ }
1361
1384
  }
1362
1385
  if (((_c = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.noSpeakerDevicesEnumerated) === null || _c === void 0 ? void 0 : _c.value) === true) {
1363
1386
  activeErrorMessages.push({ type: 'callNoSpeakerFound' });
@@ -5932,7 +5955,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
5932
5955
  wordBreak: 'break-word'
5933
5956
  });
5934
5957
 
5935
- var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$l={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$k={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options"};var mentionPopover$k={mentionPopoverHeader:"Suggestions"};var imageOverlay$k={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$k={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$k={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$k={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects"};var microphoneButton$k={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute microphone",onSplitButtonMicrophonePrimaryAction:"Mute microphone",microphonePrimaryActionSplitButtonTitle:"Use microphone"};var devicesButton$k={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$k={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$k={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$k={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$k={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$k={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"Uploading... Please wait."};var errorBar$k={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",closeButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",closeButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",closeButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",closeButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",closeButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",closeButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",closeButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",closeButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",closeButtonAriaLabel:"Close"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",closeButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",closeButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",closeButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",closeButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",closeButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",closeButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",closeButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",closeButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",closeButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",closeButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",closeButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",closeButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",closeButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",closeButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",closeButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",closeButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",closeButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",closeButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",closeButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",closeButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",closeButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",closeButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",closeButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",closeButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute"};var dialpad$k={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$k={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$k={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options"};var CameraAndMicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$k={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$k={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$k={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$k={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$k={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$k={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$l={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$l={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$l={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$k={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$k={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$k={leftNavButtonAriaLabel:"previous page",rightNavButtonAriaLabel:"next page"};var MeetingConferencePhoneInfo$k={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox$k,mentionPopover:mentionPopover$k,imageOverlay:imageOverlay$k,messageStatusIndicator:messageStatusIndicator$k,endCallButton:endCallButton$k,cameraButton:cameraButton$k,microphoneButton:microphoneButton$k,devicesButton:devicesButton$k,participantsButton:participantsButton$k,screenShareButton:screenShareButton$k,raiseHandButton:raiseHandButton$k,reactionButton:reactionButton$k,messageThread:messageThread$k,errorBar:errorBar$k,notificationStack:notificationStack,videoGallery:videoGallery$k,dialpad:dialpad$k,holdButton:holdButton$k,videoTile:videoTile$k,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$k,CameraSitePermissionsRequest:CameraSitePermissionsRequest$k,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$k,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$k,CameraSitePermissionsCheck:CameraSitePermissionsCheck$k,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$k,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$k,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$k,CameraSitePermissionsDenied:CameraSitePermissionsDenied$k,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$k,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$k,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$k,UnsupportedBrowser:UnsupportedBrowser$l,UnsupportedBrowserVersion:UnsupportedBrowserVersion$l,UnsupportedOperatingSystem:UnsupportedOperatingSystem$l,BrowserPermissionDenied:BrowserPermissionDenied$k,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$k,verticalGallery:verticalGallery$k,MeetingConferencePhoneInfo:MeetingConferencePhoneInfo$k};
5958
+ var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$l={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$k={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options"};var mentionPopover$k={mentionPopoverHeader:"Suggestions"};var imageOverlay$k={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$k={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$k={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$k={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects"};var microphoneButton$k={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute microphone",onSplitButtonMicrophonePrimaryAction:"Mute microphone",microphonePrimaryActionSplitButtonTitle:"Use microphone"};var devicesButton$k={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$k={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$k={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$k={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$k={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$k={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentUploadsPendingError:"Uploading... Please wait."};var errorBar$k={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",teamsMeetingCallNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute"};var dialpad$k={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$k={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$k={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options"};var CameraAndMicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$k={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$k={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$k={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$k={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$k={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$k={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$l={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$l={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$l={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$k={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$k={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$k={leftNavButtonAriaLabel:"previous page",rightNavButtonAriaLabel:"next page"};var MeetingConferencePhoneInfo$k={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$1={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"Incoming call",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject"};var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox$k,mentionPopover:mentionPopover$k,imageOverlay:imageOverlay$k,messageStatusIndicator:messageStatusIndicator$k,endCallButton:endCallButton$k,cameraButton:cameraButton$k,microphoneButton:microphoneButton$k,devicesButton:devicesButton$k,participantsButton:participantsButton$k,screenShareButton:screenShareButton$k,raiseHandButton:raiseHandButton$k,reactionButton:reactionButton$k,messageThread:messageThread$k,errorBar:errorBar$k,notificationStack:notificationStack,videoGallery:videoGallery$k,dialpad:dialpad$k,holdButton:holdButton$k,videoTile:videoTile$k,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$k,CameraSitePermissionsRequest:CameraSitePermissionsRequest$k,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$k,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$k,CameraSitePermissionsCheck:CameraSitePermissionsCheck$k,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$k,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$k,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$k,CameraSitePermissionsDenied:CameraSitePermissionsDenied$k,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$k,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$k,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$k,UnsupportedBrowser:UnsupportedBrowser$l,UnsupportedBrowserVersion:UnsupportedBrowserVersion$l,UnsupportedOperatingSystem:UnsupportedOperatingSystem$l,BrowserPermissionDenied:BrowserPermissionDenied$k,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$k,verticalGallery:verticalGallery$k,MeetingConferencePhoneInfo:MeetingConferencePhoneInfo$k,IncomingCallNotification:IncomingCallNotification$1};
5936
5959
 
5937
5960
  // Copyright (c) Microsoft Corporation.
5938
5961
  // Licensed under the MIT License.
@@ -6431,6 +6454,8 @@ const NotificationIconProps = (notificationType) => {
6431
6454
  */
6432
6455
  const customNotificationIconName = {
6433
6456
  callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',
6457
+ /* @conditional-compile-remove(teams-meeting-conference) */
6458
+ teamsMeetingCallNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',
6434
6459
  callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',
6435
6460
  callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',
6436
6461
  callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',
@@ -6554,8 +6579,8 @@ const ErrorBar = (props) => {
6554
6579
  lineHeight: 'inherit'
6555
6580
  },
6556
6581
  dismissal: {
6557
- height: 0,
6558
- paddingTop: '0.8rem'
6582
+ height: '2rem',
6583
+ paddingBottom: '0.8rem'
6559
6584
  }
6560
6585
  }, key: error.type, messageBarType: messageBarType(error.type), messageBarIconProps: messageBarIconProps(error.type), onDismiss: () => {
6561
6586
  var _a;
@@ -7265,7 +7290,13 @@ const DEFAULT_COMPONENT_ICONS = {
7265
7290
  /* @conditional-compile-remove(rich-text-editor) */
7266
7291
  RichTextTableDeleteMenuIcon: React.createElement(reactIcons.TableDismiss20Regular, null),
7267
7292
  /* @conditional-compile-remove(soft-mute) */
7268
- ContextualMenuMicMutedIcon: React.createElement(reactIcons.MicOff20Regular, null)
7293
+ ContextualMenuMicMutedIcon: React.createElement(reactIcons.MicOff20Regular, null),
7294
+ /* @conditional-compile-remove(one-to-n-calling) */
7295
+ IncomingCallNotificationRejectIcon: React.createElement(reactIcons.CallEnd20Filled, null),
7296
+ /* @conditional-compile-remove(one-to-n-calling) */
7297
+ IncomingCallNotificationAcceptIcon: React.createElement(reactIcons.Call20Filled, null),
7298
+ /* @conditional-compile-remove(one-to-n-calling) */
7299
+ IncomingCallNotificationAcceptWithVideoIcon: React.createElement(reactIcons.Video20Filled, null)
7269
7300
  };
7270
7301
 
7271
7302
  // Copyright (c) Microsoft Corporation.
@@ -9579,51 +9610,32 @@ const cancelInlineImageUpload = (imageSrcArray, imageUploadsInProgress, onCancel
9579
9610
  }
9580
9611
  };
9581
9612
  /* @conditional-compile-remove(file-sharing-acs) */
9582
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
9583
9613
  /**
9584
9614
  * @internal
9585
9615
  */
9586
- const toAttachmentMetadata = (attachmentsWithProgress,
9587
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ attachmentType) => {
9616
+ const toAttachmentMetadata = (attachmentsWithProgress) => {
9588
9617
  return attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((attachment) => {
9589
9618
  var _a;
9590
9619
  return !('error' in attachment) && !((_a = attachment.error) === null || _a === void 0 ? void 0 : _a.message);
9591
9620
  }).map((attachment) => {
9592
- let url = attachment.url || '';
9593
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
9594
- if (attachmentType === 'image') {
9595
- url = '';
9596
- }
9621
+ var _a;
9597
9622
  return {
9598
9623
  id: attachment.id,
9599
9624
  name: attachment.name,
9600
- url,
9601
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
9602
- attachmentType: attachmentType
9625
+ url: (_a = attachment.url) !== null && _a !== void 0 ? _a : ''
9603
9626
  };
9604
9627
  });
9605
9628
  };
9606
- /* @conditional-compile-remove(file-sharing-acs) */
9607
9629
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
9608
9630
  /**
9609
9631
  * @internal
9610
9632
  */
9611
- const insertAttachmentsAndImages = (content, attachments, imageUploadsInProgress) => {
9612
- if (!attachments && !imageUploadsInProgress) {
9613
- return { content, attachmentArray: undefined };
9614
- }
9615
- /* @conditional-compile-remove(file-sharing-acs) */
9616
- let attachmentArray = toAttachmentMetadata(attachments);
9617
- let newContent = content;
9618
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
9619
- if (imageUploadsInProgress) {
9620
- newContent = addUploadedImagesToMessage(content, imageUploadsInProgress);
9621
- const imageArray = toAttachmentMetadata(imageUploadsInProgress, 'image');
9622
- if (imageArray) {
9623
- attachmentArray = attachmentArray ? attachmentArray === null || attachmentArray === void 0 ? void 0 : attachmentArray.concat(imageArray) : imageArray;
9624
- }
9633
+ const insertImagesToContentString = (content, imageUploadsInProgress) => {
9634
+ if (!imageUploadsInProgress || imageUploadsInProgress.length <= 0) {
9635
+ return content;
9625
9636
  }
9626
- return { content: newContent, attachmentArray };
9637
+ const newContent = addUploadedImagesToMessage(content, imageUploadsInProgress);
9638
+ return newContent;
9627
9639
  };
9628
9640
 
9629
9641
  // Copyright (c) Microsoft Corporation.
@@ -10042,20 +10054,6 @@ const SendBox = (props) => {
10042
10054
  (_a = sendTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
10043
10055
  }
10044
10056
  };
10045
- /* @conditional-compile-remove(file-sharing-acs) */
10046
- const toAttachmentMetadata = React.useCallback((attachmentsWithProgress) => {
10047
- return attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((attachment) => {
10048
- var _a;
10049
- return !('error' in attachment) && !((_a = attachment.error) === null || _a === void 0 ? void 0 : _a.message);
10050
- }).map((attachment) => {
10051
- var _a;
10052
- return {
10053
- id: attachment.id,
10054
- name: attachment.name,
10055
- url: (_a = attachment.url) !== null && _a !== void 0 ? _a : ''
10056
- };
10057
- });
10058
- }, []);
10059
10057
  const setText = (newValue) => {
10060
10058
  if (newValue === undefined) {
10061
10059
  return;
@@ -10796,6 +10794,10 @@ class CopyPastePlugin {
10796
10794
  }
10797
10795
  }
10798
10796
  }
10797
+ /**
10798
+ * @internal
10799
+ * Exported only for unit testing
10800
+ */
10799
10801
  const handleBeforePasteEvent = (event,
10800
10802
  /* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste) => {
10801
10803
  if (event.eventType === PluginEventType.BeforePaste && event.pasteType === 'normal') {
@@ -11548,7 +11550,6 @@ class TableEditContextMenuProvider {
11548
11550
  this.editor = null;
11549
11551
  }
11550
11552
  getContextMenuItems(node) {
11551
- // return this.items;
11552
11553
  if (this.editor && isTableEditable(this.editor, node)) {
11553
11554
  return this.items;
11554
11555
  }
@@ -12114,19 +12115,13 @@ const RichTextSendBox = (props) => {
12114
12115
  if (hasContent ||
12115
12116
  /* @conditional-compile-remove(file-sharing-acs) */ isAttachmentUploadCompleted(attachments) ||
12116
12117
  /* @conditional-compile-remove(rich-text-editor-image-upload) */ isAttachmentUploadCompleted(imageUploadsInProgress)) {
12117
- /* @conditional-compile-remove(file-sharing-acs) */
12118
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
12119
- const { content, attachmentArray } = insertAttachmentsAndImages(contentValue,
12120
- /* @conditional-compile-remove(file-sharing-acs) */ attachments,
12121
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ imageUploadsInProgress);
12122
12118
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
12123
- message = content;
12119
+ message = insertImagesToContentString(contentValue, imageUploadsInProgress);
12124
12120
  onSendMessage(message,
12125
12121
  /* @conditional-compile-remove(file-sharing-acs) */ /* @conditional-compile-remove(rich-text-editor-composite-support) */
12126
12122
  {
12127
12123
  /* @conditional-compile-remove(file-sharing-acs) */
12128
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
12129
- attachments: attachmentArray,
12124
+ attachments: toAttachmentMetadata(attachments),
12130
12125
  /* @conditional-compile-remove(rich-text-editor-composite-support) */
12131
12126
  type: 'html'
12132
12127
  });
@@ -14236,7 +14231,7 @@ class _ErrorBoundary extends React.Component {
14236
14231
  // Copyright (c) Microsoft Corporation.
14237
14232
  // Licensed under the MIT License.
14238
14233
  /* @conditional-compile-remove(rich-text-editor) */
14239
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-RrIa2t97.js'); }));
14234
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BHcuHeib.js'); }));
14240
14235
  /**
14241
14236
  * @private
14242
14237
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -14244,7 +14239,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
14244
14239
  *
14245
14240
  * @conditional-compile-remove(rich-text-editor)
14246
14241
  */
14247
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-RrIa2t97.js'); });
14242
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BHcuHeib.js'); });
14248
14243
  /**
14249
14244
  * @private
14250
14245
  */
@@ -14302,16 +14297,23 @@ const ChatMyMessageComponent = (props) => {
14302
14297
  }
14303
14298
  }, [onDeleteMessage, message.messageId, message.messageType, clientMessageId]);
14304
14299
  const onResendClick = React.useCallback(() => {
14305
- /* @conditional-compile-remove(file-sharing-acs) */
14306
- const messageOptions = {
14307
- attachments: `attachments` in message ? message.attachments : undefined
14308
- };
14309
14300
  onDeleteMessage && clientMessageId && onDeleteMessage(clientMessageId);
14310
14301
  onSendMessage &&
14311
14302
  onSendMessage(content !== undefined ? content : '',
14312
14303
  /* @conditional-compile-remove(file-sharing-acs) */
14313
- messageOptions);
14314
- }, [onDeleteMessage, clientMessageId, onSendMessage, content, message]);
14304
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
14305
+ {
14306
+ /* @conditional-compile-remove(file-sharing-acs) */ attachments: `attachments` in message ? message.attachments : undefined,
14307
+ type: props.richTextEditorOptions ? 'html' : 'text'
14308
+ });
14309
+ }, [
14310
+ message,
14311
+ onDeleteMessage,
14312
+ clientMessageId,
14313
+ onSendMessage,
14314
+ content,
14315
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ props.richTextEditorOptions
14316
+ ]);
14315
14317
  const onSubmitHandler = React.useCallback(
14316
14318
  // due to a bug in babel, we can't use arrow function here
14317
14319
  // affecting conditional-compile-remove(attachment-upload)
@@ -23653,7 +23655,7 @@ const Notification = (props) => {
23653
23655
  React.createElement(react.Stack, { horizontal: true },
23654
23656
  React.createElement(react.Icon, Object.assign({ className: notificationIconClassName, iconName: (_b = (_a = props.notificationIconProps) === null || _a === void 0 ? void 0 : _a.iconName) !== null && _b !== void 0 ? _b : 'ErrorBadge' }, props.notificationIconProps)),
23655
23657
  React.createElement(react.Text, { className: titleTextClassName }, strings === null || strings === void 0 ? void 0 : strings.title)),
23656
- React.createElement(react.IconButton, { iconProps: cancelIcon, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.closeButtonAriaLabel, "aria-live": 'polite', onClick: props.onDismiss })),
23658
+ React.createElement(react.IconButton, { iconProps: cancelIcon, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.dismissButtonAriaLabel, "aria-live": 'polite', onClick: props.onDismiss })),
23657
23659
  React.createElement(react.Text, { className: messageTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.message),
23658
23660
  React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-evenly" },
23659
23661
  (strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel) && (React.createElement(react.DefaultButton, { onClick: props.onClickSecondaryButton, style: { marginTop: '1rem' } }, strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel)),
@@ -23713,6 +23715,88 @@ const NotificationStack = (props) => {
23713
23715
  })));
23714
23716
  };
23715
23717
 
23718
+ // Copyright (c) Microsoft Corporation.
23719
+ // Licensed under the MIT License.
23720
+ /**
23721
+ * A Notification component that is to be used to represent incoming calls to the end user.
23722
+ * Allows the user to accept or reject the incoming call.
23723
+ * @beta
23724
+ */
23725
+ const IncomingCallNotification = (props) => {
23726
+ const { callerName, alertText, avatar, onAcceptWithAudio, onAcceptWithVideo, onReject } = props;
23727
+ const theme = react.useTheme();
23728
+ /* @conditional-compile-remove(one-to-n-calling) */
23729
+ const localeStrings = useLocale$1().strings.IncomingCallNotification;
23730
+ return (React.createElement(react.Stack, { horizontal: true, verticalAlign: "center", styles: incomingCallToastStyle(theme) },
23731
+ React.createElement(react.Stack, { horizontalAlign: "start", styles: incomingCallToastAvatarContainerStyle },
23732
+ React.createElement(react.Persona, { imageUrl: avatar, text: callerName, size: react.PersonaSize.size40, hidePersonaDetails: true, "aria-label": callerName })),
23733
+ React.createElement(react.Stack, { grow: 1, horizontalAlign: "center", style: { alignItems: 'flex-start', fontFamily: 'Segoe UI' } },
23734
+ React.createElement(react.Stack, { style: { fontSize: '0.875rem' } },
23735
+ React.createElement(react.Text, null, callerName !== null && callerName !== void 0 ? callerName :
23736
+ /* @conditional-compile-remove(one-to-n-calling) */ localeStrings.incomingCallNotificationPlaceholderId)),
23737
+ React.createElement(react.Stack, { style: { fontSize: '0.75rem' } },
23738
+ React.createElement(react.Text, null, alertText !== null && alertText !== void 0 ? alertText :
23739
+ /* @conditional-compile-remove(one-to-n-calling) */ localeStrings.incomingCallNotificationPlaceholderAlert))),
23740
+ React.createElement(react.Stack, { horizontal: true, tokens: { childrenGap: 10 } },
23741
+ React.createElement(react.IconButton, { styles: incomingCallRejectButtonStyle(theme), onClick: () => onReject(), iconProps: { iconName: 'IncomingCallNotificationRejectIcon' },
23742
+ /* @conditional-compile-remove(one-to-n-calling) */
23743
+ ariaLabel: localeStrings.incomingCallNoticicationRejectAriaLabel }),
23744
+ React.createElement(react.IconButton, { styles: incomingCallAcceptButtonStyle(theme), onClick: () => onAcceptWithVideo(), iconProps: { iconName: 'IncomingCallNotificationAcceptWithVideoIcon' },
23745
+ /* @conditional-compile-remove(one-to-n-calling) */
23746
+ ariaLabel: localeStrings.incomingCallNoticicationAcceptWithVideoAriaLabel }),
23747
+ React.createElement(react.IconButton, { styles: incomingCallAcceptButtonStyle(theme), onClick: () => onAcceptWithAudio(), iconProps: { iconName: 'IncomingCallNotificationAcceptIcon' },
23748
+ /* @conditional-compile-remove(one-to-n-calling) */
23749
+ ariaLabel: localeStrings.incomingCallNoticicationAcceptWithAudioAriaLabel }))));
23750
+ };
23751
+ const incomingCallToastStyle = (theme) => {
23752
+ return {
23753
+ root: {
23754
+ minWidth: '20rem',
23755
+ opacity: 0.95,
23756
+ borderRadius: '0.5rem',
23757
+ boxShadow: theme.effects.elevation8,
23758
+ padding: '1rem'
23759
+ }
23760
+ };
23761
+ };
23762
+ const incomingCallToastAvatarContainerStyle = {
23763
+ root: {
23764
+ marginRight: '0.5rem'
23765
+ }
23766
+ };
23767
+ const incomingCallAcceptButtonStyle = (theme) => {
23768
+ return {
23769
+ root: {
23770
+ backgroundColor: theme.palette.greenDark,
23771
+ color: theme.palette.white,
23772
+ borderRadius: '2rem',
23773
+ minWidth: '2rem',
23774
+ width: '2rem',
23775
+ border: 'none'
23776
+ },
23777
+ rootHovered: {
23778
+ backgroundColor: theme.palette.green,
23779
+ color: theme.palette.white
23780
+ }
23781
+ };
23782
+ };
23783
+ const incomingCallRejectButtonStyle = (theme) => {
23784
+ return {
23785
+ root: {
23786
+ backgroundColor: theme.palette.redDark,
23787
+ color: theme.palette.white,
23788
+ borderRadius: '2rem',
23789
+ minWidth: '2rem',
23790
+ width: '2rem',
23791
+ border: 'none'
23792
+ },
23793
+ rootHovered: {
23794
+ backgroundColor: theme.palette.red,
23795
+ color: theme.palette.white
23796
+ }
23797
+ };
23798
+ };
23799
+
23716
23800
  // Copyright (c) Microsoft Corporation.
23717
23801
  // Licensed under the MIT License.
23718
23802
  /**
@@ -24677,6 +24761,29 @@ const findConditionalCompiledSelector = (component) => {
24677
24761
  }
24678
24762
  };
24679
24763
 
24764
+ // Copyright (c) Microsoft Corporation.
24765
+ // Licensed under the MIT License.
24766
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
24767
+ /**
24768
+ * @private
24769
+ */
24770
+ const getImageAttachmentsFromHTMLContent = (content) => {
24771
+ let imageAttachments;
24772
+ // get image attachments from content,
24773
+ // for the editing scenario, this includes the ones before editing and the newly added ones during editing.
24774
+ const document = new DOMParser().parseFromString(content !== null && content !== void 0 ? content : '', 'text/html');
24775
+ document.querySelectorAll('img').forEach((img) => {
24776
+ if (imageAttachments === undefined) {
24777
+ imageAttachments = [];
24778
+ }
24779
+ imageAttachments.push({
24780
+ id: img.id,
24781
+ attachmentType: 'image'
24782
+ });
24783
+ });
24784
+ return imageAttachments;
24785
+ };
24786
+
24680
24787
  // Copyright (c) Microsoft Corporation.
24681
24788
  // Licensed under the MIT License.
24682
24789
  var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -24706,36 +24813,29 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
24706
24813
  // affecting conditional-compile-remove(attachment-upload)
24707
24814
  onSendMessage: function (content, options) {
24708
24815
  return __awaiter$w(this, void 0, void 0, function* () {
24709
- var _a, _b;
24710
24816
  const sendMessageRequest = {
24711
24817
  content,
24712
24818
  senderDisplayName: chatClient.getState().displayName
24713
24819
  };
24714
- /* @conditional-compile-remove(file-sharing-acs) */
24715
- const fileAttachments = (_a = options === null || options === void 0 ? void 0 : options.attachments) === null || _a === void 0 ? void 0 : _a.filter((attachment) => {
24716
- const file = attachment;
24717
- return file.attachmentType === undefined;
24718
- });
24719
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
24720
- let imageAttachments;
24721
24820
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
24722
- (_b = options === null || options === void 0 ? void 0 : options.attachments) === null || _b === void 0 ? void 0 : _b.map((attachment) => {
24723
- const image = attachment;
24724
- if (image.attachmentType === 'image') {
24725
- imageAttachments === undefined ? (imageAttachments = [image]) : imageAttachments.push(image);
24726
- }
24727
- });
24728
- if (options &&
24821
+ const imageAttachments = getImageAttachmentsFromHTMLContent(content);
24822
+ /* @conditional-compile-remove(file-sharing-acs) */
24823
+ const hasAttachments = options &&
24729
24824
  'attachments' in options &&
24730
24825
  options.attachments &&
24731
- /* @conditional-compile-remove(file-sharing-acs) */
24732
- ((fileAttachments && fileAttachments.length > 0) ||
24733
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
24734
- (imageAttachments && imageAttachments.length > 0))) {
24826
+ options.attachments[0] &&
24827
+ !options.attachments[0].attachmentType;
24828
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
24829
+ const hasImages = options && imageAttachments && imageAttachments.length > 0;
24830
+ /* @conditional-compile-remove(file-sharing-acs) */
24831
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
24832
+ if (
24833
+ /* @conditional-compile-remove(file-sharing-acs) */ hasAttachments ||
24834
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ hasImages) {
24735
24835
  const chatSDKOptions = {
24736
24836
  metadata: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.metadata), {
24737
24837
  /* @conditional-compile-remove(file-sharing-acs) */
24738
- fileSharingMetadata: JSON.stringify(fileAttachments) }),
24838
+ fileSharingMetadata: JSON.stringify(options.attachments) }),
24739
24839
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
24740
24840
  attachments: imageAttachments,
24741
24841
  type: options.type
@@ -24767,22 +24867,7 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
24767
24867
  options) {
24768
24868
  return __awaiter$w(this, void 0, void 0, function* () {
24769
24869
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
24770
- let imageAttachments;
24771
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
24772
- // get image attachments from content, including the ones before the editing and newly added ones during editing.
24773
- const document = new DOMParser().parseFromString(content !== null && content !== void 0 ? content : '', 'text/html');
24774
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
24775
- document.querySelectorAll('img').forEach((img) => {
24776
- if (imageAttachments === undefined) {
24777
- imageAttachments = [];
24778
- }
24779
- imageAttachments.push({
24780
- id: img.id,
24781
- attachmentType: 'image'
24782
- });
24783
- });
24784
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
24785
- content = document.body.innerHTML;
24870
+ const imageAttachments = getImageAttachmentsFromHTMLContent(content);
24786
24871
  const updateMessageOptions = {
24787
24872
  content,
24788
24873
  /* @conditional-compile-remove(file-sharing-acs) */
@@ -28502,7 +28587,7 @@ const AttachmentDownloadErrorBar = (props) => {
28502
28587
  /**
28503
28588
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
28504
28589
  */
28505
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Bz_1ebsD.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
28590
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-7S-tHnhY.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
28506
28591
  /**
28507
28592
  * @private
28508
28593
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -28510,7 +28595,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
28510
28595
  *
28511
28596
  /* @conditional-compile-remove(rich-text-editor-composite-support)
28512
28597
  */
28513
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Bz_1ebsD.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
28598
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-7S-tHnhY.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
28514
28599
  /**
28515
28600
  * @private
28516
28601
  */
@@ -28685,6 +28770,20 @@ const ChatScreen = (props) => {
28685
28770
  const theme = useTheme();
28686
28771
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
28687
28772
  const [inlineImageUploads, handleInlineImageUploadAction, onUploadInlineImage, onCancelInlineImageUploadHandler] = useImageUpload();
28773
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
28774
+ const [textOnlyChat, setTextOnlyChat] = React.useState(false);
28775
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
28776
+ React.useEffect(() => {
28777
+ const updateChatState = (newState) => {
28778
+ var _a, _b;
28779
+ setTextOnlyChat(((_b = (_a = newState.thread.properties) === null || _a === void 0 ? void 0 : _a.messagingPolicy) === null || _b === void 0 ? void 0 : _b.textOnlyChat) === true);
28780
+ };
28781
+ updateChatState(adapter.getState());
28782
+ adapter.onStateChange(updateChatState);
28783
+ return () => {
28784
+ adapter.offStateChange(updateChatState);
28785
+ };
28786
+ }, [adapter]);
28688
28787
  React.useEffect(() => {
28689
28788
  // Initial data should be always fetched by the composite(or external caller) instead of the adapter
28690
28789
  const fetchData = () => __awaiter$m(void 0, void 0, void 0, function* () {
@@ -28902,9 +29001,11 @@ const ChatScreen = (props) => {
28902
29001
  }
28903
29002
  }, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId]);
28904
29003
  /* @conditional-compile-remove(file-sharing-acs) */
28905
- const AttachmentButton = React.useCallback(() => {
29004
+ const attachmentButton = React.useMemo(() => {
28906
29005
  var _a, _b, _c;
28907
- if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection)) {
29006
+ if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection) ||
29007
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
29008
+ textOnlyChat) {
28908
29009
  return null;
28909
29010
  }
28910
29011
  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 }));
@@ -28912,7 +29013,9 @@ const ChatScreen = (props) => {
28912
29013
  (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.handleAttachmentSelection,
28913
29014
  (_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.supportedMediaTypes,
28914
29015
  (_e = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _e === void 0 ? void 0 : _e.disableMultipleUploads,
28915
- attachmentUploadButtonOnChange
29016
+ attachmentUploadButtonOnChange,
29017
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
29018
+ textOnlyChat
28916
29019
  ]);
28917
29020
  /* @conditional-compile-remove(file-sharing-acs) */
28918
29021
  const attachments = React.useMemo(() => {
@@ -28961,7 +29064,9 @@ const ChatScreen = (props) => {
28961
29064
  const richTextEditorOptions = React.useMemo(() => {
28962
29065
  return (options === null || options === void 0 ? void 0 : options.richTextEditor)
28963
29066
  ? {
28964
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste: undefined,
29067
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste: textOnlyChat
29068
+ ? removeImageTags
29069
+ : undefined,
28965
29070
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
28966
29071
  onUploadInlineImage: onUploadInlineImage,
28967
29072
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
@@ -28977,7 +29082,9 @@ const ChatScreen = (props) => {
28977
29082
  onCancelInlineImageUploadHandler,
28978
29083
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
28979
29084
  onUploadInlineImage,
28980
- options === null || options === void 0 ? void 0 : options.richTextEditor
29085
+ options === null || options === void 0 ? void 0 : options.richTextEditor,
29086
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
29087
+ textOnlyChat
28981
29088
  ]);
28982
29089
  return (React.createElement(react.Stack, { className: chatContainer, grow: true },
28983
29090
  (options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
@@ -29000,8 +29107,7 @@ const ChatScreen = (props) => {
29000
29107
  React.createElement(react.Stack, { horizontal: formFactor === 'mobile' },
29001
29108
  formFactor === 'mobile' && (
29002
29109
  /* @conditional-compile-remove(file-sharing-acs) */
29003
- React.createElement(react.Stack, { verticalAlign: "center" },
29004
- React.createElement(AttachmentButton, null))),
29110
+ React.createElement(react.Stack, { verticalAlign: "center" }, attachmentButton)),
29005
29111
  React.createElement(react.Stack, { grow: true },
29006
29112
  React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus,
29007
29113
  /* @conditional-compile-remove(rich-text-editor-composite-support) */
@@ -29019,9 +29125,9 @@ const ChatScreen = (props) => {
29019
29125
  imageUploadsInProgress: imageUploadsInProgress,
29020
29126
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
29021
29127
  onCancelInlineImageUpload: onCancelInlineImageUploadHandler })),
29022
- formFactor !== 'mobile' && (
29023
- /* @conditional-compile-remove(file-sharing-acs) */
29024
- React.createElement(AttachmentButton, null))))),
29128
+ formFactor !== 'mobile' &&
29129
+ /* @conditional-compile-remove(file-sharing-acs) */
29130
+ attachmentButton))),
29025
29131
  /* @conditional-compile-remove(chat-composite-participant-pane) */
29026
29132
  (options === null || options === void 0 ? void 0 : options.participantPane) === true && (React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' }))),
29027
29133
  overlayImageItem && (React.createElement(ImageOverlay, Object.assign({}, overlayImageItem, { isOpen: isImageOverlayOpen, onDismiss: () => {
@@ -29034,6 +29140,20 @@ const ChatScreen = (props) => {
29034
29140
  });
29035
29141
  }, onDownloadButtonClicked: onDownloadButtonClicked })))));
29036
29142
  };
29143
+ // TODO-vhuseinova: delete after the function is added to utils
29144
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
29145
+ const removeImageTags = (event) => {
29146
+ event.content.querySelectorAll('img').forEach((image) => {
29147
+ // If the image is the only child of its parent, remove all the parents of this img element.
29148
+ let parentNode = image.parentElement;
29149
+ let currentNode = image;
29150
+ while ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.childNodes.length) === 1) {
29151
+ currentNode = parentNode;
29152
+ parentNode = parentNode.parentElement;
29153
+ }
29154
+ currentNode === null || currentNode === void 0 ? void 0 : currentNode.remove();
29155
+ });
29156
+ };
29037
29157
 
29038
29158
  // Copyright (c) Microsoft Corporation.
29039
29159
  // Licensed under the MIT License.
@@ -34940,6 +35060,16 @@ const CallArrangement = (props) => {
34940
35060
  const isCaptionsOn = useSelector$1(getCaptionsStatus);
34941
35061
  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
34942
35062
  const pipStyles = React.useMemo(() => getPipStyles(theme), [theme]);
35063
+ /* @conditional-compile-remove(notifications) */
35064
+ if (isTeamsMeeting) {
35065
+ filteredLatestErrorNotifications
35066
+ .filter((notification) => notification.type === 'teamsMeetingCallNetworkQualityLow')
35067
+ .forEach((notification) => {
35068
+ notification.onClickPrimaryButton = props.mobileView
35069
+ ? toggleMeetingPhoneInfoPane
35070
+ : toggleTeamsMeetingConferenceModal;
35071
+ });
35072
+ }
34943
35073
  const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;
34944
35074
  // Filter out shareScreen capability notifications if on mobile
34945
35075
  const filteredCapabilitesChangedNotifications = props.mobileView
@@ -35325,7 +35455,7 @@ const NetworkReconnectTile = (props) => {
35325
35455
  React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInstructionLine },
35326
35456
  React.createElement(react.Stack.Item, null,
35327
35457
  React.createElement(react.Stack, { horizontal: true },
35328
- React.createElement(react.Stack, { className: infoConnectionLinkStyle(theme) }),
35458
+ !props.isMobile && React.createElement(react.Stack, { className: infoConnectionLinkStyle(theme) }),
35329
35459
  React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
35330
35460
  React.createElement(react.Icon, { iconName: "DtmfDialpadButton", className: phoneInfoIconStyle(theme) })),
35331
35461
  React.createElement(react.Stack.Item, null,
@@ -35333,12 +35463,12 @@ const NetworkReconnectTile = (props) => {
35333
35463
  React.createElement(react.Text, { className: phoneInfoTextStyle },
35334
35464
  meetingCoordinates[0].conferenceId,
35335
35465
  "#")),
35336
- React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInstructionLine },
35466
+ !props.isMobile && (React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInstructionLine },
35337
35467
  React.createElement(react.Stack, { horizontal: true },
35338
35468
  React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme), style: { marginLeft: _pxToRem(2) } },
35339
35469
  React.createElement(react.Icon, { iconName: "PhoneInfoWait", className: phoneInfoIconStyle(theme) })),
35340
35470
  React.createElement(react.Stack.Item, null,
35341
- React.createElement(react.Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalWait))))))) }, handlers)));
35471
+ React.createElement(react.Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalWait)))))))) }, handlers)));
35342
35472
  };
35343
35473
 
35344
35474
  // Copyright (c) Microsoft Corporation.
@@ -40406,21 +40536,21 @@ const CallWithChatScreen = (props) => {
40406
40536
  props.backgroundImage,
40407
40537
  props.spotlight
40408
40538
  ]);
40409
- const onRenderChatContent = React.useCallback(() => (React.createElement(ChatComposite, { adapter: chatAdapter, fluentTheme: theme, options: {
40410
- topic: false,
40411
- /* @conditional-compile-remove(chat-composite-participant-pane) */
40412
- participantPane: false,
40413
- /* @conditional-compile-remove(file-sharing-acs) */
40414
- attachmentOptions: props.attachmentOptions,
40415
- /* @conditional-compile-remove(rich-text-editor-composite-support) */
40416
- richTextEditor: props.richTextEditor
40417
- }, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [
40418
- chatAdapter,
40419
- /* @conditional-compile-remove(file-sharing-acs) */ props.attachmentOptions,
40420
- props.onFetchAvatarPersonaData,
40421
- /* @conditional-compile-remove(rich-text-editor-composite-support) */ props.richTextEditor,
40422
- theme
40539
+ const chatCompositeOptions = React.useMemo(() => ({
40540
+ topic: false,
40541
+ /* @conditional-compile-remove(chat-composite-participant-pane) */
40542
+ participantPane: false,
40543
+ /* @conditional-compile-remove(file-sharing-acs) */
40544
+ attachmentOptions: props.attachmentOptions,
40545
+ /* @conditional-compile-remove(rich-text-editor-composite-support) */
40546
+ richTextEditor: props.richTextEditor
40547
+ }), [
40548
+ /* @conditional-compile-remove(file-sharing-acs) */
40549
+ props.attachmentOptions,
40550
+ /* @conditional-compile-remove(rich-text-editor-composite-support) */
40551
+ props.richTextEditor
40423
40552
  ]);
40553
+ const onRenderChatContent = React.useCallback(() => (React.createElement(ChatComposite, { adapter: chatAdapter, fluentTheme: theme, options: chatCompositeOptions, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [chatAdapter, props.onFetchAvatarPersonaData, chatCompositeOptions, theme]);
40424
40554
  const sidePaneHeaderRenderer = React.useCallback(() => {
40425
40555
  var _a;
40426
40556
  return (React.createElement(SidePaneHeader, { headingText: callWithChatStrings.chatPaneTitle, onClose: closeChat, dismissSidePaneButtonAriaLabel: (_a = callWithChatStrings.dismissSidePaneButtonLabel) !== null && _a !== void 0 ? _a : '', mobileView: mobileView }));
@@ -40468,7 +40598,9 @@ const CallWithChatComposite = (props) => {
40468
40598
  /* @conditional-compile-remove(call-readiness) */
40469
40599
  deviceChecks: options === null || options === void 0 ? void 0 : options.deviceChecks, callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions,
40470
40600
  /* @conditional-compile-remove(file-sharing-acs) */
40471
- attachmentOptions: options === null || options === void 0 ? void 0 : options.attachmentOptions, localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile, galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions, logo: (_a = options === null || options === void 0 ? void 0 : options.branding) === null || _a === void 0 ? void 0 : _a.logo, backgroundImage: (_b = options === null || options === void 0 ? void 0 : options.branding) === null || _b === void 0 ? void 0 : _b.backgroundImage, surveyOptions: options === null || options === void 0 ? void 0 : options.surveyOptions, spotlight: options === null || options === void 0 ? void 0 : options.spotlight }))));
40601
+ attachmentOptions: options === null || options === void 0 ? void 0 : options.attachmentOptions, localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile, galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions, logo: (_a = options === null || options === void 0 ? void 0 : options.branding) === null || _a === void 0 ? void 0 : _a.logo, backgroundImage: (_b = options === null || options === void 0 ? void 0 : options.branding) === null || _b === void 0 ? void 0 : _b.backgroundImage, surveyOptions: options === null || options === void 0 ? void 0 : options.surveyOptions, spotlight: options === null || options === void 0 ? void 0 : options.spotlight,
40602
+ /* @conditional-compile-remove(rich-text-editor-composite-support) */
40603
+ richTextEditor: options === null || options === void 0 ? void 0 : options.richTextEditor }))));
40472
40604
  };
40473
40605
  const hasJoinedCallFn = (page, callStatus) => {
40474
40606
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */
@@ -42035,6 +42167,7 @@ exports.FluentV9ThemeProvider = FluentV9ThemeProvider;
42035
42167
  exports.GridLayout = GridLayout;
42036
42168
  exports.HoldButton = HoldButton;
42037
42169
  exports.ImageOverlay = ImageOverlay;
42170
+ exports.IncomingCallNotification = IncomingCallNotification;
42038
42171
  exports.InputBoxButton = InputBoxButton;
42039
42172
  exports.LocalizationProvider = LocalizationProvider$1;
42040
42173
  exports.MAXIMUM_LENGTH_OF_MESSAGE = MAXIMUM_LENGTH_OF_MESSAGE;
@@ -42091,7 +42224,7 @@ exports.getSelector = getSelector$1;
42091
42224
  exports.getSelector$1 = getSelector;
42092
42225
  exports.hasIncompleteAttachmentUploads = hasIncompleteAttachmentUploads;
42093
42226
  exports.imageOverlayTheme = imageOverlayTheme;
42094
- exports.insertAttachmentsAndImages = insertAttachmentsAndImages;
42227
+ exports.insertImagesToContentString = insertImagesToContentString;
42095
42228
  exports.isAttachmentUploadCompleted = isAttachmentUploadCompleted;
42096
42229
  exports.lightTheme = lightTheme;
42097
42230
  exports.onRenderCancelIcon = onRenderCancelIcon;
@@ -42120,4 +42253,4 @@ exports.useTeamsCall = useTeamsCall;
42120
42253
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
42121
42254
  exports.useTeamsCallAgent = useTeamsCallAgent;
42122
42255
  exports.useTheme = useTheme;
42123
- //# sourceMappingURL=index-DGXoGo4W.js.map
42256
+ //# sourceMappingURL=index-B2uDEMiK.js.map