@azure/communication-react 1.4.0 → 1.4.2-alpha-202211010021.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/CHANGELOG.md +0 -1
- package/dist/communication-react.d.ts +1537 -26
- package/dist/dist-cjs/communication-react/index.js +9966 -6538
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/identifier.js +7 -24
- package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/localizationUtils.js +2 -1
- package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/logEvent.js +2 -0
- package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/safeStringify.js +2 -1
- package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
- 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 +4 -0
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +5 -0
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +27 -9
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +22 -46
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +9 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +71 -34
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +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 +5 -1
- package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +29 -0
- 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 +4 -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 +2 -0
- package/dist/dist-esm/calling-component-bindings/src/index.js +4 -0
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +17 -7
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +2 -0
- package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +2 -0
- package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +8 -3
- package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +2 -0
- package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +4 -2
- 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.js +13 -4
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +12 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +70 -70
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +17 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +4 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +60 -10
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +65 -72
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +2 -1
- package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -8
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +11 -8
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -55
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -16
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +1 -2
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +4 -1
- package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +11 -18
- package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +12 -1
- package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +4 -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 +1 -0
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +14 -2
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +23 -0
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +36 -36
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
- package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +4 -1
- package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +5 -3
- package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index.d.ts +2 -0
- package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +6 -4
- package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
- package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +21 -18
- 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 +4 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -13
- 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.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +4 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +48 -13
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +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.js +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.js +2 -0
- package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +5 -8
- package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +7 -2
- package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +4 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +17 -16
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +16 -15
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +59 -68
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +115 -121
- package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +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.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +2 -0
- package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +16 -0
- package/dist/dist-esm/communication-react/src/index.js +10 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.d.ts +69 -0
- package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js +35 -0
- package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.d.ts +75 -0
- package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js +57 -0
- package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/CameraButton.js +10 -9
- package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
- 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 +38 -17
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +12 -5
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +26 -31
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +63 -28
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +9 -12
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
- 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 +19 -10
- 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 +4 -3
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ControlBar.js +13 -15
- package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
- package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +6 -15
- package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +5 -8
- package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
- package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +48 -48
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/DomainPermissions.d.ts +57 -0
- package/dist/dist-esm/react-components/src/components/DomainPermissions.js +47 -0
- package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +12 -9
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -3
- package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -8
- package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -6
- package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileCard.js +4 -4
- package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
- package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +14 -10
- package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/FileUploadCards.js +10 -8
- package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/GridLayout.js +55 -44
- package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +4 -3
- package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
- package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
- package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -8
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +6 -12
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +28 -9
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +27 -36
- package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.js +182 -110
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -11
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +137 -137
- 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 +15 -0
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +19 -16
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +44 -31
- package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
- package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
- package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -5
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -4
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
- package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
- package/dist/dist-esm/react-components/src/components/SendBox.js +37 -10
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +4 -3
- 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/StreamMedia.js +5 -4
- package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
- package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.d.ts +2 -1
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +28 -16
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TypingIndicator.js +15 -9
- package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +13 -6
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +97 -44
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
- package/dist/dist-esm/react-components/src/components/VideoTile.js +28 -31
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +4 -10
- package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +13 -0
- package/dist/dist-esm/react-components/src/components/index.js +10 -0
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +2 -0
- package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +34 -0
- package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +83 -0
- package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +2 -0
- package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
- package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -11
- 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 +0 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
- package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +18 -39
- package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/Datetime.js +10 -4
- package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.js +6 -0
- package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +10 -5
- package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -7
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
- 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/videoTileStylesUtils.js +1 -3
- package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js +15 -11
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +21 -13
- package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
- package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +2 -0
- package/dist/dist-esm/react-components/src/index.js +2 -0
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +26 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/index.js.map +1 -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/index.js +16 -42
- package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +60 -0
- package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
- package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
- package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
- package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
- package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
- package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -8
- package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +12 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +101 -12
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themeUtils.js +4 -1
- package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.js +2 -0
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
- package/dist/dist-esm/react-components/src/types/ChatMessage.js +2 -0
- package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +2 -0
- package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/OnRender.d.ts +3 -0
- package/dist/dist-esm/react-components/src/types/OnRender.js +2 -0
- package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
- package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +81 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +107 -19
- 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 +120 -0
- 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 +28 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +148 -41
- 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 +44 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +11 -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.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/ParticipantSubcriber.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
- 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.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +74 -10
- 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 +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +136 -13
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +23 -0
- 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.d.ts +28 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js +32 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +25 -0
- 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 +5 -4
- 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/HoldPane.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +3 -3
- 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 +35 -23
- 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 +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +69 -20
- 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 +16 -21
- 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 +4 -14
- 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/MutedNotification.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -3
- 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/StartCallButton.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
- 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/Custom.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +41 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
- 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 +12 -8
- 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 +5 -2
- 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/People.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -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 +7 -9
- 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 +29 -6
- 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.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
- 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.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -4
- 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 +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +110 -12
- 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/HoldPage.d.ts +15 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +36 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +21 -8
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +13 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +26 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +2 -0
- 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 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +13 -6
- 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 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +3 -1
- 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 +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -0
- 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 +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
- 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 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
- 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/CallComposite.styles.d.ts +6 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +11 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
- 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/CallControls.styles.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -2
- 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/ExpandedLocalVideoTile.styles.js +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +3 -4
- 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/LocalDeviceSettings.styles.js.map +1 -1
- 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/styles/NetworkReconnectTile.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +51 -17
- 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/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +78 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +77 -18
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +43 -16
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +35 -13
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +11 -7
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
- 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 +22 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +138 -10
- 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 +56 -0
- 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 +9 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +36 -1
- 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 +9 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +34 -1
- 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 +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +3 -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 +11 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -13
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +8 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
- 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 +9 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +111 -36
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +156 -1
- 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 +13 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +2 -0
- 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.js +7 -0
- 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.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
- 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.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +6 -6
- 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 +5 -1
- 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.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
- 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 +5 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -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 +6 -14
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +3 -5
- package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +22 -6
- 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 +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.js +6 -8
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +7 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +26 -7
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
- 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 -1
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
- package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +25 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +21 -6
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
- 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.js +12 -51
- package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
- 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/styles/PeoplePaneContent.styles.js +6 -22
- package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
- package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +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/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -2
- package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
- package/package.json +14 -14
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
2
|
+
// Licensed under the MIT license.
|
1
3
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
4
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
5
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -7,8 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
7
9
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
10
|
});
|
9
11
|
};
|
10
|
-
// Copyright (c) Microsoft Corporation.
|
11
|
-
// Licensed under the MIT license.
|
12
12
|
import { LocalVideoStream, VideoStreamRenderer } from '@azure/communication-calling';
|
13
13
|
import { convertSdkLocalStreamToDeclarativeLocalStream, convertSdkRemoteStreamToDeclarativeRemoteStream, convertFromSDKToDeclarativeVideoStreamRendererView } from './Converter';
|
14
14
|
import { toFlatCommunicationIdentifier, _logEvent } from "../../acs-ui-common/src";
|
@@ -24,11 +24,7 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
|
|
24
24
|
else {
|
25
25
|
participantKey = toFlatCommunicationIdentifier(participantId);
|
26
26
|
}
|
27
|
-
const streamLogInfo = {
|
28
|
-
callId,
|
29
|
-
participantKey,
|
30
|
-
streamId
|
31
|
-
};
|
27
|
+
const streamLogInfo = { callId, participantKey, streamId };
|
32
28
|
_logEvent(callingStatefulLogger, {
|
33
29
|
name: EventNames.CREATING_REMOTE_VIEW,
|
34
30
|
level: 'info',
|
@@ -114,7 +110,8 @@ function createViewRemoteVideo(context, internalContext, callId, participantId,
|
|
114
110
|
data: streamLogInfo
|
115
111
|
});
|
116
112
|
return;
|
117
|
-
}
|
113
|
+
}
|
114
|
+
// Else the stream still exists and status is not telling us to stop rendering. Complete the render process by
|
118
115
|
// updating the state.
|
119
116
|
internalContext.setRemoteRenderInfo(callId, participantKey, streamId, refreshedRenderInfo.stream, 'Rendered', renderer);
|
120
117
|
context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, convertFromSDKToDeclarativeVideoStreamRendererView(view));
|
@@ -130,7 +127,8 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
130
127
|
name: EventNames.START_LOCAL_STREAM_RENDERING,
|
131
128
|
level: 'info',
|
132
129
|
message: 'Start creating view for local video.'
|
133
|
-
});
|
130
|
+
});
|
131
|
+
// Render LocalVideoStream that is part of a Call
|
134
132
|
const renderInfo = internalContext.getLocalRenderInfo(callId);
|
135
133
|
if (!renderInfo) {
|
136
134
|
_logEvent(callingStatefulLogger, {
|
@@ -186,7 +184,8 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
186
184
|
});
|
187
185
|
internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);
|
188
186
|
throw e;
|
189
|
-
}
|
187
|
+
}
|
188
|
+
// Since render could take some time, we need to check if the stream is still valid and if we received a signal to
|
190
189
|
// stop rendering.
|
191
190
|
const refreshedRenderInfo = internalContext.getLocalRenderInfo(callId);
|
192
191
|
if (!refreshedRenderInfo) {
|
@@ -219,7 +218,8 @@ function createViewLocalVideo(context, internalContext, callId, options) {
|
|
219
218
|
internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'NotRendered', undefined);
|
220
219
|
context.setLocalVideoStreamRendererView(callId, undefined);
|
221
220
|
return;
|
222
|
-
}
|
221
|
+
}
|
222
|
+
// Else The stream still exists and status is not telling us to stop rendering. Complete the render process by
|
223
223
|
// updating the state.
|
224
224
|
internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'Rendered', renderer);
|
225
225
|
context.setLocalVideoStreamRendererView(callId, convertFromSDKToDeclarativeVideoStreamRendererView(view));
|
@@ -266,7 +266,8 @@ function createViewUnparentedVideo(context, internalContext, stream, options) {
|
|
266
266
|
// to create a new view they can check that the view is not rendered and call this function again.
|
267
267
|
internalContext.deleteUnparentedRenderInfo(stream);
|
268
268
|
throw e;
|
269
|
-
}
|
269
|
+
}
|
270
|
+
// Since render could take some time, we need to check if the stream is still valid and if we received a signal to
|
270
271
|
// stop rendering.
|
271
272
|
const refreshedRenderInfo = internalContext.getUnparentedRenderInfo(stream);
|
272
273
|
if (!refreshedRenderInfo) {
|
@@ -284,7 +285,8 @@ function createViewUnparentedVideo(context, internalContext, stream, options) {
|
|
284
285
|
internalContext.deleteUnparentedRenderInfo(stream);
|
285
286
|
context.deleteDeviceManagerUnparentedView(stream);
|
286
287
|
return;
|
287
|
-
}
|
288
|
+
}
|
289
|
+
// Else the stream still exists and status is not telling us to stop rendering. Complete the render process by
|
288
290
|
// updating the state.
|
289
291
|
internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendered', renderer);
|
290
292
|
context.setDeviceManagerUnparentedView(stream, convertFromSDKToDeclarativeVideoStreamRendererView(view));
|
@@ -303,11 +305,7 @@ function disposeViewRemoteVideo(context, internalContext, callId, participantId,
|
|
303
305
|
else {
|
304
306
|
participantKey = toFlatCommunicationIdentifier(participantId);
|
305
307
|
}
|
306
|
-
const streamLogInfo = {
|
307
|
-
callId,
|
308
|
-
participantKey,
|
309
|
-
streamId
|
310
|
-
};
|
308
|
+
const streamLogInfo = { callId, participantKey, streamId };
|
311
309
|
_logEvent(callingStatefulLogger, {
|
312
310
|
name: EventNames.START_DISPOSE_REMOTE_STREAM,
|
313
311
|
level: 'info',
|
@@ -324,7 +322,8 @@ function disposeViewRemoteVideo(context, internalContext, callId, participantId,
|
|
324
322
|
data: streamLogInfo
|
325
323
|
});
|
326
324
|
return;
|
327
|
-
}
|
325
|
+
}
|
326
|
+
// Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when
|
328
327
|
// cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should
|
329
328
|
// be cleaned up below so we can set it to undefined here.
|
330
329
|
if (renderInfo.status === 'Rendering') {
|
@@ -358,9 +357,7 @@ function disposeViewRemoteVideo(context, internalContext, callId, participantId,
|
|
358
357
|
}
|
359
358
|
}
|
360
359
|
function disposeViewLocalVideo(context, internalContext, callId) {
|
361
|
-
const streamLogInfo = {
|
362
|
-
callId
|
363
|
-
};
|
360
|
+
const streamLogInfo = { callId };
|
364
361
|
_logEvent(callingStatefulLogger, {
|
365
362
|
name: EventNames.START_DISPOSE_LOCAL_STREAM,
|
366
363
|
level: 'info',
|
@@ -377,7 +374,8 @@ function disposeViewLocalVideo(context, internalContext, callId) {
|
|
377
374
|
data: streamLogInfo
|
378
375
|
});
|
379
376
|
return;
|
380
|
-
}
|
377
|
+
}
|
378
|
+
// Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when
|
381
379
|
// cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should
|
382
380
|
// be cleaned up below so we can set it to undefined here.
|
383
381
|
if (renderInfo.status === 'Rendering') {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/StreamUtils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StreamUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CreateViewOptions,\n LocalVideoStream,\n VideoStreamRenderer,\n VideoStreamRendererView\n} from '@azure/communication-calling';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport {\n convertSdkLocalStreamToDeclarativeLocalStream,\n convertSdkRemoteStreamToDeclarativeRemoteStream,\n convertFromSDKToDeclarativeVideoStreamRendererView\n} from './Converter';\nimport { InternalCallContext } from './InternalCallContext';\nimport { toFlatCommunicationIdentifier, _logEvent } from '@internal/acs-ui-common';\nimport { callingStatefulLogger, EventNames } from './Logger';\n\n/**\n * Return result from {@link StatefulCallClient.createView}.\n *\n * @public\n */\nexport type CreateViewResult = {\n renderer: VideoStreamRenderer;\n view: VideoStreamRendererView;\n};\n\nasync function createViewRemoteVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n participantId: CommunicationIdentifierKind | string,\n stream: RemoteVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n // Render RemoteVideoStream that is part of a Call\n const streamId = stream.id;\n let participantKey;\n if (typeof participantId === 'string') {\n participantKey = participantId;\n } else {\n participantKey = toFlatCommunicationIdentifier(participantId);\n }\n const streamLogInfo = { callId, participantKey, streamId };\n\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATING_REMOTE_VIEW,\n level: 'info',\n message: 'Start creating view for remote video.',\n data: streamLogInfo\n });\n const renderInfo = internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId);\n\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_NOT_FOUND,\n level: 'error',\n message: 'RemoteVideoStream not found in state.',\n data: streamLogInfo\n });\n console.warn('RemoteVideoStream not found in state');\n return;\n }\n\n if (renderInfo.status === 'Rendered') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_ALREADY_RENDERED,\n level: 'warning',\n message: 'RemoteVideoStream is already rendered.',\n data: streamLogInfo\n });\n console.warn('RemoteVideoStream is already rendered');\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_RENDERING,\n level: 'warning',\n message: 'RemoteVideoStream is rendering.',\n data: streamLogInfo\n });\n return;\n }\n\n if (renderInfo.status === 'Stopping') {\n console.warn('RemoteVideoStream is in the middle of stopping');\n return;\n }\n\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Rendering', undefined);\n\n let view;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_REMOTE_STREAM_FAIL,\n level: 'error',\n message: 'Failed to create remote view',\n data: streamLogInfo\n });\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'NotRendered', undefined);\n throw e;\n }\n\n const refreshedRenderInfo = internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId);\n if (!refreshedRenderInfo) {\n // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer\n // and clean up state.\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_RENDER_INFO_NOT_FOUND,\n level: 'error',\n message: '`Cannot find remote render info after create the view.',\n data: streamLogInfo\n });\n renderer.dispose();\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state.\n renderer.dispose();\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream,\n 'NotRendered',\n undefined\n );\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_VIEW_RENDER_SUCCEED,\n level: 'info',\n message: 'Successfully render the remote view.',\n data: streamLogInfo\n });\n return;\n }\n\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream,\n 'Rendered',\n renderer\n );\n context.setRemoteVideoStreamRendererView(\n callId,\n participantKey,\n streamId,\n convertFromSDKToDeclarativeVideoStreamRendererView(view)\n );\n\n return {\n renderer,\n view\n };\n}\n\nasync function createViewLocalVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_LOCAL_STREAM_RENDERING,\n level: 'info',\n message: 'Start creating view for local video.'\n });\n // Render LocalVideoStream that is part of a Call\n const renderInfo = internalContext.getLocalRenderInfo(callId);\n\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_NOT_FOUND,\n level: 'error',\n message: 'LocalVideoStream not found in state.'\n });\n console.warn('LocalVideoStream not found in state');\n return;\n }\n\n if (renderInfo.status === 'Rendered') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_ALREADY_RENDERED,\n level: 'warning',\n message: 'LocalVideoStream is already rendered.'\n });\n console.warn('LocalVideoStream is already rendered');\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_RENDERING,\n level: 'warning',\n message: 'LocalVideoStream is rendering.'\n });\n return;\n }\n\n if (renderInfo.status === 'Stopping') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_STOPPING,\n level: 'warning',\n message: 'LocalVideoStream is in the middle of stopping.'\n });\n console.warn('LocalVideoStream is in the middle of stopping');\n return;\n }\n\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Rendering', renderer);\n\n let view;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_LOCAL_STREAM_FAIL,\n level: 'error',\n message: 'Failed to create view.',\n data: {\n error: e\n }\n });\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo = internalContext.getLocalRenderInfo(callId);\n if (!refreshedRenderInfo) {\n // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer\n // and clean up the state.\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_RENDER_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find local render info after create the view. ',\n data: {\n callId\n }\n });\n renderer.dispose();\n context.setLocalVideoStreamRendererView(callId, undefined);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state.\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_CREATED_STREAM_STOPPING,\n level: 'warning',\n message: 'Render info status is stopping, dispose renderer. ',\n data: {\n callId\n }\n });\n renderer.dispose();\n internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'NotRendered', undefined);\n context.setLocalVideoStreamRendererView(callId, undefined);\n return;\n }\n\n // Else The stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream, 'Rendered', renderer);\n context.setLocalVideoStreamRendererView(callId, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_VIEW_RENDER_SUCCEED,\n level: 'info',\n message: `Successfully render the local view.`,\n data: {\n callId\n }\n });\n\n return {\n renderer,\n view\n };\n}\n\nasync function createViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n\n if (renderInfo && renderInfo.status === 'Rendered') {\n console.warn('Unparented LocalVideoStream is already rendered');\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Stopping') {\n console.warn('Unparented LocalVideoStream is in the middle of stopping');\n return;\n }\n\n const localVideoStream = new LocalVideoStream(stream.source);\n const renderer = new VideoStreamRenderer(localVideoStream);\n\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendering', undefined);\n\n let view: VideoStreamRendererView;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n // Special case for unparented views. Since they are not tied to anything and created by us based on the calls to\n // this function we'll delete it to clean up the data since keeping it around doesn't help us and if developer wants\n // to create a new view they can check that the view is not rendered and call this function again.\n internalContext.deleteUnparentedRenderInfo(stream);\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!refreshedRenderInfo) {\n // Unparented stream's RenderInfo was deleted. Currently this shouldn't happen but if it does we'll just dispose the\n // renderer and clean up state. If developer wanted the stream they could call this function again and that should\n // generate new working state via this function.\n renderer.dispose();\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state. Special case for unparented views, delete them from state when stopped to free up\n // the memory since we were the ones generating this and not tied to any Call state.\n internalContext.deleteUnparentedRenderInfo(stream);\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendered', renderer);\n context.setDeviceManagerUnparentedView(stream, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n\n return {\n renderer,\n view\n };\n}\n\nfunction disposeViewRemoteVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n participantId: CommunicationIdentifierKind | string,\n stream: RemoteVideoStreamState\n): void {\n const streamId = stream.id;\n\n let participantKey;\n if (typeof participantId === 'string') {\n participantKey = participantId;\n } else {\n participantKey = toFlatCommunicationIdentifier(participantId);\n }\n\n const streamLogInfo = { callId, participantKey, streamId };\n\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_REMOTE_STREAM,\n level: 'info',\n message: 'Start disposing remote stream.',\n data: streamLogInfo\n });\n\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n\n const renderInfo = internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId);\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing remote stream.',\n data: streamLogInfo\n });\n return;\n }\n\n // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when\n // cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should\n // be cleaned up below so we can set it to undefined here.\n if (renderInfo.status === 'Rendering') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_STREAM_STOPPING,\n level: 'info',\n message: 'Remote stream is still rendering. Changing status to stopping.',\n data: streamLogInfo\n });\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'NotRendered', undefined);\n }\n\n if (renderInfo.renderer) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_REMOTE_RENDERER,\n level: 'info',\n message: 'Disposing remote view renderer.',\n data: streamLogInfo\n });\n renderInfo.renderer.dispose();\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.REMOTE_RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find remote view renderer.',\n data: streamLogInfo\n });\n }\n}\n\nfunction disposeViewLocalVideo(context: CallContext, internalContext: InternalCallContext, callId: string): void {\n const streamLogInfo = { callId };\n\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_LOCAL_STREAM,\n level: 'info',\n message: 'Start disposing local stream.',\n data: streamLogInfo\n });\n\n context.setLocalVideoStreamRendererView(callId, undefined);\n\n const renderInfo = internalContext.getLocalRenderInfo(callId);\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing local stream.',\n data: streamLogInfo\n });\n return;\n }\n\n // Sets the status and also renderer. I think we need to always set renderer to undefined since in all status when\n // cleaned up should have renderer as undefined. If the status is 'Rendered' and renderer is not defined it should\n // be cleaned up below so we can set it to undefined here.\n if (renderInfo.status === 'Rendering') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_STOPPING,\n level: 'info',\n message: 'Local stream is still rendering. Changing status to stopping.',\n data: streamLogInfo\n });\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'NotRendered', undefined);\n }\n\n if (renderInfo.renderer) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_LOCAL_RENDERER,\n level: 'info',\n message: 'Disposing local view renderer.',\n data: streamLogInfo\n });\n renderInfo.renderer.dispose();\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find renderer when disposing local stream.',\n data: streamLogInfo\n });\n }\n}\n\nfunction disposeViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState\n): void {\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_LOCAL_STREAM,\n level: 'info',\n message: 'Start disposing unparented local stream.'\n });\n\n context.deleteDeviceManagerUnparentedView(stream);\n\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!renderInfo) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing unparented local stream.'\n });\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_STREAM_STOPPING,\n level: 'info',\n message: 'Unparented local stream is still rendering. Changing status to stopping.'\n });\n internalContext.setUnparentedRenderInfo(stream, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.deleteUnparentedRenderInfo(stream);\n }\n\n if (renderInfo.renderer) {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_LOCAL_RENDERER,\n level: 'info',\n message: 'Disposing unparented local view renderer.'\n });\n renderInfo.renderer.dispose();\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.LOCAL_RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find renderer when disposing unparented local stream.'\n });\n }\n}\n\n/**\n * @private\n */\nexport function createView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n if ('id' in stream && callId && participantId) {\n // Render RemoteVideoStream that is part of a Call\n return createViewRemoteVideo(context, internalContext, callId, participantId, stream, options);\n } else if (!('id' in stream) && callId) {\n // Render LocalVideoStream that is part of a Call\n return createViewLocalVideo(context, internalContext, callId, options);\n } else if (!('id' in stream) && !callId) {\n // Render LocalVideoStream that is not part of a Call\n return createViewUnparentedVideo(context, internalContext, stream, options);\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Create View invalid combination of parameters.'\n });\n return Promise.resolve(undefined);\n }\n}\n\n/**\n * @private\n */\nexport function disposeView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n): void {\n if ('id' in stream && callId && participantId) {\n // Stop rendering RemoteVideoStream that is part of a Call\n disposeViewRemoteVideo(context, internalContext, callId, participantId, stream);\n } else if (!('id' in stream) && callId) {\n // Stop rendering LocalVideoStream that is part of a Call\n disposeViewLocalVideo(context, internalContext, callId);\n } else if (!('id' in stream) && !callId) {\n // Stop rendering LocalVideoStream that is not part of a Call\n disposeViewUnparentedVideo(context, internalContext, stream);\n } else {\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Dispose View invalid combination of parameters.'\n });\n return;\n }\n}\n\n/**\n * @private\n * Only stops videos that are tied to a Call.\n */\nexport function disposeAllViewsFromCall(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string\n): void {\n const callStreams = internalContext.getRemoteRenderInfoForCall(callId);\n if (callStreams) {\n for (const [participantKey, participantStreams] of callStreams.entries()) {\n for (const [_, remoteStreamAndRenderer] of participantStreams.entries()) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n participantKey,\n convertSdkRemoteStreamToDeclarativeRemoteStream(remoteStreamAndRenderer.stream)\n );\n }\n }\n }\n const localStreamAndRenderer = internalContext.getLocalRenderInfo(callId);\n if (localStreamAndRenderer && localStreamAndRenderer.renderer) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n undefined,\n convertSdkLocalStreamToDeclarativeLocalStream(localStreamAndRenderer.stream)\n );\n }\n}\n\n/**\n * @private\n */\nexport function disposeAllViews(context: CallContext, internalContext: InternalCallContext): void {\n const callIds = internalContext.getCallIds();\n for (const callId of callIds) {\n disposeAllViewsFromCall(context, internalContext, callId);\n }\n}\n\"../../acs-ui-common/src\""]}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
2
|
+
// Licensed under the MIT license.
|
1
3
|
/**
|
2
4
|
* @private
|
3
5
|
*/
|
@@ -14,7 +16,8 @@ export class TranscriptionSubscriber {
|
|
14
16
|
};
|
15
17
|
this._callIdRef = callIdRef;
|
16
18
|
this._context = context;
|
17
|
-
this._transcription = transcription;
|
19
|
+
this._transcription = transcription;
|
20
|
+
// If transcription as already started when we joined the call, make sure it is reflected in state as there may not
|
18
21
|
// be an event for it.
|
19
22
|
if (this._transcription.isTranscriptionActive) {
|
20
23
|
this._context.setCallTranscriptionActive(this._callIdRef.callId, this._transcription.isTranscriptionActive);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TranscriptionSubscriber.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"TranscriptionSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TranscriptionSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC;;GAEG;AACH,MAAM,OAAO,uBAAuB;IAKlC,YAAY,SAAoB,EAAE,OAAoB,EAAE,aAAuC;QAcvF,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,8BAA8B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC5F,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC7F,CAAC,CAAC;QAEM,iCAA4B,GAAG,GAAS,EAAE;YAChD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAC9G,CAAC,CAAC;QAvBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,mHAAmH;QACnH,sBAAsB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;SAC7G;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAaF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { TranscriptionCallFeature } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class TranscriptionSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _transcription: TranscriptionCallFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, transcription: TranscriptionCallFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._transcription = transcription;\n\n // If transcription as already started when we joined the call, make sure it is reflected in state as there may not\n // be an event for it.\n if (this._transcription.isTranscriptionActive) {\n this._context.setCallTranscriptionActive(this._callIdRef.callId, this._transcription.isTranscriptionActive);\n }\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._transcription.on('isTranscriptionActiveChanged', this.isTranscriptionActiveChanged);\n };\n\n public unsubscribe = (): void => {\n this._transcription.off('isTranscriptionActiveChanged', this.isTranscriptionActiveChanged);\n };\n\n private isTranscriptionActiveChanged = (): void => {\n this._context.setCallTranscriptionActive(this._callIdRef.callId, this._transcription.isTranscriptionActive);\n };\n}\n"]}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
2
|
+
// Licensed under the MIT license.
|
1
3
|
/**
|
2
4
|
* @private
|
3
5
|
*/
|
@@ -19,7 +21,7 @@ export class UserFacingDiagnosticsSubscriber {
|
|
19
21
|
if (Object.entries(network).length === 0 && Object.entries(media).length === 0) {
|
20
22
|
return;
|
21
23
|
}
|
22
|
-
this._context.modifyState(state => {
|
24
|
+
this._context.modifyState((state) => {
|
23
25
|
const call = state.calls[this._callIdRef.callId];
|
24
26
|
if (call === undefined) {
|
25
27
|
return;
|
@@ -39,7 +41,7 @@ export class UserFacingDiagnosticsSubscriber {
|
|
39
41
|
this._diagnostics.media.on('diagnosticChanged', this.mediaDiagnosticsChanged.bind(this));
|
40
42
|
}
|
41
43
|
networkDiagnosticsChanged(args) {
|
42
|
-
this._context.modifyState(state => {
|
44
|
+
this._context.modifyState((state) => {
|
43
45
|
var _a;
|
44
46
|
const call = state.calls[this._callIdRef.callId];
|
45
47
|
if (call === undefined) {
|
@@ -52,7 +54,7 @@ export class UserFacingDiagnosticsSubscriber {
|
|
52
54
|
});
|
53
55
|
}
|
54
56
|
mediaDiagnosticsChanged(args) {
|
55
|
-
this._context.modifyState(state => {
|
57
|
+
this._context.modifyState((state) => {
|
56
58
|
var _a;
|
57
59
|
const call = state.calls[this._callIdRef.callId];
|
58
60
|
if (call === undefined) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UserFacingDiagnosticsSubscriber.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"UserFacingDiagnosticsSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/UserFacingDiagnosticsSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n UserFacingDiagnosticsFeature,\n DiagnosticChangedEventArgs,\n LatestDiagnosticValue,\n MediaDiagnosticChangedEventArgs,\n NetworkDiagnosticChangedEventArgs\n} from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class UserFacingDiagnosticsSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _diagnostics: UserFacingDiagnosticsFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, diagnostics: UserFacingDiagnosticsFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._diagnostics = diagnostics;\n\n this.setInitialDiagnostics();\n this.subscribe();\n }\n\n public unsubscribe = (): void => {\n this._diagnostics.network.off('diagnosticChanged', this.networkDiagnosticsChanged.bind(this));\n this._diagnostics.media.off('diagnosticChanged', this.mediaDiagnosticsChanged.bind(this));\n };\n\n private setInitialDiagnostics(): void {\n const network = this._diagnostics.network.getLatest();\n const media = this._diagnostics.media.getLatest();\n if (Object.entries(network).length === 0 && Object.entries(media).length === 0) {\n return;\n }\n\n this._context.modifyState((state) => {\n const call = state.calls[this._callIdRef.callId];\n if (call === undefined) {\n return;\n }\n call.diagnostics = {\n network: {\n latest: network\n },\n media: {\n latest: media\n }\n };\n });\n }\n\n private subscribe(): void {\n this._diagnostics.network.on('diagnosticChanged', this.networkDiagnosticsChanged.bind(this));\n this._diagnostics.media.on('diagnosticChanged', this.mediaDiagnosticsChanged.bind(this));\n }\n\n private networkDiagnosticsChanged(args: NetworkDiagnosticChangedEventArgs): void {\n this._context.modifyState((state) => {\n const call = state.calls[this._callIdRef.callId];\n if (call === undefined) {\n return;\n }\n const network = call.diagnostics?.network.latest;\n if (network) {\n network[args.diagnostic] = latestFromEvent(args);\n }\n });\n }\n\n private mediaDiagnosticsChanged(args: MediaDiagnosticChangedEventArgs): void {\n this._context.modifyState((state) => {\n const call = state.calls[this._callIdRef.callId];\n if (call === undefined) {\n return;\n }\n const media = call.diagnostics?.media.latest;\n if (media) {\n media[args.diagnostic] = latestFromEvent(args);\n }\n });\n }\n}\n\nconst latestFromEvent = (args: DiagnosticChangedEventArgs): LatestDiagnosticValue => ({\n value: args.value,\n valueType: args.valueType\n});\n"]}
|
@@ -3,4 +3,6 @@ export type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOpti
|
|
3
3
|
export type { StatefulDeviceManager } from './DeviceManagerDeclarative';
|
4
4
|
export type { CallAgentState, CallClientState, CallError, CallErrors, CallErrorTarget, CallState, DeviceManagerState, DiagnosticsCallFeatureState, IncomingCallState, LocalVideoStreamState, MediaDiagnosticsState, NetworkDiagnosticsState, RecordingCallFeatureState as RecordingCallFeature, RemoteParticipantState, RemoteVideoStreamState, TranscriptionCallFeatureState as TranscriptionCallFeature, VideoStreamRendererViewState } from './CallClientState';
|
5
5
|
export type { CreateViewResult } from './StreamUtils';
|
6
|
+
export type { DeclarativeCallAgent } from './CallAgentDeclarative';
|
7
|
+
export type { DeclarativeIncomingCall } from './IncomingCallDeclarative';
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { createStatefulCallClient } from './StatefulCallClient';\nexport type { StatefulCallClient, StatefulCallClientArgs, StatefulCallClientOptions } from './StatefulCallClient';\nexport type { StatefulDeviceManager } from './DeviceManagerDeclarative';\nexport type {\n CallAgentState,\n CallClientState,\n CallError,\n CallErrors,\n CallErrorTarget,\n CallState,\n DeviceManagerState,\n DiagnosticsCallFeatureState,\n IncomingCallState,\n LocalVideoStreamState,\n MediaDiagnosticsState,\n NetworkDiagnosticsState,\n RecordingCallFeatureState as RecordingCallFeature,\n RemoteParticipantState,\n RemoteVideoStreamState,\n TranscriptionCallFeatureState as TranscriptionCallFeature,\n VideoStreamRendererViewState\n} from './CallClientState';\nexport type { CreateViewResult } from './StreamUtils';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeCallAgent } from './CallAgentDeclarative';\n/* @conditional-compile-remove(one-to-n-calling) */\nexport type { DeclarativeIncomingCall } from './IncomingCallDeclarative';\n"]}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
2
|
+
// Licensed under the MIT license.
|
1
3
|
import { toFlatCommunicationIdentifier } from "../../acs-ui-common/src";
|
2
4
|
/**
|
3
5
|
* @private
|
@@ -10,11 +12,11 @@ export const getDisplayName = (state) => state.displayName;
|
|
10
12
|
/**
|
11
13
|
* @private
|
12
14
|
*/
|
13
|
-
export const getChatMessages = (state, props) => { var _a; return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.chatMessages) || {}; };
|
15
|
+
export const getChatMessages = (state, props) => { var _a; return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.chatMessages)) || {}; };
|
14
16
|
/**
|
15
17
|
* @private
|
16
18
|
*/
|
17
|
-
export const getParticipants = (state, props) => { var _a; return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.participants) || {}; };
|
19
|
+
export const getParticipants = (state, props) => { var _a; return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.participants)) || {}; };
|
18
20
|
/**
|
19
21
|
* @private
|
20
22
|
*/
|
@@ -33,13 +35,13 @@ export const getIsLargeGroup = (state, props) => {
|
|
33
35
|
/**
|
34
36
|
* @private
|
35
37
|
*/
|
36
|
-
export const getLatestReadTime = (state, props) => { var _a; return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.latestReadTime) || new Date(0); };
|
38
|
+
export const getLatestReadTime = (state, props) => { var _a; return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.latestReadTime)) || new Date(0); };
|
37
39
|
/**
|
38
40
|
* @private
|
39
41
|
*/
|
40
42
|
export const getTypingIndicators = (state, props) => {
|
41
43
|
var _a;
|
42
|
-
return props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.typingIndicators) || [];
|
44
|
+
return (props.threadId && ((_a = state.threads[props.threadId]) === null || _a === void 0 ? void 0 : _a.typingIndicators)) || [];
|
43
45
|
};
|
44
46
|
/**
|
45
47
|
* @private
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"baseSelectors.js","sourceRoot":"","sources":["../../../../../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,CAC7B,KAAsB,EACtB,KAA4B,EACc,EAAE,WAAC,OAAA,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC;AAErH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAsB,EACtB,KAA4B,EACQ,EAAE,WAAC,OAAA,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAA,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC;AAE/G;;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,WAC9F,OAAA,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,cAAc,CAAA,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC;AAEnF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,KAAsB,EACtB,KAA4B,EACI,EAAE;;IAClC,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAI,MAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,gBAAgB,CAAA,CAAC,IAAI,EAAE,CAAC;AACnF,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 = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n): { [key: string]: ChatMessageWithStatus } => (props.threadId && state.threads[props.threadId]?.chatMessages) || {};\n\n/**\n * @private\n */\nexport const getParticipants = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n): { [key: string]: ChatParticipant } => (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 =>\n (props.threadId && state.threads[props.threadId]?.latestReadTime) || new Date(0);\n\n/**\n * @private\n */\nexport const getTypingIndicators = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n): TypingIndicatorReceivedEvent[] => {\n return (props.threadId && state.threads[props.threadId]?.typingIndicators) || [];\n};\n\n/**\n * @private\n */\nexport const getLatestErrors = (state: ChatClientState): ChatErrors => state.latestErrors;\n\"../../chat-stateful-client/src\"\"../../acs-ui-common/src\""]}
|
@@ -19,7 +19,7 @@ const convertChatParticipantsToCommunicationParticipants = (chatParticipants) =>
|
|
19
19
|
* 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
|
20
20
|
*/
|
21
21
|
const moderatorIndex = (participants) => {
|
22
|
-
return participants.map(p => p.displayName).indexOf(undefined);
|
22
|
+
return participants.map((p) => p.displayName).indexOf(undefined);
|
23
23
|
};
|
24
24
|
/**
|
25
25
|
* Selector for {@link ParticipantList} component.
|
@@ -31,12 +31,12 @@ export const chatParticipantListSelector = reselect.createSelector([getUserId, g
|
|
31
31
|
if (0 !== participants.length) {
|
32
32
|
const moderatorIdx = moderatorIndex(participants);
|
33
33
|
if (-1 !== moderatorIdx) {
|
34
|
-
const userIndex = participants.map(p => p.userId).indexOf(userId);
|
34
|
+
const userIndex = participants.map((p) => p.userId).indexOf(userId);
|
35
35
|
if (moderatorIdx === userIndex) {
|
36
36
|
participants[moderatorIdx].displayName = displayName;
|
37
37
|
}
|
38
38
|
else {
|
39
|
-
participants = participants.filter(p => p.displayName);
|
39
|
+
participants = participants.filter((p) => p.displayName);
|
40
40
|
}
|
41
41
|
}
|
42
42
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chatParticipantListSelector.js","sourceRoot":"","sources":["
|
1
|
+
{"version":3,"file":"chatParticipantListSelector.js","sourceRoot":"","sources":["../../../../../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;AAEhE,MAAM,kDAAkD,GAAG,CACzD,gBAAmC,EACL,EAAE;IAChC,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,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC,CAAC;AAeF;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAgC,QAAQ,CAAC,cAAc,CAC7F,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAC5C,CAAC,MAAM,EAAE,gBAAoD,EAAE,WAAW,EAAE,EAAE;IAC5E,IAAI,YAAY,GAAG,kDAAkD,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,KAAK,YAAY,CAAC,MAAM,EAAE;QAC7B,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,CAAC,CAAC,KAAK,YAAY,EAAE;YACvB,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;aACtD;iBAAM;gBACL,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;aAC1D;SACF;KACF;IAED,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC,CACF,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';\n\nconst convertChatParticipantsToCommunicationParticipants = (\n chatParticipants: ChatParticipant[]\n): 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 = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n) => {\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(\n [getUserId, getParticipants, getDisplayName],\n (userId, chatParticipants: { [key: string]: ChatParticipant }, displayName) => {\n let participants = convertChatParticipantsToCommunicationParticipants(Object.values(chatParticipants));\n if (0 !== participants.length) {\n const moderatorIdx = moderatorIndex(participants);\n\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\n return {\n myUserId: userId,\n participants: participants\n };\n }\n);\n\"../../acs-ui-common/src\"\"../../react-components/src\"\"../../chat-stateful-client/src\""]}
|
@@ -55,18 +55,20 @@ export const errorBarSelector = createSelector([getLatestErrors], (latestErrors)
|
|
55
55
|
}
|
56
56
|
}
|
57
57
|
if (!specificSendMessageErrorSeen && sendMessageError !== undefined) {
|
58
|
-
activeErrorMessages.push({
|
59
|
-
|
60
|
-
|
61
|
-
});
|
62
|
-
} // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.
|
58
|
+
activeErrorMessages.push({ type: 'sendMessageGeneric', timestamp: sendMessageError.timestamp });
|
59
|
+
}
|
60
|
+
// We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.
|
63
61
|
activeErrorMessages.splice(maxErrorCount);
|
64
|
-
return {
|
65
|
-
activeErrorMessages: activeErrorMessages
|
66
|
-
};
|
62
|
+
return { activeErrorMessages: activeErrorMessages };
|
67
63
|
});
|
68
64
|
const maxErrorCount = 3;
|
69
|
-
const accessErrorTargets = [
|
65
|
+
const accessErrorTargets = [
|
66
|
+
'ChatThreadClient.getProperties',
|
67
|
+
'ChatThreadClient.listMessages',
|
68
|
+
'ChatThreadClient.listParticipants',
|
69
|
+
'ChatThreadClient.sendMessage',
|
70
|
+
'ChatThreadClient.sendTypingNotification'
|
71
|
+
];
|
70
72
|
const latestUnableToReachChatServiceError = (latestErrors) => {
|
71
73
|
return latestActiveErrorSatisfying(latestErrors, 'unableToReachChatService', (error) => {
|
72
74
|
return !!error && !!error.innerError && error.innerError['code'] === 'REQUEST_SEND_ERROR';
|
@@ -81,33 +83,34 @@ const latestNotInThisThreadError = (latestErrors) => {
|
|
81
83
|
return latestActiveErrorSatisfying(latestErrors, 'userNotInChatThread', (error) => {
|
82
84
|
if (!error || !error.innerError) {
|
83
85
|
return false;
|
84
|
-
}
|
86
|
+
}
|
87
|
+
// Explicitly ignore 400 REST error when listParticipants() is called and a BotContact MRI is found in the participants.
|
85
88
|
// 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.
|
86
89
|
// 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
|
87
90
|
// does it have an impact on the participant list updating on other participants joining/leaving or on individual participant actions like removeParticipant.
|
88
91
|
if (isErrorDueToBotContact(error)) {
|
89
92
|
return false;
|
90
|
-
}
|
93
|
+
}
|
94
|
+
// Chat service returns 403 if a user has been removed from a thread.
|
91
95
|
// Chat service returns either 400 or 404 if the thread ID is malformed, depending on how the thread ID is malformed.
|
92
|
-
return [400, 403, 404].some(statusCode => error.innerError['statusCode'] === statusCode);
|
96
|
+
return [400, 403, 404].some((statusCode) => error.innerError['statusCode'] === statusCode);
|
93
97
|
});
|
94
98
|
};
|
95
99
|
const botContactMRIPrefix = '28:';
|
96
|
-
const isErrorDueToBotContact = (error) => error.innerError['statusCode'] === 400 &&
|
100
|
+
const isErrorDueToBotContact = (error) => error.innerError['statusCode'] === 400 &&
|
101
|
+
error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);
|
97
102
|
const latestActiveErrorSatisfying = (errors, activeErrorType, predicate) => {
|
98
103
|
const activeErrorMessages = [];
|
99
104
|
for (const target of accessErrorTargets) {
|
100
105
|
const error = errors[target];
|
101
106
|
if (predicate(error)) {
|
102
|
-
activeErrorMessages.push({
|
103
|
-
type: activeErrorType,
|
104
|
-
timestamp: error.timestamp
|
105
|
-
});
|
107
|
+
activeErrorMessages.push({ type: activeErrorType, timestamp: error.timestamp });
|
106
108
|
}
|
107
109
|
}
|
108
110
|
if (activeErrorMessages.length === 0) {
|
109
111
|
return undefined;
|
110
|
-
}
|
112
|
+
}
|
113
|
+
// We're actually sure that both timestamps will always exist, because we set them above.
|
111
114
|
activeErrorMessages.sort((a, b) => { var _a, _b, _c, _d; return ((_b = (_a = a.timestamp) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0) - ((_d = (_c = b.timestamp) === null || _c === void 0 ? void 0 : _c.getTime()) !== null && _d !== void 0 ? _d : 0); });
|
112
115
|
return activeErrorMessages[activeErrorMessages.length - 1];
|
113
116
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../../chat-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAyB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAe1C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAqB,cAAc,CAC9D,CAAC,eAAe,CAAC,EACjB,CAAC,YAAY,EAAiD,EAAE;;IAC9D,kHAAkH;IAClH,8CAA8C;IAC9C,wEAAwE;IACxE,iCAAiC;IACjC,EAAE;IACF,iHAAiH;IACjH,8BAA8B;IAC9B,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,IAAI,4BAA4B,GAAG,KAAK,CAAC;IACzC;QACE,MAAM,KAAK,GAAG,mCAAmC,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;KACF;IACD;QACE,MAAM,KAAK,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;KACF;IAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;IACtE;QACE,MAAM,KAAK,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,IAAI,gBAAgB,KAAK,SAAS,EAAE;gBAClC,mBAAmB,CAAC,IAAI,CAAC;oBACvB,IAAI,EAAE,4BAA4B;oBAClC,iFAAiF;oBACjF,SAAS,EACP,gBAAgB,CAAC,SAAS,GAAG,CAAC,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;iBACrG,CAAC,CAAC;gBACH,4BAA4B,GAAG,IAAI,CAAC;aACrC;iBAAM;gBACL,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjC;SACF;KACF;IAED,IAAI,CAAC,4BAA4B,IAAI,gBAAgB,KAAK,SAAS,EAAE;QACnE,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC;KACjG;IAED,8FAA8F;IAC9F,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;AACtD,CAAC,CACF,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,kBAAkB,GAAsB;IAC5C,gCAAgC;IAChC,+BAA+B;IAC/B,mCAAmC;IACnC,8BAA8B;IAC9B,yCAAyC;CAC1C,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAAC,YAAwB,EAAkC,EAAE;IACvG,OAAO,2BAA2B,CAAC,YAAY,EAAE,0BAA0B,EAAE,CAAC,KAAgB,EAAW,EAAE;QACzG,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,oBAAoB,CAAC;IAC5F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,YAAwB,EAAkC,EAAE;IAC3F,OAAO,2BAA2B,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,KAAgB,EAAW,EAAE;QAC7F,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,YAAwB,EAAkC,EAAE;IAC9F,OAAO,2BAA2B,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC,KAAgB,EAAW,EAAE;QACpG,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,wHAAwH;QACxH,6IAA6I;QAC7I,uJAAuJ;QACvJ,6JAA6J;QAC7J,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SACd;QAED,qEAAqE;QACrE,qHAAqH;QACrH,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,sBAAsB,GAAG,CAAC,KAAgB,EAAW,EAAE,CAC3D,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,GAAG;IACtC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,mBAAmB,EAAE,CAAC,CAAC;AAElG,MAAM,2BAA2B,GAAG,CAClC,MAAkB,EAClB,eAA0B,EAC1B,SAAwC,EACR,EAAE;IAClC,MAAM,mBAAmB,GAAyB,EAAE,CAAC;IACrD,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE;QACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;YACpB,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;SACjF;KACF;IAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,SAAS,CAAC;KAClB;IACD,yFAAyF;IACzF,mBAAmB,CAAC,IAAI,CACtB,CAAC,CAAqB,EAAE,CAAqB,EAAE,EAAE,uBAAC,OAAA,CAAC,MAAA,MAAA,CAAC,CAAC,SAAS,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,CAAC,CAAC,SAAS,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,CAAA,EAAA,CAChH,CAAC;IACF,OAAO,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC","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 = (\n state: ChatClientState,\n props: ChatBaseSelectorProps\n) => {\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(\n [getLatestErrors],\n (latestErrors): { activeErrorMessages: ActiveErrorMessage[] } => {\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\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:\n sendMessageError.timestamp > (error.timestamp ?? 0) ? sendMessageError.timestamp : error.timestamp\n });\n specificSendMessageErrorSeen = true;\n } else {\n activeErrorMessages.push(error);\n }\n }\n }\n\n if (!specificSendMessageErrorSeen && sendMessageError !== undefined) {\n activeErrorMessages.push({ type: 'sendMessageGeneric', timestamp: sendMessageError.timestamp });\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 { activeErrorMessages: activeErrorMessages };\n }\n);\n\nconst maxErrorCount = 3;\n\nconst accessErrorTargets: ChatErrorTarget[] = [\n 'ChatThreadClient.getProperties',\n 'ChatThreadClient.listMessages',\n 'ChatThreadClient.listParticipants',\n 'ChatThreadClient.sendMessage',\n 'ChatThreadClient.sendTypingNotification'\n];\n\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};\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};\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};\n\nconst botContactMRIPrefix = '28:';\nconst isErrorDueToBotContact = (error: ChatError): boolean =>\n error.innerError['statusCode'] === 400 &&\n error.innerError.message.includes(`Identifier format is not supported (${botContactMRIPrefix}`);\n\nconst latestActiveErrorSatisfying = (\n errors: ChatErrors,\n activeErrorType: ErrorType,\n predicate: (error: ChatError) => boolean\n): ActiveErrorMessage | undefined => {\n const activeErrorMessages: ActiveErrorMessage[] = [];\n for (const target of accessErrorTargets) {\n const error = errors[target];\n if (predicate(error)) {\n activeErrorMessages.push({ type: activeErrorType, 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(\n (a: ActiveErrorMessage, b: ActiveErrorMessage) => (a.timestamp?.getTime() ?? 0) - (b.timestamp?.getTime() ?? 0)\n );\n return activeErrorMessages[activeErrorMessages.length - 1];\n};\n\"../../react-components/src\"\"../../chat-stateful-client/src\""]}
|
@@ -2,6 +2,7 @@ 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";
|
5
6
|
/**
|
6
7
|
* Object containing all the handlers required for chat components.
|
7
8
|
*
|
@@ -17,7 +18,9 @@ export declare type ChatHandlers = {
|
|
17
18
|
onRemoveParticipant: (userId: string) => Promise<void>;
|
18
19
|
updateThreadTopicName: (topicName: string) => Promise<void>;
|
19
20
|
onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
|
20
|
-
onUpdateMessage: (messageId: string, content: string
|
21
|
+
onUpdateMessage: (messageId: string, content: string, metadata?: Record<string, string>, options?: {
|
22
|
+
attachedFilesMetadata?: FileMetadata[];
|
23
|
+
}) => Promise<void>;
|
21
24
|
onDeleteMessage: (messageId: string) => Promise<void>;
|
22
25
|
};
|
23
26
|
/**
|