@azure/communication-react 1.18.0-alpha-202406180013 → 1.18.0-alpha-202406191739
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 +54 -28
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-2XnQpAq_.js → ChatMessageComponentAsRichTextEditBox-HBSSHZ2s.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-2XnQpAq_.js.map → ChatMessageComponentAsRichTextEditBox-HBSSHZ2s.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D-f-hDmN.js → RichTextSendBoxWrapper-DDN8Weyb.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D-f-hDmN.js.map → RichTextSendBoxWrapper-DDN8Weyb.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-DaC5GeKa.js → index-CAm6Qb1t.js} +497 -103
- package/dist/dist-cjs/communication-react/index-CAm6Qb1t.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/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/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/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 +1 -0
- 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/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-202406191739';
|
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
|
/**
|
@@ -5750,7 +5895,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
5750
5895
|
wordBreak: 'break-word'
|
5751
5896
|
});
|
5752
5897
|
|
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};
|
5898
|
+
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
5899
|
|
5755
5900
|
// Copyright (c) Microsoft Corporation.
|
5756
5901
|
// Licensed under the MIT License.
|
@@ -6063,6 +6208,61 @@ const dropDismissalsForInactiveErrors = (activeErrorMessages, dismissedErrors) =
|
|
6063
6208
|
}
|
6064
6209
|
return dismissedErrors;
|
6065
6210
|
};
|
6211
|
+
/**
|
6212
|
+
* @private
|
6213
|
+
* @param dismissedNotifications
|
6214
|
+
* @param toDismiss
|
6215
|
+
* @returns DismissedNotification[]
|
6216
|
+
* Always returns a new Array so that the state variable is updated, trigerring a render.
|
6217
|
+
*/
|
6218
|
+
const dismissNotification = (dismissedNotifications, toDismiss) => {
|
6219
|
+
var _a;
|
6220
|
+
const now = new Date(Date.now());
|
6221
|
+
for (const notification of dismissedNotifications) {
|
6222
|
+
if (notification.type === toDismiss.type) {
|
6223
|
+
// Bump the timestamp for latest dismissal of this error to now.
|
6224
|
+
notification.dismissedAt = now;
|
6225
|
+
notification.activeSince = toDismiss.timestamp;
|
6226
|
+
return Array.from(dismissedNotifications);
|
6227
|
+
}
|
6228
|
+
}
|
6229
|
+
const toDismissTimestamp = (_a = toDismiss.timestamp) !== null && _a !== void 0 ? _a : now;
|
6230
|
+
// Record that this error was dismissed for the first time right now.
|
6231
|
+
return [
|
6232
|
+
...dismissedNotifications,
|
6233
|
+
{
|
6234
|
+
type: toDismiss.type,
|
6235
|
+
// the error time could be sometimes later than the button click time, which cause the dismiss not working
|
6236
|
+
// so we set the dismiss time to the later one
|
6237
|
+
dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,
|
6238
|
+
activeSince: toDismiss.timestamp
|
6239
|
+
}
|
6240
|
+
];
|
6241
|
+
};
|
6242
|
+
/**
|
6243
|
+
* @private
|
6244
|
+
* @param activeNotifications
|
6245
|
+
* @param dismissedNotifications
|
6246
|
+
* @returns DismissedError[]
|
6247
|
+
* Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.
|
6248
|
+
*/
|
6249
|
+
const dropDismissalsForInactiveNotifications = (activeNotifications, dismissedNotifications) => {
|
6250
|
+
const active = new Map();
|
6251
|
+
for (const message of activeNotifications) {
|
6252
|
+
active.set(message.type, message);
|
6253
|
+
}
|
6254
|
+
// For an error such that:
|
6255
|
+
// * It was previously active, and dismissed.
|
6256
|
+
// * It did not have a timestamp associated with it.
|
6257
|
+
// * It is no longer active.
|
6258
|
+
//
|
6259
|
+
// We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.
|
6260
|
+
const shouldDeleteDismissal = (dismissed) => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;
|
6261
|
+
if (dismissedNotifications.some((dismissed) => shouldDeleteDismissal(dismissed))) {
|
6262
|
+
return dismissedNotifications.filter((dismissed) => !shouldDeleteDismissal(dismissed));
|
6263
|
+
}
|
6264
|
+
return dismissedNotifications;
|
6265
|
+
};
|
6066
6266
|
/**
|
6067
6267
|
* @private
|
6068
6268
|
* @param activeErrorMessages
|
@@ -6092,6 +6292,35 @@ const errorsToShow = (activeErrorMessages, dismissedErrors, mountTimestamp) => {
|
|
6092
6292
|
return error.timestamp > dismissal.dismissedAt;
|
6093
6293
|
});
|
6094
6294
|
};
|
6295
|
+
/**
|
6296
|
+
* @private
|
6297
|
+
* @param activeNotifications
|
6298
|
+
* @param dismissedNotifications
|
6299
|
+
* @returns ActiveNotification[]
|
6300
|
+
*/
|
6301
|
+
const notificationsToShow = (activeNotifications, dismissedNotifications, mountTimestamp) => {
|
6302
|
+
const dismissed = new Map();
|
6303
|
+
for (const notification of dismissedNotifications) {
|
6304
|
+
dismissed.set(notification.type, notification);
|
6305
|
+
}
|
6306
|
+
return activeNotifications.filter((notification) => {
|
6307
|
+
if (mountTimestamp && notification.timestamp && mountTimestamp > notification.timestamp) {
|
6308
|
+
// Notification has a timestamp and it is older than when the component was mounted.
|
6309
|
+
return false;
|
6310
|
+
}
|
6311
|
+
const dismissal = dismissed.get(notification.type);
|
6312
|
+
if (!dismissal) {
|
6313
|
+
// This error was never dismissed.
|
6314
|
+
return true;
|
6315
|
+
}
|
6316
|
+
if (!notification.timestamp) {
|
6317
|
+
// No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.
|
6318
|
+
return false;
|
6319
|
+
}
|
6320
|
+
// Error has an associated timestamp, so compare with last dismissal.
|
6321
|
+
return notification.timestamp > dismissal.dismissedAt;
|
6322
|
+
});
|
6323
|
+
};
|
6095
6324
|
/**
|
6096
6325
|
* @private
|
6097
6326
|
* @param errorType
|
@@ -6258,7 +6487,7 @@ const ErrorBar = (props) => {
|
|
6258
6487
|
setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors));
|
6259
6488
|
}, [props.activeErrorMessages, dismissedErrors, trackDismissedErrorsInternally]);
|
6260
6489
|
const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors, props.ignorePremountErrors ? mountTimestamp.current : undefined);
|
6261
|
-
return (React.createElement(react.Stack, { "data-ui-id": "
|
6490
|
+
return (React.createElement(react.Stack, { "data-ui-id": "notifications-stack" }, toShow.map((error) => (React.createElement(react.MessageBar, Object.assign({}, props, { styles: {
|
6262
6491
|
innerText: {
|
6263
6492
|
alignSelf: 'center'
|
6264
6493
|
},
|
@@ -6617,12 +6846,7 @@ const lightTheme = {
|
|
6617
6846
|
errorText: '#a80000'
|
6618
6847
|
}
|
6619
6848
|
};
|
6620
|
-
|
6621
|
-
* Preset dark theme for components exported from this library.
|
6622
|
-
*
|
6623
|
-
* @public
|
6624
|
-
*/
|
6625
|
-
const darkTheme = {
|
6849
|
+
const partialDarkTheme = {
|
6626
6850
|
palette: {
|
6627
6851
|
themePrimary: '#2899f5',
|
6628
6852
|
themeLighterAlt: '#02060a',
|
@@ -6648,18 +6872,23 @@ const darkTheme = {
|
|
6648
6872
|
white: '#252423',
|
6649
6873
|
whiteTranslucent40: 'rgba(0, 0, 0, 0.4)'
|
6650
6874
|
},
|
6651
|
-
|
6875
|
+
semanticColors: {
|
6876
|
+
errorText: '#f1707b'
|
6877
|
+
}
|
6878
|
+
};
|
6879
|
+
/**
|
6880
|
+
* Preset dark theme for components exported from this library.
|
6881
|
+
*
|
6882
|
+
* @public
|
6883
|
+
*/
|
6884
|
+
const darkTheme = Object.assign(Object.assign({}, react.createTheme(Object.assign(Object.assign({}, partialDarkTheme), { isInverted: true }))), { callingPalette: {
|
6652
6885
|
callRed: '#c4314b',
|
6653
6886
|
callRedDark: '#a42e43',
|
6654
6887
|
callRedDarker: '#8b2c3d',
|
6655
6888
|
iconWhite: '#ffffff',
|
6656
6889
|
raiseHandGold: '#eaa300',
|
6657
6890
|
videoTileLabelBackgroundLight: 'rgba(37,36,35,0.8)'
|
6658
|
-
}
|
6659
|
-
semanticColors: {
|
6660
|
-
errorText: '#f1707b'
|
6661
|
-
}
|
6662
|
-
};
|
6891
|
+
} });
|
6663
6892
|
/* @conditional-compile-remove(image-overlay-theme) */
|
6664
6893
|
/**
|
6665
6894
|
* Preset dark theme for the ImageOverlay component.
|
@@ -9583,7 +9812,7 @@ const mapBorderRadiusTokens = (effects) => {
|
|
9583
9812
|
*/
|
9584
9813
|
const createV9Theme = (themeV8, baseThemeV9) => {
|
9585
9814
|
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,
|
9815
|
+
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
9816
|
// Fix for an issue with black borders for iOS that are added with 'after' selector
|
9588
9817
|
colorStrokeFocus2: 'transparent' });
|
9589
9818
|
};
|
@@ -10071,10 +10300,10 @@ const richTextEditorWrapperStyle = (theme, addTopOffset) => {
|
|
10071
10300
|
tableLayout: 'auto',
|
10072
10301
|
'& tr': {
|
10073
10302
|
background: 'transparent',
|
10074
|
-
border: `1px solid ${theme.palette.
|
10303
|
+
border: `1px solid ${theme.palette.neutralSecondary}`,
|
10075
10304
|
'& td': {
|
10076
10305
|
background: 'transparent',
|
10077
|
-
border: `1px solid ${theme.palette.
|
10306
|
+
border: `1px solid ${theme.palette.neutralSecondary}`,
|
10078
10307
|
wordBreak: 'normal',
|
10079
10308
|
padding: '0.125rem 0.25rem',
|
10080
10309
|
verticalAlign: 'top'
|
@@ -10144,16 +10373,26 @@ const ribbonOverflowButtonRootStyles = (theme) => {
|
|
10144
10373
|
}
|
10145
10374
|
};
|
10146
10375
|
};
|
10147
|
-
const ribbonButtonRootStyles = (
|
10376
|
+
const ribbonButtonRootStyles = (iconColor, hoverIconColor) => {
|
10148
10377
|
return {
|
10149
10378
|
backgroundColor: 'transparent',
|
10150
10379
|
selectors: {
|
10151
|
-
//
|
10380
|
+
// media query applies only if the device allows real hover interactions
|
10381
|
+
// and hover styles are not applied on touch- only devices where the hover state cannot be accurately detected
|
10382
|
+
'@media (hover: hover)': {
|
10383
|
+
':hover .ms-Button-icon': {
|
10384
|
+
color: hoverIconColor
|
10385
|
+
},
|
10386
|
+
':hover .ms-Button-menuIcon': {
|
10387
|
+
color: hoverIconColor
|
10388
|
+
}
|
10389
|
+
},
|
10390
|
+
// the classes needs here to apply to styles for icons because of the specificity
|
10152
10391
|
'.ms-Button-icon': {
|
10153
|
-
color:
|
10392
|
+
color: iconColor
|
10154
10393
|
},
|
10155
10394
|
'.ms-Button-menuIcon': {
|
10156
|
-
color:
|
10395
|
+
color: iconColor
|
10157
10396
|
}
|
10158
10397
|
}
|
10159
10398
|
};
|
@@ -10166,13 +10405,14 @@ const toolbarButtonStyle = (theme) => {
|
|
10166
10405
|
icon: { color: theme.palette.neutralPrimary, height: 'auto' },
|
10167
10406
|
menuIcon: { color: theme.palette.neutralPrimary, height: 'auto' },
|
10168
10407
|
root: { minWidth: 'auto', backgroundColor: 'transparent' },
|
10169
|
-
rootChecked: ribbonButtonRootStyles(theme),
|
10170
|
-
|
10171
|
-
|
10172
|
-
|
10173
|
-
|
10174
|
-
|
10175
|
-
|
10408
|
+
rootChecked: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10409
|
+
// there is a bug for Android where the press action is considered hover sometimes
|
10410
|
+
rootHovered: ribbonButtonRootStyles(theme.palette.neutralPrimary, theme.palette.themePrimary),
|
10411
|
+
rootCheckedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10412
|
+
rootCheckedPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10413
|
+
rootPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10414
|
+
rootExpanded: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
|
10415
|
+
rootExpandedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary)
|
10176
10416
|
};
|
10177
10417
|
};
|
10178
10418
|
const rootRibbonTableButtonStyle = (theme) => {
|
@@ -11158,7 +11398,6 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11158
11398
|
const editorDiv = React.useRef(null);
|
11159
11399
|
const theme = useTheme();
|
11160
11400
|
const [contextMenuProps, setContextMenuProps] = React.useState(null);
|
11161
|
-
const tableCellSelectionLightThemeBackgroundColor = React.useRef(undefined);
|
11162
11401
|
React.useImperativeHandle(ref, () => {
|
11163
11402
|
return {
|
11164
11403
|
focus() {
|
@@ -11199,19 +11438,15 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11199
11438
|
var _a;
|
11200
11439
|
(_a = editor.current) === null || _a === void 0 ? void 0 : _a.setDarkModeState(isDarkThemedValue);
|
11201
11440
|
}, [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
11441
|
const placeholderPlugin = React.useMemo(() => {
|
11213
|
-
|
11214
|
-
|
11442
|
+
var _a;
|
11443
|
+
const textColor = (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.neutralSecondary;
|
11444
|
+
return new PlaceholderPlugin('', textColor
|
11445
|
+
? {
|
11446
|
+
textColor: textColor
|
11447
|
+
}
|
11448
|
+
: undefined);
|
11449
|
+
}, [theme]);
|
11215
11450
|
React.useEffect(() => {
|
11216
11451
|
if (placeholderText !== undefined) {
|
11217
11452
|
placeholderPlugin.updatePlaceholder(placeholderText);
|
@@ -11260,13 +11495,6 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11260
11495
|
const onContextMenuDismiss = React.useCallback(() => {
|
11261
11496
|
setContextMenuProps(null);
|
11262
11497
|
}, []);
|
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
11498
|
const copyPastePlugin = React.useMemo(() => {
|
11271
11499
|
return new CopyPastePlugin();
|
11272
11500
|
}, []);
|
@@ -11306,7 +11534,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11306
11534
|
tableContextMenuPlugin
|
11307
11535
|
]);
|
11308
11536
|
React.useEffect(() => {
|
11309
|
-
var _a
|
11537
|
+
var _a;
|
11310
11538
|
const initialModel = createEditorInitialModel(initialContent, contentModel);
|
11311
11539
|
if (editorDiv.current) {
|
11312
11540
|
editor.current = new roosterjsContentModelCore.Editor(editorDiv.current, {
|
@@ -11315,7 +11543,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11315
11543
|
doNotAdjustEditorColor: true,
|
11316
11544
|
// TODO: confirm the color during inline images implementation
|
11317
11545
|
imageSelectionBorderColor: 'blue',
|
11318
|
-
tableCellSelectionBackgroundColor:
|
11546
|
+
tableCellSelectionBackgroundColor: theme.palette.neutralLight,
|
11319
11547
|
plugins: plugins,
|
11320
11548
|
initialModel: initialModel,
|
11321
11549
|
defaultModelToDomOptions: {
|
@@ -11324,12 +11552,11 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11324
11552
|
border: borderApplier,
|
11325
11553
|
dataset: dataSetApplier
|
11326
11554
|
}
|
11327
|
-
}
|
11328
|
-
getDarkColor: getDarkColor
|
11555
|
+
}
|
11329
11556
|
});
|
11330
11557
|
}
|
11331
11558
|
if (autoFocus === 'sendBoxTextField') {
|
11332
|
-
(
|
11559
|
+
(_a = editor.current) === null || _a === void 0 ? void 0 : _a.focus();
|
11333
11560
|
}
|
11334
11561
|
return () => {
|
11335
11562
|
if (editor.current) {
|
@@ -11339,11 +11566,11 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11339
11566
|
};
|
11340
11567
|
// don't update the editor on deps update as everything is handled in separate hooks or plugins
|
11341
11568
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
11342
|
-
}, []);
|
11569
|
+
}, [theme, plugins]);
|
11343
11570
|
return (React.createElement("div", { "data-testid": 'rich-text-editor-wrapper' },
|
11344
11571
|
showRichTextEditorFormatting && toolbar,
|
11345
11572
|
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) })),
|
11573
|
+
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
11574
|
contextMenuProps && React.createElement(react.ContextualMenu, Object.assign({}, contextMenuProps, { calloutProps: { isBeakVisible: false } }))));
|
11348
11575
|
});
|
11349
11576
|
const createEditorInitialModel = (initialContent, contentModel) => {
|
@@ -12053,7 +12280,7 @@ const useChatMessageCommonStyles = reactComponents.makeStyles({
|
|
12053
12280
|
borderCollapse: 'collapse',
|
12054
12281
|
tableLayout: 'auto',
|
12055
12282
|
width: '100%',
|
12056
|
-
'& tr': Object.assign(Object.assign({}, reactComponents.shorthands.border('1px', 'solid', `${reactComponents.tokens.
|
12283
|
+
'& 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
12284
|
}
|
12058
12285
|
},
|
12059
12286
|
failed: {
|
@@ -13699,7 +13926,7 @@ class _ErrorBoundary extends React.Component {
|
|
13699
13926
|
// Copyright (c) Microsoft Corporation.
|
13700
13927
|
// Licensed under the MIT License.
|
13701
13928
|
/* @conditional-compile-remove(rich-text-editor) */
|
13702
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13929
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-HBSSHZ2s.js'); }));
|
13703
13930
|
/**
|
13704
13931
|
* @private
|
13705
13932
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -13707,7 +13934,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
13707
13934
|
*
|
13708
13935
|
* @conditional-compile-remove(rich-text-editor)
|
13709
13936
|
*/
|
13710
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13937
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-HBSSHZ2s.js'); });
|
13711
13938
|
/**
|
13712
13939
|
* @private
|
13713
13940
|
*/
|
@@ -15243,7 +15470,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
15243
15470
|
/* @conditional-compile-remove(hide-attendee-name) */
|
15244
15471
|
displayName = formatDisplayName();
|
15245
15472
|
const callingPalette = theme.callingPalette;
|
15246
|
-
const
|
15473
|
+
const isPinned = pinnedParticipants && (pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId));
|
15474
|
+
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
15475
|
? () => {
|
15248
15476
|
var _a;
|
15249
15477
|
return (React.createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.5rem' } },
|
@@ -15260,7 +15488,7 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
15260
15488
|
callingParticipant.isScreenSharing && (React.createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
|
15261
15489
|
callingParticipant.isMuted && (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })),
|
15262
15490
|
callingParticipant.spotlight && React.createElement(react.Icon, { iconName: "ParticipantItemSpotlighted", className: iconStyles$2 }),
|
15263
|
-
|
15491
|
+
isPinned && React.createElement(react.Icon, { iconName: "ParticipantItemPinned", className: iconStyles$2 })));
|
15264
15492
|
}
|
15265
15493
|
: () => null;
|
15266
15494
|
const onRenderAvatarWithRaiseHand = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.raisedHand) && onRenderAvatar
|
@@ -15999,17 +16227,17 @@ const useVideoTileContextualMenuProps = (props) => {
|
|
15999
16227
|
}
|
16000
16228
|
}
|
16001
16229
|
/* @conditional-compile-remove(soft-mute) */
|
16002
|
-
if (onMuteParticipant) {
|
16230
|
+
if (onMuteParticipant && (strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel)) {
|
16003
16231
|
items.push({
|
16004
16232
|
key: 'mute',
|
16005
|
-
text:
|
16233
|
+
text: strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel,
|
16006
16234
|
iconProps: {
|
16007
16235
|
iconName: 'ContextualMenuMicMutedIcon',
|
16008
16236
|
styles: { root: { lineHeight: 0 } }
|
16009
16237
|
},
|
16010
16238
|
onClick: () => onMuteParticipant(participant.userId),
|
16011
16239
|
'data-ui-id': 'video-tile-mute-participant',
|
16012
|
-
ariaLabel:
|
16240
|
+
ariaLabel: strings === null || strings === void 0 ? void 0 : strings.muteParticipantMenuItemLabel,
|
16013
16241
|
disabled: participant.isMuted
|
16014
16242
|
});
|
16015
16243
|
}
|
@@ -22453,7 +22681,7 @@ const _TroubleshootingGuideErrorBar = (props) => {
|
|
22453
22681
|
// Without this behaviour, this `useEffect` block would cause a render loop.
|
22454
22682
|
React.useEffect(() => setDismissedErrors(dropDismissalsForInactiveErrors(props.activeErrorMessages, dismissedErrors)), [props.activeErrorMessages, dismissedErrors]);
|
22455
22683
|
const toShow = errorsToShow(props.activeErrorMessages, dismissedErrors);
|
22456
|
-
return (React.createElement(react.Stack, { "data-ui-id": "
|
22684
|
+
return (React.createElement(react.Stack, { "data-ui-id": "notifications-stack" }, toShow.map((error) => {
|
22457
22685
|
const devicePermissionErrorBar = (React.createElement("div", null,
|
22458
22686
|
strings[error.type],
|
22459
22687
|
' ',
|
@@ -22622,7 +22850,7 @@ const _VideoBackgroundEffectsPicker = (props) => {
|
|
22622
22850
|
React.createElement(react.Label, { className: react.mergeStyles((_c = props.styles) === null || _c === void 0 ? void 0 : _c.label) }, props.label),
|
22623
22851
|
optionsByRow.map((options, rowIndex) => {
|
22624
22852
|
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" },
|
22853
|
+
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
22854
|
options.map((option, i) => {
|
22627
22855
|
if (i === 0 && rowIndex === 0) {
|
22628
22856
|
return (React.createElement(_VideoEffectsItem, Object.assign({}, option, { itemKey: option.itemKey, key: option.itemKey, componentRef: props.componentRef })));
|
@@ -23386,18 +23614,28 @@ const Notifications = (props) => {
|
|
23386
23614
|
const localeStrings = useLocale$1().strings.notifications;
|
23387
23615
|
const strings = (_a = props.strings) !== null && _a !== void 0 ? _a : localeStrings;
|
23388
23616
|
const maxNotificationsToShow = (_b = props.maxNotificationsToShow) !== null && _b !== void 0 ? _b : 2;
|
23389
|
-
const
|
23617
|
+
const trackDismissedNotificationsInternally = !props.onDismissNotification;
|
23618
|
+
// Timestamp for when this comopnent is first mounted.
|
23619
|
+
// Never updated through the lifecycle of this component.
|
23620
|
+
const mountTimestamp = React.useRef(new Date(Date.now()));
|
23621
|
+
const [dismissedNotifications, setDismissedNotifications] = React.useState([]);
|
23622
|
+
// dropDismissalsForInactiveNotifications only returns a new object if `dismissedErrors` actually changes.
|
23623
|
+
// Without this behaviour, this `useEffect` block would cause a render loop.
|
23390
23624
|
React.useEffect(() => {
|
23391
|
-
|
23392
|
-
|
23625
|
+
trackDismissedNotificationsInternally &&
|
23626
|
+
setDismissedNotifications(dropDismissalsForInactiveNotifications(props.activeNotifications, dismissedNotifications));
|
23627
|
+
}, [props.activeNotifications, dismissedNotifications, trackDismissedNotificationsInternally]);
|
23628
|
+
const activeNotifications = notificationsToShow(props.activeNotifications, dismissedNotifications, props.ignorePremountNotifications ? mountTimestamp.current : undefined);
|
23393
23629
|
return (React.createElement(react.Stack, { "data-ui-id": "notifications-stack", style: {
|
23394
23630
|
width: 'fit-content'
|
23395
23631
|
} }, activeNotifications.map((notification, index) => {
|
23396
23632
|
if (index < maxNotificationsToShow) {
|
23397
23633
|
return (React.createElement("div", { key: index, style: { marginBottom: `${index === maxNotificationsToShow - 1 ? 0 : '0.25rem'}` } },
|
23398
23634
|
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
|
-
|
23635
|
+
var _a;
|
23636
|
+
trackDismissedNotificationsInternally
|
23637
|
+
? setDismissedNotifications(dismissNotification(dismissedNotifications, notification))
|
23638
|
+
: (_a = props.onDismissNotification) === null || _a === void 0 ? void 0 : _a.call(props, notification);
|
23401
23639
|
notification.onDismiss && notification.onDismiss();
|
23402
23640
|
}, showStackedEffect: index === maxNotificationsToShow - 1 && activeNotifications.length > maxNotificationsToShow, autoDismiss: notification.autoDismiss })));
|
23403
23641
|
}
|
@@ -24402,7 +24640,8 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
24402
24640
|
options.attachments[0] &&
|
24403
24641
|
!options.attachments[0].attachmentType) {
|
24404
24642
|
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) })
|
24643
|
+
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) }),
|
24644
|
+
type: options.type
|
24406
24645
|
};
|
24407
24646
|
yield chatThreadClient.sendMessage(sendMessageRequest, chatSDKOptions);
|
24408
24647
|
return;
|
@@ -27138,7 +27377,7 @@ const isChatError = (e) => {
|
|
27138
27377
|
return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
|
27139
27378
|
};
|
27140
27379
|
|
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};
|
27380
|
+
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
27381
|
|
27143
27382
|
// Copyright (c) Microsoft Corporation.
|
27144
27383
|
// Licensed under the MIT License.
|
@@ -28080,7 +28319,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
28080
28319
|
/**
|
28081
28320
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
28082
28321
|
*/
|
28083
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28322
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DDN8Weyb.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
28084
28323
|
/**
|
28085
28324
|
* @private
|
28086
28325
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -28088,7 +28327,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
28088
28327
|
*
|
28089
28328
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28090
28329
|
*/
|
28091
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28330
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DDN8Weyb.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
28092
28331
|
/**
|
28093
28332
|
* @private
|
28094
28333
|
*/
|
@@ -29317,6 +29556,10 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
29317
29556
|
/* @conditional-compile-remove(soft-mute) */
|
29318
29557
|
onMuteParticipant: (userId) => __awaiter$k(void 0, void 0, void 0, function* () {
|
29319
29558
|
yield adapter.muteParticipant(userId);
|
29559
|
+
}),
|
29560
|
+
/* @conditional-compile-remove(soft-mute) */
|
29561
|
+
onMuteAllRemoteParticipants: () => __awaiter$k(void 0, void 0, void 0, function* () {
|
29562
|
+
yield adapter.muteAllRemoteParticipants();
|
29320
29563
|
})
|
29321
29564
|
};
|
29322
29565
|
});
|
@@ -32866,7 +33109,9 @@ const PEOPLE_SIDE_PANE_ID = 'people';
|
|
32866
33109
|
const usePeoplePane = (props) => {
|
32867
33110
|
const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight,
|
32868
33111
|
/* @conditional-compile-remove(soft-mute) */
|
32869
|
-
onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem
|
33112
|
+
onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem,
|
33113
|
+
/* @conditional-compile-remove(soft-mute) */
|
33114
|
+
onMuteAllRemoteParticipants } = props;
|
32870
33115
|
const closePane = React.useCallback(() => {
|
32871
33116
|
var _a;
|
32872
33117
|
updateSidePaneRenderer(undefined);
|
@@ -32875,6 +33120,25 @@ const usePeoplePane = (props) => {
|
|
32875
33120
|
const localeStrings = useLocale().strings.call;
|
32876
33121
|
/* @conditional-compile-remove(soft-mute) */
|
32877
33122
|
const remoteParticipants = useSelector$1(getRemoteParticipants);
|
33123
|
+
/* @conditional-compile-remove(soft-mute) */
|
33124
|
+
const [showMuteAllPrompt, setShowMuteAllPrompt] = React.useState(false);
|
33125
|
+
/* @conditional-compile-remove(soft-mute) */
|
33126
|
+
const muteAllPromptLabels = React.useMemo(() => ({
|
33127
|
+
confirmButtonLabel: localeStrings.muteAllConfirmButtonLabel,
|
33128
|
+
heading: localeStrings.muteAllDialogTitle,
|
33129
|
+
text: localeStrings.muteAllDialogContent,
|
33130
|
+
cancelButtonLabel: localeStrings.muteAllCancelButtonLabel
|
33131
|
+
}), [
|
33132
|
+
localeStrings.muteAllConfirmButtonLabel,
|
33133
|
+
localeStrings.muteAllDialogTitle,
|
33134
|
+
localeStrings.muteAllDialogContent,
|
33135
|
+
localeStrings.muteAllCancelButtonLabel
|
33136
|
+
]);
|
33137
|
+
/* @conditional-compile-remove(soft-mute) */
|
33138
|
+
const onMuteAllPromptConfirm = React.useCallback(() => {
|
33139
|
+
onMuteAllRemoteParticipants && onMuteAllRemoteParticipants();
|
33140
|
+
setShowMuteAllPrompt(false);
|
33141
|
+
}, [onMuteAllRemoteParticipants, setShowMuteAllPrompt]);
|
32878
33142
|
const sidePaneHeaderMenuProps = React.useMemo(() => {
|
32879
33143
|
const menuItems = [];
|
32880
33144
|
if (onStopAllSpotlight && spotlightedParticipantUserIds && spotlightedParticipantUserIds.length > 0) {
|
@@ -32888,10 +33152,44 @@ const usePeoplePane = (props) => {
|
|
32888
33152
|
ariaLabel: localeStrings.stopAllSpotlightMenuLabel
|
32889
33153
|
});
|
32890
33154
|
}
|
33155
|
+
/* @conditional-compile-remove(soft-mute) */
|
33156
|
+
if (onMuteAllRemoteParticipants && remoteParticipants) {
|
33157
|
+
let isAllMuted = true;
|
33158
|
+
if (remoteParticipants) {
|
33159
|
+
for (const participant of Object.values(remoteParticipants)) {
|
33160
|
+
if (!participant.isMuted) {
|
33161
|
+
isAllMuted = false;
|
33162
|
+
break;
|
33163
|
+
}
|
33164
|
+
}
|
33165
|
+
}
|
33166
|
+
menuItems.push({
|
33167
|
+
key: 'muteAllRemoteParticipants',
|
33168
|
+
text: localeStrings.muteAllMenuLabel,
|
33169
|
+
iconProps: {
|
33170
|
+
iconName: 'ContextualMenuMicMutedIcon',
|
33171
|
+
styles: { root: { lineHeight: 0 } }
|
33172
|
+
},
|
33173
|
+
onClick: () => {
|
33174
|
+
setShowMuteAllPrompt(true);
|
33175
|
+
},
|
33176
|
+
'data-ui-id': 'participant-item-mute-all-remote-participants',
|
33177
|
+
ariaLabel: localeStrings.muteAllMenuLabel,
|
33178
|
+
disabled: isAllMuted
|
33179
|
+
});
|
33180
|
+
}
|
32891
33181
|
return {
|
32892
33182
|
items: menuItems
|
32893
33183
|
};
|
32894
|
-
}, [
|
33184
|
+
}, [
|
33185
|
+
onStopAllSpotlight,
|
33186
|
+
spotlightedParticipantUserIds,
|
33187
|
+
localeStrings.stopAllSpotlightMenuLabel,
|
33188
|
+
/* @conditional-compile-remove(soft-mute) */ localeStrings.muteAllMenuLabel,
|
33189
|
+
/* @conditional-compile-remove(soft-mute) */ onMuteAllRemoteParticipants,
|
33190
|
+
/* @conditional-compile-remove(soft-mute) */ remoteParticipants,
|
33191
|
+
/* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt
|
33192
|
+
]);
|
32895
33193
|
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
33194
|
const onFetchParticipantMenuItemsForCallComposite = React.useCallback((participantId, myUserId, defaultMenuItems) => {
|
32897
33195
|
var _a;
|
@@ -33039,7 +33337,10 @@ const usePeoplePane = (props) => {
|
|
33039
33337
|
localeStrings.pinParticipantMenuItemAriaLabel
|
33040
33338
|
]);
|
33041
33339
|
const onRenderContent = React.useCallback(() => {
|
33042
|
-
return (React.createElement(
|
33340
|
+
return (React.createElement(React.Fragment, null,
|
33341
|
+
/* @conditional-compile-remove(soft-mute) */
|
33342
|
+
React.createElement(Prompt, Object.assign({}, muteAllPromptLabels, { styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, onConfirm: () => onMuteAllPromptConfirm(), isOpen: showMuteAllPrompt, onCancel: () => setShowMuteAllPrompt(false) })),
|
33343
|
+
React.createElement(PeoplePaneContent, { inviteLink: inviteLink, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems: setDrawerMenuItems, mobileView: mobileView, setParticipantActioned: setParticipantActioned, participantListHeadingMoreButtonProps: sidePaneHeaderMenuProps, pinnedParticipants: pinnedParticipants })));
|
33043
33344
|
}, [
|
33044
33345
|
inviteLink,
|
33045
33346
|
mobileView,
|
@@ -33048,7 +33349,11 @@ const usePeoplePane = (props) => {
|
|
33048
33349
|
setDrawerMenuItems,
|
33049
33350
|
setParticipantActioned,
|
33050
33351
|
sidePaneHeaderMenuProps,
|
33051
|
-
pinnedParticipants
|
33352
|
+
pinnedParticipants,
|
33353
|
+
/* @conditional-compile-remove(soft-mute) */ showMuteAllPrompt,
|
33354
|
+
/* @conditional-compile-remove(soft-mute) */ setShowMuteAllPrompt,
|
33355
|
+
/* @conditional-compile-remove(soft-mute) */ muteAllPromptLabels,
|
33356
|
+
/* @conditional-compile-remove(soft-mute) */ onMuteAllPromptConfirm
|
33052
33357
|
]);
|
33053
33358
|
const sidePaneRenderer = React.useMemo(() => ({
|
33054
33359
|
headerRenderer: onRenderHeader,
|
@@ -33387,13 +33692,40 @@ const VideoEffectsPaneContent = (props) => {
|
|
33387
33692
|
return VideoEffectsPaneTrampoline(onDismissError, props.updateFocusHandle, activeVideoEffectError, selectableVideoEffects, onEffectChange);
|
33388
33693
|
};
|
33389
33694
|
const VideoEffectsPaneTrampoline = (onDismissError, updateFocusHandle, activeVideoEffectError, selectableVideoEffects, onEffectChange) => {
|
33695
|
+
var _a, _b;
|
33390
33696
|
const selectedEffect = useSelector$1(activeVideoBackgroundEffectSelector);
|
33391
33697
|
const isCameraOn = useSelector$1(localVideoSelector).isAvailable;
|
33392
33698
|
const showWarning = !isCameraOn && selectedEffect !== 'none';
|
33393
33699
|
const locale = useLocale();
|
33700
|
+
/* @conditional-compile-remove(notifications) */
|
33701
|
+
const videoEffectErrorStrings = {
|
33702
|
+
title: (_a = locale.strings.call.unableToStartVideoEffect) !== null && _a !== void 0 ? _a : '',
|
33703
|
+
closeButtonAriaLabel: locale.strings.call.close
|
33704
|
+
};
|
33705
|
+
/* @conditional-compile-remove(notifications) */
|
33706
|
+
const warningStrings = {
|
33707
|
+
title: (_b = locale.strings.call.cameraOffBackgroundEffectWarningText) !== null && _b !== void 0 ? _b : '',
|
33708
|
+
closeButtonAriaLabel: locale.strings.call.close
|
33709
|
+
};
|
33710
|
+
/* @conditional-compile-remove(notifications) */
|
33711
|
+
const [errorNotificationDismissed, setErrorNotificationDismissed] = React.useState(false);
|
33712
|
+
/* @conditional-compile-remove(notifications) */
|
33713
|
+
const [warningNotificationDismissed, setWarningNotificationDismissed] = React.useState(false);
|
33714
|
+
const videoEffectErrorTrampoline = () => {
|
33715
|
+
/* @conditional-compile-remove(notifications) */
|
33716
|
+
return (React.createElement(React.Fragment, null,
|
33717
|
+
activeVideoEffectError && isCameraOn && !errorNotificationDismissed && (React.createElement(NotificationBar, { onDismiss: () => {
|
33718
|
+
if (activeVideoEffectError) {
|
33719
|
+
onDismissError(activeVideoEffectError);
|
33720
|
+
}
|
33721
|
+
setErrorNotificationDismissed(true);
|
33722
|
+
}, notificationBarStrings: videoEffectErrorStrings })),
|
33723
|
+
showWarning && !warningNotificationDismissed && (React.createElement(NotificationBar, { onDismiss: () => {
|
33724
|
+
setWarningNotificationDismissed(true);
|
33725
|
+
}, notificationBarStrings: warningStrings }))));
|
33726
|
+
};
|
33394
33727
|
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)),
|
33728
|
+
videoEffectErrorTrampoline(),
|
33397
33729
|
React.createElement(_VideoBackgroundEffectsPicker, { label: locale.strings.call.videoEffectsPaneBackgroundSelectionTitle, styles: backgroundPickerStyles, options: selectableVideoEffects !== null && selectableVideoEffects !== void 0 ? selectableVideoEffects : [], onChange: onEffectChange, selectedEffectKey: selectedEffect, componentRef: updateFocusHandle })));
|
33398
33730
|
};
|
33399
33731
|
const backgroundPickerStyles = {
|
@@ -33409,7 +33741,7 @@ const backgroundPickerStyles = {
|
|
33409
33741
|
/** @private */
|
33410
33742
|
const VIDEO_EFFECTS_SIDE_PANE_ID = 'videoeffects';
|
33411
33743
|
/** @private */
|
33412
|
-
const VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM =
|
33744
|
+
const VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM = 22;
|
33413
33745
|
/** @private */
|
33414
33746
|
const useVideoEffectsPane = (updateSidePaneRenderer, mobileView, latestErrors, onDismissError, cameraButtonRef) => {
|
33415
33747
|
const closePane = React.useCallback(() => {
|
@@ -34026,6 +34358,8 @@ const CallArrangement = (props) => {
|
|
34026
34358
|
const locale = useLocale();
|
34027
34359
|
const role = (_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.role;
|
34028
34360
|
const videoGalleryProps = usePropsFor$1(VideoGallery);
|
34361
|
+
/* @conditional-compile-remove(soft-mute) */
|
34362
|
+
const muteAllHandlers = useHandlers();
|
34029
34363
|
const { setPromptProps, setIsPromptOpen, hideSpotlightButtons } = props;
|
34030
34364
|
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight,
|
34031
34365
|
/* @conditional-compile-remove(soft-mute) */
|
@@ -34062,11 +34396,15 @@ const CallArrangement = (props) => {
|
|
34062
34396
|
return {
|
34063
34397
|
onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role !== null && role !== void 0 ? role : '')
|
34064
34398
|
? onMuteParticipant
|
34399
|
+
: undefined,
|
34400
|
+
onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role !== null && role !== void 0 ? role : '')
|
34401
|
+
? muteAllHandlers.onMuteAllRemoteParticipants
|
34065
34402
|
: undefined
|
34066
34403
|
};
|
34067
34404
|
}, [
|
34068
34405
|
/* @conditional-compile-remove(soft-mute) */ onMuteParticipant,
|
34069
|
-
/* @conditional-compile-remove(soft-mute) */ role
|
34406
|
+
/* @conditional-compile-remove(soft-mute) */ role,
|
34407
|
+
/* @conditional-compile-remove(soft-mute) */ muteAllHandlers.onMuteAllRemoteParticipants
|
34070
34408
|
]);
|
34071
34409
|
const spotlightPeoplePaneProps = React.useMemo(() => {
|
34072
34410
|
return {
|
@@ -34157,14 +34495,24 @@ const CallArrangement = (props) => {
|
|
34157
34495
|
const drawerContainerStylesValue = React.useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
|
34158
34496
|
const canUnmute = role !== 'Consumer' ? true : false;
|
34159
34497
|
let filteredLatestErrors = props.errorBarProps !== false ? props.latestErrors : [];
|
34498
|
+
/* @conditional-compile-remove(notifications) */
|
34499
|
+
let filteredLatestErrorNotifications = props.showErrorNotifications
|
34500
|
+
? props.latestErrors
|
34501
|
+
: [];
|
34160
34502
|
const isCameraOn = useSelector$1(localVideoSelector).isAvailable;
|
34161
34503
|
// TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
|
34162
|
-
if (role === 'Consumer' &&
|
34504
|
+
if (role === 'Consumer' &&
|
34505
|
+
(props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
|
34163
34506
|
filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
|
34507
|
+
/* @conditional-compile-remove(notifications) */
|
34508
|
+
filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
|
34164
34509
|
}
|
34165
34510
|
const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);
|
34166
|
-
if ((isVideoPaneOpen || !isCameraOn) &&
|
34511
|
+
if ((isVideoPaneOpen || !isCameraOn) &&
|
34512
|
+
(props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
|
34167
34513
|
filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');
|
34514
|
+
/* @conditional-compile-remove(notifications) */
|
34515
|
+
filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'unableToStartVideoEffect');
|
34168
34516
|
}
|
34169
34517
|
/* @conditional-compile-remove(acs-close-captions) */
|
34170
34518
|
const isTeamsCaptions = useSelector$1(getCaptionsKind) === 'TeamsCaptions';
|
@@ -34183,6 +34531,11 @@ const CallArrangement = (props) => {
|
|
34183
34531
|
const filteredCapabilitesChangedNotifications = props.mobileView
|
34184
34532
|
? (_e = props.capabilitiesChangedNotificationBarProps) === null || _e === void 0 ? void 0 : _e.capabilitiesChangedNotifications.filter((notification) => notification.capabilityName !== 'shareScreen')
|
34185
34533
|
: (_f = props.capabilitiesChangedNotificationBarProps) === null || _f === void 0 ? void 0 : _f.capabilitiesChangedNotifications;
|
34534
|
+
const errorNotificationTrampoline = () => {
|
34535
|
+
/* @conditional-compile-remove(notifications) */
|
34536
|
+
return (React.createElement(React.Fragment, null, props.showErrorNotifications && (React.createElement(react.Stack, { styles: bannerNotificationStyles, horizontalAlign: "center", verticalAlign: "center" },
|
34537
|
+
React.createElement(Notifications, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications })))));
|
34538
|
+
};
|
34186
34539
|
return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
|
34187
34540
|
React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
|
34188
34541
|
React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
|
@@ -34211,8 +34564,7 @@ const CallArrangement = (props) => {
|
|
34211
34564
|
React.createElement(react.Stack.Item, { styles: notificationsContainerStyles },
|
34212
34565
|
React.createElement(react.Stack, { styles: bannerNotificationStyles },
|
34213
34566
|
React.createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
|
34214
|
-
|
34215
|
-
React.createElement(ErrorBar, Object.assign({}, props.errorBarProps, { onDismissError: props.onDismissError, activeErrorMessages: filteredLatestErrors })))),
|
34567
|
+
errorNotificationTrampoline(),
|
34216
34568
|
props.capabilitiesChangedNotificationBarProps &&
|
34217
34569
|
props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
|
34218
34570
|
React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
|
@@ -34674,7 +35026,7 @@ const DtmfDialpadPage = (props) => {
|
|
34674
35026
|
* @private
|
34675
35027
|
*/
|
34676
35028
|
const CallPage = (props) => {
|
34677
|
-
var _a;
|
35029
|
+
var _a, _b;
|
34678
35030
|
const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants, setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false } = props;
|
34679
35031
|
// To use useProps to get these states, we need to create another file wrapping Call,
|
34680
35032
|
// It seems unnecessary in this case, so we get the updated states using this approach.
|
@@ -34705,12 +35057,14 @@ const CallPage = (props) => {
|
|
34705
35057
|
}
|
34706
35058
|
};
|
34707
35059
|
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,
|
35060
|
+
React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps,
|
35061
|
+
/* @conditional-compile-remove(notifications) */
|
35062
|
+
showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
|
34709
35063
|
callInvitationURL: callInvitationURL,
|
34710
35064
|
onFetchParticipantMenuItems: onFetchParticipantMenuItems,
|
34711
35065
|
options: callControlOptions,
|
34712
35066
|
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: (
|
35067
|
+
}, 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
35068
|
React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
|
34715
35069
|
};
|
34716
35070
|
/**
|
@@ -36104,7 +36458,7 @@ const LobbyTile = (props) => {
|
|
36104
36458
|
* @private
|
36105
36459
|
*/
|
36106
36460
|
const LobbyPage = (props) => {
|
36107
|
-
var _a, _b, _c, _d;
|
36461
|
+
var _a, _b, _c, _d, _e, _f;
|
36108
36462
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
36109
36463
|
const lobbyProps = useSelector$1(lobbySelector);
|
36110
36464
|
const strings = useLocale().strings.call;
|
@@ -36116,7 +36470,9 @@ const LobbyPage = (props) => {
|
|
36116
36470
|
? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls)
|
36117
36471
|
: (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
|
36118
36472
|
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,
|
36473
|
+
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps,
|
36474
|
+
/* @conditional-compile-remove(notifications) */
|
36475
|
+
showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
|
36120
36476
|
options: callControlOptions,
|
36121
36477
|
increaseFlyoutItemSize: props.mobileView
|
36122
36478
|
}, 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 +36584,7 @@ const statusTextStyles = { textAlign: 'center', fontSize: '1rem' };
|
|
36228
36584
|
* @private
|
36229
36585
|
*/
|
36230
36586
|
const TransferPage = (props) => {
|
36231
|
-
var _a, _b, _c, _d, _e;
|
36587
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
36232
36588
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
36233
36589
|
const strings = useLocale().strings.call;
|
36234
36590
|
const remoteParticipants = useSelector$1(getRemoteParticipants);
|
@@ -36262,7 +36618,9 @@ const TransferPage = (props) => {
|
|
36262
36618
|
React.createElement(Announcer$1, { announcementString: announcerString, ariaLive: "polite" }),
|
36263
36619
|
React.createElement(CallArrangement, { complianceBannerProps: { strings },
|
36264
36620
|
// 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,
|
36621
|
+
errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps,
|
36622
|
+
/* @conditional-compile-remove(notifications) */
|
36623
|
+
showErrorNotifications: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.errorBar) !== null && _g !== void 0 ? _g : true, callControlProps: {
|
36266
36624
|
options: callControlOptions,
|
36267
36625
|
increaseFlyoutItemSize: props.mobileView
|
36268
36626
|
}, 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 +36828,7 @@ const stringsTrampoline = (locale) => {
|
|
36470
36828
|
* @beta
|
36471
36829
|
*/
|
36472
36830
|
const HoldPage = (props) => {
|
36473
|
-
var _a, _b, _c;
|
36831
|
+
var _a, _b, _c, _d, _e;
|
36474
36832
|
const errorBarProps = usePropsFor$1(ErrorBar);
|
36475
36833
|
const strings = useLocale().strings.call;
|
36476
36834
|
let callControlOptions = props.mobileView
|
@@ -36485,7 +36843,9 @@ const HoldPage = (props) => {
|
|
36485
36843
|
/* @conditional-compile-remove(one-to-n-calling) */
|
36486
36844
|
'holdButton'
|
36487
36845
|
]);
|
36488
|
-
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps,
|
36846
|
+
return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps,
|
36847
|
+
/* @conditional-compile-remove(notifications) */
|
36848
|
+
showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
|
36489
36849
|
options: callControlOptions,
|
36490
36850
|
increaseFlyoutItemSize: props.mobileView
|
36491
36851
|
}, 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 +37341,24 @@ const MainScreen = (props) => {
|
|
36981
37341
|
// This works by tracking the most recent timestamp of any active error type.
|
36982
37342
|
// And then tracking when that error type was last dismissed.
|
36983
37343
|
const activeErrors = usePropsFor$1(ErrorBar).activeErrorMessages;
|
37344
|
+
/* @conditional-compile-remove(notifications) */
|
37345
|
+
const activeInCallErrors = useAdaptedSelector(errorNotificationsSelector).activeErrorMessages;
|
36984
37346
|
const [trackedErrors, setTrackedErrors] = React.useState({});
|
37347
|
+
/* @conditional-compile-remove(notifications) */
|
37348
|
+
const [trackedInCallErrors, setTrackedInCallErrors] = React.useState({});
|
36985
37349
|
React.useEffect(() => {
|
36986
37350
|
setTrackedErrors((prev) => updateTrackedErrorsWithActiveErrors(prev, activeErrors));
|
36987
|
-
|
37351
|
+
/* @conditional-compile-remove(notifications) */
|
37352
|
+
setTrackedInCallErrors((prev) => updateTrackedErrorsWithActiveErrors(prev, activeInCallErrors));
|
37353
|
+
}, [activeErrors, /* @conditional-compile-remove(notifications) */ activeInCallErrors]);
|
36988
37354
|
const onDismissError = React.useCallback((error) => {
|
36989
37355
|
setTrackedErrors((prev) => trackErrorAsDismissed(error.type, prev));
|
37356
|
+
/* @conditional-compile-remove(notifications) */
|
37357
|
+
setTrackedInCallErrors((prev) => trackErrorAsDismissed(error.type, prev));
|
36990
37358
|
}, []);
|
36991
37359
|
const latestErrors = React.useMemo(() => filterLatestErrors(activeErrors, trackedErrors), [activeErrors, trackedErrors]);
|
37360
|
+
/* @conditional-compile-remove(notifications) */
|
37361
|
+
const latestInCallErrors = React.useMemo(() => filterLatestErrors(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]);
|
36992
37362
|
const callees = useSelector$1(getTargetCallees);
|
36993
37363
|
const locale = useLocale();
|
36994
37364
|
const palette = useTheme().palette;
|
@@ -36997,6 +37367,10 @@ const MainScreen = (props) => {
|
|
36997
37367
|
const leavePageStyle = React.useMemo(() => leavingPageStyle(palette), [palette]);
|
36998
37368
|
let pageElement;
|
36999
37369
|
const [pinnedParticipants, setPinnedParticipants] = React.useState([]);
|
37370
|
+
const getLatestErrorsTrampoline = () => {
|
37371
|
+
/* @conditional-compile-remove(notifications) */
|
37372
|
+
return latestInCallErrors;
|
37373
|
+
};
|
37000
37374
|
switch (page) {
|
37001
37375
|
case 'configuration':
|
37002
37376
|
pageElement = (React.createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
|
@@ -37047,17 +37421,17 @@ const MainScreen = (props) => {
|
|
37047
37421
|
break;
|
37048
37422
|
}
|
37049
37423
|
case 'lobby':
|
37050
|
-
pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors:
|
37424
|
+
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
37425
|
break;
|
37052
37426
|
case 'transferring':
|
37053
|
-
pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors:
|
37427
|
+
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
37428
|
break;
|
37055
37429
|
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:
|
37430
|
+
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
37431
|
break;
|
37058
37432
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
37059
37433
|
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:
|
37434
|
+
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
37435
|
break;
|
37062
37436
|
}
|
37063
37437
|
useEndedCallConsoleErrors(endedCall);
|
@@ -37687,6 +38061,8 @@ class AzureCommunicationCallAdapter {
|
|
37687
38061
|
this.stopAllSpotlight.bind(this);
|
37688
38062
|
/* @conditional-compile-remove(soft-mute) */
|
37689
38063
|
this.muteParticipant.bind(this);
|
38064
|
+
/* @conditional-compile-remove(soft-mute) */
|
38065
|
+
this.muteAllRemoteParticipants.bind(this);
|
37690
38066
|
}
|
37691
38067
|
dispose() {
|
37692
38068
|
this.resetDiagnosticsForwarder();
|
@@ -38149,6 +38525,12 @@ class AzureCommunicationCallAdapter {
|
|
38149
38525
|
this.handlers.onMuteParticipant(userId);
|
38150
38526
|
});
|
38151
38527
|
}
|
38528
|
+
/* @conditional-compile-remove(soft-mute) */
|
38529
|
+
muteAllRemoteParticipants() {
|
38530
|
+
return __awaiter$5(this, void 0, void 0, function* () {
|
38531
|
+
this.handlers.onMuteAllRemoteParticipants();
|
38532
|
+
});
|
38533
|
+
}
|
38152
38534
|
startSpotlight(userIds) {
|
38153
38535
|
return __awaiter$5(this, void 0, void 0, function* () {
|
38154
38536
|
this.handlers.onStartSpotlight(userIds);
|
@@ -38966,6 +39348,12 @@ class CallWithChatBackedCallAdapter {
|
|
38966
39348
|
return this.callWithChatAdapter.muteParticipant(userId);
|
38967
39349
|
});
|
38968
39350
|
}
|
39351
|
+
/* @conditional-compile-remove(soft-mute) */
|
39352
|
+
muteAllRemoteParticipants() {
|
39353
|
+
return __awaiter$4(this, void 0, void 0, function* () {
|
39354
|
+
return this.callWithChatAdapter.muteAllRemoteParticipants();
|
39355
|
+
});
|
39356
|
+
}
|
38969
39357
|
}
|
38970
39358
|
function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
|
38971
39359
|
return {
|
@@ -40040,6 +40428,12 @@ class AzureCommunicationCallWithChatAdapter {
|
|
40040
40428
|
return this.callAdapter.muteParticipant(userId);
|
40041
40429
|
});
|
40042
40430
|
}
|
40431
|
+
/* @conditional-compile-remove(soft-mute) */
|
40432
|
+
muteAllRemoteParticipants() {
|
40433
|
+
return __awaiter$2(this, void 0, void 0, function* () {
|
40434
|
+
return this.callAdapter.muteAllRemoteParticipants();
|
40435
|
+
});
|
40436
|
+
}
|
40043
40437
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
40044
40438
|
on(event, listener) {
|
40045
40439
|
switch (event) {
|
@@ -41103,4 +41497,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
41103
41497
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
41104
41498
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
41105
41499
|
exports.useTheme = useTheme;
|
41106
|
-
//# sourceMappingURL=index-
|
41500
|
+
//# sourceMappingURL=index-CAm6Qb1t.js.map
|