@azure/communication-react 1.20.0-beta.1 → 1.20.0
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/README.md +2 -2
- package/dist/communication-react.d.ts +245 -1703
- package/dist/dist-cjs/communication-react/index.js +36159 -165
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
- package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
- package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
- package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
- package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
- package/dist/dist-esm/acs-ui-common/src/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/acs-ui-javascript-loaders/src/callCompositeLoader.d.ts +16 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +10 -10
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.d.ts +17 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js +12 -10
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.d.ts +13 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js +10 -9
- package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.d.ts +16 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +10 -9
- package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +3 -12
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -12
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -2
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +2 -1
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +12 -2
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +26 -6
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +6 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -5
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +2 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +2 -19
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -2
- package/dist/dist-esm/calling-component-bindings/src/index.js +1 -2
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +1 -35
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +1 -2
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +3 -3
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -79
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +0 -15
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +32 -107
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -5
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +4 -27
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -3
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -52
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +5 -3
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -3
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +2 -25
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
- package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -27
- package/dist/dist-esm/communication-react/src/index.js +0 -6
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +3 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +7 -34
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +6 -4
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/GridLayout.js +3 -0
- package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +4 -5
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +4 -4
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +2 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
- package/dist/dist-esm/react-components/src/components/MessageThread.js +6 -16
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +24 -0
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +25 -0
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +2 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Notification.js +3 -1
- package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -5
- package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ReactionButton.js +31 -41
- package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
- package/dist/dist-esm/react-components/src/components/SendBox.js +6 -57
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +7 -3
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js +2 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +6 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +5 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +23 -17
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +3 -0
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/index.js +0 -7
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -8
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +13 -6
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +49 -19
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +6 -35
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +5 -2
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
- package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js +6 -0
- package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js +1 -6
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +0 -1
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +1 -1
- package/dist/dist-esm/react-components/src/theming/generateTheme.js +10 -2
- package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -30
- package/dist/dist-esm/react-components/src/theming/icons.js +0 -91
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
- package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
- package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
- package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -72
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +13 -23
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -34
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +17 -47
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +68 -137
- 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 +26 -24
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +6 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +9 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +21 -24
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +50 -13
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +41 -25
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +12 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +5 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +7 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +7 -23
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +5 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +9 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +16 -53
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +7 -9
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +5 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +21 -25
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +16 -16
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +10 -11
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +12 -68
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -24
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +5 -22
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +14 -139
- 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 +11 -28
- 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 +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +13 -9
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -11
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +0 -13
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +49 -234
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +9 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +28 -15
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +4 -1
- package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +5 -6
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +4 -7
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +3 -4
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +0 -23
- package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +6 -32
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +24 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +24 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +0 -4
- package/dist/dist-esm/react-composites/src/composites/common/utils.js +0 -22
- package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +1 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -1
- package/package.json +8 -9
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CK3wKmiQ.js +0 -202
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CK3wKmiQ.js.map +0 -1
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Duh89Mej.js +0 -50
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Duh89Mej.js.map +0 -1
- package/dist/dist-cjs/communication-react/index-XC7Z08jO.js +0 -42425
- package/dist/dist-cjs/communication-react/index-XC7Z08jO.js.map +0 -1
- package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -16
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +0 -20
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +0 -118
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -192
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
- package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
- package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -12
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -23
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -87
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -58
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -314
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -78
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -211
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -168
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -221
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -320
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -99
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -69
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -72
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -174
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -116
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
- package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
- package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
- package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
- package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +0 -47
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +0 -48
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +0 -11
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -196
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +0 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.d.ts +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +0 -25
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -253
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +0 -12
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +0 -52
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -14,64 +14,29 @@ import { mergeStyles, Stack } from '@fluentui/react';
|
|
14
14
|
import { PersonaSize } from '@fluentui/react';
|
15
15
|
import { ErrorBar, MessageThread, TypingIndicator, useTheme } from "../../../../react-components/src";
|
16
16
|
import React, { useCallback, useEffect, useMemo } from 'react';
|
17
|
-
import { useReducer } from 'react';
|
18
17
|
import { useState } from 'react';
|
19
18
|
import { AvatarPersona } from '../common/AvatarPersona';
|
20
19
|
import { useAdapter } from './adapter/ChatAdapterProvider';
|
21
20
|
import { ChatHeader, getHeaderProps } from './ChatHeader';
|
22
|
-
import { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';
|
23
21
|
import { useAdaptedSelector } from './hooks/useAdaptedSelector';
|
24
22
|
import { usePropsFor } from './hooks/usePropsFor';
|
25
23
|
import { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';
|
26
24
|
import { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';
|
27
|
-
import { ChatScreenPeoplePane } from './ChatScreenPeoplePane';
|
28
25
|
import { toFlatCommunicationIdentifier } from "../../../../acs-ui-common/src";
|
29
|
-
import { removeImageTags } from "../../../../acs-ui-common/src";
|
30
|
-
import { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';
|
31
|
-
import { _AttachmentDownloadCards } from "../../../../react-components/src";
|
32
26
|
import { ImageOverlay } from "../../../../react-components/src";
|
33
|
-
import { nanoid } from 'nanoid';
|
34
|
-
import { AttachmentUploadActionType, AttachmentUploadReducer } from './file-sharing/AttachmentUpload';
|
35
27
|
import { SendBoxPicker } from '../common/SendBoxPicker';
|
36
|
-
import {
|
37
|
-
import {
|
38
|
-
import { isMicrosoftTeamsUserIdentifier } from '@azure/communication-common';
|
39
|
-
import { SEND_BOX_UPLOADS_KEY_VALUE } from '../common/constants';
|
40
|
-
import { ImageUploadReducer } from './ImageUpload/ImageUploadReducer';
|
41
|
-
import { useLocale } from '../localization';
|
28
|
+
import { useSelector } from './hooks/useSelector';
|
29
|
+
import { getChatMessages, getThreadId, getUserId } from './selectors/baseSelectors';
|
42
30
|
/**
|
43
31
|
* @private
|
44
32
|
*/
|
45
33
|
export const ChatScreen = (props) => {
|
46
|
-
|
47
|
-
const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, attachmentOptions, formFactor } = props;
|
34
|
+
const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, formFactor } = props;
|
48
35
|
const defaultNumberOfChatMessagesToReload = 5;
|
49
|
-
const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
|
50
36
|
const [overlayImageItem, setOverlayImageItem] = useState();
|
51
37
|
const [isImageOverlayOpen, setIsImageOverlayOpen] = useState(false);
|
52
|
-
const [uploads, handleUploadAction] = useReducer(AttachmentUploadReducer, []);
|
53
38
|
const adapter = useAdapter();
|
54
39
|
const theme = useTheme();
|
55
|
-
const localeStrings = useLocale().strings;
|
56
|
-
const [textOnlyChat, setTextOnlyChat] = useState(false);
|
57
|
-
const [isACSChat, setIsACSChat] = useState(false);
|
58
|
-
const [editBoxInlineImageUploads, handleEditBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);
|
59
|
-
const [sendBoxInlineImageUploads, handleSendBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);
|
60
|
-
useEffect(() => {
|
61
|
-
const updateChatState = (newState) => {
|
62
|
-
var _a, _b, _c, _d;
|
63
|
-
setTextOnlyChat(((_b = (_a = newState.thread.properties) === null || _a === void 0 ? void 0 : _a.messagingPolicy) === null || _b === void 0 ? void 0 : _b.textOnlyChat) === true);
|
64
|
-
if ((_c = newState.thread.properties) === null || _c === void 0 ? void 0 : _c.createdBy) {
|
65
|
-
setIsACSChat(!isMicrosoftTeamsUserIdentifier((_d = newState.thread.properties) === null || _d === void 0 ? void 0 : _d.createdBy));
|
66
|
-
}
|
67
|
-
};
|
68
|
-
// set initial state for textOnlyChat and isACSChat
|
69
|
-
updateChatState(adapter.getState());
|
70
|
-
adapter.onStateChange(updateChatState);
|
71
|
-
return () => {
|
72
|
-
adapter.offStateChange(updateChatState);
|
73
|
-
};
|
74
|
-
}, [adapter]);
|
75
40
|
useEffect(() => {
|
76
41
|
// Initial data should be always fetched by the composite(or external caller) instead of the adapter
|
77
42
|
const fetchData = () => __awaiter(void 0, void 0, void 0, function* () {
|
@@ -82,37 +47,31 @@ export const ChatScreen = (props) => {
|
|
82
47
|
});
|
83
48
|
fetchData();
|
84
49
|
}, [adapter]);
|
85
|
-
useEffect(() => {
|
86
|
-
// if rich text editor is enabled, the rich text editor component should be loaded early for good UX
|
87
|
-
if (options === null || options === void 0 ? void 0 : options.richTextEditor) {
|
88
|
-
// this line is needed to load the Rooster JS dependencies early in the lifecycle
|
89
|
-
// when the rich text editor is enabled
|
90
|
-
loadRichTextSendBox();
|
91
|
-
}
|
92
|
-
}, [options === null || options === void 0 ? void 0 : options.richTextEditor]);
|
93
50
|
const messageThreadProps = usePropsFor(MessageThread);
|
94
51
|
const typingIndicatorProps = usePropsFor(TypingIndicator);
|
95
52
|
const headerProps = useAdaptedSelector(getHeaderProps);
|
96
53
|
const errorBarProps = usePropsFor(ErrorBar);
|
54
|
+
const overlayImageItemRef = React.useRef(overlayImageItem);
|
55
|
+
overlayImageItemRef.current = overlayImageItem;
|
56
|
+
const adapterChatMessages = useSelector(getChatMessages);
|
97
57
|
useEffect(() => {
|
98
|
-
|
58
|
+
var _a;
|
59
|
+
if (overlayImageItemRef.current === undefined) {
|
99
60
|
return;
|
100
61
|
}
|
101
|
-
const message =
|
62
|
+
const message = adapterChatMessages[overlayImageItemRef.current.messageId];
|
102
63
|
if (message === undefined) {
|
103
64
|
return;
|
104
65
|
}
|
105
|
-
const
|
106
|
-
if (
|
107
|
-
const fullSizeImageSrc = getResourceSourceUrl(
|
108
|
-
if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' ||
|
66
|
+
const resourceFetchResult = (_a = message.resourceCache) === null || _a === void 0 ? void 0 : _a[overlayImageItemRef.current.imageUrl];
|
67
|
+
if (overlayImageItemRef.current.imageSrc === '' && resourceFetchResult) {
|
68
|
+
const fullSizeImageSrc = getResourceSourceUrl(resourceFetchResult);
|
69
|
+
if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItemRef.current.imageSrc === fullSizeImageSrc) {
|
109
70
|
return;
|
110
71
|
}
|
111
|
-
setOverlayImageItem(Object.assign(Object.assign({},
|
72
|
+
setOverlayImageItem(Object.assign(Object.assign({}, overlayImageItemRef.current), { imageSrc: fullSizeImageSrc }));
|
112
73
|
}
|
113
|
-
|
114
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
115
|
-
}, [messageThreadProps.messages]);
|
74
|
+
}, [adapterChatMessages]);
|
116
75
|
const getResourceSourceUrl = (result) => {
|
117
76
|
let src = '';
|
118
77
|
if (result.error || !result.sourceUrl) {
|
@@ -135,116 +94,43 @@ export const ChatScreen = (props) => {
|
|
135
94
|
const sendBoxStyles = useMemo(() => {
|
136
95
|
return Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.sendBox);
|
137
96
|
}, [styles === null || styles === void 0 ? void 0 : styles.sendBox]);
|
138
|
-
const
|
139
|
-
const
|
140
|
-
|
141
|
-
// look up sendbox by ID for now, we will use `useRef`
|
142
|
-
// once attachment button is moved inside of send box component
|
143
|
-
// see ADO workitem #3764245
|
144
|
-
if ((_a = props.options) === null || _a === void 0 ? void 0 : _a.richTextEditor) {
|
145
|
-
const richTextSendBox = document === null || document === void 0 ? void 0 : document.querySelector(`[id="richTextSendBox"]`);
|
146
|
-
richTextSendBox === null || richTextSendBox === void 0 ? void 0 : richTextSendBox.focus();
|
147
|
-
return;
|
148
|
-
}
|
149
|
-
const sendBox = document === null || document === void 0 ? void 0 : document.querySelector(`[id="sendbox"]`);
|
150
|
-
// set send box on focus after file selection per A11y requirement
|
151
|
-
sendBox === null || sendBox === void 0 ? void 0 : sendBox.focus();
|
152
|
-
}, [(_a = props.options) === null || _a === void 0 ? void 0 : _a.richTextEditor]);
|
153
|
-
const attachmentUploadButtonOnChange = useCallback((files) => {
|
154
|
-
var _a;
|
155
|
-
setKeyboardFocusAfterFileSelection();
|
156
|
-
if (!files) {
|
157
|
-
return;
|
158
|
-
}
|
159
|
-
// Get files, change to tasks, store locally and pass back to Contoso
|
160
|
-
const newUploads = Array.from(files).map((file) => {
|
161
|
-
const taskId = nanoid();
|
162
|
-
return {
|
163
|
-
file,
|
164
|
-
taskId,
|
165
|
-
metadata: {
|
166
|
-
id: taskId,
|
167
|
-
name: file.name,
|
168
|
-
progress: 0
|
169
|
-
},
|
170
|
-
notifyUploadProgressChanged: (value) => {
|
171
|
-
handleUploadAction({
|
172
|
-
type: AttachmentUploadActionType.Progress,
|
173
|
-
taskId,
|
174
|
-
progress: value
|
175
|
-
});
|
176
|
-
},
|
177
|
-
notifyUploadCompleted: (id, url) => {
|
178
|
-
handleUploadAction({
|
179
|
-
type: AttachmentUploadActionType.Completed,
|
180
|
-
taskId,
|
181
|
-
id,
|
182
|
-
url
|
183
|
-
});
|
184
|
-
},
|
185
|
-
notifyUploadFailed: (message) => {
|
186
|
-
handleUploadAction({
|
187
|
-
type: AttachmentUploadActionType.Failed,
|
188
|
-
taskId,
|
189
|
-
message
|
190
|
-
});
|
191
|
-
// remove the failed upload task when error banner is auto dismissed after 10 seconds
|
192
|
-
// so the banner won't be shown again on UI re-rendering.
|
193
|
-
setTimeout(() => {
|
194
|
-
handleUploadAction({
|
195
|
-
type: AttachmentUploadActionType.Remove,
|
196
|
-
id: taskId
|
197
|
-
});
|
198
|
-
}, 10 * 1000);
|
199
|
-
}
|
200
|
-
};
|
201
|
-
});
|
202
|
-
handleUploadAction({
|
203
|
-
type: AttachmentUploadActionType.Set,
|
204
|
-
newUploads
|
205
|
-
});
|
206
|
-
(_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection(newUploads);
|
207
|
-
}, [attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions, setKeyboardFocusAfterFileSelection]);
|
208
|
-
const onRenderAttachmentDownloads = useCallback((message) => {
|
209
|
-
var _a, _b, _c;
|
210
|
-
return ((_b = (_a = message === null || message === void 0 ? void 0 : message.attachments) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 > 0) ? React.createElement(_AttachmentDownloadCards, { attachments: message.attachments, message: message, actionsForAttachment: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _c === void 0 ? void 0 : _c.actionsForAttachment, onActionHandlerFailed: (errorMessage) => {
|
211
|
-
setDownloadErrorMessage(errorMessage);
|
212
|
-
} }) : React.createElement(React.Fragment, null);
|
213
|
-
}, [(_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _b === void 0 ? void 0 : _b.actionsForAttachment]);
|
97
|
+
const userIdObject = useSelector(getUserId);
|
98
|
+
const userId = toFlatCommunicationIdentifier(userIdObject);
|
99
|
+
const threadId = useSelector(getThreadId);
|
214
100
|
const onInlineImageClicked = useCallback((attachmentId, messageId) => {
|
215
|
-
var _a, _b;
|
216
|
-
const message =
|
217
|
-
const inlinedImages = (_b = (_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.filter(attachment => {
|
101
|
+
var _a, _b, _c;
|
102
|
+
const message = adapterChatMessages[messageId];
|
103
|
+
const inlinedImages = (_b = (_a = message === null || message === void 0 ? void 0 : message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.filter(attachment => {
|
218
104
|
return attachment.attachmentType === 'image' && attachment.id === attachmentId;
|
219
105
|
});
|
220
|
-
|
106
|
+
const attachment = inlinedImages === null || inlinedImages === void 0 ? void 0 : inlinedImages[0];
|
107
|
+
if (!attachment) {
|
221
108
|
return;
|
222
109
|
}
|
223
|
-
const attachment = inlinedImages[0];
|
224
|
-
const resourceCache = message.resourceCache;
|
225
110
|
let imageSrc = '';
|
226
111
|
if (attachment.url) {
|
227
|
-
|
228
|
-
|
112
|
+
const resourceFetchResult = (_c = message === null || message === void 0 ? void 0 : message.resourceCache) === null || _c === void 0 ? void 0 : _c[attachment.url];
|
113
|
+
if (resourceFetchResult) {
|
114
|
+
imageSrc = getResourceSourceUrl(resourceFetchResult);
|
229
115
|
}
|
230
116
|
else {
|
231
117
|
adapter.downloadResourceToCache({
|
232
|
-
threadId
|
233
|
-
messageId
|
118
|
+
threadId,
|
119
|
+
messageId,
|
234
120
|
resourceUrl: attachment.url
|
235
121
|
});
|
236
122
|
}
|
237
123
|
}
|
238
124
|
const titleIconRenderOptions = {
|
239
|
-
text: message.senderDisplayName,
|
125
|
+
text: message === null || message === void 0 ? void 0 : message.senderDisplayName,
|
240
126
|
size: PersonaSize.size32,
|
241
127
|
showOverflowTooltip: false,
|
242
|
-
imageAlt: message.senderDisplayName
|
128
|
+
imageAlt: message === null || message === void 0 ? void 0 : message.senderDisplayName
|
243
129
|
};
|
244
|
-
const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;
|
130
|
+
const messageSenderId = (message === null || message === void 0 ? void 0 : message.sender) !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;
|
245
131
|
const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(messageSenderId, titleIconRenderOptions);
|
246
132
|
const overlayImage = {
|
247
|
-
title: message.senderDisplayName || '',
|
133
|
+
title: (message === null || message === void 0 ? void 0 : message.senderDisplayName) || '',
|
248
134
|
titleIcon: titleIcon,
|
249
135
|
attachmentId: attachment.id,
|
250
136
|
imageSrc: imageSrc,
|
@@ -253,17 +139,17 @@ export const ChatScreen = (props) => {
|
|
253
139
|
};
|
254
140
|
setIsImageOverlayOpen(true);
|
255
141
|
setOverlayImageItem(overlayImage);
|
256
|
-
}, [adapter, onRenderAvatarCallback, userId]);
|
142
|
+
}, [adapter, adapterChatMessages, onRenderAvatarCallback, userId, threadId]);
|
257
143
|
const onRenderInlineImage = useCallback((inlineImage, defaultOnRender) => {
|
258
|
-
var _a, _b;
|
259
|
-
const message =
|
144
|
+
var _a, _b, _c;
|
145
|
+
const message = adapterChatMessages[inlineImage.messageId];
|
260
146
|
const attachment = (_b = (_a = message === null || message === void 0 ? void 0 : message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.find(attachment => attachment.id === inlineImage.imageAttributes.id);
|
261
147
|
if (attachment === undefined) {
|
262
148
|
return defaultOnRender(inlineImage);
|
263
149
|
}
|
264
150
|
let pointerEvents = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';
|
265
|
-
const resourceCache = message.resourceCache;
|
266
|
-
if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && resourceCache[attachment.previewUrl].error) {
|
151
|
+
const resourceCache = message === null || message === void 0 ? void 0 : message.resourceCache;
|
152
|
+
if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && ((_c = resourceCache[attachment.previewUrl]) === null || _c === void 0 ? void 0 : _c.error)) {
|
267
153
|
pointerEvents = 'none';
|
268
154
|
}
|
269
155
|
return React.createElement("span", { key: inlineImage.imageAttributes.id, onClick: () => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: e => {
|
@@ -274,7 +160,7 @@ export const ChatScreen = (props) => {
|
|
274
160
|
cursor: 'pointer',
|
275
161
|
pointerEvents
|
276
162
|
} }, defaultOnRender(inlineImage));
|
277
|
-
}, [
|
163
|
+
}, [adapterChatMessages, onInlineImageClicked]);
|
278
164
|
const inlineImageOptions = useMemo(() => {
|
279
165
|
return {
|
280
166
|
onRenderInlineImage: onRenderInlineImage
|
@@ -301,108 +187,37 @@ export const ChatScreen = (props) => {
|
|
301
187
|
document.body.removeChild(a);
|
302
188
|
}
|
303
189
|
}, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId]);
|
304
|
-
const
|
305
|
-
var _a, _b, _c;
|
306
|
-
if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection) || textOnlyChat) {
|
307
|
-
return null;
|
308
|
-
}
|
309
|
-
return React.createElement(AttachmentUploadButton, { supportedMediaTypes: (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.supportedMediaTypes, disableMultipleUploads: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.disableMultipleUploads, onChange: attachmentUploadButtonOnChange });
|
310
|
-
return React.createElement(React.Fragment, null);
|
311
|
-
}, [(_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.handleAttachmentSelection, (_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.supportedMediaTypes, (_e = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _e === void 0 ? void 0 : _e.disableMultipleUploads, attachmentUploadButtonOnChange, textOnlyChat]);
|
312
|
-
const attachments = useMemo(() => {
|
313
|
-
return uploads === null || uploads === void 0 ? void 0 : uploads.map(v => v.metadata);
|
314
|
-
}, [uploads]);
|
315
|
-
const onSendMessageHandler = useCallback(function (content, options) {
|
190
|
+
const onSendMessageHandler = useCallback(function (content) {
|
316
191
|
return __awaiter(this, void 0, void 0, function* () {
|
317
|
-
|
318
|
-
content = updateContentStringWithUploadedInlineImages(content, sendBoxInlineImageUploads);
|
319
|
-
const attachments = (_a = options === null || options === void 0 ? void 0 : options.attachments) !== null && _a !== void 0 ? _a : [];
|
320
|
-
handleUploadAction({
|
321
|
-
type: AttachmentUploadActionType.Clear
|
322
|
-
});
|
323
|
-
handleSendBoxInlineImageUploadAction({
|
324
|
-
type: AttachmentUploadActionType.Clear,
|
325
|
-
messageId: SEND_BOX_UPLOADS_KEY_VALUE
|
326
|
-
});
|
327
|
-
yield adapter.sendMessage(content, {
|
328
|
-
attachments: attachments,
|
329
|
-
type: options === null || options === void 0 ? void 0 : options.type
|
330
|
-
});
|
331
|
-
return;
|
332
|
-
yield adapter.sendMessage(content, {
|
333
|
-
type: options === null || options === void 0 ? void 0 : options.type
|
334
|
-
});
|
192
|
+
yield adapter.sendMessage(content, {});
|
335
193
|
});
|
336
|
-
}, [adapter
|
337
|
-
const onUpdateMessageHandler = useCallback(function (messageId, content
|
194
|
+
}, [adapter]);
|
195
|
+
const onUpdateMessageHandler = useCallback(function (messageId, content) {
|
338
196
|
return __awaiter(this, void 0, void 0, function* () {
|
339
|
-
|
340
|
-
yield messageThreadProps.onUpdateMessage(messageId, content, options);
|
341
|
-
handleEditBoxInlineImageUploadAction({
|
342
|
-
type: AttachmentUploadActionType.Clear,
|
343
|
-
messageId
|
344
|
-
});
|
345
|
-
});
|
346
|
-
}, [handleEditBoxInlineImageUploadAction, editBoxInlineImageUploads, messageThreadProps]);
|
347
|
-
const onCancelEditMessageHandler = useCallback((messageId) => {
|
348
|
-
handleEditBoxInlineImageUploadAction({
|
349
|
-
type: AttachmentUploadActionType.Clear,
|
350
|
-
messageId
|
351
|
-
});
|
352
|
-
}, [handleEditBoxInlineImageUploadAction]);
|
353
|
-
const onCancelUploadHandler = useCallback((id) => {
|
354
|
-
var _a, _b;
|
355
|
-
handleUploadAction({
|
356
|
-
type: AttachmentUploadActionType.Remove,
|
357
|
-
id
|
197
|
+
yield messageThreadProps.onUpdateMessage(messageId, content);
|
358
198
|
});
|
359
|
-
|
360
|
-
}, [attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions]);
|
361
|
-
const richTextEditorOptions = useMemo(() => {
|
362
|
-
const onPasteCallback = isACSChat || textOnlyChat ? removeImageTags : undefined;
|
363
|
-
return (options === null || options === void 0 ? void 0 : options.richTextEditor) ? {
|
364
|
-
onPaste: onPasteCallback
|
365
|
-
} : undefined;
|
366
|
-
}, [isACSChat, textOnlyChat, options === null || options === void 0 ? void 0 : options.richTextEditor]);
|
367
|
-
const richTextEditBoxOptions = useMemo(() => {
|
368
|
-
return (options === null || options === void 0 ? void 0 : options.richTextEditor) ? Object.assign(Object.assign({}, richTextEditorOptions), { onInsertInlineImage: (imageAttributes, messageId) => {
|
369
|
-
onInsertInlineImageForEditBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), messageId, adapter, handleEditBoxInlineImageUploadAction, localeStrings.chat);
|
370
|
-
}, messagesInlineImagesWithProgress: getEditBoxMessagesInlineImages(editBoxInlineImageUploads), onRemoveInlineImage: (imageAttributes, messageId) => {
|
371
|
-
cancelInlineImageUpload(imageAttributes, editBoxInlineImageUploads, messageId, handleEditBoxInlineImageUploadAction, adapter);
|
372
|
-
} }) : undefined;
|
373
|
-
}, [options === null || options === void 0 ? void 0 : options.richTextEditor, richTextEditorOptions, editBoxInlineImageUploads, adapter, localeStrings.chat]);
|
374
|
-
const richTextSendBoxOptions = useMemo(() => {
|
375
|
-
return (options === null || options === void 0 ? void 0 : options.richTextEditor) ? Object.assign(Object.assign({}, richTextEditorOptions), { onInsertInlineImage: (imageAttributes) => {
|
376
|
-
onInsertInlineImageForSendBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), adapter, handleSendBoxInlineImageUploadAction, localeStrings.chat);
|
377
|
-
}, inlineImagesWithProgress: getSendBoxInlineImages(sendBoxInlineImageUploads), onRemoveInlineImage: (imageAttributes) => {
|
378
|
-
cancelInlineImageUpload(imageAttributes, sendBoxInlineImageUploads, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction, adapter);
|
379
|
-
} }) : undefined;
|
380
|
-
}, [options === null || options === void 0 ? void 0 : options.richTextEditor, richTextEditorOptions, sendBoxInlineImageUploads, localeStrings.chat, adapter]);
|
199
|
+
}, [messageThreadProps]);
|
381
200
|
return React.createElement(Stack, { className: chatContainer, grow: true },
|
382
201
|
(options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
|
383
202
|
React.createElement(Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
|
384
203
|
React.createElement(Stack, { className: chatWrapper, grow: true },
|
385
204
|
(options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)),
|
386
|
-
React.createElement(
|
387
|
-
setDownloadErrorMessage('');
|
388
|
-
}, []), attachmentDownloadErrorMessage: downloadErrorMessage || '' }),
|
389
|
-
React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onUpdateMessage: onUpdateMessageHandler, onCancelEditMessage: onCancelEditMessageHandler, onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, onRenderAttachmentDownloads: onRenderAttachmentDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles, richTextEditorOptions: richTextEditBoxOptions })),
|
205
|
+
React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onUpdateMessage: onUpdateMessageHandler, onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
|
390
206
|
React.createElement(Stack, { className: mergeStyles(sendboxContainerStyles) },
|
391
207
|
React.createElement("div", { className: mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles }))),
|
392
208
|
React.createElement(Stack, { horizontal: formFactor === 'mobile' },
|
393
|
-
formFactor === 'mobile'
|
209
|
+
formFactor === 'mobile',
|
394
210
|
React.createElement(Stack, { grow: true },
|
395
|
-
React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus,
|
211
|
+
React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus,
|
396
212
|
// we need to overwrite onSendMessage for SendBox because we need to clear attachment state
|
397
213
|
// when submit button is clicked
|
398
214
|
onSendMessage: onSendMessageHandler })),
|
399
|
-
formFactor !== 'mobile'
|
400
|
-
(options === null || options === void 0 ? void 0 : options.participantPane) === true && React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' })),
|
215
|
+
formFactor !== 'mobile')))),
|
401
216
|
overlayImageItem && React.createElement(ImageOverlay, Object.assign({}, overlayImageItem, { isOpen: isImageOverlayOpen, onDismiss: () => {
|
402
217
|
setOverlayImageItem(undefined);
|
403
218
|
setIsImageOverlayOpen(false);
|
404
219
|
adapter.removeResourceFromCache({
|
405
|
-
threadId
|
220
|
+
threadId,
|
406
221
|
messageId: overlayImageItem.messageId,
|
407
222
|
resourceUrl: overlayImageItem.imageUrl
|
408
223
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport { RichTextEditBoxOptions } from '@internal/react-components';\nimport { ChatMessage } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useReducer } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback, AvatarPersonaProps } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\nimport { ChatScreenPeoplePane } from './ChatScreenPeoplePane';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { removeImageTags, _IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY } from '@internal/acs-ui-common';\nimport { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';\nimport { _AttachmentDownloadCards } from '@internal/react-components';\nimport { ImageOverlay } from '@internal/react-components';\nimport { InlineImage } from '@internal/react-components';\nimport { ResourceFetchResult } from '@internal/chat-stateful-client';\nimport { AttachmentOptions } from '@internal/react-components';\nimport { nanoid } from 'nanoid';\nimport { AttachmentUploadActionType, AttachmentUpload, AttachmentUploadReducer } from './file-sharing/AttachmentUpload';\nimport { MessageOptions } from '@internal/acs-ui-common';\nimport { SendBoxPicker } from '../common/SendBoxPicker';\nimport { loadRichTextSendBox, RichTextSendBoxOptions } from '../common/SendBoxPicker';\nimport { cancelInlineImageUpload, getEditBoxMessagesInlineImages, getImageFileNameFromAttributes, getSendBoxInlineImages, onInsertInlineImageForEditBox, onInsertInlineImageForSendBox, updateContentStringWithUploadedInlineImages } from './ImageUpload/ImageUploadUtils';\nimport type { ChatAdapterState } from './adapter/ChatAdapter';\nimport { isMicrosoftTeamsUserIdentifier } from '@azure/communication-common';\nimport { SEND_BOX_UPLOADS_KEY_VALUE, _DEFAULT_INLINE_IMAGE_FILE_NAME } from '../common/constants';\nimport { ImageUploadReducer } from './ImageUpload/ImageUploadReducer';\nimport { useLocale } from '../localization';\n\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n attachmentOptions?: AttachmentOptions;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * @private\n */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: string;\n imageUrl: string;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n attachmentOptions,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n const [isImageOverlayOpen, setIsImageOverlayOpen] = useState<boolean>(false);\n const [uploads, handleUploadAction] = useReducer(AttachmentUploadReducer, []);\n const adapter = useAdapter();\n const theme = useTheme();\n const localeStrings = useLocale().strings;\n const [textOnlyChat, setTextOnlyChat] = useState(false);\n const [isACSChat, setIsACSChat] = useState(false);\n const [editBoxInlineImageUploads, handleEditBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);\n const [sendBoxInlineImageUploads, handleSendBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);\n useEffect(() => {\n const updateChatState = (newState: ChatAdapterState): void => {\n setTextOnlyChat(newState.thread.properties?.messagingPolicy?.textOnlyChat === true);\n if (newState.thread.properties?.createdBy) {\n setIsACSChat(!isMicrosoftTeamsUserIdentifier(newState.thread.properties?.createdBy));\n }\n };\n // set initial state for textOnlyChat and isACSChat\n updateChatState(adapter.getState());\n adapter.onStateChange(updateChatState);\n return () => {\n adapter.offStateChange(updateChatState);\n };\n }, [adapter]);\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n useEffect(() => {\n // if rich text editor is enabled, the rich text editor component should be loaded early for good UX\n if (options?.richTextEditor) {\n // this line is needed to load the Rooster JS dependencies early in the lifecycle\n // when the rich text editor is enabled\n loadRichTextSendBox();\n }\n }, [options?.richTextEditor]);\n const messageThreadProps = usePropsFor(MessageThread);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n useEffect(() => {\n if (overlayImageItem === undefined) {\n return;\n }\n const message = adapter.getState().thread.chatMessages[overlayImageItem.messageId];\n if (message === undefined) {\n return;\n }\n const resourceCache = message.resourceCache;\n if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) {\n const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]);\n if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItem.imageSrc === fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItem,\n imageSrc: fullSizeImageSrc\n });\n }\n // Disable eslint because we are using the overlayImageItem in this effect but don't want to have it as a dependency, as it will cause an infinite loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [messageThreadProps.messages]);\n const getResourceSourceUrl = (result: ResourceFetchResult): string => {\n let src = '';\n if (result.error || !result.sourceUrl) {\n src = 'blob://';\n } else {\n src = result.sourceUrl;\n }\n return src;\n };\n const onRenderAvatarCallback = useCallback((userId?: string, defaultOptions?: AvatarPersonaProps) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = useMemo(() => {\n return Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n }, [styles?.messageThread, theme.semanticColors.bodyBackground]);\n const typingIndicatorStyles = useMemo(() => {\n return Object.assign({}, styles?.typingIndicator);\n }, [styles?.typingIndicator]);\n const sendBoxStyles = useMemo(() => {\n return Object.assign({}, styles?.sendBox);\n }, [styles?.sendBox]);\n const userId = toFlatCommunicationIdentifier(adapter.getState().userId);\n const setKeyboardFocusAfterFileSelection = useCallback(() => {\n // look up sendbox by ID for now, we will use `useRef`\n // once attachment button is moved inside of send box component\n // see ADO workitem #3764245\n if (props.options?.richTextEditor) {\n const richTextSendBox = document?.querySelector(`[id=\"richTextSendBox\"]`) as HTMLDivElement;\n richTextSendBox?.focus();\n return;\n }\n const sendBox = document?.querySelector(`[id=\"sendbox\"]`) as HTMLTextAreaElement;\n // set send box on focus after file selection per A11y requirement\n sendBox?.focus();\n }, [props.options?.richTextEditor]);\n const attachmentUploadButtonOnChange = useCallback((files: FileList | null): void => {\n setKeyboardFocusAfterFileSelection();\n if (!files) {\n return;\n }\n\n // Get files, change to tasks, store locally and pass back to Contoso\n const newUploads = Array.from(files).map((file): AttachmentUpload => {\n const taskId = nanoid();\n return {\n file,\n taskId,\n metadata: {\n id: taskId,\n name: file.name,\n progress: 0\n },\n notifyUploadProgressChanged: (value: number) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Progress,\n taskId,\n progress: value\n });\n },\n notifyUploadCompleted: (id: string, url: string) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Completed,\n taskId,\n id,\n url\n });\n },\n notifyUploadFailed: (message: string) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Failed,\n taskId,\n message\n });\n // remove the failed upload task when error banner is auto dismissed after 10 seconds\n // so the banner won't be shown again on UI re-rendering.\n setTimeout(() => {\n handleUploadAction({\n type: AttachmentUploadActionType.Remove,\n id: taskId\n });\n }, 10 * 1000);\n }\n };\n });\n handleUploadAction({\n type: AttachmentUploadActionType.Set,\n newUploads\n });\n attachmentOptions?.uploadOptions?.handleAttachmentSelection(newUploads);\n }, [attachmentOptions?.uploadOptions, setKeyboardFocusAfterFileSelection]);\n const onRenderAttachmentDownloads = useCallback((message: ChatMessage) => message?.attachments?.length ?? 0 > 0 ? <_AttachmentDownloadCards attachments={message.attachments} message={message} actionsForAttachment={attachmentOptions?.downloadOptions?.actionsForAttachment} onActionHandlerFailed={(errorMessage: string) => {\n setDownloadErrorMessage(errorMessage);\n }} /> : <></>, [attachmentOptions?.downloadOptions?.actionsForAttachment]);\n const onInlineImageClicked = useCallback((attachmentId: string, messageId: string) => {\n const message = adapter.getState().thread.chatMessages[messageId];\n const inlinedImages = message.content?.attachments?.filter(attachment => {\n return attachment.attachmentType === 'image' && attachment.id === attachmentId;\n });\n if (!inlinedImages || inlinedImages.length <= 0) {\n return;\n }\n const attachment = inlinedImages[0];\n const resourceCache = message.resourceCache;\n let imageSrc = '';\n if (attachment.url) {\n if (resourceCache && resourceCache[attachment.url]) {\n imageSrc = getResourceSourceUrl(resourceCache[attachment.url]);\n } else {\n adapter.downloadResourceToCache({\n threadId: adapter.getState().thread.threadId,\n messageId: messageId,\n resourceUrl: attachment.url\n });\n }\n }\n const titleIconRenderOptions = {\n text: message.senderDisplayName,\n size: PersonaSize.size32,\n showOverflowTooltip: false,\n imageAlt: message.senderDisplayName\n };\n const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(messageSenderId, titleIconRenderOptions);\n const overlayImage: OverlayImageItem = {\n title: message.senderDisplayName || '',\n titleIcon: titleIcon,\n attachmentId: attachment.id,\n imageSrc: imageSrc,\n messageId: messageId,\n imageUrl: attachment.url || ''\n };\n setIsImageOverlayOpen(true);\n setOverlayImageItem(overlayImage);\n }, [adapter, onRenderAvatarCallback, userId]);\n const onRenderInlineImage = useCallback((inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n const message = adapter.getState().thread.chatMessages[inlineImage.messageId];\n const attachment = message?.content?.attachments?.find(attachment => attachment.id === inlineImage.imageAttributes.id);\n if (attachment === undefined) {\n return defaultOnRender(inlineImage);\n }\n let pointerEvents: 'none' | 'auto' = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';\n const resourceCache = message.resourceCache;\n if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && resourceCache[attachment.previewUrl].error) {\n pointerEvents = 'none';\n }\n return <span key={inlineImage.imageAttributes.id} onClick={() => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId)} tabIndex={0} role=\"button\" onKeyDown={e => {\n if (e.key === 'Enter') {\n onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId);\n }\n }} style={{\n cursor: 'pointer',\n pointerEvents\n }}>\n {defaultOnRender(inlineImage)}\n </span>;\n }, [adapter, onInlineImageClicked]);\n const inlineImageOptions = useMemo(() => {\n return {\n onRenderInlineImage: onRenderInlineImage\n };\n }, [onRenderInlineImage]);\n const onDownloadButtonClicked = useCallback((imageSrc: string): void => {\n if (imageSrc === '') {\n return;\n }\n if (isIOS()) {\n window.open(imageSrc, '_blank');\n } else {\n // Create a new anchor element\n const a = document.createElement('a');\n // Set the href and download attributes for the anchor element\n a.href = imageSrc;\n a.download = overlayImageItem?.attachmentId || '';\n a.rel = 'noopener noreferrer';\n a.target = '_blank';\n\n // Programmatically click the anchor element to trigger the download\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n }, [overlayImageItem?.attachmentId]);\n const attachmentButton = useMemo(() => {\n if (!attachmentOptions?.uploadOptions?.handleAttachmentSelection || textOnlyChat) {\n return null;\n }\n return <AttachmentUploadButton supportedMediaTypes={attachmentOptions?.uploadOptions?.supportedMediaTypes} disableMultipleUploads={attachmentOptions?.uploadOptions?.disableMultipleUploads} onChange={attachmentUploadButtonOnChange} />;\n return <></>;\n }, [attachmentOptions?.uploadOptions?.handleAttachmentSelection, attachmentOptions?.uploadOptions?.supportedMediaTypes, attachmentOptions?.uploadOptions?.disableMultipleUploads, attachmentUploadButtonOnChange, textOnlyChat]);\n const attachments = useMemo(() => {\n return uploads?.map(v => v.metadata);\n }, [uploads]);\n const onSendMessageHandler = useCallback(async function (content: string, options?: MessageOptions) {\n content = updateContentStringWithUploadedInlineImages(content, sendBoxInlineImageUploads);\n const attachments = options?.attachments ?? [];\n handleUploadAction({\n type: AttachmentUploadActionType.Clear\n });\n handleSendBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Clear,\n messageId: SEND_BOX_UPLOADS_KEY_VALUE\n });\n await adapter.sendMessage(content, {\n attachments: attachments,\n type: options?.type\n });\n return;\n await adapter.sendMessage(content, {\n type: options?.type\n });\n }, [adapter, handleSendBoxInlineImageUploadAction, sendBoxInlineImageUploads]);\n const onUpdateMessageHandler = useCallback(async function (messageId: string, content: string, options?: MessageOptions) {\n content = updateContentStringWithUploadedInlineImages(content, editBoxInlineImageUploads, messageId);\n await messageThreadProps.onUpdateMessage(messageId, content, options);\n handleEditBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Clear,\n messageId\n });\n }, [handleEditBoxInlineImageUploadAction, editBoxInlineImageUploads, messageThreadProps]);\n const onCancelEditMessageHandler = useCallback((messageId: string) => {\n handleEditBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Clear,\n messageId\n });\n }, [handleEditBoxInlineImageUploadAction]);\n const onCancelUploadHandler = useCallback((id: string) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Remove,\n id\n });\n attachmentOptions?.uploadOptions?.handleAttachmentRemoval?.(id);\n }, [attachmentOptions?.uploadOptions]);\n const richTextEditorOptions = useMemo(() => {\n const onPasteCallback = isACSChat || textOnlyChat ? removeImageTags : undefined;\n return options?.richTextEditor ? {\n onPaste: onPasteCallback\n } : undefined;\n }, [isACSChat, textOnlyChat, options?.richTextEditor]);\n const richTextEditBoxOptions: RichTextEditBoxOptions | undefined = useMemo(() => {\n return options?.richTextEditor ? {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n ...richTextEditorOptions,\n onInsertInlineImage: (imageAttributes: Record<string, string>, messageId: string) => {\n onInsertInlineImageForEditBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), messageId, adapter, handleEditBoxInlineImageUploadAction, localeStrings.chat);\n },\n messagesInlineImagesWithProgress: getEditBoxMessagesInlineImages(editBoxInlineImageUploads),\n onRemoveInlineImage: (imageAttributes: Record<string, string>, messageId: string) => {\n cancelInlineImageUpload(imageAttributes, editBoxInlineImageUploads, messageId, handleEditBoxInlineImageUploadAction, adapter);\n }\n } : undefined;\n }, [options?.richTextEditor, richTextEditorOptions, editBoxInlineImageUploads, adapter, localeStrings.chat]);\n const richTextSendBoxOptions: RichTextSendBoxOptions | undefined = useMemo(() => {\n return options?.richTextEditor ? {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n ...richTextEditorOptions,\n onInsertInlineImage: (imageAttributes: Record<string, string>) => {\n onInsertInlineImageForSendBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), adapter, handleSendBoxInlineImageUploadAction, localeStrings.chat);\n },\n inlineImagesWithProgress: getSendBoxInlineImages(sendBoxInlineImageUploads),\n onRemoveInlineImage: (imageAttributes: Record<string, string>) => {\n cancelInlineImageUpload(imageAttributes, sendBoxInlineImageUploads, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction, adapter);\n }\n } : undefined;\n }, [options?.richTextEditor, richTextEditorOptions, sendBoxInlineImageUploads, localeStrings.chat, adapter]);\n return <Stack className={chatContainer} grow>\n {options?.topic !== false && <ChatHeader {...headerProps} />}\n <Stack className={chatArea} tokens={participantListContainerPadding} horizontal grow>\n <Stack className={chatWrapper} grow>\n {options?.errorBar !== false && <ErrorBar {...errorBarProps} />}\n {<AttachmentDownloadErrorBar onDismissDownloadErrorMessage={useCallback(() => {\n setDownloadErrorMessage('');\n }, [])} attachmentDownloadErrorMessage={downloadErrorMessage || ''} />}\n <MessageThread {...messageThreadProps} onUpdateMessage={onUpdateMessageHandler} onCancelEditMessage={onCancelEditMessageHandler} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage} onRenderAttachmentDownloads={onRenderAttachmentDownloads} inlineImageOptions={inlineImageOptions} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} richTextEditorOptions={richTextEditBoxOptions} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile' && (<Stack verticalAlign=\"center\">{attachmentButton}</Stack>)}\n <Stack grow>\n <SendBoxPicker styles={sendBoxStyles} autoFocus={options?.autoFocus} richTextEditorOptions={richTextSendBoxOptions} attachments={attachments} onCancelAttachmentUpload={onCancelUploadHandler}\n // we need to overwrite onSendMessage for SendBox because we need to clear attachment state\n // when submit button is clicked\n onSendMessage={onSendMessageHandler} />\n </Stack>\n {formFactor !== 'mobile' && attachmentButton}\n </Stack>\n </Stack>\n </Stack>\n {options?.participantPane === true && <ChatScreenPeoplePane onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={props.onFetchParticipantMenuItems} isMobile={formFactor === 'mobile'} />}\n </Stack>\n {overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\n adapter.removeResourceFromCache({\n threadId: adapter.getState().thread.threadId,\n messageId: overlayImageItem.messageId,\n resourceUrl: overlayImageItem.imageUrl\n });\n }} onDownloadButtonClicked={onDownloadButtonClicked} />}\n </Stack>;\n};"]}
|
1
|
+
{"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback, AvatarPersonaProps } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { _AttachmentDownloadCards } from '@internal/react-components';\nimport { ImageOverlay } from '@internal/react-components';\nimport { InlineImage } from '@internal/react-components';\nimport { ChatMessageWithStatus, ResourceFetchResult } from '@internal/chat-stateful-client';\nimport { SendBoxPicker } from '../common/SendBoxPicker';\nimport { useSelector } from './hooks/useSelector';\nimport { getChatMessages, getThreadId, getUserId } from './selectors/baseSelectors';\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * @private\n */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: string;\n imageUrl: string;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n const [isImageOverlayOpen, setIsImageOverlayOpen] = useState<boolean>(false);\n const adapter = useAdapter();\n const theme = useTheme();\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n const messageThreadProps = usePropsFor(MessageThread);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n const overlayImageItemRef = React.useRef<OverlayImageItem | undefined>(overlayImageItem);\n overlayImageItemRef.current = overlayImageItem;\n const adapterChatMessages = useSelector(getChatMessages);\n useEffect(() => {\n if (overlayImageItemRef.current === undefined) {\n return;\n }\n const message: ChatMessageWithStatus | undefined = adapterChatMessages[overlayImageItemRef.current.messageId];\n if (message === undefined) {\n return;\n }\n const resourceFetchResult = message.resourceCache?.[overlayImageItemRef.current.imageUrl];\n if (overlayImageItemRef.current.imageSrc === '' && resourceFetchResult) {\n const fullSizeImageSrc = getResourceSourceUrl(resourceFetchResult);\n if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItemRef.current.imageSrc === fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItemRef.current,\n imageSrc: fullSizeImageSrc\n });\n }\n }, [adapterChatMessages]);\n const getResourceSourceUrl = (result: ResourceFetchResult): string => {\n let src = '';\n if (result.error || !result.sourceUrl) {\n src = 'blob://';\n } else {\n src = result.sourceUrl;\n }\n return src;\n };\n const onRenderAvatarCallback = useCallback((userId?: string, defaultOptions?: AvatarPersonaProps) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = useMemo(() => {\n return Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n }, [styles?.messageThread, theme.semanticColors.bodyBackground]);\n const typingIndicatorStyles = useMemo(() => {\n return Object.assign({}, styles?.typingIndicator);\n }, [styles?.typingIndicator]);\n const sendBoxStyles = useMemo(() => {\n return Object.assign({}, styles?.sendBox);\n }, [styles?.sendBox]);\n const userIdObject = useSelector(getUserId);\n const userId = toFlatCommunicationIdentifier(userIdObject);\n const threadId = useSelector(getThreadId);\n const onInlineImageClicked = useCallback((attachmentId: string, messageId: string) => {\n const message: ChatMessageWithStatus | undefined = adapterChatMessages[messageId];\n const inlinedImages = message?.content?.attachments?.filter(attachment => {\n return attachment.attachmentType === 'image' && attachment.id === attachmentId;\n });\n const attachment = inlinedImages?.[0];\n if (!attachment) {\n return;\n }\n let imageSrc = '';\n if (attachment.url) {\n const resourceFetchResult = message?.resourceCache?.[attachment.url];\n if (resourceFetchResult) {\n imageSrc = getResourceSourceUrl(resourceFetchResult);\n } else {\n adapter.downloadResourceToCache({\n threadId,\n messageId,\n resourceUrl: attachment.url\n });\n }\n }\n const titleIconRenderOptions = {\n text: message?.senderDisplayName,\n size: PersonaSize.size32,\n showOverflowTooltip: false,\n imageAlt: message?.senderDisplayName\n };\n const messageSenderId = message?.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(messageSenderId, titleIconRenderOptions);\n const overlayImage: OverlayImageItem = {\n title: message?.senderDisplayName || '',\n titleIcon: titleIcon,\n attachmentId: attachment.id,\n imageSrc: imageSrc,\n messageId: messageId,\n imageUrl: attachment.url || ''\n };\n setIsImageOverlayOpen(true);\n setOverlayImageItem(overlayImage);\n }, [adapter, adapterChatMessages, onRenderAvatarCallback, userId, threadId]);\n const onRenderInlineImage = useCallback((inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n const message = adapterChatMessages[inlineImage.messageId];\n const attachment = message?.content?.attachments?.find(attachment => attachment.id === inlineImage.imageAttributes.id);\n if (attachment === undefined) {\n return defaultOnRender(inlineImage);\n }\n let pointerEvents: 'none' | 'auto' = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';\n const resourceCache = message?.resourceCache;\n if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && resourceCache[attachment.previewUrl]?.error) {\n pointerEvents = 'none';\n }\n return <span key={inlineImage.imageAttributes.id} onClick={() => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId)} tabIndex={0} role=\"button\" onKeyDown={e => {\n if (e.key === 'Enter') {\n onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId);\n }\n }} style={{\n cursor: 'pointer',\n pointerEvents\n }}>\n {defaultOnRender(inlineImage)}\n </span>;\n }, [adapterChatMessages, onInlineImageClicked]);\n const inlineImageOptions = useMemo(() => {\n return {\n onRenderInlineImage: onRenderInlineImage\n };\n }, [onRenderInlineImage]);\n const onDownloadButtonClicked = useCallback((imageSrc: string): void => {\n if (imageSrc === '') {\n return;\n }\n if (isIOS()) {\n window.open(imageSrc, '_blank');\n } else {\n // Create a new anchor element\n const a = document.createElement('a');\n // Set the href and download attributes for the anchor element\n a.href = imageSrc;\n a.download = overlayImageItem?.attachmentId || '';\n a.rel = 'noopener noreferrer';\n a.target = '_blank';\n\n // Programmatically click the anchor element to trigger the download\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n }, [overlayImageItem?.attachmentId]);\n const onSendMessageHandler = useCallback(async function (content: string) {\n await adapter.sendMessage(content, {});\n }, [adapter]);\n const onUpdateMessageHandler = useCallback(async function (messageId: string, content: string) {\n await messageThreadProps.onUpdateMessage(messageId, content);\n }, [messageThreadProps]);\n return <Stack className={chatContainer} grow>\n {options?.topic !== false && <ChatHeader {...headerProps} />}\n <Stack className={chatArea} tokens={participantListContainerPadding} horizontal grow>\n <Stack className={chatWrapper} grow>\n {options?.errorBar !== false && <ErrorBar {...errorBarProps} />}\n {}\n <MessageThread {...messageThreadProps} onUpdateMessage={onUpdateMessageHandler} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage} inlineImageOptions={inlineImageOptions} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile'}\n <Stack grow>\n <SendBoxPicker styles={sendBoxStyles} autoFocus={options?.autoFocus}\n // we need to overwrite onSendMessage for SendBox because we need to clear attachment state\n // when submit button is clicked\n onSendMessage={onSendMessageHandler} />\n </Stack>\n {formFactor !== 'mobile'}\n </Stack>\n </Stack>\n </Stack>\n {}\n </Stack>\n {overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\n adapter.removeResourceFromCache({\n threadId,\n messageId: overlayImageItem.messageId,\n resourceUrl: overlayImageItem.imageUrl\n });\n }} onDownloadButtonClicked={onDownloadButtonClicked} />}\n </Stack>;\n};"]}
|
@@ -10,25 +10,5 @@ export interface ChatCompositeStrings {
|
|
10
10
|
* Chat list header text
|
11
11
|
*/
|
12
12
|
chatListHeader: string;
|
13
|
-
/**
|
14
|
-
* Upload Attachment Button text
|
15
|
-
*/
|
16
|
-
uploadAttachment: string;
|
17
|
-
/**
|
18
|
-
* Error Message for image data is not provided for image upload
|
19
|
-
*/
|
20
|
-
uploadImageDataNotProvided: string;
|
21
|
-
/**
|
22
|
-
* Error Message for upload image is too large
|
23
|
-
*/
|
24
|
-
uploadImageIsTooLarge: string;
|
25
|
-
/**
|
26
|
-
* Error Message for unsupported image extension for image upload
|
27
|
-
*/
|
28
|
-
uploadImageExtensionIsNotAllowed: string;
|
29
|
-
/**
|
30
|
-
* Error Message for unable to upload image
|
31
|
-
*/
|
32
|
-
uploadImageFailed: string;
|
33
13
|
}
|
34
14
|
//# sourceMappingURL=Strings.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n
|
1
|
+
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n}"]}
|