@azure/communication-react 1.30.0 → 1.31.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +1373 -24
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DdSFdo_m.js +213 -0
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DdSFdo_m.js.map +1 -0
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-C2HrwCVY.js +49 -0
- package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-C2HrwCVY.js.map +1 -0
- package/dist/dist-cjs/communication-react/index-CH39vOsT.js +46344 -0
- package/dist/dist-cjs/communication-react/index-CH39vOsT.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +174 -40373
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/common.d.ts +13 -0
- package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/constants.d.ts +5 -0
- package/dist/dist-esm/acs-ui-common/src/constants.js +5 -0
- package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +6 -0
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js +20 -0
- package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -0
- package/dist/dist-esm/acs-ui-common/src/index.d.ts +4 -0
- package/dist/dist-esm/acs-ui-common/src/index.js +3 -0
- package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +7 -0
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +18 -0
- package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -0
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +2 -0
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +6 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +25 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +3 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +4 -0
- package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +42 -2
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -0
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +35 -0
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +4 -0
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +24 -4
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +3 -0
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +33 -0
- package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +7 -1
- package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +17 -0
- 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 +1 -0
- 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 +6 -2
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +36 -2
- 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 +2 -1
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +4 -0
- package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +25 -2
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +6 -0
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +20 -0
- package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -0
- 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 +15 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +2 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
- package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +21 -0
- package/dist/dist-esm/communication-react/src/index.js +3 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +1 -0
- 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 +13 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +9 -3
- 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 +11 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +32 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +8 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +9 -5
- 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 +2 -1
- 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 +4 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +31 -6
- 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 +15 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +9 -0
- 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/ChatMessageComponentAsRichTextEditBox.d.ts +24 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +203 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +23 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +17 -6
- 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 +8 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +10 -6
- 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/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +36 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +67 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +51 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +40 -0
- package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js +2 -0
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +15 -0
- package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
- package/dist/dist-esm/react-components/src/components/MentionPopover.js +119 -0
- package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +81 -5
- package/dist/dist-esm/react-components/src/components/MessageThread.js +13 -3
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +12 -3
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +9 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +29 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +30 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +98 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +19 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +43 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +15 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +42 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +24 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +64 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +20 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +45 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +14 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +42 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +30 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +99 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +59 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +334 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +37 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +78 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +215 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +184 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +16 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +75 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.d.ts +9 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js +16 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +19 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +229 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +7 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +51 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +15 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +64 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +6 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +13 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/SendBox.d.ts +51 -1
- package/dist/dist-esm/react-components/src/components/SendBox.js +58 -6
- package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +56 -0
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +75 -0
- package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +14 -0
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +18 -0
- package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +24 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +550 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +819 -0
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/index.d.ts +21 -0
- package/dist/dist-esm/react-components/src/components/index.js +8 -0
- 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/BrowserPermissionDenied.styles.d.ts +58 -0
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
- package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +69 -0
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
- 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 +8 -0
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +82 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +328 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +21 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +38 -0
- package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +99 -0
- package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +5 -0
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +32 -0
- package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +38 -1
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +30 -3
- 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 +4 -2
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +9 -2
- package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +73 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +178 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +33 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +119 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +47 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +154 -4
- 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 +2 -0
- 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 +2 -1
- package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
- package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
- package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +3 -1
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +1 -0
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +45 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +24 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +67 -0
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
- package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
- package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +6 -0
- package/dist/dist-esm/react-components/src/theming/themes.js +9 -0
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/Attachment.d.ts +13 -0
- package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +20 -1
- 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 +59 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +15 -10
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +38 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +12 -1
- 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/index.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +46 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +200 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +19 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +10 -2
- 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 +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +19 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +3 -0
- 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 +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.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 +7 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +43 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +68 -0
- 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 +52 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +10 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +10 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +20 -2
- 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 +16 -2
- 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/CallWithChatBackedChatAdapter.d.ts +10 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +14 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +15 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +23 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +27 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -1
- 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 +2 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +189 -11
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +49 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +44 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +39 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +267 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +20 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +6 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +36 -0
- 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 +12 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +80 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +36 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +66 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +5 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +13 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +4 -0
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +2 -1
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +10 -0
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +16 -0
- package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +41 -2
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +21 -0
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/common/constants.js +5 -0
- 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 +26 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/package.json +4 -4
@@ -1,11 +1,13 @@
|
|
1
1
|
export { createAzureCommunicationCallAdapter, _createAzureCommunicationCallAdapterInner, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './AzureCommunicationCallAdapter';
|
2
2
|
export { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './AzureCommunicationCallAdapter';
|
3
|
+
export type { TeamsOutboundCallAdapterArgs, StartTeamsCallIdentifier } from './AzureCommunicationCallAdapter';
|
3
4
|
export type { TeamsAdapterOptions } from './AzureCommunicationCallAdapter';
|
4
5
|
export type { TeamsCallAdapterArgsCommon, TeamsCallAdapterArgs } from './AzureCommunicationCallAdapter';
|
5
6
|
export type { OnFetchProfileCallback, Profile } from './OnFetchProfileCallback';
|
6
7
|
export type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, AzureCommunicationOutboundCallAdapterArgs } from './AzureCommunicationCallAdapter';
|
7
8
|
export type { AzureCommunicationCallAdapterOptions } from './AzureCommunicationCallAdapter';
|
8
9
|
export type { CommonCallAdapterOptions } from './AzureCommunicationCallAdapter';
|
10
|
+
export type { CallParticipantsLocator } from './AzureCommunicationCallAdapter';
|
9
11
|
export type { CallAdapter, CommonCallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterCallOperations, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './CallAdapter';
|
10
12
|
export type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';
|
11
13
|
export type { RealTimeTextReceivedListener } from './CallAdapter';
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/adapter/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mCAAmC,EAAE,yCAAyC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAClN,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { createAzureCommunicationCallAdapter, _createAzureCommunicationCallAdapterInner, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './AzureCommunicationCallAdapter';\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './AzureCommunicationCallAdapter';\nexport type { TeamsAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { TeamsCallAdapterArgsCommon, TeamsCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { OnFetchProfileCallback, Profile } from './OnFetchProfileCallback';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, AzureCommunicationOutboundCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { AzureCommunicationCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CommonCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CallAdapter, CommonCallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterCallOperations, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './CallAdapter';\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';\nexport type { RealTimeTextReceivedListener } from './CallAdapter';\nexport type { TransferAcceptedListener } from './CallAdapter';\nexport type { CapabilitiesChangedListener } from './CallAdapter';\nexport type { SpotlightChangedListener } from './CallAdapter';\nexport type { TeamsCallAdapter } from './CallAdapter';\nexport type { CallingSounds, SoundEffect } from './CallAdapter';"]}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/adapter/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mCAAmC,EAAE,yCAAyC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAClN,OAAO,EAAE,sBAAsB,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { createAzureCommunicationCallAdapter, _createAzureCommunicationCallAdapterInner, createAzureCommunicationCallAdapterFromClient, useAzureCommunicationCallAdapter } from './AzureCommunicationCallAdapter';\nexport { createTeamsCallAdapter, createTeamsCallAdapterFromClient, useTeamsCallAdapter } from './AzureCommunicationCallAdapter';\nexport type { TeamsOutboundCallAdapterArgs, StartTeamsCallIdentifier } from './AzureCommunicationCallAdapter';\nexport type { TeamsAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { TeamsCallAdapterArgsCommon, TeamsCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { OnFetchProfileCallback, Profile } from './OnFetchProfileCallback';\nexport type { AzureCommunicationCallAdapterArgs, CallAdapterLocator, AzureCommunicationOutboundCallAdapterArgs } from './AzureCommunicationCallAdapter';\nexport type { AzureCommunicationCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CommonCallAdapterOptions } from './AzureCommunicationCallAdapter';\nexport type { CallParticipantsLocator } from './AzureCommunicationCallAdapter';\nexport type { CallAdapter, CommonCallAdapter, CallAdapterCallEndedEvent, CallAdapterCallManagement, CallAdapterCallOperations, CallAdapterClientState, CallAdapterDeviceManagement, CallAdapterState, CallAdapterSubscribers, CallAdapterUiState, CallCompositePage, CallEndedListener, CallIdChangedListener, DiagnosticChangedEventListner, DisplayNameChangedListener, IsLocalScreenSharingActiveChangedListener, IsMutedChangedListener, IsSpeakingChangedListener, MediaDiagnosticChangedEvent, NetworkDiagnosticChangedEvent, ParticipantsJoinedListener, ParticipantsLeftListener, JoinCallOptions, StartCallIdentifier, StartCaptionsAdapterOptions, StopCaptionsAdapterOptions } from './CallAdapter';\nexport type { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';\nexport type { RealTimeTextReceivedListener } from './CallAdapter';\nexport type { TransferAcceptedListener } from './CallAdapter';\nexport type { CapabilitiesChangedListener } from './CallAdapter';\nexport type { SpotlightChangedListener } from './CallAdapter';\nexport type { TeamsCallAdapter } from './CallAdapter';\nexport type { CallingSounds, SoundEffect } from './CallAdapter';"]}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
/**
|
3
|
+
* Modal that guides user through enabling their camera and mic access
|
4
|
+
* @private
|
5
|
+
*/
|
6
|
+
export declare const CallReadinessModal: (props: {
|
7
|
+
mobileView: boolean;
|
8
|
+
modalLayerHostId: string;
|
9
|
+
permissionsState: {
|
10
|
+
camera: PermissionState;
|
11
|
+
microphone: PermissionState;
|
12
|
+
};
|
13
|
+
isPermissionsModalDismissed: boolean;
|
14
|
+
setIsPermissionsModalDismissed: (dismissedState: boolean) => void;
|
15
|
+
onPermissionsTroubleshootingClick?: (permissionsState: {
|
16
|
+
camera: PermissionState;
|
17
|
+
microphone: PermissionState;
|
18
|
+
}) => void;
|
19
|
+
doNotPromptCamera: boolean;
|
20
|
+
}) => JSX.Element;
|
21
|
+
/**
|
22
|
+
* Modal that guides user through enabling their camera and mic access
|
23
|
+
* This is used when permission API is not supported
|
24
|
+
* @private
|
25
|
+
*/
|
26
|
+
export declare const CallReadinessModalFallBack: (props: {
|
27
|
+
mobileView: boolean;
|
28
|
+
checkPermissionModalShowing: boolean;
|
29
|
+
permissionsState: {
|
30
|
+
camera: PermissionState;
|
31
|
+
microphone: PermissionState;
|
32
|
+
};
|
33
|
+
modalLayerHostId: string;
|
34
|
+
isPermissionsModalDismissed: boolean;
|
35
|
+
setIsPermissionsModalDismissed: (dismissedState: boolean) => void;
|
36
|
+
onPermissionsTroubleshootingClick?: (permissionsState: {
|
37
|
+
camera: PermissionState;
|
38
|
+
microphone: PermissionState;
|
39
|
+
}) => void;
|
40
|
+
}) => JSX.Element;
|
41
|
+
/**
|
42
|
+
* Placeholder for conditional compile
|
43
|
+
* @private
|
44
|
+
*/
|
45
|
+
export declare const CallReadinessModalPlaceHolder: () => JSX.Element;
|
46
|
+
//# sourceMappingURL=CallReadinessModal.d.ts.map
|
package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js
ADDED
@@ -0,0 +1,200 @@
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
2
|
+
// Licensed under the MIT License.
|
3
|
+
import React from 'react';
|
4
|
+
import { CameraAndMicrophoneSitePermissions, CameraSitePermissions, MicrophoneSitePermissions, _DrawerSurface } from "../../../../../react-components/src";
|
5
|
+
import { _ModalClone } from "../../../../../react-components/src";
|
6
|
+
import { drawerContainerStyles } from '../styles/CallComposite.styles';
|
7
|
+
const DRAWER_HIGH_Z_BAND = 99; // setting z index to 99 so that it sit above all components
|
8
|
+
/**
|
9
|
+
* Modal that guides user through enabling their camera and mic access
|
10
|
+
* @private
|
11
|
+
*/
|
12
|
+
export const CallReadinessModal = (props) => {
|
13
|
+
const { mobileView, permissionsState, isPermissionsModalDismissed, setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick } = props;
|
14
|
+
const onLightDismissTriggered = () => {
|
15
|
+
// do nothing here
|
16
|
+
// only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt
|
17
|
+
};
|
18
|
+
// On Safari browser with 2 options: don't allow/never for this website again, when don't allow is clicked, permissionAPI returns prompt and PermissionGranted from calling sdk returns false (the right value)
|
19
|
+
const videoState = permissionsState.camera;
|
20
|
+
const audioState = permissionsState.microphone;
|
21
|
+
const showModal = !props.doNotPromptCamera && videoState === 'denied' || !props.doNotPromptCamera && videoState === 'prompt' || audioState === 'denied' || audioState === 'prompt';
|
22
|
+
const modal = !showModal ? undefined : () => {
|
23
|
+
// if both video and audio permission are not set
|
24
|
+
if (videoState === 'prompt' && !props.doNotPromptCamera && audioState === 'prompt') {
|
25
|
+
return React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
26
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
27
|
+
} : undefined, kind: "request" });
|
28
|
+
}
|
29
|
+
// if audio permission is set up but video is not
|
30
|
+
else if (videoState === 'prompt' && !props.doNotPromptCamera) {
|
31
|
+
return React.createElement(CameraSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
32
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
33
|
+
} : undefined, onContinueAnywayClick: () => {
|
34
|
+
setIsPermissionsModalDismissed(false);
|
35
|
+
}, kind: "request" });
|
36
|
+
}
|
37
|
+
// if video permission is set up but audio is not
|
38
|
+
else if (audioState === 'prompt') {
|
39
|
+
return React.createElement(MicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
40
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
41
|
+
} : undefined, kind: "request" });
|
42
|
+
}
|
43
|
+
// if both video and audio are denied
|
44
|
+
else if (videoState === 'denied' && !props.doNotPromptCamera && audioState === 'denied') {
|
45
|
+
return React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
46
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
47
|
+
} : undefined, kind: "denied" });
|
48
|
+
}
|
49
|
+
// if only video is denied
|
50
|
+
else if (videoState === 'denied' && !props.doNotPromptCamera) {
|
51
|
+
return React.createElement(CameraSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
52
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
53
|
+
} : undefined, onContinueAnywayClick: () => {
|
54
|
+
setIsPermissionsModalDismissed(false);
|
55
|
+
}, kind: "denied" });
|
56
|
+
}
|
57
|
+
// if only audio is denied
|
58
|
+
else {
|
59
|
+
return React.createElement(MicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
60
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
61
|
+
} : undefined, kind: "denied" });
|
62
|
+
}
|
63
|
+
};
|
64
|
+
if (mobileView && modal !== undefined) {
|
65
|
+
return React.createElement(React.Fragment, null, isPermissionsModalDismissed && React.createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()));
|
66
|
+
}
|
67
|
+
else if (!mobileView && modal !== undefined) {
|
68
|
+
return React.createElement(_ModalClone, { styles: {
|
69
|
+
root: {
|
70
|
+
position: 'unset'
|
71
|
+
},
|
72
|
+
main: {
|
73
|
+
position: 'absolute',
|
74
|
+
left: '50%',
|
75
|
+
top: '50%',
|
76
|
+
transform: 'translate(-50%, -50%)'
|
77
|
+
}
|
78
|
+
}, layerProps: {
|
79
|
+
hostId: props.modalLayerHostId
|
80
|
+
}, isOpen: isPermissionsModalDismissed, isBlocking: false, onDismiss: () => {
|
81
|
+
setIsPermissionsModalDismissed(false);
|
82
|
+
}, overlay: {
|
83
|
+
styles: {
|
84
|
+
root: {
|
85
|
+
background: 'rgba(0,0,0,0.4)'
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}, forceFocusInsideTrap: true, focusTrapZoneProps: {
|
89
|
+
disabled: false,
|
90
|
+
onKeyDown: (ev) => {
|
91
|
+
if (ev.key === 'Escape') {
|
92
|
+
setIsPermissionsModalDismissed(false);
|
93
|
+
}
|
94
|
+
}
|
95
|
+
} }, modal());
|
96
|
+
}
|
97
|
+
else {
|
98
|
+
return React.createElement(React.Fragment, null);
|
99
|
+
}
|
100
|
+
};
|
101
|
+
/**
|
102
|
+
* Modal that guides user through enabling their camera and mic access
|
103
|
+
* This is used when permission API is not supported
|
104
|
+
* @private
|
105
|
+
*/
|
106
|
+
export const CallReadinessModalFallBack = (props) => {
|
107
|
+
const { mobileView, checkPermissionModalShowing, permissionsState, isPermissionsModalDismissed, setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick } = props;
|
108
|
+
const onLightDismissTriggered = () => {
|
109
|
+
// do nothing here
|
110
|
+
// only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt
|
111
|
+
};
|
112
|
+
const videoState = permissionsState.camera;
|
113
|
+
const audioState = permissionsState.microphone;
|
114
|
+
// When permissions are not set, do nothing here
|
115
|
+
// When permissions are set to denied, show helper screen
|
116
|
+
const showModal = videoState === 'denied' || audioState === 'denied';
|
117
|
+
const modal = !showModal ? undefined : () => {
|
118
|
+
if (videoState === 'denied' && audioState === 'denied') {
|
119
|
+
return React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
120
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
121
|
+
} : undefined, kind: "denied" });
|
122
|
+
}
|
123
|
+
else if (videoState === 'denied' && audioState === 'granted') {
|
124
|
+
return React.createElement(CameraSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
125
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
126
|
+
} : undefined, onContinueAnywayClick: () => {
|
127
|
+
setIsPermissionsModalDismissed(false);
|
128
|
+
}, kind: "denied" });
|
129
|
+
}
|
130
|
+
else {
|
131
|
+
return React.createElement(MicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
132
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
133
|
+
} : undefined, kind: "denied" });
|
134
|
+
}
|
135
|
+
};
|
136
|
+
if (mobileView) {
|
137
|
+
return React.createElement(React.Fragment, null,
|
138
|
+
(checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && React.createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) },
|
139
|
+
React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
140
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
141
|
+
} : undefined, kind: "check" })),
|
142
|
+
isPermissionsModalDismissed && !checkPermissionModalShowing && modal !== undefined && React.createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()));
|
143
|
+
}
|
144
|
+
else {
|
145
|
+
return React.createElement(React.Fragment, null,
|
146
|
+
(checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && React.createElement(_ModalClone, { styles: {
|
147
|
+
root: {
|
148
|
+
position: 'unset'
|
149
|
+
},
|
150
|
+
main: {
|
151
|
+
position: 'absolute',
|
152
|
+
left: '50%',
|
153
|
+
top: '50%',
|
154
|
+
transform: 'translate(-50%, -50%)'
|
155
|
+
}
|
156
|
+
}, layerProps: {
|
157
|
+
hostId: props.modalLayerHostId
|
158
|
+
}, isOpen: isPermissionsModalDismissed, isBlocking: false, onDismiss: () => {
|
159
|
+
setIsPermissionsModalDismissed(false);
|
160
|
+
}, overlay: {
|
161
|
+
styles: {
|
162
|
+
root: {
|
163
|
+
background: 'rgba(0,0,0,0.4)'
|
164
|
+
}
|
165
|
+
}
|
166
|
+
} },
|
167
|
+
React.createElement(CameraAndMicrophoneSitePermissions, { appName: 'app', onTroubleshootingClick: onPermissionsTroubleshootingClick ? () => {
|
168
|
+
onPermissionsTroubleshootingClick(permissionsState);
|
169
|
+
} : undefined, kind: "check" })),
|
170
|
+
!checkPermissionModalShowing && modal !== undefined && React.createElement(_ModalClone, { styles: {
|
171
|
+
root: {
|
172
|
+
position: 'unset'
|
173
|
+
},
|
174
|
+
main: {
|
175
|
+
position: 'absolute',
|
176
|
+
left: '50%',
|
177
|
+
top: '50%',
|
178
|
+
transform: 'translate(-50%, -50%)'
|
179
|
+
}
|
180
|
+
}, layerProps: {
|
181
|
+
hostId: props.modalLayerHostId
|
182
|
+
}, isOpen: isPermissionsModalDismissed, isBlocking: false, onDismiss: () => {
|
183
|
+
setIsPermissionsModalDismissed(false);
|
184
|
+
}, overlay: {
|
185
|
+
styles: {
|
186
|
+
root: {
|
187
|
+
background: 'rgba(0,0,0,0.4)'
|
188
|
+
}
|
189
|
+
}
|
190
|
+
} }, modal()));
|
191
|
+
}
|
192
|
+
};
|
193
|
+
/**
|
194
|
+
* Placeholder for conditional compile
|
195
|
+
* @private
|
196
|
+
*/
|
197
|
+
export const CallReadinessModalPlaceHolder = () => {
|
198
|
+
return React.createElement(React.Fragment, null);
|
199
|
+
};
|
200
|
+
//# sourceMappingURL=CallReadinessModal.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CallReadinessModal.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/components/CallReadinessModal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { CameraAndMicrophoneSitePermissions, CameraSitePermissions, MicrophoneSitePermissions, _DrawerSurface } from '@internal/react-components';\nimport { _ModalClone } from '@internal/react-components';\nimport { drawerContainerStyles } from '../styles/CallComposite.styles';\nimport { _isSafari } from '../utils';\nconst DRAWER_HIGH_Z_BAND = 99; // setting z index to 99 so that it sit above all components\n/**\n * Modal that guides user through enabling their camera and mic access\n * @private\n */\nexport const CallReadinessModal = (props: {\n mobileView: boolean;\n modalLayerHostId: string;\n permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n isPermissionsModalDismissed: boolean;\n setIsPermissionsModalDismissed: (dismissedState: boolean) => void;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n doNotPromptCamera: boolean;\n}): JSX.Element => {\n const {\n mobileView,\n permissionsState,\n isPermissionsModalDismissed,\n setIsPermissionsModalDismissed,\n onPermissionsTroubleshootingClick\n } = props;\n const onLightDismissTriggered = (): void => {\n // do nothing here\n // only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt\n };\n\n // On Safari browser with 2 options: don't allow/never for this website again, when don't allow is clicked, permissionAPI returns prompt and PermissionGranted from calling sdk returns false (the right value)\n const videoState: PermissionState = permissionsState.camera;\n const audioState: PermissionState = permissionsState.microphone;\n const showModal = !props.doNotPromptCamera && videoState === 'denied' || !props.doNotPromptCamera && videoState === 'prompt' || audioState === 'denied' || audioState === 'prompt';\n const modal: undefined | (() => JSX.Element) = !showModal ? undefined : () => {\n // if both video and audio permission are not set\n if (videoState === 'prompt' && !props.doNotPromptCamera && audioState === 'prompt') {\n return <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"request\" />;\n }\n // if audio permission is set up but video is not\n else if (videoState === 'prompt' && !props.doNotPromptCamera) {\n return <CameraSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} onContinueAnywayClick={() => {\n setIsPermissionsModalDismissed(false);\n }} kind=\"request\" />;\n }\n // if video permission is set up but audio is not\n else if (audioState === 'prompt') {\n return <MicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"request\" />;\n }\n // if both video and audio are denied\n else if (videoState === 'denied' && !props.doNotPromptCamera && audioState === 'denied') {\n return <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n }\n // if only video is denied\n else if (videoState === 'denied' && !props.doNotPromptCamera) {\n return <CameraSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} onContinueAnywayClick={() => {\n setIsPermissionsModalDismissed(false);\n }} kind=\"denied\" />;\n }\n // if only audio is denied\n else {\n return <MicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n }\n };\n if (mobileView && modal !== undefined) {\n return <>\n {isPermissionsModalDismissed && <_DrawerSurface disableMaxHeight={true} onLightDismiss={onLightDismissTriggered} styles={drawerContainerStyles(DRAWER_HIGH_Z_BAND)}>\n {modal()}\n </_DrawerSurface>}\n </>;\n } else if (!mobileView && modal !== undefined) {\n return <_ModalClone styles={{\n root: {\n position: 'unset'\n },\n main: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }} layerProps={{\n hostId: props.modalLayerHostId\n }} isOpen={isPermissionsModalDismissed} isBlocking={false} onDismiss={() => {\n setIsPermissionsModalDismissed(false);\n }} overlay={{\n styles: {\n root: {\n background: 'rgba(0,0,0,0.4)'\n }\n }\n }} forceFocusInsideTrap={true} focusTrapZoneProps={{\n disabled: false,\n onKeyDown: (ev: React.KeyboardEvent<HTMLElement>) => {\n if (ev.key === 'Escape') {\n setIsPermissionsModalDismissed(false);\n }\n }\n }}>\n {modal()}\n </_ModalClone>;\n } else {\n return <></>;\n }\n};\n/**\n * Modal that guides user through enabling their camera and mic access\n * This is used when permission API is not supported\n * @private\n */\nexport const CallReadinessModalFallBack = (props: {\n mobileView: boolean;\n checkPermissionModalShowing: boolean;\n permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n };\n modalLayerHostId: string;\n isPermissionsModalDismissed: boolean;\n setIsPermissionsModalDismissed: (dismissedState: boolean) => void;\n onPermissionsTroubleshootingClick?: (permissionsState: {\n camera: PermissionState;\n microphone: PermissionState;\n }) => void;\n}): JSX.Element => {\n const {\n mobileView,\n checkPermissionModalShowing,\n permissionsState,\n isPermissionsModalDismissed,\n setIsPermissionsModalDismissed,\n onPermissionsTroubleshootingClick\n } = props;\n const onLightDismissTriggered = (): void => {\n // do nothing here\n // only way to dismiss this drawer is clicking on allow access which will leads to device permission prompt\n };\n const videoState = permissionsState.camera;\n const audioState = permissionsState.microphone;\n\n // When permissions are not set, do nothing here\n // When permissions are set to denied, show helper screen\n const showModal = videoState === 'denied' || audioState === 'denied';\n const modal: undefined | (() => JSX.Element) = !showModal ? undefined : () => {\n if (videoState === 'denied' && audioState === 'denied') {\n return <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n } else if (videoState === 'denied' && audioState === 'granted') {\n return <CameraSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} onContinueAnywayClick={() => {\n setIsPermissionsModalDismissed(false);\n }} kind=\"denied\" />;\n } else {\n return <MicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"denied\" />;\n }\n };\n if (mobileView) {\n return <>\n {(checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && <_DrawerSurface disableMaxHeight={true} onLightDismiss={onLightDismissTriggered} styles={drawerContainerStyles(DRAWER_HIGH_Z_BAND)}>\n <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"check\" />\n </_DrawerSurface>}\n {isPermissionsModalDismissed && !checkPermissionModalShowing && modal !== undefined && <_DrawerSurface disableMaxHeight={true} onLightDismiss={onLightDismissTriggered} styles={drawerContainerStyles(DRAWER_HIGH_Z_BAND)}>\n {modal()}\n </_DrawerSurface>}\n </>;\n } else {\n return <>\n {(checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && <_ModalClone styles={{\n root: {\n position: 'unset'\n },\n main: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }} layerProps={{\n hostId: props.modalLayerHostId\n }} isOpen={isPermissionsModalDismissed} isBlocking={false} onDismiss={() => {\n setIsPermissionsModalDismissed(false);\n }} overlay={{\n styles: {\n root: {\n background: 'rgba(0,0,0,0.4)'\n }\n }\n }}>\n <CameraAndMicrophoneSitePermissions appName={'app'} onTroubleshootingClick={onPermissionsTroubleshootingClick ? () => {\n onPermissionsTroubleshootingClick(permissionsState);\n } : undefined} kind=\"check\" />\n </_ModalClone>}\n\n {!checkPermissionModalShowing && modal !== undefined && <_ModalClone styles={{\n root: {\n position: 'unset'\n },\n main: {\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }} layerProps={{\n hostId: props.modalLayerHostId\n }} isOpen={isPermissionsModalDismissed} isBlocking={false} onDismiss={() => {\n setIsPermissionsModalDismissed(false);\n }} overlay={{\n styles: {\n root: {\n background: 'rgba(0,0,0,0.4)'\n }\n }\n }}>\n {modal()}\n </_ModalClone>}\n </>;\n }\n};\n\n/**\n * Placeholder for conditional compile\n * @private\n */\nexport const CallReadinessModalPlaceHolder = (): JSX.Element => {\n return <></>;\n};"]}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
+
import { _DevicePermissionDropdownProps } from "../../../../../react-components/src";
|
2
3
|
/**
|
3
4
|
* @private
|
4
5
|
*/
|
5
6
|
export interface ConfigurationPageCameraDropdownProps {
|
6
7
|
cameraGrantedDropdown: JSX.Element;
|
7
8
|
cameraPermissionGranted: boolean;
|
9
|
+
dropdownProps: Partial<_DevicePermissionDropdownProps>;
|
8
10
|
onClickEnableDevicePermission?: () => void;
|
9
11
|
ariaLabelledby?: string;
|
10
12
|
}
|
@@ -1,7 +1,26 @@
|
|
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';
|
1
7
|
/**
|
2
8
|
* @private
|
3
9
|
*/
|
4
10
|
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, ariaLabelledby: props.ariaLabelledby }));
|
23
|
+
return props.cameraPermissionGranted ? props.cameraGrantedDropdown : cameraBlockedDropdown;
|
5
24
|
return props.cameraGrantedDropdown;
|
6
25
|
};
|
7
26
|
//# 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":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAoC,yBAAyB,EAAkC,4CAAmC;AACnJ,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,KAA2C,EAAe,EAAE;IAC1G,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,qCAAqC,GAAqC;QAC9E,eAAe,EAAE,0BAA0B;QAC3C,mBAAmB,EAAE,OAAO;KAC7B,CAAC;IACF,MAAM,qBAAqB,GAAG,oBAAC,yBAAyB,oBAAK,KAAK,CAAC,aAAa,IAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;YAC1H,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,KAAK;SACb,EAAE,OAAO,EAAE,qCAAqC,EAAE,IAAI,EAAE,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,uBAAuB,EAAC,KAAK,EAAE;gBAClH,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;aACxB,GAAI,EAAE,OAAO,EAAE,KAAK,CAAC,6BAA6B,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;IAC9F,OAAO,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC3F,OAAO,KAAK,CAAC,qBAAqB,CAAC;AACrC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\nimport { useTheme, _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps } from '@internal/react-components';\nimport { dropDownStyles } from '../styles/LocalDeviceSettings.styles';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface ConfigurationPageCameraDropdownProps {\n cameraGrantedDropdown: JSX.Element;\n cameraPermissionGranted: boolean;\n dropdownProps: Partial<_DevicePermissionDropdownProps>;\n onClickEnableDevicePermission?: () => void;\n ariaLabelledby?: string;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageCameraDropdown = (props: ConfigurationPageCameraDropdownProps): JSX.Element => {\n const theme = useTheme();\n const devicePermissionDropdownStringsCamera: _DevicePermissionDropdownStrings = {\n placeHolderText: 'Enable Camera (optional)',\n actionButtonContent: 'Allow'\n };\n const cameraBlockedDropdown = <_DevicePermissionDropdown {...props.dropdownProps} styles={dropDownStyles(theme)} constrain={{\n video: true,\n audio: false\n }} strings={devicePermissionDropdownStringsCamera} icon={<CallCompositeIcon iconName=\"ControlButtonCameraOn\" style={{\n height: '1.25rem',\n marginRight: '0.625rem'\n }} />} onClick={props.onClickEnableDevicePermission} ariaLabelledby={props.ariaLabelledby} />;\n return props.cameraPermissionGranted ? props.cameraGrantedDropdown : cameraBlockedDropdown;\n return props.cameraGrantedDropdown;\n};"]}
|
@@ -1,13 +1,21 @@
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
2
2
|
// Licensed under the MIT License.
|
3
3
|
import React from 'react';
|
4
|
-
import { ErrorBar } from "../../../../../react-components/src";
|
4
|
+
import { _TroubleshootingGuideErrorBar, ErrorBar } from "../../../../../react-components/src";
|
5
5
|
import { FocusZone } from '@fluentui/react';
|
6
6
|
/**
|
7
7
|
* @private
|
8
8
|
*/
|
9
9
|
export const ConfigurationPageErrorBar = (props) => {
|
10
|
-
const { errorBarProps } = props;
|
10
|
+
const { errorBarProps, showTroubleShootingErrorBar = false, onPermissionsTroubleshootingClick, onNetworkingTroubleShootingClick, permissionsState } = props;
|
11
|
+
const permissionTroubleshootingGuideStrings = {
|
12
|
+
devicePermissionLinkText: 'Troubleshooting Camera and Microphone Permissions',
|
13
|
+
networkTroubleshootingLinkText: 'Troubleshooting Network Connection',
|
14
|
+
dismissButtonText: 'OK'
|
15
|
+
};
|
16
|
+
if (showTroubleShootingErrorBar) {
|
17
|
+
return React.createElement(_TroubleshootingGuideErrorBar, Object.assign({ troubleshootingGuideStrings: permissionTroubleshootingGuideStrings, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, onNetworkingTroubleshootingClick: onNetworkingTroubleShootingClick, permissionsState: permissionsState }, errorBarProps, { onDismissError: props.onDismissError }));
|
18
|
+
}
|
11
19
|
if (errorBarProps.activeErrorMessages.length === 0) {
|
12
20
|
return React.createElement(React.Fragment, null);
|
13
21
|
}
|
@@ -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,EAAwK,6BAA6B,EAAE,QAAQ,EAAE,4CAAmC;AAG3P,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAqC,EAAe,EAAE;IAC9F,MAAM,EACJ,aAAa,EACb,2BAA2B,GAAG,KAAK,EACnC,iCAAiC,EACjC,gCAAgC,EAChC,gBAAgB,EACjB,GAAG,KAAK,CAAC;IACV,MAAM,qCAAqC,GAAyC;QAClF,wBAAwB,EAAE,mDAAmD;QAC7E,8BAA8B,EAAE,oCAAoC;QACpE,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACF,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,oBAAC,6BAA6B,kBAAC,2BAA2B,EAAE,qCAAqC,EAAE,iCAAiC,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,gBAAgB,IAAM,aAAa,IAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;IACtV,CAAC;IACD,IAAI,aAAa,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,OAAO,yCAAK,CAAC;IACf,CAAC;IACD,OAAO,oBAAC,SAAS,IAAC,kBAAkB;QAChC,oBAAC,QAAQ,oBAAK,aAAa,IAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAC3D,CAAC;AACjB,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';\nimport { FocusZone } from '@fluentui/react';\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 showTroubleShootingErrorBar = false,\n onPermissionsTroubleshootingClick,\n onNetworkingTroubleShootingClick,\n permissionsState\n } = props;\n const permissionTroubleshootingGuideStrings: _TroubleshootingGuideErrorBarStrings = {\n devicePermissionLinkText: 'Troubleshooting Camera and Microphone Permissions',\n networkTroubleshootingLinkText: 'Troubleshooting Network Connection',\n dismissButtonText: 'OK'\n };\n if (showTroubleShootingErrorBar) {\n return <_TroubleshootingGuideErrorBar troubleshootingGuideStrings={permissionTroubleshootingGuideStrings} onPermissionsTroubleshootingClick={onPermissionsTroubleshootingClick} onNetworkingTroubleshootingClick={onNetworkingTroubleShootingClick} permissionsState={permissionsState} {...errorBarProps} onDismissError={props.onDismissError} />;\n }\n if (errorBarProps.activeErrorMessages.length === 0) {\n return <></>;\n }\n return <FocusZone shouldFocusOnMount>\n <ErrorBar {...errorBarProps} onDismissError={props.onDismissError} />\n </FocusZone>;\n};"]}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
+
import { _DevicePermissionDropdownProps } from "../../../../../react-components/src";
|
2
3
|
/**
|
3
4
|
* @private
|
4
5
|
*/
|
5
6
|
export interface ConfigurationPageMicDropdownProps {
|
6
7
|
micGrantedDropdown: JSX.Element;
|
7
8
|
micPermissionGranted: boolean;
|
9
|
+
dropdownProps: Partial<_DevicePermissionDropdownProps>;
|
8
10
|
onClickEnableDevicePermission?: () => void;
|
9
11
|
ariaLabelledby?: string;
|
10
12
|
}
|
@@ -1,7 +1,26 @@
|
|
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';
|
1
7
|
/**
|
2
8
|
* @private
|
3
9
|
*/
|
4
10
|
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, ariaLabelledby: props.ariaLabelledby }));
|
23
|
+
return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;
|
5
24
|
return props.micGrantedDropdown;
|
6
25
|
};
|
7
26
|
//# 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":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAoC,yBAAyB,EAAkC,4CAAmC;AACnJ,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAavD;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAwC,EAAe,EAAE;IACpG,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,yCAAyC,GAAqC;QAClF,eAAe,EAAE,8BAA8B;QAC/C,mBAAmB,EAAE,OAAO;KAC7B,CAAC;IACF,MAAM,yBAAyB,GAAG,oBAAC,yBAAyB,oBAAK,KAAK,CAAC,aAAa,IAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE;YAC9H,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,IAAI;SACZ,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,oBAAoB,EAAC,KAAK,EAAE;gBACnH,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,UAAU;aACxB,GAAI,EAAE,OAAO,EAAE,KAAK,CAAC,6BAA6B,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;IAC9F,OAAO,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IACzF,OAAO,KAAK,CAAC,kBAAkB,CAAC;AAClC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\nimport { useTheme, _DevicePermissionDropdownStrings, _DevicePermissionDropdown, _DevicePermissionDropdownProps } from '@internal/react-components';\nimport { dropDownStyles } from '../styles/LocalDeviceSettings.styles';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface ConfigurationPageMicDropdownProps {\n micGrantedDropdown: JSX.Element;\n micPermissionGranted: boolean;\n dropdownProps: Partial<_DevicePermissionDropdownProps>;\n onClickEnableDevicePermission?: () => void;\n ariaLabelledby?: string;\n}\n\n/**\n * @private\n */\nexport const ConfigurationPageMicDropdown = (props: ConfigurationPageMicDropdownProps): JSX.Element => {\n const theme = useTheme();\n const devicePermissionDropdownStringsMicrophone: _DevicePermissionDropdownStrings = {\n placeHolderText: 'Enable Microphone (required)',\n actionButtonContent: 'Allow'\n };\n const microphoneBlockedDropdown = <_DevicePermissionDropdown {...props.dropdownProps} styles={dropDownStyles(theme)} constrain={{\n video: false,\n audio: true\n }} strings={devicePermissionDropdownStringsMicrophone} icon={<CallCompositeIcon iconName=\"ControlButtonMicOn\" style={{\n height: '1.25rem',\n marginRight: '0.625rem'\n }} />} onClick={props.onClickEnableDevicePermission} ariaLabelledby={props.ariaLabelledby} />;\n return props.micPermissionGranted ? props.micGrantedDropdown : microphoneBlockedDropdown;\n return props.micGrantedDropdown;\n};"]}
|
@@ -16,6 +16,7 @@ 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;
|
19
20
|
onClickVideoEffects?: () => void;
|
20
21
|
}
|
21
22
|
/**
|
@@ -12,7 +12,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
12
12
|
import { Dropdown, Label, mergeStyles, Stack } from '@fluentui/react';
|
13
13
|
import { DefaultButton } from '@fluentui/react';
|
14
14
|
import { useEffect } from 'react';
|
15
|
-
import { useTheme } from "../../../../../react-components/src";
|
15
|
+
import { useTheme, _DevicePermissionDropdown } from "../../../../../react-components/src";
|
16
16
|
import React from 'react';
|
17
17
|
import { CallCompositeIcon } from '../../common/icons';
|
18
18
|
import { useLocale } from '../../localization';
|
@@ -20,6 +20,7 @@ import { deviceSelectionContainerStyles, dropDownStyles, dropDownTitleIconStyles
|
|
20
20
|
import { useAdapter } from '../adapter/CallAdapterProvider';
|
21
21
|
import { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';
|
22
22
|
import { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';
|
23
|
+
import { useHandlers } from '../hooks/useHandlers';
|
23
24
|
import { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';
|
24
25
|
import { effectsButtonStyles } from '../styles/CallConfiguration.styles';
|
25
26
|
import { useSelector } from '../hooks/useSelector';
|
@@ -98,6 +99,7 @@ export const LocalDeviceSettings = (props) => {
|
|
98
99
|
}
|
99
100
|
adapter.querySpeakers();
|
100
101
|
}, [adapter, cameraPermissionGranted, micPermissionGranted]);
|
102
|
+
const dropdownProps = useHandlers(_DevicePermissionDropdown);
|
101
103
|
const hasCameras = props.cameras.length > 0;
|
102
104
|
const hasMicrophones = props.microphones.length > 0;
|
103
105
|
const hasSpeakers = props.speakers.length > 0;
|
@@ -145,11 +147,11 @@ export const LocalDeviceSettings = (props) => {
|
|
145
147
|
onResolveVideoEffectDependency && React.createElement(DefaultButton, { iconProps: {
|
146
148
|
iconName: 'ConfigurationScreenVideoEffectsButton'
|
147
149
|
}, styles: effectsButtonStyles(theme, !cameraPermissionGranted), onClick: props.onClickVideoEffects, disabled: !cameraPermissionGranted, "data-ui-id": 'call-config-video-effects-button' }, locale.strings.call.configurationPageVideoEffectsButtonLabel)),
|
148
|
-
React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false, ariaLabelledby: cameraLabelId })),
|
150
|
+
React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false, dropdownProps: dropdownProps, onClickEnableDevicePermission: props.onClickEnableDevicePermission, ariaLabelledby: cameraLabelId })),
|
149
151
|
React.createElement(Stack, null,
|
150
152
|
React.createElement(Label, { id: soundLabelId, className: mergeStyles(dropDownStyles(theme).label) }, soundLabel),
|
151
153
|
React.createElement(Stack, { "data-ui-id": "call-composite-sound-settings", tokens: soundStackTokens },
|
152
|
-
React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false, ariaLabelledby: soundLabelId }),
|
154
|
+
React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false, dropdownProps: dropdownProps, onClickEnableDevicePermission: props.onClickEnableDevicePermission, ariaLabelledby: soundLabelId }),
|
153
155
|
isSafariWithNoSpeakers ? React.createElement(React.Fragment, null) : speakerDropdown)));
|
154
156
|
};
|
155
157
|
const defaultDeviceId = (devices) => {
|