@azure/communication-react 1.11.0-beta.1 → 1.11.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/dist/communication-react.d.ts +104 -2153
- package/dist/dist-cjs/communication-react/index.js +6151 -11468
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/MessageStatus.d.ts +1 -1
- package/dist/dist-esm/acs-ui-common/src/areEqual.d.ts +3 -3
- package/dist/dist-esm/acs-ui-common/src/commonProperties.d.ts +2 -2
- package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -0
- package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/logEvent.d.ts +1 -1
- package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts +2 -2
- package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts +7 -1
- package/dist/dist-esm/acs-ui-common/src/telemetry.js +26 -2
- package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +2 -3
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -5
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +5 -17
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -13
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +3 -3
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -4
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.d.ts +16 -0
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +21 -0
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +5 -15
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +33 -42
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
- package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +2 -2
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +2 -5
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -19
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -6
- package/dist/dist-esm/calling-component-bindings/src/index.js +0 -8
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -2
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +5 -10
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -5
- package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +3 -15
- package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
- package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +3 -10
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -2
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -6
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +5 -7
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
- package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -3
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +4 -57
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +3 -9
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +23 -55
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -41
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +23 -51
- 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 -10
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +10 -12
- package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +28 -13
- package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +12 -29
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +13 -36
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +40 -34
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
- package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.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/calling-stateful-client/src/index.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/index.js +1 -0
- package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.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 +1 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +6 -119
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.d.ts +1 -1
- package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.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 +5 -5
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +8 -8
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.d.ts +12 -5
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +10 -2
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.js +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.d.ts +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -2
- package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +0 -26
- package/dist/dist-esm/communication-react/src/index.js +0 -16
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/mergedHooks.d.ts +7 -7
- package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Announcer/Announcer.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Announcer.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +4 -30
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +3 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +3 -5
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +11 -16
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +2 -23
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +11 -44
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +36 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +47 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -16
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +3 -98
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.d.ts +6 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +34 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.d.ts +22 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js +110 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ControlBar.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ControlBarButton.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +1 -2
- package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +0 -6
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +20 -54
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +5 -27
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/GridLayout.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -4
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +2 -2
- 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 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +13 -63
- package/dist/dist-esm/react-components/src/components/MessageThread.js +103 -222
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +6 -5
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +2 -17
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +13 -23
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -3
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -41
- package/dist/dist-esm/react-components/src/components/SendBox.js +3 -31
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/StreamMedia.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +24 -9
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +2 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +0 -5
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +6 -11
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +3 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +0 -5
- package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +6 -11
- package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +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/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -15
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +4 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +9 -16
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/VideoTile.js +4 -10
- 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 -18
- package/dist/dist-esm/react-components/src/components/index.js +0 -12
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +18 -0
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -2
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +3 -3
- package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
- package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +4 -5
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +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 -5
- 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 +1 -64
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +2 -1
- package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +2 -1
- package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -16
- package/dist/dist-esm/react-components/src/theming/icons.js +0 -108
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themeDuplicates.d.ts +2 -2
- package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +2 -21
- package/dist/dist-esm/react-components/src/theming/themes.js +4 -18
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.d.ts +1 -1
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -1
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +4 -30
- package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/CommunicationParticipant.d.ts +1 -1
- package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.d.ts +1 -1
- package/dist/dist-esm/react-components/src/types/OnRender.d.ts +2 -10
- package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +4 -4
- package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.d.ts +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +2 -8
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +1 -79
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +6 -117
- 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 +0 -128
- 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 +26 -79
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +63 -292
- 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 +33 -154
- 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/CallAdapterProvider.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.d.ts +2 -2
- 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/ParticipantSubcriber.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
- 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 +1 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +1 -3
- 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 +9 -55
- 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 +1 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +16 -83
- 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/CapabilitiesChangedNotificationBar.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 -27
- 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 -20
- 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 -27
- 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/ExpandedLocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +8 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.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 +4 -24
- 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/LocalPreview.js +7 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +10 -12
- 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.map +1 -1
- 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/SidePaneProvider.d.ts +2 -2
- 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.d.ts +1 -1
- 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/SvgWithWordWrapping.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +86 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
- 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 +1 -1
- 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.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +3 -4
- 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/Participants.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
- 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 +3 -7
- 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 +6 -23
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -3
- 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 +12 -83
- 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/LobbyPage.js +1 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -9
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -10
- 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/callStatusSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +0 -4
- 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/lobbySelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -40
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +1 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +11 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +47 -21
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.d.ts +5 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +10 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +1 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +18 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
- 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/TrackCapabilityChangedNotifications.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +22 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +64 -72
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.d.ts +6 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js +31 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +2 -69
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +12 -41
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
- 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 +8 -35
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +11 -123
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -65
- 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 +8 -16
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -38
- 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 +1 -14
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -37
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -22
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -9
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +1 -21
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -13
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.d.ts +4 -11
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +15 -140
- 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 -4
- 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 +11 -33
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +24 -145
- 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/AzureCommunicationFileUploadAdapter.d.ts +4 -32
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -159
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +11 -26
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.d.ts +14 -14
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +1 -8
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
- 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/usePropsFor.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -4
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -11
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +6 -7
- package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +21 -4
- package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +8 -18
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +9 -9
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -48
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -45
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +3 -6
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -14
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
- 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 +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +51 -76
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -12
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +6 -17
- 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 +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +16 -15
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -91
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.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/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
- 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 -75
- 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 -68
- 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/HoldButton.d.ts +0 -49
- package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
- package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +0 -71
- package/dist/dist-esm/react-components/src/components/ImageGallery.js +0 -56
- package/dist/dist-esm/react-components/src/components/ImageGallery.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 -117
- package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -41
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -573
- 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/ImageGallery.style.d.ts +0 -68
- package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +0 -205
- package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.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 -68
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.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 -92
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.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 -67
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.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/CallReadinessModal.d.ts +0 -48
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -28
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.d.ts +0 -11
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +0 -113
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.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 -54
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.d.ts +0 -37
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +0 -73
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.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/FileDownloadErrorBar.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -23
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -34
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -14
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -107
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +0 -17
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +0 -50
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +0 -11
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +0 -40
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/baseSelectors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAWxE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAElF,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,IAAI,EAAE,CAAA,EAAA,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAElF,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,IAAI,EAAE,CAAA,EAAA,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAA4B,EAAE;;IAChH,OAAO,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,0CAAE,YAAY,CAAC;AACtD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAW,EAAE;;IAC/F,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAC;IACjE,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAQ,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAA,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC;AAEhL;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAkC,EAAE;;IAC1H,OAAO,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,CAAA,IAAI,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAc,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatClientState, ChatErrors, ChatMessageWithStatus } from '@internal/chat-stateful-client';\nimport { ChatMessageReadReceipt, ChatParticipant } from '@azure/communication-chat';\nimport { TypingIndicatorReceivedEvent } from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n\n/**\n * Common props for selectors for {@link ChatClientState}.\n *\n * @public\n */\nexport type ChatBaseSelectorProps = {\n threadId: string;\n};\n\n/**\n * @private\n */\nexport const getUserId = (state: ChatClientState): string => toFlatCommunicationIdentifier(state.userId);\n\n/**\n * @private\n */\nexport const getDisplayName = (state: ChatClientState): string => state.displayName;\n\n/**\n * @private\n */\nexport const getChatMessages = (state: ChatClientState, props: ChatBaseSelectorProps): {\n [key: string]: ChatMessageWithStatus;\n} => props.threadId && state.threads[props.threadId]?.chatMessages || {};\n\n/**\n * @private\n */\nexport const getParticipants = (state: ChatClientState, props: ChatBaseSelectorProps): {\n [key: string]: ChatParticipant;\n} => props.threadId && state.threads[props.threadId]?.participants || {};\n\n/**\n * @private\n */\nexport const getReadReceipts = (state: ChatClientState, props: ChatBaseSelectorProps): ChatMessageReadReceipt[] => {\n return state.threads[props?.threadId]?.readReceipts;\n};\n\n/**\n * @private\n */\nexport const getIsLargeGroup = (state: ChatClientState, props: ChatBaseSelectorProps): boolean => {\n const participants = state.threads[props.threadId]?.participants;\n return !!participants && Object.values(participants).length > 20;\n};\n\n/**\n * @private\n */\nexport const getLatestReadTime = (state: ChatClientState, props: ChatBaseSelectorProps): Date => props.threadId && state.threads[props.threadId]?.latestReadTime || new Date(0);\n\n/**\n * @private\n */\nexport const getTypingIndicators = (state: ChatClientState, props: ChatBaseSelectorProps): TypingIndicatorReceivedEvent[] => {\n return props.threadId && state.threads[props.threadId]?.typingIndicators || [];\n};\n\n/**\n * @private\n */\nexport const getLatestErrors = (state: ChatClientState): ChatErrors => state.latestErrors
|
1
|
+
{"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/baseSelectors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAWxE;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,6BAA6B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAEzG;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAElF,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,IAAI,EAAE,CAAA,EAAA,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAElF,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,IAAI,EAAE,CAAA,EAAA,CAAC;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAA4B,EAAE;;IAChH,OAAO,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,0CAAE,YAAY,CAAC;AACtD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAW,EAAE;;IAC/F,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAC;IACjE,OAAO,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;AACnE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAQ,EAAE,WAAC,OAAA,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAA,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC;AAEhL;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAsB,EAAE,KAA4B,EAAkC,EAAE;;IAC1H,OAAO,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,CAAA,IAAI,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAc,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatClientState, ChatErrors, ChatMessageWithStatus } from '@internal/chat-stateful-client';\nimport { ChatMessageReadReceipt, ChatParticipant } from '@azure/communication-chat';\nimport { TypingIndicatorReceivedEvent } from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n\n/**\n * Common props for selectors for {@link ChatClientState}.\n *\n * @public\n */\nexport type ChatBaseSelectorProps = {\n threadId: string;\n};\n\n/**\n * @private\n */\nexport const getUserId = (state: ChatClientState): string => toFlatCommunicationIdentifier(state.userId);\n\n/**\n * @private\n */\nexport const getDisplayName = (state: ChatClientState): string => state.displayName;\n\n/**\n * @private\n */\nexport const getChatMessages = (state: ChatClientState, props: ChatBaseSelectorProps): {\n [key: string]: ChatMessageWithStatus;\n} => props.threadId && state.threads[props.threadId]?.chatMessages || {};\n\n/**\n * @private\n */\nexport const getParticipants = (state: ChatClientState, props: ChatBaseSelectorProps): {\n [key: string]: ChatParticipant;\n} => props.threadId && state.threads[props.threadId]?.participants || {};\n\n/**\n * @private\n */\nexport const getReadReceipts = (state: ChatClientState, props: ChatBaseSelectorProps): ChatMessageReadReceipt[] => {\n return state.threads[props?.threadId]?.readReceipts;\n};\n\n/**\n * @private\n */\nexport const getIsLargeGroup = (state: ChatClientState, props: ChatBaseSelectorProps): boolean => {\n const participants = state.threads[props.threadId]?.participants;\n return !!participants && Object.values(participants).length > 20;\n};\n\n/**\n * @private\n */\nexport const getLatestReadTime = (state: ChatClientState, props: ChatBaseSelectorProps): Date => props.threadId && state.threads[props.threadId]?.latestReadTime || new Date(0);\n\n/**\n * @private\n */\nexport const getTypingIndicators = (state: ChatClientState, props: ChatBaseSelectorProps): TypingIndicatorReceivedEvent[] => {\n return props.threadId && state.threads[props.threadId]?.typingIndicators || [];\n};\n\n/**\n * @private\n */\nexport const getLatestErrors = (state: ChatClientState): ChatErrors => state.latestErrors;"]}
|
@@ -6,7 +6,7 @@ import { ChatClientState } from "../../chat-stateful-client/src";
|
|
6
6
|
*
|
7
7
|
* @public
|
8
8
|
*/
|
9
|
-
export
|
9
|
+
export type ChatParticipantListSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {
|
10
10
|
myUserId: string;
|
11
11
|
participants: ParticipantListParticipant[];
|
12
12
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chatParticipantListSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/chatParticipantListSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,MAAM,kDAAkD,GAAG,CAAC,gBAAmC,EAAgC,EAAE;IAC/H,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAA4B,EAAE,EAAE;QAC3D,OAAO;YACL,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,wCAAwC;YACxC,iEAAiE;YACjE,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,YAA0C,EAAU,EAAE;IAC5E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC;AAYF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgC,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAEtJ,EAAE,WAAW,EAAE,EAAE;IAChB,IAAI,YAAY,GAAG,kDAAkD,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE;
|
1
|
+
{"version":3,"file":"chatParticipantListSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/chatParticipantListSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAIxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,MAAM,kDAAkD,GAAG,CAAC,gBAAmC,EAAgC,EAAE;IAC/H,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,WAA4B,EAAE,EAAE;QAC3D,OAAO;YACL,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,wCAAwC;YACxC,iEAAiE;YACjE,WAAW,EAAE,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,YAA0C,EAAU,EAAE;IAC5E,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC;AAYF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgC,QAAQ,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAEtJ,EAAE,WAAW,EAAE,EAAE;IAChB,IAAI,YAAY,GAAG,kDAAkD,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { getUserId, getDisplayName, getParticipants, ChatBaseSelectorProps } from './baseSelectors';\nimport * as reselect from 'reselect';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ChatParticipant } from '@azure/communication-chat';\nimport { ParticipantListParticipant } from '@internal/react-components';\nimport { ChatClientState } from '@internal/chat-stateful-client';\nimport { getIdentifierKind } from '@azure/communication-common';\nconst convertChatParticipantsToCommunicationParticipants = (chatParticipants: ChatParticipant[]): ParticipantListParticipant[] => {\n return chatParticipants.map((participant: ChatParticipant) => {\n return {\n userId: toFlatCommunicationIdentifier(participant.id),\n displayName: participant.displayName,\n // ACS users can not remove Teams users.\n // Removing phone numbers or unknown types of users is undefined.\n isRemovable: getIdentifierKind(participant.id).kind === 'communicationUser'\n };\n });\n};\n\n/**\n * get the index of moderator to help updating its display name if they are the local user or removing them from list of participants otherwise\n */\nconst moderatorIndex = (participants: ParticipantListParticipant[]): number => {\n return participants.map(p => p.displayName).indexOf(undefined);\n};\n\n/**\n * Selector type for {@link ParticipantList} component.\n *\n * @public\n */\nexport type ChatParticipantListSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {\n myUserId: string;\n participants: ParticipantListParticipant[];\n};\n\n/**\n * Selector for {@link ParticipantList} component.\n *\n * @public\n */\nexport const chatParticipantListSelector: ChatParticipantListSelector = reselect.createSelector([getUserId, getParticipants, getDisplayName], (userId, chatParticipants: {\n [key: string]: ChatParticipant;\n}, displayName) => {\n let participants = convertChatParticipantsToCommunicationParticipants(Object.values(chatParticipants));\n if (0 !== participants.length) {\n const moderatorIdx = moderatorIndex(participants);\n if (-1 !== moderatorIdx) {\n const userIndex = participants.map(p => p.userId).indexOf(userId);\n if (moderatorIdx === userIndex) {\n participants[moderatorIdx].displayName = displayName;\n } else {\n participants = participants.filter(p => p.displayName);\n }\n }\n }\n return {\n myUserId: userId,\n participants: participants\n };\n});"]}
|
@@ -6,7 +6,7 @@ import { ChatClientState } from "../../chat-stateful-client/src";
|
|
6
6
|
*
|
7
7
|
* @public
|
8
8
|
*/
|
9
|
-
export
|
9
|
+
export type ErrorBarSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {
|
10
10
|
activeErrorMessages: ActiveErrorMessage[];
|
11
11
|
};
|
12
12
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatBaseSelectorProps, getLatestErrors } from './baseSelectors';\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { ChatClientState, ChatError, ChatErrors, ChatErrorTarget } from '@internal/chat-stateful-client';\n\n/**\n * Selector type for {@link ErrorBar} component.\n *\n * @public\n */\nexport type ErrorBarSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {\n activeErrorMessages: ActiveErrorMessage[];\n};\n\n/**\n * Select the first fiew active errors from the state for the {@link ErrorBar} component.\n *\n * In case there are many errors, only a few top errors are returned to avoid\n * filling up the UI with too many errors.\n *\n * Invariants:\n * - {@link ErrorType} is never repeated in the returned errors.\n * - Errors are returned in a fixed order by {@link ErrorType}.\n *\n * @public\n */\nexport const errorBarSelector: ErrorBarSelector = createSelector([getLatestErrors], (latestErrors): {\n activeErrorMessages: ActiveErrorMessage[];\n} => {\n // The order in which the errors are returned is significant: The `ErrorBar` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveErrorMessage[] = [];\n let specificSendMessageErrorSeen = false;\n {\n const error = latestUnableToReachChatServiceError(latestErrors);\n if (error !== undefined) {\n activeErrorMessages.push(error);\n }\n }\n {\n const error = latestAccessDeniedError(latestErrors);\n if (error !== undefined) {\n activeErrorMessages.push(error);\n }\n }\n const sendMessageError = latestErrors['ChatThreadClient.sendMessage'];\n {\n const error = latestNotInThisThreadError(latestErrors);\n if (error !== undefined) {\n if (sendMessageError !== undefined) {\n activeErrorMessages.push({\n type: 'sendMessageNotInChatThread',\n // Set the latest timestamp of all the errors that translated to an active error.\n timestamp: sendMessageError.timestamp > (error.timestamp ?? 0) ? sendMessageError.timestamp : error.timestamp\n });\n specificSendMessageErrorSeen = true;\n } else {\n activeErrorMessages.push(error);\n }\n }\n }\n if (!specificSendMessageErrorSeen && sendMessageError !== undefined) {\n activeErrorMessages.push({\n type: 'sendMessageGeneric',\n timestamp: sendMessageError.timestamp\n });\n }\n\n // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.\n activeErrorMessages.splice(maxErrorCount);\n return {\n activeErrorMessages: activeErrorMessages\n };\n});\nconst maxErrorCount = 3;\nconst accessErrorTargets: ChatErrorTarget[] = ['ChatThreadClient.getProperties', 'ChatThreadClient.listMessages', 'ChatThreadClient.listParticipants', 'ChatThreadClient.sendMessage', 'ChatThreadClient.sendTypingNotification'];\nconst latestUnableToReachChatServiceError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'unableToReachChatService', (error: ChatError): boolean => {\n return !!error && !!error.innerError && error.innerError['code'] === 'REQUEST_SEND_ERROR';\n });\n};\nconst latestAccessDeniedError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'accessDenied', (error: ChatError): boolean => {\n return !!error && !!error.innerError && error.innerError['statusCode'] === 401;\n });\n};\nconst latestNotInThisThreadError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'userNotInChatThread', (error: ChatError): boolean => {\n if (!error || !error.innerError) {\n return false;\n }\n\n // Explicitly ignore 400 REST error when listParticipants() is called and a BotContact MRI is found in the participants.\n // This check should be removed when the chat SDK has handled this issue. Note: The this does not stop the error being logged to the console.\n // To the best of our ability we have confirmed this to have no impact on the participantList returned (all valid participants are still returned), nor\n // does it have an impact on the participant list updating on other participants joining/leaving or on individual participant actions like removeParticipant.\n if (isErrorDueToBotContact(error)) {\n return false;\n }\n\n // Chat service returns 403 if a user has been removed from a thread.\n // Chat service returns either 400 or 404 if the thread ID is malformed, depending on how the thread ID is malformed.\n return [400, 403, 404].some(statusCode => error.innerError['statusCode'] === statusCode);\n });\n};\nconst botContactMRIPrefix = '28:';\nconst isErrorDueToBotContact = (error: ChatError): boolean => error.innerError['statusCode'] === 400 && error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);\nconst latestActiveErrorSatisfying = (errors: ChatErrors, activeErrorType: ErrorType, predicate: (error: ChatError) => boolean): ActiveErrorMessage | undefined => {\n const activeErrorMessages: ActiveErrorMessage[] = [];\n for (const target of accessErrorTargets) {\n const error = errors[target];\n if (predicate(error)) {\n activeErrorMessages.push({\n type: activeErrorType,\n timestamp: error.timestamp\n });\n }\n }\n if (activeErrorMessages.length === 0) {\n return undefined;\n }\n // We're actually sure that both timestamps will always exist, because we set them above.\n activeErrorMessages.sort((a: ActiveErrorMessage, b: ActiveErrorMessage) => (a.timestamp?.getTime() ?? 0) - (b.timestamp?.getTime() ?? 0));\n return activeErrorMessages[activeErrorMessages.length - 1];\n};\"../../react-components/src\"\"../../chat-stateful-client/src\""]}
|
1
|
+
{"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatBaseSelectorProps, getLatestErrors } from './baseSelectors';\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { ChatClientState, ChatError, ChatErrors, ChatErrorTarget } from '@internal/chat-stateful-client';\n\n/**\n * Selector type for {@link ErrorBar} component.\n *\n * @public\n */\nexport type ErrorBarSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {\n activeErrorMessages: ActiveErrorMessage[];\n};\n\n/**\n * Select the first fiew active errors from the state for the {@link ErrorBar} component.\n *\n * In case there are many errors, only a few top errors are returned to avoid\n * filling up the UI with too many errors.\n *\n * Invariants:\n * - {@link ErrorType} is never repeated in the returned errors.\n * - Errors are returned in a fixed order by {@link ErrorType}.\n *\n * @public\n */\nexport const errorBarSelector: ErrorBarSelector = createSelector([getLatestErrors], (latestErrors): {\n activeErrorMessages: ActiveErrorMessage[];\n} => {\n // The order in which the errors are returned is significant: The `ErrorBar` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveErrorMessage[] = [];\n let specificSendMessageErrorSeen = false;\n {\n const error = latestUnableToReachChatServiceError(latestErrors);\n if (error !== undefined) {\n activeErrorMessages.push(error);\n }\n }\n {\n const error = latestAccessDeniedError(latestErrors);\n if (error !== undefined) {\n activeErrorMessages.push(error);\n }\n }\n const sendMessageError = latestErrors['ChatThreadClient.sendMessage'];\n {\n const error = latestNotInThisThreadError(latestErrors);\n if (error !== undefined) {\n if (sendMessageError !== undefined) {\n activeErrorMessages.push({\n type: 'sendMessageNotInChatThread',\n // Set the latest timestamp of all the errors that translated to an active error.\n timestamp: sendMessageError.timestamp > (error.timestamp ?? 0) ? sendMessageError.timestamp : error.timestamp\n });\n specificSendMessageErrorSeen = true;\n } else {\n activeErrorMessages.push(error);\n }\n }\n }\n if (!specificSendMessageErrorSeen && sendMessageError !== undefined) {\n activeErrorMessages.push({\n type: 'sendMessageGeneric',\n timestamp: sendMessageError.timestamp\n });\n }\n\n // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.\n activeErrorMessages.splice(maxErrorCount);\n return {\n activeErrorMessages: activeErrorMessages\n };\n});\nconst maxErrorCount = 3;\nconst accessErrorTargets: ChatErrorTarget[] = ['ChatThreadClient.getProperties', 'ChatThreadClient.listMessages', 'ChatThreadClient.listParticipants', 'ChatThreadClient.sendMessage', 'ChatThreadClient.sendTypingNotification'];\nconst latestUnableToReachChatServiceError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'unableToReachChatService', (error: ChatError): boolean => {\n return !!error && !!error.innerError && error.innerError['code'] === 'REQUEST_SEND_ERROR';\n });\n};\nconst latestAccessDeniedError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'accessDenied', (error: ChatError): boolean => {\n return !!error && !!error.innerError && error.innerError['statusCode'] === 401;\n });\n};\nconst latestNotInThisThreadError = (latestErrors: ChatErrors): ActiveErrorMessage | undefined => {\n return latestActiveErrorSatisfying(latestErrors, 'userNotInChatThread', (error: ChatError): boolean => {\n if (!error || !error.innerError) {\n return false;\n }\n\n // Explicitly ignore 400 REST error when listParticipants() is called and a BotContact MRI is found in the participants.\n // This check should be removed when the chat SDK has handled this issue. Note: The this does not stop the error being logged to the console.\n // To the best of our ability we have confirmed this to have no impact on the participantList returned (all valid participants are still returned), nor\n // does it have an impact on the participant list updating on other participants joining/leaving or on individual participant actions like removeParticipant.\n if (isErrorDueToBotContact(error)) {\n return false;\n }\n\n // Chat service returns 403 if a user has been removed from a thread.\n // Chat service returns either 400 or 404 if the thread ID is malformed, depending on how the thread ID is malformed.\n return [400, 403, 404].some(statusCode => error.innerError['statusCode'] === statusCode);\n });\n};\nconst botContactMRIPrefix = '28:';\nconst isErrorDueToBotContact = (error: ChatError): boolean => error.innerError['statusCode'] === 400 && error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);\nconst latestActiveErrorSatisfying = (errors: ChatErrors, activeErrorType: ErrorType, predicate: (error: ChatError) => boolean): ActiveErrorMessage | undefined => {\n const activeErrorMessages: ActiveErrorMessage[] = [];\n for (const target of accessErrorTargets) {\n const error = errors[target];\n if (predicate(error)) {\n activeErrorMessages.push({\n type: activeErrorType,\n timestamp: error.timestamp\n });\n }\n }\n if (activeErrorMessages.length === 0) {\n return undefined;\n }\n // We're actually sure that both timestamps will always exist, because we set them above.\n activeErrorMessages.sort((a: ActiveErrorMessage, b: ActiveErrorMessage) => (a.timestamp?.getTime() ?? 0) - (b.timestamp?.getTime() ?? 0));\n return activeErrorMessages[activeErrorMessages.length - 1];\n};"]}
|
@@ -2,7 +2,6 @@ import { ReactElement } from 'react';
|
|
2
2
|
import { Common } from "../../../acs-ui-common/src";
|
3
3
|
import { StatefulChatClient } from "../../../chat-stateful-client/src";
|
4
4
|
import { ChatThreadClient, SendMessageOptions } from '@azure/communication-chat';
|
5
|
-
import { FileMetadata } from "../../../react-components/src";
|
6
5
|
/**
|
7
6
|
* Object containing all the handlers required for chat components.
|
8
7
|
*
|
@@ -11,17 +10,14 @@ import { FileMetadata } from "../../../react-components/src";
|
|
11
10
|
*
|
12
11
|
* @public
|
13
12
|
*/
|
14
|
-
export
|
13
|
+
export type ChatHandlers = {
|
15
14
|
onSendMessage: (content: string, options?: SendMessageOptions) => Promise<void>;
|
16
15
|
onMessageSeen: (chatMessageId: string) => Promise<void>;
|
17
16
|
onTyping: () => Promise<void>;
|
18
17
|
onRemoveParticipant: (userId: string) => Promise<void>;
|
19
18
|
updateThreadTopicName: (topicName: string) => Promise<void>;
|
20
19
|
onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
|
21
|
-
onUpdateMessage: (messageId: string, content: string
|
22
|
-
metadata?: Record<string, string>;
|
23
|
-
attachedFilesMetadata?: FileMetadata[];
|
24
|
-
}) => Promise<void>;
|
20
|
+
onUpdateMessage: (messageId: string, content: string) => Promise<void>;
|
25
21
|
onDeleteMessage: (messageId: string) => Promise<void>;
|
26
22
|
};
|
27
23
|
/**
|
@@ -34,7 +34,7 @@ export const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClien
|
|
34
34
|
}),
|
35
35
|
onUpdateMessage: (messageId, content, options) => __awaiter(void 0, void 0, void 0, function* () {
|
36
36
|
const updatedMetadata = (options === null || options === void 0 ? void 0 : options.metadata) ? Object.assign({}, options.metadata) : {};
|
37
|
-
updatedMetadata['fileSharingMetadata'] = JSON.stringify((options === null || options === void 0 ? void 0 : options.
|
37
|
+
updatedMetadata['fileSharingMetadata'] = JSON.stringify((options === null || options === void 0 ? void 0 : options.attachmentMetadata) || []);
|
38
38
|
yield chatThreadClient.updateMessage(messageId, {
|
39
39
|
content,
|
40
40
|
metadata: updatedMetadata
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"createHandlers.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/handlers/createHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAIlC,OAAO,EAAU,+BAA+B,EAAE,mCAAgC;AAGlF,OAAO,UAAU,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"createHandlers.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/handlers/createHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { PagedAsyncIterableIterator } from '@azure/core-paging';\nimport { ReactElement } from 'react';\nimport { Common, fromFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatMessage, ChatMessageReadReceipt, ChatThreadClient, SendMessageOptions } from '@azure/communication-chat';\nimport memoizeOne from 'memoize-one';\nimport { AttachmentMetadata } from '@internal/react-components';\n\n/**\n * Object containing all the handlers required for chat components.\n *\n * Chat related components from this package are able to pick out relevant handlers from this object.\n * See {@link useHandlers} and {@link usePropsFor}.\n *\n * @public\n */\nexport type ChatHandlers = {\n onSendMessage: (content: string, options?: SendMessageOptions) => Promise<void>;\n onMessageSeen: (chatMessageId: string) => Promise<void>;\n onTyping: () => Promise<void>;\n onRemoveParticipant: (userId: string) => Promise<void>;\n updateThreadTopicName: (topicName: string) => Promise<void>;\n onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;\n onUpdateMessage: (messageId: string, content: string) => Promise<void>;\n onDeleteMessage: (messageId: string) => Promise<void>;\n};\n\n/**\n * Create the default implementation of {@link ChatHandlers}.\n *\n * Useful when implementing a custom component that utilizes the providers\n * exported from this library.\n *\n * Returned object is memoized to avoid rerenders when used as props for React Components.\n *\n * @public\n */\nexport const createDefaultChatHandlers = memoizeOne((chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient): ChatHandlers => {\n let messageIterator: PagedAsyncIterableIterator<ChatMessage> | undefined = undefined;\n let readReceiptIterator: PagedAsyncIterableIterator<ChatMessageReadReceipt> | undefined = undefined;\n return {\n onSendMessage: async (content: string, options?: SendMessageOptions) => {\n const sendMessageRequest = {\n content,\n senderDisplayName: chatClient.getState().displayName\n };\n await chatThreadClient.sendMessage(sendMessageRequest, options);\n },\n onUpdateMessage: async (messageId: string, content: string, options?: {\n metadata?: Record<string, string>;\n attachmentMetadata?: AttachmentMetadata[];\n }) => {\n const updatedMetadata = options?.metadata ? {\n ...options.metadata\n } : {};\n updatedMetadata['fileSharingMetadata'] = JSON.stringify(options?.attachmentMetadata || []);\n await chatThreadClient.updateMessage(messageId, {\n content,\n metadata: updatedMetadata\n });\n },\n onDeleteMessage: async (messageId: string) => {\n await chatThreadClient.deleteMessage(messageId);\n },\n // This handler is designed for chatThread to consume\n onMessageSeen: async (chatMessageId: string) => {\n await chatThreadClient.sendReadReceipt({\n chatMessageId\n });\n },\n onTyping: async () => {\n await chatThreadClient.sendTypingNotification();\n },\n onRemoveParticipant: async (userId: string) => {\n await chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));\n },\n updateThreadTopicName: async (topicName: string) => {\n await chatThreadClient.updateTopic(topicName);\n },\n onLoadPreviousChatMessages: async (messagesToLoad: number) => {\n if (messageIterator === undefined) {\n // Lazy definition so that errors in the method call are reported correctly.\n // Also allows recovery via retries in case of transient errors.\n messageIterator = chatThreadClient.listMessages({\n maxPageSize: 50\n });\n }\n if (readReceiptIterator === undefined) {\n readReceiptIterator = chatThreadClient.listReadReceipts();\n }\n // get the earliest message time\n let remainingMessagesToGet = messagesToLoad;\n let isAllChatMessagesLoaded = false;\n let earliestTime = Number.MAX_SAFE_INTEGER;\n while (remainingMessagesToGet >= 1) {\n const message = await messageIterator.next();\n if (message?.value?.id) {\n if (parseInt(message.value.id) < earliestTime) {\n earliestTime = parseInt(message.value.id);\n }\n }\n if (message.value?.type && message.value.type === 'text') {\n remainingMessagesToGet--;\n }\n\n // We have traversed all messages in this thread\n if (message.done) {\n isAllChatMessagesLoaded = true;\n break;\n }\n }\n // keep fetching read receipts until read receipt time < earlist message time\n let readReceipt = await readReceiptIterator.next();\n while (!readReceipt.done && parseInt(readReceipt?.value?.chatMessageId) >= earliestTime) {\n readReceipt = await readReceiptIterator.next();\n }\n return isAllChatMessagesLoaded;\n }\n };\n});\n\n/**\n * Create a set of default handlers for given component.\n *\n * Returned object is memoized (with reference to the arguments) to avoid\n * renders when used as props for React Components.\n *\n * @public\n */\nexport const createDefaultChatHandlersForComponent = <Props,>(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient, _: (props: Props) => ReactElement | null): Common<ChatHandlers, Props> => {\n return createDefaultChatHandlers(chatClient, chatThreadClient);\n};"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,qCAAqC,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAgB,UAAU,EAAE,MAAM,OAAO,CAAC;AAIjD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAU,SAAiD,EAA4C,EAAE;IAClI,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE;
|
1
|
+
{"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,qCAAqC,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAgB,UAAU,EAAE,MAAM,OAAO,CAAC;AAIjD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAU,SAAiD,EAA4C,EAAE;IAClI,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,qCAAqC,CAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;AACxF,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createDefaultChatHandlersForComponent } from '../handlers/createHandlers';\nimport { ChatClientContext } from '../providers/ChatClientProvider';\nimport { ChatThreadClientContext } from '../providers/ChatThreadClientProvider';\nimport { ReactElement, useContext } from 'react';\nimport { Common } from '@internal/acs-ui-common';\nimport { ChatHandlers } from '../handlers/createHandlers';\n\n/**\n * Hook to obtain a handler for a specified component.\n *\n * Useful when implementing a custom component that utilizes the providers\n * exported from this library.\n *\n * @public\n */\nexport const useHandlers = <PropsT,>(component: (props: PropsT) => ReactElement | null): Common<ChatHandlers, PropsT> | undefined => {\n const chatClient = useContext(ChatClientContext);\n const chatThreadClient = useContext(ChatThreadClientContext);\n if (!chatThreadClient || !chatClient) {\n return undefined;\n }\n return createDefaultChatHandlersForComponent(chatClient, chatThreadClient, component);\n};"]}
|
@@ -31,7 +31,7 @@ export declare const usePropsFor: <Component extends (props: any) => JSX.Element
|
|
31
31
|
*
|
32
32
|
* @public
|
33
33
|
*/
|
34
|
-
export
|
34
|
+
export type GetSelector<Component extends (props: any) => JSX.Element | undefined> = AreEqual<Component, typeof SendBox> extends true ? SendBoxSelector : AreEqual<Component, typeof MessageThread> extends true ? MessageThreadSelector : AreEqual<Component, typeof TypingIndicator> extends true ? TypingIndicatorSelector : AreEqual<Component, typeof ParticipantList> extends true ? ChatParticipantListSelector : AreEqual<Component, typeof ErrorBar> extends true ? ErrorBarSelector : undefined;
|
35
35
|
/**
|
36
36
|
* Get the selector for a specified component.
|
37
37
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"usePropsFor.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/hooks/usePropsFor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAChH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAyB,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAA2B,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG9F,OAAO,EAA+B,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC1G,OAAO,EAAoB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiD,SAAoB,EAAwJ,EAAE;IACxP,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,CAA2B,SAAS,CAAC,CAAC;IAClE,IAAI,KAAK,KAAK,SAAS,EAAE;
|
1
|
+
{"version":3,"file":"usePropsFor.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/hooks/usePropsFor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAChH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAmB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAyB,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAA2B,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG9F,OAAO,EAA+B,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC1G,OAAO,EAAoB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiD,SAAoB,EAAwJ,EAAE;IACxP,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,WAAW,CAA2B,SAAS,CAAC,CAAC;IAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAQ,gCACH,KAAK,GACL,QAAQ,CACJ,CAAC;IACZ,CAAC;IACD,OAAQ,SAAiB,CAAC;AAC5B,CAAC,CAAC;AASF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAA6D,SAAoB,EAA0B,EAAE;IACtI,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC;AACF,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,MAAM,YAAY,GAAG,CAAC,SAAkD,EAAO,EAAE;IAC/E,8EAA8E;IAC9E,8FAA8F;IAC9F,yBAAyB;IACzB,MAAM,wBAAwB,GAAgC,GAAG,EAAE;;QACjE,MAAM,QAAQ,GAAG,MAAA,MAAA,UAAU,CAAC,uBAAuB,CAAC,0CAAE,QAAQ,mCAAI,iCAAiC,CAAC;QACpG,IAAI,yBAAyB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,8BAA8B,CAAC,QAAQ,CAAC,GAAG,+BAA+B,EAAE,CAAC;YAC7E,yBAAyB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,yBAAyB,CAAC;IACnC,CAAC,CAAC;IACF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,eAAe,CAAC;QACzB,KAAK,aAAa;YAChB,OAAO,wBAAwB,EAAE,CAAC;QACpC,KAAK,eAAe;YAClB,OAAO,uBAAuB,CAAC;QACjC,KAAK,eAAe;YAClB,OAAO,2BAA2B,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { ErrorBar, MessageThread, ParticipantList, SendBox, TypingIndicator } from '@internal/react-components';\nimport { useHandlers } from './useHandlers';\nimport { useSelector } from './useSelector';\nimport { SendBoxSelector, sendBoxSelector } from '../sendBoxSelector';\nimport { MessageThreadSelector, messageThreadSelectorWithThread } from '../messageThreadSelector';\nimport { TypingIndicatorSelector, typingIndicatorSelector } from '../typingIndicatorSelector';\nimport { Common, AreEqual } from '@internal/acs-ui-common';\nimport { ChatHandlers } from '../handlers/createHandlers';\nimport { ChatParticipantListSelector, chatParticipantListSelector } from '../chatParticipantListSelector';\nimport { ErrorBarSelector, errorBarSelector } from '../errorBarSelector';\nimport { ChatThreadClientContext } from '../providers/ChatThreadClientProvider';\nimport { useContext } from 'react';\n\n/**\n * Primary hook to get all hooks necessary for a chat Component.\n *\n * Most straightforward usage of chat components looks like:\n *\n * @example\n * ```\n * import { ParticipantList, usePropsFor } from '@azure/communication-react';\n *\n * const App = (): JSX.Element => {\n * // ... code to setup Providers ...\n *\n * return <ParticipantList {...usePropsFor(ParticipantList)}/>\n * }\n * ```\n *\n * @public\n */\nexport const usePropsFor = <Component extends (props: any) => JSX.Element,>(component: Component): GetSelector<Component> extends (props: any) => any ? ReturnType<GetSelector<Component>> & Common<ChatHandlers, Parameters<Component>[0]> : undefined => {\n const selector = getSelector(component);\n const props = useSelector(selector);\n const handlers = useHandlers<Parameters<Component>[0]>(component);\n if (props !== undefined) {\n return ({\n ...props,\n ...handlers\n } as any);\n }\n return (undefined as any);\n};\n\n/**\n * Specific type of the selector applicable to a given Component.\n *\n * @public\n */\nexport type GetSelector<Component extends (props: any) => JSX.Element | undefined> = AreEqual<Component, typeof SendBox> extends true ? SendBoxSelector : AreEqual<Component, typeof MessageThread> extends true ? MessageThreadSelector : AreEqual<Component, typeof TypingIndicator> extends true ? TypingIndicatorSelector : AreEqual<Component, typeof ParticipantList> extends true ? ChatParticipantListSelector : AreEqual<Component, typeof ErrorBar> extends true ? ErrorBarSelector : undefined;\n\n/**\n * Get the selector for a specified component.\n *\n * Useful when implementing a custom component that utilizes the providers\n * exported from this library.\n *\n * @public\n */\nexport const getSelector = <Component extends (props: any) => JSX.Element | undefined,>(component: Component): GetSelector<Component> => {\n return findSelector(component);\n};\nconst messageThreadSelectorsByThread = {};\nconst findSelector = (component: (props: any) => JSX.Element | undefined): any => {\n // For the message thread selector we need to create a new one for each thread\n // If we have just one for the entire app, then we will have updates when not expecting due to\n // the arguments changing\n const getMessageThreadSelector: () => MessageThreadSelector = () => {\n const threadId = useContext(ChatThreadClientContext)?.threadId ?? 'default-id-when-not-in-provider';\n let messageThreadSelectorImpl = messageThreadSelectorsByThread[threadId];\n if (!messageThreadSelectorImpl) {\n messageThreadSelectorsByThread[threadId] = messageThreadSelectorWithThread();\n messageThreadSelectorImpl = messageThreadSelectorsByThread[threadId];\n }\n return messageThreadSelectorImpl;\n };\n switch (component) {\n case SendBox:\n return sendBoxSelector;\n case MessageThread:\n return getMessageThreadSelector();\n case TypingIndicator:\n return typingIndicatorSelector;\n case ParticipantList:\n return chatParticipantListSelector;\n case ErrorBar:\n return errorBarSelector;\n }\n return undefined;\n};"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useSelector.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/hooks/useSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAsG,QAAgB,EAAE,aAAwC,EAAgE,EAAE;;IAC3P,MAAM,UAAU,GAAmC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,MAAA,UAAU,CAAC,uBAAuB,CAAC,0CAAE,QAAQ,CAAC;IAE/D,sHAAsH;IACtH,qHAAqH;IACrH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,QAAQ;KACT,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7I,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE;
|
1
|
+
{"version":3,"file":"useSelector.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/hooks/useSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAsG,QAAgB,EAAE,aAAwC,EAAgE,EAAE;;IAC3P,MAAM,UAAU,GAAmC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,MAAA,UAAU,CAAC,uBAAuB,CAAC,0CAAE,QAAQ,CAAC;IAE/D,sHAAsH;IACtH,qHAAqH;IACrH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvC,QAAQ;KACT,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7I,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAQ,EAAE;YACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,iBAAiB,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QACF,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatClientState, StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatClientContext } from '../providers/ChatClientProvider';\nimport { useState, useEffect, useRef, useMemo, useContext } from 'react';\nimport { ChatThreadClientContext } from '../providers/ChatThreadClientProvider';\n\n/**\n * Hook to obtain a selector for a specified component.\n *\n * Useful when implementing a custom component that utilizes the providers\n * exported from this library.\n *\n * @public\n */\nexport const useSelector = <SelectorT extends (state: ChatClientState, props: any) => any, ParamT extends SelectorT | undefined>(selector: ParamT, selectorProps?: Parameters<SelectorT>[1]): ParamT extends SelectorT ? ReturnType<SelectorT> : undefined => {\n const chatClient: StatefulChatClient | undefined = useContext(ChatClientContext);\n const threadId = useContext(ChatThreadClientContext)?.threadId;\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n const threadConfigProps = useMemo(() => ({\n threadId\n }), [threadId]);\n const [props, setProps] = useState(chatClient && selector ? selector(chatClient.getState(), selectorProps ?? threadConfigProps) : undefined);\n const propRef = useRef(props);\n propRef.current = props;\n useEffect(() => {\n if (!chatClient || !selector) {\n return;\n }\n const onStateChange = (state: ChatClientState): void => {\n const newProps = selector(state, selectorProps ?? threadConfigProps);\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n chatClient.onStateChange(onStateChange);\n return () => {\n chatClient.offStateChange(onStateChange);\n };\n }, [chatClient, selector, selectorProps, threadConfigProps]);\n return selector ? props : undefined;\n};"]}
|
@@ -6,7 +6,7 @@ import { Message } from "../../react-components/src";
|
|
6
6
|
*
|
7
7
|
* @public
|
8
8
|
*/
|
9
|
-
export
|
9
|
+
export type MessageThreadSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {
|
10
10
|
userId: string;
|
11
11
|
showMessageStatus: boolean;
|
12
12
|
messages: Message[];
|
@@ -5,15 +5,9 @@ import { toFlatCommunicationIdentifier } from "../../acs-ui-common/src";
|
|
5
5
|
import { memoizeFnAll } from "../../acs-ui-common/src";
|
6
6
|
import { createSelector } from 'reselect';
|
7
7
|
import { ACSKnownMessageType } from './utils/constants';
|
8
|
-
/* @conditional-compile-remove(data-loss-prevention) */
|
9
|
-
import { DEFAULT_DATA_LOSS_PREVENTION_POLICY_URL } from './utils/constants';
|
10
8
|
import { updateMessagesWithAttached } from './utils/updateMessagesWithAttached';
|
11
9
|
const memoizedAllConvertChatMessage = memoizeFnAll((_key, chatMessage, userId, isSeen, isLargeGroup) => {
|
12
10
|
const messageType = chatMessage.type.toLowerCase();
|
13
|
-
/* @conditional-compile-remove(data-loss-prevention) */
|
14
|
-
if (chatMessage.policyViolation) {
|
15
|
-
return convertToUiBlockedMessage(chatMessage, userId, isSeen, isLargeGroup);
|
16
|
-
}
|
17
11
|
if (messageType === ACSKnownMessageType.text || messageType === ACSKnownMessageType.richtextHtml || messageType === ACSKnownMessageType.html) {
|
18
12
|
return convertToUiChatMessage(chatMessage, userId, isSeen, isLargeGroup);
|
19
13
|
}
|
@@ -21,110 +15,9 @@ const memoizedAllConvertChatMessage = memoizeFnAll((_key, chatMessage, userId, i
|
|
21
15
|
return convertToUiSystemMessage(chatMessage);
|
22
16
|
}
|
23
17
|
});
|
24
|
-
/* @conditional-compile-remove(file-sharing) */
|
25
|
-
const extractAttachedFilesMetadata = (metadata) => {
|
26
|
-
const fileMetadata = metadata['fileSharingMetadata'];
|
27
|
-
if (!fileMetadata) {
|
28
|
-
return [];
|
29
|
-
}
|
30
|
-
try {
|
31
|
-
return JSON.parse(fileMetadata);
|
32
|
-
}
|
33
|
-
catch (e) {
|
34
|
-
console.error(e);
|
35
|
-
return [];
|
36
|
-
}
|
37
|
-
};
|
38
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
39
|
-
const extractTeamsAttachmentsMetadata = (attachments) => {
|
40
|
-
const fileMetadata = [];
|
41
|
-
attachments.forEach(attachment => {
|
42
|
-
var _a, _b, _c, _d;
|
43
|
-
const attachmentType = mapAttachmentType(attachment.attachmentType);
|
44
|
-
if (attachmentType === 'inlineImage') {
|
45
|
-
fileMetadata.push({
|
46
|
-
attachmentType: attachmentType,
|
47
|
-
id: attachment.id,
|
48
|
-
name: (_a = attachment.name) !== null && _a !== void 0 ? _a : '',
|
49
|
-
extension: (_b = attachment.contentType) !== null && _b !== void 0 ? _b : '',
|
50
|
-
url: extractAttachmentUrl(attachment),
|
51
|
-
previewUrl: attachment.previewUrl
|
52
|
-
});
|
53
|
-
}
|
54
|
-
else if (attachmentType === 'fileSharing') {
|
55
|
-
fileMetadata.push({
|
56
|
-
attachmentType: attachmentType,
|
57
|
-
id: attachment.id,
|
58
|
-
name: (_c = attachment.name) !== null && _c !== void 0 ? _c : '',
|
59
|
-
extension: (_d = attachment.contentType) !== null && _d !== void 0 ? _d : '',
|
60
|
-
url: extractAttachmentUrl(attachment),
|
61
|
-
payload: {
|
62
|
-
teamsFileAttachment: 'true'
|
63
|
-
}
|
64
|
-
});
|
65
|
-
}
|
66
|
-
});
|
67
|
-
return fileMetadata;
|
68
|
-
};
|
69
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
70
|
-
const mapAttachmentType = (attachmentType) => {
|
71
|
-
if (attachmentType === 'teamsImage' || attachmentType === 'teamsInlineImage') {
|
72
|
-
return 'inlineImage';
|
73
|
-
}
|
74
|
-
else if (attachmentType === 'file') {
|
75
|
-
return 'fileSharing';
|
76
|
-
}
|
77
|
-
return 'unknown';
|
78
|
-
};
|
79
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
80
|
-
const extractAttachmentUrl = (attachment) => {
|
81
|
-
return attachment.attachmentType === 'file' && attachment.previewUrl ? attachment.previewUrl : attachment.url;
|
82
|
-
};
|
83
18
|
const processChatMessageContent = (message) => {
|
84
|
-
var _a
|
85
|
-
|
86
|
-
if (sanitizedMessageContentType(message.type).includes('html') && ((_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments)) {
|
87
|
-
const attachments = (_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments;
|
88
|
-
const teamsImageHtmlContent = attachments.filter(attachment => attachment.attachmentType === 'teamsImage').map(attachment => generateImageAttachmentImgHtml(attachment)).join('');
|
89
|
-
if (teamsImageHtmlContent) {
|
90
|
-
return ((_d = (_c = message.content) === null || _c === void 0 ? void 0 : _c.message) !== null && _d !== void 0 ? _d : '') + teamsImageHtmlContent;
|
91
|
-
}
|
92
|
-
}
|
93
|
-
return (_e = message.content) === null || _e === void 0 ? void 0 : _e.message;
|
94
|
-
};
|
95
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
96
|
-
const generateImageAttachmentImgHtml = (attachment) => {
|
97
|
-
return `\r\n<p><img alt="image" src="" itemscope="${attachment.contentType}" id="${attachment.id}"></p>`;
|
98
|
-
};
|
99
|
-
/* @conditional-compile-remove(file-sharing) @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
100
|
-
const extractFilesMetadata = (message) => {
|
101
|
-
var _a, _b;
|
102
|
-
let fileMetadata = [];
|
103
|
-
/* @conditional-compile-remove(file-sharing) */
|
104
|
-
if (message.metadata) {
|
105
|
-
fileMetadata = fileMetadata.concat(extractAttachedFilesMetadata(message.metadata));
|
106
|
-
}
|
107
|
-
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
108
|
-
if ((_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments) {
|
109
|
-
fileMetadata = fileMetadata.concat(extractTeamsAttachmentsMetadata((_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments));
|
110
|
-
}
|
111
|
-
return fileMetadata;
|
112
|
-
};
|
113
|
-
/* @conditional-compile-remove(data-loss-prevention) */
|
114
|
-
const convertToUiBlockedMessage = (message, userId, isSeen, isLargeGroup) => {
|
115
|
-
const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;
|
116
|
-
return {
|
117
|
-
messageType: 'blocked',
|
118
|
-
createdOn: message.createdOn,
|
119
|
-
warningText: undefined,
|
120
|
-
status: !isLargeGroup && message.status === 'delivered' && isSeen ? 'seen' : message.status,
|
121
|
-
senderDisplayName: message.senderDisplayName,
|
122
|
-
senderId: messageSenderId,
|
123
|
-
messageId: message.id,
|
124
|
-
deletedOn: message.deletedOn,
|
125
|
-
mine: messageSenderId === userId,
|
126
|
-
link: DEFAULT_DATA_LOSS_PREVENTION_POLICY_URL
|
127
|
-
};
|
19
|
+
var _a;
|
20
|
+
return (_a = message.content) === null || _a === void 0 ? void 0 : _a.message;
|
128
21
|
};
|
129
22
|
const convertToUiChatMessage = (message, userId, isSeen, isLargeGroup) => {
|
130
23
|
const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;
|
@@ -141,9 +34,7 @@ const convertToUiChatMessage = (message, userId, isSeen, isLargeGroup) => {
|
|
141
34
|
editedOn: message.editedOn,
|
142
35
|
deletedOn: message.deletedOn,
|
143
36
|
mine: messageSenderId === userId,
|
144
|
-
metadata: message.metadata
|
145
|
-
/* @conditional-compile-remove(file-sharing) @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
146
|
-
attachedFilesMetadata: extractFilesMetadata(message)
|
37
|
+
metadata: message.metadata
|
147
38
|
};
|
148
39
|
};
|
149
40
|
const convertToUiSystemMessage = (message) => {
|
@@ -220,18 +111,14 @@ const sanitizedMessageContentType = (type) => {
|
|
220
111
|
return lowerCaseType === 'text' || lowerCaseType === 'html' || lowerCaseType === 'richtext/html' ? lowerCaseType : 'unknown';
|
221
112
|
};
|
222
113
|
const isMessageValidToRender = (message) => {
|
223
|
-
var _a, _b
|
114
|
+
var _a, _b;
|
224
115
|
if (message.deletedOn) {
|
225
116
|
return false;
|
226
117
|
}
|
227
|
-
if ((
|
228
|
-
return true;
|
229
|
-
}
|
230
|
-
/* @conditional-compile-remove(data-loss-prevention) */
|
231
|
-
if (message.policyViolation) {
|
118
|
+
if ((_a = message.metadata) === null || _a === void 0 ? void 0 : _a['fileSharingMetadata']) {
|
232
119
|
return true;
|
233
120
|
}
|
234
|
-
return !!(message.content && ((
|
121
|
+
return !!(message.content && ((_b = message.content) === null || _b === void 0 ? void 0 : _b.message) !== '');
|
235
122
|
};
|
236
123
|
/**
|
237
124
|
* Selector for {@link MessageThread} component.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"messageThreadSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/messageThreadSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatBaseSelectorProps, getChatMessages, getIsLargeGroup, getLatestReadTime, getParticipants, getReadReceipts, getUserId } from './baseSelectors';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ChatClientState, ChatMessageWithStatus } from '@internal/chat-stateful-client';\nimport { memoizeFnAll } from '@internal/acs-ui-common';\nimport { ChatMessage, Message, CommunicationParticipant, SystemMessage, MessageContentType, ReadReceiptsBySenderId } from '@internal/react-components';\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { BlockedMessage } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { ACSKnownMessageType } from './utils/constants';\n/* @conditional-compile-remove(data-loss-prevention) */\nimport { DEFAULT_DATA_LOSS_PREVENTION_POLICY_URL } from './utils/constants';\nimport { updateMessagesWithAttached } from './utils/updateMessagesWithAttached';\n\n/* @conditional-compile-remove(file-sharing) @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nimport { FileMetadata, FileMetadataAttachmentType } from '@internal/react-components';\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nimport { AttachmentType, ChatAttachment } from '@azure/communication-chat';\nconst memoizedAllConvertChatMessage = memoizeFnAll((_key: string, chatMessage: ChatMessageWithStatus, userId: string, isSeen: boolean, isLargeGroup: boolean): Message => {\n const messageType = chatMessage.type.toLowerCase();\n /* @conditional-compile-remove(data-loss-prevention) */\n if (chatMessage.policyViolation) {\n return convertToUiBlockedMessage(chatMessage, userId, isSeen, isLargeGroup);\n }\n if (messageType === ACSKnownMessageType.text || messageType === ACSKnownMessageType.richtextHtml || messageType === ACSKnownMessageType.html) {\n return convertToUiChatMessage(chatMessage, userId, isSeen, isLargeGroup);\n } else {\n return convertToUiSystemMessage(chatMessage);\n }\n});\n\n/* @conditional-compile-remove(file-sharing) */\nconst extractAttachedFilesMetadata = (metadata: Record<string, string>): FileMetadata[] => {\n const fileMetadata = metadata['fileSharingMetadata'];\n if (!fileMetadata) {\n return [];\n }\n try {\n return JSON.parse(fileMetadata);\n } catch (e) {\n console.error(e);\n return [];\n }\n};\n\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst extractTeamsAttachmentsMetadata = (attachments: ChatAttachment[]): FileMetadata[] => {\n const fileMetadata: FileMetadata[] = [];\n attachments.forEach(attachment => {\n const attachmentType = mapAttachmentType(attachment.attachmentType);\n if (attachmentType === 'inlineImage') {\n fileMetadata.push({\n attachmentType: attachmentType,\n id: attachment.id,\n name: attachment.name ?? '',\n extension: attachment.contentType ?? '',\n url: extractAttachmentUrl(attachment),\n previewUrl: attachment.previewUrl\n });\n } else if (attachmentType === 'fileSharing') {\n fileMetadata.push({\n attachmentType: attachmentType,\n id: attachment.id,\n name: attachment.name ?? '',\n extension: attachment.contentType ?? '',\n url: extractAttachmentUrl(attachment),\n payload: {\n teamsFileAttachment: 'true'\n }\n });\n }\n });\n return fileMetadata;\n};\n\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst mapAttachmentType = (attachmentType: AttachmentType): FileMetadataAttachmentType => {\n if (attachmentType === 'teamsImage' || attachmentType === 'teamsInlineImage') {\n return 'inlineImage';\n } else if (attachmentType === 'file') {\n return 'fileSharing';\n }\n return 'unknown';\n};\n\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst extractAttachmentUrl = (attachment: ChatAttachment): string => {\n return attachment.attachmentType === 'file' && attachment.previewUrl ? attachment.previewUrl : attachment.url;\n};\nconst processChatMessageContent = (message: ChatMessageWithStatus): string | undefined => {\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n if (sanitizedMessageContentType(message.type).includes('html') && message.content?.attachments) {\n const attachments: ChatAttachment[] = message.content?.attachments;\n const teamsImageHtmlContent = attachments.filter(attachment => attachment.attachmentType === 'teamsImage').map(attachment => generateImageAttachmentImgHtml(attachment)).join('');\n if (teamsImageHtmlContent) {\n return (message.content?.message ?? '') + teamsImageHtmlContent;\n }\n }\n return message.content?.message;\n};\n\n/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst generateImageAttachmentImgHtml = (attachment: ChatAttachment): string => {\n return `\\r\\n<p><img alt=\"image\" src=\"\" itemscope=\"${attachment.contentType}\" id=\"${attachment.id}\"></p>`;\n};\n\n/* @conditional-compile-remove(file-sharing) @conditional-compile-remove(teams-inline-images-and-file-sharing) */\nconst extractFilesMetadata = (message: ChatMessageWithStatus): FileMetadata[] => {\n let fileMetadata: FileMetadata[] = [];\n\n /* @conditional-compile-remove(file-sharing) */\n if (message.metadata) {\n fileMetadata = fileMetadata.concat(extractAttachedFilesMetadata(message.metadata));\n }\n\n /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n if (message.content?.attachments) {\n fileMetadata = fileMetadata.concat(extractTeamsAttachmentsMetadata(message.content?.attachments));\n }\n return fileMetadata;\n};\n\n/* @conditional-compile-remove(data-loss-prevention) */\nconst convertToUiBlockedMessage = (message: ChatMessageWithStatus, userId: string, isSeen: boolean, isLargeGroup: boolean): BlockedMessage => {\n const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n return {\n messageType: 'blocked',\n createdOn: message.createdOn,\n warningText: undefined,\n status: !isLargeGroup && message.status === 'delivered' && isSeen ? 'seen' : message.status,\n senderDisplayName: message.senderDisplayName,\n senderId: messageSenderId,\n messageId: message.id,\n deletedOn: message.deletedOn,\n mine: messageSenderId === userId,\n link: DEFAULT_DATA_LOSS_PREVENTION_POLICY_URL\n };\n};\nconst convertToUiChatMessage = (message: ChatMessageWithStatus, userId: string, isSeen: boolean, isLargeGroup: boolean): ChatMessage => {\n const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n return {\n messageType: 'chat',\n createdOn: message.createdOn,\n content: processChatMessageContent(message),\n contentType: sanitizedMessageContentType(message.type),\n status: !isLargeGroup && message.status === 'delivered' && isSeen ? 'seen' : message.status,\n senderDisplayName: message.senderDisplayName,\n senderId: messageSenderId,\n messageId: message.id,\n clientMessageId: message.clientMessageId,\n editedOn: message.editedOn,\n deletedOn: message.deletedOn,\n mine: messageSenderId === userId,\n metadata: message.metadata,\n /* @conditional-compile-remove(file-sharing) @conditional-compile-remove(teams-inline-images-and-file-sharing) */\n attachedFilesMetadata: extractFilesMetadata(message)\n };\n};\nconst convertToUiSystemMessage = (message: ChatMessageWithStatus): SystemMessage => {\n const systemMessageType = message.type;\n if (systemMessageType === 'participantAdded' || systemMessageType === 'participantRemoved') {\n return {\n messageType: 'system',\n systemMessageType,\n createdOn: message.createdOn,\n participants: message.content?.participants\n // TODO: In our moderator logic, we use undefined name as our displayName for moderator, which should be filtered out\n // Once we have a better solution to identify the moderator, remove this line\n ?.filter(participant => participant.displayName && participant.displayName !== '').map((participant): CommunicationParticipant => ({\n userId: toFlatCommunicationIdentifier(participant.id),\n displayName: participant.displayName\n })) ?? [],\n messageId: message.id,\n iconName: systemMessageType === 'participantAdded' ? 'PeopleAdd' : 'PeopleBlock'\n };\n } else {\n // Only topic updated type left, according to ACSKnown type\n return {\n messageType: 'system',\n systemMessageType: 'topicUpdated',\n createdOn: message.createdOn,\n topic: message.content?.topic ?? '',\n messageId: message.id,\n iconName: 'Edit'\n };\n }\n};\n\n/**\n * Selector type for {@link MessageThread} component.\n *\n * @public\n */\nexport type MessageThreadSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {\n userId: string;\n showMessageStatus: boolean;\n messages: Message[];\n};\n\n/** Returns `true` if the message has participants and at least one participant has a display name. */\nconst hasValidParticipant = (chatMessage: ChatMessageWithStatus): boolean => !!chatMessage.content?.participants && chatMessage.content.participants.some(p => !!p.displayName);\n\n/**\n *\n * @private\n */\nexport const messageThreadSelectorWithThread: () => MessageThreadSelector = () => createSelector([getUserId, getChatMessages, getLatestReadTime, getIsLargeGroup, getReadReceipts, getParticipants], (userId, chatMessages, latestReadTime, isLargeGroup, readReceipts, participants) => {\n // We can't get displayName in teams meeting interop for now, disable rr feature when it is teams interop\n const isTeamsInterop = Object.values(participants).find(p => 'microsoftTeamsUserId' in p.id) !== undefined;\n\n // get number of participants\n // filter out the non valid participants (no display name)\n // Read Receipt details will be disabled when participant count is 0\n const participantCount = isTeamsInterop ? undefined : Object.values(participants).filter(p => p.displayName && p.displayName !== '').length;\n\n // creating key value pairs of senderID: last read message information\n\n const readReceiptsBySenderId: ReadReceiptsBySenderId = {};\n\n // readReceiptsBySenderId[senderID] gets updated every time a new message is read by this sender\n // in this way we can make sure that we are only saving the latest read message id and read on time for each sender\n readReceipts.filter(r => r.sender && toFlatCommunicationIdentifier(r.sender) !== userId).forEach(r => {\n readReceiptsBySenderId[toFlatCommunicationIdentifier(r.sender)] = {\n lastReadMessage: r.chatMessageId,\n displayName: participants[toFlatCommunicationIdentifier(r.sender)]?.displayName ?? ''\n };\n });\n\n // A function takes parameter above and generate return value\n const convertedMessages = memoizedAllConvertChatMessage(memoizedFn => Object.values(chatMessages).filter(message => message.type.toLowerCase() === ACSKnownMessageType.text || message.type.toLowerCase() === ACSKnownMessageType.richtextHtml || message.type.toLowerCase() === ACSKnownMessageType.html || message.type === ACSKnownMessageType.participantAdded && hasValidParticipant(message) || message.type === ACSKnownMessageType.participantRemoved && hasValidParticipant(message) ||\n // TODO: Add support for topicUpdated system messages in MessageThread component.\n // message.type === ACSKnownMessageType.topicUpdated ||\n message.clientMessageId !== undefined).filter(isMessageValidToRender).map(message => {\n return memoizedFn(message.id ?? message.clientMessageId, message, userId, message.createdOn <= latestReadTime, isLargeGroup);\n }));\n updateMessagesWithAttached(convertedMessages);\n return {\n userId,\n showMessageStatus: true,\n messages: convertedMessages,\n participantCount,\n readReceiptsBySenderId\n };\n});\nconst sanitizedMessageContentType = (type: string): MessageContentType => {\n const lowerCaseType = type.toLowerCase();\n return lowerCaseType === 'text' || lowerCaseType === 'html' || lowerCaseType === 'richtext/html' ? lowerCaseType : 'unknown';\n};\nconst isMessageValidToRender = (message: ChatMessageWithStatus): boolean => {\n if (message.deletedOn) {\n return false;\n }\n if (message.metadata?.['fileSharingMetadata'] || /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */message.content?.attachments) {\n return true;\n }\n /* @conditional-compile-remove(data-loss-prevention) */\n if (message.policyViolation) {\n return true;\n }\n return !!(message.content && message.content?.message !== '');\n};\n\n/**\n * Selector for {@link MessageThread} component.\n *\n * @public\n */\nexport const messageThreadSelector: MessageThreadSelector = messageThreadSelectorWithThread();\"../../acs-ui-common/src\"\"../../chat-stateful-client/src\"\"../../react-components/src\""]}
|
1
|
+
{"version":3,"file":"messageThreadSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/messageThreadSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatBaseSelectorProps, getChatMessages, getIsLargeGroup, getLatestReadTime, getParticipants, getReadReceipts, getUserId } from './baseSelectors';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ChatClientState, ChatMessageWithStatus } from '@internal/chat-stateful-client';\nimport { memoizeFnAll } from '@internal/acs-ui-common';\nimport { ChatMessage, Message, CommunicationParticipant, SystemMessage, MessageContentType, ReadReceiptsBySenderId } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { ACSKnownMessageType } from './utils/constants';\nimport { updateMessagesWithAttached } from './utils/updateMessagesWithAttached';\nconst memoizedAllConvertChatMessage = memoizeFnAll((_key: string, chatMessage: ChatMessageWithStatus, userId: string, isSeen: boolean, isLargeGroup: boolean): Message => {\n const messageType = chatMessage.type.toLowerCase();\n if (messageType === ACSKnownMessageType.text || messageType === ACSKnownMessageType.richtextHtml || messageType === ACSKnownMessageType.html) {\n return convertToUiChatMessage(chatMessage, userId, isSeen, isLargeGroup);\n } else {\n return convertToUiSystemMessage(chatMessage);\n }\n});\nconst processChatMessageContent = (message: ChatMessageWithStatus): string | undefined => {\n return message.content?.message;\n};\nconst convertToUiChatMessage = (message: ChatMessageWithStatus, userId: string, isSeen: boolean, isLargeGroup: boolean): ChatMessage => {\n const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n return {\n messageType: 'chat',\n createdOn: message.createdOn,\n content: processChatMessageContent(message),\n contentType: sanitizedMessageContentType(message.type),\n status: !isLargeGroup && message.status === 'delivered' && isSeen ? 'seen' : message.status,\n senderDisplayName: message.senderDisplayName,\n senderId: messageSenderId,\n messageId: message.id,\n clientMessageId: message.clientMessageId,\n editedOn: message.editedOn,\n deletedOn: message.deletedOn,\n mine: messageSenderId === userId,\n metadata: message.metadata\n };\n};\nconst convertToUiSystemMessage = (message: ChatMessageWithStatus): SystemMessage => {\n const systemMessageType = message.type;\n if (systemMessageType === 'participantAdded' || systemMessageType === 'participantRemoved') {\n return {\n messageType: 'system',\n systemMessageType,\n createdOn: message.createdOn,\n participants: message.content?.participants\n // TODO: In our moderator logic, we use undefined name as our displayName for moderator, which should be filtered out\n // Once we have a better solution to identify the moderator, remove this line\n ?.filter(participant => participant.displayName && participant.displayName !== '').map((participant): CommunicationParticipant => ({\n userId: toFlatCommunicationIdentifier(participant.id),\n displayName: participant.displayName\n })) ?? [],\n messageId: message.id,\n iconName: systemMessageType === 'participantAdded' ? 'PeopleAdd' : 'PeopleBlock'\n };\n } else {\n // Only topic updated type left, according to ACSKnown type\n return {\n messageType: 'system',\n systemMessageType: 'topicUpdated',\n createdOn: message.createdOn,\n topic: message.content?.topic ?? '',\n messageId: message.id,\n iconName: 'Edit'\n };\n }\n};\n\n/**\n * Selector type for {@link MessageThread} component.\n *\n * @public\n */\nexport type MessageThreadSelector = (state: ChatClientState, props: ChatBaseSelectorProps) => {\n userId: string;\n showMessageStatus: boolean;\n messages: Message[];\n};\n\n/** Returns `true` if the message has participants and at least one participant has a display name. */\nconst hasValidParticipant = (chatMessage: ChatMessageWithStatus): boolean => !!chatMessage.content?.participants && chatMessage.content.participants.some(p => !!p.displayName);\n\n/**\n *\n * @private\n */\nexport const messageThreadSelectorWithThread: () => MessageThreadSelector = () => createSelector([getUserId, getChatMessages, getLatestReadTime, getIsLargeGroup, getReadReceipts, getParticipants], (userId, chatMessages, latestReadTime, isLargeGroup, readReceipts, participants) => {\n // We can't get displayName in teams meeting interop for now, disable rr feature when it is teams interop\n const isTeamsInterop = Object.values(participants).find(p => 'microsoftTeamsUserId' in p.id) !== undefined;\n\n // get number of participants\n // filter out the non valid participants (no display name)\n // Read Receipt details will be disabled when participant count is 0\n const participantCount = isTeamsInterop ? undefined : Object.values(participants).filter(p => p.displayName && p.displayName !== '').length;\n\n // creating key value pairs of senderID: last read message information\n\n const readReceiptsBySenderId: ReadReceiptsBySenderId = {};\n\n // readReceiptsBySenderId[senderID] gets updated every time a new message is read by this sender\n // in this way we can make sure that we are only saving the latest read message id and read on time for each sender\n readReceipts.filter(r => r.sender && toFlatCommunicationIdentifier(r.sender) !== userId).forEach(r => {\n readReceiptsBySenderId[toFlatCommunicationIdentifier(r.sender)] = {\n lastReadMessage: r.chatMessageId,\n displayName: participants[toFlatCommunicationIdentifier(r.sender)]?.displayName ?? ''\n };\n });\n\n // A function takes parameter above and generate return value\n const convertedMessages = memoizedAllConvertChatMessage(memoizedFn => Object.values(chatMessages).filter(message => message.type.toLowerCase() === ACSKnownMessageType.text || message.type.toLowerCase() === ACSKnownMessageType.richtextHtml || message.type.toLowerCase() === ACSKnownMessageType.html || message.type === ACSKnownMessageType.participantAdded && hasValidParticipant(message) || message.type === ACSKnownMessageType.participantRemoved && hasValidParticipant(message) ||\n // TODO: Add support for topicUpdated system messages in MessageThread component.\n // message.type === ACSKnownMessageType.topicUpdated ||\n message.clientMessageId !== undefined).filter(isMessageValidToRender).map(message => {\n return memoizedFn(message.id ?? message.clientMessageId, message, userId, message.createdOn <= latestReadTime, isLargeGroup);\n }));\n updateMessagesWithAttached(convertedMessages);\n return {\n userId,\n showMessageStatus: true,\n messages: convertedMessages,\n participantCount,\n readReceiptsBySenderId\n };\n});\nconst sanitizedMessageContentType = (type: string): MessageContentType => {\n const lowerCaseType = type.toLowerCase();\n return lowerCaseType === 'text' || lowerCaseType === 'html' || lowerCaseType === 'richtext/html' ? lowerCaseType : 'unknown';\n};\nconst isMessageValidToRender = (message: ChatMessageWithStatus): boolean => {\n if (message.deletedOn) {\n return false;\n }\n if (message.metadata?.['fileSharingMetadata']) {\n return true;\n }\n return !!(message.content && message.content?.message !== '');\n};\n\n/**\n * Selector for {@link MessageThread} component.\n *\n * @public\n */\nexport const messageThreadSelector: MessageThreadSelector = messageThreadSelectorWithThread();"]}
|
@@ -9,7 +9,7 @@ export declare const ChatClientContext: React.Context<StatefulChatClient | undef
|
|
9
9
|
*
|
10
10
|
* @public
|
11
11
|
*/
|
12
|
-
export
|
12
|
+
export type ChatClientProviderProps = {
|
13
13
|
children: React.ReactNode;
|
14
14
|
chatClient: StatefulChatClient;
|
15
15
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChatClientProvider.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/providers/ChatClientProvider.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGzD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAY1F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,OAAO,oBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,KAAK,CAAC,QAAQ,CAA8B,CAAC;AAC5G,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAuB,EAAE;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE;
|
1
|
+
{"version":3,"file":"ChatClientProvider.js","sourceRoot":"","sources":["../../../../../preprocess-dist/chat-component-bindings/src/providers/ChatClientProvider.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGzD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAY1F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA8B,EAAe,EAAE;IAChF,OAAO,oBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAG,KAAK,CAAC,QAAQ,CAA8B,CAAC;AAC5G,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAuB,EAAE;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,sGAAsG,CAAC;IAC/G,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { createContext, useContext } from 'react';\nimport { StatefulChatClient } from '@internal/chat-stateful-client';\n\n/**\n * @private\n */\nexport const ChatClientContext = createContext<StatefulChatClient | undefined>(undefined);\n\n/**\n * Arguments to initialize a {@link ChatClientProvider}.\n *\n * @public\n */\nexport type ChatClientProviderProps = {\n children: React.ReactNode;\n chatClient: StatefulChatClient;\n};\n\n/**\n * A {@link React.Context} that stores a {@link StatefulChatClient}.\n *\n * Chat components from this package must be wrapped with a {@link ChatClientProvider}.\n *\n * @public\n */\nexport const ChatClientProvider = (props: ChatClientProviderProps): JSX.Element => {\n return <ChatClientContext.Provider value={props.chatClient}>{props.children}</ChatClientContext.Provider>;\n};\n\n/**\n * Hook to obtain {@link StatefulChatClient} from the provider.\n *\n * Useful when implementing a custom component that utilizes the providers\n * exported from this library.\n *\n * @public\n */\nexport const useChatClient = (): StatefulChatClient => {\n const chatClient = useContext(ChatClientContext);\n if (!chatClient) {\n throw 'Please wrap components with ChatClientProvider and initialize a chat client before calling the hook!';\n }\n return chatClient;\n};"]}
|
@@ -9,7 +9,7 @@ export declare const ChatThreadClientContext: React.Context<ChatThreadClient | u
|
|
9
9
|
*
|
10
10
|
* @public
|
11
11
|
*/
|
12
|
-
export
|
12
|
+
export type ChatThreadClientProviderProps = {
|
13
13
|
children: React.ReactNode;
|
14
14
|
chatThreadClient: ChatThreadClient;
|
15
15
|
};
|