@azure/communication-react 1.19.0-beta.2 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +278 -1978
- package/dist/dist-cjs/communication-react/index.js +35542 -163
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
- package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
- package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
- package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
- package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
- package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -10
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -12
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +4 -4
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -3
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -4
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +2 -22
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +0 -2
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -5
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -2
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +2 -19
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.d.ts +5 -5
- package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -1
- package/dist/dist-esm/calling-component-bindings/src/index.js +0 -1
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +1 -36
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -10
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +3 -85
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -18
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +4 -104
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -5
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +5 -34
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -3
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +0 -9
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -18
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -3
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +2 -25
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
- package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/api-summary.d.ts +11 -0
- package/dist/dist-esm/communication-react/src/api-summary.js +13 -0
- package/dist/dist-esm/communication-react/src/api-summary.js.map +1 -0
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -28
- package/dist/dist-esm/communication-react/src/index.js +0 -6
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/javascript-loaders.d.ts +2 -0
- package/dist/dist-esm/communication-react/src/javascript-loaders.js +3 -0
- package/dist/dist-esm/communication-react/src/javascript-loaders.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/CameraButton.js +1 -1
- package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +3 -0
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +9 -7
- package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -32
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +4 -0
- package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +0 -4
- package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +7 -7
- package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
- package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/IncomingCallNotification.d.ts +8 -4
- package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +7 -10
- package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/IncomingCallStack.d.ts +12 -15
- package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +3 -3
- package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +15 -5
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
- package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -13
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +18 -16
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -5
- package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -17
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +0 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +2 -3
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
- package/dist/dist-esm/react-components/src/components/SendBox.js +7 -59
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +13 -3
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +2 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +2 -10
- package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +6 -14
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +6 -14
- package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +3 -21
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +8 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +29 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -6
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -5
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +2 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/index.js +0 -7
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +9 -1
- package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +20 -0
- package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +1 -2
- package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -8
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +3 -2
- package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -1
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -2
- package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +14 -2
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +59 -18
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
- package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js +1 -7
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +0 -1
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +16 -9
- package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +16 -9
- package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +16 -9
- package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +17 -10
- package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +16 -9
- package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +16 -9
- package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +15 -8
- package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +18 -11
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -32
- package/dist/dist-esm/react-components/src/theming/icons.js +0 -93
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
- package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
- package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
- package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +3 -72
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +9 -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 +17 -71
- 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 +14 -61
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +84 -172
- 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 +36 -53
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.d.ts +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/createHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +20 -25
- 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.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +6 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +7 -13
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +10 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +3 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +4 -76
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +4 -22
- 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/hooks/useAdaptedSelector.js +2 -4
- 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.d.ts +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +1 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +3 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -45
- 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.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -23
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -20
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -1
- 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/utils/Utils.d.ts +2 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +10 -64
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -24
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +6 -28
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +4 -148
- 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 +12 -46
- 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 +3 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +5 -25
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +1 -15
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +0 -13
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -202
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +1 -37
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +1 -1
- 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 +5 -5
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +3 -2
- package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +4 -4
- package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +7 -2
- package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +2 -25
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +0 -23
- package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +6 -34
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +0 -4
- package/dist/dist-esm/react-composites/src/composites/common/utils.js +0 -22
- package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +10 -10
- package/package.json +18 -3
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-C1XJdavW.js +0 -202
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-C1XJdavW.js.map +0 -1
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-31mhJoQR.js +0 -50
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-31mhJoQR.js.map +0 -1
- package/dist/dist-cjs/communication-react/index-NOtN6_TE.js +0 -42222
- package/dist/dist-cjs/communication-react/index-NOtN6_TE.js.map +0 -1
- package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -16
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +0 -20
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +0 -106
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -192
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
- package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
- package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -12
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -23
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -87
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -58
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -309
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -78
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -211
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -171
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -221
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -320
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -72
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -174
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -116
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
- package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
- package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
- package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
- package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +0 -47
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +0 -48
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +0 -13
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +0 -37
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -196
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +0 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -253
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +0 -12
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +0 -52
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -1,15 +1,6 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
import { ChatMessage } from './ChatMessage';
|
3
3
|
import { AttachmentMetadata } from "../../../acs-ui-common/src";
|
4
|
-
/**
|
5
|
-
* @beta
|
6
|
-
*
|
7
|
-
* Attachment Options that defines behaviour for uploading and downloading attachments.
|
8
|
-
*/
|
9
|
-
export interface AttachmentOptions {
|
10
|
-
uploadOptions?: AttachmentUploadOptions;
|
11
|
-
downloadOptions?: AttachmentDownloadOptions;
|
12
|
-
}
|
13
4
|
/**
|
14
5
|
* @beta
|
15
6
|
*
|
@@ -79,10 +70,6 @@ export interface AttachmentUploadTask {
|
|
79
70
|
* HTML {@link File} object for the uploaded attachment.
|
80
71
|
*/
|
81
72
|
file?: File;
|
82
|
-
/**
|
83
|
-
* {@link Blob} object for the uploaded inline image.
|
84
|
-
*/
|
85
|
-
image?: Blob;
|
86
73
|
/**
|
87
74
|
* Update the progress of the upload changed.
|
88
75
|
* A upload is considered complete when the progress reaches 1.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/types/Attachment.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatMessage } from './ChatMessage';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n/**\n * @beta\n *\n * Attachment
|
1
|
+
{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/types/Attachment.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatMessage } from './ChatMessage';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n/**\n * @beta\n *\n * Attachment download options defines the list of actions that can be performed on an attachment.\n */\nexport interface AttachmentDownloadOptions {\n // A callback function that defines what action user can perform on an attachment.\n // by default, the UI library would have default actions that opens attachment URL in a new tab\n // provide this callback function to override the default actions or add new actions.\n actionsForAttachment: AttachmentActionHandler;\n}\n\n/**\n * @beta\n *\n * Attachment menu action defines buttons that can be shown on the attachment card.\n * If there's one action, it will be shown as a button, if there are multiple actions, it will be shown as a dropdown.\n */\nexport interface AttachmentMenuAction {\n name: string;\n icon: JSX.Element;\n onClick: (attachment: AttachmentMetadata) => Promise<void>;\n}\n\n/**\n * @beta\n */\nexport interface AttachmentUploadOptions {\n /**\n * A list of strings containing the comma separated list of supported media (aka. mime) types.\n * i.e. ['image/*', 'video/*', 'audio/*']\n * Default value is `['*']`, meaning all media types are supported.\n * Similar to the `accept` attribute of the `<input type=\"attachment\" />` element.\n * @beta\n */\n supportedMediaTypes?: string[];\n /**\n * Disable multiple attachments to be selected if set to `true`.\n * Default value is `false`, meaning multiple attachments can be selected.\n * Similar to the `multiple` attribute of the `<input type=\"attachment\" />` element.\n * @beta\n */\n disableMultipleUploads?: boolean;\n /**\n * A callback function of type {@link AttachmentSelectionHandler} that will be called\n * when user finishes selecting files in browser's file picker. This function is required since\n * this would be where upload logic is implemented to your own storage.\n * @beta\n */\n handleAttachmentSelection: AttachmentSelectionHandler;\n /**\n * A optional callback function that will be called\n * when user removing files before clicking send message button. This function will be\n * where you can remove the file from your storage.\n * @beta\n */\n handleAttachmentRemoval?: AttachmentRemovalHandler;\n}\n\n/**\n * A upload task represents and manages an attachment that is being uploaded.\n * When using the Composite, an attachment upload task is created for each file user is selected to upload.\n * A upload task is complete when notifyUploadCompleted is called.\n * A upload task is failed when notifyUploadFailed is called.\n * @beta\n */\nexport interface AttachmentUploadTask {\n /**\n * Unique identifier for the attachment upload task.\n */\n taskId: string;\n /**\n * HTML {@link File} object for the uploaded attachment.\n */\n file?: File;\n /**\n * Update the progress of the upload changed.\n * A upload is considered complete when the progress reaches 1.\n * @param value - number between 0 and 1\n */\n notifyUploadProgressChanged: (value: number) => void;\n /**\n * Mark the upload task as complete.\n * An attachment is considered completed uploading when ID and URL are provided.\n * @param id - the unique identifier of the attachment.\n * @param url - the download URL of the attachment.\n */\n notifyUploadCompleted: (id: string, url: string) => void;\n /**\n * Mark the upload task as failed.\n * @param message - An error message that can be displayed to the user.\n */\n notifyUploadFailed: (message: string) => void;\n}\n\n/**\n * @beta\n * A callback function that defines what actions user can perform on an attachment.\n * By default, the UI library would have default actions that opens attachment URL in a new tab.\n * You can override the default actions or add new actions by providing this callback function.\n * Moreover, you can also return dynamic actions based on the properties in {@link AttachmentMetadata} and/or {@link ChatMessage}.\n *\n * @param attachment - The file attachment that user is trying to perform actions on.\n * @param message - The chat message that contains this attachment.\n * @returns A list of {@link AttachmentMenuAction} that defines the type of actions user can perform on the attachment.\n */\nexport type AttachmentActionHandler = (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];\n\n/**\n * @beta\n * A callback function for handling list of upload tasks that contains files selected by user to upload.\n *\n * @param AttachmentUploads - The list of uploaded attachments. Each attachment is represented by an {@link AttachmentUpload} object.\n */\nexport type AttachmentSelectionHandler = (attachmentUploads: AttachmentUploadTask[]) => void;\n\n/**\n * @beta\n * A callback function for handling attachment removed by the user in send box.\n *\n * @param attachmentId - The ID of uploaded attachments.\n */\nexport type AttachmentRemovalHandler = (attachmentId: string) => void;\n\n/**\n * A wrapper for list of attachment metadata that is used for new message requests and update message requsts.\n * @internal\n */\nexport type AttachmentMetadataWrapper = {\n fileSharingMetadata: string;\n};"]}
|
@@ -22,7 +22,7 @@ export type MessageContentType = 'text' | 'html' | 'richtext/html' | 'unknown';
|
|
22
22
|
*
|
23
23
|
* @public
|
24
24
|
*/
|
25
|
-
export type Message = ChatMessage | SystemMessage | CustomMessage
|
25
|
+
export type Message = ChatMessage | SystemMessage | CustomMessage;
|
26
26
|
/**
|
27
27
|
* Discriminated union of all system messages.
|
28
28
|
*
|
@@ -96,25 +96,6 @@ export interface ContentSystemMessage extends SystemMessageCommon {
|
|
96
96
|
systemMessageType: 'content';
|
97
97
|
content: string;
|
98
98
|
}
|
99
|
-
/**
|
100
|
-
* Content blocked message type.
|
101
|
-
*
|
102
|
-
* Content blocked messages will rendered default value, but applications can provide custom strings and icon to renderers.
|
103
|
-
*
|
104
|
-
* @beta
|
105
|
-
*/
|
106
|
-
export interface BlockedMessage extends MessageCommon {
|
107
|
-
messageType: 'blocked';
|
108
|
-
warningText?: string;
|
109
|
-
linkText?: string;
|
110
|
-
link?: string;
|
111
|
-
deletedOn?: Date;
|
112
|
-
senderId?: string;
|
113
|
-
senderDisplayName?: string;
|
114
|
-
status?: MessageStatus;
|
115
|
-
attached?: MessageAttachedStatus;
|
116
|
-
mine?: boolean;
|
117
|
-
}
|
118
99
|
/**
|
119
100
|
* A custom message type.
|
120
101
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/types/ChatMessage.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageStatus } from '@internal/acs-ui-common';\nimport { CommunicationParticipant } from './CommunicationParticipant';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n\n/**\n * Indicate whether a chat message should be displayed merged with the message before / after it.\n * If `true`, the message will be appear grouped with the message before it.\n * 'top' and 'bottom' are used to indicate that the message is the start or end of a group.\n *\n * @public\n */\nexport type MessageAttachedStatus = 'bottom' | 'top' | boolean;\n\n/**\n * Supported types of chat message content.\n *\n * @public\n */\nexport type MessageContentType = 'text' | 'html' | 'richtext/html' | 'unknown';\n\n/**\n * Discriminated union of all messages.\n *\n * The `messageType` field specializes into union variants.\n *\n * @public\n */\nexport type Message = ChatMessage | SystemMessage | CustomMessage
|
1
|
+
{"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/types/ChatMessage.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageStatus } from '@internal/acs-ui-common';\nimport { CommunicationParticipant } from './CommunicationParticipant';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n\n/**\n * Indicate whether a chat message should be displayed merged with the message before / after it.\n * If `true`, the message will be appear grouped with the message before it.\n * 'top' and 'bottom' are used to indicate that the message is the start or end of a group.\n *\n * @public\n */\nexport type MessageAttachedStatus = 'bottom' | 'top' | boolean;\n\n/**\n * Supported types of chat message content.\n *\n * @public\n */\nexport type MessageContentType = 'text' | 'html' | 'richtext/html' | 'unknown';\n\n/**\n * Discriminated union of all messages.\n *\n * The `messageType` field specializes into union variants.\n *\n * @public\n */\nexport type Message = ChatMessage | SystemMessage | CustomMessage;\n\n/**\n * Discriminated union of all system messages.\n *\n * The `systemMessageType` field specializes into union variants.\n *\n * @public\n */\nexport type SystemMessage = ParticipantAddedSystemMessage | ParticipantRemovedSystemMessage | TopicUpdatedSystemMessage | ContentSystemMessage;\n\n/**\n * A chat message.\n *\n * @public\n */\nexport interface ChatMessage extends MessageCommon {\n messageType: 'chat';\n content?: string;\n editedOn?: Date;\n deletedOn?: Date;\n senderId?: string;\n senderDisplayName?: string;\n status?: MessageStatus;\n failureReason?: string;\n attached?: MessageAttachedStatus;\n mine?: boolean;\n clientMessageId?: string;\n contentType: MessageContentType;\n /**\n * A metadata field for the message.\n * {@link @azure/communication-chat#ChatMessage.metadata}\n */\n metadata?: Record<string, string>;\n /**\n * A list of attachments in the message.\n * {@link AttachmentMetadata}\n */\n attachments?: AttachmentMetadata[];\n}\n\n/**\n * A system message notifying that a participant was added to the chat thread.\n *\n * @public\n */\nexport interface ParticipantAddedSystemMessage extends SystemMessageCommon {\n systemMessageType: 'participantAdded';\n participants: CommunicationParticipant[];\n}\n\n/**\n * A system message notifying that a participant was removed from the chat thread.\n *\n * @public\n */\nexport interface ParticipantRemovedSystemMessage extends SystemMessageCommon {\n systemMessageType: 'participantRemoved';\n participants: CommunicationParticipant[];\n}\n\n/**\n * A system message notifying that the chat thread topic was updated.\n *\n * @public\n */\nexport interface TopicUpdatedSystemMessage extends SystemMessageCommon {\n systemMessageType: 'topicUpdated';\n topic: string;\n}\n\n/**\n * A system message with arbitary content.\n *\n * @public\n */\nexport interface ContentSystemMessage extends SystemMessageCommon {\n systemMessageType: 'content';\n content: string;\n}\n/**\n * A custom message type.\n *\n * Custom messages are not rendered by default, but applications can provide custom renderers for them.\n *\n * @public\n */\nexport interface CustomMessage extends MessageCommon {\n messageType: 'custom';\n content: string;\n}\n\n/**\n * Common properties of all system messages.\n *\n * @public\n */\nexport interface SystemMessageCommon extends MessageCommon {\n messageType: 'system';\n iconName: string;\n}\n\n/**\n * Common properties of all message types.\n *\n * @public\n */\nexport interface MessageCommon {\n messageId: string;\n // ISO8601 format: `yyyy-MM-ddTHH:mm:ssZ`\n createdOn: Date;\n}"]}
|
@@ -105,7 +105,7 @@ export interface VideoGalleryRemoteParticipant extends VideoGalleryParticipant {
|
|
105
105
|
/** Video stream of shared screen */
|
106
106
|
screenShareStream?: VideoGalleryStream;
|
107
107
|
/**
|
108
|
-
* @
|
108
|
+
* @public
|
109
109
|
* The connection state of the participant. For example, 'Hold', 'Connecting' etc.
|
110
110
|
*/
|
111
111
|
state?: ParticipantState;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VideoGalleryParticipant.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/types/VideoGalleryParticipant.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { ParticipantState } from './ParticipantListParticipant';\nimport { RaisedHand } from './ParticipantListParticipant';\nimport { Reaction } from './ParticipantListParticipant';\nimport { Spotlight } from './ParticipantListParticipant';\n/**\n * Scaling mode of a {@link VideoGalleryStream}.\n *\n * @public\n */\nexport type ViewScalingMode = 'Stretch' | 'Crop' | 'Fit';\n\n/**\n * Options to control how video streams are rendered.\n *\n * @public\n */\nexport declare interface VideoStreamOptions {\n /** Whether the video stream is mirrored or not */\n isMirrored?: boolean;\n /** Scaling mode. It can be `Stretch`, `Crop` or `Fit` */\n scalingMode?: ViewScalingMode;\n}\n\n/**\n * The state of a participant in the {@link VideoGallery}.\n *\n * @public\n */\nexport type VideoGalleryParticipant = {\n /** User ID of participant */\n userId: string;\n /** Whether participant is muted */\n isMuted?: boolean;\n /** Display name of participant */\n displayName?: string;\n /** Video stream of participant */\n videoStream?: VideoGalleryStream;\n /** Whether participant is screen sharing or not */\n isScreenSharingOn?: boolean;\n /** Whether participant is spotlighted **/\n spotlight?: Spotlight;\n};\n\n/**\n * Video stream of a participant in {@link VideoGallery}.\n *\n * @public\n */\nexport interface VideoGalleryStream {\n /** ID of the video stream */\n id?: number;\n /** Whether the video stream is available or not */\n isAvailable?: boolean;\n /** Whether the video stream is receiving data or not */\n isReceiving?: boolean;\n /** Whether the video stream is mirrored or not */\n isMirrored?: boolean;\n /** Render element of the video stream */\n renderElement?: HTMLElement;\n /** Scaling mode of the video stream */\n scalingMode?: ViewScalingMode;\n /** Stream Size of the video stream */\n streamSize?: {\n width: number;\n height: number;\n };\n}\n\n/**\n * Object returned after creating a local or remote VideoStream.\n * This contains helper functions to manipulate the render of the stream.\n *\n * @public\n */\nexport interface CreateVideoStreamViewResult {\n /** View handle of the rendered video stream */\n view: {\n /**\n * Update the scale mode for this view.\n * @param scalingMode - The new scale mode.\n */\n updateScalingMode: (scalingMode: ViewScalingMode) => Promise<void>;\n };\n}\n\n// set the required attribs in selector. (Further simplifying our component logic) For example\n// isLocalVideoReady can be calculated inside selector.\n/**\n * The state of the local participant in the {@link VideoGallery}.\n *\n * @public\n */\nexport interface VideoGalleryLocalParticipant extends VideoGalleryParticipant {\n /** Whether local participant is raised a hand */\n raisedHand?: RaisedHand;\n /**\n * Whether local participant has reacted\n *\n * */\n reaction?: Reaction;\n /** Video stream of shared screen */\n screenShareStream?: VideoGalleryStream;\n}\n\n/**\n * The state of a remote participant in the {@link VideoGallery}.\n *\n * @public\n */\nexport interface VideoGalleryRemoteParticipant extends VideoGalleryParticipant {\n /** Whether participant is speaking or not */\n isSpeaking?: boolean;\n /** Video stream of shared screen */\n screenShareStream?: VideoGalleryStream;\n /**\n * @
|
1
|
+
{"version":3,"file":"VideoGalleryParticipant.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/types/VideoGalleryParticipant.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { ParticipantState } from './ParticipantListParticipant';\nimport { RaisedHand } from './ParticipantListParticipant';\nimport { Reaction } from './ParticipantListParticipant';\nimport { Spotlight } from './ParticipantListParticipant';\n/**\n * Scaling mode of a {@link VideoGalleryStream}.\n *\n * @public\n */\nexport type ViewScalingMode = 'Stretch' | 'Crop' | 'Fit';\n\n/**\n * Options to control how video streams are rendered.\n *\n * @public\n */\nexport declare interface VideoStreamOptions {\n /** Whether the video stream is mirrored or not */\n isMirrored?: boolean;\n /** Scaling mode. It can be `Stretch`, `Crop` or `Fit` */\n scalingMode?: ViewScalingMode;\n}\n\n/**\n * The state of a participant in the {@link VideoGallery}.\n *\n * @public\n */\nexport type VideoGalleryParticipant = {\n /** User ID of participant */\n userId: string;\n /** Whether participant is muted */\n isMuted?: boolean;\n /** Display name of participant */\n displayName?: string;\n /** Video stream of participant */\n videoStream?: VideoGalleryStream;\n /** Whether participant is screen sharing or not */\n isScreenSharingOn?: boolean;\n /** Whether participant is spotlighted **/\n spotlight?: Spotlight;\n};\n\n/**\n * Video stream of a participant in {@link VideoGallery}.\n *\n * @public\n */\nexport interface VideoGalleryStream {\n /** ID of the video stream */\n id?: number;\n /** Whether the video stream is available or not */\n isAvailable?: boolean;\n /** Whether the video stream is receiving data or not */\n isReceiving?: boolean;\n /** Whether the video stream is mirrored or not */\n isMirrored?: boolean;\n /** Render element of the video stream */\n renderElement?: HTMLElement;\n /** Scaling mode of the video stream */\n scalingMode?: ViewScalingMode;\n /** Stream Size of the video stream */\n streamSize?: {\n width: number;\n height: number;\n };\n}\n\n/**\n * Object returned after creating a local or remote VideoStream.\n * This contains helper functions to manipulate the render of the stream.\n *\n * @public\n */\nexport interface CreateVideoStreamViewResult {\n /** View handle of the rendered video stream */\n view: {\n /**\n * Update the scale mode for this view.\n * @param scalingMode - The new scale mode.\n */\n updateScalingMode: (scalingMode: ViewScalingMode) => Promise<void>;\n };\n}\n\n// set the required attribs in selector. (Further simplifying our component logic) For example\n// isLocalVideoReady can be calculated inside selector.\n/**\n * The state of the local participant in the {@link VideoGallery}.\n *\n * @public\n */\nexport interface VideoGalleryLocalParticipant extends VideoGalleryParticipant {\n /** Whether local participant is raised a hand */\n raisedHand?: RaisedHand;\n /**\n * Whether local participant has reacted\n *\n * */\n reaction?: Reaction;\n /** Video stream of shared screen */\n screenShareStream?: VideoGalleryStream;\n}\n\n/**\n * The state of a remote participant in the {@link VideoGallery}.\n *\n * @public\n */\nexport interface VideoGalleryRemoteParticipant extends VideoGalleryParticipant {\n /** Whether participant is speaking or not */\n isSpeaking?: boolean;\n /** Video stream of shared screen */\n screenShareStream?: VideoGalleryStream;\n /**\n * @public\n * The connection state of the participant. For example, 'Hold', 'Connecting' etc.\n */\n state?: ParticipantState;\n /** Whether participant is raised a hand */\n raisedHand?: RaisedHand;\n /**\n * Whether participant has reacted\n *\n * @public\n * */\n reaction?: Reaction;\n}"]}
|
@@ -36,28 +36,6 @@ export interface CallCompositeProps extends BaseCompositeProps<CallCompositeIcon
|
|
36
36
|
*/
|
37
37
|
options?: CallCompositeOptions;
|
38
38
|
}
|
39
|
-
/**
|
40
|
-
* Device Checks.
|
41
|
-
* Choose whether or not to block starting a call depending on camera and microphone permission options.
|
42
|
-
*
|
43
|
-
* @beta
|
44
|
-
*/
|
45
|
-
export interface DeviceCheckOptions {
|
46
|
-
/**
|
47
|
-
* Camera Permission prompts for your call.
|
48
|
-
* 'required' - requires the permission to be allowed before permitting the user join the call.
|
49
|
-
* 'optional' - permission can be disallowed and the user is still permitted to join the call.
|
50
|
-
* 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
|
51
|
-
*/
|
52
|
-
camera: 'required' | 'optional' | 'doNotPrompt';
|
53
|
-
/**
|
54
|
-
* Microphone permission prompts for your call.
|
55
|
-
* 'required' - requires the permission to be allowed before permitting the user join the call.
|
56
|
-
* 'optional' - permission can be disallowed and the user is still permitted to join the call.
|
57
|
-
* 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
|
58
|
-
*/
|
59
|
-
microphone: 'required' | 'optional' | 'doNotPrompt';
|
60
|
-
}
|
61
39
|
/**
|
62
40
|
* Menu options for remote video tiles in {@link VideoGallery}.
|
63
41
|
*
|
@@ -94,6 +72,9 @@ export interface LocalVideoTileOptions {
|
|
94
72
|
* @public
|
95
73
|
*/
|
96
74
|
export type CallCompositeOptions = {
|
75
|
+
captionsBanner?: {
|
76
|
+
height: 'full' | 'default';
|
77
|
+
};
|
97
78
|
/**
|
98
79
|
* Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.
|
99
80
|
* Hide or show the error bar.
|
@@ -106,56 +87,6 @@ export type CallCompositeOptions = {
|
|
106
87
|
* @defaultValue true
|
107
88
|
*/
|
108
89
|
callControls?: boolean | CallControlOptions;
|
109
|
-
/**
|
110
|
-
* Device permissions check options for your call.
|
111
|
-
* Here you can choose what device permissions you prompt the user for,
|
112
|
-
* as well as what device permissions must be accepted before starting a call.
|
113
|
-
*/
|
114
|
-
deviceChecks?: DeviceCheckOptions;
|
115
|
-
/**
|
116
|
-
* Callback you may provide to supply users with further steps to troubleshoot why they have been
|
117
|
-
* unable to grant your site the required permissions for the call.
|
118
|
-
*
|
119
|
-
* @example
|
120
|
-
* ```ts
|
121
|
-
* onPermissionsTroubleshootingClick: () =>
|
122
|
-
* window.open('https://contoso.com/permissions-troubleshooting', '_blank');
|
123
|
-
* ```
|
124
|
-
*
|
125
|
-
* @remarks
|
126
|
-
* if this is not supplied, the composite will not show a 'further troubleshooting' link.
|
127
|
-
*/
|
128
|
-
onPermissionsTroubleshootingClick?: (permissionsState: {
|
129
|
-
camera: PermissionState;
|
130
|
-
microphone: PermissionState;
|
131
|
-
}) => void;
|
132
|
-
/**
|
133
|
-
* Callback you may provide to supply users with further steps to troubleshoot why they have been
|
134
|
-
* having network issues when connecting to the call.
|
135
|
-
*
|
136
|
-
* @example
|
137
|
-
* ```ts
|
138
|
-
* onNetworkingTroubleShootingClick?: () =>
|
139
|
-
* window.open('https://contoso.com/network-troubleshooting', '_blank');
|
140
|
-
* ```
|
141
|
-
*
|
142
|
-
* @remarks
|
143
|
-
* if this is not supplied, the composite will not show a 'network troubleshooting' link.
|
144
|
-
*/
|
145
|
-
onNetworkingTroubleShootingClick?: () => void;
|
146
|
-
/**
|
147
|
-
* Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.
|
148
|
-
*
|
149
|
-
* @example
|
150
|
-
* ```ts
|
151
|
-
* onBrowserTroubleShootingClick?: () =>
|
152
|
-
* window.open('https://contoso.com/browser-troubleshooting', '_blank');
|
153
|
-
* ```
|
154
|
-
*
|
155
|
-
* @remarks
|
156
|
-
* if this is not supplied, the composite will not show a unsupported browser page.
|
157
|
-
*/
|
158
|
-
onEnvironmentInfoTroubleshootingClick?: () => void;
|
159
90
|
/**
|
160
91
|
* Remote participant video tile menu options
|
161
92
|
*/
|
@@ -27,7 +27,6 @@ import { LayerHost, mergeStyles } from '@fluentui/react';
|
|
27
27
|
import { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';
|
28
28
|
import { useId } from '@fluentui/react-hooks';
|
29
29
|
import { HoldPage } from './pages/HoldPage';
|
30
|
-
import { UnsupportedBrowserPage } from './pages/UnsupportedBrowser';
|
31
30
|
import { SidePaneProvider } from './components/SidePane/SidePaneProvider';
|
32
31
|
import { filterLatestNotifications, getEndedCallPageProps, trackNotificationAsDismissed, updateTrackedNotificationsWithActiveNotifications } from './utils';
|
33
32
|
import { computeComplianceNotification } from './utils';
|
@@ -43,27 +42,23 @@ const isShowing = (overrideSidePane) => {
|
|
43
42
|
return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
|
44
43
|
};
|
45
44
|
const MainScreen = (props) => {
|
46
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m
|
45
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
47
46
|
const adapter = useAdapter();
|
48
47
|
const { camerasCount, microphonesCount } = useSelector(deviceCountSelector);
|
49
48
|
const hasCameras = camerasCount > 0;
|
50
49
|
const hasMicrophones = microphonesCount > 0;
|
51
50
|
useEffect(() => {
|
52
51
|
(() => __awaiter(void 0, void 0, void 0, function* () {
|
53
|
-
var _a
|
52
|
+
var _a;
|
54
53
|
const constrain = getQueryOptions({
|
55
54
|
role: (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role
|
56
55
|
});
|
57
|
-
{
|
58
|
-
constrain.audio = ((_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.deviceChecks) === null || _c === void 0 ? void 0 : _c.microphone) === 'doNotPrompt' ? false : constrain.audio;
|
59
|
-
constrain.video = ((_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks) === null || _e === void 0 ? void 0 : _e.camera) === 'doNotPrompt' ? false : constrain.video;
|
60
|
-
}
|
61
56
|
yield adapter.askDevicePermission(constrain);
|
62
57
|
adapter.queryCameras();
|
63
58
|
adapter.queryMicrophones();
|
64
59
|
adapter.querySpeakers();
|
65
60
|
}))();
|
66
|
-
}, [adapter,
|
61
|
+
}, [adapter,
|
67
62
|
// Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call
|
68
63
|
// as we cannot request permissions when there are no devices.
|
69
64
|
hasCameras, hasMicrophones]);
|
@@ -72,7 +67,7 @@ const MainScreen = (props) => {
|
|
72
67
|
const endedCall = useSelector(getEndedCall);
|
73
68
|
const [sidePaneRenderer, setSidePaneRenderer] = React.useState();
|
74
69
|
const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState();
|
75
|
-
const [userSetGalleryLayout, setUserSetGalleryLayout] = useState((
|
70
|
+
const [userSetGalleryLayout, setUserSetGalleryLayout] = useState((_c = (_b = (_a = props.options) === null || _a === void 0 ? void 0 : _a.galleryOptions) === null || _b === void 0 ? void 0 : _b.layout) !== null && _c !== void 0 ? _c : 'floatingLocalVideo');
|
76
71
|
const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState('Responsive');
|
77
72
|
const overridePropsRef = useRef(props.overrideSidePane);
|
78
73
|
useEffect(() => {
|
@@ -178,7 +173,7 @@ const MainScreen = (props) => {
|
|
178
173
|
cameraOn: 'keep'
|
179
174
|
});
|
180
175
|
}
|
181
|
-
}, updateSidePaneRenderer: setSidePaneRenderer, latestErrors: latestErrors, onDismissError: onDismissError, modalLayerHostId: props.modalLayerHostId,
|
176
|
+
}, updateSidePaneRenderer: setSidePaneRenderer, latestErrors: latestErrors, onDismissError: onDismissError, modalLayerHostId: props.modalLayerHostId, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.branding) === null || _e === void 0 ? void 0 : _e.logo, backgroundImage: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.branding) === null || _g === void 0 ? void 0 : _g.backgroundImage });
|
182
177
|
break;
|
183
178
|
case 'accessDeniedTeamsMeeting':
|
184
179
|
pageElement = React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' });
|
@@ -190,7 +185,7 @@ const MainScreen = (props) => {
|
|
190
185
|
pageElement = React.createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page' });
|
191
186
|
break;
|
192
187
|
case 'leaving':
|
193
|
-
pageElement = React.createElement(NoticePage, { title: (
|
188
|
+
pageElement = React.createElement(NoticePage, { title: (_h = locale.strings.call.leavingCallTitle) !== null && _h !== void 0 ? _h : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true });
|
194
189
|
break;
|
195
190
|
case 'badRequest':
|
196
191
|
{
|
@@ -201,8 +196,8 @@ const MainScreen = (props) => {
|
|
201
196
|
case 'leftCall':
|
202
197
|
{
|
203
198
|
const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
|
204
|
-
if (!((
|
205
|
-
pageElement = React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (
|
199
|
+
if (!((_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.surveyOptions) === null || _k === void 0 ? void 0 : _k.disableSurvey)) {
|
200
|
+
pageElement = React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_l = props.options) === null || _l === void 0 ? void 0 : _l.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView });
|
206
201
|
break;
|
207
202
|
}
|
208
203
|
pageElement = React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: callees ? '' : moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton });
|
@@ -215,18 +210,13 @@ const MainScreen = (props) => {
|
|
215
210
|
pageElement = React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps });
|
216
211
|
break;
|
217
212
|
case 'call':
|
218
|
-
pageElement = React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (
|
213
|
+
pageElement = React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_m = props.options) === null || _m === void 0 ? void 0 : _m.disableAutoShowDtmfDialer });
|
219
214
|
break;
|
220
215
|
case 'hold':
|
221
216
|
pageElement = React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
222
217
|
break;
|
223
218
|
}
|
224
219
|
useEndedCallConsoleErrors(endedCall);
|
225
|
-
switch (page) {
|
226
|
-
case 'unsupportedEnvironment':
|
227
|
-
pageElement = React.createElement(React.Fragment, null, React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_s = props.options) === null || _s === void 0 ? void 0 : _s.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo }));
|
228
|
-
break;
|
229
|
-
}
|
230
220
|
if (!pageElement) {
|
231
221
|
throw new Error('Invalid call composite page');
|
232
222
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CallComposite.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/CallComposite.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback, useTheme, VideoTilesOptions } from '@internal/react-components';\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { CallSurveyImprovementSuggestions } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { CallCompositeIcons } from '../common/icons';\nimport { useLocale } from '../localization';\nimport { CommonCallAdapter, StartCallIdentifier } from './adapter/CallAdapter';\nimport { CallAdapterProvider, useAdapter } from './adapter/CallAdapterProvider';\nimport { CallPage } from './pages/CallPage';\nimport { ConfigurationPage } from './pages/ConfigurationPage';\nimport { NoticePage } from './pages/NoticePage';\nimport { useSelector } from './hooks/useSelector';\nimport { getEndedCall, getPage, getTargetCallees } from './selectors/baseSelectors';\nimport { LobbyPage } from './pages/LobbyPage';\nimport { TransferPage } from './pages/TransferPage';\nimport { leavingPageStyle, mainScreenContainerStyleDesktop, mainScreenContainerStyleMobile } from './styles/CallComposite.styles';\nimport { CallControlOptions } from './types/CallControlOptions';\nimport { LayerHost, mergeStyles } from '@fluentui/react';\nimport { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useId } from '@fluentui/react-hooks';\nimport { HoldPage } from './pages/HoldPage';\nimport { UnsupportedBrowserPage } from './pages/UnsupportedBrowser';\nimport { CallSurvey } from '@azure/communication-calling';\nimport { ParticipantRole, PermissionConstraints } from '@azure/communication-calling';\nimport { MobileChatSidePaneTabHeaderProps } from '../common/TabHeader';\nimport { InjectedSidePaneProps, SidePaneProvider, SidePaneRenderer } from './components/SidePane/SidePaneProvider';\nimport { filterLatestNotifications, getEndedCallPageProps, trackNotificationAsDismissed, updateTrackedNotificationsWithActiveNotifications } from './utils';\nimport { CachedComplianceNotificationProps, computeComplianceNotification } from './utils';\nimport { TrackedNotifications } from './types/ErrorTracking';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { deviceCountSelector } from './selectors/deviceCountSelector';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { capabilitiesChangedInfoAndRoleSelector } from './selectors/capabilitiesChangedInfoAndRoleSelector';\nimport { useTrackedCapabilityChangedNotifications } from './utils/TrackCapabilityChangedNotifications';\nimport { useEndedCallConsoleErrors } from './utils/useConsoleErrors';\nimport { SurveyPage } from './pages/SurveyPage';\nimport { useAudio } from '../common/AudioProvider';\nimport { complianceBannerSelector } from './selectors/complianceBannerSelector';\n\n/**\n * Props for {@link CallComposite}.\n *\n * @public\n */\nexport interface CallCompositeProps extends BaseCompositeProps<CallCompositeIcons> {\n /**\n * An adapter provides logic and data to the composite.\n * Composite can also be controlled using the adapter.\n */\n adapter: CommonCallAdapter;\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n /**\n * URL to invite new participants to the current call. If this is supplied, a button appears in the Participants\n * Button flyout menu.\n */\n callInvitationUrl?: string;\n /**\n * Flags to enable/disable or customize UI elements of the {@link CallComposite}.\n */\n options?: CallCompositeOptions;\n}\n/**\n * Device Checks.\n * Choose whether or not to block starting a call depending on camera and microphone permission options.\n *\n * @beta\n */\nexport interface DeviceCheckOptions {\n /**\n * Camera Permission prompts for your call.\n * 'required' - requires the permission to be allowed before permitting the user join the call.\n * 'optional' - permission can be disallowed and the user is still permitted to join the call.\n * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.\n */\n camera: 'required' | 'optional' | 'doNotPrompt';\n /**\n * Microphone permission prompts for your call.\n * 'required' - requires the permission to be allowed before permitting the user join the call.\n * 'optional' - permission can be disallowed and the user is still permitted to join the call.\n * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.\n */\n microphone: 'required' | 'optional' | 'doNotPrompt';\n}\n\n/**\n * Menu options for remote video tiles in {@link VideoGallery}.\n *\n * @public\n */\nexport interface RemoteVideoTileMenuOptions {\n /**\n * If set to true, remote video tiles in the VideoGallery will not have menu options\n *\n * @defaultValue false\n */\n isHidden?: boolean;\n}\n\n/**\n * Options for the local video tile in the Call composite.\n *\n * @public\n */\nexport interface LocalVideoTileOptions {\n /**\n * Position of the local video tile. If unset will render the local tile in the floating local position.\n *\n * @defaultValue 'floating'\n * @remarks 'grid' - local video tile will be rendered in the grid view of the videoGallery.\n * 'floating' - local video tile will be rendered in the floating position and will observe overflow gallery\n * local video tile rules and be docked in the bottom corner.\n * This does not affect the Configuration screen or the side pane Picture in Picture in Picture view.\n */\n position?: 'grid' | 'floating';\n}\n/**\n * Optional features of the {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeOptions = {\n /**\n * Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.\n * Hide or show the error bar.\n * @defaultValue true\n */\n errorBar?: boolean;\n /**\n * Hide or Customize the control bar element.\n * Can be customized by providing an object of type {@link @azure/communication-react#CallControlOptions}.\n * @defaultValue true\n */\n callControls?: boolean | CallControlOptions;\n /**\n * Device permissions check options for your call.\n * Here you can choose what device permissions you prompt the user for,\n * as well as what device permissions must be accepted before starting a call.\n */\n deviceChecks?: DeviceCheckOptions;\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * unable to grant your site the required permissions for the call.\n *\n * @example\n * ```ts\n * onPermissionsTroubleshootingClick: () =>\n * window.open('https://contoso.com/permissions-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'further troubleshooting' link.\n */\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n /**\n * Callback you may provide to supply users with further steps to troubleshoot why they have been\n * having network issues when connecting to the call.\n *\n * @example\n * ```ts\n * onNetworkingTroubleShootingClick?: () =>\n * window.open('https://contoso.com/network-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a 'network troubleshooting' link.\n */\n onNetworkingTroubleShootingClick?: () => void;\n /**\n * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.\n *\n * @example\n * ```ts\n * onBrowserTroubleShootingClick?: () =>\n * window.open('https://contoso.com/browser-troubleshooting', '_blank');\n * ```\n *\n * @remarks\n * if this is not supplied, the composite will not show a unsupported browser page.\n */\n onEnvironmentInfoTroubleshootingClick?: () => void;\n /**\n * Remote participant video tile menu options\n */\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n /**\n * Options for controlling the local video tile.\n *\n * @remarks if 'false' the local video tile will not be rendered.\n */\n localVideoTile?: boolean | LocalVideoTileOptions;\n /**\n * Options for controlling video tile.\n */\n videoTilesOptions?: VideoTilesOptions;\n /**\n * Whether to auto show the DTMF Dialer when the call starts in supported scenarios.\n * - Teams Voice Application like Call queue or Auto Attendant\n * - PSTN Calls\n * @defaultValue false\n */\n disableAutoShowDtmfDialer?: boolean;\n /**\n * Options for controlling the starting layout of the composite's video gallery\n */\n galleryOptions?: {\n /**\n * Layout for the gallery when the call starts\n */\n layout?: VideoGalleryLayout;\n };\n /**\n * Options for end of call survey\n */\n surveyOptions?: {\n /**\n * Disable call survey at the end of a call.\n * @defaultValue false\n */\n disableSurvey?: boolean;\n /**\n * Optional callback to redirect users to custom screens when survey is done, note that default end call screen will be shown if this callback is not provided\n * This callback can be used to redirect users to different screens depending on survey state, whether it is submitted, skipped or has a problem when submitting the survey\n */\n onSurveyClosed?: (surveyState: 'sent' | 'skipped' | 'error', surveyError?: string) => void;\n /**\n * Optional callback to handle survey data including free form text response\n * Note that free form text response survey option is only going to be enabled when this callback is provided\n * User will need to handle all free form text response on their own\n */\n onSurveySubmitted?: (callId: string, surveyId: string,\n /**\n * This is the survey results containing star survey data and API tag survey data.\n * This part of the result will always be sent to the calling sdk\n * This callback provides user with the ability to gain access to survey data\n */\n submittedSurvey: CallSurvey,\n /**\n * This is the survey results containing free form text\n * This part of the result will not be handled by composites\n * User will need to collect and handle this information 100% on their own\n * Free form text survey is not going to show in the UI if onSurveySubmitted is not populated\n */\n improvementSuggestions: CallSurveyImprovementSuggestions) => Promise<void>;\n };\n /**\n * Options for setting additional customizations related to personalized branding.\n */\n branding?: {\n /**\n * Logo displayed on the configuration page.\n */\n logo?: {\n /**\n * URL for the logo image.\n *\n * @remarks\n * Recommended size is 80x80 pixels.\n */\n url: string;\n /**\n * Alt text for the logo image.\n */\n alt?: string;\n /**\n * The logo can be displayed as a circle.\n *\n * @defaultValue 'unset'\n */\n shape?: 'unset' | 'circle';\n };\n /**\n * Background image displayed on the configuration page.\n */\n backgroundImage?: {\n /**\n * URL for the background image.\n *\n * @remarks\n * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.\n */\n url: string;\n };\n };\n /**\n * Options for settings related to spotlight.\n */\n spotlight?: {\n /**\n * Flag to hide the menu buttons to start and stop spotlight for remote participants and the local participant.\n * @defaultValue false\n */\n hideSpotlightButtons?: boolean;\n };\n};\ntype MainScreenProps = {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationUrl?: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n options?: CallCompositeOptions;\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n onCloseChatPane?: () => void;\n};\nconst isShowing = (overrideSidePane?: InjectedSidePaneProps): boolean => {\n return !!overrideSidePane?.isActive;\n};\nconst MainScreen = (props: MainScreenProps): JSX.Element => {\n const adapter = useAdapter();\n const {\n camerasCount,\n microphonesCount\n } = useSelector(deviceCountSelector);\n const hasCameras = camerasCount > 0;\n const hasMicrophones = microphonesCount > 0;\n useEffect(() => {\n (async () => {\n const constrain = getQueryOptions({\n role: adapter.getState().call?.role\n });\n {\n constrain.audio = props.options?.deviceChecks?.microphone === 'doNotPrompt' ? false : constrain.audio;\n constrain.video = props.options?.deviceChecks?.camera === 'doNotPrompt' ? false : constrain.video;\n }\n await adapter.askDevicePermission(constrain);\n adapter.queryCameras();\n adapter.queryMicrophones();\n adapter.querySpeakers();\n })();\n }, [adapter, props.options?.deviceChecks,\n // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call\n // as we cannot request permissions when there are no devices.\n hasCameras, hasMicrophones]);\n const {\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems\n } = props;\n const page = useSelector(getPage);\n const endedCall = useSelector(getEndedCall);\n const [sidePaneRenderer, setSidePaneRenderer] = React.useState<SidePaneRenderer | undefined>();\n const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState<InjectedSidePaneProps>();\n const [userSetGalleryLayout, setUserSetGalleryLayout] = useState<VideoGalleryLayout>(props.options?.galleryOptions?.layout ?? 'floatingLocalVideo');\n const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState<'Responsive' | 'horizontalTop'>('Responsive');\n const overridePropsRef = useRef<InjectedSidePaneProps | undefined>(props.overrideSidePane);\n useEffect(() => {\n setInjectedSidePaneProps(props.overrideSidePane);\n // When the injected side pane is opened, clear the previous side pane active state.\n // this ensures when the injected side pane is \"closed\", the previous side pane is not \"re-opened\".\n if (!isShowing(overridePropsRef.current) && isShowing(props.overrideSidePane)) {\n setSidePaneRenderer(undefined);\n }\n overridePropsRef.current = props.overrideSidePane;\n }, [props.overrideSidePane]);\n const onSidePaneIdChange = props.onSidePaneIdChange;\n useEffect(() => {\n onSidePaneIdChange?.(sidePaneRenderer?.id);\n }, [sidePaneRenderer?.id, onSidePaneIdChange]);\n\n // When the call ends ensure the side pane is set to closed to prevent the side pane being open if the call is re-joined.\n useEffect(() => {\n const closeSidePane = (): void => {\n setSidePaneRenderer(undefined);\n };\n adapter.on('callEnded', closeSidePane);\n return () => {\n adapter.off('callEnded', closeSidePane);\n };\n }, [adapter]);\n const compositeAudioContext = useAudio();\n const capabilitiesChangedInfoAndRole = useSelector(capabilitiesChangedInfoAndRoleSelector);\n const capabilitiesChangedNotificationBarProps = useTrackedCapabilityChangedNotifications(capabilitiesChangedInfoAndRole);\n\n // Track the last dismissed errors of any error kind to prevent errors from re-appearing on subsequent page navigation\n // This works by tracking the most recent timestamp of any active error type.\n // And then tracking when that error type was last dismissed.\n const activeErrors = usePropsFor(ErrorBar).activeErrorMessages;\n const activeInCallErrors = usePropsFor(NotificationStack).activeErrorMessages;\n const activeNotifications = usePropsFor(NotificationStack).activeNotifications;\n const complianceProps = useSelector(complianceBannerSelector);\n const cachedProps = useRef<CachedComplianceNotificationProps>({\n latestBooleanState: {\n callTranscribeState: false,\n callRecordState: false\n },\n latestStringState: {\n callTranscribeState: 'off',\n callRecordState: 'off'\n },\n lastUpdated: Date.now()\n });\n const complianceNotification: ActiveNotification | undefined = useMemo(() => {\n return computeComplianceNotification(complianceProps, cachedProps);\n }, [complianceProps, cachedProps]);\n useEffect(() => {\n if (complianceNotification) {\n activeNotifications.forEach((notification, index) => {\n if (['recordingStarted', 'transcriptionStarted', 'recordingStopped', 'transcriptionStopped', 'recordingAndTranscriptionStarted', 'recordingAndTranscriptionStopped', 'recordingStoppedStillTranscribing', 'transcriptionStoppedStillRecording'].includes(activeNotifications[index].type)) {\n activeNotifications.splice(index, 1);\n }\n });\n activeNotifications.push(complianceNotification);\n }\n setTrackedNotifications(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));\n }, [complianceNotification, activeNotifications]);\n const [trackedErrors, setTrackedErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n const [trackedInCallErrors, setTrackedInCallErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n const [trackedNotifications, setTrackedNotifications] = useState<TrackedNotifications>({} as TrackedNotifications);\n useEffect(() => {\n setTrackedErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));\n setTrackedInCallErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));\n }, [activeErrors, activeInCallErrors]);\n const onDismissError = useCallback((error: ActiveErrorMessage | ActiveNotification) => {\n setTrackedErrors(prev => trackNotificationAsDismissed(error.type, prev));\n setTrackedInCallErrors(prev => trackNotificationAsDismissed(error.type, prev));\n }, []);\n const onDismissNotification = useCallback((notification: ActiveNotification) => {\n setTrackedNotifications(prev => trackNotificationAsDismissed(notification.type, prev));\n }, []);\n const latestErrors = useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);\n const latestInCallErrors = useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]) as ActiveNotification[];\n const latestNotifications = useMemo(() => {\n const result = filterLatestNotifications(activeNotifications, trackedNotifications);\n // sort notifications by timestamp from earliest to latest\n result.sort((a, b) => (a.timestamp ?? new Date(Date.now())).getTime() - (b.timestamp ?? new Date(Date.now())).getTime());\n return result;\n }, [activeNotifications, trackedNotifications]) as ActiveNotification[];\n const callees = useSelector(getTargetCallees) as StartCallIdentifier[];\n const locale = useLocale();\n const palette = useTheme().palette;\n const alternateCallerId = adapter.getState().alternateCallerId;\n const leavePageStyle = useMemo(() => leavingPageStyle(palette), [palette]);\n let pageElement: JSX.Element | undefined;\n const [pinnedParticipants, setPinnedParticipants] = useState<string[]>([]);\n switch (page) {\n case 'configuration':\n pageElement = <ConfigurationPage mobileView={props.mobileView} startCallHandler={(): void => {\n if (callees) {\n adapter.startCall(callees, alternateCallerId ? {\n alternateCallerId: {\n phoneNumber: alternateCallerId\n }\n } : {});\n } else {\n adapter.joinCall({\n microphoneOn: 'keep',\n cameraOn: 'keep'\n });\n }\n }} updateSidePaneRenderer={setSidePaneRenderer} latestErrors={latestErrors as ActiveErrorMessage[]} onDismissError={onDismissError} modalLayerHostId={props.modalLayerHostId} deviceChecks={props.options?.deviceChecks} onPermissionsTroubleshootingClick={props.options?.onPermissionsTroubleshootingClick} onNetworkingTroubleShootingClick={props.options?.onNetworkingTroubleShootingClick} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} logo={props.options?.branding?.logo} backgroundImage={props.options?.branding?.backgroundImage} />;\n break;\n case 'accessDeniedTeamsMeeting':\n pageElement = <NoticePage iconName=\"NoticePageAccessDeniedTeamsMeeting\" title={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle} moreDetails={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails} dataUiId={'access-denied-teams-meeting-page'} />;\n break;\n case 'removedFromCall':\n pageElement = <NoticePage iconName=\"NoticePageRemovedFromCall\" title={locale.strings.call.removedFromCallTitle} moreDetails={locale.strings.call.removedFromCallMoreDetails} dataUiId={'removed-from-call-page'} />;\n break;\n case 'joinCallFailedDueToNoNetwork':\n pageElement = <NoticePage iconName=\"NoticePageJoinCallFailedDueToNoNetwork\" title={locale.strings.call.failedToJoinCallDueToNoNetworkTitle} moreDetails={locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails} dataUiId={'join-call-failed-due-to-no-network-page'} />;\n break;\n case 'leaving':\n pageElement = <NoticePage title={locale.strings.call.leavingCallTitle ?? 'Leaving...'} dataUiId={'leaving-page'} pageStyle={leavePageStyle} disableStartCallButton={true} />;\n break;\n case 'badRequest':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'leftCall':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n if (!props.options?.surveyOptions?.disableSurvey) {\n pageElement = <SurveyPage dataUiId={'left-call-page'} surveyOptions={props.options?.surveyOptions} iconName={iconName} title={title} moreDetails={moreDetails} disableStartCallButton={disableStartCallButton} mobileView={props.mobileView} />;\n break;\n }\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'lobby':\n pageElement = <LobbyPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'transferring':\n pageElement = <TransferPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onFetchAvatarPersonaData={onFetchAvatarPersonaData} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'call':\n pageElement = <CallPage callInvitationURL={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} galleryLayout={userSetGalleryLayout} onUserSetGalleryLayoutChange={setUserSetGalleryLayout} onSetUserSetOverflowGalleryPosition={setUserSetOverflowGalleryPosition} userSetOverflowGalleryPosition={userSetOverflowGalleryPosition} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} pinnedParticipants={pinnedParticipants} setPinnedParticipants={setPinnedParticipants} compositeAudioContext={compositeAudioContext} disableAutoShowDtmfDialer={props.options?.disableAutoShowDtmfDialer} />;\n break;\n case 'hold':\n pageElement = <>\n {<HoldPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />}\n </>;\n break;\n }\n useEndedCallConsoleErrors(endedCall);\n switch (page) {\n case 'unsupportedEnvironment':\n pageElement = <>\n {<UnsupportedBrowserPage onTroubleshootingClick={props.options?.onEnvironmentInfoTroubleshootingClick} environmentInfo={adapter.getState().environmentInfo} />}\n </>;\n break;\n }\n if (!pageElement) {\n throw new Error('Invalid call composite page');\n }\n return <SidePaneProvider sidePaneRenderer={sidePaneRenderer} overrideSidePane={injectedSidePaneProps}>\n {pageElement}\n </SidePaneProvider>;\n};\n\n/**\n * A customizable UI composite for calling experience.\n *\n * @remarks Call composite min width/height are as follow:\n * - mobile: 17.5rem x 21rem (280px x 336px, with default rem at 16px)\n * - desktop: 30rem x 22rem (480px x 352px, with default rem at 16px)\n *\n * @public\n */\nexport const CallComposite = (props: CallCompositeProps): JSX.Element => <CallCompositeInner {...props} />;\n\n/**\n * @private\n */\nexport interface InternalCallCompositeProps {\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n onCloseChatPane?: () => void;\n // legacy property to avoid breaking change\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n}\n\n/** @private */\nexport const CallCompositeInner = (props: CallCompositeProps & InternalCallCompositeProps): JSX.Element => {\n const {\n adapter,\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n formFactor = 'desktop'\n } = props;\n const mobileView = formFactor === 'mobile';\n const modalLayerHostId = useId('modalLayerhost');\n const mainScreenContainerClassName = useMemo(() => {\n return mobileView ? mainScreenContainerStyleMobile : mainScreenContainerStyleDesktop;\n }, [mobileView]);\n return <div className={mainScreenContainerClassName}>\n <BaseProvider {...props}>\n <CallAdapterProvider adapter={adapter}>\n <MainScreen callInvitationUrl={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={mobileView} modalLayerHostId={modalLayerHostId} options={options} onSidePaneIdChange={props.onSidePaneIdChange} overrideSidePane={props.overrideSidePane} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} />\n {\n // This layer host is for ModalLocalAndRemotePIP in SidePane. This LayerHost cannot be inside the SidePane\n // because when the SidePane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging\n // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.\n // Additionally, this layer host cannot be in the Call Arrangement as it needs to be rendered before useMinMaxDragPosition() in\n // common/utils useRef is called.\n // Warning: this is fragile and works because the call arrangement page is only rendered after the call has connected and thus this\n // LayerHost will be guaranteed to have rendered (and subsequently mounted in the DOM). This ensures the DOM element will be available\n // before the call to `document.getElementById(modalLayerHostId)` is made.\n <LayerHost id={modalLayerHostId} className={mergeStyles(modalLayerHostStyle)} />}\n </CallAdapterProvider>\n </BaseProvider>\n </div>;\n};\nconst getQueryOptions = (options: {\n role?: ParticipantRole;\n}): PermissionConstraints => {\n if (options.role === 'Consumer') {\n return {\n video: false,\n audio: true\n };\n }\n return {\n video: true,\n audio: true\n };\n};"]}
|
1
|
+
{"version":3,"file":"CallComposite.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/CallComposite.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback, useTheme, VideoTilesOptions } from '@internal/react-components';\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { CallSurveyImprovementSuggestions } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../common/AvatarPersona';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { CallCompositeIcons } from '../common/icons';\nimport { useLocale } from '../localization';\nimport { CommonCallAdapter, StartCallIdentifier } from './adapter/CallAdapter';\nimport { CallAdapterProvider, useAdapter } from './adapter/CallAdapterProvider';\nimport { CallPage } from './pages/CallPage';\nimport { ConfigurationPage } from './pages/ConfigurationPage';\nimport { NoticePage } from './pages/NoticePage';\nimport { useSelector } from './hooks/useSelector';\nimport { getEndedCall, getPage, getTargetCallees } from './selectors/baseSelectors';\nimport { LobbyPage } from './pages/LobbyPage';\nimport { TransferPage } from './pages/TransferPage';\nimport { leavingPageStyle, mainScreenContainerStyleDesktop, mainScreenContainerStyleMobile } from './styles/CallComposite.styles';\nimport { CallControlOptions } from './types/CallControlOptions';\nimport { LayerHost, mergeStyles } from '@fluentui/react';\nimport { modalLayerHostStyle } from '../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useId } from '@fluentui/react-hooks';\nimport { HoldPage } from './pages/HoldPage';\nimport { CallSurvey } from '@azure/communication-calling';\nimport { ParticipantRole, PermissionConstraints } from '@azure/communication-calling';\nimport { MobileChatSidePaneTabHeaderProps } from '../common/TabHeader';\nimport { InjectedSidePaneProps, SidePaneProvider, SidePaneRenderer } from './components/SidePane/SidePaneProvider';\nimport { filterLatestNotifications, getEndedCallPageProps, trackNotificationAsDismissed, updateTrackedNotificationsWithActiveNotifications } from './utils';\nimport { CachedComplianceNotificationProps, computeComplianceNotification } from './utils';\nimport { TrackedNotifications } from './types/ErrorTracking';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { deviceCountSelector } from './selectors/deviceCountSelector';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { capabilitiesChangedInfoAndRoleSelector } from './selectors/capabilitiesChangedInfoAndRoleSelector';\nimport { useTrackedCapabilityChangedNotifications } from './utils/TrackCapabilityChangedNotifications';\nimport { useEndedCallConsoleErrors } from './utils/useConsoleErrors';\nimport { SurveyPage } from './pages/SurveyPage';\nimport { useAudio } from '../common/AudioProvider';\nimport { complianceBannerSelector } from './selectors/complianceBannerSelector';\n\n/**\n * Props for {@link CallComposite}.\n *\n * @public\n */\nexport interface CallCompositeProps extends BaseCompositeProps<CallCompositeIcons> {\n /**\n * An adapter provides logic and data to the composite.\n * Composite can also be controlled using the adapter.\n */\n adapter: CommonCallAdapter;\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n /**\n * URL to invite new participants to the current call. If this is supplied, a button appears in the Participants\n * Button flyout menu.\n */\n callInvitationUrl?: string;\n /**\n * Flags to enable/disable or customize UI elements of the {@link CallComposite}.\n */\n options?: CallCompositeOptions;\n}\n/**\n * Menu options for remote video tiles in {@link VideoGallery}.\n *\n * @public\n */\nexport interface RemoteVideoTileMenuOptions {\n /**\n * If set to true, remote video tiles in the VideoGallery will not have menu options\n *\n * @defaultValue false\n */\n isHidden?: boolean;\n}\n\n/**\n * Options for the local video tile in the Call composite.\n *\n * @public\n */\nexport interface LocalVideoTileOptions {\n /**\n * Position of the local video tile. If unset will render the local tile in the floating local position.\n *\n * @defaultValue 'floating'\n * @remarks 'grid' - local video tile will be rendered in the grid view of the videoGallery.\n * 'floating' - local video tile will be rendered in the floating position and will observe overflow gallery\n * local video tile rules and be docked in the bottom corner.\n * This does not affect the Configuration screen or the side pane Picture in Picture in Picture view.\n */\n position?: 'grid' | 'floating';\n}\n/**\n * Optional features of the {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeOptions = {\n captionsBanner?: {\n height: 'full' | 'default';\n };\n /**\n * Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.\n * Hide or show the error bar.\n * @defaultValue true\n */\n errorBar?: boolean;\n /**\n * Hide or Customize the control bar element.\n * Can be customized by providing an object of type {@link @azure/communication-react#CallControlOptions}.\n * @defaultValue true\n */\n callControls?: boolean | CallControlOptions;\n /**\n * Remote participant video tile menu options\n */\n remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;\n /**\n * Options for controlling the local video tile.\n *\n * @remarks if 'false' the local video tile will not be rendered.\n */\n localVideoTile?: boolean | LocalVideoTileOptions;\n /**\n * Options for controlling video tile.\n */\n videoTilesOptions?: VideoTilesOptions;\n /**\n * Whether to auto show the DTMF Dialer when the call starts in supported scenarios.\n * - Teams Voice Application like Call queue or Auto Attendant\n * - PSTN Calls\n * @defaultValue false\n */\n disableAutoShowDtmfDialer?: boolean;\n /**\n * Options for controlling the starting layout of the composite's video gallery\n */\n galleryOptions?: {\n /**\n * Layout for the gallery when the call starts\n */\n layout?: VideoGalleryLayout;\n };\n /**\n * Options for end of call survey\n */\n surveyOptions?: {\n /**\n * Disable call survey at the end of a call.\n * @defaultValue false\n */\n disableSurvey?: boolean;\n /**\n * Optional callback to redirect users to custom screens when survey is done, note that default end call screen will be shown if this callback is not provided\n * This callback can be used to redirect users to different screens depending on survey state, whether it is submitted, skipped or has a problem when submitting the survey\n */\n onSurveyClosed?: (surveyState: 'sent' | 'skipped' | 'error', surveyError?: string) => void;\n /**\n * Optional callback to handle survey data including free form text response\n * Note that free form text response survey option is only going to be enabled when this callback is provided\n * User will need to handle all free form text response on their own\n */\n onSurveySubmitted?: (callId: string, surveyId: string,\n /**\n * This is the survey results containing star survey data and API tag survey data.\n * This part of the result will always be sent to the calling sdk\n * This callback provides user with the ability to gain access to survey data\n */\n submittedSurvey: CallSurvey,\n /**\n * This is the survey results containing free form text\n * This part of the result will not be handled by composites\n * User will need to collect and handle this information 100% on their own\n * Free form text survey is not going to show in the UI if onSurveySubmitted is not populated\n */\n improvementSuggestions: CallSurveyImprovementSuggestions) => Promise<void>;\n };\n /**\n * Options for setting additional customizations related to personalized branding.\n */\n branding?: {\n /**\n * Logo displayed on the configuration page.\n */\n logo?: {\n /**\n * URL for the logo image.\n *\n * @remarks\n * Recommended size is 80x80 pixels.\n */\n url: string;\n /**\n * Alt text for the logo image.\n */\n alt?: string;\n /**\n * The logo can be displayed as a circle.\n *\n * @defaultValue 'unset'\n */\n shape?: 'unset' | 'circle';\n };\n /**\n * Background image displayed on the configuration page.\n */\n backgroundImage?: {\n /**\n * URL for the background image.\n *\n * @remarks\n * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.\n */\n url: string;\n };\n };\n /**\n * Options for settings related to spotlight.\n */\n spotlight?: {\n /**\n * Flag to hide the menu buttons to start and stop spotlight for remote participants and the local participant.\n * @defaultValue false\n */\n hideSpotlightButtons?: boolean;\n };\n};\ntype MainScreenProps = {\n mobileView: boolean;\n modalLayerHostId: string;\n callInvitationUrl?: string;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n options?: CallCompositeOptions;\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n onCloseChatPane?: () => void;\n};\nconst isShowing = (overrideSidePane?: InjectedSidePaneProps): boolean => {\n return !!overrideSidePane?.isActive;\n};\nconst MainScreen = (props: MainScreenProps): JSX.Element => {\n const adapter = useAdapter();\n const {\n camerasCount,\n microphonesCount\n } = useSelector(deviceCountSelector);\n const hasCameras = camerasCount > 0;\n const hasMicrophones = microphonesCount > 0;\n useEffect(() => {\n (async () => {\n const constrain = getQueryOptions({\n role: adapter.getState().call?.role\n });\n await adapter.askDevicePermission(constrain);\n adapter.queryCameras();\n adapter.queryMicrophones();\n adapter.querySpeakers();\n })();\n }, [adapter,\n // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call\n // as we cannot request permissions when there are no devices.\n hasCameras, hasMicrophones]);\n const {\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems\n } = props;\n const page = useSelector(getPage);\n const endedCall = useSelector(getEndedCall);\n const [sidePaneRenderer, setSidePaneRenderer] = React.useState<SidePaneRenderer | undefined>();\n const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState<InjectedSidePaneProps>();\n const [userSetGalleryLayout, setUserSetGalleryLayout] = useState<VideoGalleryLayout>(props.options?.galleryOptions?.layout ?? 'floatingLocalVideo');\n const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = useState<'Responsive' | 'horizontalTop'>('Responsive');\n const overridePropsRef = useRef<InjectedSidePaneProps | undefined>(props.overrideSidePane);\n useEffect(() => {\n setInjectedSidePaneProps(props.overrideSidePane);\n // When the injected side pane is opened, clear the previous side pane active state.\n // this ensures when the injected side pane is \"closed\", the previous side pane is not \"re-opened\".\n if (!isShowing(overridePropsRef.current) && isShowing(props.overrideSidePane)) {\n setSidePaneRenderer(undefined);\n }\n overridePropsRef.current = props.overrideSidePane;\n }, [props.overrideSidePane]);\n const onSidePaneIdChange = props.onSidePaneIdChange;\n useEffect(() => {\n onSidePaneIdChange?.(sidePaneRenderer?.id);\n }, [sidePaneRenderer?.id, onSidePaneIdChange]);\n\n // When the call ends ensure the side pane is set to closed to prevent the side pane being open if the call is re-joined.\n useEffect(() => {\n const closeSidePane = (): void => {\n setSidePaneRenderer(undefined);\n };\n adapter.on('callEnded', closeSidePane);\n return () => {\n adapter.off('callEnded', closeSidePane);\n };\n }, [adapter]);\n const compositeAudioContext = useAudio();\n const capabilitiesChangedInfoAndRole = useSelector(capabilitiesChangedInfoAndRoleSelector);\n const capabilitiesChangedNotificationBarProps = useTrackedCapabilityChangedNotifications(capabilitiesChangedInfoAndRole);\n\n // Track the last dismissed errors of any error kind to prevent errors from re-appearing on subsequent page navigation\n // This works by tracking the most recent timestamp of any active error type.\n // And then tracking when that error type was last dismissed.\n const activeErrors = usePropsFor(ErrorBar).activeErrorMessages;\n const activeInCallErrors = usePropsFor(NotificationStack).activeErrorMessages;\n const activeNotifications = usePropsFor(NotificationStack).activeNotifications;\n const complianceProps = useSelector(complianceBannerSelector);\n const cachedProps = useRef<CachedComplianceNotificationProps>({\n latestBooleanState: {\n callTranscribeState: false,\n callRecordState: false\n },\n latestStringState: {\n callTranscribeState: 'off',\n callRecordState: 'off'\n },\n lastUpdated: Date.now()\n });\n const complianceNotification: ActiveNotification | undefined = useMemo(() => {\n return computeComplianceNotification(complianceProps, cachedProps);\n }, [complianceProps, cachedProps]);\n useEffect(() => {\n if (complianceNotification) {\n activeNotifications.forEach((notification, index) => {\n if (['recordingStarted', 'transcriptionStarted', 'recordingStopped', 'transcriptionStopped', 'recordingAndTranscriptionStarted', 'recordingAndTranscriptionStopped', 'recordingStoppedStillTranscribing', 'transcriptionStoppedStillRecording'].includes(activeNotifications[index].type)) {\n activeNotifications.splice(index, 1);\n }\n });\n activeNotifications.push(complianceNotification);\n }\n setTrackedNotifications(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));\n }, [complianceNotification, activeNotifications]);\n const [trackedErrors, setTrackedErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n const [trackedInCallErrors, setTrackedInCallErrors] = useState<TrackedNotifications>({} as TrackedNotifications);\n const [trackedNotifications, setTrackedNotifications] = useState<TrackedNotifications>({} as TrackedNotifications);\n useEffect(() => {\n setTrackedErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));\n setTrackedInCallErrors(prev => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));\n }, [activeErrors, activeInCallErrors]);\n const onDismissError = useCallback((error: ActiveErrorMessage | ActiveNotification) => {\n setTrackedErrors(prev => trackNotificationAsDismissed(error.type, prev));\n setTrackedInCallErrors(prev => trackNotificationAsDismissed(error.type, prev));\n }, []);\n const onDismissNotification = useCallback((notification: ActiveNotification) => {\n setTrackedNotifications(prev => trackNotificationAsDismissed(notification.type, prev));\n }, []);\n const latestErrors = useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);\n const latestInCallErrors = useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]) as ActiveNotification[];\n const latestNotifications = useMemo(() => {\n const result = filterLatestNotifications(activeNotifications, trackedNotifications);\n // sort notifications by timestamp from earliest to latest\n result.sort((a, b) => (a.timestamp ?? new Date(Date.now())).getTime() - (b.timestamp ?? new Date(Date.now())).getTime());\n return result;\n }, [activeNotifications, trackedNotifications]) as ActiveNotification[];\n const callees = useSelector(getTargetCallees) as StartCallIdentifier[];\n const locale = useLocale();\n const palette = useTheme().palette;\n const alternateCallerId = adapter.getState().alternateCallerId;\n const leavePageStyle = useMemo(() => leavingPageStyle(palette), [palette]);\n let pageElement: JSX.Element | undefined;\n const [pinnedParticipants, setPinnedParticipants] = useState<string[]>([]);\n switch (page) {\n case 'configuration':\n pageElement = <ConfigurationPage mobileView={props.mobileView} startCallHandler={(): void => {\n if (callees) {\n adapter.startCall(callees, alternateCallerId ? {\n alternateCallerId: {\n phoneNumber: alternateCallerId\n }\n } : {});\n } else {\n adapter.joinCall({\n microphoneOn: 'keep',\n cameraOn: 'keep'\n });\n }\n }} updateSidePaneRenderer={setSidePaneRenderer} latestErrors={latestErrors as ActiveErrorMessage[]} onDismissError={onDismissError} modalLayerHostId={props.modalLayerHostId} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} logo={props.options?.branding?.logo} backgroundImage={props.options?.branding?.backgroundImage} />;\n break;\n case 'accessDeniedTeamsMeeting':\n pageElement = <NoticePage iconName=\"NoticePageAccessDeniedTeamsMeeting\" title={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle} moreDetails={locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails} dataUiId={'access-denied-teams-meeting-page'} />;\n break;\n case 'removedFromCall':\n pageElement = <NoticePage iconName=\"NoticePageRemovedFromCall\" title={locale.strings.call.removedFromCallTitle} moreDetails={locale.strings.call.removedFromCallMoreDetails} dataUiId={'removed-from-call-page'} />;\n break;\n case 'joinCallFailedDueToNoNetwork':\n pageElement = <NoticePage iconName=\"NoticePageJoinCallFailedDueToNoNetwork\" title={locale.strings.call.failedToJoinCallDueToNoNetworkTitle} moreDetails={locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails} dataUiId={'join-call-failed-due-to-no-network-page'} />;\n break;\n case 'leaving':\n pageElement = <NoticePage title={locale.strings.call.leavingCallTitle ?? 'Leaving...'} dataUiId={'leaving-page'} pageStyle={leavePageStyle} disableStartCallButton={true} />;\n break;\n case 'badRequest':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'leftCall':\n {\n const {\n title,\n moreDetails,\n disableStartCallButton,\n iconName\n } = getEndedCallPageProps(locale, endedCall);\n if (!props.options?.surveyOptions?.disableSurvey) {\n pageElement = <SurveyPage dataUiId={'left-call-page'} surveyOptions={props.options?.surveyOptions} iconName={iconName} title={title} moreDetails={moreDetails} disableStartCallButton={disableStartCallButton} mobileView={props.mobileView} />;\n break;\n }\n pageElement = <NoticePage iconName={iconName} title={title} moreDetails={callees ? '' : moreDetails} dataUiId={'left-call-page'} disableStartCallButton={disableStartCallButton} />;\n break;\n }\n case 'lobby':\n pageElement = <LobbyPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'transferring':\n pageElement = <TransferPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onFetchAvatarPersonaData={onFetchAvatarPersonaData} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />;\n break;\n case 'call':\n pageElement = <CallPage callInvitationURL={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} galleryLayout={userSetGalleryLayout} onUserSetGalleryLayoutChange={setUserSetGalleryLayout} onSetUserSetOverflowGalleryPosition={setUserSetOverflowGalleryPosition} userSetOverflowGalleryPosition={userSetOverflowGalleryPosition} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} pinnedParticipants={pinnedParticipants} setPinnedParticipants={setPinnedParticipants} compositeAudioContext={compositeAudioContext} disableAutoShowDtmfDialer={props.options?.disableAutoShowDtmfDialer} />;\n break;\n case 'hold':\n pageElement = <>\n {<HoldPage mobileView={props.mobileView} modalLayerHostId={props.modalLayerHostId} options={props.options} updateSidePaneRenderer={setSidePaneRenderer} mobileChatTabHeader={props.mobileChatTabHeader} latestErrors={latestInCallErrors} latestNotifications={latestNotifications} onDismissError={onDismissError} onDismissNotification={onDismissNotification} capabilitiesChangedNotificationBarProps={capabilitiesChangedNotificationBarProps} />}\n </>;\n break;\n }\n useEndedCallConsoleErrors(endedCall);\n if (!pageElement) {\n throw new Error('Invalid call composite page');\n }\n return <SidePaneProvider sidePaneRenderer={sidePaneRenderer} overrideSidePane={injectedSidePaneProps}>\n {pageElement}\n </SidePaneProvider>;\n};\n\n/**\n * A customizable UI composite for calling experience.\n *\n * @remarks Call composite min width/height are as follow:\n * - mobile: 17.5rem x 21rem (280px x 336px, with default rem at 16px)\n * - desktop: 30rem x 22rem (480px x 352px, with default rem at 16px)\n *\n * @public\n */\nexport const CallComposite = (props: CallCompositeProps): JSX.Element => <CallCompositeInner {...props} />;\n\n/**\n * @private\n */\nexport interface InternalCallCompositeProps {\n overrideSidePane?: InjectedSidePaneProps;\n onSidePaneIdChange?: (sidePaneId: string | undefined) => void;\n onCloseChatPane?: () => void;\n // legacy property to avoid breaking change\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n}\n\n/** @private */\nexport const CallCompositeInner = (props: CallCompositeProps & InternalCallCompositeProps): JSX.Element => {\n const {\n adapter,\n callInvitationUrl,\n onFetchAvatarPersonaData,\n onFetchParticipantMenuItems,\n options,\n formFactor = 'desktop'\n } = props;\n const mobileView = formFactor === 'mobile';\n const modalLayerHostId = useId('modalLayerhost');\n const mainScreenContainerClassName = useMemo(() => {\n return mobileView ? mainScreenContainerStyleMobile : mainScreenContainerStyleDesktop;\n }, [mobileView]);\n return <div className={mainScreenContainerClassName}>\n <BaseProvider {...props}>\n <CallAdapterProvider adapter={adapter}>\n <MainScreen callInvitationUrl={callInvitationUrl} onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={onFetchParticipantMenuItems} mobileView={mobileView} modalLayerHostId={modalLayerHostId} options={options} onSidePaneIdChange={props.onSidePaneIdChange} overrideSidePane={props.overrideSidePane} mobileChatTabHeader={props.mobileChatTabHeader} onCloseChatPane={props.onCloseChatPane} />\n {\n // This layer host is for ModalLocalAndRemotePIP in SidePane. This LayerHost cannot be inside the SidePane\n // because when the SidePane is hidden, ie. style property display is 'none', it takes up no space. This causes problems when dragging\n // the Modal because the draggable bounds thinks it has no space and will always return to its initial position after dragging.\n // Additionally, this layer host cannot be in the Call Arrangement as it needs to be rendered before useMinMaxDragPosition() in\n // common/utils useRef is called.\n // Warning: this is fragile and works because the call arrangement page is only rendered after the call has connected and thus this\n // LayerHost will be guaranteed to have rendered (and subsequently mounted in the DOM). This ensures the DOM element will be available\n // before the call to `document.getElementById(modalLayerHostId)` is made.\n <LayerHost id={modalLayerHostId} className={mergeStyles(modalLayerHostStyle)} />}\n </CallAdapterProvider>\n </BaseProvider>\n </div>;\n};\nconst getQueryOptions = (options: {\n role?: ParticipantRole;\n}): PermissionConstraints => {\n if (options.role === 'Consumer') {\n return {\n video: false,\n audio: true\n };\n }\n return {\n video: true,\n audio: true\n };\n};"]}
|