@azure/communication-react 1.19.0-alpha-202408110016 → 1.19.0-alpha-202408140015

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.
Files changed (45) hide show
  1. package/dist/communication-react.d.ts +12 -0
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Djaoxx-I.js → ChatMessageComponentAsRichTextEditBox-CN0Z61Zy.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Djaoxx-I.js.map → ChatMessageComponentAsRichTextEditBox-CN0Z61Zy.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Ba-O8ik5.js → RichTextSendBoxWrapper-CZSgSn7J.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Ba-O8ik5.js.map → RichTextSendBoxWrapper-CZSgSn7J.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-B0-XPOWs.js → index-0-JhGYic.js} +390 -307
  7. package/dist/dist-cjs/communication-react/index-0-JhGYic.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +14 -2
  12. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -1
  14. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +10 -6
  15. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  16. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +6 -2
  17. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  18. package/dist/dist-esm/react-components/src/components/EndCallButton.js +1 -1
  19. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  20. package/dist/dist-esm/react-components/src/components/MessageThread.js +4 -3
  21. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  22. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +0 -1
  23. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +1 -4
  24. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  25. package/dist/dist-esm/react-components/src/components/VideoGallery.js +2 -2
  26. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  27. package/dist/dist-esm/react-components/src/components/VideoTile.js +3 -2
  28. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +12 -0
  30. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  31. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +4 -0
  32. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  33. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  34. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +26 -1
  35. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +9 -0
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  39. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +1 -0
  40. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +31 -2
  42. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  43. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +4 -1
  44. package/package.json +1 -1
  45. package/dist/dist-cjs/communication-react/index-B0-XPOWs.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-202408110016';
192
+ var telemetryVersion = '1.19.0-alpha-202408140015';
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$_ = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
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$_(this, void 0, void 0, function* () {
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$_(this, void 0, void 0, function* () {
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$_(this, void 0, void 0, function* () {
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$_(this, void 0, void 0, function* () {
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$_(void 0, void 0, void 0, function* () {
620
+ const fetchImageSource = (src, authentication, options) => __awaiter$$(void 0, void 0, void 0, function* () {
621
621
  function fetchWithAuthentication(url, token, options) {
622
- return __awaiter$_(this, void 0, void 0, function* () {
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$_(void 0, v
630
630
  });
631
631
  }
632
632
  function fetchWithTimeout(resource, options) {
633
- return __awaiter$_(this, void 0, void 0, function* () {
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$_(void 0, v
657
657
 
658
658
  // Copyright (c) Microsoft Corporation.
659
659
  // Licensed under the MIT License.
660
- var __awaiter$Z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
660
+ var __awaiter$_ = (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$Z(this, void 0, void 0, function* () {
736
+ return __awaiter$_(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$Z(this, void 0, void 0, function* () {
1015
+ return (...args) => __awaiter$_(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$Y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1122
+ var __awaiter$Z = (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$Y(this, void 0, void 0, function* () {
1212
+ this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$Z(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$X = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1306
+ var __awaiter$Y = (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$X(this, void 0, void 0, function* () {
1328
+ return __awaiter$Y(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$X(this, void 0, void 0, function* () {
1343
+ return __awaiter$Y(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$W = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1430
+ var __awaiter$X = (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$W(this, void 0, void 0, function* () {
1449
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1456
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1497
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1506
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1524
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1529
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1537
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1545
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$W(this, void 0, void 0, function* () {
1553
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$X(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$V = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1591
+ var __awaiter$W = (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$V(this, void 0, void 0, function* () {
1610
+ return __awaiter$W(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$V(this, void 0, void 0, function* () {
1623
+ return __awaiter$W(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$V(this, void 0, void 0, function* () {
1643
+ return __awaiter$W(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$V(this, void 0, void 0, function* () {
1654
+ return __awaiter$W(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$U = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1763
+ var __awaiter$V = (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$U(this, void 0, void 0, function* () {
1789
+ return __awaiter$V(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$U(this, void 0, void 0, function* () {
1825
+ return __awaiter$V(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$U(this, void 0, void 0, function* () {
1832
+ return __awaiter$V(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$U(this, void 0, void 0, function* () {
1847
+ return __awaiter$V(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$U(void 0, void 0, void 0, function* () {
1860
+ onDeleteMessage: (messageId) => __awaiter$V(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$U(void 0, void 0, void 0, function* () {
1864
+ onMessageSeen: (chatMessageId) => __awaiter$V(void 0, void 0, void 0, function* () {
1865
1865
  yield chatThreadClient.sendReadReceipt({ chatMessageId });
1866
1866
  }),
1867
- onTyping: () => __awaiter$U(void 0, void 0, void 0, function* () {
1867
+ onTyping: () => __awaiter$V(void 0, void 0, void 0, function* () {
1868
1868
  yield chatThreadClient.sendTypingNotification();
1869
1869
  }),
1870
- onRemoveParticipant: (userId) => __awaiter$U(void 0, void 0, void 0, function* () {
1870
+ onRemoveParticipant: (userId) => __awaiter$V(void 0, void 0, void 0, function* () {
1871
1871
  yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
1872
1872
  }),
1873
- updateThreadTopicName: (topicName) => __awaiter$U(void 0, void 0, void 0, function* () {
1873
+ updateThreadTopicName: (topicName) => __awaiter$V(void 0, void 0, void 0, function* () {
1874
1874
  yield chatThreadClient.updateTopic(topicName);
1875
1875
  }),
1876
- onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$U(void 0, void 0, void 0, function* () {
1876
+ onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$V(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.
@@ -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$T = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4484
+ var __awaiter$U = (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$T(void 0, void 0, void 0, function* () {
4670
+ const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$U(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$T(void 0, [_b], void 0, function* ({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) {
4847
+ const handleOnChange = React.useCallback((_b) => __awaiter$U(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$S = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5400
+ var __awaiter$T = (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$S(void 0, void 0, void 0, function* () {
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$T(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$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5623
+ var __awaiter$S = (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$R(void 0, void 0, void 0, function* () {
5672
+ const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$S(void 0, void 0, void 0, function* () {
5673
5673
  if (message === '') {
5674
5674
  return message;
5675
5675
  }
@@ -5761,7 +5761,7 @@ const toAttachmentMetadata = (attachmentsWithProgress) => {
5761
5761
  /**
5762
5762
  * @internal
5763
5763
  */
5764
- const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$R(void 0, void 0, void 0, function* () {
5764
+ const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$S(void 0, void 0, void 0, function* () {
5765
5765
  let newContent = content;
5766
5766
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
5767
5767
  try {
@@ -7047,7 +7047,7 @@ const removeSingleLocalBlob = (currentLocalBlobMap, imageId) => {
7047
7047
  }
7048
7048
  };
7049
7049
 
7050
- var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7050
+ var __awaiter$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7051
7051
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7052
7052
  return new (P || (P = Promise))(function (resolve, reject) {
7053
7053
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7102,7 +7102,7 @@ class CopyPastePlugin {
7102
7102
  onPluginEvent(event) {
7103
7103
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
7104
7104
  if (event.eventType === PluginEventType.BeforeCutCopy) {
7105
- event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$Q(this, void 0, void 0, function* () {
7105
+ event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$R(this, void 0, void 0, function* () {
7106
7106
  if (image.src.startsWith('blob:')) {
7107
7107
  const base64Data = this.imageBase64DataMap[image.id];
7108
7108
  image.src = base64Data || image.src;
@@ -10742,7 +10742,7 @@ class _ErrorBoundary extends React.Component {
10742
10742
  // Copyright (c) Microsoft Corporation.
10743
10743
  // Licensed under the MIT License.
10744
10744
  /* @conditional-compile-remove(rich-text-editor) */
10745
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Djaoxx-I.js'); }));
10745
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-CN0Z61Zy.js'); }));
10746
10746
  /**
10747
10747
  * @private
10748
10748
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -10750,7 +10750,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
10750
10750
  *
10751
10751
  * @conditional-compile-remove(rich-text-editor)
10752
10752
  */
10753
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Djaoxx-I.js'); });
10753
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-CN0Z61Zy.js'); });
10754
10754
  /**
10755
10755
  * @private
10756
10756
  */
@@ -10769,7 +10769,7 @@ const ChatMessageComponentAsEditBoxPicker = (props) => {
10769
10769
 
10770
10770
  // Copyright (c) Microsoft Corporation.
10771
10771
  // Licensed under the MIT License.
10772
- var __awaiter$P = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10772
+ var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10773
10773
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10774
10774
  return new (P || (P = Promise))(function (resolve, reject) {
10775
10775
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10825,7 +10825,7 @@ const ChatMyMessageComponent = (props) => {
10825
10825
  function (text,
10826
10826
  /* @conditional-compile-remove(file-sharing-acs) */
10827
10827
  attachments) {
10828
- return __awaiter$P(this, void 0, void 0, function* () {
10828
+ return __awaiter$Q(this, void 0, void 0, function* () {
10829
10829
  /* @conditional-compile-remove(file-sharing-acs) */
10830
10830
  if (`attachments` in message && attachments) {
10831
10831
  message.attachments = attachments;
@@ -11263,7 +11263,7 @@ const fluentChatComponent = (props) => {
11263
11263
 
11264
11264
  // Copyright (c) Microsoft Corporation.
11265
11265
  // Licensed under the MIT License.
11266
- var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11266
+ var __awaiter$P = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11267
11267
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11268
11268
  return new (P || (P = Promise))(function (resolve, reject) {
11269
11269
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -11459,7 +11459,7 @@ const MessageThreadWrapper = (props) => {
11459
11459
  loadChatMessageComponentAsRichTextEditBox();
11460
11460
  }
11461
11461
  }, [richTextEditorOptions]);
11462
- const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$O(void 0, void 0, void 0, function* () {
11462
+ const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$P(void 0, void 0, void 0, function* () {
11463
11463
  if (!onDeleteMessage) {
11464
11464
  return;
11465
11465
  }
@@ -11540,7 +11540,7 @@ const MessageThreadWrapper = (props) => {
11540
11540
  */
11541
11541
  const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
11542
11542
  // we try to only send those message status if user is scrolled to the bottom.
11543
- const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$O(void 0, void 0, void 0, function* () {
11543
+ const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$P(void 0, void 0, void 0, function* () {
11544
11544
  if (!isAtBottomOfScrollRef.current ||
11545
11545
  !document.hasFocus() ||
11546
11546
  !messagesRef.current ||
@@ -11591,7 +11591,7 @@ const MessageThreadWrapper = (props) => {
11591
11591
  setIsAtBottomOfScrollRef(atBottom);
11592
11592
  }, [scrollToBottom, sendMessageStatusIfAtBottom]);
11593
11593
  // Infinite scrolling + threadInitialize function
11594
- const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$O(void 0, void 0, void 0, function* () {
11594
+ const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$P(void 0, void 0, void 0, function* () {
11595
11595
  if (!isLoadingChatMessagesRef.current) {
11596
11596
  if (onLoadPreviousChatMessages) {
11597
11597
  isLoadingChatMessagesRef.current = true;
@@ -11756,15 +11756,16 @@ const MessageThreadWrapper = (props) => {
11756
11756
  strings
11757
11757
  ]);
11758
11758
  const classes = useChatStyles();
11759
+ const chatArrowNavigationAttributes = reactComponents.useArrowNavigationGroup({ axis: 'vertical', memorizeCurrent: false });
11759
11760
  return (React.createElement("div", { className: react.mergeStyles(messageThreadWrapperContainerStyle), ref: chatThreadRef },
11760
11761
  existsNewChatMessage && !disableJumpToNewMessageButton && (React.createElement("div", { className: react.mergeStyles(newMessageButtonContainerStyle, styles === null || styles === void 0 ? void 0 : styles.newMessageButtonContainer) }, onRenderJumpToNewMessageButton ? (onRenderJumpToNewMessageButton({ text: strings.newMessagesIndicator, onClick: scrollToBottom })) : (React.createElement(DefaultJumpToNewMessageButton, { text: strings.newMessagesIndicator, onClick: scrollToBottom })))),
11761
11762
  React.createElement(LiveAnnouncer, null,
11762
11763
  React.createElement(FluentV9ThemeProvider, { v8Theme: theme },
11763
11764
  React.createElement(reactChat.Chat
11764
11765
  // styles?.chatContainer used in className and style prop as style prop can't handle CSS selectors
11765
- , {
11766
+ , Object.assign({
11766
11767
  // styles?.chatContainer used in className and style prop as style prop can't handle CSS selectors
11767
- className: reactComponents.mergeClasses(classes.root, react.mergeStyles(styles === null || styles === void 0 ? void 0 : styles.chatContainer)), ref: chatScrollDivRef, style: Object.assign({}, createStyleFromV8Style(styles === null || styles === void 0 ? void 0 : styles.chatContainer)) },
11768
+ className: reactComponents.mergeClasses(classes.root, react.mergeStyles(styles === null || styles === void 0 ? void 0 : styles.chatContainer)), ref: chatScrollDivRef, style: Object.assign({}, createStyleFromV8Style(styles === null || styles === void 0 ? void 0 : styles.chatContainer)) }, chatArrowNavigationAttributes),
11768
11769
  latestDeletedMessageId && (React.createElement(Announcer$1, { key: latestDeletedMessageId, announcementString: deletedMessageAriaLabel, ariaLive: 'polite' })),
11769
11770
  messagesToDisplay.map((message) => {
11770
11771
  var _a;
@@ -13530,8 +13531,9 @@ const VideoTile = (props) => {
13530
13531
  }, [videoTileRef]);
13531
13532
  // TODO: Remove after calling sdk fix the keybaord focus
13532
13533
  React.useEffect(() => {
13533
- // PPTLive display name is undefined, return as it is not screen share
13534
- if (displayName !== undefined) {
13534
+ var _a;
13535
+ // PPTLive stream id is null
13536
+ if ((_a = videoTileRef.current) === null || _a === void 0 ? void 0 : _a.id) {
13535
13537
  return;
13536
13538
  }
13537
13539
  let observer;
@@ -14477,7 +14479,7 @@ const loadingStyle = react.mergeStyles({
14477
14479
  * https://reactjs.org/docs/react-api.html#reactmemo
14478
14480
  */
14479
14481
  const RemoteScreenShare = React.memo((props) => {
14480
- const { userId, displayName, isMuted, renderElement, onCreateRemoteStreamView, onDisposeRemoteStreamView, isReceiving, participantVideoScalingMode, reactionResources, localParticipant, remoteParticipants, isPPTLive } = props;
14482
+ const { userId, displayName, isMuted, renderElement, onCreateRemoteStreamView, onDisposeRemoteStreamView, isReceiving, participantVideoScalingMode, reactionResources, localParticipant, remoteParticipants } = props;
14481
14483
  const locale = useLocale$1();
14482
14484
  if (!renderElement) {
14483
14485
  /**
@@ -14501,9 +14503,6 @@ const RemoteScreenShare = React.memo((props) => {
14501
14503
  participant: displayName
14502
14504
  })
14503
14505
  : '';
14504
- if (isPPTLive) {
14505
- return (React.createElement(VideoTile, { 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" })) }));
14506
- }
14507
14506
  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" })) }));
14508
14507
  });
14509
14508
  /**
@@ -14597,7 +14596,7 @@ const localVideoTileContainerStyles = {
14597
14596
 
14598
14597
  // Copyright (c) Microsoft Corporation.
14599
14598
  // Licensed under the MIT License.
14600
- var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
14599
+ var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
14601
14600
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14602
14601
  return new (P || (P = Promise))(function (resolve, reject) {
14603
14602
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -14614,7 +14613,7 @@ const LocalVideoCameraCycleButton = (props) => {
14614
14613
  const { cameras, selectedCamera, onSelectCamera, label, ariaDescription, size } = props;
14615
14614
  const theme = react.useTheme();
14616
14615
  const [waitForCamera, setWaitForCamera] = React.useState(false);
14617
- const onChangeCameraClick = React.useCallback((device) => __awaiter$N(void 0, void 0, void 0, function* () {
14616
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$O(void 0, void 0, void 0, function* () {
14618
14617
  // Throttle changing camera to prevent too many callbacks
14619
14618
  if (onSelectCamera) {
14620
14619
  setWaitForCamera(true);
@@ -16746,7 +16745,7 @@ const MAX_PINNED_REMOTE_VIDEO_TILES$1 = 4;
16746
16745
  * @public
16747
16746
  */
16748
16747
  const VideoGallery = (props) => {
16749
- var _a, _b, _c, _d, _e;
16748
+ var _a, _b, _c, _d;
16750
16749
  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,
16751
16750
  /* @conditional-compile-remove(soft-mute) */
16752
16751
  onMuteParticipant } = props;
@@ -16917,7 +16916,7 @@ const VideoGallery = (props) => {
16917
16916
  ]);
16918
16917
  const screenShareParticipant = remoteParticipants.find((participant) => { var _a; return (_a = participant.screenShareStream) === null || _a === void 0 ? void 0 : _a.isAvailable; });
16919
16918
  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) })));
16919
+ 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 })));
16921
16920
  const screenShareComponent = remoteScreenShareComponent
16922
16921
  ? remoteScreenShareComponent
16923
16922
  : localParticipant.isScreenSharingOn
@@ -17398,7 +17397,7 @@ const DevicesButton = (props) => {
17398
17397
 
17399
17398
  // Copyright (c) Microsoft Corporation.
17400
17399
  // Licensed under the MIT License.
17401
- var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17400
+ var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17402
17401
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17403
17402
  return new (P || (P = Promise))(function (resolve, reject) {
17404
17403
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -17436,7 +17435,7 @@ const CameraButton = (props) => {
17436
17435
  const toggleAnnouncerString = React.useCallback((isCameraOn) => {
17437
17436
  setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
17438
17437
  }, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
17439
- const onToggleClick = React.useCallback(() => __awaiter$M(void 0, void 0, void 0, function* () {
17438
+ const onToggleClick = React.useCallback(() => __awaiter$N(void 0, void 0, void 0, function* () {
17440
17439
  // Throttle click on camera, need to await onToggleCamera then allow another click
17441
17440
  if (onToggleCamera) {
17442
17441
  setWaitForCamera(true);
@@ -17450,7 +17449,7 @@ const CameraButton = (props) => {
17450
17449
  }
17451
17450
  }
17452
17451
  }), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
17453
- const onChangeCameraClick = React.useCallback((device) => __awaiter$M(void 0, void 0, void 0, function* () {
17452
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$N(void 0, void 0, void 0, function* () {
17454
17453
  // Throttle changing camera to prevent too many callbacks
17455
17454
  if (onSelectCamera) {
17456
17455
  setWaitForCamera(true);
@@ -17597,7 +17596,7 @@ const EndCallButton = (props) => {
17597
17596
  return (React.createElement(React.Fragment, null,
17598
17597
  React.createElement(ControlBarButton, Object.assign({}, props, {
17599
17598
  /* @conditional-compile-remove(end-call-options) */
17600
- menuProps: enableEndCallMenu ? defaultMenuProps : undefined, onClick: onHangUp ? () => onHangUp() : props.onClick, styles: componentStyles, onRenderIcon: (_a = props.onRenderIcon) !== null && _a !== void 0 ? _a : onRenderEndCallIcon, strings: strings, labelKey: (_b = props.labelKey) !== null && _b !== void 0 ? _b : 'endCallButtonLabel' }))));
17599
+ menuProps: enableEndCallMenu ? defaultMenuProps : props.menuProps, onClick: onHangUp ? () => onHangUp() : props.onClick, styles: componentStyles, onRenderIcon: (_a = props.onRenderIcon) !== null && _a !== void 0 ? _a : onRenderEndCallIcon, strings: strings, labelKey: (_b = props.labelKey) !== null && _b !== void 0 ? _b : 'endCallButtonLabel' }))));
17601
17600
  };
17602
17601
  const getButtonStyles = (theme) => {
17603
17602
  var _a;
@@ -17671,7 +17670,7 @@ const menupButtonPadding = {
17671
17670
 
17672
17671
  // Copyright (c) Microsoft Corporation.
17673
17672
  // Licensed under the MIT License.
17674
- var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17673
+ var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17675
17674
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17676
17675
  return new (P || (P = Promise))(function (resolve, reject) {
17677
17676
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -17712,7 +17711,7 @@ const MicrophoneButton = (props) => {
17712
17711
  const toggleAnnouncerString = React.useCallback((isMicOn) => {
17713
17712
  setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
17714
17713
  }, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
17715
- const onToggleClick = React.useCallback(() => __awaiter$L(void 0, void 0, void 0, function* () {
17714
+ const onToggleClick = React.useCallback(() => __awaiter$M(void 0, void 0, void 0, function* () {
17716
17715
  if (onToggleMicrophone) {
17717
17716
  try {
17718
17717
  yield onToggleMicrophone();
@@ -18578,7 +18577,7 @@ const dtmfFrequencies = {
18578
18577
 
18579
18578
  // Copyright (c) Microsoft Corporation.
18580
18579
  // Licensed under the MIT License.
18581
- var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18580
+ var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18582
18581
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18583
18582
  return new (P || (P = Promise))(function (resolve, reject) {
18584
18583
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -18622,10 +18621,10 @@ const DialpadButton = (props) => {
18622
18621
  const [buttonPressed, setButtonPressed] = React.useState(false);
18623
18622
  const dtmfToneSound = React.useRef(new Tone(dtmfToneAudioContext, dtmfFrequencies[digit].f1, dtmfFrequencies[digit].f2));
18624
18623
  const useLongPressProps = React.useMemo(() => ({
18625
- onClick: () => __awaiter$K(void 0, void 0, void 0, function* () {
18624
+ onClick: () => __awaiter$L(void 0, void 0, void 0, function* () {
18626
18625
  onClick(digit, index);
18627
18626
  }),
18628
- onLongPress: () => __awaiter$K(void 0, void 0, void 0, function* () {
18627
+ onLongPress: () => __awaiter$L(void 0, void 0, void 0, function* () {
18629
18628
  onLongPress(digit, index);
18630
18629
  }),
18631
18630
  touchEventsOnly: longPressTrigger === 'touch'
@@ -19763,7 +19762,7 @@ const _spokenLanguageToCaptionLanguage = {
19763
19762
 
19764
19763
  // Copyright (c) Microsoft Corporation.
19765
19764
  // Licensed under the MIT License.
19766
- var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19765
+ var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19767
19766
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19768
19767
  return new (P || (P = Promise))(function (resolve, reject) {
19769
19768
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -19802,7 +19801,7 @@ const _CaptionsSettingsModal = (props) => {
19802
19801
  onDismissCaptionsSettings();
19803
19802
  }
19804
19803
  }, [onDismissCaptionsSettings]);
19805
- const onConfirm = React.useCallback(() => __awaiter$J(void 0, void 0, void 0, function* () {
19804
+ const onConfirm = React.useCallback(() => __awaiter$K(void 0, void 0, void 0, function* () {
19806
19805
  const spokenLanguageCode = selectedSpokenLanguage.key;
19807
19806
  const captionLanguageCode = selectedCaptionLanguage.key;
19808
19807
  if (isCaptionsFeatureActive) {
@@ -21468,7 +21467,7 @@ const _DEFAULT_INLINE_IMAGE_FILE_NAME = 'image.png';
21468
21467
 
21469
21468
  // Copyright (c) Microsoft Corporation.
21470
21469
  // Licensed under the MIT License.
21471
- var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21470
+ var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21472
21471
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21473
21472
  return new (P || (P = Promise))(function (resolve, reject) {
21474
21473
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -21585,9 +21584,9 @@ class AzureCommunicationChatAdapter {
21585
21584
  this.chatClient.dispose();
21586
21585
  }
21587
21586
  fetchInitialData() {
21588
- return __awaiter$I(this, void 0, void 0, function* () {
21587
+ return __awaiter$J(this, void 0, void 0, function* () {
21589
21588
  // If get properties fails we dont want to try to get the participants after.
21590
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21589
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21591
21590
  var _a, e_1, _b, _c;
21592
21591
  yield this.chatThreadClient.getProperties();
21593
21592
  try {
@@ -21623,66 +21622,66 @@ class AzureCommunicationChatAdapter {
21623
21622
  this.context.offStateChange(handler);
21624
21623
  }
21625
21624
  sendMessage(content, options) {
21626
- return __awaiter$I(this, void 0, void 0, function* () {
21627
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21625
+ return __awaiter$J(this, void 0, void 0, function* () {
21626
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21628
21627
  return yield this.handlers.onSendMessage(content, options);
21629
21628
  }));
21630
21629
  });
21631
21630
  }
21632
21631
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
21633
21632
  uploadImage(image, imageFilename) {
21634
- return __awaiter$I(this, void 0, void 0, function* () {
21635
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21633
+ return __awaiter$J(this, void 0, void 0, function* () {
21634
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21636
21635
  return yield this.handlers.onUploadImage(image, imageFilename);
21637
21636
  }));
21638
21637
  });
21639
21638
  }
21640
21639
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
21641
21640
  deleteImage(imageId) {
21642
- return __awaiter$I(this, void 0, void 0, function* () {
21643
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21641
+ return __awaiter$J(this, void 0, void 0, function* () {
21642
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21644
21643
  return yield this.handlers.onDeleteImage(imageId);
21645
21644
  }));
21646
21645
  });
21647
21646
  }
21648
21647
  sendReadReceipt(chatMessageId) {
21649
- return __awaiter$I(this, void 0, void 0, function* () {
21650
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21648
+ return __awaiter$J(this, void 0, void 0, function* () {
21649
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21651
21650
  yield this.handlers.onMessageSeen(chatMessageId);
21652
21651
  }));
21653
21652
  });
21654
21653
  }
21655
21654
  sendTypingIndicator() {
21656
- return __awaiter$I(this, void 0, void 0, function* () {
21657
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21655
+ return __awaiter$J(this, void 0, void 0, function* () {
21656
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21658
21657
  yield this.handlers.onTyping();
21659
21658
  }));
21660
21659
  });
21661
21660
  }
21662
21661
  removeParticipant(userId) {
21663
- return __awaiter$I(this, void 0, void 0, function* () {
21664
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21662
+ return __awaiter$J(this, void 0, void 0, function* () {
21663
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21665
21664
  yield this.handlers.onRemoveParticipant(userId);
21666
21665
  }));
21667
21666
  });
21668
21667
  }
21669
21668
  setTopic(topicName) {
21670
- return __awaiter$I(this, void 0, void 0, function* () {
21671
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21669
+ return __awaiter$J(this, void 0, void 0, function* () {
21670
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21672
21671
  yield this.handlers.updateThreadTopicName(topicName);
21673
21672
  }));
21674
21673
  });
21675
21674
  }
21676
21675
  loadPreviousChatMessages(messagesToLoad) {
21677
- return __awaiter$I(this, void 0, void 0, function* () {
21678
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21676
+ return __awaiter$J(this, void 0, void 0, function* () {
21677
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21679
21678
  return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
21680
21679
  }));
21681
21680
  });
21682
21681
  }
21683
21682
  updateMessage(messageId, content, options) {
21684
- return __awaiter$I(this, void 0, void 0, function* () {
21685
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21683
+ return __awaiter$J(this, void 0, void 0, function* () {
21684
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21686
21685
  var _a;
21687
21686
  /* @conditional-compile-remove(file-sharing-acs) */
21688
21687
  const messageOptions = {};
@@ -21713,14 +21712,14 @@ class AzureCommunicationChatAdapter {
21713
21712
  });
21714
21713
  }
21715
21714
  deleteMessage(messageId) {
21716
- return __awaiter$I(this, void 0, void 0, function* () {
21717
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$I(this, void 0, void 0, function* () {
21715
+ return __awaiter$J(this, void 0, void 0, function* () {
21716
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21718
21717
  return yield this.handlers.onDeleteMessage(messageId);
21719
21718
  }));
21720
21719
  });
21721
21720
  }
21722
21721
  downloadResourceToCache(resourceDetails) {
21723
- return __awaiter$I(this, void 0, void 0, function* () {
21722
+ return __awaiter$J(this, void 0, void 0, function* () {
21724
21723
  this.chatClient.downloadResourceToCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);
21725
21724
  });
21726
21725
  }
@@ -21799,7 +21798,7 @@ class AzureCommunicationChatAdapter {
21799
21798
  this.emitter.off(event, listener);
21800
21799
  }
21801
21800
  asyncTeeErrorToEventEmitter(f) {
21802
- return __awaiter$I(this, void 0, void 0, function* () {
21801
+ return __awaiter$J(this, void 0, void 0, function* () {
21803
21802
  try {
21804
21803
  return yield f();
21805
21804
  }
@@ -21849,7 +21848,7 @@ const convertEventType = (type) => {
21849
21848
  *
21850
21849
  * @public
21851
21850
  */
21852
- const createAzureCommunicationChatAdapter = (_a) => __awaiter$I(void 0, [_a], void 0, function* ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) {
21851
+ const createAzureCommunicationChatAdapter = (_a) => __awaiter$J(void 0, [_a], void 0, function* ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) {
21853
21852
  return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);
21854
21853
  });
21855
21854
  /**
@@ -21857,7 +21856,7 @@ const createAzureCommunicationChatAdapter = (_a) => __awaiter$I(void 0, [_a], vo
21857
21856
  *
21858
21857
  * @internal
21859
21858
  */
21860
- const _createAzureCommunicationChatAdapterInner = (endpoint_1, userId_1, displayName_1, credential_1, threadId_1, ...args_1) => __awaiter$I(void 0, [endpoint_1, userId_1, displayName_1, credential_1, threadId_1, ...args_1], void 0, function* (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') {
21859
+ const _createAzureCommunicationChatAdapterInner = (endpoint_1, userId_1, displayName_1, credential_1, threadId_1, ...args_1) => __awaiter$J(void 0, [endpoint_1, userId_1, displayName_1, credential_1, threadId_1, ...args_1], void 0, function* (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') {
21861
21860
  if (!_isValidIdentifier(userId)) {
21862
21861
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
21863
21862
  }
@@ -21877,7 +21876,7 @@ const _createAzureCommunicationChatAdapterInner = (endpoint_1, userId_1, display
21877
21876
  * ThreadId is a promise to allow for lazy initialization of the adapter.
21878
21877
  * @internal
21879
21878
  */
21880
- const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId_2, displayName_2, credential_2, threadId_2, ...args_2) => __awaiter$I(void 0, [endpoint_2, userId_2, displayName_2, credential_2, threadId_2, ...args_2], void 0, function* (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') {
21879
+ const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId_2, displayName_2, credential_2, threadId_2, ...args_2) => __awaiter$J(void 0, [endpoint_2, userId_2, displayName_2, credential_2, threadId_2, ...args_2], void 0, function* (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') {
21881
21880
  if (!_isValidIdentifier(userId)) {
21882
21881
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
21883
21882
  }
@@ -21887,7 +21886,7 @@ const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId_2, dis
21887
21886
  endpoint,
21888
21887
  credential
21889
21888
  }, undefined, telemetryImplementationHint);
21890
- return threadId.then((threadId) => __awaiter$I(void 0, void 0, void 0, function* () {
21889
+ return threadId.then((threadId) => __awaiter$J(void 0, void 0, void 0, function* () {
21891
21890
  if (UNSUPPORTED_CHAT_THREAD_TYPE.some((t) => threadId.includes(t))) {
21892
21891
  console.error(`Invalid Chat ThreadId: ${threadId}. Please note with Teams Channel Meetings, only Calling is supported and Chat is not currently supported. Read more: ${TEAMS_LIMITATION_LEARN_MORE}.`);
21893
21892
  }
@@ -21948,7 +21947,7 @@ beforeDispose) => {
21948
21947
  if (!credential || !displayName || !endpoint || !threadId || !userId) {
21949
21948
  return;
21950
21949
  }
21951
- (() => __awaiter$I(void 0, void 0, void 0, function* () {
21950
+ (() => __awaiter$J(void 0, void 0, void 0, function* () {
21952
21951
  if (adapterRef.current) {
21953
21952
  // Dispose the old adapter when a new one is created.
21954
21953
  //
@@ -21980,7 +21979,7 @@ beforeDispose) => {
21980
21979
  // Dispose any existing adapter when the component unmounts.
21981
21980
  React.useEffect(() => {
21982
21981
  return () => {
21983
- (() => __awaiter$I(void 0, void 0, void 0, function* () {
21982
+ (() => __awaiter$J(void 0, void 0, void 0, function* () {
21984
21983
  if (adapterRef.current) {
21985
21984
  if (beforeDisposeRef.current) {
21986
21985
  yield beforeDisposeRef.current(adapterRef.current);
@@ -22002,7 +22001,7 @@ beforeDispose) => {
22002
22001
  * @public
22003
22002
  */
22004
22003
  function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient) {
22005
- return __awaiter$I(this, void 0, void 0, function* () {
22004
+ return __awaiter$J(this, void 0, void 0, function* () {
22006
22005
  return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);
22007
22006
  });
22008
22007
  }
@@ -22010,7 +22009,7 @@ const isChatError = (e) => {
22010
22009
  return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
22011
22010
  };
22012
22011
 
22013
- var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel"};var chat$k={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22012
+ var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin",unpinParticipantMenuItemAriaLabel:"Unpin",muteAllMenuLabel:"Mute all",muteAllDialogTitle:"Mute everyone?",muteAllDialogContent:"This will mute everyone in the meeting but you.",muteAllConfirmButtonLabel:"Mute all",muteAllCancelButtonLabel:"Cancel",joinBreakoutRoomButtonLabel:"Join breakout room",returnFromBreakoutRoomButtonLabel:"Leave room",leaveBreakoutRoomAndMeetingButtonLabel:"Leave meeting"};var chat$k={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment",uploadImageDataNotProvided:"Image data is not provided.",uploadImageIsTooLarge:"Image is too large. Choose one that's less than {maxImageSize} MB.",uploadImageExtensionIsNotAllowed:"Uploading .{imageExtension} image is not allowed.",uploadImageFailed:"Unable to upload image. Please try again later."};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22014
22013
 
22015
22014
  // Copyright (c) Microsoft Corporation.
22016
22015
  // Licensed under the MIT License.
@@ -22387,7 +22386,7 @@ const sendboxContainerStyles = {
22387
22386
 
22388
22387
  // Copyright (c) Microsoft Corporation.
22389
22388
  // Licensed under the MIT License.
22390
- var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22389
+ var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22391
22390
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22392
22391
  return new (P || (P = Promise))(function (resolve, reject) {
22393
22392
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22408,7 +22407,7 @@ const AvatarPersona = (props) => {
22408
22407
  const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
22409
22408
  const [data, setData] = React.useState();
22410
22409
  React.useEffect(() => {
22411
- (() => __awaiter$H(void 0, void 0, void 0, function* () {
22410
+ (() => __awaiter$I(void 0, void 0, void 0, function* () {
22412
22411
  if (dataProvider && userId) {
22413
22412
  const newData = yield dataProvider(userId);
22414
22413
  if (avatarDeepDifferenceCheck(data, newData)) {
@@ -22964,7 +22963,7 @@ const AttachmentDownloadErrorBar = (props) => {
22964
22963
  /**
22965
22964
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
22966
22965
  */
22967
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Ba-O8ik5.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
22966
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CZSgSn7J.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
22968
22967
  /**
22969
22968
  * @private
22970
22969
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -22972,7 +22971,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
22972
22971
  *
22973
22972
  /* @conditional-compile-remove(rich-text-editor-composite-support)
22974
22973
  */
22975
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Ba-O8ik5.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
22974
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-CZSgSn7J.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
22976
22975
  /**
22977
22976
  * @private
22978
22977
  */
@@ -23006,7 +23005,7 @@ const SendBoxPicker = (props) => {
23006
23005
 
23007
23006
  // Copyright (c) Microsoft Corporation.
23008
23007
  // Licensed under the MIT License.
23009
- var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23008
+ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23010
23009
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23011
23010
  return new (P || (P = Promise))(function (resolve, reject) {
23012
23011
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23018,7 +23017,7 @@ var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments,
23018
23017
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23019
23018
  const MAX_INLINE_IMAGE_UPLOAD_SIZE_MB = 20;
23020
23019
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23021
- const fetchBlobData = (resource, options) => __awaiter$G(void 0, void 0, void 0, function* () {
23020
+ const fetchBlobData = (resource, options) => __awaiter$H(void 0, void 0, void 0, function* () {
23022
23021
  // default timeout is 30 seconds
23023
23022
  const { timeout = 30000, abortController } = options;
23024
23023
  const id = setTimeout(() => {
@@ -23032,7 +23031,7 @@ const fetchBlobData = (resource, options) => __awaiter$G(void 0, void 0, void 0,
23032
23031
  /**
23033
23032
  * @private
23034
23033
  */
23035
- const getInlineImageData = (image) => __awaiter$G(void 0, void 0, void 0, function* () {
23034
+ const getInlineImageData = (image) => __awaiter$H(void 0, void 0, void 0, function* () {
23036
23035
  if (image.startsWith('blob') || image.startsWith('http')) {
23037
23036
  try {
23038
23037
  const res = yield fetchBlobData(image, { abortController: new AbortController() });
@@ -23076,7 +23075,7 @@ const getSendBoxInlineImages = (sendBoxInlineImageUploads) => {
23076
23075
  return (_a = sendBoxInlineImageUploads[SEND_BOX_UPLOADS_KEY_VALUE]) === null || _a === void 0 ? void 0 : _a.map((upload) => upload.metadata);
23077
23076
  };
23078
23077
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23079
- const inlineImageUploadHandler = (uploadTasks, adapter, strings) => __awaiter$G(void 0, void 0, void 0, function* () {
23078
+ const inlineImageUploadHandler = (uploadTasks, adapter, strings) => __awaiter$H(void 0, void 0, void 0, function* () {
23080
23079
  var _a, _b, _c;
23081
23080
  for (const task of uploadTasks) {
23082
23081
  const uploadTask = task;
@@ -23109,7 +23108,7 @@ const inlineImageUploadHandler = (uploadTasks, adapter, strings) => __awaiter$G(
23109
23108
  }
23110
23109
  });
23111
23110
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23112
- const generateUploadTask = (imageAttributes, fileName, messageId, inlineImageUploadActionHandler) => __awaiter$G(void 0, void 0, void 0, function* () {
23111
+ const generateUploadTask = (imageAttributes, fileName, messageId, inlineImageUploadActionHandler) => __awaiter$H(void 0, void 0, void 0, function* () {
23113
23112
  const imageData = yield getInlineImageData(imageAttributes.src);
23114
23113
  if (!imageData) {
23115
23114
  return;
@@ -23156,7 +23155,7 @@ const generateUploadTask = (imageAttributes, fileName, messageId, inlineImageUpl
23156
23155
  /**
23157
23156
  * @internal
23158
23157
  */
23159
- const onInsertInlineImageForEditBox = (imageAttributes, fileName, messageId, adapter, handleEditBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$G(void 0, void 0, void 0, function* () {
23158
+ const onInsertInlineImageForEditBox = (imageAttributes, fileName, messageId, adapter, handleEditBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$H(void 0, void 0, void 0, function* () {
23160
23159
  const uploadTask = yield generateUploadTask(imageAttributes, fileName, messageId, handleEditBoxInlineImageUploadAction);
23161
23160
  if (!uploadTask) {
23162
23161
  return;
@@ -23172,7 +23171,7 @@ const onInsertInlineImageForEditBox = (imageAttributes, fileName, messageId, ada
23172
23171
  /**
23173
23172
  * @internal
23174
23173
  */
23175
- const onInsertInlineImageForSendBox = (imageAttributes, fileName, adapter, handleSendBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$G(void 0, void 0, void 0, function* () {
23174
+ const onInsertInlineImageForSendBox = (imageAttributes, fileName, adapter, handleSendBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$H(void 0, void 0, void 0, function* () {
23176
23175
  const uploadTask = yield generateUploadTask(imageAttributes, fileName, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction);
23177
23176
  if (!uploadTask) {
23178
23177
  return;
@@ -23306,7 +23305,7 @@ const ImageUploadReducer = (state, action) => {
23306
23305
 
23307
23306
  // Copyright (c) Microsoft Corporation.
23308
23307
  // Licensed under the MIT License.
23309
- var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23308
+ var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23310
23309
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23311
23310
  return new (P || (P = Promise))(function (resolve, reject) {
23312
23311
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23360,7 +23359,7 @@ const ChatScreen = (props) => {
23360
23359
  }, [adapter]);
23361
23360
  React.useEffect(() => {
23362
23361
  // Initial data should be always fetched by the composite(or external caller) instead of the adapter
23363
- const fetchData = () => __awaiter$F(void 0, void 0, void 0, function* () {
23362
+ const fetchData = () => __awaiter$G(void 0, void 0, void 0, function* () {
23364
23363
  // Fetch initial data for adapter
23365
23364
  yield adapter.fetchInitialData();
23366
23365
  // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.
@@ -23597,7 +23596,7 @@ const ChatScreen = (props) => {
23597
23596
  }, [uploads]);
23598
23597
  const onSendMessageHandler = React.useCallback(function (content,
23599
23598
  /* @conditional-compile-remove(file-sharing-acs) */ /* @conditional-compile-remove(rich-text-editor-composite-support) */ options) {
23600
- return __awaiter$F(this, void 0, void 0, function* () {
23599
+ return __awaiter$G(this, void 0, void 0, function* () {
23601
23600
  var _a;
23602
23601
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23603
23602
  content = updateContentStringWithUploadedInlineImages(content, sendBoxInlineImageUploads);
@@ -23626,7 +23625,7 @@ const ChatScreen = (props) => {
23626
23625
  ]);
23627
23626
  const onUpdateMessageHandler = React.useCallback(function (messageId, content,
23628
23627
  /* @conditional-compile-remove(file-sharing-acs) */ options) {
23629
- return __awaiter$F(this, void 0, void 0, function* () {
23628
+ return __awaiter$G(this, void 0, void 0, function* () {
23630
23629
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23631
23630
  content = updateContentStringWithUploadedInlineImages(content, editBoxInlineImageUploads, messageId);
23632
23631
  yield messageThreadProps.onUpdateMessage(messageId, content,
@@ -23974,7 +23973,7 @@ const getRemovedIncomingCalls = (state) => {
23974
23973
 
23975
23974
  // Copyright (c) Microsoft Corporation.
23976
23975
  // Licensed under the MIT License.
23977
- var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23976
+ var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23978
23977
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23979
23978
  return new (P || (P = Promise))(function (resolve, reject) {
23980
23979
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24013,7 +24012,7 @@ const _isPreviewOn = (deviceManager) => {
24013
24012
  *
24014
24013
  * @private
24015
24014
  */
24016
- const disposeAllLocalPreviewViews = (callClient) => __awaiter$E(void 0, void 0, void 0, function* () {
24015
+ const disposeAllLocalPreviewViews = (callClient) => __awaiter$F(void 0, void 0, void 0, function* () {
24017
24016
  const unparentedViews = callClient.getState().deviceManager.unparentedViews;
24018
24017
  for (const view of unparentedViews) {
24019
24018
  yield callClient.disposeView(undefined, undefined, view);
@@ -24082,7 +24081,7 @@ const maskDisplayNameWithRole = (displayName, localUserRole, participantRole, is
24082
24081
  * Helper to create a local video stream from the selected camera.
24083
24082
  * @private
24084
24083
  */
24085
- const createLocalVideoStream = (callClient) => __awaiter$E(void 0, void 0, void 0, function* () {
24084
+ const createLocalVideoStream = (callClient) => __awaiter$F(void 0, void 0, void 0, function* () {
24086
24085
  const camera = yield (callClient === null || callClient === void 0 ? void 0 : callClient.getState().deviceManager.selectedCamera);
24087
24086
  if (camera) {
24088
24087
  return new communicationCalling.LocalVideoStream(camera);
@@ -24201,7 +24200,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
24201
24200
 
24202
24201
  // Copyright (c) Microsoft Corporation.
24203
24202
  // Licensed under the MIT License.
24204
- var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24203
+ var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24205
24204
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24206
24205
  return new (P || (P = Promise))(function (resolve, reject) {
24207
24206
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24222,7 +24221,7 @@ const areStreamsEqual = (prevStream, newStream) => {
24222
24221
  * @private
24223
24222
  */
24224
24223
  const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager, call, options) => {
24225
- const onStartLocalVideo = () => __awaiter$D(void 0, void 0, void 0, function* () {
24224
+ const onStartLocalVideo = () => __awaiter$E(void 0, void 0, void 0, function* () {
24226
24225
  // Before the call object creates a stream, dispose of any local preview streams.
24227
24226
  // @TODO: is there any way to parent the unparented view to the call object instead
24228
24227
  // of disposing and creating a new stream?
@@ -24242,7 +24241,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24242
24241
  yield call.startVideo(stream);
24243
24242
  }
24244
24243
  });
24245
- const onStopLocalVideo = (stream) => __awaiter$D(void 0, void 0, void 0, function* () {
24244
+ const onStopLocalVideo = (stream) => __awaiter$E(void 0, void 0, void 0, function* () {
24246
24245
  const callId = call === null || call === void 0 ? void 0 : call.id;
24247
24246
  if (!callId) {
24248
24247
  return;
@@ -24251,7 +24250,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24251
24250
  yield call.stopVideo(stream);
24252
24251
  }
24253
24252
  });
24254
- const onToggleCamera = (options) => __awaiter$D(void 0, void 0, void 0, function* () {
24253
+ const onToggleCamera = (options) => __awaiter$E(void 0, void 0, void 0, function* () {
24255
24254
  const previewOn = _isPreviewOn(callClient.getState().deviceManager);
24256
24255
  // the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
24257
24256
  // The root cause of the issue is caused by never transitioning the unparented view to the
@@ -24308,19 +24307,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24308
24307
  }
24309
24308
  }
24310
24309
  });
24311
- const onSelectMicrophone = (device) => __awaiter$D(void 0, void 0, void 0, function* () {
24310
+ const onSelectMicrophone = (device) => __awaiter$E(void 0, void 0, void 0, function* () {
24312
24311
  if (!deviceManager) {
24313
24312
  return;
24314
24313
  }
24315
24314
  return deviceManager.selectMicrophone(device);
24316
24315
  });
24317
- const onSelectSpeaker = (device) => __awaiter$D(void 0, void 0, void 0, function* () {
24316
+ const onSelectSpeaker = (device) => __awaiter$E(void 0, void 0, void 0, function* () {
24318
24317
  if (!deviceManager) {
24319
24318
  return;
24320
24319
  }
24321
24320
  return deviceManager.selectSpeaker(device);
24322
24321
  });
24323
- const onSelectCamera = (device, options) => __awaiter$D(void 0, void 0, void 0, function* () {
24322
+ const onSelectCamera = (device, options) => __awaiter$E(void 0, void 0, void 0, function* () {
24324
24323
  if (!deviceManager) {
24325
24324
  return;
24326
24325
  }
@@ -24350,9 +24349,9 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24350
24349
  }, options);
24351
24350
  }
24352
24351
  });
24353
- const onRaiseHand = () => __awaiter$D(void 0, void 0, void 0, function* () { var _a; return yield ((_a = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _a === void 0 ? void 0 : _a.raiseHand()); });
24354
- const onLowerHand = () => __awaiter$D(void 0, void 0, void 0, function* () { var _b; return yield ((_b = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _b === void 0 ? void 0 : _b.lowerHand()); });
24355
- const onToggleRaiseHand = () => __awaiter$D(void 0, void 0, void 0, function* () {
24352
+ const onRaiseHand = () => __awaiter$E(void 0, void 0, void 0, function* () { var _a; return yield ((_a = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _a === void 0 ? void 0 : _a.raiseHand()); });
24353
+ const onLowerHand = () => __awaiter$E(void 0, void 0, void 0, function* () { var _b; return yield ((_b = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand)) === null || _b === void 0 ? void 0 : _b.lowerHand()); });
24354
+ const onToggleRaiseHand = () => __awaiter$E(void 0, void 0, void 0, function* () {
24356
24355
  const raiseHandFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand);
24357
24356
  const localUserId = callClient.getState().userId;
24358
24357
  const isLocalRaisedHand = raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.getRaisedHands().find((publishedState) => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));
@@ -24363,7 +24362,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24363
24362
  yield (raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.raiseHand());
24364
24363
  }
24365
24364
  });
24366
- const onReactionClick = (reaction) => __awaiter$D(void 0, void 0, void 0, function* () {
24365
+ const onReactionClick = (reaction) => __awaiter$E(void 0, void 0, void 0, function* () {
24367
24366
  var _c;
24368
24367
  if (reaction === 'like' ||
24369
24368
  reaction === 'applause' ||
@@ -24377,19 +24376,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24377
24376
  }
24378
24377
  return;
24379
24378
  });
24380
- const onToggleMicrophone = () => __awaiter$D(void 0, void 0, void 0, function* () {
24379
+ const onToggleMicrophone = () => __awaiter$E(void 0, void 0, void 0, function* () {
24381
24380
  if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
24382
24381
  throw new Error(`Please invoke onToggleMicrophone after call is started`);
24383
24382
  }
24384
24383
  return call.isMuted ? yield call.unmute() : yield call.mute();
24385
24384
  });
24386
- const onStartScreenShare = () => __awaiter$D(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
24387
- const onStopScreenShare = () => __awaiter$D(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
24388
- const onToggleScreenShare = () => __awaiter$D(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
24389
- const onHangUp = (forEveryone) => __awaiter$D(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
24385
+ const onStartScreenShare = () => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
24386
+ const onStopScreenShare = () => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
24387
+ const onToggleScreenShare = () => __awaiter$E(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
24388
+ const onHangUp = (forEveryone) => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
24390
24389
  /* @conditional-compile-remove(PSTN-calls) */
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()); });
24392
- const onCreateLocalStreamView = (...args_1) => __awaiter$D(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
24390
+ const onToggleHold = () => __awaiter$E(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()); });
24391
+ const onCreateLocalStreamView = (...args_1) => __awaiter$E(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
24393
24392
  if (!call || call.localVideoStreams.length === 0) {
24394
24393
  return;
24395
24394
  }
@@ -24413,7 +24412,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24413
24412
  }
24414
24413
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
24415
24414
  });
24416
- const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$D(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
24415
+ const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$E(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
24417
24416
  if (!call) {
24418
24417
  return;
24419
24418
  }
@@ -24450,7 +24449,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24450
24449
  }
24451
24450
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
24452
24451
  });
24453
- const onDisposeRemoteStreamView = (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24452
+ const onDisposeRemoteStreamView = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24454
24453
  if (!call) {
24455
24454
  return;
24456
24455
  }
@@ -24471,7 +24470,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24471
24470
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
24472
24471
  }
24473
24472
  });
24474
- const onDisposeRemoteVideoStreamView = (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24473
+ const onDisposeRemoteVideoStreamView = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24475
24474
  if (!call) {
24476
24475
  return;
24477
24476
  }
@@ -24488,7 +24487,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24488
24487
  callClient.disposeView(call.id, participant.identifier, remoteVideoStream);
24489
24488
  }
24490
24489
  });
24491
- const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24490
+ const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24492
24491
  if (!call) {
24493
24492
  return;
24494
24493
  }
@@ -24505,7 +24504,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24505
24504
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
24506
24505
  }
24507
24506
  });
24508
- const onDisposeLocalScreenShareStreamView = () => __awaiter$D(void 0, void 0, void 0, function* () {
24507
+ const onDisposeLocalScreenShareStreamView = () => __awaiter$E(void 0, void 0, void 0, function* () {
24509
24508
  if (!call) {
24510
24509
  return;
24511
24510
  }
@@ -24518,7 +24517,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24518
24517
  callClient.disposeView(call.id, undefined, screenShareStream);
24519
24518
  }
24520
24519
  });
24521
- const onDisposeLocalStreamView = () => __awaiter$D(void 0, void 0, void 0, function* () {
24520
+ const onDisposeLocalStreamView = () => __awaiter$E(void 0, void 0, void 0, function* () {
24522
24521
  // If the user is currently in a call, dispose of the local stream view attached to that call.
24523
24522
  const callState = call && callClient.getState().calls[call.id];
24524
24523
  const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
@@ -24530,17 +24529,17 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24530
24529
  // TODO: we need to remember which LocalVideoStream was used for LocalPreview and dispose that one.
24531
24530
  yield disposeAllLocalPreviewViews(callClient);
24532
24531
  });
24533
- const onSendDtmfTone = (dtmfTone) => __awaiter$D(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
24532
+ const onSendDtmfTone = (dtmfTone) => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
24534
24533
  const notImplemented = () => {
24535
24534
  throw new Error('Not implemented, cannot call a method from an abstract object');
24536
24535
  };
24537
24536
  /* @conditional-compile-remove(call-readiness) */
24538
- const askDevicePermission = (constrain) => __awaiter$D(void 0, void 0, void 0, function* () {
24537
+ const askDevicePermission = (constrain) => __awaiter$E(void 0, void 0, void 0, function* () {
24539
24538
  if (deviceManager) {
24540
24539
  yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
24541
24540
  }
24542
24541
  });
24543
- const onRemoveVideoBackgroundEffects = () => __awaiter$D(void 0, void 0, void 0, function* () {
24542
+ const onRemoveVideoBackgroundEffects = () => __awaiter$E(void 0, void 0, void 0, function* () {
24544
24543
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
24545
24544
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
24546
24545
  if (stream) {
@@ -24552,7 +24551,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24552
24551
  }
24553
24552
  }
24554
24553
  });
24555
- const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$D(void 0, void 0, void 0, function* () {
24554
+ const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$E(void 0, void 0, void 0, function* () {
24556
24555
  var _d;
24557
24556
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
24558
24557
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -24565,7 +24564,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24565
24564
  return createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundBlurConfig));
24566
24565
  }
24567
24566
  });
24568
- const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$D(void 0, void 0, void 0, function* () {
24567
+ const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$E(void 0, void 0, void 0, function* () {
24569
24568
  var _e;
24570
24569
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
24571
24570
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -24578,38 +24577,38 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24578
24577
  return (createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig)));
24579
24578
  }
24580
24579
  });
24581
- const onStartCaptions = (options) => __awaiter$D(void 0, void 0, void 0, function* () {
24580
+ const onStartCaptions = (options) => __awaiter$E(void 0, void 0, void 0, function* () {
24582
24581
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24583
24582
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.startCaptions(options));
24584
24583
  });
24585
- const onStopCaptions = () => __awaiter$D(void 0, void 0, void 0, function* () {
24584
+ const onStopCaptions = () => __awaiter$E(void 0, void 0, void 0, function* () {
24586
24585
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24587
24586
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.stopCaptions());
24588
24587
  });
24589
- const onSetSpokenLanguage = (language) => __awaiter$D(void 0, void 0, void 0, function* () {
24588
+ const onSetSpokenLanguage = (language) => __awaiter$E(void 0, void 0, void 0, function* () {
24590
24589
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24591
24590
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.setSpokenLanguage(language));
24592
24591
  });
24593
- const onSetCaptionLanguage = (language) => __awaiter$D(void 0, void 0, void 0, function* () {
24592
+ const onSetCaptionLanguage = (language) => __awaiter$E(void 0, void 0, void 0, function* () {
24594
24593
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24595
24594
  yield captionsFeature.setCaptionLanguage(language);
24596
24595
  });
24597
- const onSubmitSurvey = (survey) => __awaiter$D(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
24598
- const onStartSpotlight = (userIds) => __awaiter$D(void 0, void 0, void 0, function* () {
24596
+ const onSubmitSurvey = (survey) => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
24597
+ const onStartSpotlight = (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24599
24598
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24600
24599
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
24601
24600
  });
24602
- const onStopSpotlight = (userIds) => __awaiter$D(void 0, void 0, void 0, function* () {
24601
+ const onStopSpotlight = (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24603
24602
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24604
24603
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
24605
24604
  });
24606
- const onStopAllSpotlight = () => __awaiter$D(void 0, void 0, void 0, function* () {
24605
+ const onStopAllSpotlight = () => __awaiter$E(void 0, void 0, void 0, function* () {
24607
24606
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopAllSpotlight());
24608
24607
  });
24609
24608
  /* @conditional-compile-remove(soft-mute) */
24610
- const onMuteParticipant = (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24609
+ const onMuteParticipant = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24611
24610
  if (call === null || call === void 0 ? void 0 : call.remoteParticipants) {
24612
- call === null || call === void 0 ? void 0 : call.remoteParticipants.forEach((participant) => __awaiter$D(void 0, void 0, void 0, function* () {
24611
+ call === null || call === void 0 ? void 0 : call.remoteParticipants.forEach((participant) => __awaiter$E(void 0, void 0, void 0, function* () {
24613
24612
  // Using toFlatCommunicationIdentifier to convert the CommunicationIdentifier to string
24614
24613
  // as _toCommunicationIdentifier(userId) comparison to participant.identifier did not work for this case
24615
24614
  if (toFlatCommunicationIdentifier(participant.identifier) === userId) {
@@ -24619,27 +24618,27 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24619
24618
  }
24620
24619
  });
24621
24620
  /* @conditional-compile-remove(soft-mute) */
24622
- const onMuteAllRemoteParticipants = () => __awaiter$D(void 0, void 0, void 0, function* () {
24621
+ const onMuteAllRemoteParticipants = () => __awaiter$E(void 0, void 0, void 0, function* () {
24623
24622
  call === null || call === void 0 ? void 0 : call.muteAllRemoteParticipants();
24624
24623
  });
24625
24624
  const canStartSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.spotlightParticipant.isPresent;
24626
24625
  const canRemoveSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.removeParticipantsSpotlight.isPresent;
24627
24626
  const onStartLocalSpotlight = canStartSpotlight
24628
- ? () => __awaiter$D(void 0, void 0, void 0, function* () {
24627
+ ? () => __awaiter$E(void 0, void 0, void 0, function* () {
24629
24628
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight());
24630
24629
  })
24631
24630
  : undefined;
24632
- const onStopLocalSpotlight = () => __awaiter$D(void 0, void 0, void 0, function* () {
24631
+ const onStopLocalSpotlight = () => __awaiter$E(void 0, void 0, void 0, function* () {
24633
24632
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight());
24634
24633
  });
24635
24634
  const onStartRemoteSpotlight = canStartSpotlight
24636
- ? (userIds) => __awaiter$D(void 0, void 0, void 0, function* () {
24635
+ ? (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24637
24636
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24638
24637
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
24639
24638
  })
24640
24639
  : undefined;
24641
24640
  const onStopRemoteSpotlight = canRemoveSpotlight
24642
- ? (userIds) => __awaiter$D(void 0, void 0, void 0, function* () {
24641
+ ? (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24643
24642
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24644
24643
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
24645
24644
  })
@@ -24699,7 +24698,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24699
24698
 
24700
24699
  // Copyright (c) Microsoft Corporation.
24701
24700
  // Licensed under the MIT License.
24702
- var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24701
+ var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24703
24702
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24704
24703
  return new (P || (P = Promise))(function (resolve, reject) {
24705
24704
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24717,15 +24716,23 @@ var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments,
24717
24716
  * @public
24718
24717
  */
24719
24718
  const createDefaultCallingHandlers = memoizeOne((...args) => {
24719
+ var _a;
24720
24720
  const [callClient, callAgent, deviceManager, call, options] = args;
24721
- return Object.assign(Object.assign({}, createDefaultCommonCallingHandlers(callClient, deviceManager, call, options)), {
24721
+ /* @conditional-compile-remove(breakout-rooms) */
24722
+ const callState = (call === null || call === void 0 ? void 0 : call.id) ? callClient.getState().calls[call === null || call === void 0 ? void 0 : call.id] : undefined;
24723
+ /* @conditional-compile-remove(breakout-rooms) */
24724
+ const breakoutRoomOriginCallId = (_a = callState === null || callState === void 0 ? void 0 : callState.breakoutRooms) === null || _a === void 0 ? void 0 : _a.breakoutRoomOriginCallId;
24725
+ /* @conditional-compile-remove(breakout-rooms) */
24726
+ const breakoutRoomOriginCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.calls.find((call) => call.id === breakoutRoomOriginCallId);
24727
+ const commonCallingHandlers = createDefaultCommonCallingHandlers(callClient, deviceManager, call, options);
24728
+ return Object.assign(Object.assign({}, commonCallingHandlers), {
24722
24729
  // FIXME: onStartCall API should use string, not the underlying SDK types.
24723
24730
  onStartCall: (participants, options) => {
24724
24731
  /* @conditional-compile-remove(teams-adhoc-call) */
24725
24732
  return callAgent === null || callAgent === void 0 ? void 0 : callAgent.startCall(participants, options);
24726
24733
  },
24727
24734
  /* @conditional-compile-remove(PSTN-calls) */
24728
- onAddParticipant: (userId, options) => __awaiter$C(void 0, void 0, void 0, function* () {
24735
+ onAddParticipant: (userId, options) => __awaiter$D(void 0, void 0, void 0, function* () {
24729
24736
  const participant = _toCommunicationIdentifier(userId);
24730
24737
  if (communicationCommon.isPhoneNumberIdentifier(participant)) {
24731
24738
  call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
@@ -24733,12 +24740,12 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
24733
24740
  else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
24734
24741
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
24735
24742
  }
24736
- }), onRemoveParticipant: (userId) => __awaiter$C(void 0, void 0, void 0, function* () {
24743
+ }), onRemoveParticipant: (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24737
24744
  const participant = _toCommunicationIdentifier(userId);
24738
24745
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
24739
24746
  }),
24740
24747
  /* @conditional-compile-remove(one-to-n-calling) */
24741
- onAcceptCall: (incomingCallId, useVideo) => __awaiter$C(void 0, void 0, void 0, function* () {
24748
+ onAcceptCall: (incomingCallId, useVideo) => __awaiter$D(void 0, void 0, void 0, function* () {
24742
24749
  const localVideoStream = useVideo ? yield createLocalVideoStream(callClient) : undefined;
24743
24750
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24744
24751
  if (incomingCall) {
@@ -24746,17 +24753,21 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
24746
24753
  }
24747
24754
  }),
24748
24755
  /* @conditional-compile-remove(one-to-n-calling) */
24749
- onRejectCall: (incomingCallId) => __awaiter$C(void 0, void 0, void 0, function* () {
24756
+ onRejectCall: (incomingCallId) => __awaiter$D(void 0, void 0, void 0, function* () {
24750
24757
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24751
24758
  if (incomingCall) {
24752
24759
  yield incomingCall.reject();
24753
24760
  }
24754
- }) });
24761
+ }),
24762
+ /* @conditional-compile-remove(breakout-rooms) */
24763
+ onHangUp: breakoutRoomOriginCall
24764
+ ? () => __awaiter$D(void 0, void 0, void 0, function* () { return breakoutRoomOriginCall.hangUp().then(() => commonCallingHandlers.onHangUp()); })
24765
+ : commonCallingHandlers.onHangUp });
24755
24766
  });
24756
24767
 
24757
24768
  // Copyright (c) Microsoft Corporation.
24758
24769
  // Licensed under the MIT License.
24759
- var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24770
+ var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24760
24771
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24761
24772
  return new (P || (P = Promise))(function (resolve, reject) {
24762
24773
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24787,7 +24798,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24787
24798
  return undefined;
24788
24799
  },
24789
24800
  /* @conditional-compile-remove(PSTN-calls) */
24790
- onAddParticipant: (userId, options) => __awaiter$B(void 0, void 0, void 0, function* () {
24801
+ onAddParticipant: (userId, options) => __awaiter$C(void 0, void 0, void 0, function* () {
24791
24802
  const participant = _toCommunicationIdentifier(userId);
24792
24803
  /* @conditional-compile-remove(teams-identity-support) */
24793
24804
  const threadId = options === null || options === void 0 ? void 0 : options.threadId;
@@ -24803,7 +24814,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24803
24814
  }
24804
24815
  /* @conditional-compile-remove(teams-identity-support) */
24805
24816
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
24806
- }), onRemoveParticipant: (userId) => __awaiter$B(void 0, void 0, void 0, function* () {
24817
+ }), onRemoveParticipant: (userId) => __awaiter$C(void 0, void 0, void 0, function* () {
24807
24818
  const participant = _toCommunicationIdentifier(userId);
24808
24819
  if (communicationCommon.isCommunicationUserIdentifier(participant)) {
24809
24820
  throw new Error('CommunicationIdentifier in Teams call is not supported!');
@@ -24815,7 +24826,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24815
24826
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
24816
24827
  }),
24817
24828
  /* @conditional-compile-remove(one-to-n-calling) */
24818
- onAcceptCall: (incomingCallId, useVideo) => __awaiter$B(void 0, void 0, void 0, function* () {
24829
+ onAcceptCall: (incomingCallId, useVideo) => __awaiter$C(void 0, void 0, void 0, function* () {
24819
24830
  const localVideoStream = useVideo ? yield createLocalVideoStream(callClient) : undefined;
24820
24831
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24821
24832
  if (incomingCall) {
@@ -24823,7 +24834,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24823
24834
  }
24824
24835
  }),
24825
24836
  /* @conditional-compile-remove(one-to-n-calling) */
24826
- onRejectCall: (incomingCallId) => __awaiter$B(void 0, void 0, void 0, function* () {
24837
+ onRejectCall: (incomingCallId) => __awaiter$C(void 0, void 0, void 0, function* () {
24827
24838
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24828
24839
  if (incomingCall) {
24829
24840
  yield incomingCall.reject();
@@ -25096,7 +25107,7 @@ const getCaptionsSpeakerIdentifier = (captions) => {
25096
25107
 
25097
25108
  // Copyright (c) Microsoft Corporation.
25098
25109
  // Licensed under the MIT License.
25099
- var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25110
+ var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25100
25111
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25101
25112
  return new (P || (P = Promise))(function (resolve, reject) {
25102
25113
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25173,7 +25184,7 @@ class ProxyDeviceManager {
25173
25184
  console.info('Could not Unsubscribe to Permissions API Camera changed events, API is not supported by browser', e);
25174
25185
  }
25175
25186
  };
25176
- this.permissionsApiStateChangeHandler = () => __awaiter$A(this, void 0, void 0, function* () {
25187
+ this.permissionsApiStateChangeHandler = () => __awaiter$B(this, void 0, void 0, function* () {
25177
25188
  yield this.updateDevicePermissionState();
25178
25189
  });
25179
25190
  /**
@@ -25184,13 +25195,13 @@ class ProxyDeviceManager {
25184
25195
  this.selectCamera = (videoDeviceInfo) => {
25185
25196
  this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
25186
25197
  };
25187
- this.videoDevicesUpdated = () => __awaiter$A(this, void 0, void 0, function* () {
25198
+ this.videoDevicesUpdated = () => __awaiter$B(this, void 0, void 0, function* () {
25188
25199
  // Device Manager always has a camera with '' name if there are no real camera devices available.
25189
25200
  // We don't want to show that in the UI.
25190
25201
  const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
25191
25202
  this._context.setDeviceManagerCameras(dedupeById(realCameras));
25192
25203
  });
25193
- this.audioDevicesUpdated = () => __awaiter$A(this, void 0, void 0, function* () {
25204
+ this.audioDevicesUpdated = () => __awaiter$B(this, void 0, void 0, function* () {
25194
25205
  this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
25195
25206
  if (this._deviceManager.isSpeakerSelectionAvailable) {
25196
25207
  this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
@@ -25202,7 +25213,7 @@ class ProxyDeviceManager {
25202
25213
  this.selectedSpeakerChanged = () => {
25203
25214
  this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);
25204
25215
  };
25205
- this.updateDevicePermissionState = (sdkDeviceAccessState) => __awaiter$A(this, void 0, void 0, function* () {
25216
+ this.updateDevicePermissionState = (sdkDeviceAccessState) => __awaiter$B(this, void 0, void 0, function* () {
25206
25217
  let hasCameraPermission = !!(sdkDeviceAccessState === null || sdkDeviceAccessState === void 0 ? void 0 : sdkDeviceAccessState.video);
25207
25218
  let hasMicPermission = !!(sdkDeviceAccessState === null || sdkDeviceAccessState === void 0 ? void 0 : sdkDeviceAccessState.audio);
25208
25219
  // Supplement the SDK values with values from the Permissions API to get a better understanding of the device
@@ -25278,7 +25289,7 @@ class ProxyDeviceManager {
25278
25289
  }
25279
25290
  case 'askDevicePermission': {
25280
25291
  return this._context.withAsyncErrorTeedToState((...args) => {
25281
- return target.askDevicePermission(...args).then((deviceAccess) => __awaiter$A(this, void 0, void 0, function* () {
25292
+ return target.askDevicePermission(...args).then((deviceAccess) => __awaiter$B(this, void 0, void 0, function* () {
25282
25293
  yield this.updateDevicePermissionState(deviceAccess);
25283
25294
  return deviceAccess;
25284
25295
  }));
@@ -25676,7 +25687,7 @@ class CallIdHistory {
25676
25687
 
25677
25688
  // Copyright (c) Microsoft Corporation.
25678
25689
  // Licensed under the MIT License.
25679
- var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25690
+ var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25680
25691
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25681
25692
  return new (P || (P = Promise))(function (resolve, reject) {
25682
25693
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25858,6 +25869,14 @@ let CallContext$2 = class CallContext {
25858
25869
  delete draft.calls[oldCallId];
25859
25870
  draft.calls[newCallId] = call;
25860
25871
  }
25872
+ /* @conditional-compile-remove(breakout-rooms) */
25873
+ // Update the old origin call id of breakout room calls to the new call id
25874
+ Object.values(draft.calls).forEach((call) => {
25875
+ var _a, _b;
25876
+ if (((_a = call.breakoutRooms) === null || _a === void 0 ? void 0 : _a.breakoutRoomOriginCallId) === oldCallId) {
25877
+ ((_b = call.breakoutRooms) === null || _b === void 0 ? void 0 : _b.breakoutRoomOriginCallId) === newCallId;
25878
+ }
25879
+ });
25861
25880
  });
25862
25881
  }
25863
25882
  /* @conditional-compile-remove(unsupported-browser) */
@@ -25884,10 +25903,6 @@ let CallContext$2 = class CallContext {
25884
25903
  addRemoteParticipant.forEach((participant) => {
25885
25904
  call.remoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] = participant;
25886
25905
  });
25887
- // TODO: need to remove after contentSharingRole avaible in WebCalling SDK.
25888
- if (!call.contentSharingRemoteParticipant) {
25889
- call.contentSharingRemoteParticipant = toFlatCommunicationIdentifier(addRemoteParticipant[0].identifier);
25890
- }
25891
25906
  }
25892
25907
  });
25893
25908
  }
@@ -26016,14 +26031,14 @@ let CallContext$2 = class CallContext {
26016
26031
  }
26017
26032
  });
26018
26033
  }
26019
- setCallParticipantPPTLive(callId, target) {
26034
+ setCallParticipantPPTLive(callId, participantKey, target) {
26020
26035
  this.modifyState((draft) => {
26021
26036
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
26022
- const participantKey = call.contentSharingRemoteParticipant;
26023
26037
  if (call && participantKey) {
26024
26038
  const participant = call.remoteParticipants[participantKey];
26025
26039
  if (participant) {
26026
26040
  participant.contentSharingStream = target;
26041
+ call.contentSharingRemoteParticipant = participantKey;
26027
26042
  }
26028
26043
  }
26029
26044
  });
@@ -26636,7 +26651,7 @@ let CallContext$2 = class CallContext {
26636
26651
  * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
26637
26652
  */
26638
26653
  withAsyncErrorTeedToState(action, target) {
26639
- return (...args) => __awaiter$z(this, void 0, void 0, function* () {
26654
+ return (...args) => __awaiter$A(this, void 0, void 0, function* () {
26640
26655
  try {
26641
26656
  return yield action(...args);
26642
26657
  }
@@ -27161,7 +27176,7 @@ function _logStreamEvent(eventName, streamLogInfo, error) {
27161
27176
 
27162
27177
  // Copyright (c) Microsoft Corporation.
27163
27178
  // Licensed under the MIT License.
27164
- var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27179
+ var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27165
27180
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27166
27181
  return new (P || (P = Promise))(function (resolve, reject) {
27167
27182
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -27171,7 +27186,7 @@ var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments,
27171
27186
  });
27172
27187
  };
27173
27188
  function createViewVideo(context, internalContext, callId, stream, participantId, options) {
27174
- return __awaiter$y(this, void 0, void 0, function* () {
27189
+ return __awaiter$z(this, void 0, void 0, function* () {
27175
27190
  // we can only have 3 types of createView
27176
27191
  let streamEventType;
27177
27192
  // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.
@@ -27300,7 +27315,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
27300
27315
  });
27301
27316
  }
27302
27317
  function createViewUnparentedVideo(context, internalContext, stream, options) {
27303
- return __awaiter$y(this, void 0, void 0, function* () {
27318
+ return __awaiter$z(this, void 0, void 0, function* () {
27304
27319
  const renderInfo = internalContext.getUnparentedRenderInfo(stream);
27305
27320
  if (renderInfo && renderInfo.status === 'Rendered') {
27306
27321
  console.warn('Unparented LocalVideoStream is already rendered');
@@ -27469,7 +27484,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
27469
27484
  // Render LocalVideoStream that is not part of a Call
27470
27485
  // Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).
27471
27486
  // We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
27472
- return context.withAsyncErrorTeedToState(() => __awaiter$y(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
27487
+ return context.withAsyncErrorTeedToState(() => __awaiter$z(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
27473
27488
  }
27474
27489
  else {
27475
27490
  _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
@@ -27655,7 +27670,7 @@ class RecordingSubscriber {
27655
27670
 
27656
27671
  // Copyright (c) Microsoft Corporation.
27657
27672
  // Licensed under the MIT License.
27658
- var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27673
+ var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27659
27674
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27660
27675
  return new (P || (P = Promise))(function (resolve, reject) {
27661
27676
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -27679,16 +27694,19 @@ class PPTLiveSubscriber {
27679
27694
  this._context.setCallPPTLiveActive(this._callIdRef.callId, this._pptLive.isActive);
27680
27695
  this.checkAndUpdatePPTLiveParticipant();
27681
27696
  };
27682
- this.checkAndUpdatePPTLiveParticipant = () => __awaiter$x(this, void 0, void 0, function* () {
27697
+ this.checkAndUpdatePPTLiveParticipant = () => __awaiter$y(this, void 0, void 0, function* () {
27698
+ if (!this._pptLive.activePresenterId) {
27699
+ return;
27700
+ }
27683
27701
  if (this._pptLive.isActive) {
27684
27702
  // TODO: need to refactor if Web Calling SDK has this logic ready
27685
27703
  if (this._call.isScreenSharingOn) {
27686
27704
  yield this._call.stopScreenSharing();
27687
27705
  }
27688
- this._context.setCallParticipantPPTLive(this._callIdRef.callId, this._pptLive.target);
27706
+ this._context.setCallParticipantPPTLive(this._callIdRef.callId, toFlatCommunicationIdentifier(this._pptLive.activePresenterId), this._pptLive.target);
27689
27707
  }
27690
27708
  else {
27691
- this._context.setCallParticipantPPTLive(this._callIdRef.callId, undefined);
27709
+ this._context.setCallParticipantPPTLive(this._callIdRef.callId, toFlatCommunicationIdentifier(this._pptLive.activePresenterId), undefined);
27692
27710
  }
27693
27711
  });
27694
27712
  this._callIdRef = callIdRef;
@@ -28294,7 +28312,7 @@ class IncomingCallSubscriber {
28294
28312
 
28295
28313
  // Copyright (c) Microsoft Corporation.
28296
28314
  // Licensed under the MIT License.
28297
- var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28315
+ var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28298
28316
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28299
28317
  return new (P || (P = Promise))(function (resolve, reject) {
28300
28318
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28314,14 +28332,14 @@ class ProxyIncomingCall {
28314
28332
  switch (prop) {
28315
28333
  case 'accept': {
28316
28334
  return this._context.withAsyncErrorTeedToState(function (...args) {
28317
- return __awaiter$w(this, void 0, void 0, function* () {
28335
+ return __awaiter$x(this, void 0, void 0, function* () {
28318
28336
  return yield target.accept(...args);
28319
28337
  });
28320
28338
  }, 'IncomingCall.accept');
28321
28339
  }
28322
28340
  case 'reject': {
28323
28341
  return this._context.withAsyncErrorTeedToState(function (...args) {
28324
- return __awaiter$w(this, void 0, void 0, function* () {
28342
+ return __awaiter$x(this, void 0, void 0, function* () {
28325
28343
  return yield target.reject(...args);
28326
28344
  });
28327
28345
  }, 'IncomingCall.reject');
@@ -28343,7 +28361,7 @@ const incomingCallDeclaratify = (incomingCall, context) => {
28343
28361
 
28344
28362
  // Copyright (c) Microsoft Corporation.
28345
28363
  // Licensed under the MIT License.
28346
- var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28364
+ var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28347
28365
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28348
28366
  return new (P || (P = Promise))(function (resolve, reject) {
28349
28367
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28363,14 +28381,14 @@ class ProxyTeamsIncomingCall {
28363
28381
  switch (prop) {
28364
28382
  case 'accept': {
28365
28383
  return this._context.withAsyncErrorTeedToState(function (...args) {
28366
- return __awaiter$v(this, void 0, void 0, function* () {
28384
+ return __awaiter$w(this, void 0, void 0, function* () {
28367
28385
  return yield target.accept(...args);
28368
28386
  });
28369
28387
  }, 'IncomingCall.accept');
28370
28388
  }
28371
28389
  case 'reject': {
28372
28390
  return this._context.withAsyncErrorTeedToState(function (...args) {
28373
- return __awaiter$v(this, void 0, void 0, function* () {
28391
+ return __awaiter$w(this, void 0, void 0, function* () {
28374
28392
  return yield target.reject(...args);
28375
28393
  });
28376
28394
  }, 'IncomingCall.reject');
@@ -28589,7 +28607,7 @@ const clearCallRelatedState = (context, internalContext) => {
28589
28607
 
28590
28608
  // Copyright (c) Microsoft Corporation.
28591
28609
  // Licensed under the MIT License.
28592
- var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28610
+ var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28593
28611
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28594
28612
  return new (P || (P = Promise))(function (resolve, reject) {
28595
28613
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28615,56 +28633,56 @@ class ProxyCallCommon {
28615
28633
  switch (prop) {
28616
28634
  case 'mute': {
28617
28635
  return this._context.withAsyncErrorTeedToState(function (...args) {
28618
- return __awaiter$u(this, void 0, void 0, function* () {
28636
+ return __awaiter$v(this, void 0, void 0, function* () {
28619
28637
  return yield target.mute(...args);
28620
28638
  });
28621
28639
  }, 'Call.mute');
28622
28640
  }
28623
28641
  case 'unmute': {
28624
28642
  return this._context.withAsyncErrorTeedToState(function (...args) {
28625
- return __awaiter$u(this, void 0, void 0, function* () {
28643
+ return __awaiter$v(this, void 0, void 0, function* () {
28626
28644
  return yield target.unmute(...args);
28627
28645
  });
28628
28646
  }, 'Call.unmute');
28629
28647
  }
28630
28648
  case 'startVideo': {
28631
28649
  return this._context.withAsyncErrorTeedToState(function (...args) {
28632
- return __awaiter$u(this, void 0, void 0, function* () {
28650
+ return __awaiter$v(this, void 0, void 0, function* () {
28633
28651
  return yield target.startVideo(...args);
28634
28652
  });
28635
28653
  }, 'Call.startVideo');
28636
28654
  }
28637
28655
  case 'stopVideo': {
28638
28656
  return this._context.withAsyncErrorTeedToState(function (...args) {
28639
- return __awaiter$u(this, void 0, void 0, function* () {
28657
+ return __awaiter$v(this, void 0, void 0, function* () {
28640
28658
  return yield target.stopVideo(...args);
28641
28659
  });
28642
28660
  }, 'Call.stopVideo');
28643
28661
  }
28644
28662
  case 'startScreenSharing': {
28645
28663
  return this._context.withAsyncErrorTeedToState(function (...args) {
28646
- return __awaiter$u(this, void 0, void 0, function* () {
28664
+ return __awaiter$v(this, void 0, void 0, function* () {
28647
28665
  return yield target.startScreenSharing(...args);
28648
28666
  });
28649
28667
  }, 'Call.startScreenSharing');
28650
28668
  }
28651
28669
  case 'stopScreenSharing': {
28652
28670
  return this._context.withAsyncErrorTeedToState(function (...args) {
28653
- return __awaiter$u(this, void 0, void 0, function* () {
28671
+ return __awaiter$v(this, void 0, void 0, function* () {
28654
28672
  return yield target.stopScreenSharing(...args);
28655
28673
  });
28656
28674
  }, 'Call.stopScreenSharing');
28657
28675
  }
28658
28676
  case 'hold': {
28659
28677
  return this._context.withAsyncErrorTeedToState(function (...args) {
28660
- return __awaiter$u(this, void 0, void 0, function* () {
28678
+ return __awaiter$v(this, void 0, void 0, function* () {
28661
28679
  return yield target.hold(...args);
28662
28680
  });
28663
28681
  }, 'Call.hold');
28664
28682
  }
28665
28683
  case 'resume': {
28666
28684
  return this._context.withAsyncErrorTeedToState(function (...args) {
28667
- return __awaiter$u(this, void 0, void 0, function* () {
28685
+ return __awaiter$v(this, void 0, void 0, function* () {
28668
28686
  return yield target.resume(...args);
28669
28687
  });
28670
28688
  }, 'Call.resume');
@@ -28732,7 +28750,7 @@ class ProxyTeamsCaptions {
28732
28750
  get(target, prop) {
28733
28751
  switch (prop) {
28734
28752
  case 'startCaptions':
28735
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28753
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28736
28754
  var _a, _b;
28737
28755
  this._context.setStartCaptionsInProgress(this._call.id, true);
28738
28756
  try {
@@ -28746,7 +28764,7 @@ class ProxyTeamsCaptions {
28746
28764
  }
28747
28765
  }), 'Call.feature');
28748
28766
  case 'stopCaptions':
28749
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28767
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28750
28768
  const ret = yield target.stopCaptions(...args);
28751
28769
  this._context.setIsCaptionActive(this._call.id, false);
28752
28770
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -28754,13 +28772,13 @@ class ProxyTeamsCaptions {
28754
28772
  return ret;
28755
28773
  }), 'Call.feature');
28756
28774
  case 'setSpokenLanguage':
28757
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28775
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28758
28776
  const ret = yield target.setSpokenLanguage(...args);
28759
28777
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
28760
28778
  return ret;
28761
28779
  }), 'Call.feature');
28762
28780
  case 'setCaptionLanguage':
28763
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28781
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28764
28782
  const ret = yield target.setCaptionLanguage(...args);
28765
28783
  this._context.setSelectedCaptionLanguage(this._call.id, args[0]);
28766
28784
  return ret;
@@ -28782,7 +28800,7 @@ class ProxyCaptions {
28782
28800
  get(target, prop) {
28783
28801
  switch (prop) {
28784
28802
  case 'startCaptions':
28785
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28803
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28786
28804
  var _a, _b;
28787
28805
  this._context.setStartCaptionsInProgress(this._call.id, true);
28788
28806
  try {
@@ -28796,7 +28814,7 @@ class ProxyCaptions {
28796
28814
  }
28797
28815
  }), 'Call.feature');
28798
28816
  case 'stopCaptions':
28799
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28817
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28800
28818
  const ret = yield target.stopCaptions(...args);
28801
28819
  this._context.setIsCaptionActive(this._call.id, false);
28802
28820
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -28804,7 +28822,7 @@ class ProxyCaptions {
28804
28822
  return ret;
28805
28823
  }), 'Call.feature');
28806
28824
  case 'setSpokenLanguage':
28807
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28825
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28808
28826
  const ret = yield target.setSpokenLanguage(...args);
28809
28827
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
28810
28828
  return ret;
@@ -28824,12 +28842,12 @@ class ProxySpotlightCallFeature {
28824
28842
  get(target, prop) {
28825
28843
  switch (prop) {
28826
28844
  case 'startSpotlight':
28827
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28845
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28828
28846
  const ret = yield target.startSpotlight(...args);
28829
28847
  return ret;
28830
28848
  }), 'Call.feature');
28831
28849
  case 'stopSpotlight':
28832
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$u(this, void 0, void 0, function* () {
28850
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28833
28851
  const ret = yield target.stopSpotlight(...args);
28834
28852
  return ret;
28835
28853
  }), 'Call.feature');
@@ -28871,7 +28889,7 @@ class ProxyTransferCallFeature {
28871
28889
 
28872
28890
  // Copyright (c) Microsoft Corporation.
28873
28891
  // Licensed under the MIT License.
28874
- var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28892
+ var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28875
28893
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28876
28894
  return new (P || (P = Promise))(function (resolve, reject) {
28877
28895
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28885,7 +28903,7 @@ class ProxyCall extends ProxyCallCommon {
28885
28903
  switch (prop) {
28886
28904
  case 'addParticipant': {
28887
28905
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
28888
- return __awaiter$t(this, void 0, void 0, function* () {
28906
+ return __awaiter$u(this, void 0, void 0, function* () {
28889
28907
  return yield target.addParticipant(...args);
28890
28908
  });
28891
28909
  }, 'Call.addParticipant');
@@ -29120,7 +29138,7 @@ class InternalCallContext {
29120
29138
 
29121
29139
  // Copyright (c) Microsoft Corporation.
29122
29140
  // Licensed under the MIT License.
29123
- var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29141
+ var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29124
29142
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29125
29143
  return new (P || (P = Promise))(function (resolve, reject) {
29126
29144
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29136,7 +29154,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
29136
29154
  /* @conditional-compile-remove(PSTN-calls) */
29137
29155
  case 'addParticipant': {
29138
29156
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
29139
- return __awaiter$s(this, void 0, void 0, function* () {
29157
+ return __awaiter$t(this, void 0, void 0, function* () {
29140
29158
  return yield target.addParticipant(...args);
29141
29159
  });
29142
29160
  }, 'TeamsCall.addParticipant');
@@ -29255,7 +29273,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
29255
29273
 
29256
29274
  // Copyright (c) Microsoft Corporation.
29257
29275
  // Licensed under the MIT License.
29258
- var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29276
+ var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29259
29277
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29260
29278
  return new (P || (P = Promise))(function (resolve, reject) {
29261
29279
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29277,7 +29295,7 @@ class ProxyVideoStreamRendererView {
29277
29295
  get(target, prop) {
29278
29296
  switch (prop) {
29279
29297
  case 'updateScalingMode': {
29280
- return (...args) => __awaiter$r(this, void 0, void 0, function* () {
29298
+ return (...args) => __awaiter$s(this, void 0, void 0, function* () {
29281
29299
  yield target.updateScalingMode(...args);
29282
29300
  this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
29283
29301
  });
@@ -29298,7 +29316,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
29298
29316
 
29299
29317
  // Copyright (c) Microsoft Corporation.
29300
29318
  // Licensed under the MIT License.
29301
- var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29319
+ var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29302
29320
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29303
29321
  return new (P || (P = Promise))(function (resolve, reject) {
29304
29322
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29320,7 +29338,7 @@ class ProxyCallClient {
29320
29338
  get(target, prop) {
29321
29339
  switch (prop) {
29322
29340
  case 'createCallAgent': {
29323
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$q(this, void 0, void 0, function* () {
29341
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$r(this, void 0, void 0, function* () {
29324
29342
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
29325
29343
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
29326
29344
  // callAgent if the createCallAgent succeeds.
@@ -29333,7 +29351,7 @@ class ProxyCallClient {
29333
29351
  }), 'CallClient.createCallAgent');
29334
29352
  }
29335
29353
  case 'createTeamsCallAgent': {
29336
- /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$q(this, void 0, void 0, function* () {
29354
+ /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$r(this, void 0, void 0, function* () {
29337
29355
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
29338
29356
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
29339
29357
  // callAgent if the createCallAgent succeeds.
@@ -29346,7 +29364,7 @@ class ProxyCallClient {
29346
29364
  }), 'CallClient.createTeamsCallAgent');
29347
29365
  }
29348
29366
  case 'getDeviceManager': {
29349
- return this._context.withAsyncErrorTeedToState(() => __awaiter$q(this, void 0, void 0, function* () {
29367
+ return this._context.withAsyncErrorTeedToState(() => __awaiter$r(this, void 0, void 0, function* () {
29350
29368
  // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
29351
29369
  // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
29352
29370
  // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
@@ -29375,7 +29393,7 @@ class ProxyCallClient {
29375
29393
  /**
29376
29394
  * add to this object if we want to proxy anything else off the DebugInfo feature object.
29377
29395
  */
29378
- return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$q(this, void 0, void 0, function* () {
29396
+ return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$r(this, void 0, void 0, function* () {
29379
29397
  const environmentInfo = yield feature.getEnvironmentInfo();
29380
29398
  this._context.setEnvironmentInfo(environmentInfo);
29381
29399
  return environmentInfo;
@@ -29436,7 +29454,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
29436
29454
  });
29437
29455
  Object.defineProperty(callClient, 'createView', {
29438
29456
  configurable: false,
29439
- value: (callId, participantId, stream, options) => __awaiter$q(void 0, void 0, void 0, function* () {
29457
+ value: (callId, participantId, stream, options) => __awaiter$r(void 0, void 0, void 0, function* () {
29440
29458
  const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
29441
29459
  const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
29442
29460
  // We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
@@ -30495,7 +30513,7 @@ const END_CALL_PAGES = [
30495
30513
 
30496
30514
  // Copyright (c) Microsoft Corporation.
30497
30515
  // Licensed under the MIT License.
30498
- var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
30516
+ var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
30499
30517
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30500
30518
  return new (P || (P = Promise))(function (resolve, reject) {
30501
30519
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -30857,7 +30875,7 @@ const isDisabled$4 = (option) => {
30857
30875
  /**
30858
30876
  * @returns Permissions state for the camera.
30859
30877
  */
30860
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter$p(void 0, void 0, void 0, function* () {
30878
+ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$q(void 0, void 0, void 0, function* () {
30861
30879
  try {
30862
30880
  return (yield navigator.permissions.query({ name: 'camera' })).state;
30863
30881
  }
@@ -30870,7 +30888,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$p(void 0, void 0
30870
30888
  /**
30871
30889
  * @returns Permissions state for the microphone.
30872
30890
  */
30873
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$p(void 0, void 0, void 0, function* () {
30891
+ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$q(void 0, void 0, void 0, function* () {
30874
30892
  try {
30875
30893
  return (yield navigator.permissions.query({ name: 'microphone' })).state;
30876
30894
  }
@@ -30887,7 +30905,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$p(void 0, vo
30887
30905
  * If permission API is not supported on this browser, permission state is set to unsupported.
30888
30906
  * @private
30889
30907
  */
30890
- const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$p(void 0, void 0, void 0, function* () {
30908
+ const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$q(void 0, void 0, void 0, function* () {
30891
30909
  const [cameraResult, microphoneResult] = yield Promise.all([
30892
30910
  queryCameraPermissionFromPermissionsAPI(),
30893
30911
  queryMicrophonePermissionFromPermissionsAPI()
@@ -31077,7 +31095,7 @@ function computeComplianceNotification(complianceProps, cachedProps) {
31077
31095
 
31078
31096
  // Copyright (c) Microsoft Corporation.
31079
31097
  // Licensed under the MIT License.
31080
- var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31098
+ var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31081
31099
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31082
31100
  return new (P || (P = Promise))(function (resolve, reject) {
31083
31101
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31100,22 +31118,22 @@ _component) => {
31100
31118
  };
31101
31119
  const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
31102
31120
  return {
31103
- onCreateLocalStreamView: (options) => __awaiter$o(void 0, void 0, void 0, function* () {
31121
+ onCreateLocalStreamView: (options) => __awaiter$p(void 0, void 0, void 0, function* () {
31104
31122
  return yield adapter.createStreamView(undefined, options);
31105
31123
  }),
31106
- onCreateRemoteStreamView: (userId, options) => __awaiter$o(void 0, void 0, void 0, function* () {
31124
+ onCreateRemoteStreamView: (userId, options) => __awaiter$p(void 0, void 0, void 0, function* () {
31107
31125
  return yield adapter.createStreamView(userId, options);
31108
31126
  }),
31109
- onHangUp: (forEveryone) => __awaiter$o(void 0, void 0, void 0, function* () {
31127
+ onHangUp: (forEveryone) => __awaiter$p(void 0, void 0, void 0, function* () {
31110
31128
  yield adapter.leaveCall(forEveryone);
31111
31129
  }),
31112
31130
  /* @conditional-compile-remove(PSTN-calls) */
31113
- onToggleHold: () => __awaiter$o(void 0, void 0, void 0, function* () {
31131
+ onToggleHold: () => __awaiter$p(void 0, void 0, void 0, function* () {
31114
31132
  var _a;
31115
31133
  return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
31116
31134
  }),
31117
31135
  /* @conditional-compile-remove(PSTN-calls) */
31118
- onAddParticipant: (participant, options) => __awaiter$o(void 0, void 0, void 0, function* () {
31136
+ onAddParticipant: (participant, options) => __awaiter$p(void 0, void 0, void 0, function* () {
31119
31137
  if ('communicationUserId' in participant) {
31120
31138
  return yield adapter.addParticipant(participant);
31121
31139
  }
@@ -31123,10 +31141,10 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
31123
31141
  return yield adapter.addParticipant(participant, options);
31124
31142
  }
31125
31143
  }),
31126
- onSendDtmfTone: (dtmfTone) => __awaiter$o(void 0, void 0, void 0, function* () {
31144
+ onSendDtmfTone: (dtmfTone) => __awaiter$p(void 0, void 0, void 0, function* () {
31127
31145
  yield adapter.sendDtmfTone(dtmfTone);
31128
31146
  }),
31129
- onRemoveParticipant: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
31147
+ onRemoveParticipant: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31130
31148
  if (typeof userId === 'string') {
31131
31149
  yield adapter.removeParticipant(userId);
31132
31150
  }
@@ -31135,136 +31153,136 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
31135
31153
  yield adapter.removeParticipant(_toCommunicationIdentifier(userId));
31136
31154
  }
31137
31155
  }),
31138
- onRaiseHand: () => __awaiter$o(void 0, void 0, void 0, function* () {
31156
+ onRaiseHand: () => __awaiter$p(void 0, void 0, void 0, function* () {
31139
31157
  yield adapter.raiseHand();
31140
31158
  }),
31141
- onLowerHand: () => __awaiter$o(void 0, void 0, void 0, function* () {
31159
+ onLowerHand: () => __awaiter$p(void 0, void 0, void 0, function* () {
31142
31160
  yield adapter.lowerHand();
31143
31161
  }),
31144
- onToggleRaiseHand: () => __awaiter$o(void 0, void 0, void 0, function* () {
31162
+ onToggleRaiseHand: () => __awaiter$p(void 0, void 0, void 0, function* () {
31145
31163
  var _b;
31146
31164
  ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
31147
31165
  ? yield adapter.lowerHand()
31148
31166
  : yield adapter.raiseHand();
31149
31167
  }),
31150
- onReactionClick: (reaction) => __awaiter$o(void 0, void 0, void 0, function* () {
31168
+ onReactionClick: (reaction) => __awaiter$p(void 0, void 0, void 0, function* () {
31151
31169
  yield adapter.onReactionClick(reaction);
31152
31170
  }),
31153
- onSelectCamera: (deviceInfo, options) => __awaiter$o(void 0, void 0, void 0, function* () {
31171
+ onSelectCamera: (deviceInfo, options) => __awaiter$p(void 0, void 0, void 0, function* () {
31154
31172
  yield adapter.setCamera(deviceInfo, options);
31155
31173
  }),
31156
- onSelectMicrophone: (deviceInfo) => __awaiter$o(void 0, void 0, void 0, function* () {
31174
+ onSelectMicrophone: (deviceInfo) => __awaiter$p(void 0, void 0, void 0, function* () {
31157
31175
  yield adapter.setMicrophone(deviceInfo);
31158
31176
  }),
31159
- onSelectSpeaker: (deviceInfo) => __awaiter$o(void 0, void 0, void 0, function* () {
31177
+ onSelectSpeaker: (deviceInfo) => __awaiter$p(void 0, void 0, void 0, function* () {
31160
31178
  yield adapter.setSpeaker(deviceInfo);
31161
31179
  }),
31162
31180
  onStartCall: (participants, options) => {
31163
31181
  const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
31164
31182
  return adapter.startCall(rawIds, options);
31165
31183
  },
31166
- onStartScreenShare: () => __awaiter$o(void 0, void 0, void 0, function* () {
31184
+ onStartScreenShare: () => __awaiter$p(void 0, void 0, void 0, function* () {
31167
31185
  yield adapter.startScreenShare();
31168
31186
  }),
31169
- onStopScreenShare: () => __awaiter$o(void 0, void 0, void 0, function* () {
31187
+ onStopScreenShare: () => __awaiter$p(void 0, void 0, void 0, function* () {
31170
31188
  yield adapter.stopScreenShare();
31171
31189
  }),
31172
- onToggleCamera: (options) => __awaiter$o(void 0, void 0, void 0, function* () {
31190
+ onToggleCamera: (options) => __awaiter$p(void 0, void 0, void 0, function* () {
31173
31191
  isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
31174
31192
  }),
31175
- onToggleMicrophone: () => __awaiter$o(void 0, void 0, void 0, function* () {
31193
+ onToggleMicrophone: () => __awaiter$p(void 0, void 0, void 0, function* () {
31176
31194
  var _c;
31177
31195
  return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
31178
31196
  }),
31179
- onToggleScreenShare: () => __awaiter$o(void 0, void 0, void 0, function* () {
31197
+ onToggleScreenShare: () => __awaiter$p(void 0, void 0, void 0, function* () {
31180
31198
  var _d;
31181
31199
  return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
31182
31200
  ? yield adapter.stopScreenShare()
31183
31201
  : yield adapter.startScreenShare();
31184
31202
  }),
31185
- onStartLocalVideo: () => __awaiter$o(void 0, void 0, void 0, function* () {
31203
+ onStartLocalVideo: () => __awaiter$p(void 0, void 0, void 0, function* () {
31186
31204
  if (adapter.getState().call) {
31187
31205
  return adapter.startCamera();
31188
31206
  }
31189
31207
  }),
31190
- onDisposeLocalStreamView: () => __awaiter$o(void 0, void 0, void 0, function* () {
31208
+ onDisposeLocalStreamView: () => __awaiter$p(void 0, void 0, void 0, function* () {
31191
31209
  return adapter.disposeLocalVideoStreamView();
31192
31210
  }),
31193
- onDisposeRemoteStreamView: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
31211
+ onDisposeRemoteStreamView: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31194
31212
  return adapter.disposeStreamView(userId);
31195
31213
  }),
31196
- onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
31214
+ onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31197
31215
  return adapter.disposeScreenShareStreamView(userId);
31198
31216
  }),
31199
- onDisposeLocalScreenShareStreamView: () => __awaiter$o(void 0, void 0, void 0, function* () {
31217
+ onDisposeLocalScreenShareStreamView: () => __awaiter$p(void 0, void 0, void 0, function* () {
31200
31218
  return adapter.disposeScreenShareStreamView('');
31201
31219
  }),
31202
- onDisposeRemoteVideoStreamView: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
31220
+ onDisposeRemoteVideoStreamView: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31203
31221
  return adapter.disposeRemoteVideoStreamView(userId);
31204
31222
  }),
31205
31223
  /* @conditional-compile-remove(call-readiness) */
31206
- askDevicePermission: (constrain) => __awaiter$o(void 0, void 0, void 0, function* () {
31224
+ askDevicePermission: (constrain) => __awaiter$p(void 0, void 0, void 0, function* () {
31207
31225
  return adapter.askDevicePermission(constrain);
31208
31226
  }),
31209
- onRemoveVideoBackgroundEffects: () => __awaiter$o(void 0, void 0, void 0, function* () {
31227
+ onRemoveVideoBackgroundEffects: () => __awaiter$p(void 0, void 0, void 0, function* () {
31210
31228
  return yield adapter.stopVideoBackgroundEffects();
31211
31229
  }),
31212
- onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$o(void 0, void 0, void 0, function* () {
31230
+ onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$p(void 0, void 0, void 0, function* () {
31213
31231
  const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
31214
31232
  return yield adapter.startVideoBackgroundEffect(blurConfig);
31215
31233
  }),
31216
- onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$o(void 0, void 0, void 0, function* () {
31234
+ onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$p(void 0, void 0, void 0, function* () {
31217
31235
  const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
31218
31236
  return yield adapter.startVideoBackgroundEffect(replacementConfig);
31219
31237
  }),
31220
- onStartCaptions: (options) => __awaiter$o(void 0, void 0, void 0, function* () {
31238
+ onStartCaptions: (options) => __awaiter$p(void 0, void 0, void 0, function* () {
31221
31239
  yield adapter.startCaptions(options);
31222
31240
  }),
31223
- onStopCaptions: () => __awaiter$o(void 0, void 0, void 0, function* () {
31241
+ onStopCaptions: () => __awaiter$p(void 0, void 0, void 0, function* () {
31224
31242
  yield adapter.stopCaptions();
31225
31243
  }),
31226
- onSetSpokenLanguage: (language) => __awaiter$o(void 0, void 0, void 0, function* () {
31244
+ onSetSpokenLanguage: (language) => __awaiter$p(void 0, void 0, void 0, function* () {
31227
31245
  yield adapter.setSpokenLanguage(language);
31228
31246
  }),
31229
- onSetCaptionLanguage: (language) => __awaiter$o(void 0, void 0, void 0, function* () {
31247
+ onSetCaptionLanguage: (language) => __awaiter$p(void 0, void 0, void 0, function* () {
31230
31248
  yield adapter.setCaptionLanguage(language);
31231
31249
  }),
31232
- onSubmitSurvey: (survey) => __awaiter$o(void 0, void 0, void 0, function* () {
31250
+ onSubmitSurvey: (survey) => __awaiter$p(void 0, void 0, void 0, function* () {
31233
31251
  return yield adapter.submitSurvey(survey);
31234
31252
  }),
31235
- onStartSpotlight: (userIds) => __awaiter$o(void 0, void 0, void 0, function* () {
31253
+ onStartSpotlight: (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31236
31254
  yield adapter.startSpotlight(userIds);
31237
31255
  }),
31238
- onStopSpotlight: (userIds) => __awaiter$o(void 0, void 0, void 0, function* () {
31256
+ onStopSpotlight: (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31239
31257
  yield adapter.stopSpotlight(userIds);
31240
31258
  }),
31241
- onStopAllSpotlight: () => __awaiter$o(void 0, void 0, void 0, function* () {
31259
+ onStopAllSpotlight: () => __awaiter$p(void 0, void 0, void 0, function* () {
31242
31260
  yield adapter.stopAllSpotlight();
31243
31261
  }),
31244
31262
  onStartLocalSpotlight: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.spotlightParticipant.isPresent)
31245
- ? () => __awaiter$o(void 0, void 0, void 0, function* () {
31263
+ ? () => __awaiter$p(void 0, void 0, void 0, function* () {
31246
31264
  yield adapter.startSpotlight();
31247
31265
  })
31248
31266
  : undefined,
31249
- onStopLocalSpotlight: () => __awaiter$o(void 0, void 0, void 0, function* () {
31267
+ onStopLocalSpotlight: () => __awaiter$p(void 0, void 0, void 0, function* () {
31250
31268
  yield adapter.stopSpotlight();
31251
31269
  }),
31252
31270
  onStartRemoteSpotlight: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.spotlightParticipant.isPresent)
31253
- ? (userIds) => __awaiter$o(void 0, void 0, void 0, function* () {
31271
+ ? (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31254
31272
  yield adapter.startSpotlight(userIds);
31255
31273
  })
31256
31274
  : undefined,
31257
31275
  onStopRemoteSpotlight: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.removeParticipantsSpotlight.isPresent)
31258
- ? (userIds) => __awaiter$o(void 0, void 0, void 0, function* () {
31276
+ ? (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31259
31277
  yield adapter.stopSpotlight(userIds);
31260
31278
  })
31261
31279
  : undefined,
31262
31280
  /* @conditional-compile-remove(soft-mute) */
31263
- onMuteParticipant: (userId) => __awaiter$o(void 0, void 0, void 0, function* () {
31281
+ onMuteParticipant: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31264
31282
  yield adapter.muteParticipant(userId);
31265
31283
  }),
31266
31284
  /* @conditional-compile-remove(soft-mute) */
31267
- onMuteAllRemoteParticipants: () => __awaiter$o(void 0, void 0, void 0, function* () {
31285
+ onMuteAllRemoteParticipants: () => __awaiter$p(void 0, void 0, void 0, function* () {
31268
31286
  yield adapter.muteAllRemoteParticipants();
31269
31287
  })
31270
31288
  };
@@ -31402,7 +31420,7 @@ const MoreButton = (props) => {
31402
31420
 
31403
31421
  // Copyright (c) Microsoft Corporation.
31404
31422
  // Licensed under the MIT License.
31405
- var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31423
+ var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31406
31424
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31407
31425
  return new (P || (P = Promise))(function (resolve, reject) {
31408
31426
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31424,7 +31442,7 @@ const CaptionsBannerMoreButton = (props) => {
31424
31442
  tooltipOffContent: localeStrings.strings.call.captionsBannerMoreButtonTooltip
31425
31443
  }), [localeStrings]);
31426
31444
  const moreButtonContextualMenuItems = [];
31427
- const startCaptions = React.useCallback(() => __awaiter$n(void 0, void 0, void 0, function* () {
31445
+ const startCaptions = React.useCallback(() => __awaiter$o(void 0, void 0, void 0, function* () {
31428
31446
  yield startCaptionsButtonHandlers.onStartCaptions({
31429
31447
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
31430
31448
  });
@@ -31633,7 +31651,7 @@ const buttonTextStyles = { label: { fontSize: '0.875rem' } };
31633
31651
 
31634
31652
  // Copyright (c) Microsoft Corporation.
31635
31653
  // Licensed under the MIT License.
31636
- var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31654
+ var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31637
31655
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31638
31656
  return new (P || (P = Promise))(function (resolve, reject) {
31639
31657
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31685,7 +31703,7 @@ const EndCall = (props) => {
31685
31703
  toggleConfirm();
31686
31704
  }, [onHangUp, toggleConfirm]);
31687
31705
  /* @conditional-compile-remove(end-call-options) */
31688
- const hangUpOverride = React.useCallback((forEveryone) => __awaiter$m(void 0, void 0, void 0, function* () {
31706
+ const hangUpOverride = React.useCallback((forEveryone) => __awaiter$n(void 0, void 0, void 0, function* () {
31689
31707
  if (props.mobileView ||
31690
31708
  forEveryone === false /* value being false(not undefined) because it comes from endCall option */) {
31691
31709
  onHangUp();
@@ -31698,6 +31716,29 @@ const EndCall = (props) => {
31698
31716
  var _a;
31699
31717
  return react.concatStyleSets(compactMode ? groupCallLeaveButtonCompressedStyle : groupCallLeaveButtonStyle, (_a = props.styles) !== null && _a !== void 0 ? _a : {});
31700
31718
  }, [compactMode, props.styles]);
31719
+ /* @conditional-compile-remove(breakout-rooms) */
31720
+ const enableBreakoutRoomMenu = !!props.returnFromBreakoutRoom;
31721
+ /* @conditional-compile-remove(breakout-rooms) */
31722
+ const breakoutRoomMenuProps = {
31723
+ items: [
31724
+ {
31725
+ key: 'returnToMainMeeting',
31726
+ text: localeStrings.call.returnFromBreakoutRoomButtonLabel,
31727
+ title: localeStrings.call.returnFromBreakoutRoomButtonLabel,
31728
+ onClick: () => {
31729
+ var _a;
31730
+ (_a = props.returnFromBreakoutRoom) === null || _a === void 0 ? void 0 : _a.call(props);
31731
+ }
31732
+ },
31733
+ {
31734
+ key: 'leaveRoomAndMainMeeting',
31735
+ text: localeStrings.call.leaveBreakoutRoomAndMeetingButtonLabel,
31736
+ title: localeStrings.call.leaveBreakoutRoomAndMeetingButtonLabel,
31737
+ onClick: () => onHangUp()
31738
+ }
31739
+ ],
31740
+ styles: props.styles
31741
+ };
31701
31742
  return (React.createElement(React.Fragment, null,
31702
31743
  /* @conditional-compile-remove(end-call-options) */
31703
31744
  React.createElement(Prompt, Object.assign({}, dialogLabels, { styles: { main: { minWidth: '22.5rem', padding: '1.5rem' } }, cancelButtonLabel: localeStrings.call.hangUpCancelButtonLabel, onConfirm: () => onHangUpConfirm(props.enableEndCallMenu), isOpen: showHangUpConfirm, onCancel: toggleConfirm })),
@@ -31705,7 +31746,9 @@ const EndCall = (props) => {
31705
31746
  /* @conditional-compile-remove(end-call-options) */
31706
31747
  onHangUp: props.disableEndCallModal ? onHangUp : hangUpOverride, styles: styles, showLabel: !compactMode,
31707
31748
  /* @conditional-compile-remove(end-call-options) */
31708
- enableEndCallMenu: (_a = props.enableEndCallMenu) !== null && _a !== void 0 ? _a : false }))));
31749
+ enableEndCallMenu: (_a = props.enableEndCallMenu) !== null && _a !== void 0 ? _a : false,
31750
+ /* @conditional-compile-remove(breakout-rooms) */
31751
+ menuProps: enableBreakoutRoomMenu ? breakoutRoomMenuProps : undefined }))));
31709
31752
  };
31710
31753
 
31711
31754
  // Copyright (c) Microsoft Corporation.
@@ -31843,6 +31886,16 @@ const getStartTime = (state) => { var _a; return (_a = state.call) === null || _
31843
31886
  * @private
31844
31887
  */
31845
31888
  const getSpotlightedParticipants = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.spotlight) === null || _b === void 0 ? void 0 : _b.spotlightedParticipants; };
31889
+ /* @conditional-compile-remove(breakout-rooms) */
31890
+ /**
31891
+ * @private
31892
+ */
31893
+ const getAssignedBreakoutRoom = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.assignedBreakoutRoom; };
31894
+ /* @conditional-compile-remove(breakout-rooms) */
31895
+ /**
31896
+ * @private
31897
+ */
31898
+ const getBreakoutRoomSettings = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.breakoutRoomSettings; };
31846
31899
 
31847
31900
  // Copyright (c) Microsoft Corporation.
31848
31901
  // Licensed under the MIT License.
@@ -32599,7 +32652,7 @@ const showDtmfDialer = (callees, remoteParticipants) => {
32599
32652
 
32600
32653
  // Copyright (c) Microsoft Corporation.
32601
32654
  // Licensed under the MIT License.
32602
- var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
32655
+ var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
32603
32656
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
32604
32657
  return new (P || (P = Promise))(function (resolve, reject) {
32605
32658
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -32619,7 +32672,7 @@ const DesktopMoreButton = (props) => {
32619
32672
  const holdButtonProps = usePropsFor$1(HoldButton);
32620
32673
  const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);
32621
32674
  const startCaptionsButtonHandlers = useHandlers();
32622
- const startCaptions = React.useCallback(() => __awaiter$l(void 0, void 0, void 0, function* () {
32675
+ const startCaptions = React.useCallback(() => __awaiter$m(void 0, void 0, void 0, function* () {
32623
32676
  yield startCaptionsButtonHandlers.onStartCaptions({
32624
32677
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
32625
32678
  });
@@ -33141,6 +33194,15 @@ const useMinMaxDragPosition = (modalLayerHostId, rtl) => {
33141
33194
 
33142
33195
  // Copyright (c) Microsoft Corporation.
33143
33196
  // Licensed under the MIT License.
33197
+ var __awaiter$l = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
33198
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33199
+ return new (P || (P = Promise))(function (resolve, reject) {
33200
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
33201
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33202
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33203
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33204
+ });
33205
+ };
33144
33206
  const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) => {
33145
33207
  if (commonCallControlOptions === false) {
33146
33208
  return false;
@@ -33177,6 +33239,10 @@ const CommonCallControlBar = (props) => {
33177
33239
  const isHangUpForEveryoneAllowed = (_a = useSelector$1((state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities.hangUpForEveryOne.isPresent; })) !== null && _a !== void 0 ? _a : true;
33178
33240
  /* @conditional-compile-remove(end-call-options) */
33179
33241
  const isTeams = useSelector$1(getIsTeamsCall);
33242
+ /* @conditional-compile-remove(breakout-rooms) */
33243
+ const assignedBreakoutRoom = useSelector$1(getAssignedBreakoutRoom);
33244
+ /* @conditional-compile-remove(breakout-rooms) */
33245
+ const breakoutRoomSettings = useSelector$1(getBreakoutRoomSettings);
33180
33246
  const handleResize = React.useCallback(() => {
33181
33247
  setControlBarButtonsWidth(controlBarContainerRef.current ? controlBarContainerRef.current.offsetWidth : 0);
33182
33248
  setPanelsButtonsWidth(sidepaneControlsRef.current ? sidepaneControlsRef.current.offsetWidth : 0);
@@ -33249,6 +33315,10 @@ const CommonCallControlBar = (props) => {
33249
33315
  const isReactionAllowed = callState.callStatus !== 'Connected' ||
33250
33316
  !(capabilitiesSelector === null || capabilitiesSelector === void 0 ? void 0 : capabilitiesSelector.capabilities) ||
33251
33317
  capabilitiesSelector.capabilities.useReactions.isPresent;
33318
+ /* @conditional-compile-remove(breakout-rooms) */
33319
+ const canReturnToMainMeeting = breakoutRoomSettings && breakoutRoomSettings.disableReturnToMainMeeting === false;
33320
+ /* @conditional-compile-remove(breakout-rooms) */
33321
+ const returnFromBreakoutRoom = React.useCallback(() => props.callAdapter.returnFromBreakoutRoom(), [props.callAdapter]);
33252
33322
  // when options is false then we want to hide the whole control bar.
33253
33323
  if (options === false) {
33254
33324
  return React.createElement(React.Fragment, null);
@@ -33281,6 +33351,10 @@ const CommonCallControlBar = (props) => {
33281
33351
  React.createElement(react.Stack.Item, null,
33282
33352
  React.createElement("div", { ref: controlBarContainerRef },
33283
33353
  React.createElement(ControlBar, { layout: props.displayVertical ? 'vertical' : 'horizontal', styles: centerContainerStyles },
33354
+ /* @conditional-compile-remove(breakout-rooms) */
33355
+ assignedBreakoutRoom && assignedBreakoutRoom.state === 'open' && (React.createElement(react.PrimaryButton, { text: callStrings.joinBreakoutRoomButtonLabel, onClick: () => __awaiter$l(void 0, void 0, void 0, function* () {
33356
+ assignedBreakoutRoom.join();
33357
+ }), styles: commonButtonStyles })),
33284
33358
  microphoneButtonIsEnabled && (React.createElement(Microphone, { displayType: options.displayType, styles: commonButtonStyles, splitButtonsForDeviceSelection: !props.mobileView,
33285
33359
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
33286
33360
  disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.microphoneButton), disableTooltip: props.mobileView })),
@@ -33326,9 +33400,13 @@ const CommonCallControlBar = (props) => {
33326
33400
  ((_j = (_h = props.callControls) === null || _h === void 0 ? void 0 : _h.endCallButton) === null || _j === void 0 ? void 0 : _j.hangUpForEveryone) === 'endCallOptions' &&
33327
33401
  // Only show the end call menu when the call is connected, user should not be able to end the call for everyone
33328
33402
  // when they are not actively in the call to communicate they will.
33329
- callState.callStatus === 'Connected', disableEndCallModal: !isBoolean(props.callControls) &&
33403
+ callState.callStatus === 'Connected' &&
33404
+ /* @conditional-compile-remove(breakout-rooms) */
33405
+ !canReturnToMainMeeting, disableEndCallModal: !isBoolean(props.callControls) &&
33330
33406
  !isBoolean((_k = props.callControls) === null || _k === void 0 ? void 0 : _k.endCallButton) &&
33331
- ((_m = (_l = props.callControls) === null || _l === void 0 ? void 0 : _l.endCallButton) === null || _m === void 0 ? void 0 : _m.disableEndCallModal) }))))))),
33407
+ ((_m = (_l = props.callControls) === null || _l === void 0 ? void 0 : _l.endCallButton) === null || _m === void 0 ? void 0 : _m.disableEndCallModal),
33408
+ /* @conditional-compile-remove(breakout-rooms) */
33409
+ returnFromBreakoutRoom: canReturnToMainMeeting ? returnFromBreakoutRoom : undefined }))))))),
33332
33410
  !props.mobileView && sideButtonsPresent && (React.createElement(react.Stack.Item, null,
33333
33411
  React.createElement("div", { ref: sidepaneControlsRef },
33334
33412
  React.createElement(react.Stack, { horizontal: true, className: !props.mobileView ? react.mergeStyles(desktopButtonContainerStyle) : undefined },
@@ -40451,8 +40529,12 @@ class AzureCommunicationCallAdapter {
40451
40529
  });
40452
40530
  // If a main meeting call exists then process that call and resume
40453
40531
  if (mainMeetingCall) {
40532
+ const breakoutRoomCall = this.call;
40454
40533
  this.processNewCall(mainMeetingCall);
40455
40534
  yield this.resumeCall();
40535
+ if ((breakoutRoomCall === null || breakoutRoomCall === void 0 ? void 0 : breakoutRoomCall.state) === 'Connected') {
40536
+ breakoutRoomCall.hangUp();
40537
+ }
40456
40538
  }
40457
40539
  });
40458
40540
  }
@@ -42845,6 +42927,7 @@ beforeDispose) => {
42845
42927
  newAdapter = yield afterCreateRef.current(newAdapter);
42846
42928
  }
42847
42929
  adapterRef.current = newAdapter;
42930
+ creatingAdapterRef.current = false;
42848
42931
  setAdapter(newAdapter);
42849
42932
  }))();
42850
42933
  },
@@ -43646,4 +43729,4 @@ exports.useTeamsCall = useTeamsCall;
43646
43729
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
43647
43730
  exports.useTeamsCallAgent = useTeamsCallAgent;
43648
43731
  exports.useTheme = useTheme;
43649
- //# sourceMappingURL=index-B0-XPOWs.js.map
43732
+ //# sourceMappingURL=index-0-JhGYic.js.map