@azure/communication-react 1.7.1-alpha-202308270013 → 1.7.1-alpha-202308300012
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 +95 -9
- package/dist/dist-cjs/communication-react/index.js +342 -88
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +1 -1
- package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +3 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +13 -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 -2
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +17 -2
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +2 -2
- package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +3 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +17 -0
- package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ImageGallery.js +10 -12
- package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +13 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +9 -7
- package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +31 -37
- package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -5
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +4 -7
- package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +22 -3
- package/dist/dist-esm/react-components/src/theming/themes.js +16 -0
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +5 -0
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +23 -5
- 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 +5 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +17 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.d.ts +88 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +69 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +3 -1
- 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 +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +2 -0
- 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.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +9 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +14 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +1 -6
- package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.d.ts +9 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.d.ts +33 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +99 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +15 -1
- package/package.json +8 -8
@@ -178,7 +178,7 @@ const _isValidIdentifier = (identifier) => {
|
|
178
178
|
// Copyright (c) Microsoft Corporation.
|
179
179
|
// Licensed under the MIT license.
|
180
180
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
181
|
-
var telemetryVersion = '1.7.1-alpha-
|
181
|
+
var telemetryVersion = '1.7.1-alpha-202308300012';
|
182
182
|
|
183
183
|
// Copyright (c) Microsoft Corporation.
|
184
184
|
/**
|
@@ -335,7 +335,7 @@ const getDeviceManager$1 = (state) => state.deviceManager;
|
|
335
335
|
/**
|
336
336
|
* @private
|
337
337
|
*/
|
338
|
-
const getRole = (state, props) => {
|
338
|
+
const getRole$1 = (state, props) => {
|
339
339
|
var _a;
|
340
340
|
/* @conditional-compile-remove(rooms) */
|
341
341
|
return (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.role;
|
@@ -344,7 +344,7 @@ const getRole = (state, props) => {
|
|
344
344
|
/**
|
345
345
|
* @private
|
346
346
|
*/
|
347
|
-
const getCapabilites = (state, props) => { var _a, _b; return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.
|
347
|
+
const getCapabilites = (state, props) => { var _a, _b; return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities; };
|
348
348
|
/**
|
349
349
|
* @private
|
350
350
|
*/
|
@@ -567,7 +567,7 @@ const microphoneButtonSelector = reselect__namespace.createSelector([
|
|
567
567
|
getIsMuted,
|
568
568
|
getDeviceManager$1,
|
569
569
|
/* @conditional-compile-remove(capabilities) */ getCapabilites,
|
570
|
-
/* @conditional-compile-remove(capabilities) */ getRole
|
570
|
+
/* @conditional-compile-remove(capabilities) */ getRole$1
|
571
571
|
], (callExists, isMuted, deviceManager,
|
572
572
|
/* @conditional-compile-remove(capabilities) */ capabilities,
|
573
573
|
/* @conditional-compile-remove(capabilities) */ role) => {
|
@@ -593,7 +593,7 @@ const cameraButtonSelector = reselect__namespace.createSelector([
|
|
593
593
|
getLocalVideoStreams$1,
|
594
594
|
getDeviceManager$1,
|
595
595
|
/* @conditional-compile-remove(capabilities) */ getCapabilites,
|
596
|
-
/* @conditional-compile-remove(capabilities) */ getRole
|
596
|
+
/* @conditional-compile-remove(capabilities) */ getRole$1
|
597
597
|
], (localVideoStreams, deviceManager,
|
598
598
|
/* @conditional-compile-remove(capabilities) */ capabilities,
|
599
599
|
/* @conditional-compile-remove(capabilities) */ role) => {
|
@@ -635,7 +635,7 @@ const screenShareButtonSelector = reselect__namespace.createSelector([
|
|
635
635
|
getIsScreenSharingOn,
|
636
636
|
/* @conditional-compile-remove(PSTN-calls) */ getCallState,
|
637
637
|
/* @conditional-compile-remove(capabilities) */ getCapabilites,
|
638
|
-
/* @conditional-compile-remove(capabilities) */ getRole
|
638
|
+
/* @conditional-compile-remove(capabilities) */ getRole$1
|
639
639
|
], (isScreenSharingOn,
|
640
640
|
/* @conditional-compile-remove(PSTN-calls) */ callState,
|
641
641
|
/* @conditional-compile-remove(capabilities) */ capabilities,
|
@@ -1578,7 +1578,9 @@ function convertSdkRemoteStreamToDeclarativeRemoteStream(stream) {
|
|
1578
1578
|
isAvailable: stream.isAvailable,
|
1579
1579
|
/* @conditional-compile-remove(video-stream-is-receiving-flag) */
|
1580
1580
|
isReceiving: stream.isReceiving,
|
1581
|
-
view: undefined
|
1581
|
+
view: undefined,
|
1582
|
+
/* @conditional-compile-remove(pinned-participants) */
|
1583
|
+
streamSize: stream.size
|
1582
1584
|
};
|
1583
1585
|
}
|
1584
1586
|
/**
|
@@ -2026,11 +2028,11 @@ class CallContext$2 {
|
|
2026
2028
|
});
|
2027
2029
|
}
|
2028
2030
|
/* @conditional-compile-remove(capabilities) */
|
2029
|
-
setCapabilities(callId, capabilities) {
|
2031
|
+
setCapabilities(callId, capabilities, capabilitiesChangeInfo) {
|
2030
2032
|
this.modifyState((draft) => {
|
2031
2033
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
2032
2034
|
if (call) {
|
2033
|
-
call.
|
2035
|
+
call.capabilitiesFeature = { capabilities, latestCapabilitiesChangeInfo: capabilitiesChangeInfo };
|
2034
2036
|
}
|
2035
2037
|
});
|
2036
2038
|
}
|
@@ -2168,6 +2170,21 @@ class CallContext$2 {
|
|
2168
2170
|
}
|
2169
2171
|
});
|
2170
2172
|
}
|
2173
|
+
/* @conditional-compile-remove(pinned-participants) */
|
2174
|
+
setRemoteVideoStreamSize(callId, participantKey, streamId, size) {
|
2175
|
+
this.modifyState((draft) => {
|
2176
|
+
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
2177
|
+
if (call) {
|
2178
|
+
const participant = call.remoteParticipants[participantKey];
|
2179
|
+
if (participant) {
|
2180
|
+
const stream = participant.videoStreams[streamId];
|
2181
|
+
if (stream) {
|
2182
|
+
stream.streamSize = size;
|
2183
|
+
}
|
2184
|
+
}
|
2185
|
+
}
|
2186
|
+
});
|
2187
|
+
}
|
2171
2188
|
setRemoteVideoStreams(callId, participantKey, addRemoteVideoStream, removeRemoteVideoStream) {
|
2172
2189
|
this.modifyState((draft) => {
|
2173
2190
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
@@ -2617,12 +2634,16 @@ class RemoteVideoStreamSubscriber {
|
|
2617
2634
|
this._remoteVideoStream.on('isAvailableChanged', this.isAvailableChanged);
|
2618
2635
|
/* @conditional-compile-remove(video-stream-is-receiving-flag) */
|
2619
2636
|
this._remoteVideoStream.on('isReceivingChanged', this.isReceivingChanged);
|
2637
|
+
/* @conditional-compile-remove(pinned-participants) */
|
2638
|
+
this._remoteVideoStream.on('sizeChanged', this.isSizeChanged);
|
2620
2639
|
this.checkAndUpdateScreenShareState();
|
2621
2640
|
};
|
2622
2641
|
this.unsubscribe = () => {
|
2623
2642
|
this._remoteVideoStream.off('isAvailableChanged', this.isAvailableChanged);
|
2624
2643
|
/* @conditional-compile-remove(video-stream-is-receiving-flag) */
|
2625
2644
|
this._remoteVideoStream.off('isReceivingChanged', this.isReceivingChanged);
|
2645
|
+
/* @conditional-compile-remove(pinned-participants) */
|
2646
|
+
this._remoteVideoStream.off('sizeChanged', this.isSizeChanged);
|
2626
2647
|
};
|
2627
2648
|
this.includesActiveScreenShareStream = (streams) => {
|
2628
2649
|
for (const stream of Object.values(streams)) {
|
@@ -2675,6 +2696,19 @@ class RemoteVideoStreamSubscriber {
|
|
2675
2696
|
this.isReceivingChanged = () => {
|
2676
2697
|
this._context.setRemoteVideoStreamIsReceiving(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isReceiving);
|
2677
2698
|
};
|
2699
|
+
/* @conditional-compile-remove(pinned-participants) */
|
2700
|
+
this.isSizeChanged = () => {
|
2701
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
2702
|
+
if (((_a = this._remoteVideoStream) === null || _a === void 0 ? void 0 : _a.size.width) === 0 && ((_b = this._remoteVideoStream) === null || _b === void 0 ? void 0 : _b.size.height) === 0) {
|
2703
|
+
return;
|
2704
|
+
}
|
2705
|
+
const streamSize = (_e = (_d = (_c = this._context.getState().calls[this._callIdRef.callId]) === null || _c === void 0 ? void 0 : _c.remoteParticipants[this._participantKey]) === null || _d === void 0 ? void 0 : _d.videoStreams[this._remoteVideoStream.id]) === null || _e === void 0 ? void 0 : _e.streamSize;
|
2706
|
+
const existingAspectRatio = streamSize ? streamSize.width / streamSize.height : undefined;
|
2707
|
+
const newAspectRatio = ((_f = this._remoteVideoStream) === null || _f === void 0 ? void 0 : _f.size.width) / ((_g = this._remoteVideoStream) === null || _g === void 0 ? void 0 : _g.size.height);
|
2708
|
+
if (!streamSize || existingAspectRatio !== newAspectRatio) {
|
2709
|
+
this._context.setRemoteVideoStreamSize(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.size);
|
2710
|
+
}
|
2711
|
+
};
|
2678
2712
|
this._callIdRef = callIdRef;
|
2679
2713
|
this._participantKey = participantKey;
|
2680
2714
|
this._remoteVideoStream = remoteVideoStream;
|
@@ -3525,8 +3559,8 @@ class CapabilitiesSubscriber {
|
|
3525
3559
|
this.unsubscribe = () => {
|
3526
3560
|
this._capabilitiesFeature.off('capabilitiesChanged', this.capabilitiesChanged);
|
3527
3561
|
};
|
3528
|
-
this.capabilitiesChanged = () => {
|
3529
|
-
this._context.setCapabilities(this._callIdRef.callId, this._capabilitiesFeature.capabilities);
|
3562
|
+
this.capabilitiesChanged = (data) => {
|
3563
|
+
this._context.setCapabilities(this._callIdRef.callId, this._capabilitiesFeature.capabilities, data);
|
3530
3564
|
};
|
3531
3565
|
this._callIdRef = callIdRef;
|
3532
3566
|
this._context = context;
|
@@ -5926,6 +5960,14 @@ const lightTheme = {
|
|
5926
5960
|
/* @conditional-compile-remove(raise-hand) */
|
5927
5961
|
raiseHandGold: '#eaa300'
|
5928
5962
|
},
|
5963
|
+
/* @conditional-compile-remove(image-gallery) */
|
5964
|
+
chatPalette: {
|
5965
|
+
modalOverlayBlack: '#000000',
|
5966
|
+
modalTitleWhite: '#ffffff',
|
5967
|
+
modalButtonBackground: '#1b1a19',
|
5968
|
+
modalButtonBackgroundHover: '#252423',
|
5969
|
+
modalButtonBackgroundActive: '#292827'
|
5970
|
+
},
|
5929
5971
|
semanticColors: {
|
5930
5972
|
errorText: '#a80000'
|
5931
5973
|
}
|
@@ -5968,6 +6010,14 @@ const darkTheme = {
|
|
5968
6010
|
/* @conditional-compile-remove(raise-hand) */
|
5969
6011
|
raiseHandGold: '#eaa300'
|
5970
6012
|
},
|
6013
|
+
/* @conditional-compile-remove(image-gallery) */
|
6014
|
+
chatPalette: {
|
6015
|
+
modalOverlayBlack: '#000000',
|
6016
|
+
modalTitleWhite: '#ffffff',
|
6017
|
+
modalButtonBackground: '#1b1a19',
|
6018
|
+
modalButtonBackgroundHover: '#252423',
|
6019
|
+
modalButtonBackgroundActive: '#292827'
|
6020
|
+
},
|
5971
6021
|
semanticColors: {
|
5972
6022
|
errorText: '#f1707b'
|
5973
6023
|
}
|
@@ -7260,11 +7310,6 @@ const unEscapeHtmlCharacters = (text) => {
|
|
7260
7310
|
};
|
7261
7311
|
|
7262
7312
|
// Copyright (c) Microsoft Corporation.
|
7263
|
-
/**
|
7264
|
-
* @private
|
7265
|
-
* z-index to ensure that chat container has lower z-index than mention popover
|
7266
|
-
*/
|
7267
|
-
const CHAT_CONTAINER_ZINDEX$1 = 1;
|
7268
7313
|
/**
|
7269
7314
|
* @private
|
7270
7315
|
*/
|
@@ -7272,8 +7317,10 @@ const mentionPopoverContainerStyle = (theme) => react.mergeStyles({
|
|
7272
7317
|
boxShadow: theme.effects.elevation16,
|
7273
7318
|
background: theme.semanticColors.bodyBackground,
|
7274
7319
|
overflow: 'visible',
|
7275
|
-
// zIndex to set the mentionPopover
|
7276
|
-
|
7320
|
+
// zIndex to set the mentionPopover
|
7321
|
+
// Temporary set to a hardcoded high number to make sure it is on top of the other components
|
7322
|
+
// Will be replaced by a proper z-index solution after the Fluent 9 migration
|
7323
|
+
zIndex: 10000
|
7277
7324
|
});
|
7278
7325
|
/**
|
7279
7326
|
* @private
|
@@ -8489,15 +8536,14 @@ const cancelIcon = { iconName: 'Cancel' };
|
|
8489
8536
|
const downloadIcon = {
|
8490
8537
|
iconName: 'Download'
|
8491
8538
|
};
|
8539
|
+
/* @conditional-compile-remove(image-gallery) */
|
8492
8540
|
/**
|
8493
8541
|
* @private
|
8494
8542
|
*/
|
8495
|
-
const overlayStyles = (theme
|
8543
|
+
const overlayStyles = (theme) => {
|
8496
8544
|
return {
|
8497
8545
|
root: {
|
8498
|
-
|
8499
|
-
// In dark theme, theme.palette.white is actually black.
|
8500
|
-
background: isDarkThemed ? theme.palette.white : theme.palette.black,
|
8546
|
+
background: theme.chatPalette.modalOverlayBlack,
|
8501
8547
|
opacity: '0.85'
|
8502
8548
|
}
|
8503
8549
|
};
|
@@ -8547,14 +8593,15 @@ const titleBarContainerStyle = {
|
|
8547
8593
|
alignContent: 'center',
|
8548
8594
|
alignItems: 'center'
|
8549
8595
|
};
|
8596
|
+
/* @conditional-compile-remove(image-gallery) */
|
8550
8597
|
/**
|
8551
8598
|
* @private
|
8552
8599
|
*/
|
8553
|
-
const titleStyle$2 = (theme
|
8600
|
+
const titleStyle$2 = (theme) => {
|
8554
8601
|
return {
|
8555
8602
|
paddingLeft: '0.5rem',
|
8556
8603
|
marginLeft: '0.5rem',
|
8557
|
-
color:
|
8604
|
+
color: theme.chatPalette.modalTitleWhite,
|
8558
8605
|
fontFamily: 'inherit',
|
8559
8606
|
fontSize: '0.875rem',
|
8560
8607
|
fontStyle: 'normal',
|
@@ -8612,38 +8659,37 @@ const normalImageStyle = {
|
|
8612
8659
|
maxHeight: '100%',
|
8613
8660
|
maxWidth: '100%'
|
8614
8661
|
};
|
8662
|
+
/* @conditional-compile-remove(image-gallery) */
|
8615
8663
|
/**
|
8616
8664
|
* @private
|
8617
8665
|
*/
|
8618
|
-
const brokenImageStyle = (theme
|
8666
|
+
const brokenImageStyle = (theme) => {
|
8619
8667
|
return {
|
8620
|
-
|
8621
|
-
// In dark theme, theme.palette.black is actually white.
|
8622
|
-
color: isDarkThemed ? theme.palette.black : theme.palette.white
|
8668
|
+
color: theme.chatPalette.modalTitleWhite
|
8623
8669
|
};
|
8624
8670
|
};
|
8671
|
+
/* @conditional-compile-remove(image-gallery) */
|
8625
8672
|
/**
|
8626
8673
|
* @private
|
8627
8674
|
*/
|
8628
|
-
const closeButtonStyles = (theme
|
8675
|
+
const closeButtonStyles = (theme) => {
|
8629
8676
|
return {
|
8630
|
-
|
8631
|
-
// In dark theme, theme.palette.black is actually white.
|
8632
|
-
color: isDarkThemed ? theme.palette.black : theme.palette.white,
|
8677
|
+
color: theme.chatPalette.modalTitleWhite,
|
8633
8678
|
':hover': {
|
8634
|
-
color:
|
8635
|
-
backgroundColor:
|
8679
|
+
color: theme.chatPalette.modalTitleWhite,
|
8680
|
+
backgroundColor: theme.chatPalette.modalButtonBackgroundHover
|
8636
8681
|
},
|
8637
8682
|
':active': {
|
8638
|
-
color:
|
8639
|
-
backgroundColor:
|
8683
|
+
color: theme.chatPalette.modalTitleWhite,
|
8684
|
+
backgroundColor: theme.chatPalette.modalButtonBackgroundActive
|
8640
8685
|
}
|
8641
8686
|
};
|
8642
8687
|
};
|
8688
|
+
/* @conditional-compile-remove(image-gallery) */
|
8643
8689
|
/**
|
8644
8690
|
* @private
|
8645
8691
|
*/
|
8646
|
-
const downloadButtonStyle = (theme
|
8692
|
+
const downloadButtonStyle = (theme) => {
|
8647
8693
|
return {
|
8648
8694
|
margin: '0 0.5rem',
|
8649
8695
|
height: '32px',
|
@@ -8652,43 +8698,38 @@ const downloadButtonStyle = (theme, isDarkThemed) => {
|
|
8652
8698
|
fontWeight: 600,
|
8653
8699
|
padding: '0.38rem 0.75rem',
|
8654
8700
|
borderRadius: '4px',
|
8655
|
-
backgroundColor:
|
8656
|
-
color:
|
8701
|
+
backgroundColor: theme.chatPalette.modalButtonBackground,
|
8702
|
+
color: theme.chatPalette.modalTitleWhite,
|
8657
8703
|
whiteSpace: 'nowrap',
|
8658
8704
|
':hover': {
|
8659
|
-
|
8660
|
-
|
8661
|
-
color: isDarkThemed ? theme.palette.black : theme.palette.white,
|
8662
|
-
backgroundColor: isDarkThemed ? undefined : theme.palette.neutralPrimaryAlt
|
8705
|
+
color: theme.chatPalette.modalTitleWhite,
|
8706
|
+
backgroundColor: theme.chatPalette.modalButtonBackgroundHover
|
8663
8707
|
},
|
8664
8708
|
':active': {
|
8665
|
-
|
8666
|
-
|
8667
|
-
color: isDarkThemed ? theme.palette.black : theme.palette.white,
|
8668
|
-
backgroundColor: isDarkThemed ? undefined : theme.palette.neutralDark
|
8709
|
+
color: theme.chatPalette.modalTitleWhite,
|
8710
|
+
backgroundColor: theme.chatPalette.modalButtonBackgroundActive
|
8669
8711
|
},
|
8670
8712
|
'@media (max-width: 25rem)': {
|
8671
8713
|
display: 'none'
|
8672
8714
|
}
|
8673
8715
|
};
|
8674
8716
|
};
|
8717
|
+
/* @conditional-compile-remove(image-gallery) */
|
8675
8718
|
/**
|
8676
8719
|
* @private
|
8677
8720
|
*/
|
8678
|
-
const smallDownloadButtonContainerStyle = (theme
|
8721
|
+
const smallDownloadButtonContainerStyle = (theme) => {
|
8679
8722
|
return {
|
8680
8723
|
marginRight: '0.5rem',
|
8681
|
-
|
8682
|
-
// In dark theme, theme.palette.black is actually white.
|
8683
|
-
color: isDarkThemed ? theme.palette.black : theme.palette.white,
|
8724
|
+
color: theme.chatPalette.modalTitleWhite,
|
8684
8725
|
whiteSpace: 'nowrap',
|
8685
8726
|
':hover': {
|
8686
|
-
color:
|
8687
|
-
backgroundColor:
|
8727
|
+
color: theme.chatPalette.modalTitleWhite,
|
8728
|
+
backgroundColor: theme.chatPalette.modalButtonBackgroundHover
|
8688
8729
|
},
|
8689
8730
|
':active': {
|
8690
|
-
color:
|
8691
|
-
backgroundColor:
|
8731
|
+
color: theme.chatPalette.modalTitleWhite,
|
8732
|
+
backgroundColor: theme.chatPalette.modalButtonBackgroundActive
|
8692
8733
|
},
|
8693
8734
|
'@media (min-width: 25rem)': {
|
8694
8735
|
display: 'none'
|
@@ -8706,13 +8747,11 @@ const smallDownloadButtonContainerStyle = (theme, isDarkThemed) => {
|
|
8706
8747
|
const ImageGallery = (props) => {
|
8707
8748
|
const { isOpen, images, onImageDownloadButtonClicked, onDismiss, onError, startIndex = 0 } = props;
|
8708
8749
|
const theme = useTheme();
|
8709
|
-
const isDarkTheme = isDarkThemed(theme);
|
8710
8750
|
/* @conditional-compile-remove(image-gallery) */
|
8711
8751
|
const localeStrings = useLocale$1().strings.imageGallery;
|
8712
8752
|
const [isImageLoaded, setIsImageLoaded] = React.useState(true);
|
8713
|
-
const imageStyle = isImageLoaded ? normalImageStyle : brokenImageStyle(theme
|
8753
|
+
const imageStyle = isImageLoaded ? normalImageStyle : brokenImageStyle(theme);
|
8714
8754
|
if (images.length <= startIndex) {
|
8715
|
-
console.log('Unable to display Image Gallery due to startIndex is out of range.');
|
8716
8755
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
8717
8756
|
}
|
8718
8757
|
const image = images[startIndex];
|
@@ -8720,13 +8759,13 @@ const ImageGallery = (props) => {
|
|
8720
8759
|
return (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(headerStyle) },
|
8721
8760
|
React__default['default'].createElement(react.Stack, { className: react.mergeStyles(titleBarContainerStyle) },
|
8722
8761
|
image.titleIcon,
|
8723
|
-
React__default['default'].createElement(react.Stack.Item, { className: react.mergeStyles(titleStyle$2(theme
|
8762
|
+
React__default['default'].createElement(react.Stack.Item, { className: react.mergeStyles(titleStyle$2(theme)), "aria-label": image.title }, image.title)),
|
8724
8763
|
React__default['default'].createElement(react.Stack, { className: react.mergeStyles(controlBarContainerStyle) },
|
8725
|
-
React__default['default'].createElement(react.DefaultButton, { className: react.mergeStyles(downloadButtonStyle(theme
|
8764
|
+
React__default['default'].createElement(react.DefaultButton, { className: react.mergeStyles(downloadButtonStyle(theme)),
|
8726
8765
|
/* @conditional-compile-remove(image-gallery) */
|
8727
8766
|
text: localeStrings.downloadButtonLabel, onClick: () => onImageDownloadButtonClicked(image.imageUrl, image.saveAsName), onRenderIcon: () => React__default['default'].createElement(react.Icon, { iconName: downloadIcon.iconName, className: react.mergeStyles(downloadIconStyle) }), "aria-live": 'polite', "aria-label": localeStrings.downloadButtonLabel }),
|
8728
|
-
React__default['default'].createElement(react.IconButton, { iconProps: downloadIcon, className: react.mergeStyles(smallDownloadButtonContainerStyle(theme
|
8729
|
-
React__default['default'].createElement(react.IconButton, { iconProps: cancelIcon, className: react.mergeStyles(closeButtonStyles(theme
|
8767
|
+
React__default['default'].createElement(react.IconButton, { iconProps: downloadIcon, className: react.mergeStyles(smallDownloadButtonContainerStyle(theme)), onClick: () => onImageDownloadButtonClicked(image.imageUrl, image.saveAsName), "aria-label": localeStrings.downloadButtonLabel, "aria-live": 'polite' }),
|
8768
|
+
React__default['default'].createElement(react.IconButton, { iconProps: cancelIcon, className: react.mergeStyles(closeButtonStyles(theme)), onClick: onDismiss,
|
8730
8769
|
/* @conditional-compile-remove(image-gallery) */
|
8731
8770
|
ariaLabel: localeStrings.dismissButtonAriaLabel, "aria-live": 'polite' }))));
|
8732
8771
|
};
|
@@ -8740,12 +8779,14 @@ const ImageGallery = (props) => {
|
|
8740
8779
|
// Ensure when the focus trap has focus, the light dismiss area can still be clicked with mouse to dismiss.
|
8741
8780
|
// Note: this still correctly captures keyboard focus, this just allows mouse click outside of the focus trap.
|
8742
8781
|
isClickableOutsideFocusTrap: true, className: react.mergeStyles(bodyFocusZone) },
|
8743
|
-
React__default['default'].createElement("img", { src: image.imageUrl, className: react.mergeStyles(imageStyle), alt: image.altText || 'image', "aria-label": 'image-gallery-main-image', onError: (event) => {
|
8782
|
+
React__default['default'].createElement("img", { src: image.imageUrl, className: react.mergeStyles(imageStyle), alt: image.altText || 'image', "aria-label": 'image-gallery-main-image', "aria-live": 'polite', onError: (event) => {
|
8744
8783
|
setIsImageLoaded(false);
|
8745
8784
|
onError && onError(event);
|
8746
|
-
}, onClick: (event) => event.stopPropagation(),
|
8785
|
+
}, onClick: (event) => event.stopPropagation(), onDoubleClick: (event) => {
|
8786
|
+
event.persist();
|
8787
|
+
} }))));
|
8747
8788
|
};
|
8748
|
-
return (React__default['default'].createElement(react.Modal, { titleAriaId: image.title, isOpen: isOpen, onDismiss: onDismiss, overlay: { styles: Object.assign({}, overlayStyles(theme
|
8789
|
+
return (React__default['default'].createElement(react.Modal, { titleAriaId: image.title, isOpen: isOpen, onDismiss: onDismiss, overlay: { styles: Object.assign({}, overlayStyles(theme)) }, styles: { main: focusTrapZoneStyle, scrollableContent: scrollableContentStyle }, isDarkOverlay: true },
|
8749
8790
|
renderHeaderBar(),
|
8750
8791
|
renderBodyWithLightDismiss()));
|
8751
8792
|
};
|
@@ -14960,7 +15001,18 @@ const VideoGallery = (props) => {
|
|
14960
15001
|
const remoteVideoStream = participant.videoStream;
|
14961
15002
|
/* @conditional-compile-remove(pinned-participants) */
|
14962
15003
|
const isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId);
|
14963
|
-
|
15004
|
+
const createViewOptions = () => {
|
15005
|
+
var _a, _b;
|
15006
|
+
/* @conditional-compile-remove(pinned-participants) */
|
15007
|
+
return (remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.streamSize) &&
|
15008
|
+
((_a = remoteVideoStream.streamSize) === null || _a === void 0 ? void 0 : _a.height) > ((_b = remoteVideoStream.streamSize) === null || _b === void 0 ? void 0 : _b.width)
|
15009
|
+
? {
|
15010
|
+
scalingMode: 'Fit',
|
15011
|
+
isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored
|
15012
|
+
}
|
15013
|
+
: remoteVideoViewOptions;
|
15014
|
+
};
|
15015
|
+
return (React__default['default'].createElement(_RemoteVideoTile, { key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteVideoStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: isVideoParticipant && createViewOptions() ? createViewOptions() : undefined, onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
|
14964
15016
|
/* @conditional-compile-remove(PSTN-calls) */
|
14965
15017
|
participantState: participant.state,
|
14966
15018
|
/* @conditional-compile-remove(pinned-participants) */
|
@@ -17736,7 +17788,9 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
|
|
17736
17788
|
isMirrored: (_a = stream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
|
17737
17789
|
renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target,
|
17738
17790
|
/* @conditional-compile-remove(pinned-participants) */
|
17739
|
-
scalingMode: (_c = stream.view) === null || _c === void 0 ? void 0 : _c.scalingMode
|
17791
|
+
scalingMode: (_c = stream.view) === null || _c === void 0 ? void 0 : _c.scalingMode,
|
17792
|
+
/* @conditional-compile-remove(pinned-participants) */
|
17793
|
+
streamSize: stream.streamSize
|
17740
17794
|
};
|
17741
17795
|
};
|
17742
17796
|
/** @private */
|
@@ -17778,7 +17832,7 @@ const videoGallerySelector = reselect.createSelector([
|
|
17778
17832
|
/* @conditional-compile-remove(optimal-video-count) */
|
17779
17833
|
getOptimalVideoCount,
|
17780
17834
|
/* @conditional-compile-remove(rooms) */
|
17781
|
-
getRole,
|
17835
|
+
getRole$1,
|
17782
17836
|
/* @conditional-compile-remove(raise-hand) */
|
17783
17837
|
getLocalParticipantRaisedHand$1
|
17784
17838
|
], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers,
|
@@ -17905,7 +17959,7 @@ const participantListSelector = reselect.createSelector([
|
|
17905
17959
|
getIsScreenSharingOn,
|
17906
17960
|
getIsMuted,
|
17907
17961
|
/* @conditional-compile-remove(raise-hand) */ getLocalParticipantRaisedHand$1,
|
17908
|
-
getRole,
|
17962
|
+
getRole$1,
|
17909
17963
|
getParticipantCount
|
17910
17964
|
], (userId, displayName, remoteParticipants, isScreenSharingOn, isMuted,
|
17911
17965
|
/* @conditional-compile-remove(raise-hand) */
|
@@ -20296,7 +20350,7 @@ const CallCompositeIcon = (props) => (React__default['default'].createElement(re
|
|
20296
20350
|
*/
|
20297
20351
|
const CallWithChatCompositeIcon = (props) => (React__default['default'].createElement(react.FontIcon, Object.assign({}, props)));
|
20298
20352
|
|
20299
|
-
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",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied 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:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",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",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:"Gallery options",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker layout",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic layout",moreButtonGalleryDefaultLayoutLabel:"Gallery layout",moreButtonGalleryFocusedContentLayoutLabel:"Focused content"};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",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};
|
20353
|
+
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",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied 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:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",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",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:"Gallery options",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker layout",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic layout",moreButtonGalleryDefaultLayoutLabel:"Gallery layout",moreButtonGalleryFocusedContentLayoutLabel:"Focused content",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",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};
|
20300
20354
|
|
20301
20355
|
var call$j={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",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",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:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",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:"What language is being spoken?",captionsSettingsDropdownLabel:"Spoken language",captionsSettingsDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",captionsAvailableLanguageStrings:{"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"},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:"Gallery options",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker layout",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic layout",moreButtonGalleryDefaultLayoutLabel:"Gallery layout",moreButtonGalleryFocusedContentLayoutLabel:"Focused content"};var chat$j={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$j={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",peopleButtonLabel:"People",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_GB = {call:call$j,chat:chat$j,callWithChat:callWithChat$j};
|
20302
20356
|
|
@@ -23209,6 +23263,11 @@ const getMicrophones = (state) => state.devices.microphones;
|
|
23209
23263
|
* @private
|
23210
23264
|
*/
|
23211
23265
|
const getCameras = (state) => state.devices.cameras;
|
23266
|
+
/* @conditional-compile-remove(capabilities) */
|
23267
|
+
/**
|
23268
|
+
* @private
|
23269
|
+
*/
|
23270
|
+
const getRole = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.role; };
|
23212
23271
|
/**
|
23213
23272
|
* @private
|
23214
23273
|
*/
|
@@ -23262,6 +23321,14 @@ const getCaptionsStatus = (state) => {
|
|
23262
23321
|
* @private
|
23263
23322
|
*/
|
23264
23323
|
const getIsTeamsCall = (state) => state.isTeamsCall;
|
23324
|
+
/* @conditional-compile-remove(capabilities) */
|
23325
|
+
/**
|
23326
|
+
* @private
|
23327
|
+
*/
|
23328
|
+
const getLatestCapabilitiesChangedInfo = (state) => {
|
23329
|
+
var _a, _b;
|
23330
|
+
return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.latestCapabilitiesChangeInfo;
|
23331
|
+
};
|
23265
23332
|
|
23266
23333
|
// Copyright (c) Microsoft Corporation.
|
23267
23334
|
/**
|
@@ -23484,12 +23551,7 @@ const SendDtmfDialpad = (props) => {
|
|
23484
23551
|
/** @private */
|
23485
23552
|
const controlBarContainerStyles = {
|
23486
23553
|
paddingTop: '0.25rem',
|
23487
|
-
paddingBottom: '0.25rem'
|
23488
|
-
// @TODO: this should be exposed through a custom CallComposite Theme API that extends the fluent theme with semantic values
|
23489
|
-
boxShadow: `
|
23490
|
-
0px 6.400000095367432px 14.399999618530273px 0px #00000021;
|
23491
|
-
0px 1.2000000476837158px 3.5999999046325684px 0px #0000001A;
|
23492
|
-
`
|
23554
|
+
paddingBottom: '0.25rem'
|
23493
23555
|
};
|
23494
23556
|
|
23495
23557
|
// Copyright (c) Microsoft Corporation.
|
@@ -26146,12 +26208,74 @@ const useMinMaxDragPosition = (modalLayerHostId, rtl) => {
|
|
26146
26208
|
return { minDragPosition: minDragPosition, maxDragPosition: maxDragPosition };
|
26147
26209
|
};
|
26148
26210
|
|
26211
|
+
// Copyright (c) Microsoft Corporation.
|
26212
|
+
/* @conditional-compile-remove(capabilities) */
|
26213
|
+
/**
|
26214
|
+
* Notification bar for capabilities changed
|
26215
|
+
* @private
|
26216
|
+
*/
|
26217
|
+
const CapabilitiesChangedNotificationBar = (props) => {
|
26218
|
+
const locale = useLocale();
|
26219
|
+
return (React__default['default'].createElement(react.Stack, { "data-ui-id": "capabilities-changed-notification-bar-stack" }, props.capabilitiesChangedNotifications.map((notification) => {
|
26220
|
+
const message = getCapabilityChangedNotificationString(notification, locale.strings.call.capabilityChangedNotification);
|
26221
|
+
if (!message) {
|
26222
|
+
return null;
|
26223
|
+
}
|
26224
|
+
return (React__default['default'].createElement(react.MessageBar, { key: notification.capabilityName, styles: messageBarStyles, messageBarType: react.MessageBarType.warning, dismissIconProps: { iconName: 'ErrorBarClear' }, onDismiss: () => props.onDismissNotification(notification) }, message));
|
26225
|
+
})));
|
26226
|
+
};
|
26227
|
+
/* @conditional-compile-remove(capabilities) */
|
26228
|
+
const getCapabilityChangedNotificationString = (notification, strings) => {
|
26229
|
+
var _a, _b, _c, _d, _e, _f;
|
26230
|
+
switch (notification.capabilityName) {
|
26231
|
+
case 'turnVideoOn':
|
26232
|
+
if (notification.changedReason === 'MeetingOptionOrOrganizerPolicyChanged') {
|
26233
|
+
return notification.isPresent
|
26234
|
+
? (_a = strings === null || strings === void 0 ? void 0 : strings.turnVideoOn) === null || _a === void 0 ? void 0 : _a.grantedDueToMeetingOption
|
26235
|
+
: (_b = strings === null || strings === void 0 ? void 0 : strings.turnVideoOn) === null || _b === void 0 ? void 0 : _b.lostDueToMeetingOption;
|
26236
|
+
}
|
26237
|
+
break;
|
26238
|
+
case 'unmuteMic':
|
26239
|
+
if (notification.changedReason === 'MeetingOptionOrOrganizerPolicyChanged') {
|
26240
|
+
return notification.isPresent
|
26241
|
+
? (_c = strings === null || strings === void 0 ? void 0 : strings.unmuteMic) === null || _c === void 0 ? void 0 : _c.grantedDueToMeetingOption
|
26242
|
+
: (_d = strings === null || strings === void 0 ? void 0 : strings.unmuteMic) === null || _d === void 0 ? void 0 : _d.lostDueToMeetingOption;
|
26243
|
+
}
|
26244
|
+
break;
|
26245
|
+
case 'shareScreen':
|
26246
|
+
if (notification.isPresent && notification.changedReason === 'RoleChanged' && notification.role === 'Presenter') {
|
26247
|
+
return (_e = strings === null || strings === void 0 ? void 0 : strings.shareScreen) === null || _e === void 0 ? void 0 : _e.grantedDueToRoleChangeToPresenter;
|
26248
|
+
}
|
26249
|
+
if (!notification.isPresent && notification.changedReason === 'RoleChanged' && notification.role === 'Attendee') {
|
26250
|
+
return (_f = strings === null || strings === void 0 ? void 0 : strings.shareScreen) === null || _f === void 0 ? void 0 : _f.lostDueToRoleChangeToAttendee;
|
26251
|
+
}
|
26252
|
+
break;
|
26253
|
+
}
|
26254
|
+
return undefined;
|
26255
|
+
};
|
26256
|
+
/* @conditional-compile-remove(capabilities) */
|
26257
|
+
const messageBarStyles = {
|
26258
|
+
innerText: {
|
26259
|
+
alignSelf: 'center'
|
26260
|
+
},
|
26261
|
+
icon: {
|
26262
|
+
height: 0
|
26263
|
+
},
|
26264
|
+
content: {
|
26265
|
+
lineHeight: 'inherit'
|
26266
|
+
},
|
26267
|
+
dismissal: {
|
26268
|
+
height: 0,
|
26269
|
+
paddingTop: '0.8rem'
|
26270
|
+
}
|
26271
|
+
};
|
26272
|
+
|
26149
26273
|
// Copyright (c) Microsoft Corporation.
|
26150
26274
|
/**
|
26151
26275
|
* @private
|
26152
26276
|
*/
|
26153
26277
|
const CallArrangement = (props) => {
|
26154
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
26278
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
26155
26279
|
const containerClassName = React.useMemo(() => {
|
26156
26280
|
return props.mobileView ? containerStyleMobile : containerStyleDesktop;
|
26157
26281
|
}, [props.mobileView]);
|
@@ -26280,13 +26404,18 @@ const CallArrangement = (props) => {
|
|
26280
26404
|
const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
|
26281
26405
|
const pipStyles = React.useMemo(() => getPipStyles(theme), [theme]);
|
26282
26406
|
const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;
|
26407
|
+
/* @conditional-compile-remove(capabilities) */
|
26408
|
+
// Filter out shareScreen capability notifications if on mobile
|
26409
|
+
const filteredCapabilitesChangedNotifications = props.mobileView
|
26410
|
+
? (_c = props.capabilitiesChangedNotificationBarProps) === null || _c === void 0 ? void 0 : _c.capabilitiesChangedNotifications.filter((notification) => notification.capabilityName !== 'shareScreen')
|
26411
|
+
: (_d = props.capabilitiesChangedNotificationBarProps) === null || _d === void 0 ? void 0 : _d.capabilitiesChangedNotifications;
|
26283
26412
|
return (React__default['default'].createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
|
26284
26413
|
React__default['default'].createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
26285
26414
|
React__default['default'].createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
|
26286
|
-
((
|
26415
|
+
((_e = props.callControlProps) === null || _e === void 0 ? void 0 : _e.options) !== false && !isMobileWithActivePane && (React__default['default'].createElement(react.Stack, { verticalAlign: 'center', className: react.mergeStyles({
|
26287
26416
|
zIndex: CONTROL_BAR_Z_INDEX,
|
26288
26417
|
padding: verticalControlBar ? '0.25rem' : 'unset'
|
26289
|
-
}) }, isLegacyCallControlEnabled((
|
26418
|
+
}) }, isLegacyCallControlEnabled((_f = props.callControlProps) === null || _f === void 0 ? void 0 : _f.options) ? (React__default['default'].createElement(CallControls, Object.assign({}, props.callControlProps, { containerWidth: containerWidth, containerHeight: containerHeight, isMobile: props.mobileView,
|
26290
26419
|
/* @conditional-compile-remove(one-to-n-calling) */
|
26291
26420
|
peopleButtonChecked: isPeoplePaneOpen,
|
26292
26421
|
/* @conditional-compile-remove(one-to-n-calling) */
|
@@ -26307,7 +26436,7 @@ const CallArrangement = (props) => {
|
|
26307
26436
|
onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange,
|
26308
26437
|
/* @conditional-compile-remove(gallery-layouts) */
|
26309
26438
|
userSetGalleryLayout: props.userSetGalleryLayout, peopleButtonRef: peopleButtonRef, cameraButtonRef: cameraButtonRef }))))),
|
26310
|
-
((
|
26439
|
+
((_g = props.callControlProps) === null || _g === void 0 ? void 0 : _g.options) !== false && showDrawer && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStylesValue },
|
26311
26440
|
React__default['default'].createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
|
26312
26441
|
/* @conditional-compile-remove(PSTN-calls) */
|
26313
26442
|
onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined,
|
@@ -26316,7 +26445,7 @@ const CallArrangement = (props) => {
|
|
26316
26445
|
/* @conditional-compile-remove(close-captions) */
|
26317
26446
|
isCaptionsSupported: isTeamsCall && hasJoinedCall }))),
|
26318
26447
|
/* @conditional-compile-remove(PSTN-calls) */
|
26319
|
-
((
|
26448
|
+
((_h = props.callControlProps) === null || _h === void 0 ? void 0 : _h.options) !== false && showDtmfDialpad && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStylesValue },
|
26320
26449
|
React__default['default'].createElement(SendDtmfDialpad, { isMobile: props.mobileView, strings: dialpadStrings, showDialpad: showDtmfDialpad, onDismissDialpad: onDismissDtmfDialpad }))),
|
26321
26450
|
React__default['default'].createElement(react.Stack, { horizontal: true, grow: true },
|
26322
26451
|
React__default['default'].createElement(react.Stack.Item, { style: callCompositeContainerCSS },
|
@@ -26327,6 +26456,10 @@ const CallArrangement = (props) => {
|
|
26327
26456
|
React__default['default'].createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
|
26328
26457
|
props.errorBarProps !== false && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
26329
26458
|
React__default['default'].createElement(ErrorBar, Object.assign({}, props.errorBarProps, { onDismissError: props.onDismissError, activeErrorMessages: filteredLatestErrors })))),
|
26459
|
+
/* @conditional-compile-remove(capabilities) */
|
26460
|
+
props.capabilitiesChangedNotificationBarProps &&
|
26461
|
+
props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React__default['default'].createElement(react.Stack, { styles: bannerNotificationStyles },
|
26462
|
+
React__default['default'].createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
|
26330
26463
|
canUnmute && !!props.mutedNotificationProps && (React__default['default'].createElement(MutedNotification, Object.assign({}, props.mutedNotificationProps)))),
|
26331
26464
|
props.onRenderGalleryContent && props.onRenderGalleryContent(),
|
26332
26465
|
/* @conditional-compile-remove(close-captions) */
|
@@ -26336,7 +26469,7 @@ const CallArrangement = (props) => {
|
|
26336
26469
|
maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)
|
26337
26470
|
? undefined
|
26338
26471
|
: togglePeoplePane, disablePeopleButton: typeof props.callControlProps.options !== 'boolean' &&
|
26339
|
-
isDisabled$3((
|
26472
|
+
isDisabled$3((_j = props.callControlProps.options) === null || _j === void 0 ? void 0 : _j.participantsButton), onChatButtonClicked: (_k = props.mobileChatTabHeader) === null || _k === void 0 ? void 0 : _k.onClick, disableChatButton: (_l = props.mobileChatTabHeader) === null || _l === void 0 ? void 0 : _l.disabled }),
|
26340
26473
|
props.mobileView && (React__default['default'].createElement(ModalLocalAndRemotePIP, { modalLayerHostId: props.modalLayerHostId, hidden: !isSidePaneOpen, styles: pipStyles, minDragPosition: minMaxDragPosition.minDragPosition, maxDragPosition: minMaxDragPosition.maxDragPosition })),
|
26341
26474
|
drawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles() },
|
26342
26475
|
React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems }))))))));
|
@@ -26861,7 +26994,9 @@ const CallPage = (props) => {
|
|
26861
26994
|
/* @conditional-compile-remove(gallery-layouts) */
|
26862
26995
|
onUserSetGalleryLayoutChange: setUserSetGalleryLayout,
|
26863
26996
|
/* @conditional-compile-remove(gallery-layouts) */
|
26864
|
-
userSetGalleryLayout: userSetGalleryLayout
|
26997
|
+
userSetGalleryLayout: userSetGalleryLayout,
|
26998
|
+
/* @conditional-compile-remove(capabilities) */
|
26999
|
+
capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps }));
|
26865
27000
|
};
|
26866
27001
|
/**
|
26867
27002
|
* @private
|
@@ -28421,6 +28556,111 @@ const deviceCountSelector = reselect.createSelector([getCameras, getMicrophones]
|
|
28421
28556
|
};
|
28422
28557
|
});
|
28423
28558
|
|
28559
|
+
// Copyright (c) Microsoft Corporation.
|
28560
|
+
/* @conditional-compile-remove(capabilities) */
|
28561
|
+
/**
|
28562
|
+
* @private
|
28563
|
+
*/
|
28564
|
+
const capabilitiesChangedInfoAndRoleSelector = reselect__namespace.createSelector([getLatestCapabilitiesChangedInfo, getRole], (capabilitiesChangeInfo, participantRole) => {
|
28565
|
+
return { capabilitiesChangeInfo, participantRole };
|
28566
|
+
});
|
28567
|
+
|
28568
|
+
// Copyright (c) Microsoft Corporation.
|
28569
|
+
/* @conditional-compile-remove(capabilities) */
|
28570
|
+
/**
|
28571
|
+
* Create a record for when the notification was most recently dismissed for tracking dismissed notifications.
|
28572
|
+
*
|
28573
|
+
* @private
|
28574
|
+
*/
|
28575
|
+
const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndRoleInfo) => {
|
28576
|
+
const [trackedCapabilityChangedNotifications, setTrackedCapabilityChangedNotifications] = React.useState({});
|
28577
|
+
const activeNotifications = React.useRef({});
|
28578
|
+
// Take note of first capabilities changed reason
|
28579
|
+
const firstCapabilitiesChangedReason = React.useRef();
|
28580
|
+
React.useEffect(() => {
|
28581
|
+
var _a;
|
28582
|
+
if (firstCapabilitiesChangedReason.current === undefined) {
|
28583
|
+
firstCapabilitiesChangedReason.current = (_a = capabilitiesChangedAndRoleInfo.capabilitiesChangeInfo) === null || _a === void 0 ? void 0 : _a.reason;
|
28584
|
+
// Skip the first notifications if they are role related to be inline with Teams behavior
|
28585
|
+
if (firstCapabilitiesChangedReason.current === 'RoleChanged') {
|
28586
|
+
return;
|
28587
|
+
}
|
28588
|
+
}
|
28589
|
+
activeNotifications.current = updateLatestCapabilityChangedNotificationMap(capabilitiesChangedAndRoleInfo, activeNotifications.current);
|
28590
|
+
setTrackedCapabilityChangedNotifications((prev) => updateTrackedCapabilityChangedNotificationsWithActiveNotifications(prev, Object.values(activeNotifications.current)));
|
28591
|
+
}, [capabilitiesChangedAndRoleInfo]);
|
28592
|
+
const onDismissCapabilityChangedNotification = React.useCallback((notification) => {
|
28593
|
+
setTrackedCapabilityChangedNotifications((prev) => trackCapabilityChangedNotificationAsDismissed(notification.capabilityName, prev));
|
28594
|
+
}, []);
|
28595
|
+
const latestCapabilityChangedNotifications = React.useMemo(() => filterLatestCapabilityChangedNotifications(Object.values(activeNotifications.current), trackedCapabilityChangedNotifications), [trackedCapabilityChangedNotifications]);
|
28596
|
+
return {
|
28597
|
+
capabilitiesChangedNotifications: latestCapabilityChangedNotifications,
|
28598
|
+
onDismissNotification: onDismissCapabilityChangedNotification
|
28599
|
+
};
|
28600
|
+
};
|
28601
|
+
/* @conditional-compile-remove(capabilities) */
|
28602
|
+
/**
|
28603
|
+
* Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.
|
28604
|
+
*
|
28605
|
+
* @private
|
28606
|
+
*/
|
28607
|
+
const filterLatestCapabilityChangedNotifications = (activeNotifications, trackedNotifications) => {
|
28608
|
+
const filteredNotifications = activeNotifications.filter((activeNotification) => {
|
28609
|
+
const trackedNotification = trackedNotifications[activeNotification.capabilityName];
|
28610
|
+
return (!trackedNotification ||
|
28611
|
+
!trackedNotification.lastDismissedAt ||
|
28612
|
+
trackedNotification.lastDismissedAt < trackedNotification.mostRecentlyActive);
|
28613
|
+
});
|
28614
|
+
return filteredNotifications;
|
28615
|
+
};
|
28616
|
+
/* @conditional-compile-remove(capabilities) */
|
28617
|
+
/**
|
28618
|
+
* Maintain a record of the most recently active notification for each capability name.
|
28619
|
+
*
|
28620
|
+
* @private
|
28621
|
+
*/
|
28622
|
+
const updateTrackedCapabilityChangedNotificationsWithActiveNotifications = (existingTrackedNotifications, activeNotifications) => {
|
28623
|
+
var _a, _b;
|
28624
|
+
const trackedNotifications = {};
|
28625
|
+
// Only care about active notifications. If notifications are no longer active we do not track that they have been previously dismissed.
|
28626
|
+
for (const activeNotification of activeNotifications) {
|
28627
|
+
const existingTrackedNotification = existingTrackedNotifications[activeNotification.capabilityName];
|
28628
|
+
trackedNotifications[activeNotification.capabilityName] = {
|
28629
|
+
mostRecentlyActive: (_b = (_a = activeNotification.timestamp) !== null && _a !== void 0 ? _a : existingTrackedNotification === null || existingTrackedNotification === void 0 ? void 0 : existingTrackedNotification.mostRecentlyActive) !== null && _b !== void 0 ? _b : new Date(Date.now()),
|
28630
|
+
lastDismissedAt: existingTrackedNotification === null || existingTrackedNotification === void 0 ? void 0 : existingTrackedNotification.lastDismissedAt
|
28631
|
+
};
|
28632
|
+
}
|
28633
|
+
return trackedNotifications;
|
28634
|
+
};
|
28635
|
+
/* @conditional-compile-remove(capabilities) */
|
28636
|
+
/**
|
28637
|
+
* Create a record for when the notification was most recently dismissed for tracking dismissed notifications.
|
28638
|
+
*
|
28639
|
+
* @private
|
28640
|
+
*/
|
28641
|
+
const trackCapabilityChangedNotificationAsDismissed = (capabilityName, trackedNotifications) => {
|
28642
|
+
const now = new Date(Date.now());
|
28643
|
+
const existingNotification = trackedNotifications[capabilityName];
|
28644
|
+
return Object.assign(Object.assign({}, trackedNotifications), { [capabilityName]: Object.assign(Object.assign({}, (existingNotification || {})), { lastDismissedAt: now }) });
|
28645
|
+
};
|
28646
|
+
/* @conditional-compile-remove(capabilities) */
|
28647
|
+
const updateLatestCapabilityChangedNotificationMap = (capabilitiesChangedInfoAndRole, activeNotifications) => {
|
28648
|
+
if (!capabilitiesChangedInfoAndRole.capabilitiesChangeInfo) {
|
28649
|
+
return activeNotifications;
|
28650
|
+
}
|
28651
|
+
for (const [capabilityName, newCapabilityValue] of Object.entries(capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.newValue)) {
|
28652
|
+
const newCapabilityChangeNotification = {
|
28653
|
+
capabilityName: capabilityName,
|
28654
|
+
isPresent: newCapabilityValue.isPresent,
|
28655
|
+
changedReason: capabilitiesChangedInfoAndRole.capabilitiesChangeInfo.reason,
|
28656
|
+
role: capabilitiesChangedInfoAndRole.participantRole,
|
28657
|
+
timestamp: new Date(Date.now())
|
28658
|
+
};
|
28659
|
+
activeNotifications[capabilityName] = newCapabilityChangeNotification;
|
28660
|
+
}
|
28661
|
+
return activeNotifications;
|
28662
|
+
};
|
28663
|
+
|
28424
28664
|
// Copyright (c) Microsoft Corporation.
|
28425
28665
|
// Licensed under the MIT license.
|
28426
28666
|
var __awaiter$7 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
@@ -28478,6 +28718,10 @@ const MainScreen = (props) => {
|
|
28478
28718
|
React.useEffect(() => {
|
28479
28719
|
onSidePaneIdChange === null || onSidePaneIdChange === void 0 ? void 0 : onSidePaneIdChange(sidePaneRenderer === null || sidePaneRenderer === void 0 ? void 0 : sidePaneRenderer.id);
|
28480
28720
|
}, [sidePaneRenderer === null || sidePaneRenderer === void 0 ? void 0 : sidePaneRenderer.id, onSidePaneIdChange]);
|
28721
|
+
/* @conditional-compile-remove(capabilities) */
|
28722
|
+
const capabilitiesChangedInfoAndRole = useSelector$1(capabilitiesChangedInfoAndRoleSelector);
|
28723
|
+
/* @conditional-compile-remove(capabilities) */
|
28724
|
+
const capabilitiesChangedNotificationBarProps = useTrackedCapabilityChangedNotifications(capabilitiesChangedInfoAndRole);
|
28481
28725
|
// Track the last dismissed errors of any error kind to prevent errors from re-appearing on subsequent page navigation
|
28482
28726
|
// This works by tracking the most recent timestamp of any active error type.
|
28483
28727
|
// And then tracking when that error type was last dismissed.
|
@@ -28513,7 +28757,9 @@ const MainScreen = (props) => {
|
|
28513
28757
|
/* @conditional-compile-remove(call-readiness) */
|
28514
28758
|
onPermissionsTroubleshootingClick: (_b = props.options) === null || _b === void 0 ? void 0 : _b.onPermissionsTroubleshootingClick,
|
28515
28759
|
/* @conditional-compile-remove(call-readiness) */
|
28516
|
-
onNetworkingTroubleShootingClick: (_c = props.options) === null || _c === void 0 ? void 0 : _c.onNetworkingTroubleShootingClick
|
28760
|
+
onNetworkingTroubleShootingClick: (_c = props.options) === null || _c === void 0 ? void 0 : _c.onNetworkingTroubleShootingClick,
|
28761
|
+
/* @conditional-compile-remove(capabilities) */
|
28762
|
+
capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
28517
28763
|
break;
|
28518
28764
|
case 'accessDeniedTeamsMeeting':
|
28519
28765
|
pageElement = (React__default['default'].createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' }));
|
@@ -28533,20 +28779,28 @@ const MainScreen = (props) => {
|
|
28533
28779
|
break;
|
28534
28780
|
}
|
28535
28781
|
case 'lobby':
|
28536
|
-
pageElement = (React__default['default'].createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError
|
28782
|
+
pageElement = (React__default['default'].createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError,
|
28783
|
+
/* @conditional-compile-remove(capabilities) */
|
28784
|
+
capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
28537
28785
|
break;
|
28538
28786
|
/* @conditional-compile-remove(call-transfer) */
|
28539
28787
|
case 'transferring':
|
28540
|
-
pageElement = (React__default['default'].createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestErrors, onDismissError: onDismissError
|
28788
|
+
pageElement = (React__default['default'].createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onRenderAvatar: onRenderAvatar, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestErrors, onDismissError: onDismissError,
|
28789
|
+
/* @conditional-compile-remove(capabilities) */
|
28790
|
+
capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
28541
28791
|
break;
|
28542
28792
|
case 'call':
|
28543
28793
|
pageElement = (React__default['default'].createElement(CallPage, { onRenderAvatar: onRenderAvatar, callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError,
|
28544
28794
|
/* @conditional-compile-remove(gallery-layouts) */
|
28545
|
-
galleryLayout: ((_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.galleryOptions) === null || _f === void 0 ? void 0 : _f.layout) ? props.options.galleryOptions.layout : 'floatingLocalVideo'
|
28795
|
+
galleryLayout: ((_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.galleryOptions) === null || _f === void 0 ? void 0 : _f.layout) ? props.options.galleryOptions.layout : 'floatingLocalVideo',
|
28796
|
+
/* @conditional-compile-remove(capabilities) */
|
28797
|
+
capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
28546
28798
|
break;
|
28547
28799
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
28548
28800
|
case 'hold':
|
28549
|
-
pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError
|
28801
|
+
pageElement = (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError,
|
28802
|
+
/* @conditional-compile-remove(capabilities) */
|
28803
|
+
capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
|
28550
28804
|
break;
|
28551
28805
|
}
|
28552
28806
|
/* @conditional-compile-remove(unsupported-browser) */
|