@azure/communication-react 1.19.0-alpha-202408221617 → 1.19.0-alpha-202408240014

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 (86) hide show
  1. package/dist/communication-react.d.ts +8 -0
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js → ChatMessageComponentAsRichTextEditBox-CX6IgjBk.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js.map → ChatMessageComponentAsRichTextEditBox-CX6IgjBk.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Cp5_HaZs.js → RichTextSendBoxWrapper-D_wPKYPO.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Cp5_HaZs.js.map → RichTextSendBoxWrapper-D_wPKYPO.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-DpiiYxjR.js → index-Ddmt8bbA.js} +611 -521
  7. package/dist/dist-cjs/communication-react/index-Ddmt8bbA.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/hooks/usePropsFor.js +3 -11
  12. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  13. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -1
  14. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +0 -6
  16. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +0 -1
  18. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  19. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +0 -3
  21. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  22. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -1
  23. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  24. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -3
  25. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  26. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
  27. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  28. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -1
  29. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  30. package/dist/dist-esm/communication-react/src/index.js +0 -1
  31. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -2
  33. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/index.js +0 -2
  35. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/utils.js +0 -8
  37. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  38. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/theming/icons.js +0 -2
  40. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +22 -52
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +1 -0
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +92 -73
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -2
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +10 -40
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +1 -0
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +4 -1
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -2
  53. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +6 -14
  54. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +1 -1
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +2 -2
  58. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +5 -9
  59. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  60. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +2 -2
  61. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +5 -9
  62. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  63. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +5 -9
  64. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  65. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  66. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  67. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +3 -3
  68. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +0 -3
  70. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +31 -3
  72. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +8 -0
  74. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +7 -0
  76. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +116 -2
  77. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  78. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +5 -0
  79. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +14 -0
  80. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  81. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  82. package/dist/dist-esm/react-composites/src/composites/common/utils.js +23 -0
  83. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  84. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -1
  85. package/package.json +1 -1
  86. package/dist/dist-cjs/communication-react/index-DpiiYxjR.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-202408221617';
192
+ var telemetryVersion = '1.19.0-alpha-202408240014';
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$10 = (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$10(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$10(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$10(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$10(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$10(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$10(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$10(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$_ = (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$_(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$_(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$Z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1122
+ var __awaiter$_ = (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$Z(this, void 0, void 0, function* () {
1212
+ this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter$_(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$Y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1306
+ var __awaiter$Z = (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$Y(this, void 0, void 0, function* () {
1328
+ return __awaiter$Z(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$Y(this, void 0, void 0, function* () {
1343
+ return __awaiter$Z(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$X = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1430
+ var __awaiter$Y = (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$X(this, void 0, void 0, function* () {
1449
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1456
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1497
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1506
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1524
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1529
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1537
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1545
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$X(this, void 0, void 0, function* () {
1553
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$Y(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$W = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1591
+ var __awaiter$X = (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$W(this, void 0, void 0, function* () {
1610
+ return __awaiter$X(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$W(this, void 0, void 0, function* () {
1623
+ return __awaiter$X(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$W(this, void 0, void 0, function* () {
1643
+ return __awaiter$X(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$W(this, void 0, void 0, function* () {
1654
+ return __awaiter$X(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$V = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
1763
+ var __awaiter$W = (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$V(this, void 0, void 0, function* () {
1789
+ return __awaiter$W(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$V(this, void 0, void 0, function* () {
1825
+ return __awaiter$W(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$V(this, void 0, void 0, function* () {
1832
+ return __awaiter$W(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$V(this, void 0, void 0, function* () {
1847
+ return __awaiter$W(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$V(void 0, void 0, void 0, function* () {
1860
+ onDeleteMessage: (messageId) => __awaiter$W(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$V(void 0, void 0, void 0, function* () {
1864
+ onMessageSeen: (chatMessageId) => __awaiter$W(void 0, void 0, void 0, function* () {
1865
1865
  yield chatThreadClient.sendReadReceipt({ chatMessageId });
1866
1866
  }),
1867
- onTyping: () => __awaiter$V(void 0, void 0, void 0, function* () {
1867
+ onTyping: () => __awaiter$W(void 0, void 0, void 0, function* () {
1868
1868
  yield chatThreadClient.sendTypingNotification();
1869
1869
  }),
1870
- onRemoveParticipant: (userId) => __awaiter$V(void 0, void 0, void 0, function* () {
1870
+ onRemoveParticipant: (userId) => __awaiter$W(void 0, void 0, void 0, function* () {
1871
1871
  yield chatThreadClient.removeParticipant(fromFlatCommunicationIdentifier(userId));
1872
1872
  }),
1873
- updateThreadTopicName: (topicName) => __awaiter$V(void 0, void 0, void 0, function* () {
1873
+ updateThreadTopicName: (topicName) => __awaiter$W(void 0, void 0, void 0, function* () {
1874
1874
  yield chatThreadClient.updateTopic(topicName);
1875
1875
  }),
1876
- onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$V(void 0, void 0, void 0, function* () {
1876
+ onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$W(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.
@@ -2526,21 +2526,13 @@ const customNotificationIconName = {
2526
2526
  /* @conditional-compile-remove(soft-mute) */
2527
2527
  mutedByRemoteParticipant: 'ErrorBarMutedByRemoteParticipant',
2528
2528
  speakingWhileMuted: 'ErrorBarCallMicrophoneMutedBySystem',
2529
- /* @conditional-compile-remove(notifications) */
2530
2529
  recordingStarted: 'NotificationBarRecording',
2531
- /* @conditional-compile-remove(notifications) */
2532
2530
  transcriptionStarted: 'NotificationBarRecording',
2533
- /* @conditional-compile-remove(notifications) */
2534
2531
  recordingStopped: 'NotificationBarRecording',
2535
- /* @conditional-compile-remove(notifications) */
2536
2532
  transcriptionStopped: 'NotificationBarRecording',
2537
- /* @conditional-compile-remove(notifications) */
2538
2533
  recordingAndTranscriptionStarted: 'NotificationBarRecording',
2539
- /* @conditional-compile-remove(notifications) */
2540
2534
  recordingAndTranscriptionStopped: 'NotificationBarRecording',
2541
- /* @conditional-compile-remove(notifications) */
2542
2535
  recordingStoppedStillTranscribing: 'NotificationBarRecording',
2543
- /* @conditional-compile-remove(notifications) */
2544
2536
  transcriptionStoppedStillRecording: 'NotificationBarRecording',
2545
2537
  /* @conditional-compile-remove(breakout-rooms) */
2546
2538
  assignedBreakoutRoomOpened: 'NotificationBarBreakoutRoomOpened',
@@ -3252,7 +3244,6 @@ const DEFAULT_COMPONENT_ICONS = {
3252
3244
  ErrorBarCallVideoStoppedBySystem: React.createElement(reactIcons.VideoProhibited16Filled, null),
3253
3245
  /* @conditional-compile-remove(soft-mute) */
3254
3246
  ErrorBarMutedByRemoteParticipant: React.createElement(reactIcons.MicOff16Regular, null),
3255
- /* @conditional-compile-remove(notifications) */
3256
3247
  NotificationBarRecording: React.createElement(reactIcons.Record16Regular, null),
3257
3248
  /* @conditional-compile-remove(breakout-rooms) */
3258
3249
  NotificationBarBreakoutRoomOpened: React.createElement(reactIcons.DoorArrowRight16Regular, null),
@@ -4501,7 +4492,7 @@ const _MentionPopover = (props) => {
4501
4492
 
4502
4493
  // Copyright (c) Microsoft Corporation.
4503
4494
  // Licensed under the MIT License.
4504
- var __awaiter$U = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4495
+ var __awaiter$V = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
4505
4496
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4506
4497
  return new (P || (P = Promise))(function (resolve, reject) {
4507
4498
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -4687,7 +4678,7 @@ const TextFieldWithMention = (props) => {
4687
4678
  onSuggestionSelected,
4688
4679
  updateMentionSuggestions
4689
4680
  ]);
4690
- const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$U(void 0, void 0, void 0, function* () {
4681
+ const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$V(void 0, void 0, void 0, function* () {
4691
4682
  var _a;
4692
4683
  let suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
4693
4684
  suggestions = suggestions.filter((suggestion) => suggestion.displayText.trim() !== '');
@@ -4864,7 +4855,7 @@ const TextFieldWithMention = (props) => {
4864
4855
  });
4865
4856
  }
4866
4857
  }, [updateSelectionIndexesWithMentionIfNeeded, setSelectionStartValue, setSelectionEndValue]);
4867
- const handleOnChange = React.useCallback((_b) => __awaiter$U(void 0, [_b], void 0, function* ({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) {
4858
+ const handleOnChange = React.useCallback((_b) => __awaiter$V(void 0, [_b], void 0, function* ({ currentSelectionEnd, currentSelectionStart, currentTriggerStartIndex, event, htmlTextValue, inputTextValue, previousSelectionEnd, previousSelectionStart, tagsValue, updatedValue }) {
4868
4859
  var _c;
4869
4860
  debouncedQueryUpdate.cancel();
4870
4861
  if (event.currentTarget === null) {
@@ -5417,7 +5408,7 @@ const ATTACHMENT_CARD_MIN_PROGRESS = 0.05;
5417
5408
 
5418
5409
  // Copyright (c) Microsoft Corporation.
5419
5410
  // Licensed under the MIT License.
5420
- var __awaiter$T = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5411
+ var __awaiter$U = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5421
5412
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5422
5413
  return new (P || (P = Promise))(function (resolve, reject) {
5423
5414
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5505,7 +5496,7 @@ const MappedMenuItems = (menuActions, attachment, handleOnClickError) => {
5505
5496
  React.createElement(reactComponents.MenuTrigger, null,
5506
5497
  React.createElement(reactComponents.ToolbarButton, { "aria-label": localeStrings.attachmentMoreMenu, role: "button", icon: React.createElement(react.Icon, { iconName: "AttachmentMoreMenu" }) }))),
5507
5498
  React.createElement(reactComponents.MenuPopover, null,
5508
- 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* () {
5499
+ React.createElement(reactComponents.MenuList, null, menuActions.map((menuItem, index) => (React.createElement(reactComponents.MenuItem, { "aria-label": menuItem.name, key: index, icon: menuItem.icon, onClick: () => __awaiter$U(void 0, void 0, void 0, function* () {
5509
5500
  try {
5510
5501
  yield menuItem.onClick(attachment);
5511
5502
  }
@@ -5640,7 +5631,7 @@ const _AttachmentUploadCards = (props) => {
5640
5631
 
5641
5632
  // Copyright (c) Microsoft Corporation.
5642
5633
  // Licensed under the MIT License.
5643
- var __awaiter$S = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5634
+ var __awaiter$T = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
5644
5635
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5645
5636
  return new (P || (P = Promise))(function (resolve, reject) {
5646
5637
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -5689,7 +5680,7 @@ const hasInlineImageContent = (content) => {
5689
5680
  *
5690
5681
  * @returns The updated message content.
5691
5682
  */
5692
- const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$S(void 0, void 0, void 0, function* () {
5683
+ const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter$T(void 0, void 0, void 0, function* () {
5693
5684
  if (message === '') {
5694
5685
  return message;
5695
5686
  }
@@ -5781,7 +5772,7 @@ const toAttachmentMetadata = (attachmentsWithProgress) => {
5781
5772
  /**
5782
5773
  * @internal
5783
5774
  */
5784
- const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$S(void 0, void 0, void 0, function* () {
5775
+ const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter$T(void 0, void 0, void 0, function* () {
5785
5776
  let newContent = content;
5786
5777
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
5787
5778
  try {
@@ -7067,7 +7058,7 @@ const removeSingleLocalBlob = (currentLocalBlobMap, imageId) => {
7067
7058
  }
7068
7059
  };
7069
7060
 
7070
- var __awaiter$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7061
+ var __awaiter$S = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
7071
7062
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7072
7063
  return new (P || (P = Promise))(function (resolve, reject) {
7073
7064
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -7122,7 +7113,7 @@ class CopyPastePlugin {
7122
7113
  onPluginEvent(event) {
7123
7114
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
7124
7115
  if (event.eventType === PluginEventType.BeforeCutCopy) {
7125
- event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$R(this, void 0, void 0, function* () {
7116
+ event.clonedRoot.querySelectorAll('img').forEach((image) => __awaiter$S(this, void 0, void 0, function* () {
7126
7117
  if (image.src.startsWith('blob:')) {
7127
7118
  const base64Data = this.imageBase64DataMap[image.id];
7128
7119
  image.src = base64Data || image.src;
@@ -10762,7 +10753,7 @@ class _ErrorBoundary extends React.Component {
10762
10753
  // Copyright (c) Microsoft Corporation.
10763
10754
  // Licensed under the MIT License.
10764
10755
  /* @conditional-compile-remove(rich-text-editor) */
10765
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js'); }));
10756
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-CX6IgjBk.js'); }));
10766
10757
  /**
10767
10758
  * @private
10768
10759
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -10770,7 +10761,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
10770
10761
  *
10771
10762
  * @conditional-compile-remove(rich-text-editor)
10772
10763
  */
10773
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js'); });
10764
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-CX6IgjBk.js'); });
10774
10765
  /**
10775
10766
  * @private
10776
10767
  */
@@ -10789,7 +10780,7 @@ const ChatMessageComponentAsEditBoxPicker = (props) => {
10789
10780
 
10790
10781
  // Copyright (c) Microsoft Corporation.
10791
10782
  // Licensed under the MIT License.
10792
- var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10783
+ var __awaiter$R = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
10793
10784
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10794
10785
  return new (P || (P = Promise))(function (resolve, reject) {
10795
10786
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -10845,7 +10836,7 @@ const ChatMyMessageComponent = (props) => {
10845
10836
  function (text,
10846
10837
  /* @conditional-compile-remove(file-sharing-acs) */
10847
10838
  attachments) {
10848
- return __awaiter$Q(this, void 0, void 0, function* () {
10839
+ return __awaiter$R(this, void 0, void 0, function* () {
10849
10840
  /* @conditional-compile-remove(file-sharing-acs) */
10850
10841
  if (`attachments` in message && attachments) {
10851
10842
  message.attachments = attachments;
@@ -11283,7 +11274,7 @@ const fluentChatComponent = (props) => {
11283
11274
 
11284
11275
  // Copyright (c) Microsoft Corporation.
11285
11276
  // Licensed under the MIT License.
11286
- var __awaiter$P = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11277
+ var __awaiter$Q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
11287
11278
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11288
11279
  return new (P || (P = Promise))(function (resolve, reject) {
11289
11280
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -11479,7 +11470,7 @@ const MessageThreadWrapper = (props) => {
11479
11470
  loadChatMessageComponentAsRichTextEditBox();
11480
11471
  }
11481
11472
  }, [richTextEditorOptions]);
11482
- const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$P(void 0, void 0, void 0, function* () {
11473
+ const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$Q(void 0, void 0, void 0, function* () {
11483
11474
  if (!onDeleteMessage) {
11484
11475
  return;
11485
11476
  }
@@ -11560,7 +11551,7 @@ const MessageThreadWrapper = (props) => {
11560
11551
  */
11561
11552
  const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
11562
11553
  // we try to only send those message status if user is scrolled to the bottom.
11563
- const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$P(void 0, void 0, void 0, function* () {
11554
+ const sendMessageStatusIfAtBottom = React.useCallback(() => __awaiter$Q(void 0, void 0, void 0, function* () {
11564
11555
  if (!isAtBottomOfScrollRef.current ||
11565
11556
  !document.hasFocus() ||
11566
11557
  !messagesRef.current ||
@@ -11611,7 +11602,7 @@ const MessageThreadWrapper = (props) => {
11611
11602
  setIsAtBottomOfScrollRef(atBottom);
11612
11603
  }, [scrollToBottom, sendMessageStatusIfAtBottom]);
11613
11604
  // Infinite scrolling + threadInitialize function
11614
- const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$P(void 0, void 0, void 0, function* () {
11605
+ const fetchNewMessageWhenAtTop = React.useCallback(() => __awaiter$Q(void 0, void 0, void 0, function* () {
11615
11606
  if (!isLoadingChatMessagesRef.current) {
11616
11607
  if (onLoadPreviousChatMessages) {
11617
11608
  isLoadingChatMessagesRef.current = true;
@@ -14616,7 +14607,7 @@ const localVideoTileContainerStyles = {
14616
14607
 
14617
14608
  // Copyright (c) Microsoft Corporation.
14618
14609
  // Licensed under the MIT License.
14619
- var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
14610
+ var __awaiter$P = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
14620
14611
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14621
14612
  return new (P || (P = Promise))(function (resolve, reject) {
14622
14613
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -14633,7 +14624,7 @@ const LocalVideoCameraCycleButton = (props) => {
14633
14624
  const { cameras, selectedCamera, onSelectCamera, label, ariaDescription, size } = props;
14634
14625
  const theme = react.useTheme();
14635
14626
  const [waitForCamera, setWaitForCamera] = React.useState(false);
14636
- const onChangeCameraClick = React.useCallback((device) => __awaiter$O(void 0, void 0, void 0, function* () {
14627
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$P(void 0, void 0, void 0, function* () {
14637
14628
  // Throttle changing camera to prevent too many callbacks
14638
14629
  if (onSelectCamera) {
14639
14630
  setWaitForCamera(true);
@@ -17417,7 +17408,7 @@ const DevicesButton = (props) => {
17417
17408
 
17418
17409
  // Copyright (c) Microsoft Corporation.
17419
17410
  // Licensed under the MIT License.
17420
- var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17411
+ var __awaiter$O = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17421
17412
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17422
17413
  return new (P || (P = Promise))(function (resolve, reject) {
17423
17414
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -17455,7 +17446,7 @@ const CameraButton = (props) => {
17455
17446
  const toggleAnnouncerString = React.useCallback((isCameraOn) => {
17456
17447
  setAnnouncerString(!isCameraOn ? strings.cameraActionTurnedOffAnnouncement : strings.cameraActionTurnedOnAnnouncement);
17457
17448
  }, [strings.cameraActionTurnedOffAnnouncement, strings.cameraActionTurnedOnAnnouncement]);
17458
- const onToggleClick = React.useCallback(() => __awaiter$N(void 0, void 0, void 0, function* () {
17449
+ const onToggleClick = React.useCallback(() => __awaiter$O(void 0, void 0, void 0, function* () {
17459
17450
  // Throttle click on camera, need to await onToggleCamera then allow another click
17460
17451
  if (onToggleCamera) {
17461
17452
  setWaitForCamera(true);
@@ -17469,7 +17460,7 @@ const CameraButton = (props) => {
17469
17460
  }
17470
17461
  }
17471
17462
  }), [cameraOn, localVideoViewOptions, onToggleCamera, toggleAnnouncerString]);
17472
- const onChangeCameraClick = React.useCallback((device) => __awaiter$N(void 0, void 0, void 0, function* () {
17463
+ const onChangeCameraClick = React.useCallback((device) => __awaiter$O(void 0, void 0, void 0, function* () {
17473
17464
  // Throttle changing camera to prevent too many callbacks
17474
17465
  if (onSelectCamera) {
17475
17466
  setWaitForCamera(true);
@@ -17690,7 +17681,7 @@ const menupButtonPadding = {
17690
17681
 
17691
17682
  // Copyright (c) Microsoft Corporation.
17692
17683
  // Licensed under the MIT License.
17693
- var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17684
+ var __awaiter$N = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
17694
17685
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
17695
17686
  return new (P || (P = Promise))(function (resolve, reject) {
17696
17687
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -17731,7 +17722,7 @@ const MicrophoneButton = (props) => {
17731
17722
  const toggleAnnouncerString = React.useCallback((isMicOn) => {
17732
17723
  setAnnouncerString(!isMicOn ? strings.microphoneActionTurnedOffAnnouncement : strings.microphoneActionTurnedOnAnnouncement);
17733
17724
  }, [strings.microphoneActionTurnedOffAnnouncement, strings.microphoneActionTurnedOnAnnouncement]);
17734
- const onToggleClick = React.useCallback(() => __awaiter$M(void 0, void 0, void 0, function* () {
17725
+ const onToggleClick = React.useCallback(() => __awaiter$N(void 0, void 0, void 0, function* () {
17735
17726
  if (onToggleMicrophone) {
17736
17727
  try {
17737
17728
  yield onToggleMicrophone();
@@ -18597,7 +18588,7 @@ const dtmfFrequencies = {
18597
18588
 
18598
18589
  // Copyright (c) Microsoft Corporation.
18599
18590
  // Licensed under the MIT License.
18600
- var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18591
+ var __awaiter$M = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
18601
18592
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18602
18593
  return new (P || (P = Promise))(function (resolve, reject) {
18603
18594
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -18641,10 +18632,10 @@ const DialpadButton = (props) => {
18641
18632
  const [buttonPressed, setButtonPressed] = React.useState(false);
18642
18633
  const dtmfToneSound = React.useRef(new Tone(dtmfToneAudioContext, dtmfFrequencies[digit].f1, dtmfFrequencies[digit].f2));
18643
18634
  const useLongPressProps = React.useMemo(() => ({
18644
- onClick: () => __awaiter$L(void 0, void 0, void 0, function* () {
18635
+ onClick: () => __awaiter$M(void 0, void 0, void 0, function* () {
18645
18636
  onClick(digit, index);
18646
18637
  }),
18647
- onLongPress: () => __awaiter$L(void 0, void 0, void 0, function* () {
18638
+ onLongPress: () => __awaiter$M(void 0, void 0, void 0, function* () {
18648
18639
  onLongPress(digit, index);
18649
18640
  }),
18650
18641
  touchEventsOnly: longPressTrigger === 'touch'
@@ -19782,7 +19773,7 @@ const _spokenLanguageToCaptionLanguage = {
19782
19773
 
19783
19774
  // Copyright (c) Microsoft Corporation.
19784
19775
  // Licensed under the MIT License.
19785
- var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19776
+ var __awaiter$L = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
19786
19777
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19787
19778
  return new (P || (P = Promise))(function (resolve, reject) {
19788
19779
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -19821,7 +19812,7 @@ const _CaptionsSettingsModal = (props) => {
19821
19812
  onDismissCaptionsSettings();
19822
19813
  }
19823
19814
  }, [onDismissCaptionsSettings]);
19824
- const onConfirm = React.useCallback(() => __awaiter$K(void 0, void 0, void 0, function* () {
19815
+ const onConfirm = React.useCallback(() => __awaiter$L(void 0, void 0, void 0, function* () {
19825
19816
  const spokenLanguageCode = selectedSpokenLanguage.key;
19826
19817
  const captionLanguageCode = selectedCaptionLanguage.key;
19827
19818
  if (isCaptionsFeatureActive) {
@@ -20211,7 +20202,6 @@ const Notification = (props) => {
20211
20202
  */
20212
20203
  const NotificationStack = (props) => {
20213
20204
  var _a, _b;
20214
- /* @conditional-compile-remove(notifications) */
20215
20205
  const localeStrings = useLocale$1().strings.notificationStack;
20216
20206
  const strings = (_a = props.strings) !== null && _a !== void 0 ? _a : localeStrings;
20217
20207
  const maxNotificationsToShow = (_b = props.maxNotificationsToShow) !== null && _b !== void 0 ? _b : 2;
@@ -21130,7 +21120,7 @@ const hasValidParticipant = (chatMessage) => { var _a; return !!((_a = chatMessa
21130
21120
  *
21131
21121
  * @private
21132
21122
  */
21133
- const messageThreadSelectorWithThread = () => reselect.createSelector([getUserId, getChatMessages, getLatestReadTime, getIsLargeGroup, getReadReceipts, getParticipants], (userId, chatMessages, latestReadTime, isLargeGroup, readReceipts, participants) => {
21123
+ const messageThreadSelectorWithThread = () => reselect.createSelector([getUserId, getChatMessages, getLatestReadTime, getIsLargeGroup, getReadReceipts, getParticipants], (userId, chatMessages, latestReadTime, isLargeGroup, readReceipts = [], participants) => {
21134
21124
  // We can't get displayName in teams meeting interop for now, disable rr feature when it is teams interop
21135
21125
  const isTeamsInterop = Object.values(participants).find((p) => 'microsoftTeamsUserId' in p.id) !== undefined;
21136
21126
  // get number of participants
@@ -21496,7 +21486,7 @@ const _DEFAULT_INLINE_IMAGE_FILE_NAME = 'image.png';
21496
21486
 
21497
21487
  // Copyright (c) Microsoft Corporation.
21498
21488
  // Licensed under the MIT License.
21499
- var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21489
+ var __awaiter$K = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
21500
21490
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21501
21491
  return new (P || (P = Promise))(function (resolve, reject) {
21502
21492
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -21613,9 +21603,9 @@ class AzureCommunicationChatAdapter {
21613
21603
  this.chatClient.dispose();
21614
21604
  }
21615
21605
  fetchInitialData() {
21616
- return __awaiter$J(this, void 0, void 0, function* () {
21606
+ return __awaiter$K(this, void 0, void 0, function* () {
21617
21607
  // If get properties fails we dont want to try to get the participants after.
21618
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21608
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21619
21609
  var _a, e_1, _b, _c;
21620
21610
  yield this.chatThreadClient.getProperties();
21621
21611
  try {
@@ -21651,66 +21641,66 @@ class AzureCommunicationChatAdapter {
21651
21641
  this.context.offStateChange(handler);
21652
21642
  }
21653
21643
  sendMessage(content, options) {
21654
- return __awaiter$J(this, void 0, void 0, function* () {
21655
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21644
+ return __awaiter$K(this, void 0, void 0, function* () {
21645
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21656
21646
  return yield this.handlers.onSendMessage(content, options);
21657
21647
  }));
21658
21648
  });
21659
21649
  }
21660
21650
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
21661
21651
  uploadImage(image, imageFilename) {
21662
- return __awaiter$J(this, void 0, void 0, function* () {
21663
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21652
+ return __awaiter$K(this, void 0, void 0, function* () {
21653
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21664
21654
  return yield this.handlers.onUploadImage(image, imageFilename);
21665
21655
  }));
21666
21656
  });
21667
21657
  }
21668
21658
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
21669
21659
  deleteImage(imageId) {
21670
- return __awaiter$J(this, void 0, void 0, function* () {
21671
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21660
+ return __awaiter$K(this, void 0, void 0, function* () {
21661
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21672
21662
  return yield this.handlers.onDeleteImage(imageId);
21673
21663
  }));
21674
21664
  });
21675
21665
  }
21676
21666
  sendReadReceipt(chatMessageId) {
21677
- return __awaiter$J(this, void 0, void 0, function* () {
21678
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21667
+ return __awaiter$K(this, void 0, void 0, function* () {
21668
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21679
21669
  yield this.handlers.onMessageSeen(chatMessageId);
21680
21670
  }));
21681
21671
  });
21682
21672
  }
21683
21673
  sendTypingIndicator() {
21684
- return __awaiter$J(this, void 0, void 0, function* () {
21685
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21674
+ return __awaiter$K(this, void 0, void 0, function* () {
21675
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21686
21676
  yield this.handlers.onTyping();
21687
21677
  }));
21688
21678
  });
21689
21679
  }
21690
21680
  removeParticipant(userId) {
21691
- return __awaiter$J(this, void 0, void 0, function* () {
21692
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21681
+ return __awaiter$K(this, void 0, void 0, function* () {
21682
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21693
21683
  yield this.handlers.onRemoveParticipant(userId);
21694
21684
  }));
21695
21685
  });
21696
21686
  }
21697
21687
  setTopic(topicName) {
21698
- return __awaiter$J(this, void 0, void 0, function* () {
21699
- yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21688
+ return __awaiter$K(this, void 0, void 0, function* () {
21689
+ yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21700
21690
  yield this.handlers.updateThreadTopicName(topicName);
21701
21691
  }));
21702
21692
  });
21703
21693
  }
21704
21694
  loadPreviousChatMessages(messagesToLoad) {
21705
- return __awaiter$J(this, void 0, void 0, function* () {
21706
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21695
+ return __awaiter$K(this, void 0, void 0, function* () {
21696
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21707
21697
  return yield this.handlers.onLoadPreviousChatMessages(messagesToLoad);
21708
21698
  }));
21709
21699
  });
21710
21700
  }
21711
21701
  updateMessage(messageId, content, options) {
21712
- return __awaiter$J(this, void 0, void 0, function* () {
21713
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21702
+ return __awaiter$K(this, void 0, void 0, function* () {
21703
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21714
21704
  var _a;
21715
21705
  /* @conditional-compile-remove(file-sharing-acs) */
21716
21706
  const messageOptions = {};
@@ -21741,14 +21731,14 @@ class AzureCommunicationChatAdapter {
21741
21731
  });
21742
21732
  }
21743
21733
  deleteMessage(messageId) {
21744
- return __awaiter$J(this, void 0, void 0, function* () {
21745
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$J(this, void 0, void 0, function* () {
21734
+ return __awaiter$K(this, void 0, void 0, function* () {
21735
+ return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$K(this, void 0, void 0, function* () {
21746
21736
  return yield this.handlers.onDeleteMessage(messageId);
21747
21737
  }));
21748
21738
  });
21749
21739
  }
21750
21740
  downloadResourceToCache(resourceDetails) {
21751
- return __awaiter$J(this, void 0, void 0, function* () {
21741
+ return __awaiter$K(this, void 0, void 0, function* () {
21752
21742
  this.chatClient.downloadResourceToCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);
21753
21743
  });
21754
21744
  }
@@ -21827,7 +21817,7 @@ class AzureCommunicationChatAdapter {
21827
21817
  this.emitter.off(event, listener);
21828
21818
  }
21829
21819
  asyncTeeErrorToEventEmitter(f) {
21830
- return __awaiter$J(this, void 0, void 0, function* () {
21820
+ return __awaiter$K(this, void 0, void 0, function* () {
21831
21821
  try {
21832
21822
  return yield f();
21833
21823
  }
@@ -21877,7 +21867,7 @@ const convertEventType = (type) => {
21877
21867
  *
21878
21868
  * @public
21879
21869
  */
21880
- const createAzureCommunicationChatAdapter = (_a) => __awaiter$J(void 0, [_a], void 0, function* ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) {
21870
+ const createAzureCommunicationChatAdapter = (_a) => __awaiter$K(void 0, [_a], void 0, function* ({ endpoint: endpointUrl, userId, displayName, credential, threadId }) {
21881
21871
  return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);
21882
21872
  });
21883
21873
  /**
@@ -21885,7 +21875,7 @@ const createAzureCommunicationChatAdapter = (_a) => __awaiter$J(void 0, [_a], vo
21885
21875
  *
21886
21876
  * @internal
21887
21877
  */
21888
- 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') {
21878
+ const _createAzureCommunicationChatAdapterInner = (endpoint_1, userId_1, displayName_1, credential_1, threadId_1, ...args_1) => __awaiter$K(void 0, [endpoint_1, userId_1, displayName_1, credential_1, threadId_1, ...args_1], void 0, function* (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') {
21889
21879
  if (!_isValidIdentifier(userId)) {
21890
21880
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
21891
21881
  }
@@ -21905,7 +21895,7 @@ const _createAzureCommunicationChatAdapterInner = (endpoint_1, userId_1, display
21905
21895
  * ThreadId is a promise to allow for lazy initialization of the adapter.
21906
21896
  * @internal
21907
21897
  */
21908
- 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') {
21898
+ const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId_2, displayName_2, credential_2, threadId_2, ...args_2) => __awaiter$K(void 0, [endpoint_2, userId_2, displayName_2, credential_2, threadId_2, ...args_2], void 0, function* (endpoint, userId, displayName, credential, threadId, telemetryImplementationHint = 'Chat') {
21909
21899
  if (!_isValidIdentifier(userId)) {
21910
21900
  throw new Error('Provided userId is invalid. Please provide valid identifier object.');
21911
21901
  }
@@ -21915,7 +21905,7 @@ const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId_2, dis
21915
21905
  endpoint,
21916
21906
  credential
21917
21907
  }, undefined, telemetryImplementationHint);
21918
- return threadId.then((threadId) => __awaiter$J(void 0, void 0, void 0, function* () {
21908
+ return threadId.then((threadId) => __awaiter$K(void 0, void 0, void 0, function* () {
21919
21909
  if (UNSUPPORTED_CHAT_THREAD_TYPE.some((t) => threadId.includes(t))) {
21920
21910
  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}.`);
21921
21911
  }
@@ -21976,7 +21966,7 @@ beforeDispose) => {
21976
21966
  if (!credential || !displayName || !endpoint || !threadId || !userId) {
21977
21967
  return;
21978
21968
  }
21979
- (() => __awaiter$J(void 0, void 0, void 0, function* () {
21969
+ (() => __awaiter$K(void 0, void 0, void 0, function* () {
21980
21970
  if (adapterRef.current) {
21981
21971
  // Dispose the old adapter when a new one is created.
21982
21972
  //
@@ -22008,7 +21998,7 @@ beforeDispose) => {
22008
21998
  // Dispose any existing adapter when the component unmounts.
22009
21999
  React.useEffect(() => {
22010
22000
  return () => {
22011
- (() => __awaiter$J(void 0, void 0, void 0, function* () {
22001
+ (() => __awaiter$K(void 0, void 0, void 0, function* () {
22012
22002
  if (adapterRef.current) {
22013
22003
  if (beforeDisposeRef.current) {
22014
22004
  yield beforeDisposeRef.current(adapterRef.current);
@@ -22030,7 +22020,7 @@ beforeDispose) => {
22030
22020
  * @public
22031
22021
  */
22032
22022
  function createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient) {
22033
- return __awaiter$J(this, void 0, void 0, function* () {
22023
+ return __awaiter$K(this, void 0, void 0, function* () {
22034
22024
  return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);
22035
22025
  });
22036
22026
  }
@@ -22038,7 +22028,7 @@ const isChatError = (e) => {
22038
22028
  return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
22039
22029
  };
22040
22030
 
22041
- 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",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin"};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",breakoutRoomChatPaneTitle:"Breakout Room Chat"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22031
+ 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",breakoutRoomJoinedNotificationTitle:"You've joined Breakout room '{roomName}'",joinBreakoutRoomBannerTitle:"Breakout room '{roomName}' is open",joinBreakoutRoomBannerButtonLabel:"Join",returnFromBreakoutRoomBannerTitle:"Return to main meeting",returnFromBreakoutRoomBannerButtonLabel:"Rejoin"};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",breakoutRoomChatPaneTitle:"Breakout Room Chat",chatContentSpinnerLabel:"Loading..."};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22042
22032
 
22043
22033
  // Copyright (c) Microsoft Corporation.
22044
22034
  // Licensed under the MIT License.
@@ -22415,7 +22405,7 @@ const sendboxContainerStyles = {
22415
22405
 
22416
22406
  // Copyright (c) Microsoft Corporation.
22417
22407
  // Licensed under the MIT License.
22418
- var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22408
+ var __awaiter$J = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
22419
22409
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22420
22410
  return new (P || (P = Promise))(function (resolve, reject) {
22421
22411
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -22436,7 +22426,7 @@ const AvatarPersona = (props) => {
22436
22426
  const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
22437
22427
  const [data, setData] = React.useState();
22438
22428
  React.useEffect(() => {
22439
- (() => __awaiter$I(void 0, void 0, void 0, function* () {
22429
+ (() => __awaiter$J(void 0, void 0, void 0, function* () {
22440
22430
  if (dataProvider && userId) {
22441
22431
  const newData = yield dataProvider(userId);
22442
22432
  if (avatarDeepDifferenceCheck(data, newData)) {
@@ -22992,7 +22982,7 @@ const AttachmentDownloadErrorBar = (props) => {
22992
22982
  /**
22993
22983
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
22994
22984
  */
22995
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Cp5_HaZs.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
22985
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-D_wPKYPO.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
22996
22986
  /**
22997
22987
  * @private
22998
22988
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -23000,7 +22990,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
23000
22990
  *
23001
22991
  /* @conditional-compile-remove(rich-text-editor-composite-support)
23002
22992
  */
23003
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Cp5_HaZs.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
22993
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-D_wPKYPO.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
23004
22994
  /**
23005
22995
  * @private
23006
22996
  */
@@ -23034,7 +23024,7 @@ const SendBoxPicker = (props) => {
23034
23024
 
23035
23025
  // Copyright (c) Microsoft Corporation.
23036
23026
  // Licensed under the MIT License.
23037
- var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23027
+ var __awaiter$I = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23038
23028
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23039
23029
  return new (P || (P = Promise))(function (resolve, reject) {
23040
23030
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23046,7 +23036,7 @@ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments,
23046
23036
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23047
23037
  const MAX_INLINE_IMAGE_UPLOAD_SIZE_MB = 20;
23048
23038
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23049
- const fetchBlobData = (resource, options) => __awaiter$H(void 0, void 0, void 0, function* () {
23039
+ const fetchBlobData = (resource, options) => __awaiter$I(void 0, void 0, void 0, function* () {
23050
23040
  // default timeout is 30 seconds
23051
23041
  const { timeout = 30000, abortController } = options;
23052
23042
  const id = setTimeout(() => {
@@ -23060,7 +23050,7 @@ const fetchBlobData = (resource, options) => __awaiter$H(void 0, void 0, void 0,
23060
23050
  /**
23061
23051
  * @private
23062
23052
  */
23063
- const getInlineImageData = (image) => __awaiter$H(void 0, void 0, void 0, function* () {
23053
+ const getInlineImageData = (image) => __awaiter$I(void 0, void 0, void 0, function* () {
23064
23054
  if (image.startsWith('blob') || image.startsWith('http')) {
23065
23055
  try {
23066
23056
  const res = yield fetchBlobData(image, { abortController: new AbortController() });
@@ -23104,7 +23094,7 @@ const getSendBoxInlineImages = (sendBoxInlineImageUploads) => {
23104
23094
  return (_a = sendBoxInlineImageUploads[SEND_BOX_UPLOADS_KEY_VALUE]) === null || _a === void 0 ? void 0 : _a.map((upload) => upload.metadata);
23105
23095
  };
23106
23096
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23107
- const inlineImageUploadHandler = (uploadTasks, adapter, strings) => __awaiter$H(void 0, void 0, void 0, function* () {
23097
+ const inlineImageUploadHandler = (uploadTasks, adapter, strings) => __awaiter$I(void 0, void 0, void 0, function* () {
23108
23098
  var _a, _b, _c;
23109
23099
  for (const task of uploadTasks) {
23110
23100
  const uploadTask = task;
@@ -23137,7 +23127,7 @@ const inlineImageUploadHandler = (uploadTasks, adapter, strings) => __awaiter$H(
23137
23127
  }
23138
23128
  });
23139
23129
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23140
- const generateUploadTask = (imageAttributes, fileName, messageId, inlineImageUploadActionHandler) => __awaiter$H(void 0, void 0, void 0, function* () {
23130
+ const generateUploadTask = (imageAttributes, fileName, messageId, inlineImageUploadActionHandler) => __awaiter$I(void 0, void 0, void 0, function* () {
23141
23131
  const imageData = yield getInlineImageData(imageAttributes.src);
23142
23132
  if (!imageData) {
23143
23133
  return;
@@ -23184,7 +23174,7 @@ const generateUploadTask = (imageAttributes, fileName, messageId, inlineImageUpl
23184
23174
  /**
23185
23175
  * @internal
23186
23176
  */
23187
- const onInsertInlineImageForEditBox = (imageAttributes, fileName, messageId, adapter, handleEditBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$H(void 0, void 0, void 0, function* () {
23177
+ const onInsertInlineImageForEditBox = (imageAttributes, fileName, messageId, adapter, handleEditBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$I(void 0, void 0, void 0, function* () {
23188
23178
  const uploadTask = yield generateUploadTask(imageAttributes, fileName, messageId, handleEditBoxInlineImageUploadAction);
23189
23179
  if (!uploadTask) {
23190
23180
  return;
@@ -23200,7 +23190,7 @@ const onInsertInlineImageForEditBox = (imageAttributes, fileName, messageId, ada
23200
23190
  /**
23201
23191
  * @internal
23202
23192
  */
23203
- const onInsertInlineImageForSendBox = (imageAttributes, fileName, adapter, handleSendBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$H(void 0, void 0, void 0, function* () {
23193
+ const onInsertInlineImageForSendBox = (imageAttributes, fileName, adapter, handleSendBoxInlineImageUploadAction, chatCompositeStrings) => __awaiter$I(void 0, void 0, void 0, function* () {
23204
23194
  const uploadTask = yield generateUploadTask(imageAttributes, fileName, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction);
23205
23195
  if (!uploadTask) {
23206
23196
  return;
@@ -23334,7 +23324,7 @@ const ImageUploadReducer = (state, action) => {
23334
23324
 
23335
23325
  // Copyright (c) Microsoft Corporation.
23336
23326
  // Licensed under the MIT License.
23337
- var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23327
+ var __awaiter$H = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
23338
23328
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23339
23329
  return new (P || (P = Promise))(function (resolve, reject) {
23340
23330
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -23388,7 +23378,7 @@ const ChatScreen = (props) => {
23388
23378
  }, [adapter]);
23389
23379
  React.useEffect(() => {
23390
23380
  // Initial data should be always fetched by the composite(or external caller) instead of the adapter
23391
- const fetchData = () => __awaiter$G(void 0, void 0, void 0, function* () {
23381
+ const fetchData = () => __awaiter$H(void 0, void 0, void 0, function* () {
23392
23382
  // Fetch initial data for adapter
23393
23383
  yield adapter.fetchInitialData();
23394
23384
  // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.
@@ -23625,7 +23615,7 @@ const ChatScreen = (props) => {
23625
23615
  }, [uploads]);
23626
23616
  const onSendMessageHandler = React.useCallback(function (content,
23627
23617
  /* @conditional-compile-remove(file-sharing-acs) */ /* @conditional-compile-remove(rich-text-editor-composite-support) */ options) {
23628
- return __awaiter$G(this, void 0, void 0, function* () {
23618
+ return __awaiter$H(this, void 0, void 0, function* () {
23629
23619
  var _a;
23630
23620
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23631
23621
  content = updateContentStringWithUploadedInlineImages(content, sendBoxInlineImageUploads);
@@ -23654,7 +23644,7 @@ const ChatScreen = (props) => {
23654
23644
  ]);
23655
23645
  const onUpdateMessageHandler = React.useCallback(function (messageId, content,
23656
23646
  /* @conditional-compile-remove(file-sharing-acs) */ options) {
23657
- return __awaiter$G(this, void 0, void 0, function* () {
23647
+ return __awaiter$H(this, void 0, void 0, function* () {
23658
23648
  /* @conditional-compile-remove(rich-text-editor-image-upload) */
23659
23649
  content = updateContentStringWithUploadedInlineImages(content, editBoxInlineImageUploads, messageId);
23660
23650
  yield messageThreadProps.onUpdateMessage(messageId, content,
@@ -24013,7 +24003,7 @@ const getAssignedBreakoutRoom$1 = (state, props) => {
24013
24003
 
24014
24004
  // Copyright (c) Microsoft Corporation.
24015
24005
  // Licensed under the MIT License.
24016
- var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24006
+ var __awaiter$G = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24017
24007
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24018
24008
  return new (P || (P = Promise))(function (resolve, reject) {
24019
24009
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24052,7 +24042,7 @@ const _isPreviewOn = (deviceManager) => {
24052
24042
  *
24053
24043
  * @private
24054
24044
  */
24055
- const disposeAllLocalPreviewViews = (callClient) => __awaiter$F(void 0, void 0, void 0, function* () {
24045
+ const disposeAllLocalPreviewViews = (callClient) => __awaiter$G(void 0, void 0, void 0, function* () {
24056
24046
  const unparentedViews = callClient.getState().deviceManager.unparentedViews;
24057
24047
  for (const view of unparentedViews) {
24058
24048
  yield callClient.disposeView(undefined, undefined, view);
@@ -24121,7 +24111,7 @@ const maskDisplayNameWithRole = (displayName, localUserRole, participantRole, is
24121
24111
  * Helper to create a local video stream from the selected camera.
24122
24112
  * @private
24123
24113
  */
24124
- const createLocalVideoStream = (callClient) => __awaiter$F(void 0, void 0, void 0, function* () {
24114
+ const createLocalVideoStream = (callClient) => __awaiter$G(void 0, void 0, void 0, function* () {
24125
24115
  const camera = yield (callClient === null || callClient === void 0 ? void 0 : callClient.getState().deviceManager.selectedCamera);
24126
24116
  if (camera) {
24127
24117
  return new communicationCalling.LocalVideoStream(camera);
@@ -24240,7 +24230,7 @@ const holdButtonSelector = reselect__namespace.createSelector([getCallState], (c
24240
24230
 
24241
24231
  // Copyright (c) Microsoft Corporation.
24242
24232
  // Licensed under the MIT License.
24243
- var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24233
+ var __awaiter$F = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24244
24234
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24245
24235
  return new (P || (P = Promise))(function (resolve, reject) {
24246
24236
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24261,7 +24251,7 @@ const areStreamsEqual = (prevStream, newStream) => {
24261
24251
  * @private
24262
24252
  */
24263
24253
  const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager, call, options) => {
24264
- const onStartLocalVideo = () => __awaiter$E(void 0, void 0, void 0, function* () {
24254
+ const onStartLocalVideo = () => __awaiter$F(void 0, void 0, void 0, function* () {
24265
24255
  // Before the call object creates a stream, dispose of any local preview streams.
24266
24256
  // @TODO: is there any way to parent the unparented view to the call object instead
24267
24257
  // of disposing and creating a new stream?
@@ -24281,7 +24271,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24281
24271
  yield call.startVideo(stream);
24282
24272
  }
24283
24273
  });
24284
- const onStopLocalVideo = (stream) => __awaiter$E(void 0, void 0, void 0, function* () {
24274
+ const onStopLocalVideo = (stream) => __awaiter$F(void 0, void 0, void 0, function* () {
24285
24275
  const callId = call === null || call === void 0 ? void 0 : call.id;
24286
24276
  if (!callId) {
24287
24277
  return;
@@ -24290,7 +24280,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24290
24280
  yield call.stopVideo(stream);
24291
24281
  }
24292
24282
  });
24293
- const onToggleCamera = (options) => __awaiter$E(void 0, void 0, void 0, function* () {
24283
+ const onToggleCamera = (options) => __awaiter$F(void 0, void 0, void 0, function* () {
24294
24284
  const previewOn = _isPreviewOn(callClient.getState().deviceManager);
24295
24285
  // the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
24296
24286
  // The root cause of the issue is caused by never transitioning the unparented view to the
@@ -24347,19 +24337,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24347
24337
  }
24348
24338
  }
24349
24339
  });
24350
- const onSelectMicrophone = (device) => __awaiter$E(void 0, void 0, void 0, function* () {
24340
+ const onSelectMicrophone = (device) => __awaiter$F(void 0, void 0, void 0, function* () {
24351
24341
  if (!deviceManager) {
24352
24342
  return;
24353
24343
  }
24354
24344
  return deviceManager.selectMicrophone(device);
24355
24345
  });
24356
- const onSelectSpeaker = (device) => __awaiter$E(void 0, void 0, void 0, function* () {
24346
+ const onSelectSpeaker = (device) => __awaiter$F(void 0, void 0, void 0, function* () {
24357
24347
  if (!deviceManager) {
24358
24348
  return;
24359
24349
  }
24360
24350
  return deviceManager.selectSpeaker(device);
24361
24351
  });
24362
- const onSelectCamera = (device, options) => __awaiter$E(void 0, void 0, void 0, function* () {
24352
+ const onSelectCamera = (device, options) => __awaiter$F(void 0, void 0, void 0, function* () {
24363
24353
  if (!deviceManager) {
24364
24354
  return;
24365
24355
  }
@@ -24389,9 +24379,9 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24389
24379
  }, options);
24390
24380
  }
24391
24381
  });
24392
- 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()); });
24393
- 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()); });
24394
- const onToggleRaiseHand = () => __awaiter$E(void 0, void 0, void 0, function* () {
24382
+ const onRaiseHand = () => __awaiter$F(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()); });
24383
+ const onLowerHand = () => __awaiter$F(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()); });
24384
+ const onToggleRaiseHand = () => __awaiter$F(void 0, void 0, void 0, function* () {
24395
24385
  const raiseHandFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.RaiseHand);
24396
24386
  const localUserId = callClient.getState().userId;
24397
24387
  const isLocalRaisedHand = raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.getRaisedHands().find((publishedState) => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));
@@ -24402,7 +24392,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24402
24392
  yield (raiseHandFeature === null || raiseHandFeature === void 0 ? void 0 : raiseHandFeature.raiseHand());
24403
24393
  }
24404
24394
  });
24405
- const onReactionClick = (reaction) => __awaiter$E(void 0, void 0, void 0, function* () {
24395
+ const onReactionClick = (reaction) => __awaiter$F(void 0, void 0, void 0, function* () {
24406
24396
  var _c;
24407
24397
  if (reaction === 'like' ||
24408
24398
  reaction === 'applause' ||
@@ -24416,19 +24406,19 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24416
24406
  }
24417
24407
  return;
24418
24408
  });
24419
- const onToggleMicrophone = () => __awaiter$E(void 0, void 0, void 0, function* () {
24409
+ const onToggleMicrophone = () => __awaiter$F(void 0, void 0, void 0, function* () {
24420
24410
  if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
24421
24411
  throw new Error(`Please invoke onToggleMicrophone after call is started`);
24422
24412
  }
24423
24413
  return call.isMuted ? yield call.unmute() : yield call.mute();
24424
24414
  });
24425
- const onStartScreenShare = () => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
24426
- const onStopScreenShare = () => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
24427
- 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(); });
24428
- 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 })); });
24415
+ const onStartScreenShare = () => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.startScreenSharing()); });
24416
+ const onStopScreenShare = () => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.stopScreenSharing()); });
24417
+ const onToggleScreenShare = () => __awaiter$F(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.isScreenSharingOn) ? yield onStopScreenShare() : yield onStartScreenShare(); });
24418
+ const onHangUp = (forEveryone) => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.hangUp({ forEveryone: forEveryone === true ? true : false })); });
24429
24419
  /* @conditional-compile-remove(PSTN-calls) */
24430
- 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()); });
24431
- const onCreateLocalStreamView = (...args_1) => __awaiter$E(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
24420
+ const onToggleHold = () => __awaiter$F(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()); });
24421
+ const onCreateLocalStreamView = (...args_1) => __awaiter$F(void 0, [...args_1], void 0, function* (options = { scalingMode: 'Crop', isMirrored: true }) {
24432
24422
  if (!call || call.localVideoStreams.length === 0) {
24433
24423
  return;
24434
24424
  }
@@ -24452,7 +24442,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24452
24442
  }
24453
24443
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
24454
24444
  });
24455
- const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$E(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
24445
+ const onCreateRemoteStreamView = (userId_1, ...args_2) => __awaiter$F(void 0, [userId_1, ...args_2], void 0, function* (userId, options = { scalingMode: 'Crop' }) {
24456
24446
  if (!call) {
24457
24447
  return;
24458
24448
  }
@@ -24489,7 +24479,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24489
24479
  }
24490
24480
  return (createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view) ? { view: createViewResult === null || createViewResult === void 0 ? void 0 : createViewResult.view } : undefined;
24491
24481
  });
24492
- const onDisposeRemoteStreamView = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24482
+ const onDisposeRemoteStreamView = (userId) => __awaiter$F(void 0, void 0, void 0, function* () {
24493
24483
  if (!call) {
24494
24484
  return;
24495
24485
  }
@@ -24510,7 +24500,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24510
24500
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
24511
24501
  }
24512
24502
  });
24513
- const onDisposeRemoteVideoStreamView = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24503
+ const onDisposeRemoteVideoStreamView = (userId) => __awaiter$F(void 0, void 0, void 0, function* () {
24514
24504
  if (!call) {
24515
24505
  return;
24516
24506
  }
@@ -24527,7 +24517,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24527
24517
  callClient.disposeView(call.id, participant.identifier, remoteVideoStream);
24528
24518
  }
24529
24519
  });
24530
- const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24520
+ const onDisposeRemoteScreenShareStreamView = (userId) => __awaiter$F(void 0, void 0, void 0, function* () {
24531
24521
  if (!call) {
24532
24522
  return;
24533
24523
  }
@@ -24544,7 +24534,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24544
24534
  callClient.disposeView(call.id, participant.identifier, screenShareStream);
24545
24535
  }
24546
24536
  });
24547
- const onDisposeLocalScreenShareStreamView = () => __awaiter$E(void 0, void 0, void 0, function* () {
24537
+ const onDisposeLocalScreenShareStreamView = () => __awaiter$F(void 0, void 0, void 0, function* () {
24548
24538
  if (!call) {
24549
24539
  return;
24550
24540
  }
@@ -24557,7 +24547,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24557
24547
  callClient.disposeView(call.id, undefined, screenShareStream);
24558
24548
  }
24559
24549
  });
24560
- const onDisposeLocalStreamView = () => __awaiter$E(void 0, void 0, void 0, function* () {
24550
+ const onDisposeLocalStreamView = () => __awaiter$F(void 0, void 0, void 0, function* () {
24561
24551
  // If the user is currently in a call, dispose of the local stream view attached to that call.
24562
24552
  const callState = call && callClient.getState().calls[call.id];
24563
24553
  const localStream = callState === null || callState === void 0 ? void 0 : callState.localVideoStreams.find((item) => item.mediaStreamType === 'Video');
@@ -24569,17 +24559,17 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24569
24559
  // TODO: we need to remember which LocalVideoStream was used for LocalPreview and dispose that one.
24570
24560
  yield disposeAllLocalPreviewViews(callClient);
24571
24561
  });
24572
- const onSendDtmfTone = (dtmfTone) => __awaiter$E(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
24562
+ const onSendDtmfTone = (dtmfTone) => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
24573
24563
  const notImplemented = () => {
24574
24564
  throw new Error('Not implemented, cannot call a method from an abstract object');
24575
24565
  };
24576
24566
  /* @conditional-compile-remove(call-readiness) */
24577
- const askDevicePermission = (constrain) => __awaiter$E(void 0, void 0, void 0, function* () {
24567
+ const askDevicePermission = (constrain) => __awaiter$F(void 0, void 0, void 0, function* () {
24578
24568
  if (deviceManager) {
24579
24569
  yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
24580
24570
  }
24581
24571
  });
24582
- const onRemoveVideoBackgroundEffects = () => __awaiter$E(void 0, void 0, void 0, function* () {
24572
+ const onRemoveVideoBackgroundEffects = () => __awaiter$F(void 0, void 0, void 0, function* () {
24583
24573
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
24584
24574
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
24585
24575
  if (stream) {
@@ -24591,7 +24581,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24591
24581
  }
24592
24582
  }
24593
24583
  });
24594
- const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$E(void 0, void 0, void 0, function* () {
24584
+ const onBlurVideoBackground = (backgroundBlurConfig) => __awaiter$F(void 0, void 0, void 0, function* () {
24595
24585
  var _d;
24596
24586
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
24597
24587
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -24604,7 +24594,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24604
24594
  return createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundBlurConfig));
24605
24595
  }
24606
24596
  });
24607
- const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$E(void 0, void 0, void 0, function* () {
24597
+ const onReplaceVideoBackground = (backgroundReplacementConfig) => __awaiter$F(void 0, void 0, void 0, function* () {
24608
24598
  var _e;
24609
24599
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video')) ||
24610
24600
  (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find((stream) => stream.mediaStreamType === 'Video'));
@@ -24617,38 +24607,38 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24617
24607
  return (createEffect && stream.feature(communicationCalling.Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig)));
24618
24608
  }
24619
24609
  });
24620
- const onStartCaptions = (options) => __awaiter$E(void 0, void 0, void 0, function* () {
24610
+ const onStartCaptions = (options) => __awaiter$F(void 0, void 0, void 0, function* () {
24621
24611
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24622
24612
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.startCaptions(options));
24623
24613
  });
24624
- const onStopCaptions = () => __awaiter$E(void 0, void 0, void 0, function* () {
24614
+ const onStopCaptions = () => __awaiter$F(void 0, void 0, void 0, function* () {
24625
24615
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24626
24616
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.stopCaptions());
24627
24617
  });
24628
- const onSetSpokenLanguage = (language) => __awaiter$E(void 0, void 0, void 0, function* () {
24618
+ const onSetSpokenLanguage = (language) => __awaiter$F(void 0, void 0, void 0, function* () {
24629
24619
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24630
24620
  yield (captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.setSpokenLanguage(language));
24631
24621
  });
24632
- const onSetCaptionLanguage = (language) => __awaiter$E(void 0, void 0, void 0, function* () {
24622
+ const onSetCaptionLanguage = (language) => __awaiter$F(void 0, void 0, void 0, function* () {
24633
24623
  const captionsFeature = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Captions).captions;
24634
24624
  yield captionsFeature.setCaptionLanguage(language);
24635
24625
  });
24636
- 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)); });
24637
- const onStartSpotlight = (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24626
+ const onSubmitSurvey = (survey) => __awaiter$F(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
24627
+ const onStartSpotlight = (userIds) => __awaiter$F(void 0, void 0, void 0, function* () {
24638
24628
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24639
24629
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
24640
24630
  });
24641
- const onStopSpotlight = (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24631
+ const onStopSpotlight = (userIds) => __awaiter$F(void 0, void 0, void 0, function* () {
24642
24632
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24643
24633
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
24644
24634
  });
24645
- const onStopAllSpotlight = () => __awaiter$E(void 0, void 0, void 0, function* () {
24635
+ const onStopAllSpotlight = () => __awaiter$F(void 0, void 0, void 0, function* () {
24646
24636
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopAllSpotlight());
24647
24637
  });
24648
24638
  /* @conditional-compile-remove(soft-mute) */
24649
- const onMuteParticipant = (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24639
+ const onMuteParticipant = (userId) => __awaiter$F(void 0, void 0, void 0, function* () {
24650
24640
  if (call === null || call === void 0 ? void 0 : call.remoteParticipants) {
24651
- call === null || call === void 0 ? void 0 : call.remoteParticipants.forEach((participant) => __awaiter$E(void 0, void 0, void 0, function* () {
24641
+ call === null || call === void 0 ? void 0 : call.remoteParticipants.forEach((participant) => __awaiter$F(void 0, void 0, void 0, function* () {
24652
24642
  // Using toFlatCommunicationIdentifier to convert the CommunicationIdentifier to string
24653
24643
  // as _toCommunicationIdentifier(userId) comparison to participant.identifier did not work for this case
24654
24644
  if (toFlatCommunicationIdentifier(participant.identifier) === userId) {
@@ -24658,27 +24648,27 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24658
24648
  }
24659
24649
  });
24660
24650
  /* @conditional-compile-remove(soft-mute) */
24661
- const onMuteAllRemoteParticipants = () => __awaiter$E(void 0, void 0, void 0, function* () {
24651
+ const onMuteAllRemoteParticipants = () => __awaiter$F(void 0, void 0, void 0, function* () {
24662
24652
  call === null || call === void 0 ? void 0 : call.muteAllRemoteParticipants();
24663
24653
  });
24664
24654
  const canStartSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.spotlightParticipant.isPresent;
24665
24655
  const canRemoveSpotlight = call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Capabilities).capabilities.removeParticipantsSpotlight.isPresent;
24666
24656
  const onStartLocalSpotlight = canStartSpotlight
24667
- ? () => __awaiter$E(void 0, void 0, void 0, function* () {
24657
+ ? () => __awaiter$F(void 0, void 0, void 0, function* () {
24668
24658
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight());
24669
24659
  })
24670
24660
  : undefined;
24671
- const onStopLocalSpotlight = () => __awaiter$E(void 0, void 0, void 0, function* () {
24661
+ const onStopLocalSpotlight = () => __awaiter$F(void 0, void 0, void 0, function* () {
24672
24662
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight());
24673
24663
  });
24674
24664
  const onStartRemoteSpotlight = canStartSpotlight
24675
- ? (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24665
+ ? (userIds) => __awaiter$F(void 0, void 0, void 0, function* () {
24676
24666
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24677
24667
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight(participants));
24678
24668
  })
24679
24669
  : undefined;
24680
24670
  const onStopRemoteSpotlight = canRemoveSpotlight
24681
- ? (userIds) => __awaiter$E(void 0, void 0, void 0, function* () {
24671
+ ? (userIds) => __awaiter$F(void 0, void 0, void 0, function* () {
24682
24672
  const participants = userIds === null || userIds === void 0 ? void 0 : userIds.map((userId) => _toCommunicationIdentifier(userId));
24683
24673
  yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight(participants));
24684
24674
  })
@@ -24738,7 +24728,7 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
24738
24728
 
24739
24729
  // Copyright (c) Microsoft Corporation.
24740
24730
  // Licensed under the MIT License.
24741
- var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24731
+ var __awaiter$E = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24742
24732
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24743
24733
  return new (P || (P = Promise))(function (resolve, reject) {
24744
24734
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24772,7 +24762,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
24772
24762
  return callAgent === null || callAgent === void 0 ? void 0 : callAgent.startCall(participants, options);
24773
24763
  },
24774
24764
  /* @conditional-compile-remove(PSTN-calls) */
24775
- onAddParticipant: (userId, options) => __awaiter$D(void 0, void 0, void 0, function* () {
24765
+ onAddParticipant: (userId, options) => __awaiter$E(void 0, void 0, void 0, function* () {
24776
24766
  const participant = _toCommunicationIdentifier(userId);
24777
24767
  if (communicationCommon.isPhoneNumberIdentifier(participant)) {
24778
24768
  call === null || call === void 0 ? void 0 : call.addParticipant(participant, options);
@@ -24780,12 +24770,12 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
24780
24770
  else if (communicationCommon.isCommunicationUserIdentifier(participant) || communicationCommon.isMicrosoftTeamsUserIdentifier(participant)) {
24781
24771
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
24782
24772
  }
24783
- }), onRemoveParticipant: (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24773
+ }), onRemoveParticipant: (userId) => __awaiter$E(void 0, void 0, void 0, function* () {
24784
24774
  const participant = _toCommunicationIdentifier(userId);
24785
24775
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
24786
24776
  }),
24787
24777
  /* @conditional-compile-remove(one-to-n-calling) */
24788
- onAcceptCall: (incomingCallId, useVideo) => __awaiter$D(void 0, void 0, void 0, function* () {
24778
+ onAcceptCall: (incomingCallId, useVideo) => __awaiter$E(void 0, void 0, void 0, function* () {
24789
24779
  const localVideoStream = useVideo ? yield createLocalVideoStream(callClient) : undefined;
24790
24780
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24791
24781
  if (incomingCall) {
@@ -24793,7 +24783,7 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
24793
24783
  }
24794
24784
  }),
24795
24785
  /* @conditional-compile-remove(one-to-n-calling) */
24796
- onRejectCall: (incomingCallId) => __awaiter$D(void 0, void 0, void 0, function* () {
24786
+ onRejectCall: (incomingCallId) => __awaiter$E(void 0, void 0, void 0, function* () {
24797
24787
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24798
24788
  if (incomingCall) {
24799
24789
  yield incomingCall.reject();
@@ -24801,13 +24791,13 @@ const createDefaultCallingHandlers = memoizeOne((...args) => {
24801
24791
  }),
24802
24792
  /* @conditional-compile-remove(breakout-rooms) */
24803
24793
  onHangUp: breakoutRoomOriginCall
24804
- ? () => __awaiter$D(void 0, void 0, void 0, function* () { return breakoutRoomOriginCall.hangUp().then(() => commonCallingHandlers.onHangUp()); })
24794
+ ? () => __awaiter$E(void 0, void 0, void 0, function* () { return breakoutRoomOriginCall.hangUp().then(() => commonCallingHandlers.onHangUp()); })
24805
24795
  : commonCallingHandlers.onHangUp });
24806
24796
  });
24807
24797
 
24808
24798
  // Copyright (c) Microsoft Corporation.
24809
24799
  // Licensed under the MIT License.
24810
- var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24800
+ var __awaiter$D = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
24811
24801
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
24812
24802
  return new (P || (P = Promise))(function (resolve, reject) {
24813
24803
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -24838,7 +24828,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24838
24828
  return undefined;
24839
24829
  },
24840
24830
  /* @conditional-compile-remove(PSTN-calls) */
24841
- onAddParticipant: (userId, options) => __awaiter$C(void 0, void 0, void 0, function* () {
24831
+ onAddParticipant: (userId, options) => __awaiter$D(void 0, void 0, void 0, function* () {
24842
24832
  const participant = _toCommunicationIdentifier(userId);
24843
24833
  /* @conditional-compile-remove(teams-identity-support) */
24844
24834
  const threadId = options === null || options === void 0 ? void 0 : options.threadId;
@@ -24854,7 +24844,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24854
24844
  }
24855
24845
  /* @conditional-compile-remove(teams-identity-support) */
24856
24846
  call === null || call === void 0 ? void 0 : call.addParticipant(participant);
24857
- }), onRemoveParticipant: (userId) => __awaiter$C(void 0, void 0, void 0, function* () {
24847
+ }), onRemoveParticipant: (userId) => __awaiter$D(void 0, void 0, void 0, function* () {
24858
24848
  const participant = _toCommunicationIdentifier(userId);
24859
24849
  if (communicationCommon.isCommunicationUserIdentifier(participant)) {
24860
24850
  throw new Error('CommunicationIdentifier in Teams call is not supported!');
@@ -24866,7 +24856,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24866
24856
  yield (call === null || call === void 0 ? void 0 : call.removeParticipant(participant));
24867
24857
  }),
24868
24858
  /* @conditional-compile-remove(one-to-n-calling) */
24869
- onAcceptCall: (incomingCallId, useVideo) => __awaiter$C(void 0, void 0, void 0, function* () {
24859
+ onAcceptCall: (incomingCallId, useVideo) => __awaiter$D(void 0, void 0, void 0, function* () {
24870
24860
  const localVideoStream = useVideo ? yield createLocalVideoStream(callClient) : undefined;
24871
24861
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24872
24862
  if (incomingCall) {
@@ -24874,7 +24864,7 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24874
24864
  }
24875
24865
  }),
24876
24866
  /* @conditional-compile-remove(one-to-n-calling) */
24877
- onRejectCall: (incomingCallId) => __awaiter$C(void 0, void 0, void 0, function* () {
24867
+ onRejectCall: (incomingCallId) => __awaiter$D(void 0, void 0, void 0, function* () {
24878
24868
  const incomingCall = callAgent === null || callAgent === void 0 ? void 0 : callAgent.incomingCalls.find((incomingCall) => incomingCall.id === incomingCallId);
24879
24869
  if (incomingCall) {
24880
24870
  yield incomingCall.reject();
@@ -24884,8 +24874,6 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24884
24874
 
24885
24875
  // Copyright (c) Microsoft Corporation.
24886
24876
  // Licensed under the MIT License.
24887
- /* @conditional-compile-remove(notifications) */
24888
- /* @conditional-compile-remove(notifications) */
24889
24877
  /**
24890
24878
  * Select the active errors from the state for the `Notification` component.
24891
24879
  *
@@ -25074,7 +25062,6 @@ const notificationStackSelector = reselect.createSelector([
25074
25062
  }
25075
25063
  return { activeErrorMessages: activeErrorMessages, activeNotifications: activeNotifications };
25076
25064
  });
25077
- /* @conditional-compile-remove(notifications) */
25078
25065
  const appendActiveErrorIfDefined$1 = (activeErrorMessages, latestErrors, target, activeErrorType) => {
25079
25066
  if (latestErrors[target] === undefined) {
25080
25067
  return;
@@ -25187,7 +25174,7 @@ const getCaptionsSpeakerIdentifier = (captions) => {
25187
25174
 
25188
25175
  // Copyright (c) Microsoft Corporation.
25189
25176
  // Licensed under the MIT License.
25190
- var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25177
+ var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25191
25178
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25192
25179
  return new (P || (P = Promise))(function (resolve, reject) {
25193
25180
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -25264,7 +25251,7 @@ class ProxyDeviceManager {
25264
25251
  console.info('Could not Unsubscribe to Permissions API Camera changed events, API is not supported by browser', e);
25265
25252
  }
25266
25253
  };
25267
- this.permissionsApiStateChangeHandler = () => __awaiter$B(this, void 0, void 0, function* () {
25254
+ this.permissionsApiStateChangeHandler = () => __awaiter$C(this, void 0, void 0, function* () {
25268
25255
  yield this.updateDevicePermissionState();
25269
25256
  });
25270
25257
  /**
@@ -25275,13 +25262,13 @@ class ProxyDeviceManager {
25275
25262
  this.selectCamera = (videoDeviceInfo) => {
25276
25263
  this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);
25277
25264
  };
25278
- this.videoDevicesUpdated = () => __awaiter$B(this, void 0, void 0, function* () {
25265
+ this.videoDevicesUpdated = () => __awaiter$C(this, void 0, void 0, function* () {
25279
25266
  // Device Manager always has a camera with '' name if there are no real camera devices available.
25280
25267
  // We don't want to show that in the UI.
25281
25268
  const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
25282
25269
  this._context.setDeviceManagerCameras(dedupeById(realCameras));
25283
25270
  });
25284
- this.audioDevicesUpdated = () => __awaiter$B(this, void 0, void 0, function* () {
25271
+ this.audioDevicesUpdated = () => __awaiter$C(this, void 0, void 0, function* () {
25285
25272
  this._context.setDeviceManagerMicrophones(dedupeById(yield this._deviceManager.getMicrophones()));
25286
25273
  if (this._deviceManager.isSpeakerSelectionAvailable) {
25287
25274
  this._context.setDeviceManagerSpeakers(dedupeById(yield this._deviceManager.getSpeakers()));
@@ -25293,7 +25280,7 @@ class ProxyDeviceManager {
25293
25280
  this.selectedSpeakerChanged = () => {
25294
25281
  this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);
25295
25282
  };
25296
- this.updateDevicePermissionState = (sdkDeviceAccessState) => __awaiter$B(this, void 0, void 0, function* () {
25283
+ this.updateDevicePermissionState = (sdkDeviceAccessState) => __awaiter$C(this, void 0, void 0, function* () {
25297
25284
  let hasCameraPermission = !!(sdkDeviceAccessState === null || sdkDeviceAccessState === void 0 ? void 0 : sdkDeviceAccessState.video);
25298
25285
  let hasMicPermission = !!(sdkDeviceAccessState === null || sdkDeviceAccessState === void 0 ? void 0 : sdkDeviceAccessState.audio);
25299
25286
  // Supplement the SDK values with values from the Permissions API to get a better understanding of the device
@@ -25369,7 +25356,7 @@ class ProxyDeviceManager {
25369
25356
  }
25370
25357
  case 'askDevicePermission': {
25371
25358
  return this._context.withAsyncErrorTeedToState((...args) => {
25372
- return target.askDevicePermission(...args).then((deviceAccess) => __awaiter$B(this, void 0, void 0, function* () {
25359
+ return target.askDevicePermission(...args).then((deviceAccess) => __awaiter$C(this, void 0, void 0, function* () {
25373
25360
  yield this.updateDevicePermissionState(deviceAccess);
25374
25361
  return deviceAccess;
25375
25362
  }));
@@ -25479,7 +25466,6 @@ function convertSdkRemoteStreamToDeclarativeRemoteStream(stream) {
25479
25466
  id: stream.id,
25480
25467
  mediaStreamType: stream.mediaStreamType,
25481
25468
  isAvailable: stream.isAvailable,
25482
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
25483
25469
  isReceiving: stream.isReceiving,
25484
25470
  view: undefined,
25485
25471
  streamSize: stream.size
@@ -25767,7 +25753,7 @@ class CallIdHistory {
25767
25753
 
25768
25754
  // Copyright (c) Microsoft Corporation.
25769
25755
  // Licensed under the MIT License.
25770
- var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25756
+ var __awaiter$B = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
25771
25757
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25772
25758
  return new (P || (P = Promise))(function (resolve, reject) {
25773
25759
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -26390,7 +26376,6 @@ let CallContext$2 = class CallContext {
26390
26376
  const existingStream = participant.videoStreams[stream.id];
26391
26377
  if (existingStream) {
26392
26378
  existingStream.isAvailable = stream.isAvailable;
26393
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
26394
26379
  existingStream.isReceiving = stream.isReceiving;
26395
26380
  existingStream.mediaStreamType = stream.mediaStreamType;
26396
26381
  }
@@ -26415,7 +26400,6 @@ let CallContext$2 = class CallContext {
26415
26400
  }
26416
26401
  });
26417
26402
  }
26418
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
26419
26403
  setRemoteVideoStreamIsReceiving(callId, participantKey, streamId, isReceiving) {
26420
26404
  this.modifyState((draft) => {
26421
26405
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -26460,7 +26444,6 @@ let CallContext$2 = class CallContext {
26460
26444
  if (stream) {
26461
26445
  stream.mediaStreamType = newStream.mediaStreamType;
26462
26446
  stream.isAvailable = newStream.isAvailable;
26463
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
26464
26447
  stream.isReceiving = newStream.isReceiving;
26465
26448
  }
26466
26449
  else {
@@ -26743,7 +26726,7 @@ let CallContext$2 = class CallContext {
26743
26726
  * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.
26744
26727
  */
26745
26728
  withAsyncErrorTeedToState(action, target) {
26746
- return (...args) => __awaiter$A(this, void 0, void 0, function* () {
26729
+ return (...args) => __awaiter$B(this, void 0, void 0, function* () {
26747
26730
  try {
26748
26731
  return yield action(...args);
26749
26732
  }
@@ -27010,14 +26993,12 @@ class RemoteVideoStreamSubscriber {
27010
26993
  constructor(callIdRef, participantKey, remoteVideoStream, context) {
27011
26994
  this.subscribe = () => {
27012
26995
  this._remoteVideoStream.on('isAvailableChanged', this.isAvailableChanged);
27013
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
27014
26996
  this._remoteVideoStream.on('isReceivingChanged', this.isReceivingChanged);
27015
26997
  this._remoteVideoStream.on('sizeChanged', this.isSizeChanged);
27016
26998
  this.checkAndUpdateScreenShareState();
27017
26999
  };
27018
27000
  this.unsubscribe = () => {
27019
27001
  this._remoteVideoStream.off('isAvailableChanged', this.isAvailableChanged);
27020
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
27021
27002
  this._remoteVideoStream.off('isReceivingChanged', this.isReceivingChanged);
27022
27003
  this._remoteVideoStream.off('sizeChanged', this.isSizeChanged);
27023
27004
  };
@@ -27068,7 +27049,6 @@ class RemoteVideoStreamSubscriber {
27068
27049
  this._context.setRemoteVideoStreamIsAvailable(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isAvailable);
27069
27050
  this.checkAndUpdateScreenShareState();
27070
27051
  };
27071
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
27072
27052
  this.isReceivingChanged = () => {
27073
27053
  this._context.setRemoteVideoStreamIsReceiving(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isReceiving);
27074
27054
  };
@@ -27290,7 +27270,7 @@ function _logStreamEvent(eventName, streamLogInfo, error) {
27290
27270
 
27291
27271
  // Copyright (c) Microsoft Corporation.
27292
27272
  // Licensed under the MIT License.
27293
- var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27273
+ var __awaiter$A = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27294
27274
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27295
27275
  return new (P || (P = Promise))(function (resolve, reject) {
27296
27276
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -27300,7 +27280,7 @@ var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments,
27300
27280
  });
27301
27281
  };
27302
27282
  function createViewVideo(context, internalContext, callId, stream, participantId, options) {
27303
- return __awaiter$z(this, void 0, void 0, function* () {
27283
+ return __awaiter$A(this, void 0, void 0, function* () {
27304
27284
  // we can only have 3 types of createView
27305
27285
  let streamEventType;
27306
27286
  // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.
@@ -27429,7 +27409,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
27429
27409
  });
27430
27410
  }
27431
27411
  function createViewUnparentedVideo(context, internalContext, stream, options) {
27432
- return __awaiter$z(this, void 0, void 0, function* () {
27412
+ return __awaiter$A(this, void 0, void 0, function* () {
27433
27413
  const renderInfo = internalContext.getUnparentedRenderInfo(stream);
27434
27414
  if (renderInfo && renderInfo.status === 'Rendered') {
27435
27415
  console.warn('Unparented LocalVideoStream is already rendered');
@@ -27598,7 +27578,7 @@ function createView(context, internalContext, callId, participantId, stream, opt
27598
27578
  // Render LocalVideoStream that is not part of a Call
27599
27579
  // 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).
27600
27580
  // We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.
27601
- return context.withAsyncErrorTeedToState(() => __awaiter$z(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
27581
+ return context.withAsyncErrorTeedToState(() => __awaiter$A(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
27602
27582
  }
27603
27583
  else {
27604
27584
  _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
@@ -27784,7 +27764,7 @@ class RecordingSubscriber {
27784
27764
 
27785
27765
  // Copyright (c) Microsoft Corporation.
27786
27766
  // Licensed under the MIT License.
27787
- var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27767
+ var __awaiter$z = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
27788
27768
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27789
27769
  return new (P || (P = Promise))(function (resolve, reject) {
27790
27770
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -27808,7 +27788,7 @@ class PPTLiveSubscriber {
27808
27788
  this._context.setCallPPTLiveActive(this._callIdRef.callId, this._pptLive.isActive);
27809
27789
  this.checkAndUpdatePPTLiveParticipant();
27810
27790
  };
27811
- this.checkAndUpdatePPTLiveParticipant = () => __awaiter$y(this, void 0, void 0, function* () {
27791
+ this.checkAndUpdatePPTLiveParticipant = () => __awaiter$z(this, void 0, void 0, function* () {
27812
27792
  if (!this._pptLive.activePresenterId) {
27813
27793
  return;
27814
27794
  }
@@ -28496,7 +28476,7 @@ class IncomingCallSubscriber {
28496
28476
 
28497
28477
  // Copyright (c) Microsoft Corporation.
28498
28478
  // Licensed under the MIT License.
28499
- var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28479
+ var __awaiter$y = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28500
28480
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28501
28481
  return new (P || (P = Promise))(function (resolve, reject) {
28502
28482
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28516,14 +28496,14 @@ class ProxyIncomingCall {
28516
28496
  switch (prop) {
28517
28497
  case 'accept': {
28518
28498
  return this._context.withAsyncErrorTeedToState(function (...args) {
28519
- return __awaiter$x(this, void 0, void 0, function* () {
28499
+ return __awaiter$y(this, void 0, void 0, function* () {
28520
28500
  return yield target.accept(...args);
28521
28501
  });
28522
28502
  }, 'IncomingCall.accept');
28523
28503
  }
28524
28504
  case 'reject': {
28525
28505
  return this._context.withAsyncErrorTeedToState(function (...args) {
28526
- return __awaiter$x(this, void 0, void 0, function* () {
28506
+ return __awaiter$y(this, void 0, void 0, function* () {
28527
28507
  return yield target.reject(...args);
28528
28508
  });
28529
28509
  }, 'IncomingCall.reject');
@@ -28545,7 +28525,7 @@ const incomingCallDeclaratify = (incomingCall, context) => {
28545
28525
 
28546
28526
  // Copyright (c) Microsoft Corporation.
28547
28527
  // Licensed under the MIT License.
28548
- var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28528
+ var __awaiter$x = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28549
28529
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28550
28530
  return new (P || (P = Promise))(function (resolve, reject) {
28551
28531
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28565,14 +28545,14 @@ class ProxyTeamsIncomingCall {
28565
28545
  switch (prop) {
28566
28546
  case 'accept': {
28567
28547
  return this._context.withAsyncErrorTeedToState(function (...args) {
28568
- return __awaiter$w(this, void 0, void 0, function* () {
28548
+ return __awaiter$x(this, void 0, void 0, function* () {
28569
28549
  return yield target.accept(...args);
28570
28550
  });
28571
28551
  }, 'IncomingCall.accept');
28572
28552
  }
28573
28553
  case 'reject': {
28574
28554
  return this._context.withAsyncErrorTeedToState(function (...args) {
28575
- return __awaiter$w(this, void 0, void 0, function* () {
28555
+ return __awaiter$x(this, void 0, void 0, function* () {
28576
28556
  return yield target.reject(...args);
28577
28557
  });
28578
28558
  }, 'IncomingCall.reject');
@@ -28791,7 +28771,7 @@ const clearCallRelatedState = (context, internalContext) => {
28791
28771
 
28792
28772
  // Copyright (c) Microsoft Corporation.
28793
28773
  // Licensed under the MIT License.
28794
- var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28774
+ var __awaiter$w = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
28795
28775
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28796
28776
  return new (P || (P = Promise))(function (resolve, reject) {
28797
28777
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -28817,56 +28797,56 @@ class ProxyCallCommon {
28817
28797
  switch (prop) {
28818
28798
  case 'mute': {
28819
28799
  return this._context.withAsyncErrorTeedToState(function (...args) {
28820
- return __awaiter$v(this, void 0, void 0, function* () {
28800
+ return __awaiter$w(this, void 0, void 0, function* () {
28821
28801
  return yield target.mute(...args);
28822
28802
  });
28823
28803
  }, 'Call.mute');
28824
28804
  }
28825
28805
  case 'unmute': {
28826
28806
  return this._context.withAsyncErrorTeedToState(function (...args) {
28827
- return __awaiter$v(this, void 0, void 0, function* () {
28807
+ return __awaiter$w(this, void 0, void 0, function* () {
28828
28808
  return yield target.unmute(...args);
28829
28809
  });
28830
28810
  }, 'Call.unmute');
28831
28811
  }
28832
28812
  case 'startVideo': {
28833
28813
  return this._context.withAsyncErrorTeedToState(function (...args) {
28834
- return __awaiter$v(this, void 0, void 0, function* () {
28814
+ return __awaiter$w(this, void 0, void 0, function* () {
28835
28815
  return yield target.startVideo(...args);
28836
28816
  });
28837
28817
  }, 'Call.startVideo');
28838
28818
  }
28839
28819
  case 'stopVideo': {
28840
28820
  return this._context.withAsyncErrorTeedToState(function (...args) {
28841
- return __awaiter$v(this, void 0, void 0, function* () {
28821
+ return __awaiter$w(this, void 0, void 0, function* () {
28842
28822
  return yield target.stopVideo(...args);
28843
28823
  });
28844
28824
  }, 'Call.stopVideo');
28845
28825
  }
28846
28826
  case 'startScreenSharing': {
28847
28827
  return this._context.withAsyncErrorTeedToState(function (...args) {
28848
- return __awaiter$v(this, void 0, void 0, function* () {
28828
+ return __awaiter$w(this, void 0, void 0, function* () {
28849
28829
  return yield target.startScreenSharing(...args);
28850
28830
  });
28851
28831
  }, 'Call.startScreenSharing');
28852
28832
  }
28853
28833
  case 'stopScreenSharing': {
28854
28834
  return this._context.withAsyncErrorTeedToState(function (...args) {
28855
- return __awaiter$v(this, void 0, void 0, function* () {
28835
+ return __awaiter$w(this, void 0, void 0, function* () {
28856
28836
  return yield target.stopScreenSharing(...args);
28857
28837
  });
28858
28838
  }, 'Call.stopScreenSharing');
28859
28839
  }
28860
28840
  case 'hold': {
28861
28841
  return this._context.withAsyncErrorTeedToState(function (...args) {
28862
- return __awaiter$v(this, void 0, void 0, function* () {
28842
+ return __awaiter$w(this, void 0, void 0, function* () {
28863
28843
  return yield target.hold(...args);
28864
28844
  });
28865
28845
  }, 'Call.hold');
28866
28846
  }
28867
28847
  case 'resume': {
28868
28848
  return this._context.withAsyncErrorTeedToState(function (...args) {
28869
- return __awaiter$v(this, void 0, void 0, function* () {
28849
+ return __awaiter$w(this, void 0, void 0, function* () {
28870
28850
  return yield target.resume(...args);
28871
28851
  });
28872
28852
  }, 'Call.resume');
@@ -28934,7 +28914,7 @@ class ProxyTeamsCaptions {
28934
28914
  get(target, prop) {
28935
28915
  switch (prop) {
28936
28916
  case 'startCaptions':
28937
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28917
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
28938
28918
  var _a, _b;
28939
28919
  this._context.setStartCaptionsInProgress(this._call.id, true);
28940
28920
  try {
@@ -28948,7 +28928,7 @@ class ProxyTeamsCaptions {
28948
28928
  }
28949
28929
  }), 'Call.feature');
28950
28930
  case 'stopCaptions':
28951
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28931
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
28952
28932
  const ret = yield target.stopCaptions(...args);
28953
28933
  this._context.setIsCaptionActive(this._call.id, false);
28954
28934
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -28956,13 +28936,13 @@ class ProxyTeamsCaptions {
28956
28936
  return ret;
28957
28937
  }), 'Call.feature');
28958
28938
  case 'setSpokenLanguage':
28959
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28939
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
28960
28940
  const ret = yield target.setSpokenLanguage(...args);
28961
28941
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
28962
28942
  return ret;
28963
28943
  }), 'Call.feature');
28964
28944
  case 'setCaptionLanguage':
28965
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28945
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
28966
28946
  const ret = yield target.setCaptionLanguage(...args);
28967
28947
  this._context.setSelectedCaptionLanguage(this._call.id, args[0]);
28968
28948
  return ret;
@@ -28984,7 +28964,7 @@ class ProxyCaptions {
28984
28964
  get(target, prop) {
28985
28965
  switch (prop) {
28986
28966
  case 'startCaptions':
28987
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28967
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
28988
28968
  var _a, _b;
28989
28969
  this._context.setStartCaptionsInProgress(this._call.id, true);
28990
28970
  try {
@@ -28998,7 +28978,7 @@ class ProxyCaptions {
28998
28978
  }
28999
28979
  }), 'Call.feature');
29000
28980
  case 'stopCaptions':
29001
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28981
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
29002
28982
  const ret = yield target.stopCaptions(...args);
29003
28983
  this._context.setIsCaptionActive(this._call.id, false);
29004
28984
  this._context.setStartCaptionsInProgress(this._call.id, false);
@@ -29006,7 +28986,7 @@ class ProxyCaptions {
29006
28986
  return ret;
29007
28987
  }), 'Call.feature');
29008
28988
  case 'setSpokenLanguage':
29009
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
28989
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
29010
28990
  const ret = yield target.setSpokenLanguage(...args);
29011
28991
  this._context.setSelectedSpokenLanguage(this._call.id, args[0]);
29012
28992
  return ret;
@@ -29026,12 +29006,12 @@ class ProxySpotlightCallFeature {
29026
29006
  get(target, prop) {
29027
29007
  switch (prop) {
29028
29008
  case 'startSpotlight':
29029
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
29009
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
29030
29010
  const ret = yield target.startSpotlight(...args);
29031
29011
  return ret;
29032
29012
  }), 'Call.feature');
29033
29013
  case 'stopSpotlight':
29034
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$v(this, void 0, void 0, function* () {
29014
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$w(this, void 0, void 0, function* () {
29035
29015
  const ret = yield target.stopSpotlight(...args);
29036
29016
  return ret;
29037
29017
  }), 'Call.feature');
@@ -29073,7 +29053,7 @@ class ProxyTransferCallFeature {
29073
29053
 
29074
29054
  // Copyright (c) Microsoft Corporation.
29075
29055
  // Licensed under the MIT License.
29076
- var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29056
+ var __awaiter$v = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29077
29057
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29078
29058
  return new (P || (P = Promise))(function (resolve, reject) {
29079
29059
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29087,7 +29067,7 @@ class ProxyCall extends ProxyCallCommon {
29087
29067
  switch (prop) {
29088
29068
  case 'addParticipant': {
29089
29069
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
29090
- return __awaiter$u(this, void 0, void 0, function* () {
29070
+ return __awaiter$v(this, void 0, void 0, function* () {
29091
29071
  return yield target.addParticipant(...args);
29092
29072
  });
29093
29073
  }, 'Call.addParticipant');
@@ -29322,7 +29302,7 @@ class InternalCallContext {
29322
29302
 
29323
29303
  // Copyright (c) Microsoft Corporation.
29324
29304
  // Licensed under the MIT License.
29325
- var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29305
+ var __awaiter$u = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29326
29306
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29327
29307
  return new (P || (P = Promise))(function (resolve, reject) {
29328
29308
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29338,7 +29318,7 @@ class ProxyTeamsCall extends ProxyCallCommon {
29338
29318
  /* @conditional-compile-remove(PSTN-calls) */
29339
29319
  case 'addParticipant': {
29340
29320
  return this.getContext().withAsyncErrorTeedToState(function (...args) {
29341
- return __awaiter$t(this, void 0, void 0, function* () {
29321
+ return __awaiter$u(this, void 0, void 0, function* () {
29342
29322
  return yield target.addParticipant(...args);
29343
29323
  });
29344
29324
  }, 'TeamsCall.addParticipant');
@@ -29457,7 +29437,7 @@ const teamsCallAgentDeclaratify = (callAgent, context, internalContext) => {
29457
29437
 
29458
29438
  // Copyright (c) Microsoft Corporation.
29459
29439
  // Licensed under the MIT License.
29460
- var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29440
+ var __awaiter$t = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29461
29441
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29462
29442
  return new (P || (P = Promise))(function (resolve, reject) {
29463
29443
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29479,7 +29459,7 @@ class ProxyVideoStreamRendererView {
29479
29459
  get(target, prop) {
29480
29460
  switch (prop) {
29481
29461
  case 'updateScalingMode': {
29482
- return (...args) => __awaiter$s(this, void 0, void 0, function* () {
29462
+ return (...args) => __awaiter$t(this, void 0, void 0, function* () {
29483
29463
  yield target.updateScalingMode(...args);
29484
29464
  this._context.setRemoteVideoStreamViewScalingMode(this._callId, this._participantId, this._streamId, args[0]);
29485
29465
  });
@@ -29500,7 +29480,7 @@ const videoStreamRendererViewDeclaratify = (view, context, callId, participantId
29500
29480
 
29501
29481
  // Copyright (c) Microsoft Corporation.
29502
29482
  // Licensed under the MIT License.
29503
- var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29483
+ var __awaiter$s = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
29504
29484
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29505
29485
  return new (P || (P = Promise))(function (resolve, reject) {
29506
29486
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -29522,7 +29502,7 @@ class ProxyCallClient {
29522
29502
  get(target, prop) {
29523
29503
  switch (prop) {
29524
29504
  case 'createCallAgent': {
29525
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter$r(this, void 0, void 0, function* () {
29505
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$s(this, void 0, void 0, function* () {
29526
29506
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
29527
29507
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
29528
29508
  // callAgent if the createCallAgent succeeds.
@@ -29535,7 +29515,7 @@ class ProxyCallClient {
29535
29515
  }), 'CallClient.createCallAgent');
29536
29516
  }
29537
29517
  case 'createTeamsCallAgent': {
29538
- /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$r(this, void 0, void 0, function* () {
29518
+ /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter$s(this, void 0, void 0, function* () {
29539
29519
  // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
29540
29520
  // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
29541
29521
  // callAgent if the createCallAgent succeeds.
@@ -29548,7 +29528,7 @@ class ProxyCallClient {
29548
29528
  }), 'CallClient.createTeamsCallAgent');
29549
29529
  }
29550
29530
  case 'getDeviceManager': {
29551
- return this._context.withAsyncErrorTeedToState(() => __awaiter$r(this, void 0, void 0, function* () {
29531
+ return this._context.withAsyncErrorTeedToState(() => __awaiter$s(this, void 0, void 0, function* () {
29552
29532
  // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
29553
29533
  // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
29554
29534
  // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
@@ -29577,7 +29557,7 @@ class ProxyCallClient {
29577
29557
  /**
29578
29558
  * add to this object if we want to proxy anything else off the DebugInfo feature object.
29579
29559
  */
29580
- return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$r(this, void 0, void 0, function* () {
29560
+ return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter$s(this, void 0, void 0, function* () {
29581
29561
  const environmentInfo = yield feature.getEnvironmentInfo();
29582
29562
  this._context.setEnvironmentInfo(environmentInfo);
29583
29563
  return environmentInfo;
@@ -29638,7 +29618,7 @@ const createStatefulCallClientWithDeps = (callClient, context, internalContext)
29638
29618
  });
29639
29619
  Object.defineProperty(callClient, 'createView', {
29640
29620
  configurable: false,
29641
- value: (callId, participantId, stream, options) => __awaiter$r(void 0, void 0, void 0, function* () {
29621
+ value: (callId, participantId, stream, options) => __awaiter$s(void 0, void 0, void 0, function* () {
29642
29622
  const participantIdKind = participantId ? communicationCommon.getIdentifierKind(participantId) : undefined;
29643
29623
  const result = yield createView(context, internalContext, callId, participantIdKind, stream, options);
29644
29624
  // We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.
@@ -29987,7 +29967,6 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
29987
29967
  return {
29988
29968
  id: stream.id,
29989
29969
  isAvailable: stream.isAvailable,
29990
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
29991
29970
  isReceiving: stream.isReceiving,
29992
29971
  isMirrored: (_a = stream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
29993
29972
  renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target,
@@ -30492,10 +30471,6 @@ const getSelector = (component) => {
30492
30471
  if (component === HoldButton) {
30493
30472
  return findConditionalCompiledSelector(component);
30494
30473
  }
30495
- /* @conditional-compile-remove(notifications) */
30496
- if (component === NotificationStack) {
30497
- return findConditionalCompiledSelector(component);
30498
- }
30499
30474
  /* @conditional-compile-remove(one-to-n-calling) */
30500
30475
  if (component === IncomingCallStack) {
30501
30476
  return findConditionalCompiledSelector(component);
@@ -30530,20 +30505,18 @@ const findSelector = (component) => {
30530
30505
  return raiseHandButtonSelector;
30531
30506
  case ReactionButton:
30532
30507
  return reactionButtonSelector;
30508
+ case NotificationStack:
30509
+ return notificationStackSelector;
30533
30510
  }
30534
30511
  return undefined;
30535
30512
  };
30536
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(notifications) */ /* @conditional-compile-remove(one-to-n-calling) */
30513
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
30537
30514
  const findConditionalCompiledSelector = (component) => {
30538
30515
  switch (component) {
30539
30516
  /* @conditional-compile-remove(PSTN-calls) */
30540
30517
  case HoldButton:
30541
30518
  /* @conditional-compile-remove(PSTN-calls) */
30542
30519
  return holdButtonSelector;
30543
- /* @conditional-compile-remove(notifications) */
30544
- case NotificationStack:
30545
- /* @conditional-compile-remove(notifications) */
30546
- return notificationStackSelector;
30547
30520
  /* @conditional-compile-remove(one-to-n-calling) */
30548
30521
  case IncomingCallStack:
30549
30522
  /* @conditional-compile-remove(one-to-n-calling) */
@@ -30699,7 +30672,7 @@ const END_CALL_PAGES = [
30699
30672
 
30700
30673
  // Copyright (c) Microsoft Corporation.
30701
30674
  // Licensed under the MIT License.
30702
- var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
30675
+ var __awaiter$r = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
30703
30676
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30704
30677
  return new (P || (P = Promise))(function (resolve, reject) {
30705
30678
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31061,7 +31034,7 @@ const isDisabled$4 = (option) => {
31061
31034
  /**
31062
31035
  * @returns Permissions state for the camera.
31063
31036
  */
31064
- const queryCameraPermissionFromPermissionsAPI = () => __awaiter$q(void 0, void 0, void 0, function* () {
31037
+ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$r(void 0, void 0, void 0, function* () {
31065
31038
  try {
31066
31039
  return (yield navigator.permissions.query({ name: 'camera' })).state;
31067
31040
  }
@@ -31074,7 +31047,7 @@ const queryCameraPermissionFromPermissionsAPI = () => __awaiter$q(void 0, void 0
31074
31047
  /**
31075
31048
  * @returns Permissions state for the microphone.
31076
31049
  */
31077
- const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$q(void 0, void 0, void 0, function* () {
31050
+ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$r(void 0, void 0, void 0, function* () {
31078
31051
  try {
31079
31052
  return (yield navigator.permissions.query({ name: 'microphone' })).state;
31080
31053
  }
@@ -31091,7 +31064,7 @@ const queryMicrophonePermissionFromPermissionsAPI = () => __awaiter$q(void 0, vo
31091
31064
  * If permission API is not supported on this browser, permission state is set to unsupported.
31092
31065
  * @private
31093
31066
  */
31094
- const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$q(void 0, void 0, void 0, function* () {
31067
+ const getDevicePermissionState = (setVideoState, setAudioState) => __awaiter$r(void 0, void 0, void 0, function* () {
31095
31068
  const [cameraResult, microphoneResult] = yield Promise.all([
31096
31069
  queryCameraPermissionFromPermissionsAPI(),
31097
31070
  queryMicrophonePermissionFromPermissionsAPI()
@@ -31174,7 +31147,6 @@ const getSelectedCameraFromAdapterState = (state) => state.devices.selectedCamer
31174
31147
  const getLocatorOrTargetCallees = (locatorOrTargetCallees) => {
31175
31148
  return !!Array.isArray(locatorOrTargetCallees);
31176
31149
  };
31177
- /* @conditional-compile-remove(notifications) */
31178
31150
  /**
31179
31151
  * Return different conditions based on the current and previous state of recording and transcribing
31180
31152
  *
@@ -31214,7 +31186,6 @@ const computeVariant = (callRecordState, callTranscribeState) => {
31214
31186
  return 'noState';
31215
31187
  }
31216
31188
  };
31217
- /* @conditional-compile-remove(notifications) */
31218
31189
  /**
31219
31190
  * @private
31220
31191
  */
@@ -31235,7 +31206,6 @@ function determineStates(previous, current) {
31235
31206
  }
31236
31207
  }
31237
31208
  }
31238
- /* @conditional-compile-remove(notifications) */
31239
31209
  /**
31240
31210
  * Compute compliance notification based on latest compliance state and cached props.
31241
31211
  * @private
@@ -31281,7 +31251,7 @@ function computeComplianceNotification(complianceProps, cachedProps) {
31281
31251
 
31282
31252
  // Copyright (c) Microsoft Corporation.
31283
31253
  // Licensed under the MIT License.
31284
- var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31254
+ var __awaiter$q = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31285
31255
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31286
31256
  return new (P || (P = Promise))(function (resolve, reject) {
31287
31257
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31304,22 +31274,22 @@ _component) => {
31304
31274
  };
31305
31275
  const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
31306
31276
  return {
31307
- onCreateLocalStreamView: (options) => __awaiter$p(void 0, void 0, void 0, function* () {
31277
+ onCreateLocalStreamView: (options) => __awaiter$q(void 0, void 0, void 0, function* () {
31308
31278
  return yield adapter.createStreamView(undefined, options);
31309
31279
  }),
31310
- onCreateRemoteStreamView: (userId, options) => __awaiter$p(void 0, void 0, void 0, function* () {
31280
+ onCreateRemoteStreamView: (userId, options) => __awaiter$q(void 0, void 0, void 0, function* () {
31311
31281
  return yield adapter.createStreamView(userId, options);
31312
31282
  }),
31313
- onHangUp: (forEveryone) => __awaiter$p(void 0, void 0, void 0, function* () {
31283
+ onHangUp: (forEveryone) => __awaiter$q(void 0, void 0, void 0, function* () {
31314
31284
  yield adapter.leaveCall(forEveryone);
31315
31285
  }),
31316
31286
  /* @conditional-compile-remove(PSTN-calls) */
31317
- onToggleHold: () => __awaiter$p(void 0, void 0, void 0, function* () {
31287
+ onToggleHold: () => __awaiter$q(void 0, void 0, void 0, function* () {
31318
31288
  var _a;
31319
31289
  return ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold' ? yield adapter.resumeCall() : yield adapter.holdCall();
31320
31290
  }),
31321
31291
  /* @conditional-compile-remove(PSTN-calls) */
31322
- onAddParticipant: (participant, options) => __awaiter$p(void 0, void 0, void 0, function* () {
31292
+ onAddParticipant: (participant, options) => __awaiter$q(void 0, void 0, void 0, function* () {
31323
31293
  if ('communicationUserId' in participant) {
31324
31294
  return yield adapter.addParticipant(participant);
31325
31295
  }
@@ -31327,10 +31297,10 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
31327
31297
  return yield adapter.addParticipant(participant, options);
31328
31298
  }
31329
31299
  }),
31330
- onSendDtmfTone: (dtmfTone) => __awaiter$p(void 0, void 0, void 0, function* () {
31300
+ onSendDtmfTone: (dtmfTone) => __awaiter$q(void 0, void 0, void 0, function* () {
31331
31301
  yield adapter.sendDtmfTone(dtmfTone);
31332
31302
  }),
31333
- onRemoveParticipant: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31303
+ onRemoveParticipant: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
31334
31304
  if (typeof userId === 'string') {
31335
31305
  yield adapter.removeParticipant(userId);
31336
31306
  }
@@ -31339,136 +31309,136 @@ const createCompositeHandlers = memoizeOne((adapter, capabilities) => {
31339
31309
  yield adapter.removeParticipant(_toCommunicationIdentifier(userId));
31340
31310
  }
31341
31311
  }),
31342
- onRaiseHand: () => __awaiter$p(void 0, void 0, void 0, function* () {
31312
+ onRaiseHand: () => __awaiter$q(void 0, void 0, void 0, function* () {
31343
31313
  yield adapter.raiseHand();
31344
31314
  }),
31345
- onLowerHand: () => __awaiter$p(void 0, void 0, void 0, function* () {
31315
+ onLowerHand: () => __awaiter$q(void 0, void 0, void 0, function* () {
31346
31316
  yield adapter.lowerHand();
31347
31317
  }),
31348
- onToggleRaiseHand: () => __awaiter$p(void 0, void 0, void 0, function* () {
31318
+ onToggleRaiseHand: () => __awaiter$q(void 0, void 0, void 0, function* () {
31349
31319
  var _b;
31350
31320
  ((_b = adapter.getState().call) === null || _b === void 0 ? void 0 : _b.raiseHand.localParticipantRaisedHand)
31351
31321
  ? yield adapter.lowerHand()
31352
31322
  : yield adapter.raiseHand();
31353
31323
  }),
31354
- onReactionClick: (reaction) => __awaiter$p(void 0, void 0, void 0, function* () {
31324
+ onReactionClick: (reaction) => __awaiter$q(void 0, void 0, void 0, function* () {
31355
31325
  yield adapter.onReactionClick(reaction);
31356
31326
  }),
31357
- onSelectCamera: (deviceInfo, options) => __awaiter$p(void 0, void 0, void 0, function* () {
31327
+ onSelectCamera: (deviceInfo, options) => __awaiter$q(void 0, void 0, void 0, function* () {
31358
31328
  yield adapter.setCamera(deviceInfo, options);
31359
31329
  }),
31360
- onSelectMicrophone: (deviceInfo) => __awaiter$p(void 0, void 0, void 0, function* () {
31330
+ onSelectMicrophone: (deviceInfo) => __awaiter$q(void 0, void 0, void 0, function* () {
31361
31331
  yield adapter.setMicrophone(deviceInfo);
31362
31332
  }),
31363
- onSelectSpeaker: (deviceInfo) => __awaiter$p(void 0, void 0, void 0, function* () {
31333
+ onSelectSpeaker: (deviceInfo) => __awaiter$q(void 0, void 0, void 0, function* () {
31364
31334
  yield adapter.setSpeaker(deviceInfo);
31365
31335
  }),
31366
31336
  onStartCall: (participants, options) => {
31367
31337
  const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));
31368
31338
  return adapter.startCall(rawIds, options);
31369
31339
  },
31370
- onStartScreenShare: () => __awaiter$p(void 0, void 0, void 0, function* () {
31340
+ onStartScreenShare: () => __awaiter$q(void 0, void 0, void 0, function* () {
31371
31341
  yield adapter.startScreenShare();
31372
31342
  }),
31373
- onStopScreenShare: () => __awaiter$p(void 0, void 0, void 0, function* () {
31343
+ onStopScreenShare: () => __awaiter$q(void 0, void 0, void 0, function* () {
31374
31344
  yield adapter.stopScreenShare();
31375
31345
  }),
31376
- onToggleCamera: (options) => __awaiter$p(void 0, void 0, void 0, function* () {
31346
+ onToggleCamera: (options) => __awaiter$q(void 0, void 0, void 0, function* () {
31377
31347
  isCameraOn(adapter.getState()) ? yield adapter.stopCamera() : yield adapter.startCamera(options);
31378
31348
  }),
31379
- onToggleMicrophone: () => __awaiter$p(void 0, void 0, void 0, function* () {
31349
+ onToggleMicrophone: () => __awaiter$q(void 0, void 0, void 0, function* () {
31380
31350
  var _c;
31381
31351
  return ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.isMuted) ? yield adapter.unmute() : yield adapter.mute();
31382
31352
  }),
31383
- onToggleScreenShare: () => __awaiter$p(void 0, void 0, void 0, function* () {
31353
+ onToggleScreenShare: () => __awaiter$q(void 0, void 0, void 0, function* () {
31384
31354
  var _d;
31385
31355
  return ((_d = adapter.getState().call) === null || _d === void 0 ? void 0 : _d.isScreenSharingOn)
31386
31356
  ? yield adapter.stopScreenShare()
31387
31357
  : yield adapter.startScreenShare();
31388
31358
  }),
31389
- onStartLocalVideo: () => __awaiter$p(void 0, void 0, void 0, function* () {
31359
+ onStartLocalVideo: () => __awaiter$q(void 0, void 0, void 0, function* () {
31390
31360
  if (adapter.getState().call) {
31391
31361
  return adapter.startCamera();
31392
31362
  }
31393
31363
  }),
31394
- onDisposeLocalStreamView: () => __awaiter$p(void 0, void 0, void 0, function* () {
31364
+ onDisposeLocalStreamView: () => __awaiter$q(void 0, void 0, void 0, function* () {
31395
31365
  return adapter.disposeLocalVideoStreamView();
31396
31366
  }),
31397
- onDisposeRemoteStreamView: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31367
+ onDisposeRemoteStreamView: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
31398
31368
  return adapter.disposeStreamView(userId);
31399
31369
  }),
31400
- onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31370
+ onDisposeRemoteScreenShareStreamView: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
31401
31371
  return adapter.disposeScreenShareStreamView(userId);
31402
31372
  }),
31403
- onDisposeLocalScreenShareStreamView: () => __awaiter$p(void 0, void 0, void 0, function* () {
31373
+ onDisposeLocalScreenShareStreamView: () => __awaiter$q(void 0, void 0, void 0, function* () {
31404
31374
  return adapter.disposeScreenShareStreamView('');
31405
31375
  }),
31406
- onDisposeRemoteVideoStreamView: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31376
+ onDisposeRemoteVideoStreamView: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
31407
31377
  return adapter.disposeRemoteVideoStreamView(userId);
31408
31378
  }),
31409
31379
  /* @conditional-compile-remove(call-readiness) */
31410
- askDevicePermission: (constrain) => __awaiter$p(void 0, void 0, void 0, function* () {
31380
+ askDevicePermission: (constrain) => __awaiter$q(void 0, void 0, void 0, function* () {
31411
31381
  return adapter.askDevicePermission(constrain);
31412
31382
  }),
31413
- onRemoveVideoBackgroundEffects: () => __awaiter$p(void 0, void 0, void 0, function* () {
31383
+ onRemoveVideoBackgroundEffects: () => __awaiter$q(void 0, void 0, void 0, function* () {
31414
31384
  return yield adapter.stopVideoBackgroundEffects();
31415
31385
  }),
31416
- onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$p(void 0, void 0, void 0, function* () {
31386
+ onBlurVideoBackground: (backgroundBlurConfig) => __awaiter$q(void 0, void 0, void 0, function* () {
31417
31387
  const blurConfig = Object.assign({ effectName: 'blur' }, backgroundBlurConfig);
31418
31388
  return yield adapter.startVideoBackgroundEffect(blurConfig);
31419
31389
  }),
31420
- onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$p(void 0, void 0, void 0, function* () {
31390
+ onReplaceVideoBackground: (backgroundReplacementConfig) => __awaiter$q(void 0, void 0, void 0, function* () {
31421
31391
  const replacementConfig = Object.assign({ effectName: 'replacement' }, backgroundReplacementConfig);
31422
31392
  return yield adapter.startVideoBackgroundEffect(replacementConfig);
31423
31393
  }),
31424
- onStartCaptions: (options) => __awaiter$p(void 0, void 0, void 0, function* () {
31394
+ onStartCaptions: (options) => __awaiter$q(void 0, void 0, void 0, function* () {
31425
31395
  yield adapter.startCaptions(options);
31426
31396
  }),
31427
- onStopCaptions: () => __awaiter$p(void 0, void 0, void 0, function* () {
31397
+ onStopCaptions: () => __awaiter$q(void 0, void 0, void 0, function* () {
31428
31398
  yield adapter.stopCaptions();
31429
31399
  }),
31430
- onSetSpokenLanguage: (language) => __awaiter$p(void 0, void 0, void 0, function* () {
31400
+ onSetSpokenLanguage: (language) => __awaiter$q(void 0, void 0, void 0, function* () {
31431
31401
  yield adapter.setSpokenLanguage(language);
31432
31402
  }),
31433
- onSetCaptionLanguage: (language) => __awaiter$p(void 0, void 0, void 0, function* () {
31403
+ onSetCaptionLanguage: (language) => __awaiter$q(void 0, void 0, void 0, function* () {
31434
31404
  yield adapter.setCaptionLanguage(language);
31435
31405
  }),
31436
- onSubmitSurvey: (survey) => __awaiter$p(void 0, void 0, void 0, function* () {
31406
+ onSubmitSurvey: (survey) => __awaiter$q(void 0, void 0, void 0, function* () {
31437
31407
  return yield adapter.submitSurvey(survey);
31438
31408
  }),
31439
- onStartSpotlight: (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31409
+ onStartSpotlight: (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
31440
31410
  yield adapter.startSpotlight(userIds);
31441
31411
  }),
31442
- onStopSpotlight: (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31412
+ onStopSpotlight: (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
31443
31413
  yield adapter.stopSpotlight(userIds);
31444
31414
  }),
31445
- onStopAllSpotlight: () => __awaiter$p(void 0, void 0, void 0, function* () {
31415
+ onStopAllSpotlight: () => __awaiter$q(void 0, void 0, void 0, function* () {
31446
31416
  yield adapter.stopAllSpotlight();
31447
31417
  }),
31448
31418
  onStartLocalSpotlight: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.spotlightParticipant.isPresent)
31449
- ? () => __awaiter$p(void 0, void 0, void 0, function* () {
31419
+ ? () => __awaiter$q(void 0, void 0, void 0, function* () {
31450
31420
  yield adapter.startSpotlight();
31451
31421
  })
31452
31422
  : undefined,
31453
- onStopLocalSpotlight: () => __awaiter$p(void 0, void 0, void 0, function* () {
31423
+ onStopLocalSpotlight: () => __awaiter$q(void 0, void 0, void 0, function* () {
31454
31424
  yield adapter.stopSpotlight();
31455
31425
  }),
31456
31426
  onStartRemoteSpotlight: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.spotlightParticipant.isPresent)
31457
- ? (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31427
+ ? (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
31458
31428
  yield adapter.startSpotlight(userIds);
31459
31429
  })
31460
31430
  : undefined,
31461
31431
  onStopRemoteSpotlight: (capabilities === null || capabilities === void 0 ? void 0 : capabilities.removeParticipantsSpotlight.isPresent)
31462
- ? (userIds) => __awaiter$p(void 0, void 0, void 0, function* () {
31432
+ ? (userIds) => __awaiter$q(void 0, void 0, void 0, function* () {
31463
31433
  yield adapter.stopSpotlight(userIds);
31464
31434
  })
31465
31435
  : undefined,
31466
31436
  /* @conditional-compile-remove(soft-mute) */
31467
- onMuteParticipant: (userId) => __awaiter$p(void 0, void 0, void 0, function* () {
31437
+ onMuteParticipant: (userId) => __awaiter$q(void 0, void 0, void 0, function* () {
31468
31438
  yield adapter.muteParticipant(userId);
31469
31439
  }),
31470
31440
  /* @conditional-compile-remove(soft-mute) */
31471
- onMuteAllRemoteParticipants: () => __awaiter$p(void 0, void 0, void 0, function* () {
31441
+ onMuteAllRemoteParticipants: () => __awaiter$q(void 0, void 0, void 0, function* () {
31472
31442
  yield adapter.muteAllRemoteParticipants();
31473
31443
  })
31474
31444
  };
@@ -31606,7 +31576,7 @@ const MoreButton = (props) => {
31606
31576
 
31607
31577
  // Copyright (c) Microsoft Corporation.
31608
31578
  // Licensed under the MIT License.
31609
- var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31579
+ var __awaiter$p = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31610
31580
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31611
31581
  return new (P || (P = Promise))(function (resolve, reject) {
31612
31582
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31628,7 +31598,7 @@ const CaptionsBannerMoreButton = (props) => {
31628
31598
  tooltipOffContent: localeStrings.strings.call.captionsBannerMoreButtonTooltip
31629
31599
  }), [localeStrings]);
31630
31600
  const moreButtonContextualMenuItems = [];
31631
- const startCaptions = React.useCallback(() => __awaiter$o(void 0, void 0, void 0, function* () {
31601
+ const startCaptions = React.useCallback(() => __awaiter$p(void 0, void 0, void 0, function* () {
31632
31602
  yield startCaptionsButtonHandlers.onStartCaptions({
31633
31603
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
31634
31604
  });
@@ -31837,7 +31807,7 @@ const buttonTextStyles = { label: { fontSize: '0.875rem' } };
31837
31807
 
31838
31808
  // Copyright (c) Microsoft Corporation.
31839
31809
  // Licensed under the MIT License.
31840
- var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31810
+ var __awaiter$o = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
31841
31811
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31842
31812
  return new (P || (P = Promise))(function (resolve, reject) {
31843
31813
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -31889,7 +31859,7 @@ const EndCall = (props) => {
31889
31859
  toggleConfirm();
31890
31860
  }, [onHangUp, toggleConfirm]);
31891
31861
  /* @conditional-compile-remove(end-call-options) */
31892
- const hangUpOverride = React.useCallback((forEveryone) => __awaiter$n(void 0, void 0, void 0, function* () {
31862
+ const hangUpOverride = React.useCallback((forEveryone) => __awaiter$o(void 0, void 0, void 0, function* () {
31893
31863
  if (props.mobileView ||
31894
31864
  forEveryone === false /* value being false(not undefined) because it comes from endCall option */) {
31895
31865
  onHangUp();
@@ -32845,7 +32815,7 @@ const showDtmfDialer = (callees, remoteParticipants) => {
32845
32815
 
32846
32816
  // Copyright (c) Microsoft Corporation.
32847
32817
  // Licensed under the MIT License.
32848
- var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
32818
+ var __awaiter$n = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
32849
32819
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
32850
32820
  return new (P || (P = Promise))(function (resolve, reject) {
32851
32821
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -32865,7 +32835,7 @@ const DesktopMoreButton = (props) => {
32865
32835
  const holdButtonProps = usePropsFor$1(HoldButton);
32866
32836
  const startCaptionsButtonProps = useAdaptedSelector(_startCaptionsButtonSelector);
32867
32837
  const startCaptionsButtonHandlers = useHandlers();
32868
- const startCaptions = React.useCallback(() => __awaiter$m(void 0, void 0, void 0, function* () {
32838
+ const startCaptions = React.useCallback(() => __awaiter$n(void 0, void 0, void 0, function* () {
32869
32839
  yield startCaptionsButtonHandlers.onStartCaptions({
32870
32840
  spokenLanguage: startCaptionsButtonProps.currentSpokenLanguage
32871
32841
  });
@@ -33352,6 +33322,15 @@ const modalLayerHostStyle = {
33352
33322
 
33353
33323
  // Copyright (c) Microsoft Corporation.
33354
33324
  // Licensed under the MIT License.
33325
+ var __awaiter$m = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
33326
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
33327
+ return new (P || (P = Promise))(function (resolve, reject) {
33328
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
33329
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33330
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33331
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33332
+ });
33333
+ };
33355
33334
  /**
33356
33335
  * @private
33357
33336
  */
@@ -33384,6 +33363,20 @@ const useMinMaxDragPosition = (modalLayerHostId, rtl) => {
33384
33363
  }, [modalHostWidth, rtl]);
33385
33364
  return { minDragPosition: minDragPosition, maxDragPosition: maxDragPosition };
33386
33365
  };
33366
+ /* @conditional-compile-remove(breakout-rooms) */
33367
+ /**
33368
+ * @private
33369
+ */
33370
+ const busyWait = (checkCondition, retryLimit) => __awaiter$m(void 0, void 0, void 0, function* () {
33371
+ const delayMs = 500;
33372
+ let retryCount = 0;
33373
+ while (!checkCondition()) {
33374
+ yield new Promise((resolve) => setTimeout(resolve, delayMs));
33375
+ if (!retryLimit || (retryLimit && retryCount++ >= retryLimit)) {
33376
+ break;
33377
+ }
33378
+ }
33379
+ });
33387
33380
 
33388
33381
  // Copyright (c) Microsoft Corporation.
33389
33382
  // Licensed under the MIT License.
@@ -33812,11 +33805,6 @@ const showDtmfDialerButton = (options) => {
33812
33805
  }
33813
33806
  };
33814
33807
 
33815
- // Copyright (c) Microsoft Corporation.
33816
- // Licensed under the MIT License.
33817
- Object.assign({}, react.AnimationStyles.fadeIn100);
33818
- Object.assign(Object.assign({}, react.AnimationStyles.fadeOut200), { display: 'none' });
33819
-
33820
33808
  // Copyright (c) Microsoft Corporation.
33821
33809
  // Licensed under the MIT License.
33822
33810
  /**
@@ -36555,24 +36543,19 @@ const CallArrangement = (props) => {
36555
36543
  togglePeoplePane();
36556
36544
  }, [togglePeoplePane]);
36557
36545
  const drawerContainerStylesValue = React.useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
36558
- let filteredLatestErrors = props.errorBarProps !== false ? props.latestErrors : [];
36559
- /* @conditional-compile-remove(notifications) */
36560
36546
  let filteredLatestErrorNotifications = props.showErrorNotifications
36561
36547
  ? props.latestErrors
36562
36548
  : [];
36563
36549
  const isCameraOn = useSelector$1(localVideoSelector).isAvailable;
36564
36550
  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
36565
- if (role === 'Consumer' &&
36566
- (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
36567
- filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
36568
- /* @conditional-compile-remove(notifications) */
36551
+ if (role === 'Consumer' && (props.errorBarProps || props.showErrorNotifications)) {
36552
+ filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
36553
+ }
36554
+ if (props.doNotShowCameraAccessNotifications) {
36569
36555
  filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
36570
36556
  }
36571
36557
  const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);
36572
- if ((isVideoPaneOpen || !isCameraOn) &&
36573
- (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
36574
- filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');
36575
- /* @conditional-compile-remove(notifications) */
36558
+ if ((isVideoPaneOpen || !isCameraOn) && (props.errorBarProps || props.showErrorNotifications)) {
36576
36559
  filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'unableToStartVideoEffect');
36577
36560
  }
36578
36561
  /* @conditional-compile-remove(acs-close-captions) */
@@ -36587,7 +36570,6 @@ const CallArrangement = (props) => {
36587
36570
  const isCaptionsOn = useSelector$1(getCaptionsStatus);
36588
36571
  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
36589
36572
  const pipStyles = React.useMemo(() => getPipStyles(theme), [theme]);
36590
- /* @conditional-compile-remove(notifications) */
36591
36573
  if (isTeamsMeeting) {
36592
36574
  filteredLatestErrorNotifications
36593
36575
  .filter((notification) => notification.type === 'teamsMeetingCallNetworkQualityLow')
@@ -36604,19 +36586,6 @@ const CallArrangement = (props) => {
36604
36586
  : (_f = props.capabilitiesChangedNotificationBarProps) === null || _f === void 0 ? void 0 : _f.capabilitiesChangedNotifications;
36605
36587
  /* @conditional-compile-remove(breakout-rooms) */
36606
36588
  const notificationStackStrings = useCompositeStringsForNotificationStackStrings(locale);
36607
- const errorNotificationTrampoline = () => {
36608
- /* @conditional-compile-remove(notifications) */
36609
- return (React.createElement(React.Fragment, null, props.showErrorNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36610
- React.createElement(NotificationStack, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications })))));
36611
- };
36612
- const mutedNotificationTrampoline = () => {
36613
- /* @conditional-compile-remove(notifications) */
36614
- return React.createElement(React.Fragment, null);
36615
- };
36616
- const complianceBannerTrampoline = () => {
36617
- /* @conditional-compile-remove(notifications) */
36618
- return React.createElement(React.Fragment, null);
36619
- };
36620
36589
  return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
36621
36590
  React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
36622
36591
  React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
@@ -36647,16 +36616,15 @@ const CallArrangement = (props) => {
36647
36616
  React.createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
36648
36617
  React.createElement(react.Stack, { verticalFill: true, styles: mediaGalleryContainerStyles$1 },
36649
36618
  React.createElement(react.Stack.Item, { styles: notificationsContainerStyles },
36650
- complianceBannerTrampoline(),
36651
- errorNotificationTrampoline(),
36652
- /* @conditional-compile-remove(notifications) */ props.latestNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36619
+ props.showErrorNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36620
+ React.createElement(NotificationStack, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications }))),
36621
+ props.latestNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36653
36622
  React.createElement(NotificationStack, { activeNotifications: props.latestNotifications, onDismissNotification: props.onDismissNotification,
36654
36623
  /* @conditional-compile-remove(breakout-rooms) */
36655
36624
  strings: notificationStackStrings }))),
36656
36625
  props.capabilitiesChangedNotificationBarProps &&
36657
36626
  props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
36658
- React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
36659
- mutedNotificationTrampoline()),
36627
+ React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] }))))),
36660
36628
  renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent(),
36661
36629
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && (React.createElement(CaptionsBanner, { isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions }))))),
36662
36630
  React.createElement(SidePane, { mobileView: props.mobileView, maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, minWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)
@@ -37135,12 +37103,8 @@ const DtmfDialpadPage = (props) => {
37135
37103
  * @private
37136
37104
  */
37137
37105
  const CallPage = (props) => {
37138
- var _a, _b;
37139
- const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants = [], setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false,
37140
- /* @conditional-compile-remove(notifications) */
37141
- latestNotifications,
37142
- /* @conditional-compile-remove(notifications) */
37143
- onDismissNotification } = props;
37106
+ var _a, _b, _c, _d;
37107
+ const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants = [], setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false, latestNotifications, onDismissNotification } = props;
37144
37108
  // To use useProps to get these states, we need to create another file wrapping Call,
37145
37109
  // It seems unnecessary in this case, so we get the updated states using this approach.
37146
37110
  const { callStatus } = useSelector$1(callStatusSelector);
@@ -37171,19 +37135,15 @@ const CallPage = (props) => {
37171
37135
  }
37172
37136
  };
37173
37137
  return (React.createElement(React.Fragment, null,
37174
- React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps,
37175
- /* @conditional-compile-remove(notifications) */
37176
- showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
37138
+ React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
37177
37139
  callInvitationURL: callInvitationURL,
37178
37140
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
37179
37141
  options: callControlOptions,
37180
37142
  increaseFlyoutItemSize: mobileView
37181
37143
  }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, {
37182
- /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors,
37183
- /* @conditional-compile-remove(notifications) */
37184
- latestNotifications: latestNotifications, onDismissError: props.onDismissError,
37185
- /* @conditional-compile-remove(notifications) */
37186
- onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants }),
37144
+ /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, latestNotifications: latestNotifications, onDismissError: props.onDismissError, onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants,
37145
+ /* @conditional-compile-remove(call-readiness) */
37146
+ doNotShowCameraAccessNotifications: ((_d = (_c = props.options) === null || _c === void 0 ? void 0 : _c.deviceChecks) === null || _d === void 0 ? void 0 : _d.camera) === 'doNotPrompt' }),
37187
37147
  React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
37188
37148
  };
37189
37149
  /**
@@ -38000,7 +37960,10 @@ const CallReadinessModal = (props) => {
38000
37960
  // On Safari browser with 2 options: don't allow/never for this website again, when don't allow is clicked, permissionAPI returns prompt and PermissionGranted from calling sdk returns false (the right value)
38001
37961
  const videoState = permissionsState.camera;
38002
37962
  const audioState = permissionsState.microphone;
38003
- const showModal = videoState === 'denied' || videoState === 'prompt' || audioState === 'denied' || audioState === 'prompt';
37963
+ const showModal = (!props.doNotPromptCamera && videoState === 'denied') ||
37964
+ (!props.doNotPromptCamera && videoState === 'prompt') ||
37965
+ audioState === 'denied' ||
37966
+ audioState === 'prompt';
38004
37967
  /* @conditional-compile-remove(unsupported-browser) */
38005
37968
  const isSafari = _isSafari(environmentInfo);
38006
37969
  const modal = !showModal
@@ -38391,7 +38354,7 @@ const ConfigurationPage = (props) => {
38391
38354
  // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values
38392
38355
  videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && (React.createElement(CallReadinessModal, { modalLayerHostId: modalLayerHostId, mobileView: mobileView,
38393
38356
  /* @conditional-compile-remove(unsupported-browser) */
38394
- environmentInfo: environmentInfo, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick })),
38357
+ environmentInfo: environmentInfo, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, doNotPromptCamera: (deviceChecks === null || deviceChecks === void 0 ? void 0 : deviceChecks.camera) === 'doNotPrompt' })),
38395
38358
  /* @conditional-compile-remove(call-readiness) */
38396
38359
  // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values
38397
38360
  videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && (React.createElement(CallReadinessModalFallBack
@@ -38577,7 +38540,7 @@ const LobbyTile = (props) => {
38577
38540
  * @private
38578
38541
  */
38579
38542
  const LobbyPage = (props) => {
38580
- var _a, _b, _c, _d, _e, _f;
38543
+ var _a, _b, _c, _d, _e, _f, _g, _h;
38581
38544
  const errorBarProps = usePropsFor$1(ErrorBar);
38582
38545
  const lobbyProps = useSelector$1(lobbySelector);
38583
38546
  const strings = useLocale().strings.call;
@@ -38589,16 +38552,12 @@ const LobbyPage = (props) => {
38589
38552
  ? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls)
38590
38553
  : (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
38591
38554
  callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);
38592
- return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps,
38593
- /* @conditional-compile-remove(notifications) */
38594
- showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
38555
+ return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps, showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
38595
38556
  options: callControlOptions,
38596
38557
  increaseFlyoutItemSize: props.mobileView
38597
- }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
38598
- /* @conditional-compile-remove(notifications) */
38599
- latestNotifications: props.latestNotifications,
38600
- /* @conditional-compile-remove(notifications) */
38601
- onDismissNotification: props.onDismissNotification }));
38558
+ }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, latestNotifications: props.latestNotifications, onDismissNotification: props.onDismissNotification,
38559
+ /* @conditional-compile-remove(call-readiness) */
38560
+ doNotShowCameraAccessNotifications: ((_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.deviceChecks) === null || _h === void 0 ? void 0 : _h.camera) === 'doNotPrompt' }));
38602
38561
  };
38603
38562
  const overlayProps = (strings, inLobby, remoteParticipants) => {
38604
38563
  /**
@@ -38707,7 +38666,7 @@ const statusTextStyles = { textAlign: 'center', fontSize: '1rem' };
38707
38666
  * @private
38708
38667
  */
38709
38668
  const TransferPage = (props) => {
38710
- var _a, _b, _c, _d, _e, _f, _g;
38669
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
38711
38670
  const errorBarProps = usePropsFor$1(ErrorBar);
38712
38671
  const strings = useLocale().strings.call;
38713
38672
  const remoteParticipants = useSelector$1(getRemoteParticipants);
@@ -38741,18 +38700,14 @@ const TransferPage = (props) => {
38741
38700
  React.createElement(Announcer$1, { announcementString: announcerString, ariaLive: "polite" }),
38742
38701
  React.createElement(CallArrangement, { complianceBannerProps: { strings },
38743
38702
  // Ignore errors from before current call. This avoids old errors from showing up when a user re-joins a call.
38744
- errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps,
38745
- /* @conditional-compile-remove(notifications) */
38746
- showErrorNotifications: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.errorBar) !== null && _g !== void 0 ? _g : true, callControlProps: {
38703
+ errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps, showErrorNotifications: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.errorBar) !== null && _g !== void 0 ? _g : true, callControlProps: {
38747
38704
  options: callControlOptions,
38748
38705
  increaseFlyoutItemSize: props.mobileView
38749
38706
  }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(TransferTile, { userId: transferTileParticipant ? toFlatCommunicationIdentifier(transferTileParticipant === null || transferTileParticipant === void 0 ? void 0 : transferTileParticipant.identifier) : undefined, displayName: transferParticipantDisplayName, initialsName: transferParticipantDisplayName, statusText: pageSubject === 'transferTarget'
38750
38707
  ? strings.transferPageTransferTargetText
38751
- : strings.transferPageTransferorText, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), dataUiId: 'transfer-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
38752
- /* @conditional-compile-remove(notifications) */
38753
- onDismissNotification: props.onDismissNotification,
38754
- /* @conditional-compile-remove(notifications) */
38755
- latestNotifications: props.latestNotifications })));
38708
+ : strings.transferPageTransferorText, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), dataUiId: 'transfer-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, onDismissNotification: props.onDismissNotification, latestNotifications: props.latestNotifications,
38709
+ /* @conditional-compile-remove(call-readiness) */
38710
+ doNotShowCameraAccessNotifications: ((_j = (_h = props.options) === null || _h === void 0 ? void 0 : _h.deviceChecks) === null || _j === void 0 ? void 0 : _j.camera) === 'doNotPrompt' })));
38756
38711
  };
38757
38712
  const TransferTile = (props) => {
38758
38713
  const { displayName, initialsName, userId, onFetchAvatarPersonaData, statusText } = props;
@@ -38955,7 +38910,7 @@ const stringsTrampoline = (locale) => {
38955
38910
  * @beta
38956
38911
  */
38957
38912
  const HoldPage = (props) => {
38958
- var _a, _b, _c, _d, _e;
38913
+ var _a, _b, _c, _d, _e, _f, _g;
38959
38914
  const errorBarProps = usePropsFor$1(ErrorBar);
38960
38915
  const strings = useLocale().strings.call;
38961
38916
  let callControlOptions = props.mobileView
@@ -38970,16 +38925,12 @@ const HoldPage = (props) => {
38970
38925
  /* @conditional-compile-remove(one-to-n-calling) */
38971
38926
  'holdButton'
38972
38927
  ]);
38973
- return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps,
38974
- /* @conditional-compile-remove(notifications) */
38975
- showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
38928
+ return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps, showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
38976
38929
  options: callControlOptions,
38977
38930
  increaseFlyoutItemSize: props.mobileView
38978
- }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors,
38979
- /* @conditional-compile-remove(notifications) */
38980
- latestNotifications: props.latestNotifications, onDismissError: props.onDismissError,
38981
- /* @conditional-compile-remove(notifications) */
38982
- onDismissNotification: props.onDismissNotification }));
38931
+ }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, latestNotifications: props.latestNotifications, onDismissError: props.onDismissError, onDismissNotification: props.onDismissNotification,
38932
+ /* @conditional-compile-remove(call-readiness) */
38933
+ doNotShowCameraAccessNotifications: ((_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.deviceChecks) === null || _g === void 0 ? void 0 : _g.camera) === 'doNotPrompt' }));
38983
38934
  };
38984
38935
 
38985
38936
  // Copyright (c) Microsoft Corporation.
@@ -39424,17 +39375,22 @@ const isShowing = (overrideSidePane) => {
39424
39375
  return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
39425
39376
  };
39426
39377
  const MainScreen = (props) => {
39427
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
39378
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
39428
39379
  const adapter = useAdapter();
39429
39380
  const { camerasCount, microphonesCount } = useSelector$1(deviceCountSelector);
39430
39381
  const hasCameras = camerasCount > 0;
39431
39382
  const hasMicrophones = microphonesCount > 0;
39432
39383
  React.useEffect(() => {
39433
39384
  (() => __awaiter$b(void 0, void 0, void 0, function* () {
39434
- var _a;
39385
+ var _a, _b, _c, _d, _e;
39435
39386
  const constrain = getQueryOptions({
39436
39387
  role: (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role
39437
39388
  });
39389
+ /* @conditional-compile-remove(call-readiness) */
39390
+ {
39391
+ constrain.audio = ((_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.deviceChecks) === null || _c === void 0 ? void 0 : _c.microphone) === 'doNotPrompt' ? false : constrain.audio;
39392
+ constrain.video = ((_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks) === null || _e === void 0 ? void 0 : _e.camera) === 'doNotPrompt' ? false : constrain.video;
39393
+ }
39438
39394
  yield adapter.askDevicePermission(constrain);
39439
39395
  adapter.queryCameras();
39440
39396
  adapter.queryMicrophones();
@@ -39442,6 +39398,8 @@ const MainScreen = (props) => {
39442
39398
  }))();
39443
39399
  }, [
39444
39400
  adapter,
39401
+ /* @conditional-compile-remove(call-readiness) */
39402
+ (_a = props.options) === null || _a === void 0 ? void 0 : _a.deviceChecks,
39445
39403
  // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call
39446
39404
  // as we cannot request permissions when there are no devices.
39447
39405
  hasCameras,
@@ -39452,7 +39410,7 @@ const MainScreen = (props) => {
39452
39410
  const endedCall = useSelector$1(getEndedCall);
39453
39411
  const [sidePaneRenderer, setSidePaneRenderer] = React.useState();
39454
39412
  const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState();
39455
- const [userSetGalleryLayout, setUserSetGalleryLayout] = React.useState((_c = (_b = (_a = props.options) === null || _a === void 0 ? void 0 : _a.galleryOptions) === null || _b === void 0 ? void 0 : _b.layout) !== null && _c !== void 0 ? _c : 'floatingLocalVideo');
39413
+ const [userSetGalleryLayout, setUserSetGalleryLayout] = React.useState((_d = (_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.galleryOptions) === null || _c === void 0 ? void 0 : _c.layout) !== null && _d !== void 0 ? _d : 'floatingLocalVideo');
39456
39414
  const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = React.useState('Responsive');
39457
39415
  const overridePropsRef = React.useRef(props.overrideSidePane);
39458
39416
  React.useEffect(() => {
@@ -39485,13 +39443,9 @@ const MainScreen = (props) => {
39485
39443
  // This works by tracking the most recent timestamp of any active error type.
39486
39444
  // And then tracking when that error type was last dismissed.
39487
39445
  const activeErrors = usePropsFor$1(ErrorBar).activeErrorMessages;
39488
- /* @conditional-compile-remove(notifications) */
39489
39446
  const activeInCallErrors = usePropsFor$1(NotificationStack).activeErrorMessages;
39490
- /* @conditional-compile-remove(notifications) */
39491
39447
  const activeNotifications = usePropsFor$1(NotificationStack).activeNotifications;
39492
- /* @conditional-compile-remove(notifications) */
39493
39448
  const complianceProps = useSelector$1(complianceBannerSelector);
39494
- /* @conditional-compile-remove(notifications) */
39495
39449
  const cachedProps = React.useRef({
39496
39450
  latestBooleanState: {
39497
39451
  callTranscribeState: false,
@@ -39503,11 +39457,9 @@ const MainScreen = (props) => {
39503
39457
  },
39504
39458
  lastUpdated: Date.now()
39505
39459
  });
39506
- /* @conditional-compile-remove(notifications) */
39507
39460
  const complianceNotification = React.useMemo(() => {
39508
39461
  return computeComplianceNotification(complianceProps, cachedProps);
39509
39462
  }, [complianceProps, cachedProps]);
39510
- /* @conditional-compile-remove(notifications) */
39511
39463
  React.useEffect(() => {
39512
39464
  if (complianceNotification) {
39513
39465
  activeNotifications.forEach((notification, index) => {
@@ -39529,28 +39481,21 @@ const MainScreen = (props) => {
39529
39481
  setTrackedNotifications((prev) => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));
39530
39482
  }, [complianceNotification, activeNotifications]);
39531
39483
  const [trackedErrors, setTrackedErrors] = React.useState({});
39532
- /* @conditional-compile-remove(notifications) */
39533
39484
  const [trackedInCallErrors, setTrackedInCallErrors] = React.useState({});
39534
- /* @conditional-compile-remove(notifications) */
39535
39485
  const [trackedNotifications, setTrackedNotifications] = React.useState({});
39536
39486
  React.useEffect(() => {
39537
39487
  setTrackedErrors((prev) => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));
39538
- /* @conditional-compile-remove(notifications) */
39539
39488
  setTrackedInCallErrors((prev) => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));
39540
- }, [activeErrors, /* @conditional-compile-remove(notifications) */ activeInCallErrors]);
39489
+ }, [activeErrors, activeInCallErrors]);
39541
39490
  const onDismissError = React.useCallback((error) => {
39542
39491
  setTrackedErrors((prev) => trackNotificationAsDismissed(error.type, prev));
39543
- /* @conditional-compile-remove(notifications) */
39544
39492
  setTrackedInCallErrors((prev) => trackNotificationAsDismissed(error.type, prev));
39545
39493
  }, []);
39546
- /* @conditional-compile-remove(notifications) */
39547
39494
  const onDismissNotification = React.useCallback((notification) => {
39548
39495
  setTrackedNotifications((prev) => trackNotificationAsDismissed(notification.type, prev));
39549
39496
  }, []);
39550
39497
  const latestErrors = React.useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);
39551
- /* @conditional-compile-remove(notifications) */
39552
39498
  const latestInCallErrors = React.useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]);
39553
- /* @conditional-compile-remove(notifications) */
39554
39499
  const latestNotifications = React.useMemo(() => {
39555
39500
  const result = filterLatestNotifications(activeNotifications, trackedNotifications);
39556
39501
  // sort notifications by timestamp from earliest to latest
@@ -39565,10 +39510,6 @@ const MainScreen = (props) => {
39565
39510
  const leavePageStyle = React.useMemo(() => leavingPageStyle(palette), [palette]);
39566
39511
  let pageElement;
39567
39512
  const [pinnedParticipants, setPinnedParticipants] = React.useState([]);
39568
- const getLatestErrorsTrampoline = () => {
39569
- /* @conditional-compile-remove(notifications) */
39570
- return latestInCallErrors;
39571
- };
39572
39513
  switch (page) {
39573
39514
  case 'configuration':
39574
39515
  pageElement = (React.createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
@@ -39586,11 +39527,11 @@ const MainScreen = (props) => {
39586
39527
  }
39587
39528
  }, updateSidePaneRenderer: setSidePaneRenderer, latestErrors: latestErrors, onDismissError: onDismissError, modalLayerHostId: props.modalLayerHostId,
39588
39529
  /* @conditional-compile-remove(call-readiness) */
39589
- deviceChecks: (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks,
39530
+ deviceChecks: (_e = props.options) === null || _e === void 0 ? void 0 : _e.deviceChecks,
39590
39531
  /* @conditional-compile-remove(call-readiness) */
39591
- onPermissionsTroubleshootingClick: (_e = props.options) === null || _e === void 0 ? void 0 : _e.onPermissionsTroubleshootingClick,
39532
+ onPermissionsTroubleshootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onPermissionsTroubleshootingClick,
39592
39533
  /* @conditional-compile-remove(call-readiness) */
39593
- onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.branding) === null || _h === void 0 ? void 0 : _h.logo, backgroundImage: (_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.branding) === null || _k === void 0 ? void 0 : _k.backgroundImage }));
39534
+ onNetworkingTroubleShootingClick: (_g = props.options) === null || _g === void 0 ? void 0 : _g.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_j = (_h = props.options) === null || _h === void 0 ? void 0 : _h.branding) === null || _j === void 0 ? void 0 : _j.logo, backgroundImage: (_l = (_k = props.options) === null || _k === void 0 ? void 0 : _k.branding) === null || _l === void 0 ? void 0 : _l.backgroundImage }));
39594
39535
  break;
39595
39536
  case 'accessDeniedTeamsMeeting':
39596
39537
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' }));
@@ -39602,7 +39543,7 @@ const MainScreen = (props) => {
39602
39543
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page' }));
39603
39544
  break;
39604
39545
  case 'leaving':
39605
- pageElement = (React.createElement(NoticePage, { title: (_l = locale.strings.call.leavingCallTitle) !== null && _l !== void 0 ? _l : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
39546
+ pageElement = (React.createElement(NoticePage, { title: (_m = locale.strings.call.leavingCallTitle) !== null && _m !== void 0 ? _m : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
39606
39547
  break;
39607
39548
  case 'badRequest': {
39608
39549
  const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
@@ -39611,41 +39552,25 @@ const MainScreen = (props) => {
39611
39552
  }
39612
39553
  case 'leftCall': {
39613
39554
  const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
39614
- if (!((_o = (_m = props.options) === null || _m === void 0 ? void 0 : _m.surveyOptions) === null || _o === void 0 ? void 0 : _o.disableSurvey)) {
39615
- pageElement = (React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_p = props.options) === null || _p === void 0 ? void 0 : _p.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView }));
39555
+ if (!((_p = (_o = props.options) === null || _o === void 0 ? void 0 : _o.surveyOptions) === null || _p === void 0 ? void 0 : _p.disableSurvey)) {
39556
+ pageElement = (React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_q = props.options) === null || _q === void 0 ? void 0 : _q.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView }));
39616
39557
  break;
39617
39558
  }
39618
39559
  pageElement = (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: callees ? '' : moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton }));
39619
39560
  break;
39620
39561
  }
39621
39562
  case 'lobby':
39622
- pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(),
39623
- /* @conditional-compile-remove(notifications) */
39624
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39625
- /* @conditional-compile-remove(notifications) */
39626
- onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39563
+ pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39627
39564
  break;
39628
39565
  case 'transferring':
39629
- pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: getLatestErrorsTrampoline(),
39630
- /* @conditional-compile-remove(notifications) */
39631
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39632
- /* @conditional-compile-remove(notifications) */
39633
- onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39566
+ pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39634
39567
  break;
39635
39568
  case 'call':
39636
- pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: getLatestErrorsTrampoline(),
39637
- /* @conditional-compile-remove(notifications) */
39638
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39639
- /* @conditional-compile-remove(notifications) */
39640
- onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_q = props.options) === null || _q === void 0 ? void 0 : _q.disableAutoShowDtmfDialer }));
39569
+ pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_r = props.options) === null || _r === void 0 ? void 0 : _r.disableAutoShowDtmfDialer }));
39641
39570
  break;
39642
39571
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
39643
39572
  case 'hold':
39644
- pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(),
39645
- /* @conditional-compile-remove(notifications) */
39646
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39647
- /* @conditional-compile-remove(notifications) */
39648
- onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
39573
+ pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
39649
39574
  break;
39650
39575
  }
39651
39576
  useEndedCallConsoleErrors(endedCall);
@@ -39654,7 +39579,7 @@ const MainScreen = (props) => {
39654
39579
  case 'unsupportedEnvironment':
39655
39580
  pageElement = (React.createElement(React.Fragment, null,
39656
39581
  /* @conditional-compile-remove(unsupported-browser) */
39657
- React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_r = props.options) === null || _r === void 0 ? void 0 : _r.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
39582
+ React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_s = props.options) === null || _s === void 0 ? void 0 : _s.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
39658
39583
  break;
39659
39584
  }
39660
39585
  if (!pageElement) {
@@ -40789,27 +40714,29 @@ class AzureCommunicationCallAdapter {
40789
40714
  /* @conditional-compile-remove(breakout-rooms) */
40790
40715
  returnFromBreakoutRoom() {
40791
40716
  return __awaiter$9(this, void 0, void 0, function* () {
40792
- var _a;
40717
+ var _a, _b, _c, _d;
40793
40718
  if (this.call === undefined) {
40794
40719
  return;
40795
40720
  }
40796
- // Find call state of current call from stateful layer
40797
- const callState = this.call
40798
- ? Object.values(this.callClient.getState().calls).find((call) => { var _a; return call.id === ((_a = this.call) === null || _a === void 0 ? void 0 : _a.id); })
40721
+ // Find call state of current call from stateful layer. The current call state of breakout room may not be present in calls array
40722
+ // if the breakout room call is ended. So search the callsEnded array as well.
40723
+ const callState = this.callClient.getState().calls[(_a = this.call) === null || _a === void 0 ? void 0 : _a.id]
40724
+ ? this.callClient.getState().callsEnded[(_b = this.call) === null || _b === void 0 ? void 0 : _b.id]
40799
40725
  : undefined;
40800
- // Find main meeting call from call agent from the this call state
40801
- const mainMeetingCall = (_a = this.callAgent) === null || _a === void 0 ? void 0 : _a.calls.find((callAgentCall) => {
40802
- var _a;
40803
- return callAgentCall.id === ((_a = callState === null || callState === void 0 ? void 0 : callState.breakoutRooms) === null || _a === void 0 ? void 0 : _a.breakoutRoomOriginCallId);
40726
+ // Find origin call id from breakout room call state
40727
+ const originCallId = (_c = callState === null || callState === void 0 ? void 0 : callState.breakoutRooms) === null || _c === void 0 ? void 0 : _c.breakoutRoomOriginCallId;
40728
+ // Find origin call from call agent
40729
+ const originCall = (_d = this.callAgent) === null || _d === void 0 ? void 0 : _d.calls.find((callAgentCall) => {
40730
+ return callAgentCall.id === originCallId;
40804
40731
  });
40805
- // If a main meeting call exists then process that call and resume
40806
- if (mainMeetingCall) {
40807
- const breakoutRoomCall = this.call;
40808
- this.processNewCall(mainMeetingCall);
40809
- yield this.resumeCall();
40810
- if ((breakoutRoomCall === null || breakoutRoomCall === void 0 ? void 0 : breakoutRoomCall.state) === 'Connected') {
40811
- breakoutRoomCall.hangUp();
40812
- }
40732
+ if (!originCall) {
40733
+ throw new Error('Could not return from breakout room because the origin call could not be retrieved.');
40734
+ }
40735
+ const breakoutRoomCall = this.call;
40736
+ this.processNewCall(originCall);
40737
+ yield this.resumeCall();
40738
+ if ((breakoutRoomCall === null || breakoutRoomCall === void 0 ? void 0 : breakoutRoomCall.state) === 'Connected') {
40739
+ breakoutRoomCall.hangUp();
40813
40740
  }
40814
40741
  });
40815
40742
  }
@@ -40828,57 +40755,54 @@ class AzureCommunicationCallAdapter {
40828
40755
  }
40829
40756
  subscribeToCaptionEvents() {
40830
40757
  var _a;
40831
- if (this.call && this.call.state === 'Connected') {
40832
- const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions);
40833
- if (captionsFeature.captions.kind === 'TeamsCaptions' &&
40834
- (this.context.getState().isTeamsCall || this.context.getState().isTeamsMeeting)) {
40835
- const teamsCaptionsFeature = captionsFeature.captions;
40836
- teamsCaptionsFeature.on('CaptionsReceived', this.teamsCaptionsReceived.bind(this));
40837
- teamsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40838
- teamsCaptionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));
40839
- teamsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40840
- }
40841
- else {
40842
- /* @conditional-compile-remove(acs-close-captions) */
40843
- const acsCaptionsFeature = captionsFeature.captions;
40844
- /* @conditional-compile-remove(acs-close-captions) */
40845
- acsCaptionsFeature.on('CaptionsReceived', this.captionsReceived.bind(this));
40846
- /* @conditional-compile-remove(acs-close-captions) */
40847
- acsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40848
- /* @conditional-compile-remove(acs-close-captions) */
40849
- acsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40850
- /* @conditional-compile-remove(acs-close-captions) */
40851
- captionsFeature.on('CaptionsKindChanged', this.captionsKindChanged.bind(this));
40852
- }
40758
+ const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions);
40759
+ if ((captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.captions.kind) === 'TeamsCaptions' &&
40760
+ (this.context.getState().isTeamsCall || this.context.getState().isTeamsMeeting)) {
40761
+ const teamsCaptionsFeature = captionsFeature.captions;
40762
+ teamsCaptionsFeature.on('CaptionsReceived', this.teamsCaptionsReceived.bind(this));
40763
+ teamsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40764
+ teamsCaptionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));
40765
+ teamsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40766
+ }
40767
+ else {
40768
+ /* @conditional-compile-remove(acs-close-captions) */
40769
+ const acsCaptionsFeature = captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.captions;
40770
+ /* @conditional-compile-remove(acs-close-captions) */
40771
+ acsCaptionsFeature.on('CaptionsReceived', this.captionsReceived.bind(this));
40772
+ /* @conditional-compile-remove(acs-close-captions) */
40773
+ acsCaptionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40774
+ /* @conditional-compile-remove(acs-close-captions) */
40775
+ acsCaptionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40776
+ /* @conditional-compile-remove(acs-close-captions) */
40777
+ captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.on('CaptionsKindChanged', this.captionsKindChanged.bind(this));
40853
40778
  }
40854
40779
  }
40855
40780
  unsubscribeFromCaptionEvents() {
40856
- var _a, _b;
40857
- if (this.call && this.call.state === 'Connected') {
40858
- const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions);
40859
- if (captionsFeature.captions.kind === 'TeamsCaptions' &&
40860
- (this.context.getState().isTeamsCall || this.context.getState().isTeamsMeeting)) {
40861
- const teamsCaptionsFeature = captionsFeature.captions;
40862
- teamsCaptionsFeature.off('CaptionsReceived', this.teamsCaptionsReceived.bind(this));
40863
- teamsCaptionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40864
- teamsCaptionsFeature.off('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));
40865
- teamsCaptionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40866
- }
40867
- else {
40868
- /* @conditional-compile-remove(acs-close-captions) */
40869
- const acsCaptionsFeature = captionsFeature.captions;
40870
- /* @conditional-compile-remove(acs-close-captions) */
40871
- acsCaptionsFeature.off('CaptionsReceived', this.captionsReceived.bind(this));
40872
- /* @conditional-compile-remove(acs-close-captions) */
40873
- acsCaptionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40874
- /* @conditional-compile-remove(acs-close-captions) */
40875
- acsCaptionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40876
- }
40877
- (_b = this.call) === null || _b === void 0 ? void 0 : _b.off('stateChanged', this.subscribeToCaptionEvents.bind(this));
40781
+ var _a;
40782
+ const captionsFeature = (_a = this.call) === null || _a === void 0 ? void 0 : _a.feature(communicationCalling.Features.Captions);
40783
+ if ((captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.captions.kind) === 'TeamsCaptions' &&
40784
+ (this.context.getState().isTeamsCall || this.context.getState().isTeamsMeeting)) {
40785
+ const teamsCaptionsFeature = captionsFeature.captions;
40786
+ teamsCaptionsFeature.off('CaptionsReceived', this.teamsCaptionsReceived.bind(this));
40787
+ teamsCaptionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40788
+ teamsCaptionsFeature.off('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));
40789
+ teamsCaptionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40790
+ }
40791
+ else {
40792
+ /* @conditional-compile-remove(acs-close-captions) */
40793
+ const acsCaptionsFeature = captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.captions;
40794
+ /* @conditional-compile-remove(acs-close-captions) */
40795
+ acsCaptionsFeature.off('CaptionsReceived', this.captionsReceived.bind(this));
40796
+ /* @conditional-compile-remove(acs-close-captions) */
40797
+ acsCaptionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));
40798
+ /* @conditional-compile-remove(acs-close-captions) */
40799
+ acsCaptionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));
40800
+ /* @conditional-compile-remove(acs-close-captions) */
40801
+ captionsFeature === null || captionsFeature === void 0 ? void 0 : captionsFeature.off('CaptionsKindChanged', this.captionsKindChanged.bind(this));
40878
40802
  }
40879
40803
  }
40880
40804
  subscribeCallEvents() {
40881
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
40805
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
40882
40806
  if (this.call) {
40883
40807
  this.callingSoundSubscriber = new CallingSoundSubscriber(this.call, this.getState().targetCallees, this.getState().sounds);
40884
40808
  }
@@ -40886,20 +40810,20 @@ class AzureCommunicationCallAdapter {
40886
40810
  (_b = this.call) === null || _b === void 0 ? void 0 : _b.on('isMutedChanged', this.isMyMutedChanged.bind(this));
40887
40811
  (_c = this.call) === null || _c === void 0 ? void 0 : _c.on('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));
40888
40812
  (_d = this.call) === null || _d === void 0 ? void 0 : _d.on('idChanged', this.callIdChanged.bind(this));
40889
- (_e = this.call) === null || _e === void 0 ? void 0 : _e.on('stateChanged', this.subscribeToCaptionEvents.bind(this));
40890
- (_f = this.call) === null || _f === void 0 ? void 0 : _f.on('roleChanged', this.roleChanged.bind(this));
40891
- (_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));
40892
- (_h = this.call) === null || _h === void 0 ? void 0 : _h.feature(communicationCalling.Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));
40893
- (_j = this.call) === null || _j === void 0 ? void 0 : _j.feature(communicationCalling.Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));
40813
+ (_e = this.call) === null || _e === void 0 ? void 0 : _e.on('roleChanged', this.roleChanged.bind(this));
40814
+ this.subscribeToCaptionEvents();
40815
+ (_f = this.call) === null || _f === void 0 ? void 0 : _f.feature(communicationCalling.Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));
40816
+ (_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));
40817
+ (_h = this.call) === null || _h === void 0 ? void 0 : _h.feature(communicationCalling.Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));
40894
40818
  /* @conditional-compile-remove(breakout-rooms) */
40895
- const breakoutRoomsFeature = (_k = this.call) === null || _k === void 0 ? void 0 : _k.feature(communicationCalling.Features.BreakoutRooms);
40819
+ const breakoutRoomsFeature = (_j = this.call) === null || _j === void 0 ? void 0 : _j.feature(communicationCalling.Features.BreakoutRooms);
40896
40820
  /* @conditional-compile-remove(breakout-rooms) */
40897
40821
  if (breakoutRoomsFeature) {
40898
40822
  breakoutRoomsFeature.on('breakoutRoomsUpdated', this.breakoutRoomsUpdated.bind(this));
40899
40823
  }
40900
40824
  }
40901
40825
  unsubscribeCallEvents() {
40902
- var _a, _b, _c, _d, _e, _f, _g;
40826
+ var _a, _b, _c, _d, _e;
40903
40827
  for (const subscriber of this.participantSubscribers.values()) {
40904
40828
  subscriber.unsubscribeAll();
40905
40829
  }
@@ -40909,10 +40833,6 @@ class AzureCommunicationCallAdapter {
40909
40833
  (_c = this.call) === null || _c === void 0 ? void 0 : _c.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));
40910
40834
  (_d = this.call) === null || _d === void 0 ? void 0 : _d.off('idChanged', this.callIdChanged.bind(this));
40911
40835
  (_e = this.call) === null || _e === void 0 ? void 0 : _e.off('roleChanged', this.roleChanged.bind(this));
40912
- /* @conditional-compile-remove(acs-close-captions) */
40913
- if (((_f = this.call) === null || _f === void 0 ? void 0 : _f.feature(communicationCalling.Features.Captions).captions.kind) === 'Captions') {
40914
- (_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Captions).off('CaptionsKindChanged', this.unsubscribeFromCaptionEvents.bind(this));
40915
- }
40916
40836
  this.unsubscribeFromCaptionEvents();
40917
40837
  if (this.callingSoundSubscriber) {
40918
40838
  this.callingSoundSubscriber.unsubscribeAll();
@@ -41027,7 +40947,31 @@ class AzureCommunicationCallAdapter {
41027
40947
  }
41028
40948
  /* @conditional-compile-remove(breakout-rooms) */
41029
40949
  breakoutRoomJoined(call) {
41030
- this.processNewCall(call);
40950
+ var _a;
40951
+ if (((_a = this.call) === null || _a === void 0 ? void 0 : _a.id) !== call.id) {
40952
+ this.processNewCall(call);
40953
+ }
40954
+ // Hang up other breakout room calls in case we are joining a new breakout room while already in one
40955
+ this.hangupOtherBreakoutRoomCalls(call.id);
40956
+ }
40957
+ /* @conditional-compile-remove(breakout-rooms) */
40958
+ hangupOtherBreakoutRoomCalls(currentBreakoutRoomCallId) {
40959
+ var _a;
40960
+ // Get origin call id of breakout room call
40961
+ const breakoutRoomCallState = this.callClient.getState().calls[currentBreakoutRoomCallId];
40962
+ const originCallId = (_a = breakoutRoomCallState.breakoutRooms) === null || _a === void 0 ? void 0 : _a.breakoutRoomOriginCallId;
40963
+ // Get other breakout room calls with the same origin call
40964
+ const otherBreakoutRoomCallStates = Object.values(this.callClient.getState().calls).filter((callState) => {
40965
+ var _a;
40966
+ return (((_a = callState.breakoutRooms) === null || _a === void 0 ? void 0 : _a.breakoutRoomOriginCallId) === originCallId && callState.id !== currentBreakoutRoomCallId);
40967
+ });
40968
+ // Hang up other breakout room calls
40969
+ for (const breakoutRoom of otherBreakoutRoomCallStates) {
40970
+ const breakoutRoomCall = this.callAgent.calls.find((callAgentCall) => {
40971
+ return callAgentCall.id === breakoutRoom.id;
40972
+ });
40973
+ breakoutRoomCall === null || breakoutRoomCall === void 0 ? void 0 : breakoutRoomCall.hangUp();
40974
+ }
41031
40975
  }
41032
40976
  callIdChanged() {
41033
40977
  var _a;
@@ -41442,6 +41386,20 @@ const callCompositeContainerStyles = (isMobile) => ({
41442
41386
  minWidth: isMobile ? 'unset' : `${compositeMinWidthRem}rem`
41443
41387
  }
41444
41388
  });
41389
+ /* @conditional-compile-remove(breakout-rooms) */
41390
+ /**
41391
+ * Style for stack containing the chat spinner used to delay showing chat composite until it is ready.
41392
+ * @private
41393
+ */
41394
+ const chatSpinnerContainerStyles = {
41395
+ root: {
41396
+ width: '100%',
41397
+ height: '100%',
41398
+ display: 'flex',
41399
+ justifyContent: 'center',
41400
+ alignItems: 'center'
41401
+ }
41402
+ };
41445
41403
 
41446
41404
  // Copyright (c) Microsoft Corporation.
41447
41405
  // Licensed under the MIT License.
@@ -41985,6 +41943,7 @@ const validNewChatMessage = (message) => !!message.senderDisplayName && (message
41985
41943
  // Copyright (c) Microsoft Corporation.
41986
41944
  // Licensed under the MIT License.
41987
41945
  const CallWithChatScreen = (props) => {
41946
+ var _a, _b;
41988
41947
  const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;
41989
41948
  const { surveyOptions } = props;
41990
41949
  const mobileView = formFactor === 'mobile';
@@ -42142,11 +42101,32 @@ const CallWithChatScreen = (props) => {
42142
42101
  /* @conditional-compile-remove(rich-text-editor-composite-support) */
42143
42102
  props.richTextEditor
42144
42103
  ]);
42145
- const onRenderChatContent = React.useCallback(() => (React.createElement(ChatComposite, { adapter: chatAdapter, fluentTheme: theme, options: chatCompositeOptions, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [chatAdapter, props.onFetchAvatarPersonaData, chatCompositeOptions, theme]);
42104
+ /* @conditional-compile-remove(breakout-rooms) */
42105
+ const chatSpinnerLabel = useLocale().strings.callWithChat.chatContentSpinnerLabel;
42106
+ const onRenderChatContent = React.useCallback(() => {
42107
+ /* @conditional-compile-remove(breakout-rooms) */
42108
+ if (!isChatInitialized) {
42109
+ return (React.createElement(react.Stack, { styles: chatSpinnerContainerStyles },
42110
+ React.createElement(react.Spinner, { label: chatSpinnerLabel, size: react.SpinnerSize.large })));
42111
+ }
42112
+ return (React.createElement(ChatComposite, { adapter: chatAdapter, fluentTheme: theme, options: chatCompositeOptions, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData }));
42113
+ }, [
42114
+ chatAdapter,
42115
+ props.onFetchAvatarPersonaData,
42116
+ chatCompositeOptions,
42117
+ theme,
42118
+ /* @conditional-compile-remove(breakout-rooms) */ isChatInitialized,
42119
+ /* @conditional-compile-remove(breakout-rooms) */ chatSpinnerLabel
42120
+ ]);
42121
+ let chatPaneTitle = callWithChatStrings.chatPaneTitle;
42122
+ /* @conditional-compile-remove(breakout-rooms) */
42123
+ if ((_b = (_a = callAdapter.getState().call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.breakoutRoomOriginCallId) {
42124
+ chatPaneTitle = callWithChatStrings.breakoutRoomChatPaneTitle;
42125
+ }
42146
42126
  const sidePaneHeaderRenderer = React.useCallback(() => {
42147
42127
  var _a;
42148
- return (React.createElement(SidePaneHeader, { headingText: callWithChatStrings.chatPaneTitle, onClose: closeChat, dismissSidePaneButtonAriaLabel: (_a = callWithChatStrings.dismissSidePaneButtonLabel) !== null && _a !== void 0 ? _a : '', mobileView: mobileView }));
42149
- }, [callWithChatStrings.chatPaneTitle, callWithChatStrings.dismissSidePaneButtonLabel, closeChat, mobileView]);
42128
+ return (React.createElement(SidePaneHeader, { headingText: chatPaneTitle, onClose: closeChat, dismissSidePaneButtonAriaLabel: (_a = callWithChatStrings.dismissSidePaneButtonLabel) !== null && _a !== void 0 ? _a : '', mobileView: mobileView }));
42129
+ }, [chatPaneTitle, callWithChatStrings.dismissSidePaneButtonLabel, closeChat, mobileView]);
42150
42130
  const sidePaneContentRenderer = React.useMemo(() => (hasJoinedCall ? onRenderChatContent : undefined), [hasJoinedCall, onRenderChatContent]);
42151
42131
  const sidePaneRenderer = React.useMemo(() => ({
42152
42132
  contentRenderer: sidePaneContentRenderer,
@@ -42303,6 +42283,10 @@ class CallWithChatContext {
42303
42283
  updateClientStateWithChatState(chatAdapterState) {
42304
42284
  this.updateClientState(mergeChatAdapterStateIntoCallWithChatAdapterState(this.state, chatAdapterState));
42305
42285
  }
42286
+ /* @conditional-compile-remove(breakout-rooms) */
42287
+ unsetChatState() {
42288
+ this.updateClientState(Object.assign(Object.assign({}, this.state), { chat: undefined }));
42289
+ }
42306
42290
  updateClientStateWithCallState(callAdapterState) {
42307
42291
  this.updateClientState(mergeCallAdapterStateIntoCallWithChatAdapterState(this.state, callAdapterState));
42308
42292
  }
@@ -42324,21 +42308,117 @@ class AzureCommunicationCallWithChatAdapter {
42324
42308
  this.onChatStateChange = onChatStateChange;
42325
42309
  if (chatAdapter) {
42326
42310
  this.updateChatAdapter(chatAdapter);
42311
+ /* @conditional-compile-remove(breakout-rooms) */
42312
+ this.originCallChatAdapter = chatAdapter;
42327
42313
  }
42328
42314
  const onCallStateChange = (newCallAdapterState) => {
42329
42315
  this.context.updateClientStateWithCallState(newCallAdapterState);
42330
42316
  };
42331
42317
  this.callAdapter.onStateChange(onCallStateChange);
42318
+ /* @conditional-compile-remove(breakout-rooms) */
42319
+ this.callAdapter.on('breakoutRoomsUpdated', (eventData) => __awaiter$6(this, void 0, void 0, function* () {
42320
+ if (eventData.type === 'join') {
42321
+ yield this.breakoutRoomJoined(eventData.data);
42322
+ }
42323
+ else if (eventData.type === 'assignedBreakoutRooms') {
42324
+ if (!eventData.data || eventData.data.state === 'closed') {
42325
+ yield this.returnFromBreakoutRoom();
42326
+ }
42327
+ }
42328
+ }));
42329
+ /* @conditional-compile-remove(breakout-rooms) */
42330
+ this.callAdapter.on('callEnded', () => {
42331
+ var _a, _b, _c;
42332
+ const originCallId = (_b = (_a = this.context.getState().call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.breakoutRoomOriginCallId;
42333
+ // If the call ended is a breakout room call, return to the origin call chat adapter
42334
+ if (originCallId && this.originCallChatAdapter) {
42335
+ (_c = this.breakoutRoomChatAdapter) === null || _c === void 0 ? void 0 : _c.dispose();
42336
+ this.updateChatAdapter(this.originCallChatAdapter);
42337
+ }
42338
+ });
42332
42339
  this.onCallStateChange = onCallStateChange;
42333
42340
  }
42341
+ /* @conditional-compile-remove(breakout-rooms) */
42342
+ breakoutRoomJoined(call) {
42343
+ return __awaiter$6(this, void 0, void 0, function* () {
42344
+ var _a;
42345
+ const targetThreadId = call.info.threadId;
42346
+ // If the chat adapter is not on the target thread then we need to switch to the breakout room chat adapter
42347
+ if (targetThreadId && this.chatAdapter && this.chatAdapter.getState().thread.threadId !== targetThreadId) {
42348
+ // Unsubscribe from chat adapter state changes
42349
+ this.chatAdapter.offStateChange(this.onChatStateChange);
42350
+ // Set chat state to undefined to prevent showing chat thread of origin call
42351
+ this.context.unsetChatState();
42352
+ // Check if the breakout room chat adapter has been initialized
42353
+ this.breakoutRoomChatAdapter = yield this.setBreakoutRoomChatAdapterToThread(targetThreadId);
42354
+ // Wait for the user to be added to the thread of chat adapter before updating the current chat adapter
42355
+ // to avoid chat errors of not having access to the chat thread. This delayed access to the chat thread
42356
+ // is also seen in Teams
42357
+ // Check up to 20 times every 500ms and then continue.
42358
+ yield busyWait(() => {
42359
+ var _a, _b;
42360
+ // If the call adapter's call id has been changed, then stop waiting and don't update the chat adapter
42361
+ if (((_a = this.context.getState().call) === null || _a === void 0 ? void 0 : _a.id) !== call.id) {
42362
+ return true;
42363
+ }
42364
+ const userAddedToThread = !!((_b = this.breakoutRoomChatAdapter) === null || _b === void 0 ? void 0 : _b.getState().thread.participants[toFlatCommunicationIdentifier(this.context.getState().userId)]);
42365
+ return userAddedToThread;
42366
+ }, 20);
42367
+ // If the call adapter's call has been changed while for waiting for breakout room chat adapter to be ready
42368
+ // then don't update the chat adapter
42369
+ if (((_a = this.context.getState().call) === null || _a === void 0 ? void 0 : _a.id) !== call.id) {
42370
+ return;
42371
+ }
42372
+ this.updateChatAdapter(this.breakoutRoomChatAdapter);
42373
+ }
42374
+ });
42375
+ }
42376
+ /* @conditional-compile-remove(breakout-rooms) */
42377
+ setBreakoutRoomChatAdapterToThread(targetThreadId) {
42378
+ return __awaiter$6(this, void 0, void 0, function* () {
42379
+ if (this.breakoutRoomChatAdapter) {
42380
+ // If the breakout room chat adapter is not set on the target thread then unsubscribe, dispose, and
42381
+ // reinitialize the chat adapter for the target thread
42382
+ if (this.breakoutRoomChatAdapter.getState().thread.threadId !== targetThreadId) {
42383
+ this.breakoutRoomChatAdapter.offStateChange(this.onChatStateChange);
42384
+ this.breakoutRoomChatAdapter.dispose();
42385
+ const newBreakoutRoomChatAdapter = yield this.createNewChatAdapterForThread(targetThreadId);
42386
+ return newBreakoutRoomChatAdapter;
42387
+ }
42388
+ else {
42389
+ return this.breakoutRoomChatAdapter;
42390
+ }
42391
+ }
42392
+ else {
42393
+ // Initiliaze the breakout room chat adapter for the target thread
42394
+ const newBreakoutRoomChatAdapter = yield this.createNewChatAdapterForThread(targetThreadId);
42395
+ return newBreakoutRoomChatAdapter;
42396
+ }
42397
+ });
42398
+ }
42334
42399
  setChatAdapterPromise(chatAdapter) {
42335
42400
  chatAdapter.then((adapter) => {
42336
42401
  if (!this.isAdapterDisposed) {
42337
42402
  this.updateChatAdapter(adapter);
42403
+ /* @conditional-compile-remove(breakout-rooms) */
42404
+ this.originCallChatAdapter = adapter;
42338
42405
  }
42339
42406
  });
42340
42407
  }
42408
+ /* @conditional-compile-remove(breakout-rooms) */
42409
+ setCreateChatAdapterCallback(chatThreadCallBack) {
42410
+ this.createChatAdapterCallback = chatThreadCallBack;
42411
+ }
42412
+ /* @conditional-compile-remove(breakout-rooms) */
42413
+ createNewChatAdapterForThread(threadId) {
42414
+ if (this.createChatAdapterCallback) {
42415
+ return this.createChatAdapterCallback(threadId);
42416
+ }
42417
+ throw new Error('Unable to create chat adapter for thread because createChatAdapterCallback is not set');
42418
+ }
42341
42419
  updateChatAdapter(chatAdapter) {
42420
+ var _a;
42421
+ (_a = this.chatAdapter) === null || _a === void 0 ? void 0 : _a.offStateChange(this.onChatStateChange);
42342
42422
  this.chatAdapter = chatAdapter;
42343
42423
  this.chatAdapter.onStateChange(this.onChatStateChange);
42344
42424
  this.context.updateClientStateWithChatState(chatAdapter.getState());
@@ -42784,7 +42864,12 @@ class AzureCommunicationCallWithChatAdapter {
42784
42864
  /* @conditional-compile-remove(breakout-rooms) */
42785
42865
  returnFromBreakoutRoom() {
42786
42866
  return __awaiter$6(this, void 0, void 0, function* () {
42787
- return this.callAdapter.returnFromBreakoutRoom();
42867
+ var _a;
42868
+ if (this.originCallChatAdapter) {
42869
+ (_a = this.breakoutRoomChatAdapter) === null || _a === void 0 ? void 0 : _a.dispose();
42870
+ this.updateChatAdapter(this.originCallChatAdapter);
42871
+ }
42872
+ yield this.callAdapter.returnFromBreakoutRoom();
42788
42873
  });
42789
42874
  }
42790
42875
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -43117,11 +43202,16 @@ const createAzureCommunicationCallWithChatAdapter = (_a) => __awaiter$6(void 0,
43117
43202
  const callWithChatAdapter = new AzureCommunicationCallWithChatAdapter(yield callAdapter);
43118
43203
  const chatAdapterPromise = _createLazyAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, chatThreadAdapter.getChatThreadPromise(), 'CallWithChat');
43119
43204
  callWithChatAdapter.setChatAdapterPromise(chatAdapterPromise);
43205
+ /* @conditional-compile-remove(breakout-rooms) */
43206
+ callWithChatAdapter.setCreateChatAdapterCallback((threadId) => _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, threadId, 'CallWithChat'));
43120
43207
  return callWithChatAdapter;
43121
43208
  }
43122
43209
  else {
43123
43210
  const chatAdapter = _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, chatThreadAdapter.getChatThread(), 'CallWithChat');
43124
- return new AzureCommunicationCallWithChatAdapter(yield callAdapter, yield chatAdapter);
43211
+ const callWithChatAdapter = new AzureCommunicationCallWithChatAdapter(yield callAdapter, yield chatAdapter);
43212
+ /* @conditional-compile-remove(breakout-rooms) */
43213
+ callWithChatAdapter.setCreateChatAdapterCallback((threadId) => _createAzureCommunicationChatAdapterInner(endpoint, userId, displayName, credential, threadId, 'CallWithChat'));
43214
+ return callWithChatAdapter;
43125
43215
  }
43126
43216
  });
43127
43217
  /**
@@ -44010,4 +44100,4 @@ exports.useTeamsCall = useTeamsCall;
44010
44100
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
44011
44101
  exports.useTeamsCallAgent = useTeamsCallAgent;
44012
44102
  exports.useTheme = useTheme;
44013
- //# sourceMappingURL=index-DpiiYxjR.js.map
44103
+ //# sourceMappingURL=index-Ddmt8bbA.js.map