@azure/communication-react 1.13.0-alpha-202402220012 → 1.13.0-alpha-202402240011
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +67 -11
- package/dist/dist-cjs/communication-react/index.js +426 -110
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +5 -4
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +5 -5
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +2 -2
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -0
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +3 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +5 -4
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +4 -4
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.d.ts +7 -7
- package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +11 -17
- package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.d.ts +7 -0
- package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +3 -3
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageStatusIcon.d.ts +19 -0
- package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +20 -0
- package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +4 -64
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.d.ts +42 -0
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +73 -0
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/MessageThread.js +36 -4
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +4 -8
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.js +1 -1
- package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RTE/RTERibbonButtons.d.ts +12 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTERibbonButtons.js +86 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTERibbonButtons.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.d.ts +39 -4
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.js +10 -5
- package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.js +52 -20
- package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ReactionButton.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ReactionButton.js +1 -1
- package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +4 -6
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.d.ts +4 -6
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +21 -11
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/index.js +1 -1
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +13 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +112 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.d.ts +8 -1
- package/dist/dist-esm/react-components/src/components/utils.js +8 -0
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +1 -1
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -2
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +21 -4
- package/dist/dist-esm/react-components/src/localization/locales/utils.js +5 -1
- package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +8 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +19 -1
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.d.ts +21 -0
- package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +7 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +3 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +3 -5
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +5 -2
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +8 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +7 -7
@@ -173,7 +173,7 @@ function getDefaultExportFromCjs (x) {
|
|
173
173
|
// Copyright (c) Microsoft Corporation.
|
174
174
|
// Licensed under the MIT License.
|
175
175
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
176
|
-
var telemetryVersion = '1.13.0-alpha-
|
176
|
+
var telemetryVersion = '1.13.0-alpha-202402240011';
|
177
177
|
|
178
178
|
|
179
179
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -938,7 +938,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
938
938
|
}
|
939
939
|
});
|
940
940
|
/* @conditional-compile-remove(reaction) */
|
941
|
-
const
|
941
|
+
const onReactionClick = (reaction) => __awaiter$P(void 0, void 0, void 0, function* () {
|
942
942
|
var _c;
|
943
943
|
if (reaction === 'like' ||
|
944
944
|
reaction === 'applause' ||
|
@@ -1214,7 +1214,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1214
1214
|
/* @conditional-compile-remove(raise-hand) */
|
1215
1215
|
onToggleRaiseHand,
|
1216
1216
|
/* @conditional-compile-remove(reaction) */
|
1217
|
-
|
1217
|
+
onReactionClick: onReactionClick,
|
1218
1218
|
/* @conditional-compile-remove(PSTN-calls) */
|
1219
1219
|
onAddParticipant: notImplemented,
|
1220
1220
|
onRemoveParticipant: notImplemented,
|
@@ -1391,7 +1391,7 @@ const _captionSettingsSelector = reselect__namespace.createSelector([
|
|
1391
1391
|
], (supportedCaptionLanguages, currentCaptionLanguage, supportedSpokenLanguages, currentSpokenLanguage, isCaptionsFeatureActive) => {
|
1392
1392
|
return {
|
1393
1393
|
supportedCaptionLanguages: supportedCaptionLanguages !== null && supportedCaptionLanguages !== void 0 ? supportedCaptionLanguages : [],
|
1394
|
-
currentCaptionLanguage: currentCaptionLanguage !== null && currentCaptionLanguage !== void 0 ? currentCaptionLanguage : '',
|
1394
|
+
currentCaptionLanguage: currentCaptionLanguage !== null && currentCaptionLanguage !== void 0 ? currentCaptionLanguage : 'en',
|
1395
1395
|
supportedSpokenLanguages: supportedSpokenLanguages !== null && supportedSpokenLanguages !== void 0 ? supportedSpokenLanguages : ['en-us'],
|
1396
1396
|
currentSpokenLanguage: currentSpokenLanguage !== null && currentSpokenLanguage !== void 0 ? currentSpokenLanguage : 'en-us',
|
1397
1397
|
isCaptionsFeatureActive: isCaptionsFeatureActive !== null && isCaptionsFeatureActive !== void 0 ? isCaptionsFeatureActive : false
|
@@ -2227,7 +2227,7 @@ let CallContext$2 = class CallContext {
|
|
2227
2227
|
clearTimeout(this._timeOutId[participantKey]);
|
2228
2228
|
const participant = call.remoteParticipants[participantKey];
|
2229
2229
|
const newReactionState = reactionMessage
|
2230
|
-
? { reactionMessage: reactionMessage,
|
2230
|
+
? { reactionMessage: reactionMessage, receivedOn: new Date() }
|
2231
2231
|
: undefined;
|
2232
2232
|
if (participantKey === toFlatCommunicationIdentifier(this._state.userId)) {
|
2233
2233
|
call.localParticipantReaction = newReactionState;
|
@@ -5383,7 +5383,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
5383
5383
|
wordBreak: 'break-word'
|
5384
5384
|
});
|
5385
5385
|
|
5386
|
-
var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold"};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",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};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"};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",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:"{author} said {message}",messageContentMineAriaText:"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",downloadFile:"Download file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",fileCardGroupMessage:"The message has {fileCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted"};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."};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"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"};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"};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 AttendeeRole$k="Attendee";var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$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,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,AttendeeRole:AttendeeRole$k};
|
5386
|
+
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",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed"};var richTextSendBox={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",fileUploadsPendingError:"Uploading... Please wait.",removeFile:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",boldTooltip:"Bold",italicTooltip:"Italic",underlineTooltip:"Underline",bulletListTooltip:"Bulleted list",numberListTooltip:"Numbered list",increaseIndentTooltip:"Increase indent",decreaseIndentTooltip:"Decrease indent"};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"};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",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:"{author} said {message}",messageContentMineAriaText:"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",downloadFile:"Download file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",fileCardGroupMessage:"The message has {fileCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted"};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."};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"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"};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"};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 en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox,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,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};
|
5387
5387
|
|
5388
5388
|
// Copyright (c) Microsoft Corporation.
|
5389
5389
|
// Licensed under the MIT License.
|
@@ -5840,6 +5840,14 @@ e.nativeEvent.isComposing ||
|
|
5840
5840
|
* @private
|
5841
5841
|
*/
|
5842
5842
|
const nullToUndefined = (value) => (value === null ? undefined : value);
|
5843
|
+
/**
|
5844
|
+
* Helper function to get the keys of an object
|
5845
|
+
*
|
5846
|
+
* @private
|
5847
|
+
*/
|
5848
|
+
function getKeys(obj) {
|
5849
|
+
return Object.keys(obj);
|
5850
|
+
}
|
5843
5851
|
|
5844
5852
|
// Copyright (c) Microsoft Corporation.
|
5845
5853
|
// Licensed under the MIT License.
|
@@ -6560,7 +6568,23 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
6560
6568
|
/* @conditional-compile-remove(spotlight) */
|
6561
6569
|
StopSpotlightContextualMenuItem: React.createElement(reactIcons.VideoPersonStarOff20Filled, null),
|
6562
6570
|
/* @conditional-compile-remove(spotlight) */
|
6563
|
-
VideoSpotlighted: React.createElement(reactIcons.VideoPersonStar20Filled, { style: { height: '16px', width: '16px' } })
|
6571
|
+
VideoSpotlighted: React.createElement(reactIcons.VideoPersonStar20Filled, { style: { height: '16px', width: '16px' } }),
|
6572
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6573
|
+
RTEBoldButtonIcon: React.createElement(reactIcons.TextBold20Regular, null),
|
6574
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6575
|
+
RTEItalicButtonIcon: React.createElement(reactIcons.TextItalic20Regular, null),
|
6576
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6577
|
+
RTEUnderlineButtonIcon: React.createElement(reactIcons.TextUnderlineCharacterU20Regular, null),
|
6578
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6579
|
+
RTEBulletListButtonIcon: React.createElement(reactIcons.TextBulletList20Regular, null),
|
6580
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6581
|
+
RTEtNumberListButtonIcon: React.createElement(reactIcons.TextNumberListLtr20Regular, null),
|
6582
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6583
|
+
RTEIndentDecreaseButtonIcon: React.createElement(reactIcons.TextIndentDecrease20Regular, null),
|
6584
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6585
|
+
RTEIndentIncreaseButtonIcon: React.createElement(reactIcons.TextIndentIncrease20Regular, null),
|
6586
|
+
/* @conditional-compile-remove(rich-text-editor) */
|
6587
|
+
RTEDividerIcon: React.createElement(reactIcons.DividerTall24Regular, null)
|
6564
6588
|
};
|
6565
6589
|
|
6566
6590
|
// Copyright (c) Microsoft Corporation.
|
@@ -9074,6 +9098,202 @@ const richTextEditorStyle = react.mergeStyles({
|
|
9074
9098
|
minHeight: '2.25rem',
|
9075
9099
|
maxHeight: '8.25rem'
|
9076
9100
|
});
|
9101
|
+
/**
|
9102
|
+
* @private
|
9103
|
+
*/
|
9104
|
+
const ribbonButtonStyle = (theme) => {
|
9105
|
+
return {
|
9106
|
+
icon: { color: theme.palette.neutralPrimary, height: 'auto' },
|
9107
|
+
menuIcon: { color: theme.palette.neutralPrimary, height: 'auto' },
|
9108
|
+
root: { minWidth: 'auto', backgroundColor: 'transparent' },
|
9109
|
+
rootChecked: {
|
9110
|
+
backgroundColor: 'transparent',
|
9111
|
+
selectors: {
|
9112
|
+
// Icon's color doesn't work here because of the specificity
|
9113
|
+
'.ms-Button-icon': {
|
9114
|
+
color: theme.palette.themePrimary
|
9115
|
+
},
|
9116
|
+
'.ms-Button-menuIcon': {
|
9117
|
+
color: theme.palette.themePrimary
|
9118
|
+
}
|
9119
|
+
}
|
9120
|
+
},
|
9121
|
+
rootHovered: {
|
9122
|
+
backgroundColor: 'transparent',
|
9123
|
+
selectors: {
|
9124
|
+
// Icon's color doesn't work here because of the specificity
|
9125
|
+
'.ms-Button-icon': {
|
9126
|
+
color: theme.palette.themePrimary
|
9127
|
+
},
|
9128
|
+
'.ms-Button-menuIcon': {
|
9129
|
+
color: theme.palette.themePrimary
|
9130
|
+
}
|
9131
|
+
}
|
9132
|
+
},
|
9133
|
+
rootCheckedHovered: {
|
9134
|
+
backgroundColor: 'transparent',
|
9135
|
+
selectors: {
|
9136
|
+
// Icon's color doesn't work here because of the specificity
|
9137
|
+
'.ms-Button-icon': {
|
9138
|
+
color: theme.palette.themePrimary
|
9139
|
+
},
|
9140
|
+
'.ms-Button-menuIcon': {
|
9141
|
+
color: theme.palette.themePrimary
|
9142
|
+
}
|
9143
|
+
}
|
9144
|
+
},
|
9145
|
+
rootCheckedPressed: {
|
9146
|
+
backgroundColor: 'transparent',
|
9147
|
+
selectors: {
|
9148
|
+
// Icon's color doesn't work here because of the specificity
|
9149
|
+
'.ms-Button-icon': {
|
9150
|
+
color: theme.palette.themePrimary
|
9151
|
+
},
|
9152
|
+
'.ms-Button-menuIcon': {
|
9153
|
+
color: theme.palette.themePrimary
|
9154
|
+
}
|
9155
|
+
}
|
9156
|
+
},
|
9157
|
+
rootPressed: {
|
9158
|
+
backgroundColor: 'transparent',
|
9159
|
+
selectors: {
|
9160
|
+
// Icon's color doesn't work here because of the specificity
|
9161
|
+
'.ms-Button-icon': {
|
9162
|
+
color: theme.palette.themePrimary
|
9163
|
+
},
|
9164
|
+
'.ms-Button-menuIcon': {
|
9165
|
+
color: theme.palette.themePrimary
|
9166
|
+
}
|
9167
|
+
}
|
9168
|
+
},
|
9169
|
+
rootExpanded: {
|
9170
|
+
backgroundColor: 'transparent',
|
9171
|
+
selectors: {
|
9172
|
+
// Icon's color doesn't work here because of the specificity
|
9173
|
+
'.ms-Button-icon': {
|
9174
|
+
color: theme.palette.themePrimary
|
9175
|
+
},
|
9176
|
+
'.ms-Button-menuIcon': {
|
9177
|
+
color: theme.palette.themePrimary
|
9178
|
+
}
|
9179
|
+
}
|
9180
|
+
},
|
9181
|
+
rootExpandedHovered: {
|
9182
|
+
backgroundColor: 'transparent',
|
9183
|
+
selectors: {
|
9184
|
+
//icon color is not working here because of the specificity
|
9185
|
+
'.ms-Button-icon': {
|
9186
|
+
color: theme.palette.themePrimary
|
9187
|
+
},
|
9188
|
+
'.ms-Button-menuIcon': {
|
9189
|
+
color: theme.palette.themePrimary
|
9190
|
+
}
|
9191
|
+
}
|
9192
|
+
}
|
9193
|
+
};
|
9194
|
+
};
|
9195
|
+
/**
|
9196
|
+
* @private
|
9197
|
+
*/
|
9198
|
+
const ribbonDividerStyle = (theme) => {
|
9199
|
+
return {
|
9200
|
+
icon: { color: theme.palette.neutralQuaternaryAlt, margin: '0 -0.5rem', height: 'auto' },
|
9201
|
+
root: { margin: '0', padding: '0', minWidth: 'auto' }
|
9202
|
+
};
|
9203
|
+
};
|
9204
|
+
/**
|
9205
|
+
* @private
|
9206
|
+
*/
|
9207
|
+
const ribbonStyle = () => {
|
9208
|
+
return {
|
9209
|
+
// Override for the default white color of the Ribbon component
|
9210
|
+
root: { backgroundColor: 'transparent' }
|
9211
|
+
};
|
9212
|
+
};
|
9213
|
+
|
9214
|
+
// Copyright (c) Microsoft Corporation.
|
9215
|
+
// Licensed under the MIT License.
|
9216
|
+
const dividerRibbonButton = (theme) => {
|
9217
|
+
return {
|
9218
|
+
key: 'Divider',
|
9219
|
+
iconName: 'RTEDividerIcon',
|
9220
|
+
unlocalizedText: '',
|
9221
|
+
onClick: () => { },
|
9222
|
+
isDisabled: () => true,
|
9223
|
+
commandBarProperties: {
|
9224
|
+
buttonStyles: ribbonDividerStyle(theme)
|
9225
|
+
}
|
9226
|
+
};
|
9227
|
+
};
|
9228
|
+
const boldButton = (theme) => {
|
9229
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.Bold, theme, 'RTEBoldButtonIcon');
|
9230
|
+
};
|
9231
|
+
const italicButton = (theme) => {
|
9232
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.Italic, theme, 'RTEItalicButtonIcon');
|
9233
|
+
};
|
9234
|
+
const underlineButton = (theme) => {
|
9235
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.Underline, theme, 'RTEUnderlineButtonIcon');
|
9236
|
+
};
|
9237
|
+
const bulletListButton = (theme) => {
|
9238
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.BulletedList, theme, 'RTEBulletListButtonIcon');
|
9239
|
+
};
|
9240
|
+
const numberListButton = (theme) => {
|
9241
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.NumberedList, theme, 'RTEtNumberListButtonIcon');
|
9242
|
+
};
|
9243
|
+
const indentIncreaseButton = (theme) => {
|
9244
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.IncreaseIndent, theme, 'RTEIndentIncreaseButtonIcon');
|
9245
|
+
};
|
9246
|
+
const indentDecreaseButton = (theme) => {
|
9247
|
+
return createKnownRibbonButton(roosterjsReact.KnownRibbonButtonKey.DecreaseIndent, theme, 'RTEIndentDecreaseButtonIcon');
|
9248
|
+
};
|
9249
|
+
const createKnownRibbonButton = (key, theme, icon) => {
|
9250
|
+
var _a;
|
9251
|
+
const buttons = roosterjsReact.getButtons([key]);
|
9252
|
+
if (buttons.length > 0) {
|
9253
|
+
const button = buttons[0];
|
9254
|
+
// AllButtonStringKeys is a union of all the string keys of all the buttons
|
9255
|
+
const result = buttons[0];
|
9256
|
+
button.iconName = icon;
|
9257
|
+
button.commandBarProperties = Object.assign(Object.assign({}, button.commandBarProperties), { buttonStyles: Object.assign(Object.assign({}, (_a = button.commandBarProperties) === null || _a === void 0 ? void 0 : _a.buttonStyles), ribbonButtonStyle(theme)) });
|
9258
|
+
return result;
|
9259
|
+
}
|
9260
|
+
return undefined;
|
9261
|
+
};
|
9262
|
+
/**
|
9263
|
+
* @private
|
9264
|
+
*/
|
9265
|
+
const ribbonButtons = (theme) => {
|
9266
|
+
const buttons = [];
|
9267
|
+
[
|
9268
|
+
boldButton(theme),
|
9269
|
+
italicButton(theme),
|
9270
|
+
underlineButton(theme),
|
9271
|
+
dividerRibbonButton(theme),
|
9272
|
+
bulletListButton(theme),
|
9273
|
+
numberListButton(theme),
|
9274
|
+
indentIncreaseButton(theme),
|
9275
|
+
indentDecreaseButton(theme)
|
9276
|
+
].forEach((item) => {
|
9277
|
+
if (item !== undefined) {
|
9278
|
+
buttons.push(item);
|
9279
|
+
}
|
9280
|
+
});
|
9281
|
+
return buttons;
|
9282
|
+
};
|
9283
|
+
/**
|
9284
|
+
* @private
|
9285
|
+
*/
|
9286
|
+
const ribbonButtonsStrings = (strings) => {
|
9287
|
+
return {
|
9288
|
+
buttonNameBold: strings.boldTooltip,
|
9289
|
+
buttonNameItalic: strings.italicTooltip,
|
9290
|
+
buttonNameUnderline: strings.underlineTooltip,
|
9291
|
+
buttonNameBulletedList: strings.bulletListTooltip,
|
9292
|
+
buttonNameNumberedList: strings.numberListTooltip,
|
9293
|
+
buttonNameIncreaseIndent: strings.increaseIndentTooltip,
|
9294
|
+
buttonNameDecreaseIndent: strings.decreaseIndentTooltip
|
9295
|
+
};
|
9296
|
+
};
|
9077
9297
|
|
9078
9298
|
// Copyright (c) Microsoft Corporation.
|
9079
9299
|
// Licensed under the MIT License.
|
@@ -9083,8 +9303,10 @@ const richTextEditorStyle = react.mergeStyles({
|
|
9083
9303
|
* @beta
|
9084
9304
|
*/
|
9085
9305
|
React.forwardRef((props, ref) => {
|
9086
|
-
const { content, onChange, placeholderText } = props;
|
9306
|
+
const { content, onChange, placeholderText, strings } = props;
|
9087
9307
|
const editor = React.useRef(null);
|
9308
|
+
const [divComponent, setDivComponent] = React.useState(null);
|
9309
|
+
const theme = react.useTheme();
|
9088
9310
|
React.useImperativeHandle(ref, () => {
|
9089
9311
|
return {
|
9090
9312
|
focus() {
|
@@ -9100,23 +9322,50 @@ React.forwardRef((props, ref) => {
|
|
9100
9322
|
(_b = editor.current) === null || _b === void 0 ? void 0 : _b.setContent(content || '');
|
9101
9323
|
}
|
9102
9324
|
}, [content]);
|
9103
|
-
|
9104
|
-
|
9105
|
-
|
9106
|
-
|
9107
|
-
|
9108
|
-
|
9109
|
-
|
9110
|
-
|
9111
|
-
|
9112
|
-
|
9113
|
-
|
9114
|
-
|
9115
|
-
|
9116
|
-
|
9117
|
-
|
9325
|
+
React.useEffect(() => {
|
9326
|
+
if (divComponent !== null && theme.palette.neutralPrimary !== undefined) {
|
9327
|
+
// Adjust color prop for the div component when theme is updated
|
9328
|
+
// because doNotAdjustEditorColor is set for Rooster
|
9329
|
+
divComponent.style.color = theme.palette.neutralPrimary;
|
9330
|
+
}
|
9331
|
+
}, [divComponent, theme]);
|
9332
|
+
const ribbonPlugin = React.useMemo(() => {
|
9333
|
+
return roosterjsReact.createRibbonPlugin();
|
9334
|
+
}, []);
|
9335
|
+
const editorCreator = React.useCallback((div, options) => {
|
9336
|
+
editor.current = new roosterjsEditorCore.Editor(div, options);
|
9337
|
+
setDivComponent(div);
|
9338
|
+
// Remove the background color of the editor
|
9339
|
+
div.style.backgroundColor = 'transparent';
|
9340
|
+
return editor.current;
|
9341
|
+
}, []);
|
9342
|
+
const plugins = React.useMemo(() => {
|
9343
|
+
const contentEdit = new roosterjsEditorPlugins.ContentEdit();
|
9344
|
+
const placeholderPlugin = new roosterjsEditorPlugins.Watermark(placeholderText || '');
|
9345
|
+
const updateContentPlugin = roosterjsReact.createUpdateContentPlugin(roosterjsReact.UpdateMode.OnContentChangedEvent | roosterjsReact.UpdateMode.OnUserInput, (content) => {
|
9346
|
+
onChange && onChange(content);
|
9347
|
+
});
|
9348
|
+
return [contentEdit, placeholderPlugin, updateContentPlugin, ribbonPlugin];
|
9349
|
+
}, [onChange, placeholderText, ribbonPlugin]);
|
9350
|
+
const ribbon = React.useMemo(() => {
|
9351
|
+
const buttons = ribbonButtons(theme);
|
9352
|
+
return (
|
9353
|
+
//TODO: Add localization for watermark plugin https://github.com/microsoft/roosterjs/issues/2430
|
9354
|
+
React.createElement(roosterjsReact.Ribbon, { styles: ribbonStyle(), buttons: buttons, plugin: ribbonPlugin, overflowButtonProps: {
|
9355
|
+
styles: ribbonButtonStyle(theme),
|
9356
|
+
menuProps: {
|
9357
|
+
items: [], // CommandBar will determine items rendered in overflow
|
9358
|
+
isBeakVisible: false
|
9359
|
+
}
|
9360
|
+
}, strings: ribbonButtonsStrings(strings) }));
|
9361
|
+
}, [strings, ribbonPlugin, theme]);
|
9118
9362
|
return (React.createElement("div", null,
|
9119
|
-
|
9363
|
+
ribbon,
|
9364
|
+
React.createElement(roosterjsReact.Rooster, { inDarkMode: isDarkThemed(theme), plugins: plugins, className: richTextEditorStyle, editorCreator: editorCreator,
|
9365
|
+
// TODO: confirm the color during inline images implementation
|
9366
|
+
imageSelectionBorderColor: 'blue',
|
9367
|
+
// doNotAdjustEditorColor is used to fix the default background color for Rooster component
|
9368
|
+
doNotAdjustEditorColor: true })));
|
9120
9369
|
});
|
9121
9370
|
|
9122
9371
|
// Copyright (c) Microsoft Corporation.
|
@@ -9185,6 +9434,23 @@ const AnnouncerMessage = (props) => {
|
|
9185
9434
|
/** @private */
|
9186
9435
|
const LiveMessage = (props) => (React.createElement(AnnouncerContext.Consumer, null, (contextProps) => React.createElement(AnnouncerMessage, Object.assign({}, contextProps, props))));
|
9187
9436
|
|
9437
|
+
// Copyright (c) Microsoft Corporation.
|
9438
|
+
// Licensed under the MIT License.
|
9439
|
+
/**
|
9440
|
+
* Component to display message status icon
|
9441
|
+
*
|
9442
|
+
* @internal
|
9443
|
+
*/
|
9444
|
+
const MessageStatusIcon = (props) => {
|
9445
|
+
const { shouldAnnounce, iconName, iconClassName, ariaLabel } = props;
|
9446
|
+
return (React.createElement(React.Fragment, null,
|
9447
|
+
ariaLabel && React.createElement(LiveMessage, { message: ariaLabel, ariaLive: "polite" }),
|
9448
|
+
React.createElement("div", {
|
9449
|
+
// make icon accessible
|
9450
|
+
tabIndex: 0 },
|
9451
|
+
React.createElement(react.Icon, { role: 'status', "aria-live": shouldAnnounce ? 'polite' : 'off', "data-ui-id": 'chat-composite-message-status-icon', "aria-label": ariaLabel, iconName: iconName, className: iconClassName }))));
|
9452
|
+
};
|
9453
|
+
|
9188
9454
|
// Copyright (c) Microsoft Corporation.
|
9189
9455
|
// Licensed under the MIT License.
|
9190
9456
|
/**
|
@@ -9192,10 +9458,10 @@ const LiveMessage = (props) => (React.createElement(AnnouncerContext.Consumer, n
|
|
9192
9458
|
*
|
9193
9459
|
* Adds an icon and tooltip corresponding to the message status.
|
9194
9460
|
*
|
9195
|
-
* @
|
9461
|
+
* @internal
|
9196
9462
|
*/
|
9197
|
-
const
|
9198
|
-
const { status, styles, remoteParticipantsCount, onToggleToolTip, readCount } = props;
|
9463
|
+
const MessageStatusIndicatorInternal = (props) => {
|
9464
|
+
const { status, styles, remoteParticipantsCount, onToggleToolTip, readCount, shouldAnnounce } = props;
|
9199
9465
|
const localeStrings = useLocale$1().strings.messageStatusIndicator;
|
9200
9466
|
const [isTooltipToggled, setIsTooltipToggled] = React.useState(false);
|
9201
9467
|
const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
|
@@ -9210,18 +9476,14 @@ const MessageStatusIndicator = (props) => {
|
|
9210
9476
|
switch (status) {
|
9211
9477
|
case 'failed':
|
9212
9478
|
return (React.createElement(react.TooltipHost, { content: strings.failedToSendTooltipText, "data-ui-id": "chat-composite-message-tooltip", calloutProps: Object.assign({}, calloutProps), styles: hostStyles$1 },
|
9213
|
-
strings.failedToSendAriaLabel
|
9214
|
-
// live message is used here and in the following tooltips so that aria labels are announced on mobile
|
9215
|
-
React.createElement(LiveMessage, { message: strings.failedToSendAriaLabel, ariaLive: "polite" })),
|
9216
|
-
React.createElement(react.Icon, { role: "status", "data-ui-id": "chat-composite-message-status-icon", "aria-label": strings.failedToSendAriaLabel, iconName: "MessageFailed", className: react.mergeStyles(MessageStatusIndicatorErrorIconStyle, { color: theme.palette.redDark }, styles === null || styles === void 0 ? void 0 : styles.root) })));
|
9479
|
+
React.createElement(MemoMessageStatusIcon, { shouldAnnounce: shouldAnnounce, iconName: "MessageFailed", iconClassName: react.mergeStyles(MessageStatusIndicatorErrorIconStyle, { color: theme.palette.redDark }, styles === null || styles === void 0 ? void 0 : styles.root), ariaLabel: strings.failedToSendAriaLabel })));
|
9217
9480
|
case 'sending':
|
9218
9481
|
return (React.createElement(react.TooltipHost, { content: strings.sendingTooltipText, "data-ui-id": "chat-composite-message-tooltip", calloutProps: Object.assign({}, calloutProps), styles: hostStyles$1 },
|
9219
|
-
|
9220
|
-
React.createElement(react.Icon, { role: "status", "data-ui-id": "chat-composite-message-status-icon", "aria-label": strings.sendingAriaLabel, iconName: "MessageSending", className: react.mergeStyles(MessageStatusIndicatorIconStyle, { color: theme.palette.themePrimary }, styles === null || styles === void 0 ? void 0 : styles.root) })));
|
9482
|
+
React.createElement(MemoMessageStatusIcon, { shouldAnnounce: shouldAnnounce, iconName: "MessageSending", iconClassName: react.mergeStyles(MessageStatusIndicatorIconStyle, { color: theme.palette.themePrimary }, styles === null || styles === void 0 ? void 0 : styles.root), ariaLabel: strings.sendingAriaLabel })));
|
9221
9483
|
case 'seen':
|
9222
9484
|
return (React.createElement(react.TooltipHost, { calloutProps: Object.assign({}, calloutProps), "data-ui-id": "chat-composite-message-tooltip", styles: hostStyles$1, content:
|
9223
9485
|
// when it's just 1 to 1 texting, we don't need to know who has read the message, just show message as 'seen'
|
9224
|
-
// when
|
9486
|
+
// when readCount is 0, we have a bug, show 'seen' to cover up as a fall back
|
9225
9487
|
// when participant count is 0, we have a bug, show 'seen' to cover up as a fall back
|
9226
9488
|
readCount === 0 ||
|
9227
9489
|
(remoteParticipantsCount && remoteParticipantsCount <= 1) ||
|
@@ -9238,12 +9500,10 @@ const MessageStatusIndicator = (props) => {
|
|
9238
9500
|
setIsTooltipToggled(!isTooltipToggled);
|
9239
9501
|
}
|
9240
9502
|
} },
|
9241
|
-
|
9242
|
-
React.createElement(react.Icon, { "data-ui-id": "chat-composite-message-status-icon", role: "status", "aria-label": strings.seenAriaLabel, iconName: "MessageSeen", className: react.mergeStyles({ color: theme.palette.themePrimary }, styles === null || styles === void 0 ? void 0 : styles.root) })));
|
9503
|
+
React.createElement(MemoMessageStatusIcon, { shouldAnnounce: shouldAnnounce, iconName: "MessageSeen", iconClassName: react.mergeStyles({ color: theme.palette.themePrimary }, styles === null || styles === void 0 ? void 0 : styles.root), ariaLabel: strings.seenAriaLabel })));
|
9243
9504
|
case 'delivered':
|
9244
9505
|
return (React.createElement(react.TooltipHost, { calloutProps: Object.assign({}, calloutProps), content: strings.deliveredTooltipText, "data-ui-id": "chat-composite-message-tooltip", styles: hostStyles$1 },
|
9245
|
-
|
9246
|
-
React.createElement(react.Icon, { role: "status", "data-ui-id": "chat-composite-message-status-icon", "aria-label": strings.deliveredAriaLabel, iconName: "MessageDelivered", className: react.mergeStyles(MessageStatusIndicatorIconStyle, { color: theme.palette.themePrimary }, styles === null || styles === void 0 ? void 0 : styles.root) })));
|
9506
|
+
React.createElement(MemoMessageStatusIcon, { shouldAnnounce: shouldAnnounce, iconName: "MessageDelivered", iconClassName: react.mergeStyles(MessageStatusIndicatorIconStyle, { color: theme.palette.themePrimary }, styles === null || styles === void 0 ? void 0 : styles.root), ariaLabel: strings.deliveredAriaLabel })));
|
9247
9507
|
default:
|
9248
9508
|
return React.createElement(React.Fragment, null);
|
9249
9509
|
}
|
@@ -9252,6 +9512,23 @@ const MessageStatusIndicator = (props) => {
|
|
9252
9512
|
// To prevent sizing issues or tooltip positioning issues, we override to inline-block.
|
9253
9513
|
// For more details see "Icon Button with Tooltip" on https://developer.microsoft.com/en-us/fluentui#/controls/web/button
|
9254
9514
|
const hostStyles$1 = { root: { display: 'inline-block' } };
|
9515
|
+
const MemoMessageStatusIcon = React.memo((obj) => {
|
9516
|
+
return React.createElement(MessageStatusIcon, Object.assign({}, obj));
|
9517
|
+
});
|
9518
|
+
|
9519
|
+
// Copyright (c) Microsoft Corporation.
|
9520
|
+
// Licensed under the MIT License.
|
9521
|
+
/**
|
9522
|
+
* Component to display the status of a sent message.
|
9523
|
+
*
|
9524
|
+
* Adds an icon and tooltip corresponding to the message status.
|
9525
|
+
*
|
9526
|
+
* @public
|
9527
|
+
*/
|
9528
|
+
const MessageStatusIndicator = (props) => {
|
9529
|
+
const internalProps = Object.assign(Object.assign({}, props), { shouldAnnounce: true });
|
9530
|
+
return React.createElement(MessageStatusIndicatorInternal, Object.assign({}, internalProps));
|
9531
|
+
};
|
9255
9532
|
|
9256
9533
|
// Copyright (c) Microsoft Corporation.
|
9257
9534
|
// Licensed under the MIT License.
|
@@ -11526,6 +11803,15 @@ const getLastChatMessageIdWithStatus = (messages, status) => {
|
|
11526
11803
|
}
|
11527
11804
|
return undefined;
|
11528
11805
|
};
|
11806
|
+
const getLastChatMessageForCurrentUser = (messages) => {
|
11807
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
11808
|
+
const message = messages[i];
|
11809
|
+
if (message.messageType === 'chat' && message.mine) {
|
11810
|
+
return message;
|
11811
|
+
}
|
11812
|
+
}
|
11813
|
+
return undefined;
|
11814
|
+
};
|
11529
11815
|
/**
|
11530
11816
|
* `MessageThread` allows you to easily create a component for rendering chat messages, handling scrolling behavior of new/old messages and customizing icons & controls inside the chat thread.
|
11531
11817
|
* @param props - of type MessageThreadProps
|
@@ -11593,6 +11879,7 @@ const MessageThreadWrapper = (props) => {
|
|
11593
11879
|
// reset deleted message label in case if there was a value already (messages are deleted 1 after another)
|
11594
11880
|
setDeletedMessageAriaLabel(undefined);
|
11595
11881
|
setLatestDeletedMessageId(messageId);
|
11882
|
+
lastChatMessageStatus.current = 'deleted';
|
11596
11883
|
// we should set up latestDeletedMessageId before the onDeleteMessage call
|
11597
11884
|
// as otherwise in very rare cases the messages array can be updated before latestDeletedMessageId
|
11598
11885
|
yield onDeleteMessage(messageId);
|
@@ -11787,6 +12074,23 @@ const MessageThreadWrapper = (props) => {
|
|
11787
12074
|
// Only scroll to bottom if isAtBottomOfScrollRef is true
|
11788
12075
|
isAtBottomOfScrollRef.current && scrollToBottom();
|
11789
12076
|
}, [clientHeight, forceUpdate, scrollToBottom, chatMessagesInitialized]);
|
12077
|
+
React.useEffect(() => {
|
12078
|
+
var _a;
|
12079
|
+
const newStatus = (_a = getLastChatMessageForCurrentUser(newMessages)) === null || _a === void 0 ? void 0 : _a.status;
|
12080
|
+
if (newStatus !== undefined) {
|
12081
|
+
if (lastChatMessageStatus.current === 'deleted' && newStatus === 'sending') {
|
12082
|
+
// enforce message life cycle
|
12083
|
+
// message status should always be [ sending -> delivered -> seen (optional) -> deleted ] or [sending -> failed -> deleted]
|
12084
|
+
// not any other way around
|
12085
|
+
// therefore, if current message status is deleted, we should only update it if newStatus is sending
|
12086
|
+
lastChatMessageStatus.current = newStatus;
|
12087
|
+
}
|
12088
|
+
else if (lastChatMessageStatus.current !== 'deleted') {
|
12089
|
+
lastChatMessageStatus.current = newStatus;
|
12090
|
+
}
|
12091
|
+
}
|
12092
|
+
// The hook should depend on newMessages not on messages as otherwise it will skip the sending status for a first message
|
12093
|
+
}, [newMessages]);
|
11790
12094
|
/**
|
11791
12095
|
* This needs to run to update latestPreviousChatMessage & latestCurrentChatMessage.
|
11792
12096
|
* These two states are used to manipulate scrollbar
|
@@ -11815,6 +12119,7 @@ const MessageThreadWrapper = (props) => {
|
|
11815
12119
|
}
|
11816
12120
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
11817
12121
|
}, [messages]);
|
12122
|
+
const lastChatMessageStatus = React.useRef(undefined);
|
11818
12123
|
const participantCountRef = React.useRef(participantCount);
|
11819
12124
|
const readReceiptsBySenderIdRef = React.useRef(readReceiptsBySenderId);
|
11820
12125
|
participantCountRef.current = participantCount;
|
@@ -11825,6 +12130,10 @@ const MessageThreadWrapper = (props) => {
|
|
11825
12130
|
}
|
11826
12131
|
}, []);
|
11827
12132
|
const defaultStatusRenderer = React.useCallback((message, participantCount, readCount, status) => {
|
12133
|
+
// we should only announce label if the message status isn't deleted
|
12134
|
+
// because after message is deleted, we now need to render statusIndicator for previous messages
|
12135
|
+
// and their status has been announced already and we should not announce them again
|
12136
|
+
const shouldAnnounce = lastChatMessageStatus.current !== 'deleted';
|
11828
12137
|
const onToggleToolTip = (isToggled) => {
|
11829
12138
|
if (isToggled && readReceiptsBySenderIdRef.current) {
|
11830
12139
|
setReadCountForHoveredIndicator(getParticipantsWhoHaveReadMessage(message, readReceiptsBySenderIdRef.current).length);
|
@@ -11833,9 +12142,9 @@ const MessageThreadWrapper = (props) => {
|
|
11833
12142
|
setReadCountForHoveredIndicator(undefined);
|
11834
12143
|
}
|
11835
12144
|
};
|
11836
|
-
return (React.createElement(
|
12145
|
+
return (React.createElement(MessageStatusIndicatorInternal, { status: status, readCount: readCount, onToggleToolTip: onToggleToolTip,
|
11837
12146
|
// -1 because participant count does not include myself
|
11838
|
-
remoteParticipantsCount: participantCount ? participantCount - 1 : 0 }));
|
12147
|
+
remoteParticipantsCount: participantCount ? participantCount - 1 : 0, shouldAnnounce: shouldAnnounce }));
|
11839
12148
|
}, []);
|
11840
12149
|
const theme = useTheme();
|
11841
12150
|
const messagesToDisplay = React.useMemo(() => {
|
@@ -11863,7 +12172,7 @@ const MessageThreadWrapper = (props) => {
|
|
11863
12172
|
existsNewChatMessage && !disableJumpToNewMessageButton && (React.createElement("div", { className: react.mergeStyles(newMessageButtonContainerStyle, styles === null || styles === void 0 ? void 0 : styles.newMessageButtonContainer) }, onRenderJumpToNewMessageButton ? (onRenderJumpToNewMessageButton({ text: strings.newMessagesIndicator, onClick: scrollToBottom })) : (React.createElement(DefaultJumpToNewMessageButton, { text: strings.newMessagesIndicator, onClick: scrollToBottom })))),
|
11864
12173
|
React.createElement(LiveAnnouncer, null,
|
11865
12174
|
React.createElement(FluentV9ThemeProvider, { v8Theme: theme },
|
11866
|
-
React.createElement(Announcer$1, { announcementString: deletedMessageAriaLabel, ariaLive: 'assertive' }),
|
12175
|
+
latestDeletedMessageId && (React.createElement(Announcer$1, { key: latestDeletedMessageId, announcementString: deletedMessageAriaLabel, ariaLive: 'assertive' })),
|
11867
12176
|
React.createElement(reactChat.Chat
|
11868
12177
|
// styles?.chatContainer used in className and style prop as style prop can't handle CSS selectors
|
11869
12178
|
, {
|
@@ -12396,7 +12705,7 @@ const iconStyles$2 = react.mergeStyles({
|
|
12396
12705
|
|
12397
12706
|
// Copyright (c) Microsoft Corporation.
|
12398
12707
|
// Licensed under the MIT License.
|
12399
|
-
const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvatar, createParticipantMenuItems, styles, onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy, theme
|
12708
|
+
const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvatar, createParticipantMenuItems, styles, onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy, theme) => {
|
12400
12709
|
const callingParticipant = participant;
|
12401
12710
|
let presence = undefined;
|
12402
12711
|
if (callingParticipant) {
|
@@ -12406,8 +12715,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
12406
12715
|
let displayName = participant.displayName;
|
12407
12716
|
/* @conditional-compile-remove(hide-attendee-name) */
|
12408
12717
|
const formatDisplayName = () => {
|
12409
|
-
if (displayName &&
|
12410
|
-
return _formatString(displayName, { AttendeeRole:
|
12718
|
+
if (displayName && strings.attendeeRole) {
|
12719
|
+
return _formatString(displayName, { AttendeeRole: strings.attendeeRole });
|
12411
12720
|
}
|
12412
12721
|
return displayName;
|
12413
12722
|
};
|
@@ -12506,8 +12815,6 @@ const ParticipantList$k = (props) => {
|
|
12506
12815
|
const participantItemStrings = useLocale$1().strings.participantItem;
|
12507
12816
|
/* @conditional-compile-remove(total-participant-count) */
|
12508
12817
|
const participantListStrings = useLocale$1().strings.ParticipantList;
|
12509
|
-
/* @conditional-compile-remove(hide-attendee-name) */
|
12510
|
-
const attendeeRoleString = useLocale$1().strings.AttendeeRole;
|
12511
12818
|
const displayedParticipants = React.useMemo(() => {
|
12512
12819
|
return onRenderParticipant ? participants : getParticipantsForDefaultRender(participants, excludeMe, myUserId);
|
12513
12820
|
}, [participants, excludeMe, myUserId, onRenderParticipant]);
|
@@ -12548,9 +12855,7 @@ const ParticipantList$k = (props) => {
|
|
12548
12855
|
? onRenderParticipant(participant)
|
12549
12856
|
: onRenderParticipantDefault(participant, participantItemStrings, myUserId, onRenderAvatar, createParticipantMenuItems, participantItemStyles, props.onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy,
|
12550
12857
|
/* @conditional-compile-remove(raise-hand) */
|
12551
|
-
theme,
|
12552
|
-
/* @conditional-compile-remove(hide-attendee-name) */
|
12553
|
-
attendeeRoleString)),
|
12858
|
+
theme)),
|
12554
12859
|
/* @conditional-compile-remove(total-participant-count) */ overflowParticipantCountString &&
|
12555
12860
|
totalParticipantCount &&
|
12556
12861
|
totalParticipantCount > displayedParticipants.length && (React.createElement(react.Text, { style: { fontWeight: 400, margin: '0.5rem' } }, _formatString(overflowParticipantCountString, {
|
@@ -13705,7 +14010,7 @@ const VideoTile = (props) => {
|
|
13705
14010
|
/* @conditional-compile-remove(reaction) */
|
13706
14011
|
const currentUnixTimeStamp = Math.floor(currentTimestamp.getTime() / 1000);
|
13707
14012
|
/* @conditional-compile-remove(reaction) */
|
13708
|
-
const receivedUnixTimestamp = reaction ? Math.floor(reaction.
|
14013
|
+
const receivedUnixTimestamp = reaction ? Math.floor(reaction.receivedOn.getTime() / 1000) : undefined;
|
13709
14014
|
/* @conditional-compile-remove(reaction) */
|
13710
14015
|
const canRenderReaction = (receivedUnixTimestamp ? currentUnixTimeStamp - receivedUnixTimestamp < 3000 : false) &&
|
13711
14016
|
backgroundImageUrl !== undefined;
|
@@ -13807,7 +14112,7 @@ const bracketedParticipantString = (participantString, withBrackets) => {
|
|
13807
14112
|
* @internal
|
13808
14113
|
*/
|
13809
14114
|
const _RemoteVideoTile = React.memo((props) => {
|
13810
|
-
var _a;
|
14115
|
+
var _a, _b;
|
13811
14116
|
const { isAvailable, isReceiving = true, // default to true to prevent any breaking change
|
13812
14117
|
isScreenSharingOn, onCreateRemoteStreamView, onDisposeRemoteStreamView, remoteVideoViewOptions, renderElement, userId, onRenderAvatar, showMuteIndicator, remoteParticipant, participantState, menuKind, isPinned, onPinParticipant, onUnpinParticipant,
|
13813
14118
|
/* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds,
|
@@ -13879,9 +14184,9 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
13879
14184
|
setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps$1(contextualMenuProps, () => setDrawerMenuItemProps([])));
|
13880
14185
|
}
|
13881
14186
|
}, [setDrawerMenuItemProps, contextualMenuProps]);
|
13882
|
-
let displayName = remoteParticipant.displayName ||
|
14187
|
+
let displayName = remoteParticipant.displayName || strings.displayNamePlaceholder;
|
13883
14188
|
/* @conditional-compile-remove(hide-attendee-name) */
|
13884
|
-
const attendeeRoleString =
|
14189
|
+
const attendeeRoleString = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.attendeeRole;
|
13885
14190
|
/* @conditional-compile-remove(hide-attendee-name) */
|
13886
14191
|
const formatDisplayName = () => {
|
13887
14192
|
if (displayName && attendeeRoleString) {
|
@@ -13892,7 +14197,7 @@ const _RemoteVideoTile = React.memo((props) => {
|
|
13892
14197
|
/* @conditional-compile-remove(hide-attendee-name) */
|
13893
14198
|
displayName = formatDisplayName();
|
13894
14199
|
return (React.createElement(react.Stack, { tabIndex: menuKind === 'drawer' ? 0 : undefined, onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined, style: remoteVideoTileWrapperStyle },
|
13895
|
-
React.createElement(VideoTile, Object.assign({ key: userId, userId: userId, initialsName: (
|
14200
|
+
React.createElement(VideoTile, Object.assign({ key: userId, userId: userId, initialsName: (_b = remoteParticipant.displayName) !== null && _b !== void 0 ? _b : '', renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted,
|
13896
14201
|
/* @conditional-compile-remove(raise-hand) */
|
13897
14202
|
raisedHand: remoteParticipant.raisedHand,
|
13898
14203
|
/* @conditional-compile-remove(reaction) */
|
@@ -17975,7 +18280,7 @@ const ReactionButton = (props) => {
|
|
17975
18280
|
const resourceUrl = emojiResource.get(emoji);
|
17976
18281
|
return (React.createElement(react.TooltipHost, { key: index, "data-ui-id": index, hidden: props.disableTooltip, content: emojiButtonTooltip.get(emoji), styles: reactionToolTipHostStyle(), calloutProps: Object.assign({}, calloutProps) },
|
17977
18282
|
React.createElement(react.IconButton, { key: index, onClick: () => {
|
17978
|
-
props.
|
18283
|
+
props.onReactionClick(emoji);
|
17979
18284
|
setIsHoveredMap((prevMap) => {
|
17980
18285
|
return new Map(prevMap).set(emoji, false);
|
17981
18286
|
});
|
@@ -18920,20 +19225,26 @@ const _TagsSurvey = (props) => {
|
|
18920
19225
|
const [selectedTextResponse, setSelectedTextResponse] = React.useState({});
|
18921
19226
|
const [checkedTextFields, setCheckedTextFields] = React.useState([]);
|
18922
19227
|
const tags = React.useMemo(() => {
|
18923
|
-
const tags =
|
18924
|
-
|
18925
|
-
|
18926
|
-
|
19228
|
+
const tags = {
|
19229
|
+
overallRating: [],
|
19230
|
+
audioRating: [],
|
19231
|
+
videoRating: [],
|
19232
|
+
screenshareRating: []
|
19233
|
+
};
|
19234
|
+
getKeys(callIssuesToTag).forEach((issueCategory) => {
|
19235
|
+
getKeys(callIssuesToTag[issueCategory]).map((issue) => {
|
19236
|
+
const issueCapitalized = ((issue === null || issue === void 0 ? void 0 : issue.charAt(0).toUpperCase()) + (issue === null || issue === void 0 ? void 0 : issue.slice(1)));
|
19237
|
+
const issueMessages = callIssuesToTag[issueCategory];
|
18927
19238
|
if (tags[issueCategory]) {
|
18928
19239
|
tags[issueCategory].push({
|
18929
|
-
message:
|
19240
|
+
message: issueMessages[issue],
|
18930
19241
|
issue: issueCapitalized
|
18931
19242
|
});
|
18932
19243
|
}
|
18933
19244
|
else {
|
18934
19245
|
tags[issueCategory] = [
|
18935
19246
|
{
|
18936
|
-
message:
|
19247
|
+
message: issueMessages[issue],
|
18937
19248
|
issue: issueCapitalized
|
18938
19249
|
}
|
18939
19250
|
];
|
@@ -18946,11 +19257,13 @@ const _TagsSurvey = (props) => {
|
|
18946
19257
|
if (checked) {
|
18947
19258
|
if (issue) {
|
18948
19259
|
setSelectedTags((prevState) => {
|
18949
|
-
|
18950
|
-
|
19260
|
+
var _a;
|
19261
|
+
const existingIssues = (_a = prevState === null || prevState === void 0 ? void 0 : prevState[issueCategory]) === null || _a === void 0 ? void 0 : _a.issues;
|
19262
|
+
if (existingIssues) {
|
19263
|
+
prevState[issueCategory].issues = [...existingIssues, issue];
|
18951
19264
|
}
|
18952
19265
|
else {
|
18953
|
-
prevState[issueCategory] = {
|
19266
|
+
prevState[issueCategory] = { issues: [issue] };
|
18954
19267
|
}
|
18955
19268
|
return prevState;
|
18956
19269
|
});
|
@@ -18966,7 +19279,8 @@ const _TagsSurvey = (props) => {
|
|
18966
19279
|
else {
|
18967
19280
|
if (issue) {
|
18968
19281
|
setSelectedTags((prevState) => {
|
18969
|
-
|
19282
|
+
var _a;
|
19283
|
+
if ((_a = prevState[issueCategory]) === null || _a === void 0 ? void 0 : _a.issues) {
|
18970
19284
|
prevState[issueCategory].issues = prevState[issueCategory].issues.filter(function (value) {
|
18971
19285
|
return value !== issue;
|
18972
19286
|
});
|
@@ -19010,7 +19324,7 @@ const _TagsSurvey = (props) => {
|
|
19010
19324
|
return (React.createElement(React.Fragment, null,
|
19011
19325
|
React.createElement(react.Stack, { verticalAlign: "center" },
|
19012
19326
|
React.createElement(react.Text, { className: questionTextStyle$1(theme) }, strings === null || strings === void 0 ? void 0 : strings.tagsSurveyQuestion)),
|
19013
|
-
React.createElement(react.Pivot, null,
|
19327
|
+
React.createElement(react.Pivot, null, getKeys(tags).map((key, i) => {
|
19014
19328
|
return (React.createElement(react.PivotItem, { key: `key-${i}`, headerText: categoryHeadings[key], headerButtonProps: {
|
19015
19329
|
'data-order': i,
|
19016
19330
|
'data-title': key
|
@@ -19765,22 +20079,18 @@ const _CaptionsSettingsModal = (props) => {
|
|
19765
20079
|
const theme = react.useTheme();
|
19766
20080
|
const [hasSetSpokenLanguage, setHasSetSpokenLanguage] = React.useState(false);
|
19767
20081
|
const [selectedSpokenLanguage, setSelectedSpokenLanguage] = React.useState({
|
19768
|
-
key: currentSpokenLanguage !==
|
19769
|
-
text: currentSpokenLanguage !==
|
20082
|
+
key: currentSpokenLanguage !== null && currentSpokenLanguage !== void 0 ? currentSpokenLanguage : defaultSpokenLanguage,
|
20083
|
+
text: currentSpokenLanguage !== null && currentSpokenLanguage !== void 0 ? currentSpokenLanguage : defaultSpokenLanguage
|
19770
20084
|
});
|
19771
20085
|
const [selectedCaptionLanguage, setSelectedCaptionLanguage] = React.useState({
|
19772
|
-
key: currentCaptionLanguage !==
|
19773
|
-
|
19774
|
-
: _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key],
|
19775
|
-
text: currentCaptionLanguage !== ''
|
19776
|
-
? currentCaptionLanguage
|
19777
|
-
: _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key]
|
20086
|
+
key: currentCaptionLanguage !== null && currentCaptionLanguage !== void 0 ? currentCaptionLanguage : _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key],
|
20087
|
+
text: currentCaptionLanguage !== null && currentCaptionLanguage !== void 0 ? currentCaptionLanguage : _spokenLanguageToCaptionLanguage[selectedSpokenLanguage.key]
|
19778
20088
|
});
|
19779
20089
|
React.useEffect(() => {
|
19780
20090
|
// set spoken language when start captions with a spoken language specified.
|
19781
20091
|
// this is to fix the bug when a second user starts captions with a new spoken language, captions bot ignore that spoken language
|
19782
20092
|
if (isCaptionsFeatureActive && !hasSetSpokenLanguage) {
|
19783
|
-
onSetSpokenLanguage(selectedSpokenLanguage.key
|
20093
|
+
onSetSpokenLanguage(selectedSpokenLanguage.key);
|
19784
20094
|
// we only need to call set spoken language once when first starting captions
|
19785
20095
|
setHasSetSpokenLanguage(true);
|
19786
20096
|
}
|
@@ -19791,8 +20101,8 @@ const _CaptionsSettingsModal = (props) => {
|
|
19791
20101
|
}
|
19792
20102
|
}, [onDismissCaptionsSettings]);
|
19793
20103
|
const onConfirm = React.useCallback(() => __awaiter$v(void 0, void 0, void 0, function* () {
|
19794
|
-
const spokenLanguageCode = selectedSpokenLanguage.key
|
19795
|
-
const captionLanguageCode = selectedCaptionLanguage.key
|
20104
|
+
const spokenLanguageCode = selectedSpokenLanguage.key;
|
20105
|
+
const captionLanguageCode = selectedCaptionLanguage.key;
|
19796
20106
|
if (isCaptionsFeatureActive) {
|
19797
20107
|
onSetSpokenLanguage(spokenLanguageCode);
|
19798
20108
|
onSetCaptionLanguage(captionLanguageCode);
|
@@ -19848,15 +20158,13 @@ const _CaptionsSettingsModal = (props) => {
|
|
19848
20158
|
preventDismissOnEvent: _preventDismissOnEvent
|
19849
20159
|
}), []);
|
19850
20160
|
const CaptionsSettingsComponent = React.useCallback(() => {
|
19851
|
-
const placeholderSpokenLanguage = currentSpokenLanguage !==
|
19852
|
-
const placeholderCaptionLanguage = currentCaptionLanguage !==
|
19853
|
-
? currentCaptionLanguage
|
19854
|
-
: _spokenLanguageToCaptionLanguage[placeholderSpokenLanguage];
|
20161
|
+
const placeholderSpokenLanguage = currentSpokenLanguage !== null && currentSpokenLanguage !== void 0 ? currentSpokenLanguage : defaultSpokenLanguage;
|
20162
|
+
const placeholderCaptionLanguage = currentCaptionLanguage !== null && currentCaptionLanguage !== void 0 ? currentCaptionLanguage : _spokenLanguageToCaptionLanguage[placeholderSpokenLanguage];
|
19855
20163
|
return (React.createElement(react.Stack, null,
|
19856
|
-
React.createElement(react.Dropdown, { label: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownLabel, selectedKey: selectedSpokenLanguage ? selectedSpokenLanguage.key : undefined, onChange: onSpokenLanguageChange, calloutProps: calloutProps, placeholder: placeholderSpokenLanguage, options: sortedSpokenLanguageDropdownOptions, styles: dropdownStyles }),
|
20164
|
+
React.createElement(react.Dropdown, { label: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownLabel, selectedKey: selectedSpokenLanguage ? selectedSpokenLanguage.key : undefined, onChange: (ev, option) => onSpokenLanguageChange(ev, option), calloutProps: calloutProps, placeholder: placeholderSpokenLanguage, options: sortedSpokenLanguageDropdownOptions, styles: dropdownStyles }),
|
19857
20165
|
React.createElement(react.Text, { className: dropdownInfoTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsSpokenLanguageDropdownInfoText),
|
19858
20166
|
changeCaptionLanguage && (React.createElement(React.Fragment, null,
|
19859
|
-
React.createElement(react.Dropdown, { label: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownLabel, selectedKey: selectedCaptionLanguage ? selectedCaptionLanguage.key : undefined, onChange: onCaptionLanguageChange, calloutProps: calloutProps, placeholder: placeholderCaptionLanguage, options: sortedCaptionLanguageDropdownOptions, styles: dropdownStyles }),
|
20167
|
+
React.createElement(react.Dropdown, { label: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownLabel, selectedKey: selectedCaptionLanguage ? selectedCaptionLanguage.key : undefined, onChange: (ev, option) => onCaptionLanguageChange(ev, option), calloutProps: calloutProps, placeholder: placeholderCaptionLanguage, options: sortedCaptionLanguageDropdownOptions, styles: dropdownStyles }),
|
19860
20168
|
React.createElement(react.Text, { className: dropdownInfoTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCaptionLanguageDropdownInfoText)))));
|
19861
20169
|
}, [
|
19862
20170
|
calloutProps,
|
@@ -19894,7 +20202,10 @@ const _CaptionsSettingsModal = (props) => {
|
|
19894
20202
|
*/
|
19895
20203
|
const createComponentStrings = (localizedStrings) => {
|
19896
20204
|
const strings = Object.assign({}, en_US$1);
|
19897
|
-
|
20205
|
+
getKeys(localizedStrings).forEach((key) => {
|
20206
|
+
// mark the value as unknown because the type changes based on the key.
|
20207
|
+
// this is unsafe at runtime as we could assign the wrong type based on the key here.
|
20208
|
+
// but typescript isn't smart enough to know that the key used across each access will result in the same type
|
19898
20209
|
strings[key] = Object.assign(Object.assign({}, strings[key]), localizedStrings[key]);
|
19899
20210
|
});
|
19900
20211
|
return strings;
|
@@ -20160,7 +20471,7 @@ const memoizedConvertToVideoTileReaction = memoizeOne((reactionState) => {
|
|
20160
20471
|
return reactionState && reactionState.reactionMessage
|
20161
20472
|
? {
|
20162
20473
|
reactionType: reactionState.reactionMessage.reactionType,
|
20163
|
-
|
20474
|
+
receivedOn: reactionState.receivedOn
|
20164
20475
|
}
|
20165
20476
|
: undefined;
|
20166
20477
|
});
|
@@ -20186,7 +20497,8 @@ const _dominantSpeakersWithFlatId = (dominantSpeakers) => {
|
|
20186
20497
|
return (_a = dominantSpeakers === null || dominantSpeakers === void 0 ? void 0 : dominantSpeakers.speakersList) === null || _a === void 0 ? void 0 : _a.map(toFlatCommunicationIdentifier);
|
20187
20498
|
};
|
20188
20499
|
/** @internal */
|
20189
|
-
const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAttendeeNamesEnabled,
|
20500
|
+
const _videoGalleryRemoteParticipantsMemo = (remoteParticipants, isHideAttendeeNamesEnabled,
|
20501
|
+
/* @conditional-compile-remove(hide-attendee-name) */ localUserRole) => {
|
20190
20502
|
if (!remoteParticipants) {
|
20191
20503
|
return [];
|
20192
20504
|
}
|
@@ -20222,7 +20534,7 @@ const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpe
|
|
20222
20534
|
raisedHand, // temp unknown type to build stable
|
20223
20535
|
/* @conditional-compile-remove(reaction) */
|
20224
20536
|
reaction, // temp unknown type to build stable
|
20225
|
-
/* @conditional-compile-remove(
|
20537
|
+
/* @conditional-compile-remove(spotlight) */
|
20226
20538
|
spotlight // temp unknown type to build stable
|
20227
20539
|
) => {
|
20228
20540
|
return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName,
|
@@ -20230,7 +20542,7 @@ spotlight // temp unknown type to build stable
|
|
20230
20542
|
raisedHand,
|
20231
20543
|
/* @conditional-compile-remove(reaction) */
|
20232
20544
|
reaction,
|
20233
|
-
/* @conditional-compile-remove(
|
20545
|
+
/* @conditional-compile-remove(spotlight) */
|
20234
20546
|
spotlight);
|
20235
20547
|
});
|
20236
20548
|
/** @private */
|
@@ -20239,7 +20551,7 @@ const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted
|
|
20239
20551
|
raisedHand, // temp unknown type to build stable
|
20240
20552
|
/* @conditional-compile-remove(reaction) */
|
20241
20553
|
reaction, // temp unknown type to build stable
|
20242
|
-
/* @conditional-compile-remove(
|
20554
|
+
/* @conditional-compile-remove(spotlight) */
|
20243
20555
|
spotlight // temp unknown type to build stable
|
20244
20556
|
) => {
|
20245
20557
|
const rawVideoStreamsArray = Object.values(videoStreams);
|
@@ -21981,7 +22293,7 @@ class ResourceDownloadQueue {
|
|
21981
22293
|
message.resourceCache = {};
|
21982
22294
|
}
|
21983
22295
|
for (const attachment of attachments) {
|
21984
|
-
if (attachment.previewUrl) {
|
22296
|
+
if (attachment.previewUrl && attachment.attachmentType === 'image') {
|
21985
22297
|
const blobUrl = yield operation(attachment.previewUrl, this._credential);
|
21986
22298
|
message.resourceCache[attachment.previewUrl] = blobUrl;
|
21987
22299
|
}
|
@@ -24851,7 +25163,7 @@ const ChatScreen = (props) => {
|
|
24851
25163
|
if (e.key === 'Enter') {
|
24852
25164
|
onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId);
|
24853
25165
|
}
|
24854
|
-
} }, defaultOnRender(inlineImage)));
|
25166
|
+
}, style: { cursor: 'pointer' } }, defaultOnRender(inlineImage)));
|
24855
25167
|
}
|
24856
25168
|
};
|
24857
25169
|
/* @conditional-compile-remove(image-overlay) */
|
@@ -25326,7 +25638,7 @@ const getEndedCallPageProps = (locale, endedCall) => {
|
|
25326
25638
|
*/
|
25327
25639
|
const getCallCompositePage = (call, previousCall, transferCall, unsupportedBrowserInfo) => {
|
25328
25640
|
/* @conditional-compile-remove(unsupported-browser) */
|
25329
|
-
if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
|
25641
|
+
if (isUnsupportedEnvironment(unsupportedBrowserInfo === null || unsupportedBrowserInfo === void 0 ? void 0 : unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo === null || unsupportedBrowserInfo === void 0 ? void 0 : unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
|
25330
25642
|
return 'unsupportedEnvironment';
|
25331
25643
|
}
|
25332
25644
|
/* @conditional-compile-remove(call-transfer) */
|
@@ -25624,8 +25936,8 @@ const createCompositeHandlers = memoizeOne((adapter) => {
|
|
25624
25936
|
: yield adapter.raiseHand();
|
25625
25937
|
}),
|
25626
25938
|
/* @conditional-compile-remove(reaction) */
|
25627
|
-
|
25628
|
-
yield adapter.
|
25939
|
+
onReactionClick: (reaction) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25940
|
+
yield adapter.onReactionClick(reaction);
|
25629
25941
|
}),
|
25630
25942
|
onSelectCamera: (deviceInfo, options) => __awaiter$j(void 0, void 0, void 0, function* () {
|
25631
25943
|
yield adapter.setCamera(deviceInfo, options);
|
@@ -27926,7 +28238,7 @@ const inferCallWithChatControlOptions = (callWithChatControls) => {
|
|
27926
28238
|
};
|
27927
28239
|
/** @private */
|
27928
28240
|
const MoreDrawer = (props) => {
|
27929
|
-
var _a, _b, _c, _d, _e;
|
28241
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
27930
28242
|
/* @conditional-compile-remove(close-captions) */
|
27931
28243
|
const theme = react.useTheme();
|
27932
28244
|
/* @conditional-compile-remove(rooms) */
|
@@ -28158,11 +28470,9 @@ const MoreDrawer = (props) => {
|
|
28158
28470
|
/* @conditional-compile-remove(close-captions) */
|
28159
28471
|
const [isCaptionLanguageDrawerOpen, setIsCaptionLanguageDrawerOpen] = React.useState(false);
|
28160
28472
|
/* @conditional-compile-remove(close-captions) */
|
28161
|
-
const [currentSpokenLanguage, setCurrentSpokenLanguage] = React.useState(captionSettingsProp.currentSpokenLanguage !==
|
28473
|
+
const [currentSpokenLanguage, setCurrentSpokenLanguage] = React.useState((_f = captionSettingsProp.currentSpokenLanguage) !== null && _f !== void 0 ? _f : 'en-us');
|
28162
28474
|
/* @conditional-compile-remove(close-captions) */
|
28163
|
-
const [currentCaptionLanguage, setCurrentCaptionLanguage] = React.useState(captionSettingsProp.currentCaptionLanguage !==
|
28164
|
-
? captionSettingsProp.currentCaptionLanguage
|
28165
|
-
: _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
|
28475
|
+
const [currentCaptionLanguage, setCurrentCaptionLanguage] = React.useState((_g = captionSettingsProp.currentCaptionLanguage) !== null && _g !== void 0 ? _g : _spokenLanguageToCaptionLanguage[currentSpokenLanguage]);
|
28166
28476
|
/* @conditional-compile-remove(close-captions) */
|
28167
28477
|
const onToggleChange = React.useCallback(() => __awaiter$g(void 0, void 0, void 0, function* () {
|
28168
28478
|
if (!captionSettingsProp.isCaptionsFeatureActive) {
|
@@ -29505,10 +29815,10 @@ const LocalAndRemotePIP = (props) => {
|
|
29505
29815
|
}), [ariaLabel]);
|
29506
29816
|
// If there are no remote participants, show the local participant as the primary tile
|
29507
29817
|
const primaryTileProps = React.useMemo(() => ({
|
29508
|
-
children: remoteVideoTileProps ? (React.createElement(_RemoteVideoTile, Object.assign({}, remoteVideoTileProps))) : (React.createElement(_LocalVideoTile, Object.assign({}, localVideoTileProps))),
|
29818
|
+
children: remoteVideoTileProps ? (React.createElement(_RemoteVideoTile, Object.assign({}, remoteVideoTileProps, { strings: locale.component.strings.videoGallery }))) : (React.createElement(_LocalVideoTile, Object.assign({}, localVideoTileProps))),
|
29509
29819
|
// TODO: when the calling SDK provides height/width stream information - update this to reflect the stream orientation.
|
29510
29820
|
orientation: 'portrait'
|
29511
|
-
}), [localVideoTileProps, remoteVideoTileProps]);
|
29821
|
+
}), [localVideoTileProps, remoteVideoTileProps, locale.component.strings.videoGallery]);
|
29512
29822
|
// If we are showing the local participant as the primary tile, show nothing for the secondary tile
|
29513
29823
|
const secondaryTileProps = React.useMemo(() => remoteVideoTileProps
|
29514
29824
|
? {
|
@@ -29691,6 +30001,7 @@ const ModalLocalAndRemotePIP = (props) => {
|
|
29691
30001
|
const adapter = useAdapter();
|
29692
30002
|
/* @conditional-compile-remove(rooms) */
|
29693
30003
|
const role = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role;
|
30004
|
+
const locale = useLocale();
|
29694
30005
|
const pictureInPictureProps = useSelector$1(localAndRemotePIPSelector);
|
29695
30006
|
const [touchStartTouches, setTouchStartTouches] = React.useState(null);
|
29696
30007
|
const onTouchEnd = React.useCallback((event) => {
|
@@ -29719,7 +30030,7 @@ const ModalLocalAndRemotePIP = (props) => {
|
|
29719
30030
|
/* @conditional-compile-remove(rooms) */
|
29720
30031
|
if (role === 'Consumer' && ((_a = pictureInPictureProps.dominantRemoteParticipant) === null || _a === void 0 ? void 0 : _a.userId)) {
|
29721
30032
|
return (React.createElement(react.Stack, { tabIndex: 0, "aria-label": (_c = (_b = props.strings) === null || _b === void 0 ? void 0 : _b.dismissModalAriaLabel) !== null && _c !== void 0 ? _c : '', onKeyDown: onKeyDown },
|
29722
|
-
React.createElement(_RemoteVideoTile, Object.assign({}, pictureInPictureProps.dominantRemoteParticipant, { remoteParticipant: pictureInPictureProps.dominantRemoteParticipant }))));
|
30033
|
+
React.createElement(_RemoteVideoTile, Object.assign({ strings: locale.component.strings.videoGallery }, pictureInPictureProps.dominantRemoteParticipant, { remoteParticipant: pictureInPictureProps.dominantRemoteParticipant }))));
|
29723
30034
|
}
|
29724
30035
|
return (React.createElement(react.Stack, { tabIndex: 0, "aria-label": (_e = (_d = props.strings) === null || _d === void 0 ? void 0 : _d.dismissModalAriaLabel) !== null && _e !== void 0 ? _e : '', onKeyDown: onKeyDown },
|
29725
30036
|
React.createElement(LocalAndRemotePIP, Object.assign({}, pictureInPictureProps, pictureInPictureHandlers))));
|
@@ -29728,7 +30039,8 @@ const ModalLocalAndRemotePIP = (props) => {
|
|
29728
30039
|
onKeyDown,
|
29729
30040
|
pictureInPictureProps,
|
29730
30041
|
props,
|
29731
|
-
pictureInPictureHandlers
|
30042
|
+
pictureInPictureHandlers,
|
30043
|
+
locale.component.strings.videoGallery
|
29732
30044
|
]);
|
29733
30045
|
/* @conditional-compile-remove(rooms) */
|
29734
30046
|
if (role === 'Consumer' && !pictureInPictureProps.dominantRemoteParticipant) {
|
@@ -33830,7 +34142,7 @@ class AzureCommunicationCallAdapter {
|
|
33830
34142
|
/* @conditional-compile-remove(raise-hand) */
|
33831
34143
|
this.raiseHand.bind(this);
|
33832
34144
|
/* @conditional-compile-remove(reaction) */
|
33833
|
-
this.
|
34145
|
+
this.onReactionClick.bind(this);
|
33834
34146
|
this.lowerHand.bind(this);
|
33835
34147
|
this.removeParticipant.bind(this);
|
33836
34148
|
this.createStreamView.bind(this);
|
@@ -34024,6 +34336,10 @@ class AzureCommunicationCallAdapter {
|
|
34024
34336
|
}
|
34025
34337
|
leaveCall(forEveryone) {
|
34026
34338
|
return __awaiter$5(this, void 0, void 0, function* () {
|
34339
|
+
if (this.getState().page === 'transferring') {
|
34340
|
+
const transferCall = this.callAgent.calls.filter((call) => { var _a; return call.id === ((_a = this.getState().acceptedTransferCallState) === null || _a === void 0 ? void 0 : _a.id); })[0];
|
34341
|
+
transferCall === null || transferCall === void 0 ? void 0 : transferCall.hangUp();
|
34342
|
+
}
|
34027
34343
|
yield this.handlers.onHangUp(forEveryone);
|
34028
34344
|
this.unsubscribeCallEvents();
|
34029
34345
|
this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call,
|
@@ -34152,10 +34468,10 @@ class AzureCommunicationCallAdapter {
|
|
34152
34468
|
});
|
34153
34469
|
}
|
34154
34470
|
/* @conditional-compile-remove(reaction) */
|
34155
|
-
|
34471
|
+
onReactionClick(reaction) {
|
34156
34472
|
return __awaiter$5(this, void 0, void 0, function* () {
|
34157
34473
|
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$5(this, void 0, void 0, function* () {
|
34158
|
-
yield this.handlers.
|
34474
|
+
yield this.handlers.onReactionClick(reaction);
|
34159
34475
|
}));
|
34160
34476
|
});
|
34161
34477
|
}
|
@@ -34998,7 +35314,7 @@ class CallWithChatBackedCallAdapter {
|
|
34998
35314
|
/* @conditional-compile-remove(raise-hand) */
|
34999
35315
|
this.lowerHand = () => __awaiter$4(this, void 0, void 0, function* () { return yield this.callWithChatAdapter.lowerHand(); });
|
35000
35316
|
/* @conditional-compile-remove(reaction) */
|
35001
|
-
this.
|
35317
|
+
this.onReactionClick = (reaction) => __awaiter$4(this, void 0, void 0, function* () { return yield this.callWithChatAdapter.onReactionClick(reaction); });
|
35002
35318
|
this.removeParticipant = (userId) => __awaiter$4(this, void 0, void 0, function* () {
|
35003
35319
|
let participant = userId;
|
35004
35320
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -35864,7 +36180,7 @@ class AzureCommunicationCallWithChatAdapter {
|
|
35864
36180
|
/* @conditional-compile-remove(raise-hand) */
|
35865
36181
|
this.lowerHand.bind(this);
|
35866
36182
|
/* @conditional-compile-remove(reaction) */
|
35867
|
-
this.
|
36183
|
+
this.onReactionClick.bind(this);
|
35868
36184
|
this.removeParticipant.bind(this);
|
35869
36185
|
this.createStreamView.bind(this);
|
35870
36186
|
this.disposeStreamView.bind(this);
|
@@ -36072,9 +36388,9 @@ class AzureCommunicationCallWithChatAdapter {
|
|
36072
36388
|
});
|
36073
36389
|
}
|
36074
36390
|
/* @conditional-compile-remove(reaction) */
|
36075
|
-
|
36391
|
+
onReactionClick(reaction) {
|
36076
36392
|
return __awaiter$2(this, void 0, void 0, function* () {
|
36077
|
-
yield this.callAdapter.
|
36393
|
+
yield this.callAdapter.onReactionClick(reaction);
|
36078
36394
|
});
|
36079
36395
|
}
|
36080
36396
|
/** Create a stream view for a remote participants video feed. */
|