@azure/communication-react 1.11.0-alpha-202312120013 → 1.11.0-alpha-202312150013
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 +200 -1
- package/dist/dist-cjs/communication-react/index.js +488 -62
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetry.js +2 -2
- package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +39 -26
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +0 -1
- package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +20 -6
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +2 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +4 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.d.ts +64 -0
- package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +54 -0
- package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.d.ts +14 -0
- package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js +39 -0
- package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.d.ts +141 -0
- package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js +4 -0
- package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.d.ts +59 -0
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +81 -0
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.d.ts +14 -0
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js +30 -0
- package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/index.d.ts +5 -0
- package/dist/dist-esm/react-components/src/components/index.js +6 -0
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +13 -9
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/index.d.ts +2 -0
- package/dist/dist-esm/react-components/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +2 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +7 -1
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/SurveyIssues.d.ts +45 -0
- package/dist/dist-esm/react-components/src/types/SurveyIssues.js +4 -0
- package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -0
- package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.d.ts +11 -0
- package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js +4 -0
- package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -0
- package/dist/dist-esm/react-components/src/types/index.d.ts +2 -0
- package/dist/dist-esm/react-components/src/types/index.js +2 -0
- package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +33 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +17 -7
- 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 +61 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +11 -3
- 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 +7 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +12 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +4 -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/pages/NoticePage.d.ts +33 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +9 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +33 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +6 -0
- 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 +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +6 -0
- 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 +7 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +2 -5
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.d.ts +6 -0
- package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js +29 -0
- package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.d.ts +7 -0
- package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.js +23 -0
- package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/SurveyPaneContent.d.ts +10 -0
- package/dist/dist-esm/react-composites/src/composites/common/SurveyPaneContent.js +106 -0
- package/dist/dist-esm/react-composites/src/composites/common/SurveyPaneContent.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +22 -0
- package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +59 -0
- package/package.json +2 -2
@@ -170,7 +170,7 @@ function getDefaultExportFromCjs (x) {
|
|
170
170
|
// Copyright (c) Microsoft Corporation.
|
171
171
|
// Licensed under the MIT License.
|
172
172
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
173
|
-
var telemetryVersion = '1.11.0-alpha-
|
173
|
+
var telemetryVersion = '1.11.0-alpha-202312150013';
|
174
174
|
|
175
175
|
|
176
176
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -793,38 +793,47 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
793
793
|
});
|
794
794
|
const onToggleCamera = (options) => __awaiter$L(void 0, void 0, void 0, function* () {
|
795
795
|
const previewOn = _isPreviewOn(callClient.getState().deviceManager);
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
// local video stream to the stateful call client and get into a clean state.
|
815
|
-
yield onDisposeLocalStreamView();
|
816
|
-
return;
|
817
|
-
}
|
796
|
+
// the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
|
797
|
+
// The root cause of the issue is caused by never transitioning the unparented view to the
|
798
|
+
// call object when going from configuration page (disconnected call state) to connecting.
|
799
|
+
//
|
800
|
+
// Currently the only time the local video stream is moved from unparented view to the call
|
801
|
+
// object is when we transition from connecting -> call state. If the camera was on,
|
802
|
+
// inside the MediaGallery we trigger toggleCamera. This triggers onStartLocalVideo which
|
803
|
+
// destroys the unparentedView and creates a new stream in the call - so all looks well.
|
804
|
+
//
|
805
|
+
// However, if someone turns off their camera during the lobbyOrConnecting screen, the
|
806
|
+
// call.localVideoStreams will be empty (as the stream is currently stored in the unparented
|
807
|
+
// views and was never transitioned to the call object) and thus we incorrectly try to create
|
808
|
+
// a new video stream for the call object, instead of only stopping the unparented view.
|
809
|
+
//
|
810
|
+
// The correct fix for this is to ensure that callAgent.onStartCall is called with the
|
811
|
+
// localvideostream as a videoOption. That will mean call.onLocalVideoStreamsUpdated will
|
812
|
+
// be triggered when the call is in connecting state, which we can then transition the
|
813
|
+
// local video stream to the stateful call client and get into a clean state.
|
818
814
|
if (call && (_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
|
819
815
|
const stream = call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');
|
820
|
-
|
821
|
-
|
816
|
+
const unparentedViews = callClient.getState().deviceManager.unparentedViews;
|
817
|
+
if (stream || unparentedViews.length > 0) {
|
818
|
+
unparentedViews &&
|
819
|
+
(yield unparentedViews.forEach((view) => view.mediaStreamType === 'Video' && callClient.disposeView(undefined, undefined, view)));
|
820
|
+
stream && (yield onStopLocalVideo(stream));
|
822
821
|
}
|
823
822
|
else {
|
824
823
|
yield onStartLocalVideo();
|
825
824
|
}
|
826
825
|
}
|
827
826
|
else {
|
827
|
+
/**
|
828
|
+
* This will create a unparented view to be used on the configuration page and the connecting screen
|
829
|
+
*
|
830
|
+
* If the device that the stream will come from is not on from permissions checks, then it will take time
|
831
|
+
* to create the stream since device is off. If we are turn the camera on immedietly on the configuration page we see it is
|
832
|
+
* fast but that is because the device is already primed to return a stream.
|
833
|
+
*
|
834
|
+
* On the connecting page the device has already turned off and the connecting window is so small we do not see the resulting
|
835
|
+
* unparented view from the code below.
|
836
|
+
*/
|
828
837
|
const selectedCamera = callClient.getState().deviceManager.selectedCamera;
|
829
838
|
if (selectedCamera) {
|
830
839
|
if (previewOn) {
|
@@ -891,7 +900,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
891
900
|
}
|
892
901
|
});
|
893
902
|
const onToggleMicrophone = () => __awaiter$L(void 0, void 0, void 0, function* () {
|
894
|
-
if (!call || !_isInCall(call.state)) {
|
903
|
+
if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
|
895
904
|
throw new Error(`Please invoke onToggleMicrophone after call is started`);
|
896
905
|
}
|
897
906
|
return call.isMuted ? yield call.unmute() : yield call.mute();
|
@@ -1088,6 +1097,8 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1088
1097
|
const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
|
1089
1098
|
yield captionsFeature.setCaptionLanguage(language);
|
1090
1099
|
});
|
1100
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
1101
|
+
const onSubmitSurvey = (survey) => __awaiter$L(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey, options)); });
|
1091
1102
|
return {
|
1092
1103
|
onHangUp,
|
1093
1104
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -1133,7 +1144,9 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1133
1144
|
/* @conditional-compile-remove(close-captions) */
|
1134
1145
|
onSetCaptionLanguage,
|
1135
1146
|
/* @conditional-compile-remove(close-captions) */
|
1136
|
-
onSetSpokenLanguage
|
1147
|
+
onSetSpokenLanguage,
|
1148
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
1149
|
+
onSubmitSurvey
|
1137
1150
|
};
|
1138
1151
|
});
|
1139
1152
|
|
@@ -6283,7 +6296,11 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
6283
6296
|
ChangeCaptionLanguageIcon: React.createElement(reactIcons.Translate20Regular, null),
|
6284
6297
|
ContextMenuCameraIcon: React.createElement(reactIcons.Video20Regular, null),
|
6285
6298
|
ContextMenuMicIcon: React.createElement(reactIcons.Mic20Regular, null),
|
6286
|
-
ContextMenuSpeakerIcon: React.createElement(reactIcons.Speaker220Regular, null)
|
6299
|
+
ContextMenuSpeakerIcon: React.createElement(reactIcons.Speaker220Regular, null),
|
6300
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
6301
|
+
SurveyStarIcon: React.createElement(reactIcons.Star28Regular, null),
|
6302
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
6303
|
+
SurveyStarIconFilled: React.createElement(reactIcons.Star28Filled, null)
|
6287
6304
|
};
|
6288
6305
|
|
6289
6306
|
// Copyright (c) Microsoft Corporation.
|
@@ -9012,11 +9029,20 @@ const useChatMessageStyles = reactComponents.makeStyles({
|
|
9012
9029
|
}, '& msft-mention': {
|
9013
9030
|
color: reactComponents.tokens.colorStatusWarningBackground3,
|
9014
9031
|
fontWeight: reactComponents.tokens.fontWeightSemibold
|
9015
|
-
}, '& img
|
9032
|
+
}, '& img': {
|
9033
|
+
maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element
|
9034
|
+
height: 'auto !important'
|
9035
|
+
}, '& video': {
|
9036
|
+
maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element
|
9037
|
+
height: 'auto !important'
|
9038
|
+
}, '& p': Object.assign({}, reactComponents.shorthands.marginBlock('0.125rem')), '& blockquote': Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted, clear: 'left', minHeight: '2.25rem', width: 'fit-content', marginTop: '7px', marginRight: '0px', marginLeft: '0px', marginBottom: '7px', paddingTop: '7px', paddingRight: '15px', paddingLeft: '15px', paddingBottom: '7px' }, reactComponents.shorthands.border('solid')), reactComponents.shorthands.borderRadius('4px')), reactComponents.shorthands.borderWidth('1px')), reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderLeftWidth: '4px' }), '& table': Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted }, reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderCollapse: 'collapse', tableLayout: 'auto', width: '100%', '& tr': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStroke1Selected}`)), { '& td': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStroke1Selected}`)), { wordBreak: 'normal', paddingTop: '0px', paddingRight: '5px' }) }) }) }),
|
9039
|
+
bodyWithPlaceholderImage: {
|
9040
|
+
'& img[src=""]': {
|
9016
9041
|
display: 'block',
|
9017
9042
|
position: 'relative',
|
9018
9043
|
marginBottom: '5px'
|
9019
|
-
},
|
9044
|
+
},
|
9045
|
+
'& img[src=""]:after': {
|
9020
9046
|
backgroundColor: reactComponents.tokens.colorNeutralBackground1Selected,
|
9021
9047
|
content: `url("data:image/gif;base64,R0lGODlhAQABAAAAACw=")`,
|
9022
9048
|
backgroundSize: 'center',
|
@@ -9026,13 +9052,8 @@ const useChatMessageStyles = reactComponents.makeStyles({
|
|
9026
9052
|
top: '0',
|
9027
9053
|
left: '0',
|
9028
9054
|
display: 'block'
|
9029
|
-
}
|
9030
|
-
|
9031
|
-
height: 'auto !important'
|
9032
|
-
}, '& video': {
|
9033
|
-
maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element
|
9034
|
-
height: 'auto !important'
|
9035
|
-
}, '& p': Object.assign({}, reactComponents.shorthands.marginBlock('0.125rem')), '& blockquote': Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted, clear: 'left', minHeight: '2.25rem', width: 'fit-content', marginTop: '7px', marginRight: '0px', marginLeft: '0px', marginBottom: '7px', paddingTop: '7px', paddingRight: '15px', paddingLeft: '15px', paddingBottom: '7px' }, reactComponents.shorthands.border('solid')), reactComponents.shorthands.borderRadius('4px')), reactComponents.shorthands.borderWidth('1px')), reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderLeftWidth: '4px' }), '& table': Object.assign(Object.assign({ backgroundColor: reactComponents.tokens.colorBrandBackgroundInverted }, reactComponents.shorthands.borderColor(reactComponents.tokens.colorNeutralStroke1Selected)), { borderCollapse: 'collapse', tableLayout: 'auto', width: '100%', '& tr': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStroke1Selected}`)), { '& td': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStroke1Selected}`)), { wordBreak: 'normal', paddingTop: '0px', paddingRight: '5px' }) }) }) }),
|
9055
|
+
}
|
9056
|
+
},
|
9036
9057
|
bodyWithoutAvatar: {
|
9037
9058
|
marginTop: '0.125rem'
|
9038
9059
|
},
|
@@ -10630,7 +10651,10 @@ const MessageBubble = (props) => {
|
|
10630
10651
|
const chatMessageStyles = useChatMessageStyles();
|
10631
10652
|
const chatItemMessageContainerClassName = reactComponents.mergeClasses(
|
10632
10653
|
// messageContainerStyle used in className and style prop as style prop can't handle CSS selectors
|
10633
|
-
chatMessageStyles.body,
|
10654
|
+
chatMessageStyles.body,
|
10655
|
+
// disable placeholder functionality for GA releases as it might confuse users
|
10656
|
+
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
10657
|
+
chatMessageStyles.bodyWithPlaceholderImage, isBlockedMessage
|
10634
10658
|
? chatMessageCommonStyles.blocked
|
10635
10659
|
: props.message.status === 'failed'
|
10636
10660
|
? chatMessageCommonStyles.failed
|
@@ -17797,6 +17821,197 @@ const sanitizeInput = (input) => {
|
|
17797
17821
|
return input.replace(/[^\d*#+]/g, '');
|
17798
17822
|
};
|
17799
17823
|
|
17824
|
+
// Copyright (c) Microsoft Corporation.
|
17825
|
+
// Licensed under the MIT License.
|
17826
|
+
/**
|
17827
|
+
* @private
|
17828
|
+
*/
|
17829
|
+
const helperTextStyle$1 = (theme) => react.mergeStyles({
|
17830
|
+
fontWeight: 600,
|
17831
|
+
fontSize: _pxToRem(14),
|
17832
|
+
lineHeight: _pxToRem(20),
|
17833
|
+
color: theme.palette.neutralPrimary,
|
17834
|
+
paddingTop: _pxToRem(20)
|
17835
|
+
});
|
17836
|
+
/**
|
17837
|
+
* @private
|
17838
|
+
*/
|
17839
|
+
const ratingStyles = (theme) => {
|
17840
|
+
return {
|
17841
|
+
root: {
|
17842
|
+
marginBottom: _pxToRem(24),
|
17843
|
+
textAlign: 'center'
|
17844
|
+
},
|
17845
|
+
ratingStar: {
|
17846
|
+
fontSize: _pxToRem(35),
|
17847
|
+
margin: _pxToRem(5)
|
17848
|
+
},
|
17849
|
+
ratingStarFront: {
|
17850
|
+
color: theme.palette.themePrimary
|
17851
|
+
}
|
17852
|
+
};
|
17853
|
+
};
|
17854
|
+
/**
|
17855
|
+
* @private
|
17856
|
+
*/
|
17857
|
+
const titleContainerClassName$1 = react.mergeStyles({
|
17858
|
+
paddingBottom: _pxToRem(6)
|
17859
|
+
});
|
17860
|
+
|
17861
|
+
// Copyright (c) Microsoft Corporation.
|
17862
|
+
// Licensed under the MIT License.
|
17863
|
+
/**
|
17864
|
+
* A component to allow users to send numerical ratings regarding call quality
|
17865
|
+
*
|
17866
|
+
* @internal
|
17867
|
+
*/
|
17868
|
+
const _StarSurvey = (props) => {
|
17869
|
+
const { onStarRatingSelected, selectedIcon, unselectedIcon, strings } = props;
|
17870
|
+
const [rating, setRating] = React.useState(0);
|
17871
|
+
const [helperText, setHelperText] = React.useState(strings === null || strings === void 0 ? void 0 : strings.starSurveyHelperText);
|
17872
|
+
const theme = react.useTheme();
|
17873
|
+
const onRatingChange = React.useCallback((ev, rating) => {
|
17874
|
+
if (rating) {
|
17875
|
+
setRating(rating);
|
17876
|
+
switch (rating) {
|
17877
|
+
case 1:
|
17878
|
+
setHelperText(strings === null || strings === void 0 ? void 0 : strings.starSurveyOneStarText);
|
17879
|
+
break;
|
17880
|
+
case 2:
|
17881
|
+
setHelperText(strings === null || strings === void 0 ? void 0 : strings.starSurveyTwoStarText);
|
17882
|
+
break;
|
17883
|
+
case 3:
|
17884
|
+
setHelperText(strings === null || strings === void 0 ? void 0 : strings.starSurveyThreeStarText);
|
17885
|
+
break;
|
17886
|
+
case 4:
|
17887
|
+
setHelperText(strings === null || strings === void 0 ? void 0 : strings.starSurveyFourStarText);
|
17888
|
+
break;
|
17889
|
+
case 5:
|
17890
|
+
setHelperText(strings === null || strings === void 0 ? void 0 : strings.starSurveyFiveStarText);
|
17891
|
+
break;
|
17892
|
+
}
|
17893
|
+
onStarRatingSelected === null || onStarRatingSelected === void 0 ? void 0 : onStarRatingSelected(rating);
|
17894
|
+
}
|
17895
|
+
}, [
|
17896
|
+
strings === null || strings === void 0 ? void 0 : strings.starSurveyOneStarText,
|
17897
|
+
strings === null || strings === void 0 ? void 0 : strings.starSurveyTwoStarText,
|
17898
|
+
strings === null || strings === void 0 ? void 0 : strings.starSurveyThreeStarText,
|
17899
|
+
strings === null || strings === void 0 ? void 0 : strings.starSurveyFourStarText,
|
17900
|
+
strings === null || strings === void 0 ? void 0 : strings.starSurveyFiveStarText,
|
17901
|
+
onStarRatingSelected
|
17902
|
+
]);
|
17903
|
+
return (React.createElement(react.Stack, { verticalAlign: "center" },
|
17904
|
+
React.createElement(react.Stack, { className: titleContainerClassName$1 },
|
17905
|
+
React.createElement(react.Text, { className: helperTextStyle$1(theme) }, helperText)),
|
17906
|
+
React.createElement(react.Rating, { max: 5, size: react.RatingSize.Large, defaultRating: 0, allowZeroStars: true, rating: rating, onChange: onRatingChange, styles: ratingStyles(theme), icon: selectedIcon !== null && selectedIcon !== void 0 ? selectedIcon : 'SurveyStarIconFilled', unselectedIcon: unselectedIcon !== null && unselectedIcon !== void 0 ? unselectedIcon : 'SurveyStarIcon', ariaLabelFormat: strings === null || strings === void 0 ? void 0 : strings.starRatingAriaLabel })));
|
17907
|
+
};
|
17908
|
+
|
17909
|
+
// Copyright (c) Microsoft Corporation.
|
17910
|
+
// Licensed under the MIT License.
|
17911
|
+
/**
|
17912
|
+
* @private
|
17913
|
+
*/
|
17914
|
+
const questionTextStyle = (theme) => react.mergeStyles({
|
17915
|
+
fontWeight: 600,
|
17916
|
+
fontSize: _pxToRem(14),
|
17917
|
+
lineHeight: _pxToRem(20),
|
17918
|
+
color: theme.palette.neutralPrimary,
|
17919
|
+
paddingTop: _pxToRem(20)
|
17920
|
+
});
|
17921
|
+
/**
|
17922
|
+
* @private
|
17923
|
+
*/
|
17924
|
+
const helperTextStyle = (theme) => react.mergeStyles({
|
17925
|
+
fontWeight: 400,
|
17926
|
+
fontSize: _pxToRem(12),
|
17927
|
+
lineHeight: _pxToRem(16),
|
17928
|
+
color: theme.palette.neutralPrimary
|
17929
|
+
});
|
17930
|
+
/**
|
17931
|
+
* @private
|
17932
|
+
*/
|
17933
|
+
const checkboxClassName = react.mergeStyles({
|
17934
|
+
padding: _pxToRem(8)
|
17935
|
+
});
|
17936
|
+
|
17937
|
+
// Copyright (c) Microsoft Corporation.
|
17938
|
+
// Licensed under the MIT License.
|
17939
|
+
/**
|
17940
|
+
* A component to allow users to send numerical ratings regarding call quality
|
17941
|
+
*
|
17942
|
+
* @internal
|
17943
|
+
*/
|
17944
|
+
const _TagsSurvey = (props) => {
|
17945
|
+
const { issues, callIssuesToTag, categoryHeadings, onConfirm, strings } = props;
|
17946
|
+
const [selectedTags, setSelectedTags] = React.useState({});
|
17947
|
+
const tags = React.useMemo(() => {
|
17948
|
+
const tags = [];
|
17949
|
+
issues.forEach((issue) => {
|
17950
|
+
const issueCamelCase = (issue === null || issue === void 0 ? void 0 : issue.charAt(0).toLowerCase()) + (issue === null || issue === void 0 ? void 0 : issue.slice(1));
|
17951
|
+
const issueCategory = Object.keys(callIssuesToTag).find((key) => callIssuesToTag[key][issueCamelCase] !== undefined);
|
17952
|
+
if (issueCategory) {
|
17953
|
+
if (tags[issueCategory]) {
|
17954
|
+
tags[issueCategory].push({
|
17955
|
+
message: callIssuesToTag[issueCategory][issueCamelCase],
|
17956
|
+
issue: issue
|
17957
|
+
});
|
17958
|
+
}
|
17959
|
+
else {
|
17960
|
+
tags[issueCategory] = [
|
17961
|
+
{
|
17962
|
+
message: callIssuesToTag[issueCategory][issueCamelCase],
|
17963
|
+
issue: issue
|
17964
|
+
}
|
17965
|
+
];
|
17966
|
+
}
|
17967
|
+
}
|
17968
|
+
});
|
17969
|
+
return tags;
|
17970
|
+
}, [issues, callIssuesToTag]);
|
17971
|
+
const onChange = React.useCallback((issue, issueCategory, checked) => {
|
17972
|
+
if (checked) {
|
17973
|
+
setSelectedTags((prevState) => {
|
17974
|
+
if (prevState[issueCategory]) {
|
17975
|
+
prevState[issueCategory].issues.push(issue);
|
17976
|
+
}
|
17977
|
+
else {
|
17978
|
+
prevState[issueCategory] = { score: 1, issues: [issue] };
|
17979
|
+
}
|
17980
|
+
return prevState;
|
17981
|
+
});
|
17982
|
+
}
|
17983
|
+
else {
|
17984
|
+
setSelectedTags((prevState) => {
|
17985
|
+
if (prevState[issueCategory]) {
|
17986
|
+
prevState[issueCategory].issues = prevState[issueCategory].issues.filter(function (value) {
|
17987
|
+
return value !== issue;
|
17988
|
+
});
|
17989
|
+
if (prevState[issueCategory].issues.length === 0) {
|
17990
|
+
delete prevState[issueCategory];
|
17991
|
+
}
|
17992
|
+
}
|
17993
|
+
return prevState;
|
17994
|
+
});
|
17995
|
+
}
|
17996
|
+
if (onConfirm) {
|
17997
|
+
onConfirm(selectedTags);
|
17998
|
+
}
|
17999
|
+
}, [onConfirm, selectedTags]);
|
18000
|
+
const theme = react.useTheme();
|
18001
|
+
return (React.createElement(React.Fragment, null,
|
18002
|
+
React.createElement(react.Stack, { verticalAlign: "center" },
|
18003
|
+
React.createElement(react.Text, { className: questionTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.tagsSurveyQuestion),
|
18004
|
+
React.createElement(react.Text, { className: helperTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.tagsSurveyHelperText)),
|
18005
|
+
React.createElement(react.Pivot, null, Object.keys(tags).map((key, i) => {
|
18006
|
+
return (React.createElement(react.PivotItem, { key: `key-${i}`, headerText: categoryHeadings[key], headerButtonProps: {
|
18007
|
+
'data-order': i,
|
18008
|
+
'data-title': key
|
18009
|
+
}, alwaysRender: true }, tags[key].map((t, i) => {
|
18010
|
+
return (React.createElement(react.Checkbox, { className: checkboxClassName, key: `checkBox_${i}`, label: t.message, onChange: (ev, checked) => onChange(t.issue, key, checked !== null && checked !== void 0 ? checked : false) }));
|
18011
|
+
})));
|
18012
|
+
}))));
|
18013
|
+
};
|
18014
|
+
|
17800
18015
|
// Copyright (c) Microsoft Corporation.
|
17801
18016
|
// Licensed under the MIT License.
|
17802
18017
|
/**
|
@@ -19159,7 +19374,6 @@ const convertRemoteParticipantToParticipantListParticipantBeta = (userId, displa
|
|
19159
19374
|
// Copyright (c) Microsoft Corporation.
|
19160
19375
|
// Licensed under the MIT License.
|
19161
19376
|
const convertRemoteParticipantsToParticipantListParticipants = (remoteParticipants, localUserCanRemoveOthers, isHideAttendeeNamesEnabled, localUserRole) => {
|
19162
|
-
/* eslint-disable @typescript-eslint/explicit-function-return-type */
|
19163
19377
|
const conversionCallback = (memoizeFn) => {
|
19164
19378
|
return (remoteParticipants
|
19165
19379
|
// Filter out MicrosoftBot participants
|
@@ -20024,8 +20238,9 @@ const extractTeamsAttachmentsMetadata = (attachments) => {
|
|
20024
20238
|
const files = [];
|
20025
20239
|
const inlineImages = [];
|
20026
20240
|
attachments.forEach((attachment) => {
|
20027
|
-
var _a
|
20241
|
+
var _a;
|
20028
20242
|
const attachmentType = mapAttachmentType(attachment.attachmentType);
|
20243
|
+
const contentType = extractAttachmentContentTypeFromName(attachment.name);
|
20029
20244
|
if (attachmentType === 'inlineImage') {
|
20030
20245
|
inlineImages.push({
|
20031
20246
|
attachmentType: attachmentType,
|
@@ -20039,7 +20254,7 @@ const extractTeamsAttachmentsMetadata = (attachments) => {
|
|
20039
20254
|
attachmentType: attachmentType,
|
20040
20255
|
id: attachment.id,
|
20041
20256
|
name: (_a = attachment.name) !== null && _a !== void 0 ? _a : '',
|
20042
|
-
extension:
|
20257
|
+
extension: contentType !== null && contentType !== void 0 ? contentType : '',
|
20043
20258
|
url: extractAttachmentUrl(attachment),
|
20044
20259
|
payload: { teamsFileAttachment: 'true' }
|
20045
20260
|
});
|
@@ -20049,7 +20264,7 @@ const extractTeamsAttachmentsMetadata = (attachments) => {
|
|
20049
20264
|
};
|
20050
20265
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
20051
20266
|
const mapAttachmentType = (attachmentType) => {
|
20052
|
-
if (attachmentType === '
|
20267
|
+
if (attachmentType === 'image') {
|
20053
20268
|
return 'inlineImage';
|
20054
20269
|
}
|
20055
20270
|
else if (attachmentType === 'file') {
|
@@ -20059,7 +20274,7 @@ const mapAttachmentType = (attachmentType) => {
|
|
20059
20274
|
};
|
20060
20275
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
20061
20276
|
const extractAttachmentUrl = (attachment) => {
|
20062
|
-
return attachment.attachmentType === 'file' && attachment.previewUrl ? attachment.previewUrl : attachment.url;
|
20277
|
+
return attachment.attachmentType === 'file' && attachment.previewUrl ? attachment.previewUrl : attachment.url || '';
|
20063
20278
|
};
|
20064
20279
|
const processChatMessageContent = (message) => {
|
20065
20280
|
var _a, _b, _c, _d, _e;
|
@@ -20067,7 +20282,7 @@ const processChatMessageContent = (message) => {
|
|
20067
20282
|
if (sanitizedMessageContentType(message.type).includes('html') && ((_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments)) {
|
20068
20283
|
const attachments = (_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments;
|
20069
20284
|
const teamsImageHtmlContent = attachments
|
20070
|
-
.filter((attachment) => attachment.attachmentType === '
|
20285
|
+
.filter((attachment) => { var _a, _b; return attachment.attachmentType === 'image' && !((_b = (_a = message.content) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.includes(attachment.id)); })
|
20071
20286
|
.map((attachment) => generateImageAttachmentImgHtml(attachment))
|
20072
20287
|
.join('');
|
20073
20288
|
if (teamsImageHtmlContent) {
|
@@ -20078,7 +20293,20 @@ const processChatMessageContent = (message) => {
|
|
20078
20293
|
};
|
20079
20294
|
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
20080
20295
|
const generateImageAttachmentImgHtml = (attachment) => {
|
20081
|
-
|
20296
|
+
const contentType = extractAttachmentContentTypeFromName(attachment.name);
|
20297
|
+
return `\r\n<p><img alt="image" src="" itemscope="${contentType}" id="${attachment.id}"></p>`;
|
20298
|
+
};
|
20299
|
+
/* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
20300
|
+
const extractAttachmentContentTypeFromName = (name) => {
|
20301
|
+
if (name === undefined) {
|
20302
|
+
return '';
|
20303
|
+
}
|
20304
|
+
const indexOfLastDot = name.lastIndexOf('.');
|
20305
|
+
if (indexOfLastDot === undefined || indexOfLastDot < 0) {
|
20306
|
+
return '';
|
20307
|
+
}
|
20308
|
+
const contentType = name.substring(indexOfLastDot + 1);
|
20309
|
+
return contentType;
|
20082
20310
|
};
|
20083
20311
|
/* @conditional-compile-remove(file-sharing) @conditional-compile-remove(teams-inline-images-and-file-sharing) */
|
20084
20312
|
const extractAttachmentsMetadata = (message) => {
|
@@ -21676,7 +21904,7 @@ const CallCompositeIcon = (props) => (React.createElement(react.FontIcon, Object
|
|
21676
21904
|
*/
|
21677
21905
|
const CallWithChatCompositeIcon = (props) => (React.createElement(react.FontIcon, Object.assign({}, props)));
|
21678
21906
|
|
21679
|
-
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
21907
|
+
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}},surveyQuestion:"How was your call today?",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other,please specify",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},SurveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
21680
21908
|
|
21681
21909
|
// Copyright (c) Microsoft Corporation.
|
21682
21910
|
// Licensed under the MIT License.
|
@@ -24068,6 +24296,10 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
|
|
24068
24296
|
/* @conditional-compile-remove(close-captions) */
|
24069
24297
|
onSetCaptionLanguage: (language) => __awaiter$g(void 0, void 0, void 0, function* () {
|
24070
24298
|
yield adapter.setCaptionLanguage(language);
|
24299
|
+
}),
|
24300
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
24301
|
+
onSubmitSurvey: (survey) => __awaiter$g(void 0, void 0, void 0, function* () {
|
24302
|
+
return yield adapter.submitSurvey(survey);
|
24071
24303
|
})
|
24072
24304
|
}));
|
24073
24305
|
|
@@ -25009,12 +25241,23 @@ const onFetchCustomButtonPropsTrampoline = (options) => {
|
|
25009
25241
|
// Licensed under the MIT License.
|
25010
25242
|
// Enforce a background color on control bar to ensure it matches the composite background color.
|
25011
25243
|
const controlBarStyles = react.memoizeFunction((background) => ({ root: { background: background } }));
|
25244
|
+
const inferCallControlOptions = (mobileView, callControlOptions) => {
|
25245
|
+
if (callControlOptions === false) {
|
25246
|
+
return {};
|
25247
|
+
}
|
25248
|
+
const options = callControlOptions === true || callControlOptions === undefined ? {} : callControlOptions;
|
25249
|
+
if (mobileView) {
|
25250
|
+
// Set options to always not show screen share button for mobile
|
25251
|
+
options.screenShareButton = false;
|
25252
|
+
}
|
25253
|
+
return options;
|
25254
|
+
};
|
25012
25255
|
/**
|
25013
25256
|
* @private
|
25014
25257
|
*/
|
25015
25258
|
const CallControls = (props) => {
|
25016
25259
|
var _a, _b;
|
25017
|
-
const options = React.useMemo(() => (
|
25260
|
+
const options = React.useMemo(() => inferCallControlOptions(!!props.isMobile, props.options), [props.isMobile, props.options]);
|
25018
25261
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(rooms) */
|
25019
25262
|
const adapter = useAdapter();
|
25020
25263
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(raise-hand) */
|
@@ -25661,11 +25904,8 @@ const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) =>
|
|
25661
25904
|
if (mobileView) {
|
25662
25905
|
// Set to compressed mode when composite is optimized for mobile
|
25663
25906
|
options.displayType = 'compact';
|
25664
|
-
//
|
25665
|
-
|
25666
|
-
if (options.screenShareButton !== true) {
|
25667
|
-
options.screenShareButton = false;
|
25668
|
-
}
|
25907
|
+
// Set options to always not show screen share button for mobile
|
25908
|
+
options.screenShareButton = false;
|
25669
25909
|
}
|
25670
25910
|
return options;
|
25671
25911
|
};
|
@@ -29877,6 +30117,152 @@ const moreDetailsStyles = {
|
|
29877
30117
|
fontSize: '1rem'
|
29878
30118
|
};
|
29879
30119
|
|
30120
|
+
// Copyright (c) Microsoft Corporation.
|
30121
|
+
// Licensed under the MIT License.
|
30122
|
+
/** @private */
|
30123
|
+
const StarSurvey = (
|
30124
|
+
/* @conditional-compile-remove(end-of-call-survey) */ props) => {
|
30125
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30126
|
+
const { onStarRatingSelected } = props;
|
30127
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30128
|
+
const strings = useLocale().strings.call;
|
30129
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30130
|
+
const StarSurveyStrings = {
|
30131
|
+
starSurveyHelperText: strings.starSurveyHelperText,
|
30132
|
+
starSurveyOneStarText: strings.starSurveyOneStarText,
|
30133
|
+
starSurveyTwoStarText: strings.starSurveyTwoStarText,
|
30134
|
+
starSurveyThreeStarText: strings.starSurveyThreeStarText,
|
30135
|
+
starSurveyFourStarText: strings.starSurveyFourStarText,
|
30136
|
+
starSurveyFiveStarText: strings.starSurveyFiveStarText,
|
30137
|
+
starRatingAriaLabel: strings.starRatingAriaLabel
|
30138
|
+
};
|
30139
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30140
|
+
return React.createElement(_StarSurvey, { strings: StarSurveyStrings, onStarRatingSelected: onStarRatingSelected });
|
30141
|
+
};
|
30142
|
+
|
30143
|
+
// Copyright (c) Microsoft Corporation.
|
30144
|
+
// Licensed under the MIT License.
|
30145
|
+
/** @private */
|
30146
|
+
const TagsSurvey = (
|
30147
|
+
/* @conditional-compile-remove(end-of-call-survey) */ props) => {
|
30148
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30149
|
+
const strings = useLocale().strings.call;
|
30150
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30151
|
+
const tagsSurveyStrings = {
|
30152
|
+
tagsSurveyQuestion: strings.tagsSurveyQuestion,
|
30153
|
+
tagsSurveyHelperText: strings.tagsSurveyHelperText
|
30154
|
+
};
|
30155
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30156
|
+
return (React.createElement(_TagsSurvey, { callIssuesToTag: strings.surveyIssues, categoryHeadings: strings.SurveyIssuesHeadingStrings, issues: props.issues, onConfirm: props.onConfirm, strings: tagsSurveyStrings }));
|
30157
|
+
};
|
30158
|
+
|
30159
|
+
// Copyright (c) Microsoft Corporation.
|
30160
|
+
// Licensed under the MIT License.
|
30161
|
+
/**
|
30162
|
+
* @private
|
30163
|
+
*/
|
30164
|
+
const SurveyPaneContent = (
|
30165
|
+
/* @conditional-compile-remove(end-of-call-survey) */ props) => {
|
30166
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30167
|
+
const [showTagsSurvey, setShowTagsSurvey] = React.useState(false);
|
30168
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30169
|
+
const [ratings, setRatings] = React.useState(0);
|
30170
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30171
|
+
const [issuesSelected, setIssuesSelected] = React.useState();
|
30172
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30173
|
+
const [showSubmitFeedbackButton, setShowSubmitFeedbackButton] = React.useState(false);
|
30174
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30175
|
+
const strings = useLocale().strings.call;
|
30176
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30177
|
+
const onStarRatingSelected = (ratings) => {
|
30178
|
+
if (ratings <= 3) {
|
30179
|
+
setShowTagsSurvey(true);
|
30180
|
+
}
|
30181
|
+
else {
|
30182
|
+
setShowSubmitFeedbackButton(true);
|
30183
|
+
}
|
30184
|
+
setRatings(ratings);
|
30185
|
+
};
|
30186
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30187
|
+
const onIssuesSelected = (selectedTags) => {
|
30188
|
+
setIssuesSelected(selectedTags);
|
30189
|
+
setShowSubmitFeedbackButton(true);
|
30190
|
+
};
|
30191
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30192
|
+
const issues = [
|
30193
|
+
'NoLocalAudio',
|
30194
|
+
'NoRemoteAudio',
|
30195
|
+
'Echo',
|
30196
|
+
'AudioNoise',
|
30197
|
+
'LowVolume',
|
30198
|
+
'AudioStoppedUnexpectedly',
|
30199
|
+
'DistortedSpeech',
|
30200
|
+
'AudioInterruption',
|
30201
|
+
'OtherIssues',
|
30202
|
+
'NoContentLocal',
|
30203
|
+
'NoContentRemote',
|
30204
|
+
'CannotPresent',
|
30205
|
+
'LowQuality',
|
30206
|
+
'Freezes',
|
30207
|
+
'StoppedUnexpectedly',
|
30208
|
+
'LargeDelay',
|
30209
|
+
'NoVideoReceived',
|
30210
|
+
'NoVideoSent',
|
30211
|
+
'LowQuality',
|
30212
|
+
'Freezes',
|
30213
|
+
'StoppedUnexpectedly',
|
30214
|
+
'DarkVideoReceived',
|
30215
|
+
'AudioVideoOutOfSync',
|
30216
|
+
'CallCannotJoin',
|
30217
|
+
'CallCannotInvite',
|
30218
|
+
'HadToRejoin',
|
30219
|
+
'CallEndedUnexpectedly'
|
30220
|
+
];
|
30221
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30222
|
+
return (React.createElement(react.Stack, { verticalAlign: "space-between" },
|
30223
|
+
React.createElement(react.Stack, null,
|
30224
|
+
React.createElement(StarSurvey, { onStarRatingSelected: onStarRatingSelected }),
|
30225
|
+
showTagsSurvey && React.createElement(TagsSurvey, { issues: issues, onConfirm: onIssuesSelected })),
|
30226
|
+
showSubmitFeedbackButton && (React.createElement(react.Stack, { style: { borderTop: 'solid', borderTopColor: 'lightgrey' }, horizontalAlign: "end" },
|
30227
|
+
React.createElement(react.PrimaryButton, { style: { marginTop: '2rem' }, onClick: () => {
|
30228
|
+
const surveyResults = { overallRating: { score: ratings } };
|
30229
|
+
if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.overallRating) {
|
30230
|
+
surveyResults.overallRating = { score: ratings, issues: issuesSelected.overallRating.issues };
|
30231
|
+
}
|
30232
|
+
if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.audioRating) {
|
30233
|
+
surveyResults.audioRating = { score: ratings, issues: issuesSelected.audioRating.issues };
|
30234
|
+
}
|
30235
|
+
if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.screenshareRating) {
|
30236
|
+
surveyResults.screenshareRating = { score: ratings, issues: issuesSelected.screenshareRating.issues };
|
30237
|
+
}
|
30238
|
+
if (issuesSelected === null || issuesSelected === void 0 ? void 0 : issuesSelected.videoRating) {
|
30239
|
+
surveyResults.videoRating = { score: ratings, issues: issuesSelected.videoRating.issues };
|
30240
|
+
}
|
30241
|
+
if (props.onSubmitSurvey) {
|
30242
|
+
props
|
30243
|
+
.onSubmitSurvey(surveyResults)
|
30244
|
+
.then(() => console.log('survey submitted successfully', surveyResults))
|
30245
|
+
.catch((e) => console.log('error when submitting survey: ' + e));
|
30246
|
+
}
|
30247
|
+
if (props.onDismissSidePane) {
|
30248
|
+
props.onDismissSidePane();
|
30249
|
+
}
|
30250
|
+
} }, strings.surveyConfirmButtonLabel)))));
|
30251
|
+
};
|
30252
|
+
|
30253
|
+
// Copyright (c) Microsoft Corporation.
|
30254
|
+
// Licensed under the MIT License.
|
30255
|
+
/** @private */
|
30256
|
+
const SurveyPane = (props) => {
|
30257
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30258
|
+
const strings = useLocale().strings.call;
|
30259
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30260
|
+
const [isOpen, setIsOpen] = React.useState(true);
|
30261
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30262
|
+
return (React.createElement(react.Panel, { headerText: strings.surveyQuestion, isOpen: isOpen, onDismiss: () => setIsOpen(false), closeButtonAriaLabel: strings.surveyCancelButtonAriaLabel, type: react.PanelType.custom, customWidth: "32rem" },
|
30263
|
+
React.createElement(SurveyPaneContent, { onSubmitSurvey: props.onSubmitSurvey, onDismissSidePane: () => setIsOpen(false) })));
|
30264
|
+
};
|
30265
|
+
|
29880
30266
|
// Copyright (c) Microsoft Corporation.
|
29881
30267
|
// Licensed under the MIT License.
|
29882
30268
|
/**
|
@@ -29885,14 +30271,18 @@ const moreDetailsStyles = {
|
|
29885
30271
|
* @private
|
29886
30272
|
*/
|
29887
30273
|
function NoticePage(props) {
|
30274
|
+
var _a;
|
29888
30275
|
const adapter = useAdapter();
|
30276
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
30277
|
+
const handlers = useHandlers();
|
29889
30278
|
return (React.createElement(react.Stack, { className: react.mergeStyles(props.pageStyle), verticalFill: true, verticalAlign: "center", horizontalAlign: "center", "data-ui-id": props.dataUiId, "aria-atomic": true },
|
29890
30279
|
React.createElement(react.Stack, { className: react.mergeStyles(containerStyle), tokens: containerItemGap },
|
29891
30280
|
props.iconName && React.createElement(CallCompositeIcon, { iconName: props.iconName }),
|
29892
30281
|
React.createElement(react.Text, { className: react.mergeStyles(titleStyles), "aria-live": "assertive" }, props.title),
|
29893
30282
|
React.createElement(react.Text, { className: react.mergeStyles(moreDetailsStyles), "aria-live": "assertive" }, props.moreDetails),
|
29894
30283
|
!props.disableStartCallButton && (React.createElement(react.Stack, { styles: rejoinCallButtonContainerStyles },
|
29895
|
-
React.createElement(StartCallButton, { onClick: () => adapter.joinCall(), disabled: false, rejoinCall: true, autoFocus: true }))))
|
30284
|
+
React.createElement(StartCallButton, { onClick: () => adapter.joinCall(), disabled: false, rejoinCall: true, autoFocus: true })))),
|
30285
|
+
/* @conditional-compile-remove(end-of-call-survey) */ !((_a = props.surveyOptions) === null || _a === void 0 ? void 0 : _a.hideSurvey) && (React.createElement(SurveyPane, Object.assign({}, handlers)))));
|
29896
30286
|
}
|
29897
30287
|
|
29898
30288
|
// Copyright (c) Microsoft Corporation.
|
@@ -30569,7 +30959,7 @@ const isShowing = (overrideSidePane) => {
|
|
30569
30959
|
return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
|
30570
30960
|
};
|
30571
30961
|
const MainScreen = (props) => {
|
30572
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
30962
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
30573
30963
|
const adapter = useAdapter();
|
30574
30964
|
const { camerasCount, microphonesCount } = useSelector$1(deviceCountSelector);
|
30575
30965
|
const hasCameras = camerasCount > 0;
|
@@ -30657,20 +31047,30 @@ const MainScreen = (props) => {
|
|
30657
31047
|
backgroundImage: (_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.branding) === null || _k === void 0 ? void 0 : _k.backgroundImage }));
|
30658
31048
|
break;
|
30659
31049
|
case 'accessDeniedTeamsMeeting':
|
30660
|
-
pageElement = (React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page'
|
31050
|
+
pageElement = (React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page',
|
31051
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
31052
|
+
surveyOptions: { hideSurvey: true } }));
|
30661
31053
|
break;
|
30662
31054
|
case 'removedFromCall':
|
30663
|
-
pageElement = (React.createElement(NoticePage, { iconName: "NoticePageRemovedFromCall", title: locale.strings.call.removedFromCallTitle, moreDetails: locale.strings.call.removedFromCallMoreDetails, dataUiId: 'removed-from-call-page'
|
31055
|
+
pageElement = (React.createElement(NoticePage, { iconName: "NoticePageRemovedFromCall", title: locale.strings.call.removedFromCallTitle, moreDetails: locale.strings.call.removedFromCallMoreDetails, dataUiId: 'removed-from-call-page',
|
31056
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
31057
|
+
surveyOptions: { hideSurvey: true } }));
|
30664
31058
|
break;
|
30665
31059
|
case 'joinCallFailedDueToNoNetwork':
|
30666
|
-
pageElement = (React.createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page'
|
31060
|
+
pageElement = (React.createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page',
|
31061
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
31062
|
+
surveyOptions: { hideSurvey: true } }));
|
30667
31063
|
break;
|
30668
31064
|
case 'leaving':
|
30669
|
-
pageElement = (React.createElement(NoticePage, { title: (_l = locale.strings.call.leavingCallTitle) !== null && _l !== void 0 ? _l : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true
|
31065
|
+
pageElement = (React.createElement(NoticePage, { title: (_l = locale.strings.call.leavingCallTitle) !== null && _l !== void 0 ? _l : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true,
|
31066
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
31067
|
+
surveyOptions: { hideSurvey: true } }));
|
30670
31068
|
break;
|
30671
31069
|
case 'leftCall': {
|
30672
31070
|
const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
|
30673
|
-
pageElement = (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton
|
31071
|
+
pageElement = (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton,
|
31072
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
31073
|
+
surveyOptions: (_m = props.options) === null || _m === void 0 ? void 0 : _m.surveyOptions }));
|
30674
31074
|
break;
|
30675
31075
|
}
|
30676
31076
|
case 'lobby':
|
@@ -30710,7 +31110,7 @@ const MainScreen = (props) => {
|
|
30710
31110
|
case 'unsupportedEnvironment':
|
30711
31111
|
pageElement = (React.createElement(React.Fragment, null,
|
30712
31112
|
/* @conditional-compile-remove(unsupported-browser) */
|
30713
|
-
React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (
|
31113
|
+
React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_o = props.options) === null || _o === void 0 ? void 0 : _o.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
|
30714
31114
|
break;
|
30715
31115
|
}
|
30716
31116
|
if (!pageElement) {
|
@@ -31364,6 +31764,8 @@ class AzureCommunicationCallAdapter {
|
|
31364
31764
|
this.stopVideoBackgroundEffects.bind(this);
|
31365
31765
|
/* @conditional-compile-remove(video-background-effects) */
|
31366
31766
|
this.updateBackgroundPickerImages.bind(this);
|
31767
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
31768
|
+
this.submitSurvey.bind(this);
|
31367
31769
|
}
|
31368
31770
|
dispose() {
|
31369
31771
|
this.resetDiagnosticsForwarder();
|
@@ -31608,9 +32010,9 @@ class AzureCommunicationCallAdapter {
|
|
31608
32010
|
unmute() {
|
31609
32011
|
return __awaiter$5(this, void 0, void 0, function* () {
|
31610
32012
|
return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$5(this, void 0, void 0, function* () {
|
31611
|
-
var _a, _b;
|
32013
|
+
var _a, _b, _c;
|
31612
32014
|
this.context.setIsLocalMicrophoneEnabled(true);
|
31613
|
-
if (_isInCall((_a = this.call) === null || _a === void 0 ? void 0 : _a.state)
|
32015
|
+
if ((_isInCall((_a = this.call) === null || _a === void 0 ? void 0 : _a.state) || _isInLobbyOrConnecting((_b = this.call) === null || _b === void 0 ? void 0 : _b.state)) && ((_c = this.call) === null || _c === void 0 ? void 0 : _c.isMuted)) {
|
31614
32016
|
yield this.handlers.onToggleMicrophone();
|
31615
32017
|
}
|
31616
32018
|
}));
|
@@ -31802,6 +32204,12 @@ class AzureCommunicationCallAdapter {
|
|
31802
32204
|
this.handlers.onSetSpokenLanguage(language);
|
31803
32205
|
});
|
31804
32206
|
}
|
32207
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
32208
|
+
submitSurvey(survey) {
|
32209
|
+
return __awaiter$5(this, void 0, void 0, function* () {
|
32210
|
+
return this.handlers.onSubmitSurvey(survey);
|
32211
|
+
});
|
32212
|
+
}
|
31805
32213
|
getState() {
|
31806
32214
|
return this.context.getState();
|
31807
32215
|
}
|
@@ -32515,6 +32923,12 @@ class CallWithChatBackedCallAdapter {
|
|
32515
32923
|
updateSelectedVideoBackgroundEffect(selectedVideoBackground) {
|
32516
32924
|
return this.callWithChatAdapter.updateSelectedVideoBackgroundEffect(selectedVideoBackground);
|
32517
32925
|
}
|
32926
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
32927
|
+
submitSurvey(survey) {
|
32928
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
32929
|
+
return this.callWithChatAdapter.submitSurvey(survey);
|
32930
|
+
});
|
32931
|
+
}
|
32518
32932
|
}
|
32519
32933
|
function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
|
32520
32934
|
return {
|
@@ -32804,6 +33218,8 @@ const validNewChatMessage = (message) => !!message.senderDisplayName && (message
|
|
32804
33218
|
// Licensed under the MIT License.
|
32805
33219
|
const CallWithChatScreen = (props) => {
|
32806
33220
|
const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;
|
33221
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
33222
|
+
const { surveyOptions } = props;
|
32807
33223
|
const mobileView = formFactor === 'mobile';
|
32808
33224
|
if (!callWithChatAdapter) {
|
32809
33225
|
throw new Error('CallWithChatAdapter is undefined');
|
@@ -32920,6 +33336,8 @@ const CallWithChatScreen = (props) => {
|
|
32920
33336
|
galleryOptions: props.galleryOptions,
|
32921
33337
|
/* @conditional-compile-remove(click-to-call) */
|
32922
33338
|
localVideoTile: props.localVideoTile,
|
33339
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
33340
|
+
surveyOptions: surveyOptions,
|
32923
33341
|
/* @conditional-compile-remove(custom-branding) */
|
32924
33342
|
branding: {
|
32925
33343
|
logo: props.logo,
|
@@ -32945,6 +33363,8 @@ const CallWithChatScreen = (props) => {
|
|
32945
33363
|
props.localVideoTile,
|
32946
33364
|
/* @conditional-compile-remove(pinned-participants) */
|
32947
33365
|
props.remoteVideoTileMenuOptions,
|
33366
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
33367
|
+
surveyOptions,
|
32948
33368
|
/* @conditional-compile-remove(custom-branding) */
|
32949
33369
|
props.logo,
|
32950
33370
|
/* @conditional-compile-remove(custom-branding) */
|
@@ -33599,6 +34019,12 @@ class AzureCommunicationCallWithChatAdapter {
|
|
33599
34019
|
updateSelectedVideoBackgroundEffect(selectedVideoBackground) {
|
33600
34020
|
return this.callAdapter.updateSelectedVideoBackgroundEffect(selectedVideoBackground);
|
33601
34021
|
}
|
34022
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
34023
|
+
submitSurvey(survey) {
|
34024
|
+
return __awaiter$2(this, void 0, void 0, function* () {
|
34025
|
+
return this.callAdapter.submitSurvey(survey);
|
34026
|
+
});
|
34027
|
+
}
|
33602
34028
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
33603
34029
|
on(event, listener) {
|
33604
34030
|
switch (event) {
|