@azure/communication-react 1.12.1-alpha-202402010012 → 1.13.0-alpha-202402030013

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 (83) hide show
  1. package/dist/communication-react.d.ts +8 -0
  2. package/dist/dist-cjs/communication-react/index.js +140 -188
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +0 -2
  7. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  8. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  9. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +0 -1
  10. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  11. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -1
  12. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -3
  14. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  15. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +13 -11
  16. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  17. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +2 -2
  18. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  19. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +3 -2
  20. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  21. package/dist/dist-esm/communication-react/src/index.d.ts +1 -2
  22. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  23. package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.d.ts +4 -1
  24. package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.js +2 -2
  25. package/dist/dist-esm/react-components/src/components/RTE/RTEInputBoxComponent.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.d.ts +5 -1
  27. package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.js +85 -24
  28. package/dist/dist-esm/react-components/src/components/RTE/RTESendBox.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/RTE/RTESendBoxErrors.d.ts +2 -1
  30. package/dist/dist-esm/react-components/src/components/RTE/RTESendBoxErrors.js +52 -8
  31. package/dist/dist-esm/react-components/src/components/RTE/RTESendBoxErrors.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.d.ts +10 -2
  33. package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.js +12 -3
  34. package/dist/dist-esm/react-components/src/components/RTE/RichTextEditor.js.map +1 -1
  35. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +6 -28
  36. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  37. package/dist/dist-esm/react-components/src/components/SendBox.js +4 -21
  38. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -1
  40. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +1 -1
  42. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  43. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +1 -1
  44. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  45. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +1 -1
  46. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -1
  47. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +0 -1
  48. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  49. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +1 -1
  50. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  51. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +1 -6
  52. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +0 -3
  54. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  55. package/dist/dist-esm/react-components/src/components/VideoGallery.js +13 -57
  56. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  57. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +1 -2
  58. package/dist/dist-esm/react-components/src/components/VideoTile.js +4 -35
  59. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  60. package/dist/dist-esm/react-components/src/components/index.d.ts +1 -2
  61. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  62. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +12 -0
  63. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +22 -0
  64. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  65. package/dist/dist-esm/react-components/src/theming/icons.js +1 -9
  66. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  67. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  68. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +8 -0
  70. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +1 -5
  72. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -2
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -6
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +4 -0
  78. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +16 -3
  79. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  80. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +1 -5
  81. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  82. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
  83. package/package.json +1 -1
@@ -14,9 +14,9 @@ var textareaCaretTs = require('textarea-caret-ts');
14
14
  var reactComponents = require('@fluentui/react-components');
15
15
  var useDebounce = require('use-debounce');
16
16
  var reactFileTypeIcons = require('@fluentui/react-file-type-icons');
17
- require('roosterjs-editor-plugins');
18
- require('roosterjs-editor-core');
19
- require('roosterjs-react');
17
+ var roosterjsEditorPlugins = require('roosterjs-editor-plugins');
18
+ var roosterjsEditorCore = require('roosterjs-editor-core');
19
+ var roosterjsReact = require('roosterjs-react');
20
20
  var uuid = require('uuid');
21
21
  var reactChat = require('@fluentui-contrib/react-chat');
22
22
  var react$1 = require('@griffel/react');
@@ -173,7 +173,7 @@ function getDefaultExportFromCjs (x) {
173
173
  // Copyright (c) Microsoft Corporation.
174
174
  // Licensed under the MIT License.
175
175
  // GENERATED FILE. DO NOT EDIT MANUALLY.
176
- var telemetryVersion = '1.12.1-alpha-202402010012';
176
+ var telemetryVersion = '1.13.0-alpha-202402030013';
177
177
 
178
178
 
179
179
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -1719,7 +1719,6 @@ function convertSdkRemoteStreamToDeclarativeRemoteStream(stream) {
1719
1719
  /* @conditional-compile-remove(video-stream-is-receiving-flag) */
1720
1720
  isReceiving: stream.isReceiving,
1721
1721
  view: undefined,
1722
- /* @conditional-compile-remove(pinned-participants) */
1723
1722
  streamSize: stream.size
1724
1723
  };
1725
1724
  }
@@ -2382,7 +2381,6 @@ let CallContext$2 = class CallContext {
2382
2381
  }
2383
2382
  });
2384
2383
  }
2385
- /* @conditional-compile-remove(pinned-participants) */
2386
2384
  setRemoteVideoStreamSize(callId, participantKey, streamId, size) {
2387
2385
  this.modifyState((draft) => {
2388
2386
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -2852,7 +2850,6 @@ class RemoteVideoStreamSubscriber {
2852
2850
  this._remoteVideoStream.on('isAvailableChanged', this.isAvailableChanged);
2853
2851
  /* @conditional-compile-remove(video-stream-is-receiving-flag) */
2854
2852
  this._remoteVideoStream.on('isReceivingChanged', this.isReceivingChanged);
2855
- /* @conditional-compile-remove(pinned-participants) */
2856
2853
  this._remoteVideoStream.on('sizeChanged', this.isSizeChanged);
2857
2854
  this.checkAndUpdateScreenShareState();
2858
2855
  };
@@ -2860,7 +2857,6 @@ class RemoteVideoStreamSubscriber {
2860
2857
  this._remoteVideoStream.off('isAvailableChanged', this.isAvailableChanged);
2861
2858
  /* @conditional-compile-remove(video-stream-is-receiving-flag) */
2862
2859
  this._remoteVideoStream.off('isReceivingChanged', this.isReceivingChanged);
2863
- /* @conditional-compile-remove(pinned-participants) */
2864
2860
  this._remoteVideoStream.off('sizeChanged', this.isSizeChanged);
2865
2861
  };
2866
2862
  this.includesActiveScreenShareStream = (streams) => {
@@ -2914,7 +2910,6 @@ class RemoteVideoStreamSubscriber {
2914
2910
  this.isReceivingChanged = () => {
2915
2911
  this._context.setRemoteVideoStreamIsReceiving(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isReceiving);
2916
2912
  };
2917
- /* @conditional-compile-remove(pinned-participants) */
2918
2913
  this.isSizeChanged = () => {
2919
2914
  var _a, _b, _c, _d, _e, _f, _g;
2920
2915
  if (((_a = this._remoteVideoStream) === null || _a === void 0 ? void 0 : _a.size.width) === 0 && ((_b = this._remoteVideoStream) === null || _b === void 0 ? void 0 : _b.size.height) === 0) {
@@ -6444,17 +6439,11 @@ const DEFAULT_COMPONENT_ICONS = {
6444
6439
  UnsupportedEnvironmentWarning: React.createElement(UnsupportedEnvironmentWarning, null),
6445
6440
  /* @conditional-compile-remove(call-readiness) */
6446
6441
  BrowserPermissionDeniedError: React.createElement(BrowserPermissionDenied20Filled, null),
6447
- /* @conditional-compile-remove(pinned-participants) */
6448
6442
  VideoTilePinned: React.createElement(reactIcons.Pin16Filled, null),
6449
- /* @conditional-compile-remove(pinned-participants) */
6450
6443
  VideoTileMoreOptions: React.createElement(reactIcons.MoreHorizontal20Filled, null),
6451
- /* @conditional-compile-remove(pinned-participants) */
6452
6444
  VideoTileScaleFit: React.createElement(reactIcons.ScaleFit20Regular, null),
6453
- /* @conditional-compile-remove(pinned-participants) */
6454
6445
  VideoTileScaleFill: React.createElement(reactIcons.ScaleFill20Regular, null),
6455
- /* @conditional-compile-remove(pinned-participants) */
6456
6446
  PinParticipant: React.createElement(reactIcons.Pin16Regular, null),
6457
- /* @conditional-compile-remove(pinned-participants) */
6458
6447
  UnpinParticipant: React.createElement(reactIcons.PinOff16Regular, null),
6459
6448
  SplitButtonPrimaryActionCameraOn: React.createElement(reactIcons.Video20Filled, null),
6460
6449
  SplitButtonPrimaryActionCameraOff: React.createElement(reactIcons.VideoOff20Filled, null),
@@ -8389,7 +8378,7 @@ const SendBoxErrorBar = (props) => {
8389
8378
  if (errorMessage) {
8390
8379
  return (React.createElement(React.Fragment, null,
8391
8380
  React.createElement(Announcer$1, { announcementString: errorMessage, ariaLive: 'polite' }),
8392
- React.createElement(react.MessageBar, { messageBarType: react.MessageBarType.warning, styles: {
8381
+ React.createElement(react.MessageBar, { "data-test-id": 'send-box-message-bar', messageBarType: react.MessageBarType.warning, styles: {
8393
8382
  iconContainer: {
8394
8383
  display: 'none'
8395
8384
  }
@@ -8587,6 +8576,11 @@ const _FileUploadCards = (props) => {
8587
8576
 
8588
8577
  // Copyright (c) Microsoft Corporation.
8589
8578
  // Licensed under the MIT License.
8579
+ /**
8580
+ * @private
8581
+ */
8582
+ const MAXIMUM_LENGTH_OF_MESSAGE$1 = 8000;
8583
+ const EMPTY_MESSAGE_REGEX = /^\s*$/;
8590
8584
  /* @conditional-compile-remove(file-sharing) */
8591
8585
  /**
8592
8586
  * @private
@@ -8602,11 +8596,26 @@ const hasIncompleteFileUploads = (activeFileUploads) => {
8602
8596
  const hasCompletedFileUploads = (activeFileUploads) => {
8603
8597
  return !!(activeFileUploads === null || activeFileUploads === void 0 ? void 0 : activeFileUploads.find((file) => !file.error));
8604
8598
  };
8599
+ /**
8600
+ * @private
8601
+ */
8602
+ const exceedsMaxAllowedLength = (valueLength) => {
8603
+ return valueLength > MAXIMUM_LENGTH_OF_MESSAGE$1;
8604
+ };
8605
+ /**
8606
+ * @private
8607
+ */
8608
+ const sanitizeText = (message) => {
8609
+ if (EMPTY_MESSAGE_REGEX.test(message)) {
8610
+ return '';
8611
+ }
8612
+ else {
8613
+ return message;
8614
+ }
8615
+ };
8605
8616
 
8606
8617
  // Copyright (c) Microsoft Corporation.
8607
8618
  // Licensed under the MIT License.
8608
- const MAXIMUM_LENGTH_OF_MESSAGE$1 = 8000;
8609
- const EMPTY_MESSAGE_REGEX = /^\s*$/;
8610
8619
  /**
8611
8620
  * Component for typing and sending messages.
8612
8621
  *
@@ -8647,9 +8656,9 @@ const SendBox = (props) => {
8647
8656
  const message = textValue;
8648
8657
  // we don't want to send empty messages including spaces, newlines, tabs
8649
8658
  // Message can be empty if there is a valid file upload
8650
- if (!EMPTY_MESSAGE_REGEX.test(message) ||
8659
+ if (sanitizeText(message).length > 0 ||
8651
8660
  /* @conditional-compile-remove(file-sharing) */ hasCompletedFileUploads(activeFileUploads)) {
8652
- onSendMessage && onSendMessage(sanitizeText(message));
8661
+ onSendMessage && onSendMessage(message);
8653
8662
  setTextValue('');
8654
8663
  }
8655
8664
  (_a = sendTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
@@ -8658,12 +8667,7 @@ const SendBox = (props) => {
8658
8667
  if (newValue === undefined) {
8659
8668
  return;
8660
8669
  }
8661
- if (newValue.length > MAXIMUM_LENGTH_OF_MESSAGE$1) {
8662
- setTextValueOverflow(true);
8663
- }
8664
- else {
8665
- setTextValueOverflow(false);
8666
- }
8670
+ setTextValueOverflow(exceedsMaxAllowedLength(newValue.length));
8667
8671
  setTextValue(newValue);
8668
8672
  };
8669
8673
  const textTooLongMessage = textValueOverflow ? strings.textTooLong : undefined;
@@ -8739,17 +8743,6 @@ const SendBox = (props) => {
8739
8743
  /* @conditional-compile-remove(file-sharing) */
8740
8744
  onRenderFileUploads())));
8741
8745
  };
8742
- /**
8743
- * @private
8744
- */
8745
- const sanitizeText = (message) => {
8746
- if (EMPTY_MESSAGE_REGEX.test(message)) {
8747
- return '';
8748
- }
8749
- else {
8750
- return message;
8751
- }
8752
- };
8753
8746
 
8754
8747
  // Copyright (c) Microsoft Corporation.
8755
8748
  // Licensed under the MIT License.
@@ -9002,7 +8995,7 @@ const ImageGallery = (props) => {
9002
8995
  /**
9003
8996
  * @private
9004
8997
  */
9005
- react.mergeStyles({
8998
+ const richTextEditorStyle = react.mergeStyles({
9006
8999
  border: 'none',
9007
9000
  overflow: 'auto',
9008
9001
  padding: '10px',
@@ -9012,6 +9005,50 @@ react.mergeStyles({
9012
9005
  maxHeight: '8.25rem'
9013
9006
  });
9014
9007
 
9008
+ // Copyright (c) Microsoft Corporation.
9009
+ // Licensed under the MIT License.
9010
+ /**
9011
+ * A component to wrap RoosterJS Rich Text Editor.
9012
+ *
9013
+ * @beta
9014
+ */
9015
+ React.forwardRef((props, ref) => {
9016
+ const { content, onChange, placeholderText } = props;
9017
+ const editor = React.useRef(null);
9018
+ React.useImperativeHandle(ref, () => {
9019
+ return {
9020
+ focus() {
9021
+ if (editor.current) {
9022
+ editor.current.focus();
9023
+ }
9024
+ }
9025
+ };
9026
+ }, []);
9027
+ React.useEffect(() => {
9028
+ var _a, _b;
9029
+ if (content !== ((_a = editor.current) === null || _a === void 0 ? void 0 : _a.getContent())) {
9030
+ (_b = editor.current) === null || _b === void 0 ? void 0 : _b.setContent(content || '');
9031
+ }
9032
+ }, [content]);
9033
+ const editorCreator = React.useMemo(() => {
9034
+ return (div) => {
9035
+ const contentEdit = new roosterjsEditorPlugins.ContentEdit();
9036
+ const placeholderPlugin = new roosterjsEditorPlugins.Watermark(placeholderText || '');
9037
+ const updateContentPlugin = roosterjsReact.createUpdateContentPlugin(roosterjsReact.UpdateMode.OnContentChangedEvent | roosterjsReact.UpdateMode.OnUserInput, (content) => {
9038
+ onChange && onChange(content);
9039
+ });
9040
+ const options = {
9041
+ plugins: [placeholderPlugin, contentEdit, updateContentPlugin],
9042
+ imageSelectionBorderColor: 'blue'
9043
+ };
9044
+ editor.current = new roosterjsEditorCore.Editor(div, options);
9045
+ return editor.current;
9046
+ };
9047
+ }, [onChange, placeholderText]);
9048
+ return (React.createElement("div", null,
9049
+ React.createElement(roosterjsReact.Rooster, { className: richTextEditorStyle, editorCreator: editorCreator })));
9050
+ });
9051
+
9015
9052
  // Copyright (c) Microsoft Corporation.
9016
9053
  // Licensed under the MIT License.
9017
9054
  /** @private */
@@ -12777,12 +12814,8 @@ const useVideoTileContextualMenuProps = (props) => {
12777
12814
  /* @conditional-compile-remove(spotlight) */ onStopSpotlight } = props;
12778
12815
  const scalingMode = React.useMemo(() => {
12779
12816
  var _a;
12780
- /* @conditional-compile-remove(pinned-participants) */
12781
12817
  return (_a = props.remoteParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode;
12782
- }, [
12783
- /* @conditional-compile-remove(pinned-participants) */
12784
- (_a = props.remoteParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode
12785
- ]);
12818
+ }, [(_a = props.remoteParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.scalingMode]);
12786
12819
  const contextualMenuProps = React.useMemo(() => {
12787
12820
  const items = [];
12788
12821
  if (isPinned !== undefined) {
@@ -13379,7 +13412,6 @@ const _useOrganizedParticipants = (props) => {
13379
13412
  const overflowGalleryParticipants = getOverflowGalleryRemoteParticipants();
13380
13413
  return { gridParticipants, overflowGalleryParticipants: overflowGalleryParticipants };
13381
13414
  };
13382
- /* @conditional-compile-remove(pinned-participants) */
13383
13415
  const _useOrganizedParticipantsWithFocusedParticipants = (props) => {
13384
13416
  var _a, _b;
13385
13417
  // map remote participants by userId
@@ -13438,7 +13470,6 @@ const putVideoParticipantsFirst = (remoteParticipants) => {
13438
13470
  * @private
13439
13471
  */
13440
13472
  const useOrganizedParticipants = (args) => {
13441
- /* @conditional-compile-remove(pinned-participants) */
13442
13473
  return _useOrganizedParticipantsWithFocusedParticipants(args);
13443
13474
  };
13444
13475
  /* @conditional-compile-remove(reaction) */
@@ -13474,15 +13505,12 @@ const DefaultPlaceholder = (props) => {
13474
13505
  React.createElement(react.Stack, { styles: defaultPersonaStyles$1 }, coinSize && (React.createElement(react.Persona, { coinSize: coinSize, hidePersonaDetails: hidePersonaDetails, text: text !== null && text !== void 0 ? text : '', initialsTextColor: "white", "aria-label": noVideoAvailableAriaLabel !== null && noVideoAvailableAriaLabel !== void 0 ? noVideoAvailableAriaLabel : '', showOverflowTooltip: false })))));
13475
13506
  };
13476
13507
  const defaultPersonaStyles$1 = { root: { margin: 'auto', maxHeight: '100%' } };
13477
- /* @conditional-compile-remove(pinned-participants) */
13478
13508
  const videoTileMoreMenuIconProps = { iconName: undefined, style: { display: 'none' } };
13479
- /* @conditional-compile-remove(pinned-participants) */
13480
13509
  const videoTileMoreMenuProps = {
13481
13510
  directionalHint: react.DirectionalHint.topLeftEdge,
13482
13511
  isBeakVisible: false,
13483
13512
  styles: { container: { maxWidth: '8rem' } }
13484
13513
  };
13485
- /* @conditional-compile-remove(pinned-participants) */
13486
13514
  const VideoTileMoreOptionsButton = (props) => {
13487
13515
  const { contextualMenu, canShowContextMenuButton } = props;
13488
13516
  if (!contextualMenu) {
@@ -13501,20 +13529,14 @@ const VideoTileMoreOptionsButton = (props) => {
13501
13529
  const VideoTile = (props) => {
13502
13530
  const { children, displayName, initialsName, isMirrored, isMuted,
13503
13531
  /* @conditional-compile-remove(spotlight) */
13504
- isSpotlighted,
13505
- /* @conditional-compile-remove(pinned-participants) */
13506
- isPinned, onRenderPlaceholder, renderElement, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking,
13532
+ isSpotlighted, isPinned, onRenderPlaceholder, renderElement, showLabel = true, showMuteIndicator = true, styles, userId, noVideoAvailableAriaLabel, isSpeaking,
13507
13533
  /* @conditional-compile-remove(raise-hand) */
13508
13534
  raisedHand,
13509
13535
  /* @conditional-compile-remove(reaction) */
13510
- reaction, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX,
13511
- /* @conditional-compile-remove(pinned-participants) */
13512
- contextualMenu,
13536
+ reaction, personaMinSize = DEFAULT_PERSONA_MIN_SIZE_PX, personaMaxSize = DEFAULT_PERSONA_MAX_SIZE_PX, contextualMenu,
13513
13537
  /* @conditional-compile-remove(reaction) */
13514
13538
  reactionResources } = props;
13515
- /* @conditional-compile-remove(pinned-participants) */
13516
13539
  const [isHovered, setIsHovered] = React.useState(false);
13517
- /* @conditional-compile-remove(pinned-participants) */
13518
13540
  const [isFocused, setIsFocused] = React.useState(false);
13519
13541
  // need to set a default otherwise the resizeObserver will get stuck in an infinite loop.
13520
13542
  const [personaSize, setPersonaSize] = React.useState(1);
@@ -13539,7 +13561,6 @@ const VideoTile = (props) => {
13539
13561
  const currentObserver = observer.current;
13540
13562
  return () => currentObserver.disconnect();
13541
13563
  }, [videoTileRef]);
13542
- /* @conditional-compile-remove(pinned-participants) */
13543
13564
  const useLongPressProps = React.useMemo(() => {
13544
13565
  return {
13545
13566
  onLongPress: () => {
@@ -13550,17 +13571,8 @@ const VideoTile = (props) => {
13550
13571
  };
13551
13572
  // eslint-disable-next-line react-hooks/exhaustive-deps
13552
13573
  }, [props.onLongTouch]);
13553
- /* @conditional-compile-remove(pinned-participants) */
13554
13574
  const longPressHandlers = useLongPress(useLongPressProps);
13555
- const longPressHandlersTrampoline = React.useMemo(() => {
13556
- /* @conditional-compile-remove(pinned-participants) */
13557
- return longPressHandlers;
13558
- }, [
13559
- /* @conditional-compile-remove(pinned-participants) */
13560
- longPressHandlers
13561
- ]);
13562
13575
  const hoverHandlers = React.useMemo(() => {
13563
- /* @conditional-compile-remove(pinned-participants) */
13564
13576
  return {
13565
13577
  onMouseEnter: () => setIsHovered(true),
13566
13578
  onMouseLeave: () => setIsHovered(false),
@@ -13581,7 +13593,6 @@ const VideoTile = (props) => {
13581
13593
  const ids = useIdentifiers();
13582
13594
  const canShowLabel = showLabel && (displayName || (showMuteIndicator && isMuted));
13583
13595
  const participantStateString = participantStateStringTrampoline(props, locale);
13584
- /* @conditional-compile-remove(pinned-participants) */
13585
13596
  const canShowContextMenuButton = isHovered || isFocused;
13586
13597
  let raisedHandBackgroundColor = '';
13587
13598
  /* @conditional-compile-remove(raise-hand) */
@@ -13631,7 +13642,7 @@ const VideoTile = (props) => {
13631
13642
  height: '100%',
13632
13643
  pointerEvents: 'none'
13633
13644
  }
13634
- }, styles === null || styles === void 0 ? void 0 : styles.root) }, longPressHandlersTrampoline),
13645
+ }, styles === null || styles === void 0 ? void 0 : styles.root) }, longPressHandlers),
13635
13646
  React.createElement("div", Object.assign({ ref: videoTileRef, style: { width: '100%', height: '100%' } }, hoverHandlers, { "data-is-focusable": true }),
13636
13647
  isVideoRendered ? (React.createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles, isMirrored && { transform: 'scaleX(-1)' }, styles === null || styles === void 0 ? void 0 : styles.videoContainer) }, renderElement)) : (React.createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles, {
13637
13648
  opacity: participantStateString ||
@@ -13658,10 +13669,8 @@ const VideoTile = (props) => {
13658
13669
  /* @conditional-compile-remove(spotlight) */
13659
13670
  isSpotlighted && (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
13660
13671
  React.createElement(react.Icon, { iconName: "VideoSpotlighted" }))),
13661
- /* @conditional-compile-remove(pinned-participants) */
13662
13672
  isPinned && (React.createElement(react.Stack, { className: react.mergeStyles(iconContainerStyle) },
13663
13673
  React.createElement(react.Icon, { iconName: "VideoTilePinned", className: react.mergeStyles(pinIconStyle) }))),
13664
- /* @conditional-compile-remove(pinned-participants) */
13665
13674
  React.createElement(VideoTileMoreOptionsButton, { contextualMenu: contextualMenu, canShowContextMenuButton: canShowContextMenuButton })))),
13666
13675
  children && (React.createElement(react.Stack, { className: react.mergeStyles(overlayContainerStyles, styles === null || styles === void 0 ? void 0 : styles.overlayContainer) }, children)),
13667
13676
  /* @conditional-compile-remove(raise-hand) */ raisedHand && (React.createElement(react.Stack, { horizontal: true, tokens: { childrenGap: '0.2rem' }, className: raiseHandContainerStyles(theme, !canShowLabel) },
@@ -13735,7 +13744,6 @@ const _RemoteVideoTile = React.memo((props) => {
13735
13744
  const contextualMenuProps = useVideoTileContextualMenuProps({
13736
13745
  remoteParticipant,
13737
13746
  view: createVideoStreamResult === null || createVideoStreamResult === void 0 ? void 0 : createVideoStreamResult.view,
13738
- /* @conditional-compile-remove(pinned-participants) */
13739
13747
  strings: Object.assign({}, props.strings),
13740
13748
  isPinned,
13741
13749
  onPinParticipant,
@@ -13749,10 +13757,12 @@ const _RemoteVideoTile = React.memo((props) => {
13749
13757
  /* @conditional-compile-remove(spotlight) */ onStopSpotlight
13750
13758
  });
13751
13759
  const videoTileContextualMenuProps = React.useMemo(() => {
13752
- if (menuKind !== 'contextual') {
13760
+ if (menuKind !== 'contextual' || !contextualMenuProps) {
13753
13761
  return {};
13754
13762
  }
13755
- return videoTileContextualMenuPropsTrampoline(contextualMenuProps);
13763
+ return {
13764
+ contextualMenu: contextualMenuProps
13765
+ };
13756
13766
  }, [contextualMenuProps, menuKind]);
13757
13767
  const showLoadingIndicator = isAvailable && isReceiving === false && participantState !== 'Disconnected';
13758
13768
  const [drawerMenuItemProps, setDrawerMenuItemProps] = React.useState([]);
@@ -13765,7 +13775,6 @@ const _RemoteVideoTile = React.memo((props) => {
13765
13775
  }
13766
13776
  return (React.createElement(StreamMedia, { videoStreamElement: renderElement, loadingState: showLoadingIndicator ? 'loading' : 'none' }));
13767
13777
  }, [renderElement, showLoadingIndicator]);
13768
- /* @conditional-compile-remove(pinned-participants) */
13769
13778
  const onKeyDown = React.useCallback((e) => {
13770
13779
  if (e.key === 'Enter') {
13771
13780
  setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([])));
@@ -13783,13 +13792,7 @@ const _RemoteVideoTile = React.memo((props) => {
13783
13792
  };
13784
13793
  /* @conditional-compile-remove(hide-attendee-name) */
13785
13794
  displayName = formatDisplayName();
13786
- return (React.createElement(react.Stack
13787
- /* @conditional-compile-remove(pinned-participants) */
13788
- , {
13789
- /* @conditional-compile-remove(pinned-participants) */
13790
- tabIndex: menuKind === 'drawer' ? 0 : undefined,
13791
- /* @conditional-compile-remove(pinned-participants) */
13792
- onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined, style: remoteVideoTileWrapperStyle },
13795
+ return (React.createElement(react.Stack, { tabIndex: menuKind === 'drawer' ? 0 : undefined, onKeyDown: menuKind === 'drawer' ? onKeyDown : undefined, style: remoteVideoTileWrapperStyle },
13793
13796
  React.createElement(VideoTile, Object.assign({ key: userId, userId: userId, initialsName: (_a = remoteParticipant.displayName) !== null && _a !== void 0 ? _a : '', renderElement: renderVideoStreamElement, displayName: displayName, onRenderPlaceholder: onRenderAvatar, isMuted: remoteParticipant.isMuted,
13794
13797
  /* @conditional-compile-remove(raise-hand) */
13795
13798
  raisedHand: remoteParticipant.raisedHand,
@@ -13797,11 +13800,7 @@ const _RemoteVideoTile = React.memo((props) => {
13797
13800
  reaction: remoteParticipant.reaction, isSpeaking: remoteParticipant.isSpeaking, showMuteIndicator: showMuteIndicator, personaMinSize: props.personaMinSize, showLabel: props.showLabel,
13798
13801
  /* @conditional-compile-remove(one-to-n-calling) */
13799
13802
  /* @conditional-compile-remove(PSTN-calls) */
13800
- participantState: participantState }, videoTileContextualMenuProps, {
13801
- /* @conditional-compile-remove(pinned-participants) */
13802
- isPinned: props.isPinned,
13803
- /* @conditional-compile-remove(pinned-participants) */
13804
- onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([]))),
13803
+ participantState: participantState }, videoTileContextualMenuProps, { isPinned: props.isPinned, onLongTouch: () => setDrawerMenuItemProps(convertContextualMenuItemsToDrawerMenuItemProps(contextualMenuProps, () => setDrawerMenuItemProps([]))),
13805
13804
  /* @conditional-compile-remove(spotlight) */
13806
13805
  isSpotlighted: isSpotlighted,
13807
13806
  /* @conditional-compile-remove(reaction) */
@@ -13810,16 +13809,6 @@ const _RemoteVideoTile = React.memo((props) => {
13810
13809
  React.createElement(react.Stack, { styles: drawerMenuWrapperStyles },
13811
13810
  React.createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItemProps([]), items: drawerMenuItemProps, heading: remoteParticipant.displayName }))))));
13812
13811
  });
13813
- const videoTileContextualMenuPropsTrampoline = (contextualMenuProps) => {
13814
- if (!contextualMenuProps) {
13815
- return {};
13816
- }
13817
- /* @conditional-compile-remove(pinned-participants) */
13818
- return {
13819
- contextualMenu: contextualMenuProps
13820
- };
13821
- };
13822
- /* @conditional-compile-remove(pinned-participants) */
13823
13812
  const convertContextualMenuItemsToDrawerMenuItemProps = (contextualMenuProps, onLightDismiss) => {
13824
13813
  if (!contextualMenuProps) {
13825
13814
  return [];
@@ -14929,7 +14918,6 @@ const OverflowGallery = (props) => {
14929
14918
  if (overflowGalleryPosition === 'verticalRight') {
14930
14919
  return (React.createElement(ResponsiveVerticalGallery, { key: "responsive-vertical-gallery", containerStyles: containerStyles, verticalGalleryStyles: galleryStyles, controlBarHeightRem: HORIZONTAL_GALLERY_BUTTON_WIDTH, gapHeightRem: HORIZONTAL_GALLERY_GAP, isShort: isShort, onFetchTilesToRender: onFetchTilesToRender, onChildrenPerPageChange: onChildrenPerPageChange }, overflowGalleryElements ? overflowGalleryElements : [React.createElement(React.Fragment, null)]));
14931
14920
  }
14932
- /* @conditional-compile-remove(pinned-participants) */
14933
14921
  if (isNarrow) {
14934
14922
  // There are no pages for ScrollableHorizontalGallery so we will approximate the first 3 remote
14935
14923
  // participant tiles are visible
@@ -14969,7 +14957,7 @@ const DefaultLayout = (props) => {
14969
14957
  maxOverflowGalleryDominantSpeakers: screenShareComponent
14970
14958
  ? childrenPerPage.current - ((pinnedParticipantUserIds.length + 1) % childrenPerPage.current)
14971
14959
  : childrenPerPage.current,
14972
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds,
14960
+ pinnedParticipantUserIds,
14973
14961
  /* @conditional-compile-remove(gallery-layouts) */ layout: 'default',
14974
14962
  /* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds
14975
14963
  });
@@ -15810,7 +15798,7 @@ const FloatingLocalVideoLayout = (props) => {
15810
15798
  maxOverflowGalleryDominantSpeakers: screenShareComponent
15811
15799
  ? childrenPerPage.current - (pinnedParticipantUserIds.length % childrenPerPage.current)
15812
15800
  : childrenPerPage.current,
15813
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds,
15801
+ pinnedParticipantUserIds,
15814
15802
  /* @conditional-compile-remove(gallery-layouts) */ layout: 'floatingLocalVideo',
15815
15803
  /* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds
15816
15804
  });
@@ -15947,7 +15935,7 @@ const SpeakerVideoLayout = (props) => {
15947
15935
  maxOverflowGalleryDominantSpeakers: screenShareComponent
15948
15936
  ? childrenPerPage.current - (pinnedParticipantUserIds.length % childrenPerPage.current)
15949
15937
  : childrenPerPage.current,
15950
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds,
15938
+ pinnedParticipantUserIds,
15951
15939
  /* @conditional-compile-remove(gallery-layouts) */ layout: 'speaker'
15952
15940
  });
15953
15941
  let activeVideoStreams = 0;
@@ -16104,7 +16092,7 @@ const LargeGalleryLayout = (props) => {
16104
16092
  maxOverflowGalleryDominantSpeakers: screenShareComponent
16105
16093
  ? childrenPerPage.current - ((pinnedParticipantUserIds.length + 1) % childrenPerPage.current)
16106
16094
  : childrenPerPage.current,
16107
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds,
16095
+ pinnedParticipantUserIds,
16108
16096
  /* @conditional-compile-remove(large-gallery) */ layout: 'largeGallery'
16109
16097
  });
16110
16098
  let activeVideoStreams = 0;
@@ -16202,7 +16190,6 @@ const unselectable = {
16202
16190
  const DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS = {
16203
16191
  kind: 'contextual'
16204
16192
  };
16205
- /* @conditional-compile-remove(pinned-participants) */
16206
16193
  /**
16207
16194
  * @private
16208
16195
  * Maximum number of remote video tiles that can be pinned
@@ -16216,13 +16203,7 @@ const MAX_PINNED_REMOTE_VIDEO_TILES = 4;
16216
16203
  */
16217
16204
  const VideoGallery = (props) => {
16218
16205
  var _a, _b, _c;
16219
- const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps,
16220
- /* @conditional-compile-remove(pinned-participants) */
16221
- onPinParticipant: onPinParticipantHandler,
16222
- /* @conditional-compile-remove(pinned-participants) */
16223
- onUnpinParticipant: onUnpinParticipantHandler,
16224
- /* @conditional-compile-remove(pinned-participants) */
16225
- remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS,
16206
+ const { localParticipant, remoteParticipants = [], localVideoViewOptions, remoteVideoViewOptions, dominantSpeakers, onRenderLocalVideoTile, onRenderRemoteVideoTile, onCreateLocalStreamView, onDisposeLocalStreamView, onCreateRemoteStreamView, onDisposeRemoteScreenShareStreamView, onDisposeRemoteVideoStreamView, styles, layout, onRenderAvatar, showMuteIndicator, maxRemoteVideoStreams = DEFAULT_MAX_REMOTE_VIDEO_STREAMS, showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps, onPinParticipant: onPinParticipantHandler, onUnpinParticipant: onUnpinParticipantHandler, remoteVideoTileMenu = DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS,
16226
16207
  /* @conditional-compile-remove(vertical-gallery) */
16227
16208
  overflowGalleryPosition = 'horizontalBottom',
16228
16209
  /* @conditional-compile-remove(rooms) */
@@ -16239,11 +16220,9 @@ const VideoGallery = (props) => {
16239
16220
  const theme = useTheme();
16240
16221
  const localeStrings = useLocale$1().strings.videoGallery;
16241
16222
  const strings = React.useMemo(() => (Object.assign(Object.assign({}, localeStrings), props.strings)), [localeStrings, props.strings]);
16242
- /* @conditional-compile-remove(pinned-participants) */
16243
16223
  const drawerMenuHostIdFromProp = remoteVideoTileMenu && remoteVideoTileMenu.kind === 'drawer'
16244
16224
  ? remoteVideoTileMenu.hostId
16245
16225
  : undefined;
16246
- /* @conditional-compile-remove(pinned-participants) */
16247
16226
  const drawerMenuHostId = reactHooks.useId('drawerMenuHost', drawerMenuHostIdFromProp);
16248
16227
  const localTileNotInGrid = (layout === 'floatingLocalVideo' || /* @conditional-compile-remove(gallery-layouts) */ layout === 'speaker') &&
16249
16228
  remoteParticipants.length > 0;
@@ -16251,18 +16230,14 @@ const VideoGallery = (props) => {
16251
16230
  const containerWidth = _useContainerWidth(containerRef);
16252
16231
  const containerHeight = _useContainerHeight(containerRef);
16253
16232
  const isNarrow = containerWidth ? isNarrowWidth(containerWidth) : false;
16254
- /* @conditional-compile-remove(pinned-participants) */
16255
16233
  const [pinnedParticipantsState, setPinnedParticipantsState] = React.useState([]);
16256
- /* @conditional-compile-remove(pinned-participants) */
16257
16234
  const [selectedScalingModeState, setselectedScalingModeState] = React.useState({});
16258
- /* @conditional-compile-remove(pinned-participants) */
16259
16235
  const onUpdateScalingMode = React.useCallback((remoteUserId, scalingMode) => {
16260
16236
  setselectedScalingModeState((current) => (Object.assign(Object.assign({}, current), { [remoteUserId]: {
16261
16237
  scalingMode,
16262
16238
  isMirrored: remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored
16263
16239
  } })));
16264
16240
  }, [remoteVideoViewOptions === null || remoteVideoViewOptions === void 0 ? void 0 : remoteVideoViewOptions.isMirrored]);
16265
- /* @conditional-compile-remove(pinned-participants) */
16266
16241
  React.useEffect(() => {
16267
16242
  var _a;
16268
16243
  (_a = props.pinnedParticipants) === null || _a === void 0 ? void 0 : _a.forEach((pinParticipant) => {
@@ -16273,7 +16248,6 @@ const VideoGallery = (props) => {
16273
16248
  }
16274
16249
  });
16275
16250
  }, [props.pinnedParticipants, props.remoteParticipants]);
16276
- /* @conditional-compile-remove(pinned-participants) */
16277
16251
  // Use pinnedParticipants from props but if it is not defined use the maintained state of pinned participants
16278
16252
  const pinnedParticipants = (_a = props.pinnedParticipants) !== null && _a !== void 0 ? _a : pinnedParticipantsState;
16279
16253
  const showLocalVideoTileLabel = !((localTileNotInGrid && isNarrow) ||
@@ -16339,7 +16313,6 @@ const VideoGallery = (props) => {
16339
16313
  /* @conditional-compile-remove(reaction) */
16340
16314
  reactionResources
16341
16315
  ]);
16342
- /* @conditional-compile-remove(pinned-participants) */
16343
16316
  const onPinParticipant = React.useCallback((userId) => {
16344
16317
  if (pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {
16345
16318
  return;
@@ -16349,14 +16322,11 @@ const VideoGallery = (props) => {
16349
16322
  }
16350
16323
  onPinParticipantHandler === null || onPinParticipantHandler === void 0 ? void 0 : onPinParticipantHandler(userId);
16351
16324
  }, [pinnedParticipants.length, pinnedParticipantsState, setPinnedParticipantsState, onPinParticipantHandler]);
16352
- /* @conditional-compile-remove(pinned-participants) */
16353
16325
  const onUnpinParticipant = React.useCallback((userId) => {
16354
16326
  setPinnedParticipantsState(pinnedParticipantsState.filter((p) => p !== userId));
16355
16327
  onUnpinParticipantHandler === null || onUnpinParticipantHandler === void 0 ? void 0 : onUnpinParticipantHandler(userId);
16356
16328
  }, [pinnedParticipantsState, setPinnedParticipantsState, onUnpinParticipantHandler]);
16357
- /* @conditional-compile-remove(pinned-participants) */
16358
16329
  const [announcementString, setAnnouncementString] = React.useState('');
16359
- /* @conditional-compile-remove(pinned-participants) */
16360
16330
  /**
16361
16331
  * sets the announcement string for VideoGallery actions so that the screenreader will trigger
16362
16332
  */
@@ -16371,9 +16341,7 @@ const VideoGallery = (props) => {
16371
16341
  }, [setAnnouncementString]);
16372
16342
  const defaultOnRenderVideoTile = React.useCallback((participant, isVideoParticipant) => {
16373
16343
  const remoteVideoStream = participant.videoStream;
16374
- /* @conditional-compile-remove(pinned-participants) */
16375
16344
  const selectedScalingMode = remoteVideoStream ? selectedScalingModeState[participant.userId] : undefined;
16376
- /* @conditional-compile-remove(pinned-participants) */
16377
16345
  let isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId);
16378
16346
  /* @conditional-compile-remove(spotlight) */
16379
16347
  const isSpotlighted = spotlightedParticipants === null || spotlightedParticipants === void 0 ? void 0 : spotlightedParticipants.includes(participant.userId);
@@ -16381,11 +16349,9 @@ const VideoGallery = (props) => {
16381
16349
  isPinned = isSpotlighted ? false : isPinned;
16382
16350
  const createViewOptions = () => {
16383
16351
  var _a, _b;
16384
- /* @conditional-compile-remove(pinned-participants) */
16385
16352
  if (selectedScalingMode) {
16386
16353
  return selectedScalingMode;
16387
16354
  }
16388
- /* @conditional-compile-remove(pinned-participants) */
16389
16355
  return (remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.streamSize) &&
16390
16356
  ((_a = remoteVideoStream.streamSize) === null || _a === void 0 ? void 0 : _a.height) > ((_b = remoteVideoStream.streamSize) === null || _b === void 0 ? void 0 : _b.width)
16391
16357
  ? {
@@ -16396,29 +16362,13 @@ const VideoGallery = (props) => {
16396
16362
  };
16397
16363
  return (React.createElement(_RemoteVideoTile, { key: participant.userId, userId: participant.userId, remoteParticipant: participant, onCreateRemoteStreamView: isVideoParticipant ? onCreateRemoteStreamView : undefined, onDisposeRemoteStreamView: isVideoParticipant ? onDisposeRemoteVideoStreamView : undefined, isAvailable: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isAvailable : false, isReceiving: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.isReceiving : false, renderElement: isVideoParticipant ? remoteVideoStream === null || remoteVideoStream === void 0 ? void 0 : remoteVideoStream.renderElement : undefined, remoteVideoViewOptions: createViewOptions(), onRenderAvatar: onRenderAvatar, showMuteIndicator: showMuteIndicator, strings: strings,
16398
16364
  /* @conditional-compile-remove(PSTN-calls) */
16399
- participantState: participant.state,
16400
- /* @conditional-compile-remove(pinned-participants) */
16401
- menuKind: participant.userId === localParticipant.userId
16365
+ participantState: participant.state, menuKind: participant.userId === localParticipant.userId
16402
16366
  ? undefined
16403
16367
  : remoteVideoTileMenu
16404
16368
  ? remoteVideoTileMenu.kind === 'drawer'
16405
16369
  ? 'drawer'
16406
16370
  : 'contextual'
16407
- : undefined,
16408
- /* @conditional-compile-remove(pinned-participants) */
16409
- drawerMenuHostId: drawerMenuHostId,
16410
- /* @conditional-compile-remove(pinned-participants) */
16411
- onPinParticipant: onPinParticipant,
16412
- /* @conditional-compile-remove(pinned-participants) */
16413
- onUnpinParticipant: onUnpinParticipant,
16414
- /* @conditional-compile-remove(pinned-participants) */
16415
- onUpdateScalingMode: onUpdateScalingMode,
16416
- /* @conditional-compile-remove(pinned-participants) */
16417
- isPinned: isPinned,
16418
- /* @conditional-compile-remove(pinned-participants) */
16419
- disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES,
16420
- /* @conditional-compile-remove(pinned-participants) */
16421
- toggleAnnouncerString: toggleAnnouncerString,
16371
+ : undefined, drawerMenuHostId: drawerMenuHostId, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, onUpdateScalingMode: onUpdateScalingMode, isPinned: isPinned, disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES, toggleAnnouncerString: toggleAnnouncerString,
16422
16372
  /* @conditional-compile-remove(spotlight) */
16423
16373
  spotlightedParticipantUserIds: spotlightedParticipants,
16424
16374
  /* @conditional-compile-remove(spotlight) */
@@ -16437,14 +16387,14 @@ const VideoGallery = (props) => {
16437
16387
  onRenderAvatar,
16438
16388
  showMuteIndicator,
16439
16389
  strings,
16440
- /* @conditional-compile-remove(pinned-participants) */ drawerMenuHostId,
16441
- /* @conditional-compile-remove(pinned-participants) */ remoteVideoTileMenu,
16442
- /* @conditional-compile-remove(pinned-participants) */ selectedScalingModeState,
16443
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
16444
- /* @conditional-compile-remove(pinned-participants) */ onPinParticipant,
16445
- /* @conditional-compile-remove(pinned-participants) */ onUnpinParticipant,
16446
- /* @conditional-compile-remove(pinned-participants) */ toggleAnnouncerString,
16447
- /* @conditional-compile-remove(pinned-participants) */ onUpdateScalingMode,
16390
+ drawerMenuHostId,
16391
+ remoteVideoTileMenu,
16392
+ selectedScalingModeState,
16393
+ pinnedParticipants,
16394
+ onPinParticipant,
16395
+ onUnpinParticipant,
16396
+ toggleAnnouncerString,
16397
+ onUpdateScalingMode,
16448
16398
  /* @conditional-compile-remove(spotlight) */ spotlightedParticipants,
16449
16399
  /* @conditional-compile-remove(spotlight) */ onStartSpotlight,
16450
16400
  /* @conditional-compile-remove(spotlight) */ onStopSpotlight,
@@ -16470,7 +16420,7 @@ const VideoGallery = (props) => {
16470
16420
  localVideoComponent: localVideoTile,
16471
16421
  parentWidth: containerWidth,
16472
16422
  parentHeight: containerHeight,
16473
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds: pinnedParticipants,
16423
+ pinnedParticipantUserIds: pinnedParticipants,
16474
16424
  /* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
16475
16425
  /* @conditional-compile-remove(click-to-call) */ localVideoTileSize,
16476
16426
  /* @conditional-compile-remove(spotlight) */ spotlightedParticipantUserIds: spotlightedParticipants
@@ -16487,7 +16437,7 @@ const VideoGallery = (props) => {
16487
16437
  containerHeight,
16488
16438
  onRenderRemoteVideoTile,
16489
16439
  defaultOnRenderVideoTile,
16490
- /* @conditional-compile-remove(pinned-participants) */ pinnedParticipants,
16440
+ pinnedParticipants,
16491
16441
  /* @conditional-compile-remove(vertical-gallery) */ overflowGalleryPosition,
16492
16442
  /* @conditional-compile-remove(click-to-call) */ localVideoTileSize,
16493
16443
  /* @conditional-compile-remove(spotlight) */ spotlightedParticipants
@@ -16511,11 +16461,9 @@ const VideoGallery = (props) => {
16511
16461
  return React.createElement(DefaultLayout, Object.assign({}, layoutProps));
16512
16462
  }, [layout, layoutProps, /* @conditional-compile-remove(gallery-layouts) */ screenShareParticipant]);
16513
16463
  return (React.createElement("div", {
16514
- /* @conditional-compile-remove(pinned-participants) */
16515
16464
  // We don't assign an drawer menu host id to the VideoGallery when a drawerMenuHostId is assigned from props
16516
16465
  id: drawerMenuHostIdFromProp ? undefined : drawerMenuHostId, "data-ui-id": ids.videoGallery, ref: containerRef, className: react.mergeStyles(videoGalleryOuterDivStyle, styles === null || styles === void 0 ? void 0 : styles.root, unselectable) },
16517
16466
  videoGalleryLayout,
16518
- /* @conditional-compile-remove(pinned-participants) */
16519
16467
  React.createElement(Announcer$1, { announcementString: announcementString, ariaLive: "polite" })));
16520
16468
  };
16521
16469
 
@@ -20110,9 +20058,7 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
20110
20058
  isReceiving: stream.isReceiving,
20111
20059
  isMirrored: (_a = stream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
20112
20060
  renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target,
20113
- /* @conditional-compile-remove(pinned-participants) */
20114
20061
  scalingMode: (_c = stream.view) === null || _c === void 0 ? void 0 : _c.scalingMode,
20115
- /* @conditional-compile-remove(pinned-participants) */
20116
20062
  streamSize: stream.streamSize
20117
20063
  };
20118
20064
  };
@@ -21205,20 +21151,22 @@ const processChatMessageContent = (message) => {
21205
21151
  var _a, _b, _c;
21206
21152
  let content = (_a = message.content) === null || _a === void 0 ? void 0 : _a.message;
21207
21153
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
21208
- if (content && ((_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments) && sanitizedMessageContentType(message.type).includes('html')) {
21154
+ if (((_b = message.content) === null || _b === void 0 ? void 0 : _b.attachments) && sanitizedMessageContentType(message.type).includes('html')) {
21209
21155
  const attachments = (_c = message.content) === null || _c === void 0 ? void 0 : _c.attachments;
21210
21156
  // Fill in the src here
21211
- const document = new DOMParser().parseFromString(content, 'text/html');
21212
- document.querySelectorAll('img').forEach((img) => {
21213
- var _a, _b, _c;
21214
- const attachmentPreviewUrl = (_a = attachments.find((attachment) => attachment.id === img.id)) === null || _a === void 0 ? void 0 : _a.previewUrl;
21215
- if (attachmentPreviewUrl) {
21216
- const src = (_c = (_b = message.resourceCache) === null || _b === void 0 ? void 0 : _b[attachmentPreviewUrl]) !== null && _c !== void 0 ? _c : '';
21217
- img.src = src;
21218
- }
21219
- });
21220
21157
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
21221
- content = document.documentElement.innerHTML;
21158
+ if (content) {
21159
+ const document = new DOMParser().parseFromString(content !== null && content !== void 0 ? content : '', 'text/html');
21160
+ document.querySelectorAll('img').forEach((img) => {
21161
+ var _a, _b, _c;
21162
+ const attachmentPreviewUrl = (_a = attachments.find((attachment) => attachment.id === img.id)) === null || _a === void 0 ? void 0 : _a.previewUrl;
21163
+ if (attachmentPreviewUrl) {
21164
+ const src = (_c = (_b = message.resourceCache) === null || _b === void 0 ? void 0 : _b[attachmentPreviewUrl]) !== null && _c !== void 0 ? _c : '';
21165
+ img.src = src;
21166
+ }
21167
+ });
21168
+ content = document.documentElement.innerHTML;
21169
+ }
21222
21170
  const teamsImageHtmlContent = attachments
21223
21171
  .filter((attachment) => {
21224
21172
  var _a, _b;
@@ -22100,9 +22048,9 @@ let ChatContext$1 = class ChatContext {
22100
22048
  }
22101
22049
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
22102
22050
  parseAttachments(threadId, message) {
22103
- var _a, _b;
22051
+ var _a;
22104
22052
  const attachments = (_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments;
22105
- if (message.type === 'html' && ((_b = message.content) === null || _b === void 0 ? void 0 : _b.message) && attachments && attachments.length > 0) {
22053
+ if (message.type === 'html' && attachments && attachments.length > 0) {
22106
22054
  if (this._messageQueue &&
22107
22055
  !this._messageQueue.containsMessageWithSameAttachments(message) &&
22108
22056
  message.resourceCache === undefined) {
@@ -22223,12 +22171,13 @@ const toChatError = (target, error) => {
22223
22171
  * @private
22224
22172
  */
22225
22173
  const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
22226
- var _a, _b;
22174
+ var _a, _b, _c;
22227
22175
  return Object.assign(Object.assign({}, message), { clientMessageId: clientMessageId, status,
22228
22176
  /* @conditional-compile-remove(data-loss-prevention) */
22229
22177
  policyViolation: !!(((_a = message.sender) === null || _a === void 0 ? void 0 : _a.kind) === 'microsoftTeamsUser' &&
22230
22178
  !!message.editedOn &&
22231
- ((_b = message.content) === null || _b === void 0 ? void 0 : _b.message) === '') });
22179
+ ((_b = message.content) === null || _b === void 0 ? void 0 : _b.message) === '' &&
22180
+ ((_c = message.content.attachments) === null || _c === void 0 ? void 0 : _c.length) === 0) });
22232
22181
  };
22233
22182
 
22234
22183
  // Copyright (c) Microsoft Corporation.
@@ -22994,7 +22943,7 @@ const CallCompositeIcon = (props) => (React.createElement(react.FontIcon, Object
22994
22943
  */
22995
22944
  const CallWithChatCompositeIcon = (props) => (React.createElement(react.FontIcon, Object.assign({}, props)));
22996
22945
 
22997
- 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",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",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",startSpotlightParticipantListMenuLabel:"Spotlight for everyone",addSpotlightParticipantListMenuLabel:"Add spotlight",stopSpotlightParticipantListMenuLabel:"Stop spotlighting",stopSpotlightOnSelfParticipantListMenuLabel:"Exit spotlight",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.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",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."}},surveyQuestion:"How was your call today?",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",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",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"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};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",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",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22946
+ 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",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",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",startSpotlightParticipantListMenuLabel:"Spotlight for everyone",addSpotlightParticipantListMenuLabel:"Add spotlight",stopSpotlightParticipantListMenuLabel:"Stop spotlighting",stopSpotlightOnSelfParticipantListMenuLabel:"Exit spotlight",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",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."}},surveyQuestion:"How was your call today?",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",surveyCancelButtonAriaLabel:"Cancel",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",surveyTextboxDefaultText:"Other, please specify",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"}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};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",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",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
22998
22947
 
22999
22948
  // Copyright (c) Microsoft Corporation.
23000
22949
  // Licensed under the MIT License.
@@ -24886,6 +24835,10 @@ const INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317;
24886
24835
  const CALL_TIMEOUT_SUB_CODE = 10004;
24887
24836
  /** @private */
24888
24837
  const CALL_TIMEOUT_CODE = 487;
24838
+ /** @private */
24839
+ const BOT_TIMEOUT_CODE = 486;
24840
+ /** @private */
24841
+ const BOT_TIMEOUT_SUB_CODE = 10321;
24889
24842
  /**
24890
24843
  * @private
24891
24844
  */
@@ -24961,7 +24914,7 @@ const getCallEndReason = (call) => {
24961
24914
  * @private
24962
24915
  */
24963
24916
  const getEndedCallPageProps = (locale, endedCall) => {
24964
- var _a, _b, _c, _d;
24917
+ var _a, _b, _c, _d, _e;
24965
24918
  let title = locale.strings.call.leftCallTitle;
24966
24919
  let moreDetails = locale.strings.call.leftCallMoreDetails;
24967
24920
  let disableStartCallButton = false;
@@ -25007,9 +24960,18 @@ const getEndedCallPageProps = (locale, endedCall) => {
25007
24960
  disableStartCallButton = true;
25008
24961
  iconName = 'NoticePageCallTimeout';
25009
24962
  }
24963
+ break;
24964
+ case BOT_TIMEOUT_SUB_CODE:
24965
+ if (((_c = endedCall === null || endedCall === void 0 ? void 0 : endedCall.callEndReason) === null || _c === void 0 ? void 0 : _c.code) === BOT_TIMEOUT_CODE && locale.strings.call.callTimeoutBotTitle) {
24966
+ title = locale.strings.call.callTimeoutBotTitle;
24967
+ moreDetails = locale.strings.call.callTimeoutBotDetails;
24968
+ disableStartCallButton = true;
24969
+ iconName = 'NoticePageCallTimeout';
24970
+ }
24971
+ break;
25010
24972
  }
25011
24973
  /* @conditional-compile-remove(calling-sounds) */
25012
- switch ((_c = endedCall === null || endedCall === void 0 ? void 0 : endedCall.callEndReason) === null || _c === void 0 ? void 0 : _c.code) {
24974
+ switch ((_d = endedCall === null || endedCall === void 0 ? void 0 : endedCall.callEndReason) === null || _d === void 0 ? void 0 : _d.code) {
25013
24975
  case CALL_REJECTED_CODE$1:
25014
24976
  if (locale.strings.call.callRejectedTitle) {
25015
24977
  title = locale.strings.call.callRejectedTitle;
@@ -25020,7 +24982,7 @@ const getEndedCallPageProps = (locale, endedCall) => {
25020
24982
  break;
25021
24983
  }
25022
24984
  /* @conditional-compile-remove(teams-adhoc-call) */
25023
- switch ((_d = endedCall === null || endedCall === void 0 ? void 0 : endedCall.callEndReason) === null || _d === void 0 ? void 0 : _d.subCode) {
24985
+ switch ((_e = endedCall === null || endedCall === void 0 ? void 0 : endedCall.callEndReason) === null || _e === void 0 ? void 0 : _e.subCode) {
25024
24986
  case 10037:
25025
24987
  if (locale.strings.call.participantCouldNotBeReachedTitle) {
25026
24988
  title = locale.strings.call.participantCouldNotBeReachedTitle;
@@ -29794,7 +29756,6 @@ const MediaGallery = (props) => {
29794
29756
  return (React.createElement(react.Stack, { className: react.mergeStyles({ position: 'absolute', height: '100%', width: '100%' }) },
29795
29757
  React.createElement(react.Stack, { styles: { root: { margin: 'auto', maxHeight: '100%' } } }, (options === null || options === void 0 ? void 0 : options.coinSize) && (React.createElement(AvatarPersona, Object.assign({ userId: userId }, options, { dataProvider: props.onFetchAvatarPersonaData }))))));
29796
29758
  }, [props.onFetchAvatarPersonaData]);
29797
- /* @conditional-compile-remove(pinned-participants) */
29798
29759
  const remoteVideoTileMenuOptions = React.useMemo(() => {
29799
29760
  var _a;
29800
29761
  return ((_a = props.remoteVideoTileMenuOptions) === null || _a === void 0 ? void 0 : _a.isHidden)
@@ -29824,9 +29785,7 @@ const MediaGallery = (props) => {
29824
29785
  /* @conditional-compile-remove(gallery-layouts) */
29825
29786
  return props.localVideoTileOptions ? layoutBasedOnTilePosition : props.userSetGalleryLayout;
29826
29787
  };
29827
- return (React.createElement(VideoGallery, Object.assign({}, videoGalleryProps, { localVideoViewOptions: localVideoViewOptions$2, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: layoutBasedOnUserSelection(), showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar,
29828
- /* @conditional-compile-remove(pinned-participants) */
29829
- remoteVideoTileMenu: remoteVideoTileMenuOptions,
29788
+ return (React.createElement(VideoGallery, Object.assign({}, videoGalleryProps, { localVideoViewOptions: localVideoViewOptions$2, remoteVideoViewOptions: remoteVideoViewOptions, styles: VideoGalleryStyles, layout: layoutBasedOnUserSelection(), showCameraSwitcherInLocalPreview: props.isMobile, localVideoCameraCycleButtonProps: cameraSwitcherProps, onRenderAvatar: onRenderAvatar, remoteVideoTileMenu: remoteVideoTileMenuOptions,
29830
29789
  /* @conditional-compile-remove(vertical-gallery) */
29831
29790
  overflowGalleryPosition: overflowGalleryPosition,
29832
29791
  /* @conditional-compile-remove(rooms) */
@@ -29848,7 +29807,6 @@ const MediaGallery = (props) => {
29848
29807
  props.localVideoTileOptions,
29849
29808
  cameraSwitcherProps,
29850
29809
  onRenderAvatar,
29851
- /* @conditional-compile-remove(pinned-participants) */
29852
29810
  remoteVideoTileMenuOptions,
29853
29811
  /* @conditional-compile-remove(vertical-gallery) */
29854
29812
  overflowGalleryPosition,
@@ -30217,9 +30175,7 @@ const CallPage = (props) => {
30217
30175
  capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent }));
30218
30176
  }
30219
30177
  else {
30220
- return (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData,
30221
- /* @conditional-compile-remove(pinned-participants) */
30222
- remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
30178
+ return (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
30223
30179
  /* @conditional-compile-remove(click-to-call) */
30224
30180
  localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile,
30225
30181
  /* @conditional-compile-remove(gallery-layouts) */
@@ -34863,7 +34819,6 @@ const CallWithChatScreen = (props) => {
34863
34819
  onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,
34864
34820
  /* @conditional-compile-remove(unsupported-browser) */
34865
34821
  onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick,
34866
- /* @conditional-compile-remove(pinned-participants) */
34867
34822
  remoteVideoTileMenuOptions: props.remoteVideoTileMenuOptions,
34868
34823
  /* @conditional-compile-remove(gallery-layouts) */
34869
34824
  galleryOptions: props.galleryOptions,
@@ -34894,7 +34849,6 @@ const CallWithChatScreen = (props) => {
34894
34849
  props.galleryOptions,
34895
34850
  /* @conditional-compile-remove(click-to-call) */
34896
34851
  props.localVideoTile,
34897
- /* @conditional-compile-remove(pinned-participants) */
34898
34852
  props.remoteVideoTileMenuOptions,
34899
34853
  /* @conditional-compile-remove(end-of-call-survey) */
34900
34854
  surveyOptions,
@@ -34960,9 +34914,7 @@ const CallWithChatComposite = (props) => {
34960
34914
  return (React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
34961
34915
  React.createElement(CallWithChatScreen, Object.assign({}, props, {
34962
34916
  /* @conditional-compile-remove(call-readiness) */
34963
- deviceChecks: options === null || options === void 0 ? void 0 : options.deviceChecks, callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme,
34964
- /* @conditional-compile-remove(pinned-participants) */
34965
- remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions,
34917
+ deviceChecks: options === null || options === void 0 ? void 0 : options.deviceChecks, callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions,
34966
34918
  /* @conditional-compile-remove(file-sharing) */
34967
34919
  fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing,
34968
34920
  /* @conditional-compile-remove(click-to-call) */