@azure/communication-react 1.18.0-alpha-202406180013 → 1.18.0-alpha-202406200013
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 +72 -28
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-2XnQpAq_.js → ChatMessageComponentAsRichTextEditBox-EyrzA3S-.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-2XnQpAq_.js.map → ChatMessageComponentAsRichTextEditBox-EyrzA3S-.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D-f-hDmN.js → RichTextSendBoxWrapper-BTQ09DfU.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D-f-hDmN.js.map → RichTextSendBoxWrapper-BTQ09DfU.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-DaC5GeKa.js → index-BxMyKmFB.js} +502 -106
- package/dist/dist-cjs/communication-react/index-BxMyKmFB.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +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/errorNotificationsSelector.d.ts +22 -0
- package/dist/dist-esm/calling-component-bindings/src/errorNotificationsSelector.js +146 -0
- package/dist/dist-esm/calling-component-bindings/src/errorNotificationsSelector.js.map +1 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +7 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -0
- package/dist/dist-esm/calling-component-bindings/src/index.js +2 -0
- package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +1 -5
- package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +13 -0
- package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +2 -0
- package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index.d.ts +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.js +1 -1
- package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/InputBoxButton.js +2 -2
- package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Notifications.d.ts +23 -28
- package/dist/dist-esm/react-components/src/components/Notifications.js +17 -7
- package/dist/dist-esm/react-components/src/components/Notifications.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -2
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +2 -2
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +16 -29
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +1 -1
- package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +1 -1
- package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +24 -13
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils.d.ts +32 -1
- package/dist/dist-esm/react-components/src/components/utils.js +84 -0
- package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -23
- package/dist/dist-esm/react-components/src/theming/themes.js +13 -12
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -1
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +24 -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 +20 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +4 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +33 -5
- 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/SidePane/usePeoplePane.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +68 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +3 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +3 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +5 -3
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +6 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +3 -2
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +40 -2
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +6 -1
- package/package.json +6 -6
- package/dist/dist-cjs/communication-react/index-DaC5GeKa.js.map +0 -1
@@ -175,7 +175,7 @@ function getDefaultExportFromCjs (x) {
|
|
175
175
|
// Copyright (c) Microsoft Corporation.
|
176
176
|
// Licensed under the MIT License.
|
177
177
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
178
|
-
var telemetryVersion = '1.18.0-alpha-
|
178
|
+
var telemetryVersion = '1.18.0-alpha-202406200013';
|
179
179
|
|
180
180
|
|
181
181
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -1124,6 +1124,10 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1124
1124
|
}));
|
1125
1125
|
}
|
1126
1126
|
});
|
1127
|
+
/* @conditional-compile-remove(soft-mute) */
|
1128
|
+
const onMuteAllRemoteParticipants = () => __awaiter$R(void 0, void 0, void 0, function* () {
|
1129
|
+
call === null || call === void 0 ? void 0 : call.muteAllRemoteParticipants();
|
1130
|
+
});
|
1127
1131
|
const canStartSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.spotlightParticipant.isPresent;
|
1128
1132
|
const canRemoveSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.removeParticipantsSpotlight.isPresent;
|
1129
1133
|
const onStartLocalSpotlight = canStartSpotlight
|
@@ -1192,7 +1196,9 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
1192
1196
|
onStartRemoteSpotlight,
|
1193
1197
|
onStopRemoteSpotlight,
|
1194
1198
|
/* @conditional-compile-remove(soft-mute) */
|
1195
|
-
onMuteParticipant
|
1199
|
+
onMuteParticipant,
|
1200
|
+
/* @conditional-compile-remove(soft-mute) */
|
1201
|
+
onMuteAllRemoteParticipants
|
1196
1202
|
};
|
1197
1203
|
});
|
1198
1204
|
|
@@ -1300,6 +1306,145 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
|
|
1300
1306
|
}) });
|
1301
1307
|
});
|
1302
1308
|
|
1309
|
+
// Copyright (c) Microsoft Corporation.
|
1310
|
+
// Licensed under the MIT License.
|
1311
|
+
/* @conditional-compile-remove(notifications) */
|
1312
|
+
/* @conditional-compile-remove(notifications) */
|
1313
|
+
/**
|
1314
|
+
* Select the active errors from the state for the `Notification` component.
|
1315
|
+
*
|
1316
|
+
* Invariants:
|
1317
|
+
* - `ErrorType` is never repeated in the returned errors.
|
1318
|
+
* - Errors are returned in a fixed order by `ErrorType`.
|
1319
|
+
*
|
1320
|
+
* @beta
|
1321
|
+
*/
|
1322
|
+
const errorNotificationsSelector = reselect.createSelector([getLatestErrors$1, getDiagnostics, getDeviceManager$1, getEnvironmentInfo], (latestErrors, diagnostics, deviceManager, environmentInfo) => {
|
1323
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
1324
|
+
// The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.
|
1325
|
+
// There are several options for the ordering:
|
1326
|
+
// - Sorted by when the errors happened (latest first / oldest first).
|
1327
|
+
// - Stable sort by error type.
|
1328
|
+
//
|
1329
|
+
// We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not
|
1330
|
+
// have timestamps for errors.
|
1331
|
+
const activeErrorMessages = [];
|
1332
|
+
const isSafari = () => {
|
1333
|
+
/* @conditional-compile-remove(calling-environment-info) */
|
1334
|
+
return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
|
1335
|
+
};
|
1336
|
+
const isMacOS = () => {
|
1337
|
+
/* @conditional-compile-remove(calling-environment-info) */
|
1338
|
+
return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.platform) === 'mac';
|
1339
|
+
};
|
1340
|
+
// Errors reported via diagnostics are more reliable than from API method failures, so process those first.
|
1341
|
+
if (((_a = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _a === void 0 ? void 0 : _a.value) === communicationCalling.DiagnosticQuality.Bad ||
|
1342
|
+
((_b = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _b === void 0 ? void 0 : _b.value) === communicationCalling.DiagnosticQuality.Poor) {
|
1343
|
+
activeErrorMessages.push({ type: 'callNetworkQualityLow' });
|
1344
|
+
}
|
1345
|
+
if (((_c = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.noSpeakerDevicesEnumerated) === null || _c === void 0 ? void 0 : _c.value) === true) {
|
1346
|
+
activeErrorMessages.push({ type: 'callNoSpeakerFound' });
|
1347
|
+
}
|
1348
|
+
if (((_d = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.noMicrophoneDevicesEnumerated) === null || _d === void 0 ? void 0 : _d.value) === true) {
|
1349
|
+
activeErrorMessages.push({ type: 'callNoMicrophoneFound' });
|
1350
|
+
}
|
1351
|
+
if (((_e = deviceManager.deviceAccess) === null || _e === void 0 ? void 0 : _e.audio) === false && isSafari()) {
|
1352
|
+
activeErrorMessages.push({ type: 'callMicrophoneAccessDeniedSafari' });
|
1353
|
+
}
|
1354
|
+
if (((_f = deviceManager.deviceAccess) === null || _f === void 0 ? void 0 : _f.audio) === false && !isSafari()) {
|
1355
|
+
activeErrorMessages.push({ type: 'callMicrophoneAccessDenied' });
|
1356
|
+
}
|
1357
|
+
if (((_g = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _g === void 0 ? void 0 : _g.value) === true && isMacOS()) {
|
1358
|
+
activeErrorMessages.push({ type: 'callMacOsMicrophoneAccessDenied' });
|
1359
|
+
}
|
1360
|
+
else if (((_h = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphonePermissionDenied) === null || _h === void 0 ? void 0 : _h.value) === true) {
|
1361
|
+
activeErrorMessages.push({ type: 'callMicrophoneAccessDenied' });
|
1362
|
+
}
|
1363
|
+
const microphoneMuteUnexpectedlyDiagnostic = (diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphoneMuteUnexpectedly) || (diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.microphoneNotFunctioning);
|
1364
|
+
if (microphoneMuteUnexpectedlyDiagnostic) {
|
1365
|
+
if (microphoneMuteUnexpectedlyDiagnostic.value === communicationCalling.DiagnosticQuality.Bad) {
|
1366
|
+
// Inform the user that microphone stopped working and inform them to start microphone again
|
1367
|
+
activeErrorMessages.push({ type: 'callMicrophoneMutedBySystem' });
|
1368
|
+
}
|
1369
|
+
else if (microphoneMuteUnexpectedlyDiagnostic.value === communicationCalling.DiagnosticQuality.Good) {
|
1370
|
+
// Inform the user that microphone recovered
|
1371
|
+
activeErrorMessages.push({ type: 'callMicrophoneUnmutedBySystem' });
|
1372
|
+
}
|
1373
|
+
}
|
1374
|
+
const cameraStoppedUnexpectedlyDiagnostic = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraStoppedUnexpectedly;
|
1375
|
+
if (cameraStoppedUnexpectedlyDiagnostic) {
|
1376
|
+
if (cameraStoppedUnexpectedlyDiagnostic.value === communicationCalling.DiagnosticQuality.Bad) {
|
1377
|
+
// Inform the user that camera stopped working and inform them to start video again
|
1378
|
+
activeErrorMessages.push({ type: 'callVideoStoppedBySystem' });
|
1379
|
+
}
|
1380
|
+
else if (cameraStoppedUnexpectedlyDiagnostic.value === communicationCalling.DiagnosticQuality.Good) {
|
1381
|
+
// Inform the user that camera recovered
|
1382
|
+
activeErrorMessages.push({ type: 'callVideoRecoveredBySystem' });
|
1383
|
+
}
|
1384
|
+
}
|
1385
|
+
if (((_j = deviceManager.deviceAccess) === null || _j === void 0 ? void 0 : _j.video) === false && isSafari()) {
|
1386
|
+
activeErrorMessages.push({ type: 'callCameraAccessDeniedSafari' });
|
1387
|
+
}
|
1388
|
+
else if (((_k = deviceManager.deviceAccess) === null || _k === void 0 ? void 0 : _k.video) === false) {
|
1389
|
+
activeErrorMessages.push({ type: 'callCameraAccessDenied' });
|
1390
|
+
}
|
1391
|
+
else {
|
1392
|
+
if (((_l = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraFreeze) === null || _l === void 0 ? void 0 : _l.value) === true) {
|
1393
|
+
activeErrorMessages.push({ type: 'cameraFrozenForRemoteParticipants' });
|
1394
|
+
}
|
1395
|
+
}
|
1396
|
+
/**
|
1397
|
+
* show the Mac specific strings if the platform is detected as mac
|
1398
|
+
*/
|
1399
|
+
if (((_m = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.cameraPermissionDenied) === null || _m === void 0 ? void 0 : _m.value) === true && isMacOS()) {
|
1400
|
+
activeErrorMessages.push({ type: 'callMacOsCameraAccessDenied' });
|
1401
|
+
}
|
1402
|
+
/**
|
1403
|
+
* This UFD only works on mac still so we should only see it fire on mac.
|
1404
|
+
*/
|
1405
|
+
if (((_o = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.screenshareRecordingDisabled) === null || _o === void 0 ? void 0 : _o.value) === true && isMacOS()) {
|
1406
|
+
activeErrorMessages.push({ type: 'callMacOsScreenShareAccessDenied' });
|
1407
|
+
}
|
1408
|
+
else if (((_p = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.media.latest.screenshareRecordingDisabled) === null || _p === void 0 ? void 0 : _p.value) === true) {
|
1409
|
+
activeErrorMessages.push({ type: 'startScreenShareGeneric' });
|
1410
|
+
}
|
1411
|
+
// Prefer to show errors with privacy implications.
|
1412
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');
|
1413
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');
|
1414
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');
|
1415
|
+
if (((_q = latestErrors['Call.startVideo']) === null || _q === void 0 ? void 0 : _q.message) === 'Call.startVideo: Video operation failure SourceUnavailableError') {
|
1416
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');
|
1417
|
+
}
|
1418
|
+
else if (((_r = latestErrors['Call.startVideo']) === null || _r === void 0 ? void 0 : _r.message) === 'Call.startVideo: Video operation failure permissionDeniedError') {
|
1419
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');
|
1420
|
+
}
|
1421
|
+
else {
|
1422
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');
|
1423
|
+
}
|
1424
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');
|
1425
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');
|
1426
|
+
if (((_s = latestErrors['CallAgent.join']) === null || _s === void 0 ? void 0 : _s.message) === 'CallAgent.join: Invalid meeting link') {
|
1427
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');
|
1428
|
+
}
|
1429
|
+
else {
|
1430
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallGeneric');
|
1431
|
+
}
|
1432
|
+
if ((_t = latestErrors['Call.feature']) === null || _t === void 0 ? void 0 : _t.message.match(/Call\.feature: startSpotlight failed\. \d+ is the max number of participants that can be Spotlighted/g)) {
|
1433
|
+
appendActiveErrorIfDefined$1(activeErrorMessages, latestErrors, 'Call.feature', 'startSpotlightWhileMaxParticipantsAreSpotlighted');
|
1434
|
+
}
|
1435
|
+
return { activeErrorMessages: activeErrorMessages };
|
1436
|
+
});
|
1437
|
+
/* @conditional-compile-remove(notifications) */
|
1438
|
+
const appendActiveErrorIfDefined$1 = (activeErrorMessages, latestErrors, target, activeErrorType) => {
|
1439
|
+
if (latestErrors[target] === undefined) {
|
1440
|
+
return;
|
1441
|
+
}
|
1442
|
+
activeErrorMessages.push({
|
1443
|
+
type: activeErrorType,
|
1444
|
+
timestamp: latestErrors[target].timestamp
|
1445
|
+
});
|
1446
|
+
};
|
1447
|
+
|
1303
1448
|
// Copyright (c) Microsoft Corporation.
|
1304
1449
|
// Licensed under the MIT License.
|
1305
1450
|
/**
|
@@ -5306,6 +5451,7 @@ class ProxyTeamsCallAgent extends ProxyCallAgentCommon {
|
|
5306
5451
|
/* @conditional-compile-remove(teams-identity-support) */
|
5307
5452
|
if (_isTeamsCallAgent(agent)) {
|
5308
5453
|
agent.on(...args);
|
5454
|
+
return;
|
5309
5455
|
}
|
5310
5456
|
throw new Error('Not reachable code, DeclarativeTeamsCallAgent.agentSubscribe must be called with an TeamsCallAgent.');
|
5311
5457
|
}
|
@@ -5313,6 +5459,7 @@ class ProxyTeamsCallAgent extends ProxyCallAgentCommon {
|
|
5313
5459
|
/* @conditional-compile-remove(teams-identity-support) */
|
5314
5460
|
if (_isTeamsCallAgent(agent)) {
|
5315
5461
|
agent.off(...args);
|
5462
|
+
return;
|
5316
5463
|
}
|
5317
5464
|
throw new Error('Not reachable code, DeclarativeTeamsCallAgent.agentUnsubscribe must be called with an TeamsCallAgent.');
|
5318
5465
|
}
|
@@ -5750,7 +5897,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
5750
5897
|
wordBreak: 'break-word'
|
5751
5898
|
});
|
5752
5899
|
|
5753
|
-
var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$l={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$k={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options"};var mentionPopover$k={mentionPopoverHeader:"Suggestions"};var imageOverlay$k={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$k={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$k={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$k={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects"};var microphoneButton$k={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute microphone",onSplitButtonMicrophonePrimaryAction:"Mute microphone",microphonePrimaryActionSplitButtonTitle:"Use microphone"};var devicesButton$k={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$k={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$k={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$k={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$k={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$k={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options"};var errorBar$k={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted."};var notifications$k={unableToReachChatService:{title:"You are offline.",closeButtonAriaLabel:"Close"},accessDenied:{title:"Unable to access chat services",message:"Please check the user credentials provided",closeButtonAriaLabel:"Close"},userNotInChatThread:{title:"You are no longer in this chat thread.",closeButtonAriaLabel:"Close"},sendMessageNotInChatThread:{title:"Failed to send message",message:"You are no longer in this chat thread",closeButtonAriaLabel:"Close"},sendMessageGeneric:{title:"Failed to send message.",closeButtonAriaLabel:"Close"},callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",closeButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",closeButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",closeButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",closeButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",closeButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",closeButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",closeButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",closeButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",closeButtonAriaLabel:"Close"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",closeButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",closeButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",closeButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",closeButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",closeButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",closeButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",closeButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",closeButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",closeButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",closeButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",closeButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",closeButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",closeButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",closeButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",closeButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee"};var dialpad$k={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$k={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$k={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options"};var CameraAndMicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$k={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$k={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$k={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$k={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$k={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$k={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$l={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$l={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$l={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$k={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$k={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$k={leftNavButtonAriaLabel:"previous page",rightNavButtonAriaLabel:"next page"};var MeetingConferencePhoneInfo$k={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollFree:"{phoneNumber} (Toll-free) {country}, {city}",meetingConferencePhoneInfoModalTollFreeWithoutGeoData:"{phoneNumber} (Toll-free)",meetingConferencePhoneInfoModalToll:"{phoneNumber} (Toll) {country}, {city}",meetingConferencePhoneInfoModalTollWithoutGeoData:"{phoneNumber} (Toll)"};var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox$k,mentionPopover:mentionPopover$k,imageOverlay:imageOverlay$k,messageStatusIndicator:messageStatusIndicator$k,endCallButton:endCallButton$k,cameraButton:cameraButton$k,microphoneButton:microphoneButton$k,devicesButton:devicesButton$k,participantsButton:participantsButton$k,screenShareButton:screenShareButton$k,raiseHandButton:raiseHandButton$k,reactionButton:reactionButton$k,messageThread:messageThread$k,errorBar:errorBar$k,notifications:notifications$k,videoGallery:videoGallery$k,dialpad:dialpad$k,holdButton:holdButton$k,videoTile:videoTile$k,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$k,CameraSitePermissionsRequest:CameraSitePermissionsRequest$k,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$k,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$k,CameraSitePermissionsCheck:CameraSitePermissionsCheck$k,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$k,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$k,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$k,CameraSitePermissionsDenied:CameraSitePermissionsDenied$k,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$k,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$k,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$k,UnsupportedBrowser:UnsupportedBrowser$l,UnsupportedBrowserVersion:UnsupportedBrowserVersion$l,UnsupportedOperatingSystem:UnsupportedOperatingSystem$l,BrowserPermissionDenied:BrowserPermissionDenied$k,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$k,verticalGallery:verticalGallery$k,MeetingConferencePhoneInfo:MeetingConferencePhoneInfo$k};
|
5900
|
+
var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$l={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$k={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options"};var mentionPopover$k={mentionPopoverHeader:"Suggestions"};var imageOverlay$k={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$k={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$k={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$k={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects"};var microphoneButton$k={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute microphone",onSplitButtonMicrophonePrimaryAction:"Mute microphone",microphonePrimaryActionSplitButtonTitle:"Use microphone"};var devicesButton$k={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$k={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$k={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$k={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$k={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$k={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{status} {author} said {message}",messageContentMineAriaText:"{status} You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options"};var errorBar$k={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted."};var notifications$k={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",closeButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",closeButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",closeButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",closeButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",closeButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",closeButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",closeButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",closeButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",closeButtonAriaLabel:"Close"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",closeButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",closeButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",closeButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",closeButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",closeButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",closeButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",closeButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",closeButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",closeButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",closeButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",closeButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",closeButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",closeButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",closeButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",closeButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee",muteParticipantMenuItemLabel:"Mute"};var dialpad$k={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$k={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$k={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options"};var CameraAndMicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$k={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$k={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$k={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$k={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$k={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$k={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$l={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$l={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$l={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$k={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$k={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$k={leftNavButtonAriaLabel:"previous page",rightNavButtonAriaLabel:"next page"};var MeetingConferencePhoneInfo$k={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollFree:"{phoneNumber} (Toll-free) {country}, {city}",meetingConferencePhoneInfoModalTollFreeWithoutGeoData:"{phoneNumber} (Toll-free)",meetingConferencePhoneInfoModalToll:"{phoneNumber} (Toll) {country}, {city}",meetingConferencePhoneInfoModalTollWithoutGeoData:"{phoneNumber} (Toll)"};var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox$k,mentionPopover:mentionPopover$k,imageOverlay:imageOverlay$k,messageStatusIndicator:messageStatusIndicator$k,endCallButton:endCallButton$k,cameraButton:cameraButton$k,microphoneButton:microphoneButton$k,devicesButton:devicesButton$k,participantsButton:participantsButton$k,screenShareButton:screenShareButton$k,raiseHandButton:raiseHandButton$k,reactionButton:reactionButton$k,messageThread:messageThread$k,errorBar:errorBar$k,notifications:notifications$k,videoGallery:videoGallery$k,dialpad:dialpad$k,holdButton:holdButton$k,videoTile:videoTile$k,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$k,CameraSitePermissionsRequest:CameraSitePermissionsRequest$k,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$k,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$k,CameraSitePermissionsCheck:CameraSitePermissionsCheck$k,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$k,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$k,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$k,CameraSitePermissionsDenied:CameraSitePermissionsDenied$k,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$k,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$k,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$k,UnsupportedBrowser:UnsupportedBrowser$l,UnsupportedBrowserVersion:UnsupportedBrowserVersion$l,UnsupportedOperatingSystem:UnsupportedOperatingSystem$l,BrowserPermissionDenied:BrowserPermissionDenied$k,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$k,verticalGallery:verticalGallery$k,MeetingConferencePhoneInfo:MeetingConferencePhoneInfo$k};
|
5754
5901
|
|
5755
5902
|
// Copyright (c) Microsoft Corporation.
|
5756
5903
|
// Licensed under the MIT License.
|
@@ -6063,6 +6210,61 @@ const dropDismissalsForInactiveErrors = (activeErrorMessages, dismissedErrors) =
|
|
6063
6210
|
}
|
6064
6211
|
return dismissedErrors;
|
6065
6212
|
};
|
6213
|
+
/**
|
6214
|
+
* @private
|
6215
|
+
* @param dismissedNotifications
|
6216
|
+
* @param toDismiss
|
6217
|
+
* @returns DismissedNotification[]
|
6218
|
+
* Always returns a new Array so that the state variable is updated, trigerring a render.
|
6219
|
+
*/
|
6220
|
+
const dismissNotification = (dismissedNotifications, toDismiss) => {
|
6221
|
+
var _a;
|
6222
|
+
const now = new Date(Date.now());
|
6223
|
+
for (const notification of dismissedNotifications) {
|
6224
|
+
if (notification.type === toDismiss.type) {
|
6225
|
+
// Bump the timestamp for latest dismissal of this error to now.
|
6226
|
+
notification.dismissedAt = now;
|
6227
|
+
notification.activeSince = toDismiss.timestamp;
|
6228
|
+
return Array.from(dismissedNotifications);
|
6229
|
+
}
|
6230
|
+
}
|
6231
|
+
const toDismissTimestamp = (_a = toDismiss.timestamp) !== null && _a !== void 0 ? _a : now;
|
6232
|
+
// Record that this error was dismissed for the first time right now.
|
6233
|
+
return [
|
6234
|
+
...dismissedNotifications,
|
6235
|
+
{
|
6236
|
+
type: toDismiss.type,
|
6237
|
+
// the error time could be sometimes later than the button click time, which cause the dismiss not working
|
6238
|
+
// so we set the dismiss time to the later one
|
6239
|
+
dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,
|
6240
|
+
activeSince: toDismiss.timestamp
|
6241
|
+
}
|
6242
|
+
];
|
6243
|
+
};
|
6244
|
+
/**
|
6245
|
+
* @private
|
6246
|
+
* @param activeNotifications
|
6247
|
+
* @param dismissedNotifications
|
6248
|
+
* @returns DismissedError[]
|
6249
|
+
* Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.
|
6250
|
+
*/
|
6251
|
+
const dropDismissalsForInactiveNotifications = (activeNotifications, dismissedNotifications) => {
|
6252
|
+
const active = new Map();
|
6253
|
+
for (const message of activeNotifications) {
|
6254
|
+
active.set(message.type, message);
|
6255
|
+
}
|
6256
|
+
// For an error such that:
|
6257
|
+
// * It was previously active, and dismissed.
|
6258
|
+
// * It did not have a timestamp associated with it.
|
6259
|
+
// * It is no longer active.
|
6260
|
+
//
|
6261
|
+
// We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.
|
6262
|
+
const shouldDeleteDismissal = (dismissed) => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;
|
6263
|
+
if (dismissedNotifications.some((dismissed) => shouldDeleteDismissal(dismissed))) {
|
6264
|
+
return dismissedNotifications.filter((dismissed) => !shouldDeleteDismissal(dismissed));
|
6265
|
+
}
|
6266
|
+
return dismissedNotifications;
|
6267
|
+
};
|
6066
6268
|
/**
|
6067
6269
|
* @private
|
6068
6270
|
* @param activeErrorMessages
|
@@ -6092,6 +6294,35 @@ const errorsToShow = (activeErrorMessages, dismissedErrors, mountTimestamp) => {
|
|
6092
6294
|
return error.timestamp > dismissal.dismissedAt;
|
6093
6295
|
});
|
6094
6296
|
};
|
6297
|
+
/**
|
6298
|
+
* @private
|
6299
|
+
* @param activeNotifications
|
6300
|
+
* @param dismissedNotifications
|
6301
|
+
* @returns ActiveNotification[]
|
6302
|
+
*/
|
6303
|
+
const notificationsToShow = (activeNotifications, dismissedNotifications, mountTimestamp) => {
|
6304
|
+
const dismissed = new Map();
|
6305
|
+
for (const notification of dismissedNotifications) {
|
6306
|
+
dismissed.set(notification.type, notification);
|
6307
|
+
}
|
6308
|
+
return activeNotifications.filter((notification) => {
|
6309
|
+
if (mountTimestamp && notification.timestamp && mountTimestamp > notification.timestamp) {
|
6310
|
+
// Notification has a timestamp and it is older than when the component was mounted.
|
6311
|
+
return false;
|
6312
|
+
}
|
6313
|
+
const dismissal = dismissed.get(notification.type);
|
6314
|
+
if (!dismissal) {
|
6315
|
+
// This error was never dismissed.
|
6316
|
+
return true;
|
6317
|
+
}
|
6318
|
+
if (!notification.timestamp) {
|
6319
|
+
// No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.
|
6320
|
+
return false;
|
6321
|
+
}
|
6322
|
+
// Error has an associated timestamp, so compare with last dismissal.
|
6323
|
+
return notification.timestamp > dismissal.dismissedAt;
|
6324
|
+
});
|
6325
|
+
};
|
6095
6326
|
/**
|
6096
6327
|
* @private
|
6097
6328
|
* @param errorType
|
@@ -6258,7 +6489,7 @@ const ErrorBar = (props) => {
|
|
6258
6489
|
setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors));
|
6259
6490
|
}, [props.activeErrorMessages, dismissedErrors, trackDismissedErrorsInternally]);
|
6260
6491
|
const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors, props.ignorePremountErrors ? mountTimestamp.current : undefined);
|
6261
|
-
return (React.createElement(react.Stack, { "data-ui-id": "
|
6492
|
+
return (React.createElement(react.Stack, { "data-ui-id": "notifications-stack" }, toShow.map((error) => (React.createElement(react.MessageBar, Object.assign({}, props, { styles: {
|
6262
6493
|
innerText: {
|
6263
6494
|
alignSelf: 'center'
|
6264
6495
|
},
|
@@ -6617,12 +6848,7 @@ const lightTheme = {
|
|
6617
6848
|
errorText: '#a80000'
|
6618
6849
|
}
|
6619
6850
|
};
|
6620
|
-
|
6621
|
-
* Preset dark theme for components exported from this library.
|
6622
|
-
*
|
6623
|
-
* @public
|
6624
|
-
*/
|
6625
|
-
const darkTheme = {
|
6851
|
+
const partialDarkTheme = {
|
6626
6852
|
palette: {
|
6627
6853
|
themePrimary: '#2899f5',
|
6628
6854
|
themeLighterAlt: '#02060a',
|
@@ -6648,18 +6874,23 @@ const darkTheme = {
|
|
6648
6874
|
white: '#252423',
|
6649
6875
|
whiteTranslucent40: 'rgba(0, 0, 0, 0.4)'
|
6650
6876
|
},
|
6651
|
-
|
6877
|
+
semanticColors: {
|
6878
|
+
errorText: '#f1707b'
|
6879
|
+
}
|
6880
|
+
};
|
6881
|
+
/**
|
6882
|
+
* Preset dark theme for components exported from this library.
|
6883
|
+
*
|
6884
|
+
* @public
|
6885
|
+
*/
|
6886
|
+
const darkTheme = Object.assign(Object.assign({}, react.createTheme(Object.assign(Object.assign({}, partialDarkTheme), { isInverted: true }))), { callingPalette: {
|
6652
6887
|
callRed: '#c4314b',
|
6653
6888
|
callRedDark: '#a42e43',
|
6654
6889
|
callRedDarker: '#8b2c3d',
|
6655
6890
|
iconWhite: '#ffffff',
|
6656
6891
|
raiseHandGold: '#eaa300',
|
6657
6892
|
videoTileLabelBackgroundLight: 'rgba(37,36,35,0.8)'
|
6658
|
-
}
|
6659
|
-
semanticColors: {
|
6660
|
-
errorText: '#f1707b'
|
6661
|
-
}
|
6662
|
-
};
|
6893
|
+
} });
|
6663
6894
|
/* @conditional-compile-remove(image-overlay-theme) */
|
6664
6895
|
/**
|
6665
6896
|
* Preset dark theme for the ImageOverlay component.
|
@@ -8826,7 +9057,7 @@ const iconWrapperStyle$1 = react.mergeStyles({
|
|
8826
9057
|
* @private
|
8827
9058
|
*/
|
8828
9059
|
const InputBoxButton = (props) => {
|
8829
|
-
const { onRenderIcon, onClick, ariaLabel, className, id, tooltipContent, 'data-testId': dataTestId, ariaDisabled = false } = props;
|
9060
|
+
const { onRenderIcon, onClick, ariaLabel, className, id, tooltipContent, 'data-testId': dataTestId, ariaDisabled = false, ariaExpanded = false } = props;
|
8830
9061
|
const [isHover, setIsHover] = React.useState(false);
|
8831
9062
|
const mergedButtonStyle = react.mergeStyles(inputBoxButtonStyle, className);
|
8832
9063
|
const theme = react.useTheme();
|
@@ -8845,7 +9076,7 @@ const InputBoxButton = (props) => {
|
|
8845
9076
|
setIsHover(false);
|
8846
9077
|
},
|
8847
9078
|
// VoiceOver fix: Avoid icon from stealing focus when IconButton is double-tapped to send message by wrapping with Stack with pointerEvents style to none
|
8848
|
-
onRenderIcon: () => React.createElement(react.Stack, { className: iconWrapperStyle$1 }, onRenderIcon(isHover)), "data-testid": dataTestId }))));
|
9079
|
+
onRenderIcon: () => React.createElement(react.Stack, { className: iconWrapperStyle$1 }, onRenderIcon(isHover)), "data-testid": dataTestId, "aria-expanded": ariaExpanded }))));
|
8849
9080
|
};
|
8850
9081
|
|
8851
9082
|
// Copyright (c) Microsoft Corporation.
|
@@ -9583,7 +9814,7 @@ const mapBorderRadiusTokens = (effects) => {
|
|
9583
9814
|
*/
|
9584
9815
|
const createV9Theme = (themeV8, baseThemeV9) => {
|
9585
9816
|
const baseTheme = baseThemeV9 !== null && baseThemeV9 !== void 0 ? baseThemeV9 : reactComponents.webLightTheme;
|
9586
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, baseTheme), mapAliasColors(themeV8.palette, themeV8.isInverted)), mapShadowTokens(themeV8.effects)), mapBorderRadiusTokens(themeV8.effects)), { colorBrandBackground2: themeV8.palette.themeLight, colorBrandBackground2Hover: themeV8.palette.themeLight, colorBrandBackground2Pressed: themeV8.palette.themeLight, colorStatusWarningBackground3: '#D83B01', errorText: themeV8.semanticColors.errorText, colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary, colorNeutralForeground2: themeV8.palette.neutralSecondary, colorBrandForegroundLinkHover: themeV8.palette.themeDarker, colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt,
|
9817
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, baseTheme), mapAliasColors(themeV8.palette, themeV8.isInverted)), mapShadowTokens(themeV8.effects)), mapBorderRadiusTokens(themeV8.effects)), { colorBrandBackground2: themeV8.palette.themeLight, colorBrandBackground2Hover: themeV8.palette.themeLight, colorBrandBackground2Pressed: themeV8.palette.themeLight, colorStatusWarningBackground3: '#D83B01', errorText: themeV8.semanticColors.errorText, colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary, colorNeutralForeground2: themeV8.palette.neutralSecondary, colorBrandForegroundLinkHover: themeV8.palette.themeDarker, colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt,
|
9587
9818
|
// Fix for an issue with black borders for iOS that are added with 'after' selector
|
9588
9819
|
colorStrokeFocus2: 'transparent' });
|
9589
9820
|
};
|
@@ -10071,10 +10302,10 @@ const richTextEditorWrapperStyle = (theme, addTopOffset) => {
|
|
10071
10302
|
tableLayout: 'auto',
|
10072
10303
|
'& tr': {
|
10073
10304
|
background: 'transparent',
|
10074
|
-
border: `1px solid ${theme.palette.
|
10305
|
+
border: `1px solid ${theme.palette.neutralSecondary}`,
|
10075
10306
|
'& td': {
|
10076
10307
|
background: 'transparent',
|
10077
|
-
border: `1px solid ${theme.palette.
|
10308
|
+
border: `1px solid ${theme.palette.neutralSecondary}`,
|
10078
10309
|
wordBreak: 'normal',
|
10079
10310
|
padding: '0.125rem 0.25rem',
|
10080
10311
|
verticalAlign: 'top'
|
@@ -10144,16 +10375,26 @@ const ribbonOverflowButtonRootStyles = (theme) => {
|
|
10144
10375
|
}
|
10145
10376
|
};
|
10146
10377
|
};
|
10147
|
-
const ribbonButtonRootStyles = (
|
10378
|
+
const ribbonButtonRootStyles = (iconColor, hoverIconColor) => {
|
10148
10379
|
return {
|
10149
10380
|
backgroundColor: 'transparent',
|
10150
10381
|
selectors: {
|
10151
|
-
//
|
10382
|
+
// media query applies only if the device allows real hover interactions
|
10383
|
+
// and hover styles are not applied on touch- only devices where the hover state cannot be accurately detected
|
10384
|
+
'@media (hover: hover)': {
|
10385
|
+
':hover .ms-Button-icon': {
|
10386
|
+
color: hoverIconColor
|
10387
|
+
},
|
10388
|
+
':hover .ms-Button-menuIcon': {
|
10389
|
+
color: hoverIconColor
|
10390
|
+
}
|
10391
|
+
},
|
10392
|
+
// the classes needs here to apply to styles for icons because of the specificity
|
10152
10393
|
'.ms-Button-icon': {
|
10153
|
-
color:
|
10394
|
+
color: iconColor
|
10154
10395
|
},
|
10155
10396
|
'.ms-Button-menuIcon': {
|
10156
|
-
color:
|
10397
|
+
color: iconColor
|
10157
10398
|
}
|
10158
10399
|
}
|
10159
10400
|
};
|
@@ -10166,13 +10407,14 @@ const toolbarButtonStyle = (theme) => {
|
|
10166
10407
|
icon: { color: theme.palette.neutralPrimary, height: 'auto' },
|
10167
10408
|
menuIcon: { color: theme.palette.neutralPrimary, height: 'auto' },
|
10168
10409
|
root: { minWidth: 'auto', backgroundColor: 'transparent' },
|
10169
|
-
rootChecked: ribbonButtonRootStyles(theme),
|
10170
|
-
|
10171
|
-
|
10172
|
-
|
10173
|
-
|
10174
|
-
|
10175
|
-
|
10410
|
+
rootChecked: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10411
|
+
// there is a bug for Android where the press action is considered hover sometimes
|
10412
|
+
rootHovered: ribbonButtonRootStyles(theme.palette.neutralPrimary, theme.palette.themePrimary),
|
10413
|
+
rootCheckedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10414
|
+
rootCheckedPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10415
|
+
rootPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10416
|
+
rootExpanded: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10417
|
+
rootExpandedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary)
|
10176
10418
|
};
|
10177
10419
|
};
|
10178
10420
|
const rootRibbonTableButtonStyle = (theme) => {
|
@@ -11158,7 +11400,6 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11158
11400
|
const editorDiv = React.useRef(null);
|
11159
11401
|
const theme = useTheme();
|
11160
11402
|
const [contextMenuProps, setContextMenuProps] = React.useState(null);
|
11161
|
-
const tableCellSelectionLightThemeBackgroundColor = React.useRef(undefined);
|
11162
11403
|
React.useImperativeHandle(ref, () => {
|
11163
11404
|
return {
|
11164
11405
|
focus() {
|
@@ -11199,19 +11440,15 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11199
11440
|
var _a;
|
11200
11441
|
(_a = editor.current) === null || _a === void 0 ? void 0 : _a.setDarkModeState(isDarkThemedValue);
|
11201
11442
|
}, [isDarkThemedValue]);
|
11202
|
-
// remember light color to correctly set it in the dark theme
|
11203
|
-
React.useEffect(() => {
|
11204
|
-
var _a, _b, _c;
|
11205
|
-
// focus to update selection color for table, otherwise the existing selection color for table won't be updated
|
11206
|
-
(_a = editor.current) === null || _a === void 0 ? void 0 : _a.focus();
|
11207
|
-
if (!isDarkThemedValue) {
|
11208
|
-
tableCellSelectionLightThemeBackgroundColor.current =
|
11209
|
-
(_c = (_b = lightTheme.palette) === null || _b === void 0 ? void 0 : _b.neutralLight) !== null && _c !== void 0 ? _c : theme.palette.neutralLight;
|
11210
|
-
}
|
11211
|
-
}, [theme.palette.neutralLight, isDarkThemedValue]);
|
11212
11443
|
const placeholderPlugin = React.useMemo(() => {
|
11213
|
-
|
11214
|
-
|
11444
|
+
var _a;
|
11445
|
+
const textColor = (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.neutralSecondary;
|
11446
|
+
return new PlaceholderPlugin('', textColor
|
11447
|
+
? {
|
11448
|
+
textColor: textColor
|
11449
|
+
}
|
11450
|
+
: undefined);
|
11451
|
+
}, [theme]);
|
11215
11452
|
React.useEffect(() => {
|
11216
11453
|
if (placeholderText !== undefined) {
|
11217
11454
|
placeholderPlugin.updatePlaceholder(placeholderText);
|
@@ -11260,13 +11497,6 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11260
11497
|
const onContextMenuDismiss = React.useCallback(() => {
|
11261
11498
|
setContextMenuProps(null);
|
11262
11499
|
}, []);
|
11263
|
-
const getDarkColor = React.useCallback((lightColor, _baseLValue, colorType) => {
|
11264
|
-
var _a, _b;
|
11265
|
-
if (lightColor === tableCellSelectionLightThemeBackgroundColor.current && colorType === 'background') {
|
11266
|
-
return (_b = (_a = darkTheme.palette) === null || _a === void 0 ? void 0 : _a.neutralLight) !== null && _b !== void 0 ? _b : theme.palette.neutralLight;
|
11267
|
-
}
|
11268
|
-
return lightColor;
|
11269
|
-
}, [theme.palette.neutralLight]);
|
11270
11500
|
const copyPastePlugin = React.useMemo(() => {
|
11271
11501
|
return new CopyPastePlugin();
|
11272
11502
|
}, []);
|
@@ -11306,7 +11536,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11306
11536
|
tableContextMenuPlugin
|
11307
11537
|
]);
|
11308
11538
|
React.useEffect(() => {
|
11309
|
-
var _a
|
11539
|
+
var _a;
|
11310
11540
|
const initialModel = createEditorInitialModel(initialContent, contentModel);
|
11311
11541
|
if (editorDiv.current) {
|
11312
11542
|
editor.current = new roosterjsContentModelCore.Editor(editorDiv.current, {
|
@@ -11315,7 +11545,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11315
11545
|
doNotAdjustEditorColor: true,
|
11316
11546
|
// TODO: confirm the color during inline images implementation
|
11317
11547
|
imageSelectionBorderColor: 'blue',
|
11318
|
-
tableCellSelectionBackgroundColor:
|
11548
|
+
tableCellSelectionBackgroundColor: theme.palette.neutralLight,
|
11319
11549
|
plugins: plugins,
|
11320
11550
|
initialModel: initialModel,
|
11321
11551
|
defaultModelToDomOptions: {
|
@@ -11324,12 +11554,11 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11324
11554
|
border: borderApplier,
|
11325
11555
|
dataset: dataSetApplier
|
11326
11556
|
}
|
11327
|
-
}
|
11328
|
-
getDarkColor: getDarkColor
|
11557
|
+
}
|
11329
11558
|
});
|
11330
11559
|
}
|
11331
11560
|
if (autoFocus === 'sendBoxTextField') {
|
11332
|
-
(
|
11561
|
+
(_a = editor.current) === null || _a === void 0 ? void 0 : _a.focus();
|
11333
11562
|
}
|
11334
11563
|
return () => {
|
11335
11564
|
if (editor.current) {
|
@@ -11339,11 +11568,11 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11339
11568
|
};
|
11340
11569
|
// don't update the editor on deps update as everything is handled in separate hooks or plugins
|
11341
11570
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
11342
|
-
}, []);
|
11571
|
+
}, [theme, plugins]);
|
11343
11572
|
return (React.createElement("div", { "data-testid": 'rich-text-editor-wrapper' },
|
11344
11573
|
showRichTextEditorFormatting && toolbar,
|
11345
11574
|
React.createElement("div", { className: richTextEditorWrapperStyle(theme, !showRichTextEditorFormatting) },
|
11346
|
-
React.createElement("div", { id: "richTextSendBox", ref: editorDiv, tabIndex: 0, role: "textbox", "aria-multiline": "true", "data-testid": 'rooster-rich-text-editor', className: richTextEditorStyle(props.styles) })),
|
11575
|
+
React.createElement("div", { id: "richTextSendBox", ref: editorDiv, tabIndex: 0, role: "textbox", "aria-multiline": "true", "data-testid": 'rooster-rich-text-editor', className: richTextEditorStyle(props.styles), "aria-label": placeholderText })),
|
11347
11576
|
contextMenuProps && React.createElement(react.ContextualMenu, Object.assign({}, contextMenuProps, { calloutProps: { isBeakVisible: false } }))));
|
11348
11577
|
});
|
11349
11578
|
const createEditorInitialModel = (initialContent, contentModel) => {
|
@@ -11438,7 +11667,7 @@ const RichTextInputBoxComponent = (props) => {
|
|
11438
11667
|
const isRichTextEditorToolbarShown = showRichTextEditorFormatting === true;
|
11439
11668
|
setShowRichTextEditorFormatting(!isRichTextEditorToolbarShown);
|
11440
11669
|
e.stopPropagation(); // Prevents the click from bubbling up and triggering a focus event on the chat.
|
11441
|
-
}, ariaLabel: strings.richTextFormatButtonTooltip, tooltipContent: strings.richTextFormatButtonTooltip, className: richTextActionButtonsStyle, "data-testId": 'rich-text-input-box-format-button' }),
|
11670
|
+
}, ariaLabel: strings.richTextFormatButtonTooltip, tooltipContent: strings.richTextFormatButtonTooltip, className: richTextActionButtonsStyle, "data-testId": 'rich-text-input-box-format-button', ariaExpanded: showRichTextEditorFormatting }),
|
11442
11671
|
React.createElement(react.Icon, { iconName: "RichTextDividerIcon", className: richTextActionButtonsDividerStyle(theme) }),
|
11443
11672
|
actionComponents)));
|
11444
11673
|
}, [
|
@@ -12053,7 +12282,7 @@ const useChatMessageCommonStyles = reactComponents.makeStyles({
|
|
12053
12282
|
borderCollapse: 'collapse',
|
12054
12283
|
tableLayout: 'auto',
|
12055
12284
|
width: '100%',
|
12056
|
-
'& tr': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.
|
12285
|
+
'& tr': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStrokeAccessible}`)), { '& td': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.colorNeutralStrokeAccessible}`)), { wordBreak: 'normal', paddingTop: '0px', paddingRight: '5px' }) })
|
12057
12286
|
}
|
12058
12287
|
},
|
12059
12288
|
failed: {
|
@@ -13699,7 +13928,7 @@ class _ErrorBoundary extends React.Component {
|
|
13699
13928
|
// Copyright (c) Microsoft Corporation.
|
13700
13929
|
// Licensed under the MIT License.
|
13701
13930
|
/* @conditional-compile-remove(rich-text-editor) */
|
13702
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13931
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-EyrzA3S-.js'); }));
|
13703
13932
|
/**
|
13704
13933
|
* @private
|
13705
13934
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -13707,7 +13936,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
13707
13936
|
*
|
13708
13937
|
* @conditional-compile-remove(rich-text-editor)
|
13709
13938
|
*/
|
13710
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13939
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-EyrzA3S-.js'); });
|
13711
13940
|
/**
|
13712
13941
|
* @private
|
13713
13942
|
*/
|
@@ -15243,7 +15472,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
15243
15472
|
/* @conditional-compile-remove(hide-attendee-name) */
|
15244
15473
|
displayName = formatDisplayName();
|
15245
15474
|
const callingPalette = theme.callingPalette;
|
15246
|
-
const
|
15475
|
+
const isPinned = pinnedParticipants && (pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId));
|
15476
|
+
const onRenderIcon = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isScreenSharing) || (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.isMuted) || (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.raisedHand) || isPinned
|
15247
15477
|
? () => {
|
15248
15478
|
var _a;
|
15249
15479
|
return (React.createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.5rem' } },
|
@@ -15260,7 +15490,7 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
15260
15490
|
callingParticipant.isScreenSharing && (React.createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
|
15261
15491
|
callingParticipant.isMuted && (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })),
|
15262
15492
|
callingParticipant.spotlight && React.createElement(react.Icon, { iconName: "ParticipantItemSpotlighted", className: iconStyles$2 }),
|
15263
|
-
|
15493
|
+
isPinned && React.createElement(react.Icon, { iconName: "ParticipantItemPinned", className: iconStyles$2 })));
|
15264
15494
|
}
|
15265
15495
|
: () => null;
|
15266
15496
|
const onRenderAvatarWithRaiseHand = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.raisedHand) && onRenderAvatar
|
@@ -15999,17 +16229,17 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
15999
16229
|
}
|
16000
16230
|
}
|
16001
16231
|
/* @conditional-compile-remove(soft-mute) */
|
16002
|
-
if (onMuteParticipant) {
|
16232
|
+
if (onMuteParticipant && (strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel)) {
|
16003
16233
|
items.push({
|
16004
16234
|
key: 'mute',
|
16005
|
-
text:
|
16235
|
+
text: strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel,
|
16006
16236
|
iconProps: {
|
16007
16237
|
iconName: 'ContextualMenuMicMutedIcon',
|
16008
16238
|
styles: { root: { lineHeight: 0 } }
|
16009
16239
|
},
|
16010
16240
|
onClick: () => onMuteParticipant(participant.userId),
|
16011
16241
|
'data-ui-id': 'video-tile-mute-participant',
|
16012
|
-
ariaLabel:
|
16242
|
+
ariaLabel: strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel,
|
16013
16243
|
disabled: participant.isMuted
|
16014
16244
|
});
|
16015
16245
|
}
|
@@ -22453,7 +22683,7 @@ const _TroubleshootingGuideErrorBar = (props) => {
|
|
22453
22683
|
// Without this behaviour, this `useEffect` block would cause a render loop.
|
22454
22684
|
React.useEffect(() => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)), [props.activeErrorMessages, dismissedErrors]);
|
22455
22685
|
const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);
|
22456
|
-
return (React.createElement(react.Stack, { "data-ui-id": "
|
22686
|
+
return (React.createElement(react.Stack, { "data-ui-id": "notifications-stack" }, toShow.map((error) => {
|
22457
22687
|
const devicePermissionErrorBar = (React.createElement("div", null,
|
22458
22688
|
strings[error.type],
|
22459
22689
|
' ',
|
@@ -22622,7 +22852,7 @@ const _VideoBackgroundEffectsPicker = (props) => {
|
|
22622
22852
|
React.createElement(react.Label, { className: react.mergeStyles((_c = props.styles) === null || _c === void 0 ? void 0 : _c.label) }, props.label),
|
22623
22853
|
optionsByRow.map((options, rowIndex) => {
|
22624
22854
|
var _a;
|
22625
|
-
return (React.createElement(react.Stack, { className: react.mergeStyles((_a = props.styles) === null || _a === void 0 ? void 0 : _a.rowRoot), wrap: props.itemsPerRow === 'wrap', horizontal: true, key: rowIndex, tokens: { childrenGap: '0.5rem' }, "data-ui-id": "video-effects-picker-row" },
|
22855
|
+
return (React.createElement(react.Stack, { className: react.mergeStyles((_a = props.styles) === null || _a === void 0 ? void 0 : _a.rowRoot), wrap: props.itemsPerRow === 'wrap', horizontal: true, key: rowIndex, tokens: { childrenGap: '0.5rem' }, "data-ui-id": "video-effects-picker-row", horizontalAlign: "center" },
|
22626
22856
|
options.map((option, i) => {
|
22627
22857
|
if (i === 0 && rowIndex === 0) {
|
22628
22858
|
return (React.createElement(_VideoEffectsItem, Object.assign({}, option, { itemKey: option.itemKey, key: option.itemKey, componentRef: props.componentRef })));
|
@@ -23386,18 +23616,28 @@ const Notifications = (props) => {
|
|
23386
23616
|
const localeStrings = useLocale$1().strings.notifications;
|
23387
23617
|
const strings = (_a = props.strings) !== null && _a !== void 0 ? _a : localeStrings;
|
23388
23618
|
const maxNotificationsToShow = (_b = props.maxNotificationsToShow) !== null && _b !== void 0 ? _b : 2;
|
23389
|
-
const
|
23619
|
+
const trackDismissedNotificationsInternally = !props.onDismissNotification;
|
23620
|
+
// Timestamp for when this comopnent is first mounted.
|
23621
|
+
// Never updated through the lifecycle of this component.
|
23622
|
+
const mountTimestamp = React.useRef(new Date(Date.now()));
|
23623
|
+
const [dismissedNotifications, setDismissedNotifications] = React.useState([]);
|
23624
|
+
// dropDismissalsForInactiveNotifications only returns a new object if `dismissedErrors` actually changes.
|
23625
|
+
// Without this behaviour, this `useEffect` block would cause a render loop.
|
23390
23626
|
React.useEffect(() => {
|
23391
|
-
|
23392
|
-
|
23627
|
+
trackDismissedNotificationsInternally &&
|
23628
|
+
setDismissedNotifications(dropDismissalsForInactiveNotifications(props.activeNotifications, dismissedNotifications));
|
23629
|
+
}, [props.activeNotifications, dismissedNotifications, trackDismissedNotificationsInternally]);
|
23630
|
+
const activeNotifications = notificationsToShow(props.activeNotifications, dismissedNotifications, props.ignorePremountNotifications ? mountTimestamp.current : undefined);
|
23393
23631
|
return (React.createElement(react.Stack, { "data-ui-id": "notifications-stack", style: {
|
23394
23632
|
width: 'fit-content'
|
23395
23633
|
} }, activeNotifications.map((notification, index) => {
|
23396
23634
|
if (index < maxNotificationsToShow) {
|
23397
23635
|
return (React.createElement("div", { key: index, style: { marginBottom: `${index === maxNotificationsToShow - 1 ? 0 : '0.25rem'}` } },
|
23398
23636
|
React.createElement(NotificationBar, { notificationBarStrings: strings ? strings[notification.type] : undefined, notificationBarIconProps: NotificationIconProps(notification.type), onClickPrimaryButton: () => { var _a; return (_a = notification.onClickPrimaryButton) === null || _a === void 0 ? void 0 : _a.call(notification); }, onClickSecondaryButton: () => { var _a; return (_a = notification.onClickSecondaryButton) === null || _a === void 0 ? void 0 : _a.call(notification); }, onDismiss: () => {
|
23399
|
-
|
23400
|
-
|
23637
|
+
var _a;
|
23638
|
+
trackDismissedNotificationsInternally
|
23639
|
+
? setDismissedNotifications(dismissNotification(dismissedNotifications, notification))
|
23640
|
+
: (_a = props.onDismissNotification) === null || _a === void 0 ? void 0 : _a.call(props, notification);
|
23401
23641
|
notification.onDismiss && notification.onDismiss();
|
23402
23642
|
}, showStackedEffect: index === maxNotificationsToShow - 1 && activeNotifications.length > maxNotificationsToShow, autoDismiss: notification.autoDismiss })));
|
23403
23643
|
}
|
@@ -24402,7 +24642,8 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
24402
24642
|
options.attachments[0] &&
|
24403
24643
|
!options.attachments[0].attachmentType) {
|
24404
24644
|
const chatSDKOptions = {
|
24405
|
-
metadata: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.metadata), { fileSharingMetadata: JSON.stringify(options === null || options === void 0 ? void 0 : options.attachments) })
|
24645
|
+
metadata: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.metadata), { fileSharingMetadata: JSON.stringify(options === null || options === void 0 ? void 0 : options.attachments) }),
|
24646
|
+
type: options.type
|
24406
24647
|
};
|
24407
24648
|
yield chatThreadClient.sendMessage(sendMessageRequest, chatSDKOptions);
|
24408
24649
|
return;
|
@@ -27138,7 +27379,7 @@ const isChatError = (e) => {
|
|
27138
27379
|
return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
|
27139
27380
|
};
|
27140
27381
|
|
27141
|
-
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",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",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",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin",unpinParticipantMenuItemAriaLabel:"Unpin"};var chat$k={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment"};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",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, 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};
|
27382
|
+
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",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",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",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel"};var chat$k={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment"};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",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, 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};
|
27142
27383
|
|
27143
27384
|
// Copyright (c) Microsoft Corporation.
|
27144
27385
|
// Licensed under the MIT License.
|
@@ -28080,7 +28321,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
28080
28321
|
/**
|
28081
28322
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
28082
28323
|
*/
|
28083
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28324
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-BTQ09DfU.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
28084
28325
|
/**
|
28085
28326
|
* @private
|
28086
28327
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -28088,7 +28329,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
28088
28329
|
*
|
28089
28330
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28090
28331
|
*/
|
28091
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28332
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-BTQ09DfU.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
28092
28333
|
/**
|
28093
28334
|
* @private
|
28094
28335
|
*/
|
@@ -29317,6 +29558,10 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
29317
29558
|
/* @conditional-compile-remove(soft-mute) */
|
29318
29559
|
onMuteParticipant: (userId) => __awaiter$k(void 0, void 0, void 0, function* () {
|
29319
29560
|
yield adapter.muteParticipant(userId);
|
29561
|
+
}),
|
29562
|
+
/* @conditional-compile-remove(soft-mute) */
|
29563
|
+
onMuteAllRemoteParticipants: () => __awaiter$k(void 0, void 0, void 0, function* () {
|
29564
|
+
yield adapter.muteAllRemoteParticipants();
|
29320
29565
|
})
|
29321
29566
|
};
|
29322
29567
|
});
|
@@ -32866,7 +33111,9 @@ const PEOPLE_SIDE_PANE_ID = 'people';
|
|
32866
33111
|
const usePeoplePane = (props) => {
|
32867
33112
|
const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight,
|
32868
33113
|
/* @conditional-compile-remove(soft-mute) */
|
32869
|
-
onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem
|
33114
|
+
onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem,
|
33115
|
+
/* @conditional-compile-remove(soft-mute) */
|
33116
|
+
onMuteAllRemoteParticipants } = props;
|
32870
33117
|
const closePane = React.useCallback(() => {
|
32871
33118
|
var _a;
|
32872
33119
|
updateSidePaneRenderer(undefined);
|
@@ -32875,6 +33122,25 @@ const usePeoplePane = (props) => {
|
|
32875
33122
|
const localeStrings = useLocale().strings.call;
|
32876
33123
|
/* @conditional-compile-remove(soft-mute) */
|
32877
33124
|
const remoteParticipants = useSelector$1(getRemoteParticipants);
|
33125
|
+
/* @conditional-compile-remove(soft-mute) */
|
33126
|
+
const [showMuteAllPrompt, setShowMuteAllPrompt] = React.useState(false);
|
33127
|
+
/* @conditional-compile-remove(soft-mute) */
|
33128
|
+
const muteAllPromptLabels = React.useMemo(() => ({
|
33129
|
+
confirmButtonLabel: localeStrings.muteAllConfirmButtonLabel,
|
33130
|
+
heading: localeStrings.muteAllDialogTitle,
|
33131
|
+
text: localeStrings.muteAllDialogContent,
|
33132
|
+
cancelButtonLabel: localeStrings.muteAllCancelButtonLabel
|
33133
|
+
}), [
|
33134
|
+
localeStrings.muteAllConfirmButtonLabel,
|
33135
|
+
localeStrings.muteAllDialogTitle,
|
33136
|
+
localeStrings.muteAllDialogContent,
|
33137
|
+
localeStrings.muteAllCancelButtonLabel
|
33138
|
+
]);
|
33139
|
+
/* @conditional-compile-remove(soft-mute) */
|
33140
|
+
const onMuteAllPromptConfirm = React.useCallback(() => {
|
33141
|
+
onMuteAllRemoteParticipants && onMuteAllRemoteParticipants();
|
33142
|
+
setShowMuteAllPrompt(false);
|
33143
|
+
}, [onMuteAllRemoteParticipants, setShowMuteAllPrompt]);
|
32878
33144
|
const sidePaneHeaderMenuProps = React.useMemo(() => {
|
32879
33145
|
const menuItems = [];
|
32880
33146
|
if (onStopAllSpotlight && spotlightedParticipantUserIds && spotlightedParticipantUserIds.length > 0) {
|
@@ -32888,10 +33154,44 @@ const usePeoplePane = (props) => {
|
|
32888
33154
|
ariaLabel: localeStrings.stopAllSpotlightMenuLabel
|
32889
33155
|
});
|
32890
33156
|
}
|
33157
|
+
/* @conditional-compile-remove(soft-mute) */
|
33158
|
+
if (onMuteAllRemoteParticipants && remoteParticipants) {
|
33159
|
+
let isAllMuted = true;
|
33160
|
+
if (remoteParticipants) {
|
33161
|
+
for (const participant of Object.values(remoteParticipants)) {
|
33162
|
+
if (!participant.isMuted) {
|
33163
|
+
isAllMuted = false;
|
33164
|
+
break;
|
33165
|
+
}
|
33166
|
+
}
|
33167
|
+
}
|
33168
|
+
menuItems.push({
|
33169
|
+
key: 'muteAllRemoteParticipants',
|
33170
|
+
text: localeStrings.muteAllMenuLabel,
|
33171
|
+
iconProps: {
|
33172
|
+
iconName: 'ContextualMenuMicMutedIcon',
|
33173
|
+
styles: { root: { lineHeight: 0 } }
|
33174
|
+
},
|
33175
|
+
onClick: () => {
|
33176
|
+
setShowMuteAllPrompt(true);
|
33177
|
+
},
|
33178
|
+
'data-ui-id': 'participant-item-mute-all-remote-participants',
|
33179
|
+
ariaLabel: localeStrings.muteAllMenuLabel,
|
33180
|
+
disabled: isAllMuted
|
33181
|
+
});
|
33182
|
+
}
|
32891
33183
|
return {
|
32892
33184
|
items: menuItems
|
32893
33185
|
};
|
32894
|
-
}, [
|
33186
|
+
}, [
|
33187
|
+
onStopAllSpotlight,
|
33188
|
+
spotlightedParticipantUserIds,
|
33189
|
+
localeStrings.stopAllSpotlightMenuLabel,
|
33190
|
+
/* @conditional-compile-remove(soft-mute) */ localeStrings.muteAllMenuLabel,
|
33191
|
+
/* @conditional-compile-remove(soft-mute) */ onMuteAllRemoteParticipants,
|
33192
|
+
/* @conditional-compile-remove(soft-mute) */ remoteParticipants,
|
33193
|
+
/* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt
|
33194
|
+
]);
|
32895
33195
|
const onRenderHeader = React.useCallback(() => (React.createElement(SidePaneHeader, { onClose: closePane, headingText: localeStrings.peoplePaneTitle, dismissSidePaneButtonAriaLabel: localeStrings.dismissSidePaneButtonLabel, mobileView: mobileView !== null && mobileView !== void 0 ? mobileView : false })), [mobileView, closePane, localeStrings]);
|
32896
33196
|
const onFetchParticipantMenuItemsForCallComposite = React.useCallback((participantId, myUserId, defaultMenuItems) => {
|
32897
33197
|
var _a;
|
@@ -33039,7 +33339,10 @@ const usePeoplePane = (props) => {
|
|
33039
33339
|
localeStrings.pinParticipantMenuItemAriaLabel
|
33040
33340
|
]);
|
33041
33341
|
const onRenderContent = React.useCallback(() => {
|
33042
|
-
return (React.createElement(
|
33342
|
+
return (React.createElement(React.Fragment, null,
|
33343
|
+
/* @conditional-compile-remove(soft-mute) */
|
33344
|
+
React.createElement(Prompt, Object.assign({}, muteAllPromptLabels, { styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onMuteAllPromptConfirm(), isOpen: showMuteAllPrompt, onCancel: () => setShowMuteAllPrompt(false) })),
|
33345
|
+
React.createElement(PeoplePaneContent, { inviteLink: inviteLink, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems: setDrawerMenuItems, mobileView: mobileView, setParticipantActioned: setParticipantActioned, participantListHeadingMoreButtonProps: sidePaneHeaderMenuProps, pinnedParticipants: pinnedParticipants })));
|
33043
33346
|
}, [
|
33044
33347
|
inviteLink,
|
33045
33348
|
mobileView,
|
@@ -33048,7 +33351,11 @@ const usePeoplePane = (props) => {
|
|
33048
33351
|
setDrawerMenuItems,
|
33049
33352
|
setParticipantActioned,
|
33050
33353
|
sidePaneHeaderMenuProps,
|
33051
|
-
pinnedParticipants
|
33354
|
+
pinnedParticipants,
|
33355
|
+
/* @conditional-compile-remove(soft-mute) */ showMuteAllPrompt,
|
33356
|
+
/* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt,
|
33357
|
+
/* @conditional-compile-remove(soft-mute) */ muteAllPromptLabels,
|
33358
|
+
/* @conditional-compile-remove(soft-mute) */ onMuteAllPromptConfirm
|
33052
33359
|
]);
|
33053
33360
|
const sidePaneRenderer = React.useMemo(() => ({
|
33054
33361
|
headerRenderer: onRenderHeader,
|
@@ -33387,13 +33694,40 @@ const VideoEffectsPaneContent = (props) => {
|
|
33387
33694
|
return VideoEffectsPaneTrampoline(onDismissError, props.updateFocusHandle, activeVideoEffectError, selectableVideoEffects, onEffectChange);
|
33388
33695
|
};
|
33389
33696
|
const VideoEffectsPaneTrampoline = (onDismissError, updateFocusHandle, activeVideoEffectError, selectableVideoEffects, onEffectChange) => {
|
33697
|
+
var _a, _b;
|
33390
33698
|
const selectedEffect = useSelector$1(activeVideoBackgroundEffectSelector);
|
33391
33699
|
const isCameraOn = useSelector$1(localVideoSelector).isAvailable;
|
33392
33700
|
const showWarning = !isCameraOn && selectedEffect !== 'none';
|
33393
33701
|
const locale = useLocale();
|
33702
|
+
/* @conditional-compile-remove(notifications) */
|
33703
|
+
const videoEffectErrorStrings = {
|
33704
|
+
title: (_a = locale.strings.call.unableToStartVideoEffect) !== null && _a !== void 0 ? _a : '',
|
33705
|
+
closeButtonAriaLabel: locale.strings.call.close
|
33706
|
+
};
|
33707
|
+
/* @conditional-compile-remove(notifications) */
|
33708
|
+
const warningStrings = {
|
33709
|
+
title: (_b = locale.strings.call.cameraOffBackgroundEffectWarningText) !== null && _b !== void 0 ? _b : '',
|
33710
|
+
closeButtonAriaLabel: locale.strings.call.close
|
33711
|
+
};
|
33712
|
+
/* @conditional-compile-remove(notifications) */
|
33713
|
+
const [errorNotificationDismissed, setErrorNotificationDismissed] = React.useState(false);
|
33714
|
+
/* @conditional-compile-remove(notifications) */
|
33715
|
+
const [warningNotificationDismissed, setWarningNotificationDismissed] = React.useState(false);
|
33716
|
+
const videoEffectErrorTrampoline = () => {
|
33717
|
+
/* @conditional-compile-remove(notifications) */
|
33718
|
+
return (React.createElement(React.Fragment, null,
|
33719
|
+
activeVideoEffectError && isCameraOn && !errorNotificationDismissed && (React.createElement(NotificationBar, { onDismiss: () => {
|
33720
|
+
if (activeVideoEffectError) {
|
33721
|
+
onDismissError(activeVideoEffectError);
|
33722
|
+
}
|
33723
|
+
setErrorNotificationDismissed(true);
|
33724
|
+
}, notificationBarStrings: videoEffectErrorStrings })),
|
33725
|
+
showWarning && !warningNotificationDismissed && (React.createElement(NotificationBar, { onDismiss: () => {
|
33726
|
+
setWarningNotificationDismissed(true);
|
33727
|
+
}, notificationBarStrings: warningStrings }))));
|
33728
|
+
};
|
33394
33729
|
return (React.createElement(react.Stack, { tokens: { childrenGap: '0.75rem' }, className: react.mergeStyles({ paddingLeft: '0.5rem' }) },
|
33395
|
-
|
33396
|
-
showWarning && (React.createElement(react.MessageBar, { messageBarType: react.MessageBarType.warning }, locale.strings.call.cameraOffBackgroundEffectWarningText)),
|
33730
|
+
videoEffectErrorTrampoline(),
|
33397
33731
|
React.createElement(_VideoBackgroundEffectsPicker, { label: locale.strings.call.videoEffectsPaneBackgroundSelectionTitle, styles: backgroundPickerStyles, options: selectableVideoEffects !== null && selectableVideoEffects !== void 0 ? selectableVideoEffects : [], onChange: onEffectChange, selectedEffectKey: selectedEffect, componentRef: updateFocusHandle })));
|
33398
33732
|
};
|
33399
33733
|
const backgroundPickerStyles = {
|
@@ -33409,7 +33743,7 @@ const backgroundPickerStyles = {
|
|
33409
33743
|
/** @private */
|
33410
33744
|
const VIDEO_EFFECTS_SIDE_PANE_ID = 'videoeffects';
|
33411
33745
|
/** @private */
|
33412
|
-
const VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM =
|
33746
|
+
const VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM = 22;
|
33413
33747
|
/** @private */
|
33414
33748
|
const useVideoEffectsPane = (updateSidePaneRenderer, mobileView, latestErrors, onDismissError, cameraButtonRef) => {
|
33415
33749
|
const closePane = React.useCallback(() => {
|
@@ -34026,6 +34360,8 @@ const CallArrangement = (props) => {
|
|
34026
34360
|
const locale = useLocale();
|
34027
34361
|
const role = (_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
|
34028
34362
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
34363
|
+
/* @conditional-compile-remove(soft-mute) */
|
34364
|
+
const muteAllHandlers = useHandlers();
|
34029
34365
|
const { setPromptProps, setIsPromptOpen, hideSpotlightButtons } = props;
|
34030
34366
|
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight,
|
34031
34367
|
/* @conditional-compile-remove(soft-mute) */
|
@@ -34062,11 +34398,15 @@ const CallArrangement = (props) => {
|
|
34062
34398
|
return {
|
34063
34399
|
onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role !== null && role !== void 0 ? role : '')
|
34064
34400
|
? onMuteParticipant
|
34401
|
+
: undefined,
|
34402
|
+
onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role !== null && role !== void 0 ? role : '')
|
34403
|
+
? muteAllHandlers.onMuteAllRemoteParticipants
|
34065
34404
|
: undefined
|
34066
34405
|
};
|
34067
34406
|
}, [
|
34068
34407
|
/* @conditional-compile-remove(soft-mute) */ onMuteParticipant,
|
34069
|
-
/* @conditional-compile-remove(soft-mute) */ role
|
34408
|
+
/* @conditional-compile-remove(soft-mute) */ role,
|
34409
|
+
/* @conditional-compile-remove(soft-mute) */ muteAllHandlers.onMuteAllRemoteParticipants
|
34070
34410
|
]);
|
34071
34411
|
const spotlightPeoplePaneProps = React.useMemo(() => {
|
34072
34412
|
return {
|
@@ -34157,14 +34497,24 @@ const CallArrangement = (props) => {
|
|
34157
34497
|
const drawerContainerStylesValue = React.useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
|
34158
34498
|
const canUnmute = role !== 'Consumer' ? true : false;
|
34159
34499
|
let filteredLatestErrors = props.errorBarProps !== false ? props.latestErrors : [];
|
34500
|
+
/* @conditional-compile-remove(notifications) */
|
34501
|
+
let filteredLatestErrorNotifications = props.showErrorNotifications
|
34502
|
+
? props.latestErrors
|
34503
|
+
: [];
|
34160
34504
|
const isCameraOn = useSelector$1(localVideoSelector).isAvailable;
|
34161
34505
|
// TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
|
34162
|
-
if (role === 'Consumer' &&
|
34506
|
+
if (role === 'Consumer' &&
|
34507
|
+
(props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
|
34163
34508
|
filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
|
34509
|
+
/* @conditional-compile-remove(notifications) */
|
34510
|
+
filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
|
34164
34511
|
}
|
34165
34512
|
const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);
|
34166
|
-
if ((isVideoPaneOpen || !isCameraOn) &&
|
34513
|
+
if ((isVideoPaneOpen || !isCameraOn) &&
|
34514
|
+
(props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
|
34167
34515
|
filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');
|
34516
|
+
/* @conditional-compile-remove(notifications) */
|
34517
|
+
filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'unableToStartVideoEffect');
|
34168
34518
|
}
|
34169
34519
|
/* @conditional-compile-remove(acs-close-captions) */
|
34170
34520
|
const isTeamsCaptions = useSelector$1(getCaptionsKind) === 'TeamsCaptions';
|
@@ -34183,6 +34533,11 @@ const CallArrangement = (props) => {
|
|
34183
34533
|
const filteredCapabilitesChangedNotifications = props.mobileView
|
34184
34534
|
? (_e = props.capabilitiesChangedNotificationBarProps) === null || _e === void 0 ? void 0 : _e.capabilitiesChangedNotifications.filter((notification) => notification.capabilityName !== 'shareScreen')
|
34185
34535
|
: (_f = props.capabilitiesChangedNotificationBarProps) === null || _f === void 0 ? void 0 : _f.capabilitiesChangedNotifications;
|
34536
|
+
const errorNotificationTrampoline = () => {
|
34537
|
+
/* @conditional-compile-remove(notifications) */
|
34538
|
+
return (React.createElement(React.Fragment, null, props.showErrorNotifications && (React.createElement(react.Stack, { styles: bannerNotificationStyles, horizontalAlign: "center", verticalAlign: "center" },
|
34539
|
+
React.createElement(Notifications, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications })))));
|
34540
|
+
};
|
34186
34541
|
return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
|
34187
34542
|
React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
34188
34543
|
React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
|
@@ -34211,8 +34566,7 @@ const CallArrangement = (props) => {
|
|
34211
34566
|
React.createElement(react.Stack.Item, { styles: notificationsContainerStyles },
|
34212
34567
|
React.createElement(react.Stack, { styles: bannerNotificationStyles },
|
34213
34568
|
React.createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
|
34214
|
-
|
34215
|
-
React.createElement(ErrorBar, Object.assign({}, props.errorBarProps, { onDismissError: props.onDismissError, activeErrorMessages: filteredLatestErrors })))),
|
34569
|
+
errorNotificationTrampoline(),
|
34216
34570
|
props.capabilitiesChangedNotificationBarProps &&
|
34217
34571
|
props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
|
34218
34572
|
React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
|
@@ -34674,7 +35028,7 @@ const DtmfDialpadPage = (props) => {
|
|
34674
35028
|
* @private
|
34675
35029
|
*/
|
34676
35030
|
const CallPage = (props) => {
|
34677
|
-
var _a;
|
35031
|
+
var _a, _b;
|
34678
35032
|
const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants, setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false } = props;
|
34679
35033
|
// To use useProps to get these states, we need to create another file wrapping Call,
|
34680
35034
|
// It seems unnecessary in this case, so we get the updated states using this approach.
|
@@ -34705,12 +35059,14 @@ const CallPage = (props) => {
|
|
34705
35059
|
}
|
34706
35060
|
};
|
34707
35061
|
return (React.createElement(React.Fragment, null,
|
34708
|
-
React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps,
|
35062
|
+
React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps,
|
35063
|
+
/* @conditional-compile-remove(notifications) */
|
35064
|
+
showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
|
34709
35065
|
callInvitationURL: callInvitationURL,
|
34710
35066
|
onFetchParticipantMenuItems: onFetchParticipantMenuItems,
|
34711
35067
|
options: callControlOptions,
|
34712
35068
|
increaseFlyoutItemSize: mobileView
|
34713
|
-
}, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (
|
35069
|
+
}, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants }),
|
34714
35070
|
React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
|
34715
35071
|
};
|
34716
35072
|
/**
|
@@ -36104,7 +36460,7 @@ const LobbyTile = (props) => {
|
|
36104
36460
|
* @private
|
36105
36461
|
*/
|
36106
36462
|
const LobbyPage = (props) => {
|
36107
|
-
var _a, _b, _c, _d;
|
36463
|
+
var _a, _b, _c, _d, _e, _f;
|
36108
36464
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
36109
36465
|
const lobbyProps = useSelector$1(lobbySelector);
|
36110
36466
|
const strings = useLocale().strings.call;
|
@@ -36116,7 +36472,9 @@ const LobbyPage = (props) => {
|
|
36116
36472
|
? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls)
|
36117
36473
|
: (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
|
36118
36474
|
callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);
|
36119
|
-
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps,
|
36475
|
+
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps,
|
36476
|
+
/* @conditional-compile-remove(notifications) */
|
36477
|
+
showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
|
36120
36478
|
options: callControlOptions,
|
36121
36479
|
increaseFlyoutItemSize: props.mobileView
|
36122
36480
|
}, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError }));
|
@@ -36228,7 +36586,7 @@ const statusTextStyles = { textAlign: 'center', fontSize: '1rem' };
|
|
36228
36586
|
* @private
|
36229
36587
|
*/
|
36230
36588
|
const TransferPage = (props) => {
|
36231
|
-
var _a, _b, _c, _d, _e;
|
36589
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
36232
36590
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
36233
36591
|
const strings = useLocale().strings.call;
|
36234
36592
|
const remoteParticipants = useSelector$1(getRemoteParticipants);
|
@@ -36262,7 +36620,9 @@ const TransferPage = (props) => {
|
|
36262
36620
|
React.createElement(Announcer$1, { announcementString: announcerString, ariaLive: "polite" }),
|
36263
36621
|
React.createElement(CallArrangement, { complianceBannerProps: { strings },
|
36264
36622
|
// Ignore errors from before current call. This avoids old errors from showing up when a user re-joins a call.
|
36265
|
-
errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps,
|
36623
|
+
errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps,
|
36624
|
+
/* @conditional-compile-remove(notifications) */
|
36625
|
+
showErrorNotifications: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.errorBar) !== null && _g !== void 0 ? _g : true, callControlProps: {
|
36266
36626
|
options: callControlOptions,
|
36267
36627
|
increaseFlyoutItemSize: props.mobileView
|
36268
36628
|
}, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(TransferTile, { userId: transferTileParticipant ? toFlatCommunicationIdentifier(transferTileParticipant === null || transferTileParticipant === void 0 ? void 0 : transferTileParticipant.identifier) : undefined, displayName: transferParticipantDisplayName, initialsName: transferParticipantDisplayName, statusText: pageSubject === 'transferTarget'
|
@@ -36470,7 +36830,7 @@ const stringsTrampoline = (locale) => {
|
|
36470
36830
|
* @beta
|
36471
36831
|
*/
|
36472
36832
|
const HoldPage = (props) => {
|
36473
|
-
var _a, _b, _c;
|
36833
|
+
var _a, _b, _c, _d, _e;
|
36474
36834
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
36475
36835
|
const strings = useLocale().strings.call;
|
36476
36836
|
let callControlOptions = props.mobileView
|
@@ -36485,7 +36845,9 @@ const HoldPage = (props) => {
|
|
36485
36845
|
/* @conditional-compile-remove(one-to-n-calling) */
|
36486
36846
|
'holdButton'
|
36487
36847
|
]);
|
36488
|
-
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps,
|
36848
|
+
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps,
|
36849
|
+
/* @conditional-compile-remove(notifications) */
|
36850
|
+
showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
|
36489
36851
|
options: callControlOptions,
|
36490
36852
|
increaseFlyoutItemSize: props.mobileView
|
36491
36853
|
}, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError }));
|
@@ -36981,14 +37343,24 @@ const MainScreen = (props) => {
|
|
36981
37343
|
// This works by tracking the most recent timestamp of any active error type.
|
36982
37344
|
// And then tracking when that error type was last dismissed.
|
36983
37345
|
const activeErrors = usePropsFor$1(ErrorBar).activeErrorMessages;
|
37346
|
+
/* @conditional-compile-remove(notifications) */
|
37347
|
+
const activeInCallErrors = useAdaptedSelector(errorNotificationsSelector).activeErrorMessages;
|
36984
37348
|
const [trackedErrors, setTrackedErrors] = React.useState({});
|
37349
|
+
/* @conditional-compile-remove(notifications) */
|
37350
|
+
const [trackedInCallErrors, setTrackedInCallErrors] = React.useState({});
|
36985
37351
|
React.useEffect(() => {
|
36986
37352
|
setTrackedErrors((prev) => updateTrackedErrorsWithActiveErrors(prev, activeErrors));
|
36987
|
-
|
37353
|
+
/* @conditional-compile-remove(notifications) */
|
37354
|
+
setTrackedInCallErrors((prev) => updateTrackedErrorsWithActiveErrors(prev, activeInCallErrors));
|
37355
|
+
}, [activeErrors, /* @conditional-compile-remove(notifications) */ activeInCallErrors]);
|
36988
37356
|
const onDismissError = React.useCallback((error) => {
|
36989
37357
|
setTrackedErrors((prev) => trackErrorAsDismissed(error.type, prev));
|
37358
|
+
/* @conditional-compile-remove(notifications) */
|
37359
|
+
setTrackedInCallErrors((prev) => trackErrorAsDismissed(error.type, prev));
|
36990
37360
|
}, []);
|
36991
37361
|
const latestErrors = React.useMemo(() => filterLatestErrors(activeErrors, trackedErrors), [activeErrors, trackedErrors]);
|
37362
|
+
/* @conditional-compile-remove(notifications) */
|
37363
|
+
const latestInCallErrors = React.useMemo(() => filterLatestErrors(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]);
|
36992
37364
|
const callees = useSelector$1(getTargetCallees);
|
36993
37365
|
const locale = useLocale();
|
36994
37366
|
const palette = useTheme().palette;
|
@@ -36997,6 +37369,10 @@ const MainScreen = (props) => {
|
|
36997
37369
|
const leavePageStyle = React.useMemo(() => leavingPageStyle(palette), [palette]);
|
36998
37370
|
let pageElement;
|
36999
37371
|
const [pinnedParticipants, setPinnedParticipants] = React.useState([]);
|
37372
|
+
const getLatestErrorsTrampoline = () => {
|
37373
|
+
/* @conditional-compile-remove(notifications) */
|
37374
|
+
return latestInCallErrors;
|
37375
|
+
};
|
37000
37376
|
switch (page) {
|
37001
37377
|
case 'configuration':
|
37002
37378
|
pageElement = (React.createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
|
@@ -37047,17 +37423,17 @@ const MainScreen = (props) => {
|
|
37047
37423
|
break;
|
37048
37424
|
}
|
37049
37425
|
case 'lobby':
|
37050
|
-
pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors:
|
37426
|
+
pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(), onDismissError: onDismissError, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
37051
37427
|
break;
|
37052
37428
|
case 'transferring':
|
37053
|
-
pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors:
|
37429
|
+
pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: getLatestErrorsTrampoline(), onDismissError: onDismissError, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
|
37054
37430
|
break;
|
37055
37431
|
case 'call':
|
37056
|
-
pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors:
|
37432
|
+
pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: getLatestErrorsTrampoline(), onDismissError: onDismissError, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_q = props.options) === null || _q === void 0 ? void 0 : _q.disableAutoShowDtmfDialer }));
|
37057
37433
|
break;
|
37058
37434
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
37059
37435
|
case 'hold':
|
37060
|
-
pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors:
|
37436
|
+
pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(), onDismissError: onDismissError, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
|
37061
37437
|
break;
|
37062
37438
|
}
|
37063
37439
|
useEndedCallConsoleErrors(endedCall);
|
@@ -37687,6 +38063,8 @@ class AzureCommunicationCallAdapter {
|
|
37687
38063
|
this.stopAllSpotlight.bind(this);
|
37688
38064
|
/* @conditional-compile-remove(soft-mute) */
|
37689
38065
|
this.muteParticipant.bind(this);
|
38066
|
+
/* @conditional-compile-remove(soft-mute) */
|
38067
|
+
this.muteAllRemoteParticipants.bind(this);
|
37690
38068
|
}
|
37691
38069
|
dispose() {
|
37692
38070
|
this.resetDiagnosticsForwarder();
|
@@ -38149,6 +38527,12 @@ class AzureCommunicationCallAdapter {
|
|
38149
38527
|
this.handlers.onMuteParticipant(userId);
|
38150
38528
|
});
|
38151
38529
|
}
|
38530
|
+
/* @conditional-compile-remove(soft-mute) */
|
38531
|
+
muteAllRemoteParticipants() {
|
38532
|
+
return __awaiter$5(this, void 0, void 0, function* () {
|
38533
|
+
this.handlers.onMuteAllRemoteParticipants();
|
38534
|
+
});
|
38535
|
+
}
|
38152
38536
|
startSpotlight(userIds) {
|
38153
38537
|
return __awaiter$5(this, void 0, void 0, function* () {
|
38154
38538
|
this.handlers.onStartSpotlight(userIds);
|
@@ -38966,6 +39350,12 @@ class CallWithChatBackedCallAdapter {
|
|
38966
39350
|
return this.callWithChatAdapter.muteParticipant(userId);
|
38967
39351
|
});
|
38968
39352
|
}
|
39353
|
+
/* @conditional-compile-remove(soft-mute) */
|
39354
|
+
muteAllRemoteParticipants() {
|
39355
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
39356
|
+
return this.callWithChatAdapter.muteAllRemoteParticipants();
|
39357
|
+
});
|
39358
|
+
}
|
38969
39359
|
}
|
38970
39360
|
function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
|
38971
39361
|
return {
|
@@ -40040,6 +40430,12 @@ class AzureCommunicationCallWithChatAdapter {
|
|
40040
40430
|
return this.callAdapter.muteParticipant(userId);
|
40041
40431
|
});
|
40042
40432
|
}
|
40433
|
+
/* @conditional-compile-remove(soft-mute) */
|
40434
|
+
muteAllRemoteParticipants() {
|
40435
|
+
return __awaiter$2(this, void 0, void 0, function* () {
|
40436
|
+
return this.callAdapter.muteAllRemoteParticipants();
|
40437
|
+
});
|
40438
|
+
}
|
40043
40439
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
40044
40440
|
on(event, listener) {
|
40045
40441
|
switch (event) {
|
@@ -41103,4 +41499,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
41103
41499
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
41104
41500
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
41105
41501
|
exports.useTheme = useTheme;
|
41106
|
-
//# sourceMappingURL=index-
|
41502
|
+
//# sourceMappingURL=index-BxMyKmFB.js.map
|