@azure/communication-react 1.19.0-alpha-202408020014 → 1.19.0-alpha-202408070015
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 +7 -0
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DM13Kp5W.js → ChatMessageComponentAsRichTextEditBox-BMVUY7HX.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DM13Kp5W.js.map → ChatMessageComponentAsRichTextEditBox-BMVUY7HX.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-8FsFMpKF.js → RichTextSendBoxWrapper-UkjXSVQH.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-8FsFMpKF.js.map → RichTextSendBoxWrapper-UkjXSVQH.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-D84PSTZV.js → index-D46R0M5v.js} +207 -180
- package/dist/dist-cjs/communication-react/index-D46R0M5v.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/handlers/createCommonHandlers.d.ts +1 -0
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +31 -9
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +5 -1
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +6 -2
- package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +2 -1
- package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +2 -5
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +48 -31
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.d.ts +5 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +15 -12
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +9 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +7 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +4 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +3 -1
- package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +1 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +1 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +7 -3
- package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -0
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +2 -0
- package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +6 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +3 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
- package/package.json +6 -6
- package/dist/dist-cjs/communication-react/index-D84PSTZV.js.map +0 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.d.ts +0 -22
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js +0 -44
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +0 -1
@@ -189,7 +189,7 @@ function getDefaultExportFromCjs (x) {
|
|
189
189
|
// Copyright (c) Microsoft Corporation.
|
190
190
|
// Licensed under the MIT License.
|
191
191
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
192
|
-
var telemetryVersion = '1.19.0-alpha-
|
192
|
+
var telemetryVersion = '1.19.0-alpha-202408070015';
|
193
193
|
|
194
194
|
|
195
195
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -485,7 +485,7 @@ const Constants = {
|
|
485
485
|
*/
|
486
486
|
const chatStatefulLogger = logger.createClientLogger('communication-react:chat-stateful');
|
487
487
|
|
488
|
-
var __awaiter$
|
488
|
+
var __awaiter$_ = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
489
489
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
490
490
|
return new (P || (P = Promise))(function (resolve, reject) {
|
491
491
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -527,7 +527,7 @@ class ResourceDownloadQueue {
|
|
527
527
|
this._messagesNeedingResourceRetrieval.push(copy);
|
528
528
|
}
|
529
529
|
startQueue(threadId, operation, options) {
|
530
|
-
return __awaiter$
|
530
|
+
return __awaiter$_(this, void 0, void 0, function* () {
|
531
531
|
if (this.isActive) {
|
532
532
|
return;
|
533
533
|
}
|
@@ -563,7 +563,7 @@ class ResourceDownloadQueue {
|
|
563
563
|
}
|
564
564
|
}
|
565
565
|
downloadSingleUrl(message, resourceUrl, operation) {
|
566
|
-
return __awaiter$
|
566
|
+
return __awaiter$_(this, void 0, void 0, function* () {
|
567
567
|
const response = { sourceUrl: '' };
|
568
568
|
try {
|
569
569
|
const abortController = new AbortController();
|
@@ -579,7 +579,7 @@ class ResourceDownloadQueue {
|
|
579
579
|
});
|
580
580
|
}
|
581
581
|
downloadAllPreviewUrls(message, operation) {
|
582
|
-
return __awaiter$
|
582
|
+
return __awaiter$_(this, void 0, void 0, function* () {
|
583
583
|
var _a;
|
584
584
|
const attachments = (_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments;
|
585
585
|
if (message.type === 'html' && attachments) {
|
@@ -606,7 +606,7 @@ class ResourceDownloadQueue {
|
|
606
606
|
});
|
607
607
|
}
|
608
608
|
downloadResource(operation, url, abortController) {
|
609
|
-
return __awaiter$
|
609
|
+
return __awaiter$_(this, void 0, void 0, function* () {
|
610
610
|
this._requestsToCancel[url] = { src: url, abortController };
|
611
611
|
const blobUrl = yield operation(url, { credential: this._credential, endpoint: this._endpoint }, { abortController });
|
612
612
|
delete this._requestsToCancel[url];
|
@@ -617,9 +617,9 @@ class ResourceDownloadQueue {
|
|
617
617
|
/**
|
618
618
|
* @private
|
619
619
|
*/
|
620
|
-
const fetchImageSource = (src, authentication, options) => __awaiter$
|
620
|
+
const fetchImageSource = (src, authentication, options) => __awaiter$_(void 0, void 0, void 0, function* () {
|
621
621
|
function fetchWithAuthentication(url, token, options) {
|
622
|
-
return __awaiter$
|
622
|
+
return __awaiter$_(this, void 0, void 0, function* () {
|
623
623
|
const headers = new Headers();
|
624
624
|
headers.append('Authorization', `Bearer ${token}`);
|
625
625
|
return yield fetchWithTimeout(url, {
|
@@ -630,7 +630,7 @@ const fetchImageSource = (src, authentication, options) => __awaiter$Z(void 0, v
|
|
630
630
|
});
|
631
631
|
}
|
632
632
|
function fetchWithTimeout(resource, options) {
|
633
|
-
return __awaiter$
|
633
|
+
return __awaiter$_(this, void 0, void 0, function* () {
|
634
634
|
// default timeout is 30 seconds
|
635
635
|
const { timeout = 30000, abortController } = options;
|
636
636
|
const id = setTimeout(() => {
|
@@ -657,7 +657,7 @@ const fetchImageSource = (src, authentication, options) => __awaiter$Z(void 0, v
|
|
657
657
|
|
658
658
|
// Copyright (c) Microsoft Corporation.
|
659
659
|
// Licensed under the MIT License.
|
660
|
-
var __awaiter$
|
660
|
+
var __awaiter$Z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
661
661
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
662
662
|
return new (P || (P = Promise))(function (resolve, reject) {
|
663
663
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -733,7 +733,7 @@ let ChatContext$1 = class ChatContext {
|
|
733
733
|
// Any item in queue should be removed.
|
734
734
|
}
|
735
735
|
downloadResourceToCache(threadId, messageId, resourceUrl) {
|
736
|
-
return __awaiter$
|
736
|
+
return __awaiter$Z(this, void 0, void 0, function* () {
|
737
737
|
var _a;
|
738
738
|
let message = (_a = this.getState().threads[threadId]) === null || _a === void 0 ? void 0 : _a.chatMessages[messageId];
|
739
739
|
if (message && this._fullsizeImageQueue) {
|
@@ -1012,7 +1012,7 @@ let ChatContext$1 = class ChatContext {
|
|
1012
1012
|
* @throws ChatError. Exceptions thrown from `f` are tagged with the failed `target.
|
1013
1013
|
*/
|
1014
1014
|
withAsyncErrorTeedToState(f, target) {
|
1015
|
-
return (...args) => __awaiter$
|
1015
|
+
return (...args) => __awaiter$Z(this, void 0, void 0, function* () {
|
1016
1016
|
try {
|
1017
1017
|
return yield f(...args);
|
1018
1018
|
}
|
@@ -1119,7 +1119,7 @@ const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
|
|
1119
1119
|
|
1120
1120
|
// Copyright (c) Microsoft Corporation.
|
1121
1121
|
// Licensed under the MIT License.
|
1122
|
-
var __awaiter$
|
1122
|
+
var __awaiter$Y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1123
1123
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1124
1124
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1125
1125
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1209,7 +1209,7 @@ class EventSubscriber {
|
|
1209
1209
|
};
|
1210
1210
|
// This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.
|
1211
1211
|
// Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.
|
1212
|
-
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$
|
1212
|
+
this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$Y(this, void 0, void 0, function* () {
|
1213
1213
|
var _a, e_1, _b, _c;
|
1214
1214
|
try {
|
1215
1215
|
for (var _d = true, _e = __asyncValues$1(this.chatClient
|
@@ -1303,7 +1303,7 @@ class EventSubscriber {
|
|
1303
1303
|
|
1304
1304
|
// Copyright (c) Microsoft Corporation.
|
1305
1305
|
// Licensed under the MIT License.
|
1306
|
-
var __awaiter$
|
1306
|
+
var __awaiter$X = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1307
1307
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1308
1308
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1309
1309
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1325,7 +1325,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
1325
1325
|
const threadsIterator = iteratorCreator(...args);
|
1326
1326
|
return {
|
1327
1327
|
next() {
|
1328
|
-
return __awaiter$
|
1328
|
+
return __awaiter$X(this, void 0, void 0, function* () {
|
1329
1329
|
const result = yield threadsIterator.next();
|
1330
1330
|
if (!result.done && result.value) {
|
1331
1331
|
decorateFn(result.value, context);
|
@@ -1340,7 +1340,7 @@ const createDecoratedIterator = (iteratorCreator, context, decorateFn) => {
|
|
1340
1340
|
const pages = threadsIterator.byPage(settings);
|
1341
1341
|
return {
|
1342
1342
|
next() {
|
1343
|
-
return __awaiter$
|
1343
|
+
return __awaiter$X(this, void 0, void 0, function* () {
|
1344
1344
|
const result = yield pages.next();
|
1345
1345
|
const page = result.value;
|
1346
1346
|
if (!result.done && result.value) {
|
@@ -1427,7 +1427,7 @@ const createDecoratedListParticipants = (chatThreadClient, context) => {
|
|
1427
1427
|
|
1428
1428
|
// Copyright (c) Microsoft Corporation.
|
1429
1429
|
// Licensed under the MIT License.
|
1430
|
-
var __awaiter$
|
1430
|
+
var __awaiter$W = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1431
1431
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1432
1432
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1433
1433
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1446,14 +1446,14 @@ class ProxyChatThreadClient {
|
|
1446
1446
|
return createDecoratedListMessages(chatThreadClient, this._context);
|
1447
1447
|
}
|
1448
1448
|
case 'getMessage': {
|
1449
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1449
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1450
1450
|
const message = yield chatThreadClient.getMessage(...args);
|
1451
1451
|
this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
|
1452
1452
|
return message;
|
1453
1453
|
}), 'ChatThreadClient.getMessage');
|
1454
1454
|
}
|
1455
1455
|
case 'sendMessage': {
|
1456
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1456
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1457
1457
|
var _a;
|
1458
1458
|
// Retry logic?
|
1459
1459
|
const [request, options] = args;
|
@@ -1494,7 +1494,7 @@ class ProxyChatThreadClient {
|
|
1494
1494
|
}), 'ChatThreadClient.sendMessage');
|
1495
1495
|
}
|
1496
1496
|
case 'addParticipants': {
|
1497
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1497
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1498
1498
|
const result = yield chatThreadClient.addParticipants(...args);
|
1499
1499
|
const [addRequest] = args;
|
1500
1500
|
const participantsToAdd = addRequest.participants;
|
@@ -1503,7 +1503,7 @@ class ProxyChatThreadClient {
|
|
1503
1503
|
}), 'ChatThreadClient.addParticipants');
|
1504
1504
|
}
|
1505
1505
|
case 'deleteMessage': {
|
1506
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1506
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1507
1507
|
// DeleteMessage is able to either delete local one(for failed message) or synced message
|
1508
1508
|
const [messageId] = args;
|
1509
1509
|
if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
|
@@ -1521,12 +1521,12 @@ class ProxyChatThreadClient {
|
|
1521
1521
|
return createDecoratedListReadReceipts(chatThreadClient, this._context);
|
1522
1522
|
}
|
1523
1523
|
case 'sendTypingNotification': {
|
1524
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1524
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1525
1525
|
return yield chatThreadClient.sendTypingNotification(...args);
|
1526
1526
|
}), 'ChatThreadClient.sendTypingNotification');
|
1527
1527
|
}
|
1528
1528
|
case 'removeParticipant': {
|
1529
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1529
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1530
1530
|
const result = yield chatThreadClient.removeParticipant(...args);
|
1531
1531
|
const [removeIdentifier] = args;
|
1532
1532
|
this._context.deleteParticipant(chatThreadClient.threadId, communicationCommon.getIdentifierKind(removeIdentifier));
|
@@ -1534,7 +1534,7 @@ class ProxyChatThreadClient {
|
|
1534
1534
|
}), 'ChatThreadClient.removeParticipant');
|
1535
1535
|
}
|
1536
1536
|
case 'updateMessage': {
|
1537
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1537
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1538
1538
|
const result = yield chatThreadClient.updateMessage(...args);
|
1539
1539
|
const [messageId, updateOption] = args;
|
1540
1540
|
this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
|
@@ -1542,7 +1542,7 @@ class ProxyChatThreadClient {
|
|
1542
1542
|
}), 'ChatThreadClient.updateMessage');
|
1543
1543
|
}
|
1544
1544
|
case 'updateTopic': {
|
1545
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1545
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1546
1546
|
const result = yield chatThreadClient.updateTopic(...args);
|
1547
1547
|
const [topic] = args;
|
1548
1548
|
this._context.updateThreadTopic(chatThreadClient.threadId, topic);
|
@@ -1550,7 +1550,7 @@ class ProxyChatThreadClient {
|
|
1550
1550
|
}), 'ChatThreadClient.updateTopic');
|
1551
1551
|
}
|
1552
1552
|
case 'getProperties': {
|
1553
|
-
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$
|
1553
|
+
return this._context.withAsyncErrorTeedToState((...args) => __awaiter$W(this, void 0, void 0, function* () {
|
1554
1554
|
const result = yield chatThreadClient.getProperties(...args);
|
1555
1555
|
this._context.updateThread(chatThreadClient.threadId, result);
|
1556
1556
|
return result;
|
@@ -1588,7 +1588,7 @@ const createDecoratedListThreads = (chatClient, context) => {
|
|
1588
1588
|
|
1589
1589
|
// Copyright (c) Microsoft Corporation.
|
1590
1590
|
// Licensed under the MIT License.
|
1591
|
-
var __awaiter$
|
1591
|
+
var __awaiter$V = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1592
1592
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1593
1593
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1594
1594
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1607,7 +1607,7 @@ const proxyChatClient = {
|
|
1607
1607
|
switch (prop) {
|
1608
1608
|
case 'createChatThread': {
|
1609
1609
|
return context.withAsyncErrorTeedToState(function (...args) {
|
1610
|
-
return __awaiter$
|
1610
|
+
return __awaiter$V(this, void 0, void 0, function* () {
|
1611
1611
|
const result = yield chatClient.createChatThread(...args);
|
1612
1612
|
const thread = result.chatThread;
|
1613
1613
|
if (thread) {
|
@@ -1620,7 +1620,7 @@ const proxyChatClient = {
|
|
1620
1620
|
}
|
1621
1621
|
case 'deleteChatThread': {
|
1622
1622
|
return context.withAsyncErrorTeedToState(function (...args) {
|
1623
|
-
return __awaiter$
|
1623
|
+
return __awaiter$V(this, void 0, void 0, function* () {
|
1624
1624
|
const result = yield chatClient.deleteChatThread(...args);
|
1625
1625
|
context.deleteThread(args[0]);
|
1626
1626
|
return result;
|
@@ -1640,7 +1640,7 @@ const proxyChatClient = {
|
|
1640
1640
|
}
|
1641
1641
|
case 'startRealtimeNotifications': {
|
1642
1642
|
return context.withAsyncErrorTeedToState(function (...args) {
|
1643
|
-
return __awaiter$
|
1643
|
+
return __awaiter$V(this, void 0, void 0, function* () {
|
1644
1644
|
const ret = yield chatClient.startRealtimeNotifications(...args);
|
1645
1645
|
if (!receiver.eventSubscriber) {
|
1646
1646
|
receiver.eventSubscriber = new EventSubscriber(chatClient, context);
|
@@ -1651,7 +1651,7 @@ const proxyChatClient = {
|
|
1651
1651
|
}
|
1652
1652
|
case 'stopRealtimeNotifications': {
|
1653
1653
|
return context.withAsyncErrorTeedToState(function (...args) {
|
1654
|
-
return __awaiter$
|
1654
|
+
return __awaiter$V(this, void 0, void 0, function* () {
|
1655
1655
|
const ret = yield chatClient.stopRealtimeNotifications(...args);
|
1656
1656
|
if (receiver.eventSubscriber) {
|
1657
1657
|
receiver.eventSubscriber.unsubscribe();
|
@@ -1760,7 +1760,7 @@ const getImageAttachmentsFromHTMLContent = (content) => {
|
|
1760
1760
|
|
1761
1761
|
// Copyright (c) Microsoft Corporation.
|
1762
1762
|
// Licensed under the MIT License.
|
1763
|
-
var __awaiter$
|
1763
|
+
var __awaiter$U = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
1764
1764
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
1765
1765
|
return new (P || (P = Promise))(function (resolve, reject) {
|
1766
1766
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -1786,7 +1786,7 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
1786
1786
|
// due to a bug in babel, we can't use arrow function here
|
1787
1787
|
// affecting conditional-compile-remove(attachment-upload)
|
1788
1788
|
onSendMessage: function (content, options) {
|
1789
|
-
return __awaiter$
|
1789
|
+
return __awaiter$U(this, void 0, void 0, function* () {
|
1790
1790
|
const sendMessageRequest = {
|
1791
1791
|
content,
|
1792
1792
|
senderDisplayName: chatClient.getState().displayName
|
@@ -1822,14 +1822,14 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
1822
1822
|
},
|
1823
1823
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
1824
1824
|
onUploadImage: function (image, imageFilename) {
|
1825
|
-
return __awaiter$
|
1825
|
+
return __awaiter$U(this, void 0, void 0, function* () {
|
1826
1826
|
const imageResult = yield chatThreadClient.uploadImage(image, imageFilename);
|
1827
1827
|
return imageResult;
|
1828
1828
|
});
|
1829
1829
|
},
|
1830
1830
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
1831
1831
|
onDeleteImage: function (imageId) {
|
1832
|
-
return __awaiter$
|
1832
|
+
return __awaiter$U(this, void 0, void 0, function* () {
|
1833
1833
|
try {
|
1834
1834
|
yield chatThreadClient.deleteImage(imageId);
|
1835
1835
|
}
|
@@ -1844,7 +1844,7 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
1844
1844
|
onUpdateMessage: function (messageId, content,
|
1845
1845
|
/* @conditional-compile-remove(file-sharing-acs) */
|
1846
1846
|
options) {
|
1847
|
-
return __awaiter$
|
1847
|
+
return __awaiter$U(this, void 0, void 0, function* () {
|
1848
1848
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
1849
1849
|
const imageAttachments = getImageAttachmentsFromHTMLContent(content);
|
1850
1850
|
const updateMessageOptions = {
|
@@ -1857,23 +1857,23 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
1857
1857
|
yield chatThreadClient.updateMessage(messageId, updateMessageOptions);
|
1858
1858
|
});
|
1859
1859
|
},
|
1860
|
-
onDeleteMessage: (messageId) => __awaiter$
|
1860
|
+
onDeleteMessage: (messageId) => __awaiter$U(void 0, void 0, void 0, function* () {
|
1861
1861
|
yield chatThreadClient.deleteMessage(messageId);
|
1862
1862
|
}),
|
1863
1863
|
// This handler is designed for chatThread to consume
|
1864
|
-
onMessageSeen: (chatMessageId) => __awaiter$
|
1864
|
+
onMessageSeen: (chatMessageId) => __awaiter$U(void 0, void 0, void 0, function* () {
|
1865
1865
|
yield chatThreadClient.sendReadReceipt({ chatMessageId });
|
1866
1866
|
}),
|
1867
|
-
onTyping: () => __awaiter$
|
1867
|
+
onTyping: () => __awaiter$U(void 0, void 0, void 0, function* () {
|
1868
1868
|
yield chatThreadClient.sendTypingNotification();
|
1869
1869
|
}),
|
1870
|
-
onRemoveParticipant: (userId) => __awaiter$
|
1870
|
+
onRemoveParticipant: (userId) => __awaiter$U(void 0, void 0, void 0, function* () {
|
1871
1871
|
yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
|
1872
1872
|
}),
|
1873
|
-
updateThreadTopicName: (topicName) => __awaiter$
|
1873
|
+
updateThreadTopicName: (topicName) => __awaiter$U(void 0, void 0, void 0, function* () {
|
1874
1874
|
yield chatThreadClient.updateTopic(topicName);
|
1875
1875
|
}),
|
1876
|
-
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$
|
1876
|
+
onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$U(void 0, void 0, void 0, function* () {
|
1877
1877
|
var _a, _b, _c;
|
1878
1878
|
if (messageIterator === undefined) {
|
1879
1879
|
// Lazy definition so that errors in the method call are reported correctly.
|
@@ -2008,7 +2008,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
2008
2008
|
wordBreak: 'break-word'
|
2009
2009
|
});
|
2010
2010
|
|
2011
|
-
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:"File is 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:"File is uploading, please wait.",imageUploadsPendingError:"Image is 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",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};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",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};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.",teamsMeetingCallNetworkQualityLow:"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.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$k={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"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.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"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.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"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",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$l={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video"};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,notificationStack:notificationStack$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,IncomingCallNotification:IncomingCallNotification$l};
|
2011
|
+
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:"File is 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:"File is uploading, please wait.",imageUploadsPendingError:"Image is 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",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};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",attachmentUploadsPendingError:"File is uploading, please wait.",imageUploadsPendingError:"Image is uploading, please wait.",richTextNewBulletedListItemAnnouncement:"Bullet, new line",richTextNewNumberedListItemAnnouncement:"{0}, new line",richTextBulletedListAppliedAnnouncement:"Bulleted list applied",richTextNumberedListAppliedAnnouncement:"Numbered list applied"};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.",teamsMeetingCallNetworkQualityLow:"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.",mutedByRemoteParticipant:"You were muted by another participant."};var notificationStack$k={callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",dismissButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",dismissButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",dismissButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",dismissButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",dismissButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",dismissButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",dismissButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",dismissButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close"},teamsMeetingCallNetworkQualityLow:{title:"Network quality is low.",dismissButtonAriaLabel:"Close",message:"Join this call from your phone for better sound. You can continue viewing the meeting on this device.",primaryButtonLabel:"Join by Phone"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",dismissButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",dismissButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"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.",dismissButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",dismissButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",dismissButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",dismissButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",dismissButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",dismissButtonAriaLabel:"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.",dismissButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",dismissButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",dismissButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",dismissButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",dismissButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",dismissButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",dismissButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",dismissButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",dismissButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",dismissButtonAriaLabel:"Close"},mutedByRemoteParticipant:{title:"You were muted by another participant.",dismissButtonAriaLabel:"Close"},recordingStarted:{title:"Recording has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},transcriptionStarted:{title:"Transcription has started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingStopped:{title:"Recording is being saved.",message:"Recording has stopped.",dismissButtonAriaLabel:"Close"},transcriptionStopped:{title:"Transcription is being saved.",message:"Transcription has stopped.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStarted:{title:"Recording and transcription have started.",message:"By joining, you are giving consent for this meeting to be transcribed.",dismissButtonAriaLabel:"Close"},recordingAndTranscriptionStopped:{title:"Recording and transcription are being saved.",message:"Recording and transcription have stopped.",dismissButtonAriaLabel:"Close"},recordingStoppedStillTranscribing:{title:"Recording has stopped.",message:"You are now only transcribing this meeting.",dismissButtonAriaLabel:"Close"},transcriptionStoppedStillRecording:{title:"Transcription has stopped.",message:"You are now only recording this meeting.",dismissButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localScreenShareLoadingMessage:"Loading your 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",meetingConferencePhoneInfoModalTollGeoData:"{country}, {city}",meetingConferencePhoneInfoModalTollFree:"(Toll-free)",meetingConferencePhoneInfoModalToll:"(Toll)"};var IncomingCallNotification$l={incomingCallNotificationPlaceholderId:"Unknown User",incomingCallNotificationPlaceholderAlert:"{callerName} is calling",incomingCallNoticicationAcceptWithAudioAriaLabel:"Accept with audio",incomingCallNoticicationAcceptWithVideoAriaLabel:"Accept with video",incomingCallNoticicationRejectAriaLabel:"Reject",incomingCallNotificationAcceptButtonLabel:"Accept",incomingCallNotificationRejectButtonLabel:"Decline",incomingCallNotificationAccceptWithVideoButtonLabel:"Accept with Video"};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,notificationStack:notificationStack$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,IncomingCallNotification:IncomingCallNotification$l};
|
2012
2012
|
|
2013
2013
|
// Copyright (c) Microsoft Corporation.
|
2014
2014
|
// Licensed under the MIT License.
|
@@ -4481,7 +4481,7 @@ const _MentionPopover = (props) => {
|
|
4481
4481
|
|
4482
4482
|
// Copyright (c) Microsoft Corporation.
|
4483
4483
|
// Licensed under the MIT License.
|
4484
|
-
var __awaiter$
|
4484
|
+
var __awaiter$T = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
4485
4485
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4486
4486
|
return new (P || (P = Promise))(function (resolve, reject) {
|
4487
4487
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -4667,7 +4667,7 @@ const TextFieldWithMention = (props) => {
|
|
4667
4667
|
onSuggestionSelected,
|
4668
4668
|
updateMentionSuggestions
|
4669
4669
|
]);
|
4670
|
-
const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$
|
4670
|
+
const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$T(void 0, void 0, void 0, function* () {
|
4671
4671
|
var _a;
|
4672
4672
|
let suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
|
4673
4673
|
suggestions = suggestions.filter((suggestion) => suggestion.displayText.trim() !== '');
|
@@ -4844,7 +4844,7 @@ const TextFieldWithMention = (props) => {
|
|
4844
4844
|
});
|
4845
4845
|
}
|
4846
4846
|
}, [updateSelectionIndexesWithMentionIfNeeded, setSelectionStartValue, setSelectionEndValue]);
|
4847
|
-
const handleOnChange = React.useCallback((_b) => __awaiter$
|
4847
|
+
const handleOnChange = React.useCallback((_b) => __awaiter$T(void 0, [_b], void 0, function* ({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) {
|
4848
4848
|
var _c;
|
4849
4849
|
debouncedQueryUpdate.cancel();
|
4850
4850
|
if (event.currentTarget === null) {
|
@@ -5397,7 +5397,7 @@ const ATTACHMENT_CARD_MIN_PROGRESS = 0.05;
|
|
5397
5397
|
|
5398
5398
|
// Copyright (c) Microsoft Corporation.
|
5399
5399
|
// Licensed under the MIT License.
|
5400
|
-
var __awaiter$
|
5400
|
+
var __awaiter$S = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
5401
5401
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
5402
5402
|
return new (P || (P = Promise))(function (resolve, reject) {
|
5403
5403
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -5485,7 +5485,7 @@ const MappedMenuItems = (menuActions, attachment, handleOnClickError) => {
|
|
5485
5485
|
React.createElement(reactComponents.MenuTrigger, null,
|
5486
5486
|
React.createElement(reactComponents.ToolbarButton, { "aria-label": localeStrings.attachmentMoreMenu, role: "button", icon: React.createElement(react.Icon, { iconName: "AttachmentMoreMenu" }) }))),
|
5487
5487
|
React.createElement(reactComponents.MenuPopover, null,
|
5488
|
-
React.createElement(reactComponents.MenuList, null, menuActions.map((menuItem, index) => (React.createElement(reactComponents.MenuItem, { "aria-label": menuItem.name, key: index, icon: menuItem.icon, onClick: () => __awaiter$
|
5488
|
+
React.createElement(reactComponents.MenuList, null, menuActions.map((menuItem, index) => (React.createElement(reactComponents.MenuItem, { "aria-label": menuItem.name, key: index, icon: menuItem.icon, onClick: () => __awaiter$S(void 0, void 0, void 0, function* () {
|
5489
5489
|
try {
|
5490
5490
|
yield menuItem.onClick(attachment);
|
5491
5491
|
}
|
@@ -5620,7 +5620,7 @@ const _AttachmentUploadCards = (props) => {
|
|
5620
5620
|
|
5621
5621
|
// Copyright (c) Microsoft Corporation.
|
5622
5622
|
// Licensed under the MIT License.
|
5623
|
-
var __awaiter$
|
5623
|
+
var __awaiter$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
5624
5624
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
5625
5625
|
return new (P || (P = Promise))(function (resolve, reject) {
|
5626
5626
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
@@ -5669,7 +5669,7 @@ const hasInlineImageContent = (content) => {
|
|
5669
5669
|
*
|
5670
5670
|
* @returns The updated message content.
|
5671
5671
|
*/
|
5672
|
-
const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$
|
5672
|
+
const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$R(void 0, void 0, void 0, function* () {
|
5673
5673
|
if (message === '') {
|
5674
5674
|
return message;
|
5675
5675
|
}
|
@@ -5697,8 +5697,7 @@ const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$Q
|
|
5697
5697
|
resolve();
|
5698
5698
|
};
|
5699
5699
|
imageElement.onerror = () => {
|
5700
|
-
|
5701
|
-
rejects();
|
5700
|
+
rejects(`Error loading image ${img.id}`);
|
5702
5701
|
};
|
5703
5702
|
});
|
5704
5703
|
});
|
@@ -5762,10 +5761,15 @@ const toAttachmentMetadata = (attachmentsWithProgress) => {
|
|
5762
5761
|
/**
|
5763
5762
|
* @internal
|
5764
5763
|
*/
|
5765
|
-
const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$
|
5764
|
+
const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$R(void 0, void 0, void 0, function* () {
|
5766
5765
|
let newContent = content;
|
5767
5766
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
5768
|
-
|
5767
|
+
try {
|
5768
|
+
newContent = yield updateStylesOfInlineImages(content, initialInlineImages);
|
5769
|
+
}
|
5770
|
+
catch (error) {
|
5771
|
+
console.error('Error updating inline images: ', error);
|
5772
|
+
}
|
5769
5773
|
onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(newContent);
|
5770
5774
|
});
|
5771
5775
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
@@ -6602,7 +6606,9 @@ const richTextEditorWrapperStyle = (theme) => {
|
|
6602
6606
|
maxWidth: '100%',
|
6603
6607
|
color: theme.palette.neutralPrimary,
|
6604
6608
|
'& img': {
|
6605
|
-
margin: '0.2rem'
|
6609
|
+
margin: '0.2rem',
|
6610
|
+
maxWidth: '100% !important', // Remove !important when resolving issue where rooster sets width/height in style attribute incorrectly
|
6611
|
+
height: 'auto !important' // Remove !important when resolving issue where rooster sets width/height in style attribute incorrectly
|
6606
6612
|
},
|
6607
6613
|
'& table': {
|
6608
6614
|
background: 'transparent',
|
@@ -6881,6 +6887,7 @@ var PluginEventType;
|
|
6881
6887
|
PluginEventType["BeforeSetContent"] = "beforeSetContent";
|
6882
6888
|
PluginEventType["Input"] = "input";
|
6883
6889
|
PluginEventType["KeyDown"] = "keyDown";
|
6890
|
+
PluginEventType["BeforeCutCopy"] = "beforeCutCopy";
|
6884
6891
|
PluginEventType["BeforePaste"] = "beforePaste";
|
6885
6892
|
PluginEventType["ZoomChanged"] = "zoomChanged";
|
6886
6893
|
PluginEventType["MouseUp"] = "mouseUp";
|
@@ -7040,13 +7047,50 @@ const removeSingleLocalBlob = (currentLocalBlobMap, imageId) => {
|
|
7040
7047
|
}
|
7041
7048
|
};
|
7042
7049
|
|
7043
|
-
|
7050
|
+
var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
7051
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
7052
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
7053
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
7054
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7055
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7056
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
7057
|
+
});
|
7058
|
+
};
|
7044
7059
|
/**
|
7045
7060
|
* CopyPastePlugin is a plugin for handling copy and paste events in the editor.
|
7046
7061
|
*/
|
7047
7062
|
class CopyPastePlugin {
|
7048
7063
|
constructor() {
|
7049
7064
|
this.editor = null;
|
7065
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
7066
|
+
this.imageBase64DataMap = {};
|
7067
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
7068
|
+
this.handleInlineImage = (event) => {
|
7069
|
+
if (event.eventType === PluginEventType.BeforePaste && event.pasteType === 'normal' && this.onInsertInlineImage) {
|
7070
|
+
event.fragment.querySelectorAll('img').forEach((image) => {
|
7071
|
+
// Assign a unique id to the image element so Contosos can identify the image element.
|
7072
|
+
// We also use it internally such as in getRemovedInlineImages to compare images in the content with previous images
|
7073
|
+
image.id = uuid.v1();
|
7074
|
+
const clipboardImage = event.clipboardData.image;
|
7075
|
+
const fileName = (clipboardImage === null || clipboardImage === void 0 ? void 0 : clipboardImage.name) ||
|
7076
|
+
(clipboardImage === null || clipboardImage === void 0 ? void 0 : clipboardImage.type.replace('/', '.')) ||
|
7077
|
+
image.getAttribute(_IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY) ||
|
7078
|
+
'';
|
7079
|
+
// If the image src is an external url, call the onInsertInlineImage callback with the url.
|
7080
|
+
let imageUrl = image.src;
|
7081
|
+
if (image.src.startsWith('data:image/')) {
|
7082
|
+
this.imageBase64DataMap[image.id] = image.src;
|
7083
|
+
const blobImage = _base64ToBlob(image.src);
|
7084
|
+
imageUrl = URL.createObjectURL(blobImage);
|
7085
|
+
}
|
7086
|
+
image.src = imageUrl;
|
7087
|
+
image.alt = image.alt || 'image';
|
7088
|
+
image.dataset.imageFileName = fileName;
|
7089
|
+
const imageAttributes = getInlineImageAttributes(image);
|
7090
|
+
this.onInsertInlineImage && this.onInsertInlineImage(imageAttributes);
|
7091
|
+
});
|
7092
|
+
}
|
7093
|
+
};
|
7050
7094
|
}
|
7051
7095
|
getName() {
|
7052
7096
|
return 'CopyPastePlugin';
|
@@ -7056,6 +7100,15 @@ class CopyPastePlugin {
|
|
7056
7100
|
}
|
7057
7101
|
dispose() { }
|
7058
7102
|
onPluginEvent(event) {
|
7103
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
7104
|
+
if (event.eventType === PluginEventType.BeforeCutCopy) {
|
7105
|
+
event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$Q(this, void 0, void 0, function* () {
|
7106
|
+
if (image.src.startsWith('blob:')) {
|
7107
|
+
const base64Data = this.imageBase64DataMap[image.id];
|
7108
|
+
image.src = base64Data || image.src;
|
7109
|
+
}
|
7110
|
+
}));
|
7111
|
+
}
|
7059
7112
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
7060
7113
|
// If onInsertInlineImage is not provided, we should remove the image tags before calling the onPaste callback
|
7061
7114
|
if (event.eventType === PluginEventType.BeforePaste && event.pasteType === 'normal' && !this.onInsertInlineImage) {
|
@@ -7065,7 +7118,7 @@ class CopyPastePlugin {
|
|
7065
7118
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
7066
7119
|
// We should handle the onInsertInlineImage after the onPaste callback in case Contosos want to modify the image tags, especially the src attribute.
|
7067
7120
|
if (this.onInsertInlineImage) {
|
7068
|
-
handleInlineImage(event
|
7121
|
+
this.handleInlineImage(event);
|
7069
7122
|
}
|
7070
7123
|
if (this.editor !== null && !this.editor.isDisposed()) {
|
7071
7124
|
// scroll the editor to the correct position after pasting content
|
@@ -7086,36 +7139,6 @@ const handleBeforePasteEvent = (event,
|
|
7086
7139
|
return;
|
7087
7140
|
}
|
7088
7141
|
};
|
7089
|
-
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
7090
|
-
/**
|
7091
|
-
* @internal
|
7092
|
-
* Exported only for unit testing
|
7093
|
-
*/
|
7094
|
-
const handleInlineImage = (event, onInsertInlineImage) => {
|
7095
|
-
if (event.eventType === PluginEventType.BeforePaste && event.pasteType === 'normal' && onInsertInlineImage) {
|
7096
|
-
event.fragment.querySelectorAll('img').forEach((image) => {
|
7097
|
-
const clipboardImage = event.clipboardData.image;
|
7098
|
-
const fileName = (clipboardImage === null || clipboardImage === void 0 ? void 0 : clipboardImage.name) ||
|
7099
|
-
(clipboardImage === null || clipboardImage === void 0 ? void 0 : clipboardImage.type.replace('/', '.')) ||
|
7100
|
-
image.getAttribute(_IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY) ||
|
7101
|
-
'';
|
7102
|
-
// If the image src is an external url, call the onInsertInlineImage callback with the url.
|
7103
|
-
let imageUrl = image.src;
|
7104
|
-
if (image.src.startsWith('data:image/')) {
|
7105
|
-
const blobImage = _base64ToBlob(image.src);
|
7106
|
-
imageUrl = URL.createObjectURL(blobImage);
|
7107
|
-
}
|
7108
|
-
image.src = imageUrl;
|
7109
|
-
image.alt = image.alt || 'image';
|
7110
|
-
// Assign a unique id to the image element so Contosos can identify the image element.
|
7111
|
-
// We also use it internally such as in getRemovedInlineImages to compare images in the content with previous images
|
7112
|
-
image.id = uuid.v1();
|
7113
|
-
image.dataset.imageFileName = fileName;
|
7114
|
-
const imageAttributes = getInlineImageAttributes(image);
|
7115
|
-
onInsertInlineImage(imageAttributes);
|
7116
|
-
});
|
7117
|
-
}
|
7118
|
-
};
|
7119
7142
|
/**
|
7120
7143
|
* Update the scroll position of the editor after pasting content to ensure the content is visible.
|
7121
7144
|
* @param event - The plugin event.
|
@@ -10719,7 +10742,7 @@ class _ErrorBoundary extends React.Component {
|
|
10719
10742
|
// Copyright (c) Microsoft Corporation.
|
10720
10743
|
// Licensed under the MIT License.
|
10721
10744
|
/* @conditional-compile-remove(rich-text-editor) */
|
10722
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
10745
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BMVUY7HX.js'); }));
|
10723
10746
|
/**
|
10724
10747
|
* @private
|
10725
10748
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -10727,7 +10750,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
10727
10750
|
*
|
10728
10751
|
* @conditional-compile-remove(rich-text-editor)
|
10729
10752
|
*/
|
10730
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
10753
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-BMVUY7HX.js'); });
|
10731
10754
|
/**
|
10732
10755
|
* @private
|
10733
10756
|
*/
|
@@ -14436,74 +14459,6 @@ const convertContextualMenuItemsToDrawerMenuItemProps$1 = (contextualMenuProps,
|
|
14436
14459
|
});
|
14437
14460
|
};
|
14438
14461
|
|
14439
|
-
// Copyright (c) Microsoft Corporation.
|
14440
|
-
// Licensed under the MIT License.
|
14441
|
-
/**
|
14442
|
-
* @private
|
14443
|
-
*/
|
14444
|
-
const screenSharingContainerStyle = react.mergeStyles({
|
14445
|
-
width: '100%',
|
14446
|
-
height: '100%'
|
14447
|
-
});
|
14448
|
-
/**
|
14449
|
-
* @private
|
14450
|
-
*/
|
14451
|
-
const screenSharingNotificationContainerStyle = (theme) => react.mergeStyles({
|
14452
|
-
backgroundColor: 'inherit',
|
14453
|
-
padding: '1rem',
|
14454
|
-
maxWidth: '95%',
|
14455
|
-
borderRadius: theme.effects.roundedCorner4,
|
14456
|
-
color: theme.palette.neutralSecondary
|
14457
|
-
});
|
14458
|
-
/**
|
14459
|
-
* @private
|
14460
|
-
*/
|
14461
|
-
const screenSharingNotificationIconContainerStyle = react.mergeStyles({
|
14462
|
-
height: '2rem',
|
14463
|
-
lineHeight: 0
|
14464
|
-
});
|
14465
|
-
/**
|
14466
|
-
* @private
|
14467
|
-
*/
|
14468
|
-
const screenSharingNotificationIconStyle = (theme) => react.mergeStyles({
|
14469
|
-
// svg is (20px x 20px) but path is only (16px x 12px), so need to scale at 2.5 to get 40px
|
14470
|
-
transform: 'scale(2.5)',
|
14471
|
-
color: theme.palette.neutralTertiary
|
14472
|
-
});
|
14473
|
-
/**
|
14474
|
-
* @private
|
14475
|
-
*/
|
14476
|
-
const screenSharingNotificationTextStyle = react.mergeStyles({
|
14477
|
-
fontSize: '1rem',
|
14478
|
-
// Text component will take body color by default (white in Dark Mode), so forcing it to be parent container color
|
14479
|
-
color: 'inherit'
|
14480
|
-
});
|
14481
|
-
|
14482
|
-
// Copyright (c) Microsoft Corporation.
|
14483
|
-
// Licensed under the MIT License.
|
14484
|
-
/**
|
14485
|
-
* A memoized version of local screen share component. React.memo is used for a performance
|
14486
|
-
* boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.
|
14487
|
-
* https://reactjs.org/docs/react-api.html#reactmemo
|
14488
|
-
*/
|
14489
|
-
const LocalScreenShare = React.memo((props) => {
|
14490
|
-
const { localParticipant } = props;
|
14491
|
-
const theme = useTheme();
|
14492
|
-
const locale = useLocale$1();
|
14493
|
-
if (!localParticipant || !localParticipant.isScreenSharingOn) {
|
14494
|
-
return null;
|
14495
|
-
}
|
14496
|
-
const localScreenSharingNotification = (React.createElement(react.Stack, { horizontalAlign: "center", verticalAlign: "center", className: screenSharingContainerStyle },
|
14497
|
-
React.createElement(react.Stack, { horizontalAlign: "center", verticalAlign: "center", className: screenSharingNotificationContainerStyle(theme), tokens: { childrenGap: '1rem' } },
|
14498
|
-
React.createElement(react.Stack, { horizontal: true, verticalAlign: "center", className: screenSharingNotificationIconContainerStyle },
|
14499
|
-
React.createElement(react.Icon, { iconName: "ControlButtonScreenShareStart", className: screenSharingNotificationIconStyle(theme) })),
|
14500
|
-
React.createElement(react.Text, { className: screenSharingNotificationTextStyle, "aria-live": "polite" }, locale.strings.videoGallery.screenIsBeingSharedMessage))));
|
14501
|
-
const displayName = !(localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName)
|
14502
|
-
? locale.strings.videoGallery.displayNamePlaceholder
|
14503
|
-
: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName;
|
14504
|
-
return (React.createElement(VideoTile, { displayName: displayName, isMuted: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.isMuted, onRenderPlaceholder: () => React.createElement(React.Fragment, null) }, localScreenSharingNotification));
|
14505
|
-
});
|
14506
|
-
|
14507
14462
|
// Copyright (c) Microsoft Corporation.
|
14508
14463
|
// Licensed under the MIT License.
|
14509
14464
|
/**
|
@@ -14551,11 +14506,46 @@ const RemoteScreenShare = React.memo((props) => {
|
|
14551
14506
|
}
|
14552
14507
|
return (React.createElement(VideoTile, { displayName: displayName, isMuted: isMuted, renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isReceiving === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }), overlay: reactionResources && (React.createElement(MeetingReactionOverlay, { reactionResources: reactionResources, localParticipant: localParticipant, remoteParticipants: remoteParticipants, overlayMode: "screen-share" })) }));
|
14553
14508
|
});
|
14509
|
+
/**
|
14510
|
+
* LoadingSpinner component for displaying a loading spinner.
|
14511
|
+
*
|
14512
|
+
* @param {string} props.loadingMessage - The loading message to display.
|
14513
|
+
* @returns {JSX.Element} The JSX element representing the loading spinner.
|
14514
|
+
*/
|
14554
14515
|
const LoadingSpinner = (props) => {
|
14555
14516
|
return (React.createElement(react.Stack, { verticalAlign: "center", className: loadingStyle },
|
14556
14517
|
React.createElement(react.Spinner, { label: props.loadingMessage, size: react.SpinnerSize.xSmall, "aria-live": 'assertive' })));
|
14557
14518
|
};
|
14558
14519
|
|
14520
|
+
// Copyright (c) Microsoft Corporation.
|
14521
|
+
// Licensed under the MIT License.
|
14522
|
+
/**
|
14523
|
+
* A memoized version of local screen share component. React.memo is used for a performance
|
14524
|
+
* boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.
|
14525
|
+
* https://reactjs.org/docs/react-api.html#reactmemo
|
14526
|
+
*/
|
14527
|
+
const LocalScreenShare = React.memo((props) => {
|
14528
|
+
const { localParticipant, renderElement, isAvailable, onCreateLocalStreamView, onDisposeLocalScreenShareStreamView } = props;
|
14529
|
+
const locale = useLocale$1();
|
14530
|
+
if (!renderElement) {
|
14531
|
+
onCreateLocalStreamView && onCreateLocalStreamView();
|
14532
|
+
}
|
14533
|
+
React.useEffect(() => {
|
14534
|
+
return () => {
|
14535
|
+
// TODO: Isolate disposing behaviors for screenShare and videoStream
|
14536
|
+
onDisposeLocalScreenShareStreamView && onDisposeLocalScreenShareStreamView();
|
14537
|
+
};
|
14538
|
+
}, [onDisposeLocalScreenShareStreamView]);
|
14539
|
+
if (!localParticipant || !localParticipant.isScreenSharingOn) {
|
14540
|
+
return null;
|
14541
|
+
}
|
14542
|
+
const displayName = !(localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName)
|
14543
|
+
? locale.strings.videoGallery.displayNamePlaceholder
|
14544
|
+
: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.displayName;
|
14545
|
+
const loadingMessage = locale.strings.videoGallery.localScreenShareLoadingMessage;
|
14546
|
+
return (React.createElement(VideoTile, { displayName: displayName, isMuted: localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.isMuted, renderElement: renderElement ? (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: isAvailable === false ? 'loading' : 'none' })) : undefined, onRenderPlaceholder: () => React.createElement(LoadingSpinner, { loadingMessage: loadingMessage }) }));
|
14547
|
+
});
|
14548
|
+
|
14559
14549
|
// Copyright (c) Microsoft Corporation.
|
14560
14550
|
// Licensed under the MIT License.
|
14561
14551
|
/**
|
@@ -16756,8 +16746,8 @@ const MAX_PINNED_REMOTE_VIDEO_TILES$1 = 4;
|
|
16756
16746
|
* @public
|
16757
16747
|
*/
|
16758
16748
|
const VideoGallery = (props) => {
|
16759
|
-
var _a, _b, _c;
|
16760
|
-
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS, overflowGalleryPosition = 'horizontalBottom', localVideoTileSize = 'followDeviceOrientation', spotlightedParticipants, onStartLocalSpotlight, onStartRemoteSpotlight, onStopLocalSpotlight, onStopRemoteSpotlight, maxParticipantsToSpotlight, reactionResources, videoTilesOptions,
|
16749
|
+
var _a, _b, _c, _d, _e;
|
16750
|
+
const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeLocalScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS, overflowGalleryPosition = 'horizontalBottom', localVideoTileSize = 'followDeviceOrientation', spotlightedParticipants, onStartLocalSpotlight, onStartRemoteSpotlight, onStopLocalSpotlight, onStopRemoteSpotlight, maxParticipantsToSpotlight, reactionResources, videoTilesOptions,
|
16761
16751
|
/* @conditional-compile-remove(soft-mute) */
|
16762
16752
|
onMuteParticipant } = props;
|
16763
16753
|
const ids = useIdentifiers();
|
@@ -16926,8 +16916,8 @@ const VideoGallery = (props) => {
|
|
16926
16916
|
videoTilesOptions
|
16927
16917
|
]);
|
16928
16918
|
const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
|
16929
|
-
const localScreenShareStreamComponent = React.createElement(LocalScreenShare, { localParticipant: localParticipant });
|
16930
|
-
const remoteScreenShareComponent = screenShareParticipant && (React.createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (
|
16919
|
+
const localScreenShareStreamComponent = (React.createElement(LocalScreenShare, { localParticipant: localParticipant, renderElement: (_a = localParticipant.screenShareStream) === null || _a === void 0 ? void 0 : _a.renderElement, isAvailable: (_b = localParticipant.screenShareStream) === null || _b === void 0 ? void 0 : _b.isAvailable, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalScreenShareStreamView: onDisposeLocalScreenShareStreamView }));
|
16920
|
+
const remoteScreenShareComponent = screenShareParticipant && (React.createElement(RemoteScreenShare, Object.assign({}, screenShareParticipant, { renderElement: (_c = screenShareParticipant.screenShareStream) === null || _c === void 0 ? void 0 : _c.renderElement, onCreateRemoteStreamView: onCreateRemoteStreamView, onDisposeRemoteStreamView: onDisposeRemoteScreenShareStreamView, isReceiving: (_d = screenShareParticipant.screenShareStream) === null || _d === void 0 ? void 0 : _d.isReceiving, participantVideoScalingMode: selectedScalingModeState[screenShareParticipant.userId], localParticipant: localParticipant, remoteParticipants: remoteParticipants, reactionResources: reactionResources, isPPTLive: !((_e = screenShareParticipant.screenShareStream) === null || _e === void 0 ? void 0 : _e.id) })));
|
16931
16921
|
const screenShareComponent = remoteScreenShareComponent
|
16932
16922
|
? remoteScreenShareComponent
|
16933
16923
|
: localParticipant.isScreenSharingOn
|
@@ -22974,7 +22964,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
22974
22964
|
/**
|
22975
22965
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
22976
22966
|
*/
|
22977
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
22967
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-UkjXSVQH.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
22978
22968
|
/**
|
22979
22969
|
* @private
|
22980
22970
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -22982,7 +22972,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
22982
22972
|
*
|
22983
22973
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
22984
22974
|
*/
|
22985
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
22975
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-UkjXSVQH.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
22986
22976
|
/**
|
22987
22977
|
* @private
|
22988
22978
|
*/
|
@@ -23213,8 +23203,10 @@ const cancelInlineImageUpload = (imageAttributes, imageUploads, messageId, inlin
|
|
23213
23203
|
id: imageUpload === null || imageUpload === void 0 ? void 0 : imageUpload.metadata.id,
|
23214
23204
|
messageId
|
23215
23205
|
});
|
23216
|
-
if ((imageUpload === null || imageUpload === void 0 ? void 0 : imageUpload.metadata.progress) === 1) {
|
23217
|
-
|
23206
|
+
if ((imageUpload === null || imageUpload === void 0 ? void 0 : imageUpload.metadata.progress) === 1 && (imageUpload === null || imageUpload === void 0 ? void 0 : imageUpload.metadata.url)) {
|
23207
|
+
// The image id that we got back from the ChatSDK response is stored in the image src attribute,
|
23208
|
+
// while the metadata id is the internal image id that we assigned to the image when it was pasted in.
|
23209
|
+
deleteInlineImageFromServer(imageUpload === null || imageUpload === void 0 ? void 0 : imageUpload.metadata.url, adapter);
|
23218
23210
|
}
|
23219
23211
|
};
|
23220
23212
|
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
@@ -24398,7 +24390,6 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24398
24390
|
/* @conditional-compile-remove(PSTN-calls) */
|
24399
24391
|
const onToggleHold = () => __awaiter$D(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.state) === 'LocalHold' ? yield (call === null || call === void 0 ? void 0 : call.resume()) : yield (call === null || call === void 0 ? void 0 : call.hold()); });
|
24400
24392
|
const onCreateLocalStreamView = (...args_1) => __awaiter$D(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
|
24401
|
-
var _d;
|
24402
24393
|
if (!call || call.localVideoStreams.length === 0) {
|
24403
24394
|
return;
|
24404
24395
|
}
|
@@ -24407,11 +24398,20 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24407
24398
|
return;
|
24408
24399
|
}
|
24409
24400
|
const localStream = callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
|
24410
|
-
|
24411
|
-
|
24401
|
+
const localScreenSharingStream = callState.localVideoStreams.find((item) => item.mediaStreamType === 'ScreenSharing');
|
24402
|
+
let createViewResult = undefined;
|
24403
|
+
if (localStream && !localStream.view) {
|
24404
|
+
createViewResult = yield callClient.createView(call.id, undefined, localStream, options);
|
24405
|
+
}
|
24406
|
+
if (localScreenSharingStream && !localScreenSharingStream.view && call.isScreenSharingOn) {
|
24407
|
+
// Hardcoded `scalingMode` since it is highly unlikely that CONTOSO would ever want to use a different scaling mode for screenshare.
|
24408
|
+
// Using `Crop` would crop the contents of screenshare and `Stretch` would warp it.
|
24409
|
+
// `Fit` is the only mode that maintains the integrity of the screen being shared.
|
24410
|
+
createViewResult = yield callClient.createView(call.id, undefined, localScreenSharingStream, {
|
24411
|
+
scalingMode: 'Fit'
|
24412
|
+
});
|
24412
24413
|
}
|
24413
|
-
|
24414
|
-
return view ? { view } : undefined;
|
24414
|
+
return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
|
24415
24415
|
});
|
24416
24416
|
const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$D(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
|
24417
24417
|
if (!call) {
|
@@ -24505,6 +24505,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24505
24505
|
callClient.disposeView(call.id, participant.identifier, screenShareStream);
|
24506
24506
|
}
|
24507
24507
|
});
|
24508
|
+
const onDisposeLocalScreenShareStreamView = () => __awaiter$D(void 0, void 0, void 0, function* () {
|
24509
|
+
if (!call) {
|
24510
|
+
return;
|
24511
|
+
}
|
24512
|
+
const callState = callClient.getState().calls[call.id];
|
24513
|
+
if (!callState) {
|
24514
|
+
throw new Error(`Call Not Found: ${call.id}`);
|
24515
|
+
}
|
24516
|
+
const screenShareStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'ScreenSharing');
|
24517
|
+
if (screenShareStream && screenShareStream.view) {
|
24518
|
+
callClient.disposeView(call.id, undefined, screenShareStream);
|
24519
|
+
}
|
24520
|
+
});
|
24508
24521
|
const onDisposeLocalStreamView = () => __awaiter$D(void 0, void 0, void 0, function* () {
|
24509
24522
|
// If the user is currently in a call, dispose of the local stream view attached to that call.
|
24510
24523
|
const callState = call && callClient.getState().calls[call.id];
|
@@ -24540,7 +24553,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24540
24553
|
}
|
24541
24554
|
});
|
24542
24555
|
const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$D(void 0, void 0, void 0, function* () {
|
24543
|
-
var
|
24556
|
+
var _d;
|
24544
24557
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
24545
24558
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
24546
24559
|
if (stream) {
|
@@ -24548,12 +24561,12 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24548
24561
|
throw new Error(`Video background effects dependency not resolved`);
|
24549
24562
|
}
|
24550
24563
|
const createEffect = (options === null || options === void 0 ? void 0 : options.onResolveVideoBackgroundEffectsDependency) &&
|
24551
|
-
((
|
24564
|
+
((_d = (yield options.onResolveVideoBackgroundEffectsDependency())) === null || _d === void 0 ? void 0 : _d.createBackgroundBlurEffect);
|
24552
24565
|
return createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundBlurConfig));
|
24553
24566
|
}
|
24554
24567
|
});
|
24555
24568
|
const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$D(void 0, void 0, void 0, function* () {
|
24556
|
-
var
|
24569
|
+
var _e;
|
24557
24570
|
const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
|
24558
24571
|
(deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
|
24559
24572
|
if (stream) {
|
@@ -24561,7 +24574,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24561
24574
|
throw new Error(`Video background effects dependency not resolved`);
|
24562
24575
|
}
|
24563
24576
|
const createEffect = (options === null || options === void 0 ? void 0 : options.onResolveVideoBackgroundEffectsDependency) &&
|
24564
|
-
((
|
24577
|
+
((_e = (yield options.onResolveVideoBackgroundEffectsDependency())) === null || _e === void 0 ? void 0 : _e.createBackgroundReplacementEffect);
|
24565
24578
|
return (createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig)));
|
24566
24579
|
}
|
24567
24580
|
});
|
@@ -24649,6 +24662,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
|
|
24649
24662
|
onDisposeRemoteStreamView,
|
24650
24663
|
onDisposeLocalStreamView,
|
24651
24664
|
onDisposeRemoteScreenShareStreamView,
|
24665
|
+
onDisposeLocalScreenShareStreamView,
|
24652
24666
|
onDisposeRemoteVideoStreamView,
|
24653
24667
|
onRaiseHand,
|
24654
24668
|
onLowerHand,
|
@@ -29759,8 +29773,8 @@ const convertRemoteContentSharingStreamToVideoGalleryStream = (stream) => {
|
|
29759
29773
|
};
|
29760
29774
|
};
|
29761
29775
|
/** @private */
|
29762
|
-
const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, role, raisedHand, reaction, localSpotlight, capabilities) => {
|
29763
|
-
var _a, _b;
|
29776
|
+
const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, localScreenSharingStream, role, raisedHand, reaction, localSpotlight, capabilities) => {
|
29777
|
+
var _a, _b, _c;
|
29764
29778
|
return ({
|
29765
29779
|
userId: identifier,
|
29766
29780
|
displayName: displayName !== null && displayName !== void 0 ? displayName : '',
|
@@ -29771,6 +29785,10 @@ const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, is
|
|
29771
29785
|
isMirrored: (_a = localVideoStream === null || localVideoStream === void 0 ? void 0 : localVideoStream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
|
29772
29786
|
renderElement: (_b = localVideoStream === null || localVideoStream === void 0 ? void 0 : localVideoStream.view) === null || _b === void 0 ? void 0 : _b.target
|
29773
29787
|
},
|
29788
|
+
screenShareStream: {
|
29789
|
+
isAvailable: !!localScreenSharingStream,
|
29790
|
+
renderElement: (_c = localScreenSharingStream === null || localScreenSharingStream === void 0 ? void 0 : localScreenSharingStream.view) === null || _c === void 0 ? void 0 : _c.target
|
29791
|
+
},
|
29774
29792
|
role,
|
29775
29793
|
raisedHand: raisedHand,
|
29776
29794
|
reaction,
|
@@ -29828,6 +29846,7 @@ isHideAttendeeNamesEnabled, localParticipantReaction, spotlightCallFeature, capa
|
|
29828
29846
|
? remoteParticipants[screenShareRemoteParticipantId]
|
29829
29847
|
: undefined;
|
29830
29848
|
const localVideoStream = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find((i) => i.mediaStreamType === 'Video');
|
29849
|
+
const localScreenSharingStream = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find((i) => i.mediaStreamType === 'ScreenSharing');
|
29831
29850
|
const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);
|
29832
29851
|
dominantSpeakerIds === null || dominantSpeakerIds === void 0 ? void 0 : dominantSpeakerIds.forEach((speaker, idx) => (idx));
|
29833
29852
|
const noRemoteParticipants = [];
|
@@ -29837,7 +29856,7 @@ isHideAttendeeNamesEnabled, localParticipantReaction, spotlightCallFeature, capa
|
|
29837
29856
|
screenShareParticipant: screenShareRemoteParticipant
|
29838
29857
|
? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName, screenShareRemoteParticipant.raisedHand, screenShareRemoteParticipant.contentSharingStream, undefined, screenShareRemoteParticipant.spotlight)
|
29839
29858
|
: undefined,
|
29840
|
-
localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, role, raisedHand, localParticipantReactionState, spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.localParticipantSpotlight, capabilities),
|
29859
|
+
localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream, localScreenSharingStream, role, raisedHand, localParticipantReactionState, spotlightCallFeature === null || spotlightCallFeature === void 0 ? void 0 : spotlightCallFeature.localParticipantSpotlight, capabilities),
|
29841
29860
|
remoteParticipants: _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline$2(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants),
|
29842
29861
|
/* @conditional-compile-remove(hide-attendee-name) */
|
29843
29862
|
isHideAttendeeNamesEnabled,
|
@@ -31148,6 +31167,9 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
|
|
31148
31167
|
onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
|
31149
31168
|
return adapter.disposeScreenShareStreamView(userId);
|
31150
31169
|
}),
|
31170
|
+
onDisposeLocalScreenShareStreamView: () => __awaiter$o(void 0, void 0, void 0, function* () {
|
31171
|
+
return adapter.disposeScreenShareStreamView('');
|
31172
|
+
}),
|
31151
31173
|
onDisposeRemoteVideoStreamView: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
|
31152
31174
|
return adapter.disposeRemoteVideoStreamView(userId);
|
31153
31175
|
}),
|
@@ -40047,7 +40069,12 @@ class AzureCommunicationCallAdapter {
|
|
40047
40069
|
}
|
40048
40070
|
disposeScreenShareStreamView(remoteUserId) {
|
40049
40071
|
return __awaiter$9(this, void 0, void 0, function* () {
|
40050
|
-
|
40072
|
+
if (remoteUserId !== '') {
|
40073
|
+
yield this.handlers.onDisposeRemoteScreenShareStreamView(remoteUserId);
|
40074
|
+
}
|
40075
|
+
else {
|
40076
|
+
yield this.handlers.onDisposeLocalScreenShareStreamView();
|
40077
|
+
}
|
40051
40078
|
});
|
40052
40079
|
}
|
40053
40080
|
disposeRemoteVideoStreamView(remoteUserId) {
|
@@ -43590,4 +43617,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
43590
43617
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
43591
43618
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
43592
43619
|
exports.useTheme = useTheme;
|
43593
|
-
//# sourceMappingURL=index-
|
43620
|
+
//# sourceMappingURL=index-D46R0M5v.js.map
|