@azure/communication-react 1.20.0-beta.1 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/communication-react.d.ts +245 -1703
- package/dist/dist-cjs/communication-react/index.js +36159 -165
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
- package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
- package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
- package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
- package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
- package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.d.ts +16 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +10 -10
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.d.ts +17 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js +12 -10
- package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.d.ts +13 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js +10 -9
- package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +1 -1
- package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.d.ts +16 -7
- package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +10 -9
- package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +3 -12
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -12
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -2
- package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +2 -1
- package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +12 -2
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +26 -6
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +6 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -5
- package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +2 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +2 -19
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -2
- package/dist/dist-esm/calling-component-bindings/src/index.js +1 -2
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +1 -35
- package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +1 -2
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +3 -3
- package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -79
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +0 -15
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +32 -107
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -5
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +4 -27
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -3
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -52
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +5 -3
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -3
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +2 -25
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
- package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
- package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +1 -27
- package/dist/dist-esm/communication-react/src/index.js +0 -6
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +3 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +7 -34
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +6 -4
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/GridLayout.js +3 -0
- package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +4 -5
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +4 -4
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +2 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
- package/dist/dist-esm/react-components/src/components/MessageThread.js +6 -16
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +24 -0
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +25 -0
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +2 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Notification.js +3 -1
- package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -5
- package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ReactionButton.js +31 -41
- package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
- package/dist/dist-esm/react-components/src/components/SendBox.js +6 -57
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +7 -3
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
- package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
- package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js +2 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +6 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +5 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +23 -17
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +3 -0
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/index.js +0 -7
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -8
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +13 -6
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +49 -19
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +6 -35
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +5 -2
- package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
- package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
- package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js +6 -0
- package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.js +1 -6
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +0 -1
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +1 -1
- package/dist/dist-esm/react-components/src/theming/generateTheme.js +10 -2
- package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -30
- package/dist/dist-esm/react-components/src/theming/icons.js +0 -91
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
- package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
- package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
- package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -72
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +13 -23
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -34
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +17 -47
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +68 -137
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +26 -24
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +6 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +9 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +21 -24
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +50 -13
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +41 -25
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +12 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +5 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +7 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +7 -23
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +5 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +9 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +16 -53
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +7 -9
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +5 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +21 -25
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +16 -16
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +2 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +10 -11
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +12 -68
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -24
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +5 -22
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +14 -139
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +11 -28
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +13 -9
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -11
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +0 -13
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +49 -234
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +9 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +28 -15
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +4 -1
- package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +5 -6
- package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +3 -0
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +4 -7
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +3 -4
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +0 -23
- package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +6 -32
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +24 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +24 -0
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +0 -4
- package/dist/dist-esm/react-composites/src/composites/common/utils.js +0 -22
- package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +1 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -1
- package/package.json +8 -9
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CK3wKmiQ.js +0 -202
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CK3wKmiQ.js.map +0 -1
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Duh89Mej.js +0 -50
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Duh89Mej.js.map +0 -1
- package/dist/dist-cjs/communication-react/index-XC7Z08jO.js +0 -42425
- package/dist/dist-cjs/communication-react/index-XC7Z08jO.js.map +0 -1
- package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -16
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +0 -20
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +0 -118
- package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +0 -1
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -192
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
- package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
- package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -12
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -23
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -87
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -58
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -314
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -78
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -211
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -168
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -221
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -320
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -99
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -69
- package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -72
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -174
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -116
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
- package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
- package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
- package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
- package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
- package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +0 -47
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +0 -48
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +0 -11
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -196
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +0 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +0 -14
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.d.ts +0 -8
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +0 -25
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -253
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +0 -12
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +0 -52
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +0 -1
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CallControls.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/CallControls.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { memoizeFunction, Stack, useTheme } from '@fluentui/react';\nimport { IContextualMenuItem } from '@fluentui/react';\nimport { _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { ControlBar, DevicesButton, ParticipantMenuItemsCallback } from '@internal/react-components';\nimport { HoldButton } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { Camera } from './buttons/Camera';\nimport { Devices } from './buttons/Devices';\nimport { EndCall } from './buttons/EndCall';\nimport { Microphone } from './buttons/Microphone';\nimport { Participants } from './buttons/Participants';\nimport { ScreenShare } from './buttons/ScreenShare';\nimport { ContainerRectProps } from '../../common/ContainerRectProps';\nimport { People } from './buttons/People';\nimport { useLocale } from '../../localization';\nimport { MoreButton } from '../../common/MoreButton';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { buttonFlyoutIncreasedSizeStyles } from '../styles/Buttons.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isDisabled } from '../utils';\nimport { callControlsContainerStyles } from '../styles/CallPage.styles';\nimport { CommonCallAdapter } from '../adapter';\nimport { RaiseHand } from './buttons/RaiseHand';\nimport { RaiseHandButton, RaiseHandButtonProps } from '@internal/react-components';\nimport { _generateDefaultDeviceMenuProps } from '@internal/react-components';\nimport { CUSTOM_BUTTON_OPTIONS, generateCustomCallControlBarButton, generateCustomCallDesktopOverflowButtons, onFetchCustomButtonPropsTrampoline } from '../../common/ControlBar/CustomButton';\nimport { Reaction } from './buttons/Reaction';\nimport { useSelector } from '../hooks/useSelector';\nimport { capabilitySelector } from '../../CallComposite/selectors/capabilitySelector';\nimport { callStatusSelector } from '../../CallComposite/selectors/callStatusSelector';\n/**\n * @private\n */\nexport type CallControlsProps = {\n peopleButtonChecked?: boolean;\n onPeopleButtonClicked?: () => void;\n callInvitationURL?: string;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n options?: boolean | CallControlOptions;\n /**\n * Option to increase the height of the button flyout menu items from 36px to 48px.\n * Recommended for mobile devices.\n */\n increaseFlyoutItemSize?: boolean;\n isMobile?: boolean;\n displayVertical?: boolean;\n};\n\n// Enforce a background color on control bar to ensure it matches the composite background color.\nconst controlBarStyles = memoizeFunction((background: string) => ({\n root: {\n background: background\n }\n}));\nconst inferCallControlOptions = (mobileView: boolean, callControlOptions?: boolean | CallControlOptions): CallControlOptions => {\n if (callControlOptions === false) {\n return {};\n }\n const options = callControlOptions === true || callControlOptions === undefined ? {} : callControlOptions;\n if (mobileView) {\n // Set options to always not show screen share button for mobile\n options.screenShareButton = false;\n }\n return options;\n};\n\n/**\n * @private\n */\nexport const CallControls = (props: CallControlsProps & ContainerRectProps): JSX.Element => {\n const options: CallControlOptions = useMemo(() => inferCallControlOptions(!!props.isMobile, props.options), [props.isMobile, props.options]);\n const adapter = useAdapter();\n const localeStrings = useLocale();\n const peopleButtonStrings = useMemo(() => ({\n label: localeStrings.strings.call.peopleButtonLabel,\n tooltipOffContent: localeStrings.strings.call.peopleButtonTooltipOpen,\n tooltipOnContent: localeStrings.strings.call.peopleButtonTooltipClose\n }), [localeStrings]);\n const moreButtonStrings = useMemo(() => ({\n label: localeStrings.strings.call.moreButtonCallingLabel,\n tooltipOffContent: localeStrings.strings.callWithChat.moreDrawerButtonTooltip\n }), [localeStrings]);\n const holdButtonProps = usePropsFor(HoldButton);\n const raiseHandButtonProps = usePropsFor(RaiseHandButton) as RaiseHandButtonProps;\n const capabilitiesSelector = useSelector(capabilitySelector);\n const callState = useSelector(callStatusSelector);\n const isReactionAllowed = callState.callStatus !== 'Connected' || !capabilitiesSelector?.capabilities || capabilitiesSelector.capabilities.useReactions.isPresent;\n const devicesButtonProps = usePropsFor(DevicesButton);\n let numberOfButtons = 0;\n const screenShareButtonIsEnabled = isEnabled(options?.screenShareButton);\n if (screenShareButtonIsEnabled) {\n numberOfButtons++;\n }\n const microphoneButtonIsEnabled = isEnabled(options?.microphoneButton);\n if (microphoneButtonIsEnabled) {\n numberOfButtons++;\n }\n const cameraButtonIsEnabled = isEnabled(options?.cameraButton);\n if (cameraButtonIsEnabled) {\n numberOfButtons++;\n }\n if (isEnabled(options?.endCallButton)) {\n numberOfButtons++;\n }\n const showParticipantsButtonInControlBar = isEnabled(options?.participantsButton) && !props.isMobile;\n if (showParticipantsButtonInControlBar) {\n numberOfButtons++;\n }\n const showReactionButtonInControlBar = isEnabled(options?.reactionButton) && isReactionAllowed && !props.isMobile;\n if (showReactionButtonInControlBar) {\n numberOfButtons++;\n }\n const moreButtonContextualMenuItems = (): IContextualMenuItem[] => {\n const items: IContextualMenuItem[] = [];\n if (props.isMobile && props.onPeopleButtonClicked && isEnabled(options?.participantsButton)) {\n items.push({\n key: 'peopleButtonKey',\n text: localeStrings.component.strings.participantsButton.label,\n onClick: () => {\n if (props.onPeopleButtonClicked) {\n props.onPeopleButtonClicked();\n }\n },\n iconProps: {\n iconName: 'ControlButtonParticipantsContextualMenuItem',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: isDisabled(options?.participantsButton),\n ['data-ui-id']: 'call-composite-more-menu-people-button'\n });\n }\n if (!isRoomsCallTrampoline(adapter)) {\n items.push({\n key: 'holdButtonKey',\n text: localeStrings.component.strings.holdButton.tooltipOffContent,\n onClick: () => {\n holdButtonProps.onToggleHold();\n },\n iconProps: {\n iconName: 'HoldCallContextualMenuItem',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: isDisabled(options?.holdButton),\n ['data-ui-id']: 'hold-button'\n });\n }\n return items;\n };\n const customDrawerButtons = useMemo(() => generateCustomCallDesktopOverflowButtons(onFetchCustomButtonPropsTrampoline(typeof options === 'object' ? options : undefined), typeof options === 'object' ? options.displayType : undefined), [options]);\n const moreButtonMenuItems = moreButtonContextualMenuItems();\n let showMoreButton = isEnabled(options?.moreButton) && moreButtonMenuItems.length > 0;\n if (showMoreButton) {\n numberOfButtons++;\n }\n const customButtons = useMemo(() => generateCustomCallControlBarButton(onFetchCustomButtonPropsTrampoline(options), options?.displayType), [options]);\n numberOfButtons += React.Children.count(customButtons['primary']) + React.Children.count(customButtons['secondary']);\n let showDevicesButtonInControlBar = isEnabled(options?.devicesButton);\n if (showDevicesButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) {\n numberOfButtons++;\n } else {\n showDevicesButtonInControlBar = false;\n showMoreButton = isEnabled(options?.moreButton);\n }\n const reactionResources = adapter.getState().reactions;\n const raiseHandButtonIsEnabled = isEnabled(options?.raiseHandButton);\n let showRaiseHandButtonInControlBar = raiseHandButtonIsEnabled;\n const role = adapter.getState().call?.role;\n const hideRaiseHandButtonInRoomsCall = adapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);\n if (showRaiseHandButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) {\n numberOfButtons++;\n } else {\n // If more button is not present but enabled then replace previous button (devices button) with more button\n if (!showMoreButton && isEnabled(options?.moreButton)) {\n showMoreButton = true;\n showDevicesButtonInControlBar = false;\n }\n showRaiseHandButtonInControlBar = false;\n }\n if (!showDevicesButtonInControlBar) {\n const devicesButtonMenu = _generateDefaultDeviceMenuProps(devicesButtonProps, localeStrings.component.strings.devicesButton);\n moreButtonMenuItems.push({\n key: 'devicesButtonKey',\n text: localeStrings.component.strings.devicesButton.label,\n iconProps: {\n iconName: 'ControlButtonOptions',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n subMenuProps: devicesButtonMenu,\n ['data-ui-id']: 'call-composite-more-menu-devices-button'\n });\n }\n if (!showRaiseHandButtonInControlBar && !hideRaiseHandButtonInRoomsCall) {\n moreButtonMenuItems.push({\n key: 'raiseHandButtonKey',\n text: raiseHandButtonProps.checked ? localeStrings.component.strings.raiseHandButton.onLabel : localeStrings.component.strings.raiseHandButton.offLabel,\n onClick: () => {\n if (raiseHandButtonProps.onToggleRaiseHand) {\n raiseHandButtonProps.onToggleRaiseHand();\n }\n },\n iconProps: {\n iconName: 'RaiseHandContextualMenuItem',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: isDisabled(options?.raiseHandButton),\n ['data-ui-id']: 'call-composite-more-menu-raise-hand-button'\n });\n }\n\n // Custom Buttons in More Button Menu should always be the last items pushed into the moreButtonMenuItems array\n if (customDrawerButtons['primary']) {\n customDrawerButtons['primary'].slice(props.isMobile ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).forEach(element => {\n moreButtonMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n }\n if (customDrawerButtons['secondary']) {\n customDrawerButtons['secondary'].forEach(element => {\n moreButtonMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n }\n if (customDrawerButtons['overflow']) {\n customDrawerButtons['overflow'].forEach(element => {\n moreButtonMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n }\n const theme = useTheme();\n\n // when props.options is false then we want to hide the whole control bar.\n if (props.options === false) {\n return <></>;\n }\n return <Stack horizontalAlign=\"center\" className={callControlsContainerStyles}>\n <Stack.Item>\n {/*\n Note: We use the layout=\"horizontal\" instead of dockedBottom because of how we position the\n control bar. The control bar exists in a Stack below the MediaGallery. The MediaGallery is\n set to grow and fill the remaining space not taken up by the ControlBar. If we were to use\n dockedBottom it has position absolute and would therefore float on top of the media gallery,\n occluding some of its content.\n */}\n <ControlBar layout={props.displayVertical ? 'vertical' : 'horizontal'} styles={controlBarStyles(theme.semanticColors.bodyBackground)}>\n {microphoneButtonIsEnabled && <Microphone displayType={options?.displayType} disabled={isDisabled(options?.microphoneButton)} />}\n {cameraButtonIsEnabled && <Camera displayType={options?.displayType} disabled={isDisabled(options?.cameraButton)} />}\n {showReactionButtonInControlBar && reactionResources && <Reaction displayType={options?.displayType} reactionResource={reactionResources} />}\n {showRaiseHandButtonInControlBar && !hideRaiseHandButtonInRoomsCall && <RaiseHand displayType={options?.displayType} />}\n {screenShareButtonIsEnabled && <ScreenShare option={options?.screenShareButton} displayType={options?.displayType} disabled={isDisabled(options?.screenShareButton)} />}\n {showParticipantsButtonInControlBar && <Participants option={options?.participantsButton} callInvitationURL={props.callInvitationURL} onFetchParticipantMenuItems={props.onFetchParticipantMenuItems} displayType={options?.displayType} increaseFlyoutItemSize={props.increaseFlyoutItemSize} isMobile={props.isMobile} disabled={isDisabled(options?.participantsButton)} /> && <People checked={props.peopleButtonChecked} ariaLabel={peopleButtonStrings?.label} showLabel={options?.displayType !== 'compact'} onClick={props.onPeopleButtonClicked} data-ui-id=\"call-composite-people-button\" strings={peopleButtonStrings} disabled={isDisabled(options?.participantsButton)} disableTooltip={props.isMobile} />}\n {showDevicesButtonInControlBar && <Devices displayType={options?.displayType} increaseFlyoutItemSize={props.increaseFlyoutItemSize} disabled={isDisabled(options?.devicesButton)} />}\n {customButtons['primary']?.slice(0, props.isMobile ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {\n return <CustomButton key={`primary-custom-button-${i}`}\n // styles={commonButtonStyles}\n showLabel={options?.displayType !== 'compact'} disableTooltip={props.isMobile} />;\n })}\n {showMoreButton && <MoreButton disableTooltip={props.isMobile} data-ui-id=\"common-call-composite-more-button\" strings={moreButtonStrings} menuIconProps={{\n hidden: true\n }} menuProps={{\n items: moreButtonMenuItems\n }} showLabel={options?.displayType !== 'compact'} />}\n {isEnabled(options?.endCallButton) && <EndCall displayType={options?.displayType} />}\n </ControlBar>\n </Stack.Item>\n </Stack>;\n};\nconst isEnabled = (option: unknown): boolean => option !== false;\n\n/** @private */\nexport const isRoomsCallTrampoline = (adapter: CommonCallAdapter): boolean => {\n return adapter.getState().isRoomsCall;\n};"]}
|
1
|
+
{"version":3,"file":"CallControls.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/CallControls.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { memoizeFunction, Stack, useTheme } from '@fluentui/react';\nimport { IContextualMenuItem } from '@fluentui/react';\nimport { _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { ControlBar, DevicesButton, ParticipantMenuItemsCallback } from '@internal/react-components';\nimport { HoldButton } from '@internal/react-components';\nimport React, { useMemo } from 'react';\nimport { useCallback, useState, useEffect } from 'react';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { Camera } from './buttons/Camera';\nimport { Devices } from './buttons/Devices';\nimport { EndCall } from './buttons/EndCall';\nimport { Microphone } from './buttons/Microphone';\nimport { Participants } from './buttons/Participants';\nimport { ScreenShare } from './buttons/ScreenShare';\nimport { ContainerRectProps } from '../../common/ContainerRectProps';\nimport { People } from './buttons/People';\nimport { useLocale } from '../../localization';\nimport { MoreButton } from '../../common/MoreButton';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { buttonFlyoutIncreasedSizeStyles } from '../styles/Buttons.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isDisabled } from '../utils';\nimport { callControlsContainerStyles } from '../styles/CallPage.styles';\nimport { RaiseHand } from './buttons/RaiseHand';\nimport { RaiseHandButton, RaiseHandButtonProps } from '@internal/react-components';\nimport { _generateDefaultDeviceMenuProps } from '@internal/react-components';\nimport { CUSTOM_BUTTON_OPTIONS, generateCustomCallControlBarButton, generateCustomCallDesktopOverflowButtons, onFetchCustomButtonPropsTrampoline } from '../../common/ControlBar/CustomButton';\nimport { Reaction } from './buttons/Reaction';\nimport { useSelector } from '../hooks/useSelector';\nimport { capabilitySelector } from '../../CallComposite/selectors/capabilitySelector';\nimport { callStatusSelector } from '../../CallComposite/selectors/callStatusSelector';\nimport { _isSafari } from '../../CallComposite/utils';\nimport { getIsRoomsCall, getReactionResources, getRole } from '../selectors/baseSelectors';\nimport { getEnvironmentInfo } from '../selectors/baseSelectors';\nimport { getDeepNoiseSuppresionEffectsDependency, getDeepNoiseSuppresionIsOnByDefault, getHideDeepNoiseSupressionButton } from '../selectors/baseSelectors';\n\n/**\n * @private\n */\nexport type CallControlsProps = {\n peopleButtonChecked?: boolean;\n onPeopleButtonClicked?: () => void;\n callInvitationURL?: string;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n options?: boolean | CallControlOptions;\n /**\n * Option to increase the height of the button flyout menu items from 36px to 48px.\n * Recommended for mobile devices.\n */\n increaseFlyoutItemSize?: boolean;\n isMobile?: boolean;\n displayVertical?: boolean;\n};\n\n// Enforce a background color on control bar to ensure it matches the composite background color.\nconst controlBarStyles = memoizeFunction((background: string) => ({\n root: {\n background: background\n }\n}));\nconst inferCallControlOptions = (mobileView: boolean, callControlOptions?: boolean | CallControlOptions): CallControlOptions => {\n if (callControlOptions === false) {\n return {};\n }\n const options = callControlOptions === true || callControlOptions === undefined ? {} : callControlOptions;\n if (mobileView) {\n // Set options to always not show screen share button for mobile\n options.screenShareButton = false;\n }\n return options;\n};\n\n/**\n * @private\n */\nexport const CallControls = (props: CallControlsProps & ContainerRectProps): JSX.Element => {\n const options: CallControlOptions = useMemo(() => inferCallControlOptions(!!props.isMobile, props.options), [props.isMobile, props.options]);\n const localeStrings = useLocale();\n const [isDeepNoiseSuppressionOn, setDeepNoiseSuppressionOn] = useState<boolean>(false);\n const adapter = useAdapter();\n const startDeepNoiseSuppression = useCallback(async () => {\n await adapter.startNoiseSuppressionEffect();\n }, [adapter]);\n const deepNoiseSuppresionEffectsDependency = useSelector(getDeepNoiseSuppresionEffectsDependency);\n const deepNoiseSuppressionOnByDefault = useSelector(getDeepNoiseSuppresionIsOnByDefault);\n useEffect(() => {\n if (deepNoiseSuppresionEffectsDependency && deepNoiseSuppressionOnByDefault) {\n startDeepNoiseSuppression();\n setDeepNoiseSuppressionOn(true);\n }\n }, [deepNoiseSuppresionEffectsDependency, deepNoiseSuppressionOnByDefault, startDeepNoiseSuppression]);\n const environmentInfo = useSelector(getEnvironmentInfo);\n const isSafari = _isSafari(environmentInfo);\n const hideDeepNoiseSuppressionButton = useSelector(getHideDeepNoiseSupressionButton);\n const showNoiseSuppressionButton = !!(deepNoiseSuppresionEffectsDependency && !hideDeepNoiseSuppressionButton && !isSafari);\n const onClickNoiseSuppression = useCallback(async () => {\n if (isDeepNoiseSuppressionOn) {\n await adapter.stopNoiseSuppressionEffect();\n setDeepNoiseSuppressionOn(false);\n } else {\n await adapter.startNoiseSuppressionEffect();\n setDeepNoiseSuppressionOn(true);\n }\n }, [adapter, isDeepNoiseSuppressionOn]);\n const peopleButtonStrings = useMemo(() => ({\n label: localeStrings.strings.call.peopleButtonLabel,\n tooltipOffContent: localeStrings.strings.call.peopleButtonTooltipOpen,\n tooltipOnContent: localeStrings.strings.call.peopleButtonTooltipClose\n }), [localeStrings]);\n const moreButtonStrings = useMemo(() => ({\n label: localeStrings.strings.call.moreButtonCallingLabel,\n tooltipOffContent: localeStrings.strings.callWithChat.moreDrawerButtonTooltip\n }), [localeStrings]);\n const holdButtonProps = usePropsFor(HoldButton);\n const raiseHandButtonProps = usePropsFor(RaiseHandButton) as RaiseHandButtonProps;\n const capabilitiesSelector = useSelector(capabilitySelector);\n const callState = useSelector(callStatusSelector);\n const isReactionAllowed = callState.callStatus !== 'Connected' || !capabilitiesSelector?.capabilities || capabilitiesSelector.capabilities.useReactions.isPresent;\n const devicesButtonProps = usePropsFor(DevicesButton);\n let numberOfButtons = 0;\n const screenShareButtonIsEnabled = isEnabled(options?.screenShareButton);\n if (screenShareButtonIsEnabled) {\n numberOfButtons++;\n }\n const microphoneButtonIsEnabled = isEnabled(options?.microphoneButton);\n if (microphoneButtonIsEnabled) {\n numberOfButtons++;\n }\n const cameraButtonIsEnabled = isEnabled(options?.cameraButton);\n if (cameraButtonIsEnabled) {\n numberOfButtons++;\n }\n if (isEnabled(options?.endCallButton)) {\n numberOfButtons++;\n }\n const showParticipantsButtonInControlBar = isEnabled(options?.participantsButton) && !props.isMobile;\n if (showParticipantsButtonInControlBar) {\n numberOfButtons++;\n }\n const showReactionButtonInControlBar = isEnabled(options?.reactionButton) && isReactionAllowed && !props.isMobile;\n if (showReactionButtonInControlBar) {\n numberOfButtons++;\n }\n const isRoomsCall = useSelector(getIsRoomsCall);\n const moreButtonContextualMenuItems = (): IContextualMenuItem[] => {\n const items: IContextualMenuItem[] = [];\n if (props.isMobile && props.onPeopleButtonClicked && isEnabled(options?.participantsButton)) {\n items.push({\n key: 'peopleButtonKey',\n text: localeStrings.component.strings.participantsButton.label,\n onClick: () => {\n if (props.onPeopleButtonClicked) {\n props.onPeopleButtonClicked();\n }\n },\n iconProps: {\n iconName: 'ControlButtonParticipantsContextualMenuItem',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: isDisabled(options?.participantsButton),\n ['data-ui-id']: 'call-composite-more-menu-people-button'\n });\n }\n if (!isRoomsCall) {\n items.push({\n key: 'holdButtonKey',\n text: localeStrings.component.strings.holdButton.tooltipOffContent,\n onClick: () => {\n holdButtonProps.onToggleHold();\n },\n iconProps: {\n iconName: 'HoldCallContextualMenuItem',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: isDisabled(options?.holdButton),\n ['data-ui-id']: 'hold-button'\n });\n }\n return items;\n };\n const customDrawerButtons = useMemo(() => generateCustomCallDesktopOverflowButtons(onFetchCustomButtonPropsTrampoline(typeof options === 'object' ? options : undefined), typeof options === 'object' ? options.displayType : undefined), [options]);\n const moreButtonMenuItems = moreButtonContextualMenuItems();\n let showMoreButton = isEnabled(options?.moreButton) && moreButtonMenuItems.length > 0;\n if (showMoreButton) {\n numberOfButtons++;\n }\n const customButtons = useMemo(() => generateCustomCallControlBarButton(onFetchCustomButtonPropsTrampoline(options), options?.displayType), [options]);\n numberOfButtons += React.Children.count(customButtons['primary']) + React.Children.count(customButtons['secondary']);\n let showDevicesButtonInControlBar = isEnabled(options?.devicesButton);\n if (showDevicesButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) {\n numberOfButtons++;\n } else {\n showDevicesButtonInControlBar = false;\n showMoreButton = isEnabled(options?.moreButton);\n }\n const reactionResources = useSelector(getReactionResources);\n const raiseHandButtonIsEnabled = isEnabled(options?.raiseHandButton);\n let showRaiseHandButtonInControlBar = raiseHandButtonIsEnabled;\n const role = useSelector(getRole);\n const hideRaiseHandButtonInRoomsCall = isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);\n if (showRaiseHandButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) {\n numberOfButtons++;\n } else {\n // If more button is not present but enabled then replace previous button (devices button) with more button\n if (!showMoreButton && isEnabled(options?.moreButton)) {\n showMoreButton = true;\n showDevicesButtonInControlBar = false;\n }\n showRaiseHandButtonInControlBar = false;\n }\n if (!showDevicesButtonInControlBar) {\n const devicesButtonMenu = _generateDefaultDeviceMenuProps(devicesButtonProps, localeStrings.component.strings.devicesButton);\n moreButtonMenuItems.push({\n key: 'devicesButtonKey',\n text: localeStrings.component.strings.devicesButton.label,\n iconProps: {\n iconName: 'ControlButtonOptions',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n subMenuProps: devicesButtonMenu,\n ['data-ui-id']: 'call-composite-more-menu-devices-button'\n });\n }\n if (!showRaiseHandButtonInControlBar && !hideRaiseHandButtonInRoomsCall) {\n moreButtonMenuItems.push({\n key: 'raiseHandButtonKey',\n text: raiseHandButtonProps.checked ? localeStrings.component.strings.raiseHandButton.onLabel : localeStrings.component.strings.raiseHandButton.offLabel,\n onClick: () => {\n if (raiseHandButtonProps.onToggleRaiseHand) {\n raiseHandButtonProps.onToggleRaiseHand();\n }\n },\n iconProps: {\n iconName: 'RaiseHandContextualMenuItem',\n styles: {\n root: {\n lineHeight: 0\n }\n }\n },\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n disabled: isDisabled(options?.raiseHandButton),\n ['data-ui-id']: 'call-composite-more-menu-raise-hand-button'\n });\n }\n\n // Custom Buttons in More Button Menu should always be the last items pushed into the moreButtonMenuItems array\n if (customDrawerButtons['primary']) {\n customDrawerButtons['primary'].slice(props.isMobile ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).forEach(element => {\n moreButtonMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n }\n if (customDrawerButtons['secondary']) {\n customDrawerButtons['secondary'].forEach(element => {\n moreButtonMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n }\n if (customDrawerButtons['overflow']) {\n customDrawerButtons['overflow'].forEach(element => {\n moreButtonMenuItems.push({\n itemProps: {\n styles: buttonFlyoutIncreasedSizeStyles\n },\n ...element\n });\n });\n }\n const theme = useTheme();\n\n // when props.options is false then we want to hide the whole control bar.\n if (props.options === false) {\n return <></>;\n }\n return <Stack horizontalAlign=\"center\" className={callControlsContainerStyles}>\n <Stack.Item>\n {/*\n Note: We use the layout=\"horizontal\" instead of dockedBottom because of how we position the\n control bar. The control bar exists in a Stack below the MediaGallery. The MediaGallery is\n set to grow and fill the remaining space not taken up by the ControlBar. If we were to use\n dockedBottom it has position absolute and would therefore float on top of the media gallery,\n occluding some of its content.\n */}\n <ControlBar layout={props.displayVertical ? 'vertical' : 'horizontal'} styles={controlBarStyles(theme.semanticColors.bodyBackground)}>\n {microphoneButtonIsEnabled && <Microphone displayType={options?.displayType} disabled={isDisabled(options?.microphoneButton)} onClickNoiseSuppression={onClickNoiseSuppression} isDeepNoiseSuppressionOn={isDeepNoiseSuppressionOn} showNoiseSuppressionButton={showNoiseSuppressionButton} />}\n {cameraButtonIsEnabled && <Camera displayType={options?.displayType} disabled={isDisabled(options?.cameraButton)} />}\n {showReactionButtonInControlBar && reactionResources && <Reaction displayType={options?.displayType} reactionResource={reactionResources} />}\n {showRaiseHandButtonInControlBar && !hideRaiseHandButtonInRoomsCall && <RaiseHand displayType={options?.displayType} />}\n {screenShareButtonIsEnabled && <ScreenShare option={options?.screenShareButton} displayType={options?.displayType} disabled={isDisabled(options?.screenShareButton)} />}\n {showParticipantsButtonInControlBar && <Participants option={options?.participantsButton} callInvitationURL={props.callInvitationURL} onFetchParticipantMenuItems={props.onFetchParticipantMenuItems} displayType={options?.displayType} increaseFlyoutItemSize={props.increaseFlyoutItemSize} isMobile={props.isMobile} disabled={isDisabled(options?.participantsButton)} /> && <People checked={props.peopleButtonChecked} ariaLabel={peopleButtonStrings?.label} showLabel={options?.displayType !== 'compact'} onClick={props.onPeopleButtonClicked} data-ui-id=\"call-composite-people-button\" strings={peopleButtonStrings} disabled={isDisabled(options?.participantsButton)} disableTooltip={props.isMobile} />}\n {showDevicesButtonInControlBar && <Devices displayType={options?.displayType} increaseFlyoutItemSize={props.increaseFlyoutItemSize} disabled={isDisabled(options?.devicesButton)} />}\n {customButtons['primary']?.slice(0, props.isMobile ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {\n return <CustomButton key={`primary-custom-button-${i}`}\n // styles={commonButtonStyles}\n showLabel={options?.displayType !== 'compact'} disableTooltip={props.isMobile} />;\n })}\n {showMoreButton && <MoreButton disableTooltip={props.isMobile} data-ui-id=\"common-call-composite-more-button\" strings={moreButtonStrings} menuIconProps={{\n hidden: true\n }} menuProps={{\n items: moreButtonMenuItems\n }} showLabel={options?.displayType !== 'compact'} />}\n {isEnabled(options?.endCallButton) && <EndCall displayType={options?.displayType} />}\n </ControlBar>\n </Stack.Item>\n </Stack>;\n};\nconst isEnabled = (option: unknown): boolean => option !== false;"]}
|
@@ -1,12 +1,10 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { _DevicePermissionDropdownProps } from "../../../../../react-components/src";
|
3
2
|
/**
|
4
3
|
* @private
|
5
4
|
*/
|
6
5
|
export interface ConfigurationPageCameraDropdownProps {
|
7
6
|
cameraGrantedDropdown: JSX.Element;
|
8
7
|
cameraPermissionGranted: boolean;
|
9
|
-
dropdownProps: Partial<_DevicePermissionDropdownProps>;
|
10
8
|
onClickEnableDevicePermission?: () => void;
|
11
9
|
}
|
12
10
|
/**
|
@@ -1,26 +1,7 @@
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
2
|
-
// Licensed under the MIT License.
|
3
|
-
import React from 'react';
|
4
|
-
import { useTheme, _DevicePermissionDropdown } from "../../../../../react-components/src";
|
5
|
-
import { dropDownStyles } from '../styles/LocalDeviceSettings.styles';
|
6
|
-
import { CallCompositeIcon } from '../../common/icons';
|
7
1
|
/**
|
8
2
|
* @private
|
9
3
|
*/
|
10
4
|
export const ConfigurationPageCameraDropdown = (props) => {
|
11
|
-
const theme = useTheme();
|
12
|
-
const devicePermissionDropdownStringsCamera = {
|
13
|
-
placeHolderText: 'Enable Camera (optional)',
|
14
|
-
actionButtonContent: 'Allow'
|
15
|
-
};
|
16
|
-
const cameraBlockedDropdown = React.createElement(_DevicePermissionDropdown, Object.assign({}, props.dropdownProps, { styles: dropDownStyles(theme), constrain: {
|
17
|
-
video: true,
|
18
|
-
audio: false
|
19
|
-
}, strings: devicePermissionDropdownStringsCamera, icon: React.createElement(CallCompositeIcon, { iconName: "ControlButtonCameraOn", style: {
|
20
|
-
height: '1.25rem',
|
21
|
-
marginRight: '0.625rem'
|
22
|
-
} }), onClick: props.onClickEnableDevicePermission }));
|
23
|
-
return props.cameraPermissionGranted ? props.cameraGrantedDropdown : cameraBlockedDropdown;
|
24
5
|
return props.cameraGrantedDropdown;
|
25
6
|
};
|
26
7
|
//# sourceMappingURL=ConfigurationPageCameraDropdown.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConfigurationPageCameraDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"ConfigurationPageCameraDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.tsx"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,KAA2C,EAAe,EAAE;IAC1G,OAAO,KAAK,CAAC,qBAAqB,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * @private\n */\nexport interface ConfigurationPageCameraDropdownProps {\n cameraGrantedDropdown: JSX.Element;\n cameraPermissionGranted: boolean;\n onClickEnableDevicePermission?: () => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageCameraDropdown = (props: ConfigurationPageCameraDropdownProps): JSX.Element => {\n return props.cameraGrantedDropdown;\n};"]}
|
@@ -1,20 +1,12 @@
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
2
2
|
// Licensed under the MIT License.
|
3
3
|
import React from 'react';
|
4
|
-
import {
|
4
|
+
import { ErrorBar } from "../../../../../react-components/src";
|
5
5
|
/**
|
6
6
|
* @private
|
7
7
|
*/
|
8
8
|
export const ConfigurationPageErrorBar = (props) => {
|
9
|
-
const { errorBarProps
|
10
|
-
const permissionTroubleshootingGuideStrings = {
|
11
|
-
devicePermissionLinkText: 'Troubleshooting Camera and Microphone Permissions',
|
12
|
-
networkTroubleshootingLinkText: 'Troubleshooting Network Connection',
|
13
|
-
dismissButtonText: 'OK'
|
14
|
-
};
|
15
|
-
if (showTroubleShootingErrorBar) {
|
16
|
-
return React.createElement(_TroubleshootingGuideErrorBar, Object.assign({ troubleshootingGuideStrings: permissionTroubleshootingGuideStrings, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, onNetworkingTroubleshootingClick: onNetworkingTroubleShootingClick, permissionsState: permissionsState }, errorBarProps, { onDismissError: props.onDismissError }));
|
17
|
-
}
|
9
|
+
const { errorBarProps } = props;
|
18
10
|
return React.createElement(ErrorBar, Object.assign({}, errorBarProps, { onDismissError: props.onDismissError }));
|
19
11
|
};
|
20
12
|
//# sourceMappingURL=ConfigurationPageErrorBar.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConfigurationPageErrorBar.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
1
|
+
{"version":3,"file":"ConfigurationPageErrorBar.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAuM,QAAQ,EAAE,4CAAmC;AAwB3P;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EACJ,aAAa,EACd,GAAG,KAAK,CAAC;IACV,OAAO,oBAAC,QAAQ,oBAAK,aAAa,IAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;AAC/E,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps, ActiveErrorMessage, ErrorBarProps, _TroubleshootingGuideErrorBarStrings, _TroubleshootingGuideErrorBar, ErrorBar } from '@internal/react-components';\nimport { CallingHandlers } from '@internal/calling-component-bindings';\nimport { Common } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\nexport interface ConfigurationPageErrorBarProps {\n errorBarProps: {\n activeErrorMessages: ActiveErrorMessage[];\n } & Common<CallingHandlers, ErrorBarProps>;\n showTroubleShootingErrorBar?: boolean;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n onNetworkingTroubleShootingClick?: () => void;\n permissionsState?: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n onDismissError: (error: ActiveErrorMessage) => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageErrorBar = (props: ConfigurationPageErrorBarProps): JSX.Element => {\n const {\n errorBarProps\n } = props;\n return <ErrorBar {...errorBarProps} onDismissError={props.onDismissError} />;\n};"]}
|
@@ -1,12 +1,10 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { _DevicePermissionDropdownProps } from "../../../../../react-components/src";
|
3
2
|
/**
|
4
3
|
* @private
|
5
4
|
*/
|
6
5
|
export interface ConfigurationPageMicDropdownProps {
|
7
6
|
micGrantedDropdown: JSX.Element;
|
8
7
|
micPermissionGranted: boolean;
|
9
|
-
dropdownProps: Partial<_DevicePermissionDropdownProps>;
|
10
8
|
onClickEnableDevicePermission?: () => void;
|
11
9
|
}
|
12
10
|
/**
|
@@ -1,26 +1,7 @@
|
|
1
|
-
// Copyright (c) Microsoft Corporation.
|
2
|
-
// Licensed under the MIT License.
|
3
|
-
import React from 'react';
|
4
|
-
import { useTheme, _DevicePermissionDropdown } from "../../../../../react-components/src";
|
5
|
-
import { dropDownStyles } from '../styles/LocalDeviceSettings.styles';
|
6
|
-
import { CallCompositeIcon } from '../../common/icons';
|
7
1
|
/**
|
8
2
|
* @private
|
9
3
|
*/
|
10
4
|
export const ConfigurationPageMicDropdown = (props) => {
|
11
|
-
const theme = useTheme();
|
12
|
-
const devicePermissionDropdownStringsMicrophone = {
|
13
|
-
placeHolderText: 'Enable Microphone (required)',
|
14
|
-
actionButtonContent: 'Allow'
|
15
|
-
};
|
16
|
-
const microphoneBlockedDropdown = React.createElement(_DevicePermissionDropdown, Object.assign({}, props.dropdownProps, { styles: dropDownStyles(theme), constrain: {
|
17
|
-
video: false,
|
18
|
-
audio: true
|
19
|
-
}, strings: devicePermissionDropdownStringsMicrophone, icon: React.createElement(CallCompositeIcon, { iconName: "ControlButtonMicOn", style: {
|
20
|
-
height: '1.25rem',
|
21
|
-
marginRight: '0.625rem'
|
22
|
-
} }), onClick: props.onClickEnableDevicePermission }));
|
23
|
-
return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;
|
24
5
|
return props.micGrantedDropdown;
|
25
6
|
};
|
26
7
|
//# sourceMappingURL=ConfigurationPageMicDropdown.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ConfigurationPageMicDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"ConfigurationPageMicDropdown.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.tsx"],"names":[],"mappings":"AAWA;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAe,EAAE;IACpG,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * @private\n */\nexport interface ConfigurationPageMicDropdownProps {\n micGrantedDropdown: JSX.Element;\n micPermissionGranted: boolean;\n onClickEnableDevicePermission?: () => void;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageMicDropdown = (props: ConfigurationPageMicDropdownProps): JSX.Element => {\n return props.micGrantedDropdown;\n};"]}
|
@@ -16,7 +16,6 @@ export interface LocalDeviceSettingsType {
|
|
16
16
|
onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;
|
17
17
|
onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;
|
18
18
|
onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;
|
19
|
-
onClickEnableDevicePermission?: () => void;
|
20
19
|
onClickVideoEffects?: () => void;
|
21
20
|
}
|
22
21
|
/**
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import { Dropdown, Label, mergeStyles, Stack } from '@fluentui/react';
|
4
4
|
import { DefaultButton } from '@fluentui/react';
|
5
5
|
import { useEffect } from 'react';
|
6
|
-
import { useTheme
|
6
|
+
import { useTheme } from "../../../../../react-components/src";
|
7
7
|
import React from 'react';
|
8
8
|
import { CallCompositeIcon } from '../../common/icons';
|
9
9
|
import { useLocale } from '../../localization';
|
@@ -11,9 +11,12 @@ import { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles
|
|
11
11
|
import { useAdapter } from '../adapter/CallAdapterProvider';
|
12
12
|
import { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';
|
13
13
|
import { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';
|
14
|
-
import { useHandlers } from '../hooks/useHandlers';
|
15
14
|
import { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';
|
16
15
|
import { effectsButtonStyles } from '../styles/CallConfiguration.styles';
|
16
|
+
import { useSelector } from '../hooks/useSelector';
|
17
|
+
import { getRole, getVideoEffectsDependency } from '../selectors/baseSelectors';
|
18
|
+
import { getEnvironmentInfo } from '../selectors/baseSelectors';
|
19
|
+
import { _isSafari } from '../utils';
|
17
20
|
const getDropDownList = (list) => {
|
18
21
|
// Remove duplicates
|
19
22
|
const noDuplicates = new Map();
|
@@ -44,10 +47,10 @@ const getOptionIcon = (type) => {
|
|
44
47
|
}
|
45
48
|
};
|
46
49
|
const onRenderTitle = (iconType, props) => {
|
47
|
-
|
50
|
+
var _a;
|
48
51
|
return props ? React.createElement("div", { className: dropDownTitleIconStyles },
|
49
|
-
|
50
|
-
React.createElement("span", null, props[0].text)) : React.createElement(React.Fragment, null);
|
52
|
+
getOptionIcon(iconType),
|
53
|
+
React.createElement("span", null, (_a = props[0]) === null || _a === void 0 ? void 0 : _a.text)) : React.createElement(React.Fragment, null);
|
51
54
|
};
|
52
55
|
const localVideoViewOptions = {
|
53
56
|
scalingMode: 'Crop',
|
@@ -57,18 +60,18 @@ const localVideoViewOptions = {
|
|
57
60
|
* @private
|
58
61
|
*/
|
59
62
|
export const LocalDeviceSettings = (props) => {
|
60
|
-
var _a
|
63
|
+
var _a;
|
61
64
|
const theme = useTheme();
|
62
65
|
const locale = useLocale();
|
63
66
|
const adapter = useAdapter();
|
64
|
-
const onResolveVideoEffectDependency =
|
67
|
+
const onResolveVideoEffectDependency = useSelector(getVideoEffectsDependency);
|
65
68
|
const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;
|
66
69
|
const cameraLabel = locale.strings.call.cameraLabel;
|
67
70
|
const soundLabel = locale.strings.call.soundLabel;
|
68
71
|
const noSpeakersLabel = locale.strings.call.noSpeakersLabel;
|
69
72
|
const noCameraLabel = locale.strings.call.noCamerasLabel;
|
70
73
|
const noMicLabel = locale.strings.call.noMicrophonesLabel;
|
71
|
-
const role = (
|
74
|
+
const role = useSelector(getRole);
|
72
75
|
const cameraPermissionGranted = props.cameraPermissionGranted;
|
73
76
|
const micPermissionGranted = props.microphonePermissionGranted;
|
74
77
|
const roleCanUseCamera = role !== 'Consumer';
|
@@ -85,32 +88,44 @@ export const LocalDeviceSettings = (props) => {
|
|
85
88
|
}
|
86
89
|
adapter.querySpeakers();
|
87
90
|
}, [adapter, cameraPermissionGranted, micPermissionGranted]);
|
88
|
-
const dropdownProps = useHandlers(_DevicePermissionDropdown);
|
89
91
|
const hasCameras = props.cameras.length > 0;
|
90
92
|
const hasMicrophones = props.microphones.length > 0;
|
91
93
|
const hasSpeakers = props.speakers.length > 0;
|
92
|
-
const
|
94
|
+
const environmentInfo = useSelector(getEnvironmentInfo);
|
95
|
+
const isSafariWithNoSpeakers = _isSafari(environmentInfo) && !hasSpeakers;
|
93
96
|
const cameraGrantedDropdown = React.createElement(Dropdown, { "data-ui-id": "call-composite-local-camera-settings", "aria-labelledby": 'call-composite-local-camera-settings-label', placeholder: hasCameras ? defaultPlaceHolder : noCameraLabel, options: cameraPermissionGranted ? getDropDownList(props.cameras) : [{
|
94
97
|
key: 'deniedOrUnknown',
|
95
98
|
text: ''
|
96
|
-
}], styles: dropDownStyles(theme), disabled: !cameraPermissionGranted || !hasCameras, errorMessage: props.cameraPermissionGranted === undefined || props.cameraPermissionGranted ? undefined : locale.strings.call.cameraPermissionDenied, defaultSelectedKey: micPermissionGranted ? props.selectedCamera ? props.selectedCamera.id : props.cameras ? (
|
97
|
-
props.
|
99
|
+
}], styles: dropDownStyles(theme), disabled: !cameraPermissionGranted || !hasCameras, errorMessage: props.cameraPermissionGranted === undefined || props.cameraPermissionGranted ? undefined : locale.strings.call.cameraPermissionDenied, defaultSelectedKey: micPermissionGranted ? props.selectedCamera ? props.selectedCamera.id : props.cameras ? (_a = props.cameras[0]) === null || _a === void 0 ? void 0 : _a.id : '' : 'deniedOrUnknown', onChange: (event, option, index) => {
|
100
|
+
const camera = props.cameras[index !== null && index !== void 0 ? index : 0];
|
101
|
+
if (camera) {
|
102
|
+
props.onSelectCamera(camera, localVideoViewOptions);
|
103
|
+
}
|
104
|
+
else {
|
105
|
+
console.error('No cameras available');
|
106
|
+
}
|
98
107
|
}, onRenderTitle: (props) => onRenderTitle('Camera', props) });
|
99
108
|
const micGrantedDropdown = React.createElement(React.Fragment, null, roleCanUseMic && React.createElement(Dropdown, { "aria-labelledby": 'call-composite-local-sound-settings-label', placeholder: hasMicrophones ? defaultPlaceHolder : noMicLabel, styles: dropDownStyles(theme), disabled: !micPermissionGranted || !hasMicrophones, errorMessage: props.microphonePermissionGranted === undefined || props.microphonePermissionGranted ? undefined : locale.strings.call.microphonePermissionDenied, options: micPermissionGranted ? getDropDownList(props.microphones) : [{
|
100
109
|
key: 'deniedOrUnknown',
|
101
110
|
text: ''
|
102
111
|
}], defaultSelectedKey: micPermissionGranted ? props.selectedMicrophone ? props.selectedMicrophone.id : defaultDeviceId(props.microphones) : 'deniedOrUnknown', onChange: (event, option, index) => {
|
103
|
-
props.
|
112
|
+
const microphone = props.microphones[index !== null && index !== void 0 ? index : 0];
|
113
|
+
if (microphone) {
|
114
|
+
props.onSelectMicrophone(microphone);
|
115
|
+
}
|
116
|
+
else {
|
117
|
+
console.error('No microphones available');
|
118
|
+
}
|
104
119
|
}, onRenderTitle: (props) => onRenderTitle('Microphone', props) }));
|
105
120
|
const speakerDropdown = React.createElement(Dropdown, { "aria-labelledby": 'call-composite-local-sound-settings-label', placeholder: hasSpeakers ? defaultPlaceHolder : noSpeakersLabel, styles: dropDownStyles(theme), disabled: props.speakers.length === 0, options: getDropDownList(props.speakers), defaultSelectedKey: props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers), onChange: (event, option, index) => {
|
106
|
-
props.
|
121
|
+
const speaker = props.speakers[index !== null && index !== void 0 ? index : 0];
|
122
|
+
if (speaker) {
|
123
|
+
props.onSelectSpeaker(speaker);
|
124
|
+
}
|
125
|
+
else {
|
126
|
+
console.error('No speakers available');
|
127
|
+
}
|
107
128
|
}, onRenderTitle: (props) => onRenderTitle('Speaker', props) });
|
108
|
-
const safariBrowserSpeakerDropdownTrampoline = () => {
|
109
|
-
if (isSafariWithNoSpeakers) {
|
110
|
-
return React.createElement(React.Fragment, null);
|
111
|
-
}
|
112
|
-
return speakerDropdown;
|
113
|
-
};
|
114
129
|
return React.createElement(Stack, { "data-ui-id": "call-composite-device-settings", tokens: mainStackTokens, styles: deviceSelectionContainerStyles },
|
115
130
|
roleCanUseCamera && React.createElement(Stack, null,
|
116
131
|
React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", styles: cameraAndVideoEffectsContainerStyleDesktop },
|
@@ -118,21 +133,22 @@ export const LocalDeviceSettings = (props) => {
|
|
118
133
|
onResolveVideoEffectDependency && React.createElement(DefaultButton, { iconProps: {
|
119
134
|
iconName: 'ConfigurationScreenVideoEffectsButton'
|
120
135
|
}, styles: effectsButtonStyles(theme, !cameraPermissionGranted), onClick: props.onClickVideoEffects, disabled: !cameraPermissionGranted, "data-ui-id": 'call-config-video-effects-button' }, locale.strings.call.configurationPageVideoEffectsButtonLabel)),
|
121
|
-
React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false
|
136
|
+
React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false })),
|
122
137
|
React.createElement(Stack, null,
|
123
138
|
React.createElement(Label, { id: 'call-composite-local-sound-settings-label', className: mergeStyles(dropDownStyles(theme).label), disabled: !micPermissionGranted }, soundLabel),
|
124
139
|
React.createElement(Stack, { "data-ui-id": "call-composite-sound-settings", tokens: soundStackTokens },
|
125
|
-
React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false
|
126
|
-
|
140
|
+
React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false }),
|
141
|
+
isSafariWithNoSpeakers ? React.createElement(React.Fragment, null) : speakerDropdown)));
|
127
142
|
};
|
128
143
|
const defaultDeviceId = (devices) => {
|
144
|
+
var _a;
|
129
145
|
if (devices.length === 0) {
|
130
|
-
return
|
146
|
+
return undefined;
|
131
147
|
}
|
132
148
|
const defaultDevice = devices.find(device => device.isSystemDefault);
|
133
149
|
if (defaultDevice) {
|
134
150
|
return defaultDevice.id;
|
135
151
|
}
|
136
|
-
return devices[0].id;
|
152
|
+
return (_a = devices[0]) === null || _a === void 0 ? void 0 : _a.id;
|
137
153
|
};
|
138
154
|
//# sourceMappingURL=LocalDeviceSettings.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalDeviceSettings.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { Dropdown, IDropdownOption, Label, mergeStyles, Stack } from '@fluentui/react';\nimport { DefaultButton } from '@fluentui/react';\nimport { useEffect } from 'react';\nimport { useTheme, VideoStreamOptions, _DevicePermissionDropdown } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { useLocale } from '../../localization';\nimport { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles, mainStackTokens, optionIconStyles, soundStackTokens } from '../styles/LocalDeviceSettings.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';\nimport { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';\nimport { effectsButtonStyles } from '../styles/CallConfiguration.styles';\ntype iconType = 'Camera' | 'Microphone' | 'Speaker';\nconst getDropDownList = (list: Array<VideoDeviceInfo | AudioDeviceInfo>): IDropdownOption[] => {\n // Remove duplicates\n const noDuplicates = new Map<string, VideoDeviceInfo | AudioDeviceInfo>();\n for (const item of list) {\n noDuplicates.set(item.id, item);\n }\n const dropdownList: IDropdownOption[] = [];\n for (const item of noDuplicates.values()) {\n dropdownList.push({\n key: item.id,\n text: item.name === '' ? item.deviceType : item.name\n });\n }\n return dropdownList;\n};\nconst getOptionIcon = (type: iconType): JSX.Element | undefined => {\n if (type === 'Camera') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsCamera\" className={optionIconStyles} />;\n } else if (type === 'Microphone') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsMic\" className={optionIconStyles} />;\n } else if (type === 'Speaker') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsSpeaker\" className={optionIconStyles} />;\n } else {\n return undefined;\n }\n};\nconst onRenderTitle = (iconType: iconType, props?: IDropdownOption[]): JSX.Element => {\n const icon = props && getOptionIcon(iconType);\n return props ? <div className={dropDownTitleIconStyles}>\n {icon}\n <span>{props[0].text}</span>\n </div> : <></>;\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface LocalDeviceSettingsType {\n cameras: VideoDeviceInfo[];\n microphones: AudioDeviceInfo[];\n speakers: AudioDeviceInfo[];\n selectedCamera?: VideoDeviceInfo;\n selectedMicrophone?: AudioDeviceInfo;\n selectedSpeaker?: AudioDeviceInfo;\n microphonePermissionGranted: boolean | undefined;\n cameraPermissionGranted: boolean | undefined;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n onClickEnableDevicePermission?: () => void;\n onClickVideoEffects?: () => void;\n}\n\n/**\n * @private\n */\nexport const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element => {\n const theme = useTheme();\n const locale = useLocale();\n const adapter = useAdapter();\n const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;\n const cameraLabel = locale.strings.call.cameraLabel;\n const soundLabel = locale.strings.call.soundLabel;\n const noSpeakersLabel = locale.strings.call.noSpeakersLabel;\n const noCameraLabel = locale.strings.call.noCamerasLabel;\n const noMicLabel = locale.strings.call.noMicrophonesLabel;\n const role = adapter.getState().call?.role;\n const cameraPermissionGranted = props.cameraPermissionGranted;\n const micPermissionGranted = props.microphonePermissionGranted;\n const roleCanUseCamera = role !== 'Consumer';\n const roleCanUseMic = role !== 'Consumer';\n\n // TODO: speaker permission is tied to microphone permission (when you request 'audio' permission using the SDK) its\n // actually granting access to query both microphone and speaker. However the browser popup asks you explicity for\n // 'microphone'. This needs investigation on how we want to handle this and maybe needs follow up with SDK team.\n useEffect(() => {\n if (cameraPermissionGranted) {\n adapter.queryCameras();\n }\n if (micPermissionGranted) {\n adapter.queryMicrophones();\n }\n adapter.querySpeakers();\n }, [adapter, cameraPermissionGranted, micPermissionGranted]);\n const dropdownProps = useHandlers(_DevicePermissionDropdown);\n const hasCameras = props.cameras.length > 0;\n const hasMicrophones = props.microphones.length > 0;\n const hasSpeakers = props.speakers.length > 0;\n const isSafariWithNoSpeakers = adapter.getState().environmentInfo?.environment.browser.toLowerCase() === 'safari' && !hasSpeakers;\n const cameraGrantedDropdown = <Dropdown data-ui-id=\"call-composite-local-camera-settings\" aria-labelledby={'call-composite-local-camera-settings-label'} placeholder={hasCameras ? defaultPlaceHolder : noCameraLabel} options={cameraPermissionGranted ? getDropDownList(props.cameras) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} styles={dropDownStyles(theme)} disabled={!cameraPermissionGranted || !hasCameras} errorMessage={props.cameraPermissionGranted === undefined || props.cameraPermissionGranted ? undefined : locale.strings.call.cameraPermissionDenied} defaultSelectedKey={micPermissionGranted ? props.selectedCamera ? props.selectedCamera.id : props.cameras ? props.cameras[0]?.id : '' : 'deniedOrUnknown'} onChange={(event, option, index) => {\n props.onSelectCamera(props.cameras[index ?? 0], localVideoViewOptions);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Camera', props)} />;\n const micGrantedDropdown = <>\n {roleCanUseMic && <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasMicrophones ? defaultPlaceHolder : noMicLabel} styles={dropDownStyles(theme)} disabled={!micPermissionGranted || !hasMicrophones} errorMessage={props.microphonePermissionGranted === undefined || props.microphonePermissionGranted ? undefined : locale.strings.call.microphonePermissionDenied} options={micPermissionGranted ? getDropDownList(props.microphones) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} defaultSelectedKey={micPermissionGranted ? props.selectedMicrophone ? props.selectedMicrophone.id : defaultDeviceId(props.microphones) : 'deniedOrUnknown'} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n props.onSelectMicrophone(props.microphones[index ?? 0]);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Microphone', props)} />}\n </>;\n const speakerDropdown = <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasSpeakers ? defaultPlaceHolder : noSpeakersLabel} styles={dropDownStyles(theme)} disabled={props.speakers.length === 0} options={getDropDownList(props.speakers)} defaultSelectedKey={props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers)} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n props.onSelectSpeaker(props.speakers[index ?? 0]);\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Speaker', props)} />;\n const safariBrowserSpeakerDropdownTrampoline = (): JSX.Element => {\n if (isSafariWithNoSpeakers) {\n return <></>;\n }\n return speakerDropdown;\n };\n return <Stack data-ui-id=\"call-composite-device-settings\" tokens={mainStackTokens} styles={deviceSelectionContainerStyles}>\n {roleCanUseCamera && <Stack>\n <Stack horizontal horizontalAlign=\"space-between\" styles={cameraAndVideoEffectsContainerStyleDesktop}>\n <Label id={'call-composite-local-camera-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!cameraPermissionGranted} // follows dropdown disabled state\n >\n {cameraLabel}\n </Label>\n {onResolveVideoEffectDependency && <DefaultButton iconProps={{\n iconName: 'ConfigurationScreenVideoEffectsButton'\n }} styles={effectsButtonStyles(theme, !cameraPermissionGranted)} onClick={props.onClickVideoEffects} disabled={!cameraPermissionGranted} data-ui-id={'call-config-video-effects-button'}>\n {locale.strings.call.configurationPageVideoEffectsButtonLabel}\n </DefaultButton>}\n </Stack>\n <ConfigurationPageCameraDropdown cameraGrantedDropdown={cameraGrantedDropdown} cameraPermissionGranted={cameraPermissionGranted ?? false} dropdownProps={dropdownProps} onClickEnableDevicePermission={props.onClickEnableDevicePermission} />\n </Stack>}\n <Stack>\n <Label id={'call-composite-local-sound-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!micPermissionGranted} // follows Start button disabled state in ConfigurationPage\n >\n {soundLabel}\n </Label>\n <Stack data-ui-id=\"call-composite-sound-settings\" tokens={soundStackTokens}>\n <ConfigurationPageMicDropdown micGrantedDropdown={micGrantedDropdown} micPermissionGranted={micPermissionGranted ?? false} dropdownProps={dropdownProps} onClickEnableDevicePermission={props.onClickEnableDevicePermission} />\n {safariBrowserSpeakerDropdownTrampoline()}\n </Stack>\n </Stack>\n </Stack>;\n};\nconst defaultDeviceId = (devices: AudioDeviceInfo[]): string => {\n if (devices.length === 0) {\n return '';\n }\n const defaultDevice = devices.find(device => device.isSystemDefault);\n if (defaultDevice) {\n return defaultDevice.id;\n }\n return devices[0].id;\n};"]}
|
1
|
+
{"version":3,"file":"LocalDeviceSettings.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { Dropdown, IDropdownOption, Label, mergeStyles, Stack } from '@fluentui/react';\nimport { DefaultButton } from '@fluentui/react';\nimport { useEffect } from 'react';\nimport { useTheme, VideoStreamOptions, _DevicePermissionDropdown } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { useLocale } from '../../localization';\nimport { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles, mainStackTokens, optionIconStyles, soundStackTokens } from '../styles/LocalDeviceSettings.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';\nimport { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';\nimport { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';\nimport { effectsButtonStyles } from '../styles/CallConfiguration.styles';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRole, getVideoEffectsDependency } from '../selectors/baseSelectors';\nimport { getEnvironmentInfo } from '../selectors/baseSelectors';\nimport { _isSafari } from '../utils';\ntype iconType = 'Camera' | 'Microphone' | 'Speaker';\nconst getDropDownList = (list: Array<VideoDeviceInfo | AudioDeviceInfo>): IDropdownOption[] => {\n // Remove duplicates\n const noDuplicates = new Map<string, VideoDeviceInfo | AudioDeviceInfo>();\n for (const item of list) {\n noDuplicates.set(item.id, item);\n }\n const dropdownList: IDropdownOption[] = [];\n for (const item of noDuplicates.values()) {\n dropdownList.push({\n key: item.id,\n text: item.name === '' ? item.deviceType : item.name\n });\n }\n return dropdownList;\n};\nconst getOptionIcon = (type: iconType): JSX.Element | undefined => {\n if (type === 'Camera') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsCamera\" className={optionIconStyles} />;\n } else if (type === 'Microphone') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsMic\" className={optionIconStyles} />;\n } else if (type === 'Speaker') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsSpeaker\" className={optionIconStyles} />;\n } else {\n return undefined;\n }\n};\nconst onRenderTitle = (iconType: iconType, props?: IDropdownOption[]): JSX.Element => {\n return props ? <div className={dropDownTitleIconStyles}>\n {getOptionIcon(iconType)}\n <span>{props[0]?.text}</span>\n </div> : <></>;\n};\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface LocalDeviceSettingsType {\n cameras: VideoDeviceInfo[];\n microphones: AudioDeviceInfo[];\n speakers: AudioDeviceInfo[];\n selectedCamera?: VideoDeviceInfo;\n selectedMicrophone?: AudioDeviceInfo;\n selectedSpeaker?: AudioDeviceInfo;\n microphonePermissionGranted: boolean | undefined;\n cameraPermissionGranted: boolean | undefined;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n onClickVideoEffects?: () => void;\n}\n\n/**\n * @private\n */\nexport const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element => {\n const theme = useTheme();\n const locale = useLocale();\n const adapter = useAdapter();\n const onResolveVideoEffectDependency = useSelector(getVideoEffectsDependency);\n const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;\n const cameraLabel = locale.strings.call.cameraLabel;\n const soundLabel = locale.strings.call.soundLabel;\n const noSpeakersLabel = locale.strings.call.noSpeakersLabel;\n const noCameraLabel = locale.strings.call.noCamerasLabel;\n const noMicLabel = locale.strings.call.noMicrophonesLabel;\n const role = useSelector(getRole);\n const cameraPermissionGranted = props.cameraPermissionGranted;\n const micPermissionGranted = props.microphonePermissionGranted;\n const roleCanUseCamera = role !== 'Consumer';\n const roleCanUseMic = role !== 'Consumer';\n\n // TODO: speaker permission is tied to microphone permission (when you request 'audio' permission using the SDK) its\n // actually granting access to query both microphone and speaker. However the browser popup asks you explicity for\n // 'microphone'. This needs investigation on how we want to handle this and maybe needs follow up with SDK team.\n useEffect(() => {\n if (cameraPermissionGranted) {\n adapter.queryCameras();\n }\n if (micPermissionGranted) {\n adapter.queryMicrophones();\n }\n adapter.querySpeakers();\n }, [adapter, cameraPermissionGranted, micPermissionGranted]);\n const hasCameras = props.cameras.length > 0;\n const hasMicrophones = props.microphones.length > 0;\n const hasSpeakers = props.speakers.length > 0;\n const environmentInfo = useSelector(getEnvironmentInfo);\n const isSafariWithNoSpeakers = _isSafari(environmentInfo) && !hasSpeakers;\n const cameraGrantedDropdown = <Dropdown data-ui-id=\"call-composite-local-camera-settings\" aria-labelledby={'call-composite-local-camera-settings-label'} placeholder={hasCameras ? defaultPlaceHolder : noCameraLabel} options={cameraPermissionGranted ? getDropDownList(props.cameras) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} styles={dropDownStyles(theme)} disabled={!cameraPermissionGranted || !hasCameras} errorMessage={props.cameraPermissionGranted === undefined || props.cameraPermissionGranted ? undefined : locale.strings.call.cameraPermissionDenied} defaultSelectedKey={micPermissionGranted ? props.selectedCamera ? props.selectedCamera.id : props.cameras ? props.cameras[0]?.id : '' : 'deniedOrUnknown'} onChange={(event, option, index) => {\n const camera = props.cameras[index ?? 0];\n if (camera) {\n props.onSelectCamera(camera, localVideoViewOptions);\n } else {\n console.error('No cameras available');\n }\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Camera', props)} />;\n const micGrantedDropdown = <>\n {roleCanUseMic && <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasMicrophones ? defaultPlaceHolder : noMicLabel} styles={dropDownStyles(theme)} disabled={!micPermissionGranted || !hasMicrophones} errorMessage={props.microphonePermissionGranted === undefined || props.microphonePermissionGranted ? undefined : locale.strings.call.microphonePermissionDenied} options={micPermissionGranted ? getDropDownList(props.microphones) : [{\n key: 'deniedOrUnknown',\n text: ''\n }]} defaultSelectedKey={micPermissionGranted ? props.selectedMicrophone ? props.selectedMicrophone.id : defaultDeviceId(props.microphones) : 'deniedOrUnknown'} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n const microphone = props.microphones[index ?? 0];\n if (microphone) {\n props.onSelectMicrophone(microphone);\n } else {\n console.error('No microphones available');\n }\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Microphone', props)} />}\n </>;\n const speakerDropdown = <Dropdown aria-labelledby={'call-composite-local-sound-settings-label'} placeholder={hasSpeakers ? defaultPlaceHolder : noSpeakersLabel} styles={dropDownStyles(theme)} disabled={props.speakers.length === 0} options={getDropDownList(props.speakers)} defaultSelectedKey={props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers)} onChange={(event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption | undefined, index?: number | undefined) => {\n const speaker = props.speakers[index ?? 0];\n if (speaker) {\n props.onSelectSpeaker(speaker);\n } else {\n console.error('No speakers available');\n }\n }} onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Speaker', props)} />;\n return <Stack data-ui-id=\"call-composite-device-settings\" tokens={mainStackTokens} styles={deviceSelectionContainerStyles}>\n {roleCanUseCamera && <Stack>\n <Stack horizontal horizontalAlign=\"space-between\" styles={cameraAndVideoEffectsContainerStyleDesktop}>\n <Label id={'call-composite-local-camera-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!cameraPermissionGranted} // follows dropdown disabled state\n >\n {cameraLabel}\n </Label>\n {onResolveVideoEffectDependency && <DefaultButton iconProps={{\n iconName: 'ConfigurationScreenVideoEffectsButton'\n }} styles={effectsButtonStyles(theme, !cameraPermissionGranted)} onClick={props.onClickVideoEffects} disabled={!cameraPermissionGranted} data-ui-id={'call-config-video-effects-button'}>\n {locale.strings.call.configurationPageVideoEffectsButtonLabel}\n </DefaultButton>}\n </Stack>\n <ConfigurationPageCameraDropdown cameraGrantedDropdown={cameraGrantedDropdown} cameraPermissionGranted={cameraPermissionGranted ?? false} />\n </Stack>}\n <Stack>\n <Label id={'call-composite-local-sound-settings-label'} className={mergeStyles(dropDownStyles(theme).label)} disabled={!micPermissionGranted} // follows Start button disabled state in ConfigurationPage\n >\n {soundLabel}\n </Label>\n <Stack data-ui-id=\"call-composite-sound-settings\" tokens={soundStackTokens}>\n <ConfigurationPageMicDropdown micGrantedDropdown={micGrantedDropdown} micPermissionGranted={micPermissionGranted ?? false} />\n {isSafariWithNoSpeakers ? <></> : speakerDropdown}\n </Stack>\n </Stack>\n </Stack>;\n};\nconst defaultDeviceId = (devices: AudioDeviceInfo[]): string | undefined => {\n if (devices.length === 0) {\n return undefined;\n }\n const defaultDevice = devices.find(device => device.isSystemDefault);\n if (defaultDevice) {\n return defaultDevice.id;\n }\n return devices[0]?.id;\n};"]}
|