@azure/communication-react 1.15.0-alpha-202404030013 → 1.15.0-alpha-202404040013

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 (162) hide show
  1. package/dist/communication-react.d.ts +11 -18
  2. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-ButXxDca.js +122 -0
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-ButXxDca.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{index-aOBAWcNI.js → index-BK44EyzL.js} +443 -467
  5. package/dist/dist-cjs/communication-react/index-BK44EyzL.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +2 -2
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -1
  10. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +5 -35
  12. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  14. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +0 -1
  15. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  16. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +0 -3
  17. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -1
  19. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  21. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +16 -9
  22. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  23. package/dist/dist-esm/communication-react/src/index.d.ts +2 -1
  24. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  25. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +8 -8
  26. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  27. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.js +5 -5
  28. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -0
  30. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  31. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +23 -0
  32. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +24 -0
  33. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -0
  34. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +7 -4
  35. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +11 -4
  36. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  37. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +9 -3
  38. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +1 -1
  40. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +1 -1
  42. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  43. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +6 -0
  44. package/dist/dist-esm/react-components/src/components/MessageThread.js +6 -2
  45. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/ReactionButton.js +1 -1
  47. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js +1 -1
  49. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js +1 -2
  51. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js.map +1 -1
  52. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +5 -5
  53. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  54. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +25 -25
  55. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +6 -6
  57. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  58. package/dist/dist-esm/react-components/src/components/SendBox.js +18 -18
  59. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  60. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +14 -6
  61. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  62. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.d.ts +2 -0
  63. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js +3 -0
  64. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  65. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +4 -0
  66. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +21 -0
  67. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  68. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  69. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +4 -1
  70. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  71. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  72. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  73. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +4 -3
  74. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +13 -19
  75. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  76. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +5 -6
  77. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  78. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +2 -2
  79. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/theming/icons.js +1 -1
  81. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  82. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +5 -23
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  85. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +2 -2
  86. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +0 -2
  87. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  88. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +4 -2
  89. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  90. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  91. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +0 -3
  92. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  93. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +7 -1
  94. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  95. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +0 -7
  96. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  97. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -5
  98. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  99. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -5
  100. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  101. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +0 -1
  102. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  103. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  104. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -6
  105. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  106. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +3 -14
  107. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  108. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  109. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  110. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  111. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -2
  112. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  113. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +0 -3
  114. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  115. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  116. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +0 -6
  117. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  118. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +1 -8
  119. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  120. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +15 -15
  121. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  122. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +2 -3
  123. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  124. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -2
  125. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +8 -8
  126. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  127. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -2
  128. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  129. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -14
  130. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  131. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +18 -6
  132. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  133. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  134. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +6 -6
  135. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -1
  136. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +22 -22
  137. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  138. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  139. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +1 -1
  140. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  141. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +4 -4
  142. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  143. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +9 -5
  144. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  145. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -2
  146. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  147. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +1 -1
  148. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  149. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +7 -1
  150. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  151. package/dist/dist-esm/react-composites/src/composites/common/icons.js +2 -5
  152. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  153. package/package.json +1 -1
  154. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-B8qxZi1I.js +0 -54
  155. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-B8qxZi1I.js.map +0 -1
  156. package/dist/dist-cjs/communication-react/index-aOBAWcNI.js.map +0 -1
  157. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -9
  158. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -20
  159. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
  160. package/dist/dist-esm/react-composites/src/composites/common/SendBox.d.ts +0 -17
  161. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +0 -45
  162. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +0 -1
@@ -176,7 +176,7 @@ function getDefaultExportFromCjs (x) {
176
176
  // Copyright (c) Microsoft Corporation.
177
177
  // Licensed under the MIT License.
178
178
  // GENERATED FILE. DO NOT EDIT MANUALLY.
179
- var telemetryVersion = '1.15.0-alpha-202404030013';
179
+ var telemetryVersion = '1.15.0-alpha-202404040013';
180
180
 
181
181
 
182
182
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -390,7 +390,6 @@ const isHideAttendeeNamesEnabled = (state, props) => {
390
390
  /* @conditional-compile-remove(hide-attendee-name) */
391
391
  return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.hideAttendeeNames) !== null && _b !== void 0 ? _b : false;
392
392
  };
393
- /* @conditional-compile-remove(capabilities) */
394
393
  /**
395
394
  * @private
396
395
  */
@@ -643,21 +642,12 @@ const maskDisplayNameWithRole = (displayName, localUserRole, participantRole, is
643
642
  *
644
643
  * @public
645
644
  */
646
- const microphoneButtonSelector = reselect__namespace.createSelector([
647
- getCallExists,
648
- getIsMuted,
649
- getDeviceManager$1,
650
- /* @conditional-compile-remove(capabilities) */ getCapabilities,
651
- /* @conditional-compile-remove(capabilities) */ getRole$1
652
- ], (callExists, isMuted, deviceManager,
653
- /* @conditional-compile-remove(capabilities) */ capabilities,
654
- /* @conditional-compile-remove(capabilities) */ role) => {
645
+ const microphoneButtonSelector = reselect__namespace.createSelector([getCallExists, getIsMuted, getDeviceManager$1, getCapabilities, getRole$1], (callExists, isMuted, deviceManager, capabilities, role) => {
655
646
  const permission = deviceManager.deviceAccess ? deviceManager.deviceAccess.audio : true;
656
- /* @conditional-compile-remove(capabilities) */
657
647
  const incapable = ((capabilities === null || capabilities === void 0 ? void 0 : capabilities.unmuteMic.isPresent) === false && (capabilities === null || capabilities === void 0 ? void 0 : capabilities.unmuteMic.reason) !== 'NotInitialized') ||
658
648
  role === 'Consumer';
659
649
  return {
660
- disabled: !callExists || !permission || /* @conditional-compile-remove(capabilities) */ incapable,
650
+ disabled: !callExists || !permission || incapable,
661
651
  checked: callExists ? !isMuted : false,
662
652
  microphones: deviceManager.microphones,
663
653
  speakers: deviceManager.speakers,
@@ -670,25 +660,14 @@ const microphoneButtonSelector = reselect__namespace.createSelector([
670
660
  *
671
661
  * @public
672
662
  */
673
- const cameraButtonSelector = reselect__namespace.createSelector([
674
- getLocalVideoStreams$1,
675
- getDeviceManager$1,
676
- /* @conditional-compile-remove(capabilities) */ getCapabilities,
677
- /* @conditional-compile-remove(capabilities) */ getRole$1
678
- ], (localVideoStreams, deviceManager,
679
- /* @conditional-compile-remove(capabilities) */ capabilities,
680
- /* @conditional-compile-remove(capabilities) */ role) => {
663
+ const cameraButtonSelector = reselect__namespace.createSelector([getLocalVideoStreams$1, getDeviceManager$1, getCapabilities, getRole$1], (localVideoStreams, deviceManager, capabilities, role) => {
681
664
  const previewOn = _isPreviewOn(deviceManager);
682
665
  const localVideoFromCall = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');
683
666
  const permission = deviceManager.deviceAccess ? deviceManager.deviceAccess.video : true;
684
- /* @conditional-compile-remove(capabilities) */
685
667
  const incapable = ((capabilities === null || capabilities === void 0 ? void 0 : capabilities.turnVideoOn.isPresent) === false && (capabilities === null || capabilities === void 0 ? void 0 : capabilities.turnVideoOn.reason) !== 'NotInitialized') ||
686
668
  role === 'Consumer';
687
669
  return {
688
- disabled: !deviceManager.selectedCamera ||
689
- !permission ||
690
- !deviceManager.cameras.length ||
691
- /* @conditional-compile-remove(capabilities) */ incapable,
670
+ disabled: !deviceManager.selectedCamera || !permission || !deviceManager.cameras.length || incapable,
692
671
  checked: localVideoStreams !== undefined && localVideoStreams.length > 0 ? !!localVideoFromCall : previewOn,
693
672
  cameras: deviceManager.cameras,
694
673
  selectedCamera: deviceManager.selectedCamera
@@ -723,17 +702,8 @@ const reactionButtonSelector = reselect__namespace.createSelector([getLocalParti
723
702
  *
724
703
  * @public
725
704
  */
726
- const screenShareButtonSelector = reselect__namespace.createSelector([
727
- getIsScreenSharingOn,
728
- /* @conditional-compile-remove(PSTN-calls) */ getCallState,
729
- /* @conditional-compile-remove(capabilities) */ getCapabilities,
730
- /* @conditional-compile-remove(capabilities) */ getRole$1
731
- ], (isScreenSharingOn,
732
- /* @conditional-compile-remove(PSTN-calls) */ callState,
733
- /* @conditional-compile-remove(capabilities) */ capabilities,
734
- /* @conditional-compile-remove(capabilities) */ role) => {
705
+ const screenShareButtonSelector = reselect__namespace.createSelector([getIsScreenSharingOn, /* @conditional-compile-remove(PSTN-calls) */ getCallState, getCapabilities, getRole$1], (isScreenSharingOn, /* @conditional-compile-remove(PSTN-calls) */ callState, capabilities, role) => {
735
706
  let disabled = undefined;
736
- /* @conditional-compile-remove(capabilities) */
737
707
  disabled =
738
708
  disabled ||
739
709
  ((capabilities === null || capabilities === void 0 ? void 0 : capabilities.shareScreen.isPresent) === false && (capabilities === null || capabilities === void 0 ? void 0 : capabilities.shareScreen.reason) !== 'NotInitialized') ||
@@ -2315,7 +2285,6 @@ let CallContext$2 = class CallContext {
2315
2285
  }
2316
2286
  });
2317
2287
  }
2318
- /* @conditional-compile-remove(capabilities) */
2319
2288
  setCapabilities(callId, capabilities, capabilitiesChangeInfo) {
2320
2289
  this.modifyState((draft) => {
2321
2290
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -3991,7 +3960,6 @@ class OptimalVideoCountSubscriber {
3991
3960
 
3992
3961
  // Copyright (c) Microsoft Corporation.
3993
3962
  // Licensed under the MIT License.
3994
- /* @conditional-compile-remove(capabilities) */
3995
3963
  /**
3996
3964
  * @private
3997
3965
  */
@@ -4176,7 +4144,6 @@ class CallSubscriber {
4176
4144
  /* @conditional-compile-remove(acs-close-captions) */
4177
4145
  (_c = this._CaptionsSubscriber) === null || _c === void 0 ? void 0 : _c.unsubscribe();
4178
4146
  (_d = this._raiseHandSubscriber) === null || _d === void 0 ? void 0 : _d.unsubscribe();
4179
- /* @conditional-compile-remove(capabilities) */
4180
4147
  this._capabilitiesSubscriber.unsubscribe();
4181
4148
  /* @conditional-compile-remove(reaction) */
4182
4149
  (_e = this._reactionSubscriber) === null || _e === void 0 ? void 0 : _e.unsubscribe();
@@ -4293,7 +4260,6 @@ class CallSubscriber {
4293
4260
  localOptimalVideoCountFeature: this._call.feature(communicationCalling.Features.OptimalVideoCount)
4294
4261
  });
4295
4262
  this._localVideoStreamVideoEffectsSubscribers = new Map();
4296
- /* @conditional-compile-remove(capabilities) */
4297
4263
  this._capabilitiesSubscriber = new CapabilitiesSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Capabilities));
4298
4264
  /* @conditional-compile-remove(spotlight) */
4299
4265
  this._spotlightSubscriber = new SpotlightSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Spotlight));
@@ -6359,9 +6325,8 @@ const sendButtonStyle = react.mergeStyles({
6359
6325
  */
6360
6326
  const sendIconStyle = (props) => {
6361
6327
  const { theme, hasText, disabled = false,
6362
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ hasAttachment, hasErrorMessage, customSendIconStyle, defaultTextColor = theme.palette.neutralTertiary } = props;
6363
- const hasNoContent = !hasText &&
6364
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ !hasAttachment;
6328
+ /* @conditional-compile-remove(attachment-upload) */ hasAttachment, hasErrorMessage, customSendIconStyle, defaultTextColor = theme.palette.neutralTertiary } = props;
6329
+ const hasNoContent = !hasText && /* @conditional-compile-remove(attachment-upload) */ !hasAttachment;
6365
6330
  return react.mergeStyles(editorTextBoxButtonStyle, {
6366
6331
  color: disabled || hasErrorMessage || hasNoContent ? defaultTextColor : theme.palette.themePrimary
6367
6332
  }, customSendIconStyle);
@@ -6705,7 +6670,7 @@ const DEFAULT_COMPONENT_ICONS = {
6705
6670
  LowerHandContextualMenuItem: React.createElement(reactIcons.HandRightOff20Regular, null),
6706
6671
  /* @conditional-compile-remove(reaction) */
6707
6672
  ReactionButtonIcon: React.createElement(reactIcons.Emoji20Regular, null),
6708
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
6673
+ /* @conditional-compile-remove(attachment-upload) */
6709
6674
  CancelAttachmentUpload: React.createElement(reactIcons.Dismiss16Regular, null),
6710
6675
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
6711
6676
  DownloadAttachment: React.createElement(reactIcons.ArrowDownload20Regular, null),
@@ -8965,7 +8930,7 @@ const _AttachmentUploadCards = (props) => {
8965
8930
  */
8966
8931
  const MAXIMUM_LENGTH_OF_MESSAGE = 8000;
8967
8932
  const EMPTY_MESSAGE_REGEX = /^\s*$/;
8968
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
8933
+ /* @conditional-compile-remove(attachment-upload) */
8969
8934
  /**
8970
8935
  * @private
8971
8936
  */
@@ -8975,7 +8940,7 @@ const hasIncompleteAttachmentUploads = (activeAttachmentUploads) => {
8975
8940
  .filter((attachmentUpload) => !attachmentUpload.uploadError)
8976
8941
  .every((attachmentUpload) => attachmentUpload.progress === 1 && attachmentUpload.progress !== undefined));
8977
8942
  };
8978
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
8943
+ /* @conditional-compile-remove(attachment-upload) */
8979
8944
  /**
8980
8945
  * @private
8981
8946
  */
@@ -9367,11 +9332,11 @@ const FluentProviderWithStylesOverrides = (props) => {
9367
9332
  *
9368
9333
  * @public
9369
9334
  */
9370
- const SendBox$1 = (props) => {
9335
+ const SendBox = (props) => {
9371
9336
  const { disabled, systemMessage, supportNewline, onSendMessage, onTyping, onRenderIcon, onRenderSystemMessage, styles, autoFocus,
9372
9337
  /* @conditional-compile-remove(mention) */
9373
9338
  mentionLookupOptions,
9374
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9339
+ /* @conditional-compile-remove(attachment-upload) */
9375
9340
  activeAttachmentUploads } = props;
9376
9341
  const theme = useTheme();
9377
9342
  const localeStrings = useLocale$1().strings.sendBox;
@@ -9380,7 +9345,7 @@ const SendBox$1 = (props) => {
9380
9345
  const [textValue, setTextValue] = React.useState('');
9381
9346
  const [textValueOverflow, setTextValueOverflow] = React.useState(false);
9382
9347
  const sendTextFieldRef = React.useRef(null);
9383
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9348
+ /* @conditional-compile-remove(attachment-upload) */
9384
9349
  const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = React.useState(undefined);
9385
9350
  const sendMessageOnClick = () => {
9386
9351
  var _a;
@@ -9389,9 +9354,9 @@ const SendBox$1 = (props) => {
9389
9354
  return;
9390
9355
  }
9391
9356
  // Don't send message until all attachments have been uploaded successfully
9392
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9357
+ /* @conditional-compile-remove(attachment-upload) */
9393
9358
  setAttachmentUploadsPendingError(undefined);
9394
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9359
+ /* @conditional-compile-remove(attachment-upload) */
9395
9360
  if (hasIncompleteAttachmentUploads(activeAttachmentUploads)) {
9396
9361
  setAttachmentUploadsPendingError({ message: strings.attachmentUploadsPendingError, timestamp: Date.now() });
9397
9362
  return;
@@ -9400,7 +9365,7 @@ const SendBox$1 = (props) => {
9400
9365
  // we don't want to send empty messages including spaces, newlines, tabs
9401
9366
  // Message can be empty if there is a valid attachment upload
9402
9367
  if (sanitizeText(message).length > 0 ||
9403
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(activeAttachmentUploads)) {
9368
+ /* @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(activeAttachmentUploads)) {
9404
9369
  onSendMessage && onSendMessage(message);
9405
9370
  setTextValue('');
9406
9371
  }
@@ -9420,25 +9385,25 @@ const SendBox$1 = (props) => {
9420
9385
  const mergedSendIconStyle = React.useMemo(() => sendIconStyle({
9421
9386
  theme,
9422
9387
  hasText: !!textValue,
9423
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ hasAttachment: hasCompletedAttachmentUploads(activeAttachmentUploads),
9388
+ /* @conditional-compile-remove(attachment-upload) */ hasAttachment: hasCompletedAttachmentUploads(activeAttachmentUploads),
9424
9389
  hasErrorMessage: !!errorMessage,
9425
9390
  customSendIconStyle: styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon
9426
9391
  }), [
9427
9392
  theme,
9428
9393
  textValue,
9429
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ activeAttachmentUploads,
9394
+ /* @conditional-compile-remove(attachment-upload) */ activeAttachmentUploads,
9430
9395
  errorMessage,
9431
9396
  styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon
9432
9397
  ]);
9433
9398
  const onRenderSendIcon = React.useCallback((isHover) => onRenderIcon ? (onRenderIcon(isHover)) : (React.createElement(react.Icon, { iconName: isHover && textValue ? 'SendBoxSendHovered' : 'SendBoxSend', className: mergedSendIconStyle })), [mergedSendIconStyle, onRenderIcon, textValue]);
9434
9399
  // Ensure that errors are cleared when there are no attachments in sendBox
9435
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9400
+ /* @conditional-compile-remove(attachment-upload) */
9436
9401
  React.useEffect(() => {
9437
9402
  if (!(activeAttachmentUploads === null || activeAttachmentUploads === void 0 ? void 0 : activeAttachmentUploads.filter((upload) => !upload.uploadError).length)) {
9438
9403
  setAttachmentUploadsPendingError(undefined);
9439
9404
  }
9440
9405
  }, [activeAttachmentUploads]);
9441
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9406
+ /* @conditional-compile-remove(attachment-upload) */
9442
9407
  const sendBoxErrorsProps = React.useMemo(() => {
9443
9408
  var _a;
9444
9409
  return {
@@ -9446,7 +9411,7 @@ const SendBox$1 = (props) => {
9446
9411
  attachmentUploadError: (_a = activeAttachmentUploads === null || activeAttachmentUploads === void 0 ? void 0 : activeAttachmentUploads.filter((attachmentUpload) => attachmentUpload.uploadError).pop()) === null || _a === void 0 ? void 0 : _a.uploadError
9447
9412
  };
9448
9413
  }, [activeAttachmentUploads, attachmentUploadsPendingError]);
9449
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9414
+ /* @conditional-compile-remove(attachment-upload) */
9450
9415
  const onRenderAttachmentUploads = React.useCallback(() => {
9451
9416
  var _a, _b, _c, _d, _e, _f;
9452
9417
  if (!(activeAttachmentUploads === null || activeAttachmentUploads === void 0 ? void 0 : activeAttachmentUploads.filter((upload) => !upload.uploadError).length)) {
@@ -9468,8 +9433,8 @@ const SendBox$1 = (props) => {
9468
9433
  localeStrings.uploadCompleted
9469
9434
  ]);
9470
9435
  return (React.createElement(react.Stack, { className: react.mergeStyles(sendBoxWrapperStyles, { overflow: 'visible' } // This is needed for the mention popup to be visible
9471
- ) },
9472
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ React.createElement(SendBoxErrors, Object.assign({}, sendBoxErrorsProps)),
9436
+ ) }, /* @conditional-compile-remove(attachment-upload) */
9437
+ React.createElement(SendBoxErrors, Object.assign({}, sendBoxErrorsProps)),
9473
9438
  React.createElement(react.Stack, { className: borderAndBoxShadowStyle({
9474
9439
  theme,
9475
9440
  hasErrorMessage: !!errorMessage,
@@ -9491,7 +9456,7 @@ const SendBox$1 = (props) => {
9491
9456
  }
9492
9457
  e.stopPropagation();
9493
9458
  }, id: 'sendIconWrapper', className: mergedSendButtonStyle, ariaLabel: localeStrings.sendButtonAriaLabel, tooltipContent: localeStrings.sendButtonAriaLabel })),
9494
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
9459
+ /* @conditional-compile-remove(attachment-upload) */
9495
9460
  onRenderAttachmentUploads())));
9496
9461
  };
9497
9462
 
@@ -9943,6 +9908,15 @@ const richTextFormatButtonIconStyle = (theme, isSelected) => {
9943
9908
  color: isSelected ? theme.palette.themePrimary : theme.palette.neutralSecondary
9944
9909
  });
9945
9910
  };
9911
+ /**
9912
+ * @private
9913
+ */
9914
+ const editBoxRichTextEditorStyle = () => {
9915
+ return {
9916
+ minHeight: '2.25rem',
9917
+ maxHeight: '2.25rem'
9918
+ };
9919
+ };
9946
9920
  /**
9947
9921
  * @private
9948
9922
  */
@@ -10153,8 +10127,7 @@ const insertTableButton = (theme, maxRowsNumber, maxColumnsNumber) => {
10153
10127
  menuIconProps: {
10154
10128
  hidden: true
10155
10129
  },
10156
- onRenderIcon: (item) => {
10157
- console.log('onRenderIcon', item);
10130
+ onRenderIcon: () => {
10158
10131
  return React.createElement(TableIcon, null);
10159
10132
  },
10160
10133
  buttonStyles: ribbonTableButtonStyle(theme),
@@ -10236,8 +10209,8 @@ const ribbonButtons = (theme) => {
10236
10209
  dividerRibbonButton(theme, 'RichTextRibbonTextFormatDivider'),
10237
10210
  bulletListButton(theme),
10238
10211
  numberListButton(theme),
10239
- indentIncreaseButton(theme),
10240
10212
  indentDecreaseButton(theme),
10213
+ indentIncreaseButton(theme),
10241
10214
  dividerRibbonButton(theme, 'RichTextRibbonTableDivider'),
10242
10215
  insertTableButton(theme, MaxRowsNumber, MaxColumnsNumber)
10243
10216
  ].forEach((item) => {
@@ -10464,9 +10437,9 @@ const richTextBorderBoxStyle = (props) => {
10464
10437
  */
10465
10438
  const RichTextInputBoxComponent = (props) => {
10466
10439
  const { placeholderText, initialContent, onChange, onEnterKeyDown, editorComponentRef, disabled, strings, actionComponents,
10467
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10440
+ /* @conditional-compile-remove(attachment-upload) */
10468
10441
  onRenderAttachmentUploads,
10469
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10442
+ /* @conditional-compile-remove(attachment-upload) */
10470
10443
  hasAttachments, richTextEditorStyleProps, isHorizontalLayoutDisabled = false } = props;
10471
10444
  const theme = useTheme();
10472
10445
  const [showRichTextEditorFormatting, setShowRichTextEditorFormatting] = React.useState(false);
@@ -10505,11 +10478,11 @@ const RichTextInputBoxComponent = (props) => {
10505
10478
  const useHorizontalLayout = React.useMemo(() => {
10506
10479
  return (!isHorizontalLayoutDisabled &&
10507
10480
  !showRichTextEditorFormatting &&
10508
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ !hasAttachments);
10481
+ /* @conditional-compile-remove(attachment-upload) */ !hasAttachments);
10509
10482
  }, [
10510
10483
  isHorizontalLayoutDisabled,
10511
10484
  showRichTextEditorFormatting,
10512
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ hasAttachments
10485
+ /* @conditional-compile-remove(attachment-upload) */ hasAttachments
10513
10486
  ]);
10514
10487
  return (React.createElement("div", { className: richTextBorderBoxStyle({
10515
10488
  theme: theme,
@@ -10519,7 +10492,7 @@ const RichTextInputBoxComponent = (props) => {
10519
10492
  React.createElement(react.Stack, { grow: true, className: inputBoxRichTextStackStyle },
10520
10493
  React.createElement(react.Stack.Item, { className: inputBoxRichTextStackItemStyle },
10521
10494
  React.createElement(RichTextEditor, { initialContent: initialContent, placeholderText: placeholderText, onChange: onChange, onKeyDown: onKeyDown, ref: editorComponentRef, strings: strings, showRichTextEditorFormatting: showRichTextEditorFormatting, styles: richTextEditorStyle })),
10522
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ onRenderAttachmentUploads &&
10495
+ /* @conditional-compile-remove(attachment-upload) */ onRenderAttachmentUploads &&
10523
10496
  onRenderAttachmentUploads()),
10524
10497
  actionButtons)));
10525
10498
  };
@@ -10531,9 +10504,9 @@ const RichTextInputBoxComponent = (props) => {
10531
10504
  */
10532
10505
  const RichTextSendBoxErrors = (props) => {
10533
10506
  const {
10534
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10507
+ /* @conditional-compile-remove(attachment-upload) */
10535
10508
  attachmentUploadError,
10536
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10509
+ /* @conditional-compile-remove(attachment-upload) */
10537
10510
  attachmentUploadsPendingError, systemMessage, textTooLongMessage } = props;
10538
10511
  const [sendBoxError, setSendBoxError] = React.useState(undefined);
10539
10512
  React.useEffect(() => {
@@ -10558,11 +10531,11 @@ const RichTextSendBoxErrors = (props) => {
10558
10531
  if (prev) {
10559
10532
  errors.push(prev);
10560
10533
  }
10561
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10534
+ /* @conditional-compile-remove(attachment-upload) */
10562
10535
  if (attachmentUploadsPendingError) {
10563
10536
  errors.push(attachmentUploadsPendingError);
10564
10537
  }
10565
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10538
+ /* @conditional-compile-remove(attachment-upload) */
10566
10539
  if (attachmentUploadError) {
10567
10540
  errors.push(attachmentUploadError);
10568
10541
  }
@@ -10574,8 +10547,8 @@ const RichTextSendBoxErrors = (props) => {
10574
10547
  return sortedErrors[0];
10575
10548
  });
10576
10549
  }, [
10577
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ attachmentUploadError,
10578
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ attachmentUploadsPendingError
10550
+ /* @conditional-compile-remove(attachment-upload) */ attachmentUploadError,
10551
+ /* @conditional-compile-remove(attachment-upload) */ attachmentUploadsPendingError
10579
10552
  ]);
10580
10553
  const onDismiss = React.useCallback(() => {
10581
10554
  if (systemMessage && !isMessageEmpty$1(systemMessage)) {
@@ -10599,9 +10572,9 @@ const isMessageEmpty$1 = (message) => {
10599
10572
  */
10600
10573
  const RichTextSendBox = (props) => {
10601
10574
  const { disabled = false, systemMessage, onSendMessage,
10602
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10575
+ /* @conditional-compile-remove(attachment-upload) */
10603
10576
  activeAttachmentUploads,
10604
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10577
+ /* @conditional-compile-remove(attachment-upload) */
10605
10578
  onCancelAttachmentUpload } = props;
10606
10579
  const theme = useTheme();
10607
10580
  const locale = useLocale$1();
@@ -10614,7 +10587,7 @@ const RichTextSendBox = (props) => {
10614
10587
  }, [localeStrings, props.strings]);
10615
10588
  const [contentValue, setContentValue] = React.useState('');
10616
10589
  const [contentValueOverflow, setContentValueOverflow] = React.useState(false);
10617
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10590
+ /* @conditional-compile-remove(attachment-upload) */
10618
10591
  const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = React.useState(undefined);
10619
10592
  const editorComponentRef = React.useRef(null);
10620
10593
  const contentTooLongMessage = React.useMemo(() => (contentValueOverflow ? strings.textTooLong : undefined), [contentValueOverflow, strings.textTooLong]);
@@ -10631,9 +10604,9 @@ const RichTextSendBox = (props) => {
10631
10604
  return;
10632
10605
  }
10633
10606
  // Don't send message until all attachments have been uploaded successfully
10634
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10607
+ /* @conditional-compile-remove(attachment-upload) */
10635
10608
  setAttachmentUploadsPendingError(undefined);
10636
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10609
+ /* @conditional-compile-remove(attachment-upload) */
10637
10610
  if (hasIncompleteAttachmentUploads(activeAttachmentUploads)) {
10638
10611
  setAttachmentUploadsPendingError({ message: strings.attachmentUploadsPendingError, timestamp: Date.now() });
10639
10612
  return;
@@ -10642,7 +10615,7 @@ const RichTextSendBox = (props) => {
10642
10615
  // we don't want to send empty messages including spaces, newlines, tabs
10643
10616
  // Message can be empty if there is a valid attachment upload
10644
10617
  if (sanitizeText(message).length > 0 ||
10645
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(activeAttachmentUploads)) {
10618
+ /* @conditional-compile-remove(attachment-upload) */ hasCompletedAttachmentUploads(activeAttachmentUploads)) {
10646
10619
  onSendMessage(message);
10647
10620
  setContentValue('');
10648
10621
  (_a = editorComponentRef.current) === null || _a === void 0 ? void 0 : _a.setEmptyContent();
@@ -10653,29 +10626,29 @@ const RichTextSendBox = (props) => {
10653
10626
  contentValueOverflow,
10654
10627
  disabled,
10655
10628
  onSendMessage,
10656
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ activeAttachmentUploads,
10657
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ strings.attachmentUploadsPendingError
10629
+ /* @conditional-compile-remove(attachment-upload) */ activeAttachmentUploads,
10630
+ /* @conditional-compile-remove(attachment-upload) */ strings.attachmentUploadsPendingError
10658
10631
  ]);
10659
10632
  const hasErrorMessage = React.useMemo(() => {
10660
10633
  var _a;
10661
10634
  return (!!systemMessage ||
10662
10635
  !!contentTooLongMessage ||
10663
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10636
+ /* @conditional-compile-remove(attachment-upload) */
10664
10637
  !!attachmentUploadsPendingError ||
10665
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10638
+ /* @conditional-compile-remove(attachment-upload) */
10666
10639
  !!((_a = activeAttachmentUploads === null || activeAttachmentUploads === void 0 ? void 0 : activeAttachmentUploads.filter((attachmentUpload) => attachmentUpload.uploadError).pop()) === null || _a === void 0 ? void 0 : _a.uploadError));
10667
10640
  }, [
10668
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10641
+ /* @conditional-compile-remove(attachment-upload) */
10669
10642
  activeAttachmentUploads,
10670
10643
  contentTooLongMessage,
10671
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10644
+ /* @conditional-compile-remove(attachment-upload) */
10672
10645
  attachmentUploadsPendingError,
10673
10646
  systemMessage
10674
10647
  ]);
10675
10648
  const onRenderSendIcon = React.useCallback((isHover) => (React.createElement(react.Icon, { iconName: isHover && contentValue ? 'SendBoxSendHovered' : 'SendBoxSend', className: sendIconStyle({
10676
10649
  theme,
10677
10650
  hasText: !!contentValue,
10678
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10651
+ /* @conditional-compile-remove(attachment-upload) */
10679
10652
  hasAttachment: false,
10680
10653
  hasErrorMessage: hasErrorMessage,
10681
10654
  defaultTextColor: theme.palette.neutralSecondary,
@@ -10684,22 +10657,22 @@ const RichTextSendBox = (props) => {
10684
10657
  const sendBoxErrorsProps = React.useMemo(() => {
10685
10658
  var _a;
10686
10659
  return {
10687
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10660
+ /* @conditional-compile-remove(attachment-upload) */
10688
10661
  attachmentUploadsPendingError: attachmentUploadsPendingError,
10689
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10662
+ /* @conditional-compile-remove(attachment-upload) */
10690
10663
  attachmentUploadError: (_a = activeAttachmentUploads === null || activeAttachmentUploads === void 0 ? void 0 : activeAttachmentUploads.filter((attachmentUpload) => attachmentUpload.uploadError).pop()) === null || _a === void 0 ? void 0 : _a.uploadError,
10691
10664
  systemMessage: systemMessage,
10692
10665
  textTooLongMessage: contentTooLongMessage
10693
10666
  };
10694
10667
  }, [
10695
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10668
+ /* @conditional-compile-remove(attachment-upload) */
10696
10669
  activeAttachmentUploads,
10697
10670
  contentTooLongMessage,
10698
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10671
+ /* @conditional-compile-remove(attachment-upload) */
10699
10672
  attachmentUploadsPendingError,
10700
10673
  systemMessage
10701
10674
  ]);
10702
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10675
+ /* @conditional-compile-remove(attachment-upload) */
10703
10676
  const onRenderAttachmentUploads = React.useCallback(() => {
10704
10677
  return (React.createElement(react.Stack, { className: attachmentUploadCardsStyles },
10705
10678
  React.createElement(FluentV9ThemeProvider, { v8Theme: theme },
@@ -10722,16 +10695,16 @@ const RichTextSendBox = (props) => {
10722
10695
  e.stopPropagation(); // Prevents the click from bubbling up and triggering a focus event on the chat.
10723
10696
  }, className: richTextActionButtonsStyle, ariaLabel: localeStrings.sendButtonAriaLabel, tooltipContent: localeStrings.sendButtonAriaLabel }));
10724
10697
  }, [localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]);
10725
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10698
+ /* @conditional-compile-remove(attachment-upload) */
10726
10699
  const hasAttachmentUploads = React.useMemo(() => {
10727
10700
  return (hasCompletedAttachmentUploads(activeAttachmentUploads) || hasIncompleteAttachmentUploads(activeAttachmentUploads));
10728
10701
  }, [activeAttachmentUploads]);
10729
10702
  return (React.createElement(react.Stack, null,
10730
10703
  React.createElement(RichTextSendBoxErrors, Object.assign({}, sendBoxErrorsProps)),
10731
10704
  React.createElement(RichTextInputBoxComponent, { placeholderText: strings.placeholderText, onChange: setContent, onEnterKeyDown: sendMessageOnClick, editorComponentRef: editorComponentRef, strings: strings, disabled: disabled, actionComponents: sendButton, richTextEditorStyleProps: sendBoxRichTextEditorStyle,
10732
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10705
+ /* @conditional-compile-remove(attachment-upload) */
10733
10706
  onRenderAttachmentUploads: onRenderAttachmentUploads,
10734
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
10707
+ /* @conditional-compile-remove(attachment-upload) */
10735
10708
  hasAttachments: hasAttachmentUploads })));
10736
10709
  };
10737
10710
 
@@ -10765,7 +10738,7 @@ const inputBoxIcon = react.mergeStyles({
10765
10738
  /**
10766
10739
  * @private
10767
10740
  */
10768
- react.mergeStyles(editorTextBoxButtonStyle, {
10741
+ const richTextEditBoxActionButtonIcon = react.mergeStyles(editorTextBoxButtonStyle, {
10769
10742
  '&:hover svg': {
10770
10743
  stroke: 'currentColor'
10771
10744
  }
@@ -11159,7 +11132,7 @@ const useChatMessageEditContainerStyles = reactComponents.makeStyles({
11159
11132
  /**
11160
11133
  * @private
11161
11134
  */
11162
- reactComponents.makeStyles({
11135
+ const useChatMessageRichTextEditContainerStyles = reactComponents.makeStyles({
11163
11136
  body: Object.assign(Object.assign(Object.assign(Object.assign({}, reactComponents.shorthands.padding(0)), { backgroundColor: 'transparent' }), reactComponents.shorthands.margin('1.25rem', 0, 0, 0)), { width: '100%' }),
11164
11137
  bodyAttached: {
11165
11138
  marginTop: '0.125rem',
@@ -11221,24 +11194,23 @@ const onRenderSubmitIcon = (className) => {
11221
11194
  return React.createElement(react.Icon, { iconName: 'EditBoxSubmit', className: className });
11222
11195
  };
11223
11196
  function isMessageEmpty(messageText,
11224
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
11197
+ /* @conditional-compile-remove(attachment-upload) */
11225
11198
  attachmentMetadata) {
11226
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
11199
+ /* @conditional-compile-remove(attachment-upload) */
11227
11200
  return messageText.trim().length === 0 && (attachmentMetadata === null || attachmentMetadata === void 0 ? void 0 : attachmentMetadata.length) === 0;
11228
11201
  }
11229
11202
  /**
11230
11203
  * @private
11231
11204
  */
11232
11205
  function getMessageState(messageText,
11233
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ attachmentMetadata) {
11234
- return isMessageEmpty(messageText,
11235
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ attachmentMetadata)
11206
+ /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata) {
11207
+ return isMessageEmpty(messageText, /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata)
11236
11208
  ? 'too short'
11237
11209
  : isMessageTooLong(messageText.length)
11238
11210
  ? 'too long'
11239
11211
  : 'OK';
11240
11212
  }
11241
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
11213
+ /* @conditional-compile-remove(attachment-upload) */
11242
11214
  /**
11243
11215
  * @private
11244
11216
  * @TODO: Remove when file-sharing feature becomes stable.
@@ -11663,97 +11635,6 @@ const generateParticipantsStr = (participants, defaultName) => participants
11663
11635
  .map((participant) => `${!participant.displayName || participant.displayName === '' ? defaultName : participant.displayName}`)
11664
11636
  .join(', ');
11665
11637
 
11666
- // Copyright (c) Microsoft Corporation.
11667
- // Licensed under the MIT License.
11668
- /**
11669
- * @private
11670
- */
11671
- const ChatMessageComponentAsEditBox = (props) => {
11672
- const { onCancel, onSubmit, strings, message } = props;
11673
- /* @conditional-compile-remove(mention) */
11674
- const { mentionLookupOptions } = props;
11675
- const [textValue, setTextValue] = React.useState(message.content || '');
11676
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
11677
- const [attachmentMetadata, setAttachmentMetadata] = React.useState(getMessageWithAttachmentMetadata(message));
11678
- const editTextFieldRef = React.useRef(null);
11679
- const theme = useTheme();
11680
- const messageState = getMessageState(textValue,
11681
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ attachmentMetadata !== null && attachmentMetadata !== void 0 ? attachmentMetadata : []);
11682
- const submitEnabled = messageState === 'OK';
11683
- const editContainerStyles = useChatMessageEditContainerStyles();
11684
- const chatMyMessageStyles = useChatMyMessageStyles();
11685
- React.useEffect(() => {
11686
- var _a;
11687
- (_a = editTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
11688
- }, []);
11689
- const setText = (event, newValue) => {
11690
- setTextValue(newValue !== null && newValue !== void 0 ? newValue : '');
11691
- };
11692
- const textTooLongMessage = messageState === 'too long'
11693
- ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })
11694
- : undefined;
11695
- const iconClassName = React.useCallback((isHover) => {
11696
- const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;
11697
- return react.mergeStyles(inputBoxIcon, { color });
11698
- }, [theme.palette.accent, theme.palette.neutralSecondary]);
11699
- const onRenderThemedCancelIcon = React.useCallback((isHover) => {
11700
- return onRenderCancelIcon(iconClassName(isHover));
11701
- }, [iconClassName]);
11702
- const onRenderThemedSubmitIcon = React.useCallback((isHover) => {
11703
- return onRenderSubmitIcon(iconClassName(isHover));
11704
- }, [iconClassName]);
11705
- const editBoxStyles = React.useMemo(() => {
11706
- return react.concatStyleSets(editBoxStyleSet, { textField: { borderColor: theme.palette.themePrimary } });
11707
- }, [theme.palette.themePrimary]);
11708
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
11709
- const onRenderAttachmentUploads = React.useCallback(() => {
11710
- return (!!attachmentMetadata &&
11711
- attachmentMetadata.length > 0 && (React.createElement("div", { style: { margin: '0.25rem' } },
11712
- React.createElement(_AttachmentUploadCards, { activeAttachmentUploads: attachmentMetadata, onCancelAttachmentUpload: (attachmentId) => {
11713
- setAttachmentMetadata(attachmentMetadata === null || attachmentMetadata === void 0 ? void 0 : attachmentMetadata.filter((attachment) => attachment.id !== attachmentId));
11714
- } }))));
11715
- }, [attachmentMetadata]);
11716
- const getContent = () => {
11717
- return (React.createElement(React.Fragment, null,
11718
- React.createElement(InputBoxComponent, { "data-ui-id": "edit-box", textFieldRef: editTextFieldRef, inputClassName: editBoxStyle, placeholderText: strings.editBoxPlaceholderText, textValue: textValue, onChange: setText, onKeyDown: (ev) => {
11719
- if (ev.key === 'ArrowUp' || ev.key === 'ArrowDown') {
11720
- ev.stopPropagation();
11721
- }
11722
- }, onEnterKeyDown: () => {
11723
- submitEnabled &&
11724
- onSubmit(textValue, message.metadata,
11725
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ {
11726
- attachmentMetadata
11727
- });
11728
- }, supportNewline: false, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, errorMessage: textTooLongMessage, styles: editBoxStyles,
11729
- /* @conditional-compile-remove(mention) */
11730
- mentionLookupOptions: mentionLookupOptions }),
11731
- React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: editChatMessageButtonsStackStyle, tokens: { childrenGap: '0.25rem' } },
11732
- message.failureReason && (React.createElement(react.Stack.Item, { grow: true, align: "stretch", className: chatMessageFailedTagStackItemStyle },
11733
- React.createElement("div", { className: react.mergeStyles(chatMessageFailedTagStyle(theme), editChatMessageFailedTagStyle) }, message.failureReason))),
11734
- React.createElement(react.Stack.Item, { align: "end" },
11735
- React.createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxCancelButton, tooltipContent: strings.editBoxCancelButton, onRenderIcon: onRenderThemedCancelIcon, onClick: () => {
11736
- onCancel && onCancel(message.messageId);
11737
- }, id: 'dismissIconWrapper' })),
11738
- React.createElement(react.Stack.Item, { align: "end" },
11739
- React.createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxSubmitButton, tooltipContent: strings.editBoxSubmitButton, onRenderIcon: onRenderThemedSubmitIcon, onClick: (e) => {
11740
- submitEnabled &&
11741
- onSubmit(textValue, message.metadata,
11742
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ {
11743
- attachmentMetadata
11744
- });
11745
- e.stopPropagation();
11746
- }, id: 'submitIconWrapper' }))),
11747
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ onRenderAttachmentUploads()));
11748
- };
11749
- const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';
11750
- return (React.createElement(reactChat.ChatMyMessage, { attached: attached, root: {
11751
- className: chatMyMessageStyles.root
11752
- }, body: {
11753
- className: reactComponents.mergeClasses(editContainerStyles.body, message.failureReason !== undefined ? editContainerStyles.bodyError : editContainerStyles.bodyDefault, attached !== 'top' ? editContainerStyles.bodyAttached : undefined)
11754
- } }, getContent()));
11755
- };
11756
-
11757
11638
  // Copyright (c) Microsoft Corporation.
11758
11639
  // Licensed under the MIT License.
11759
11640
  /**
@@ -12498,6 +12379,117 @@ const MessageBubble$1 = (props) => {
12498
12379
  /** @private */
12499
12380
  const ChatMyMessageComponentAsMessageBubble = React.memo(MessageBubble$1);
12500
12381
 
12382
+ // Copyright (c) Microsoft Corporation.
12383
+ // Licensed under the MIT License.
12384
+ /**
12385
+ * @private
12386
+ */
12387
+ const ChatMessageComponentAsEditBox = (props) => {
12388
+ const { onCancel, onSubmit, strings, message } = props;
12389
+ /* @conditional-compile-remove(mention) */
12390
+ const { mentionLookupOptions } = props;
12391
+ const [textValue, setTextValue] = React.useState(message.content || '');
12392
+ /* @conditional-compile-remove(attachment-upload) */
12393
+ const [attachmentMetadata, setAttachmentMetadata] = React.useState(getMessageWithAttachmentMetadata(message));
12394
+ const editTextFieldRef = React.useRef(null);
12395
+ const theme = useTheme();
12396
+ const messageState = getMessageState(textValue,
12397
+ /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata !== null && attachmentMetadata !== void 0 ? attachmentMetadata : []);
12398
+ const submitEnabled = messageState === 'OK';
12399
+ const editContainerStyles = useChatMessageEditContainerStyles();
12400
+ const chatMyMessageStyles = useChatMyMessageStyles();
12401
+ React.useEffect(() => {
12402
+ var _a;
12403
+ (_a = editTextFieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
12404
+ }, []);
12405
+ const setText = (event, newValue) => {
12406
+ setTextValue(newValue !== null && newValue !== void 0 ? newValue : '');
12407
+ };
12408
+ const textTooLongMessage = messageState === 'too long'
12409
+ ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })
12410
+ : undefined;
12411
+ const iconClassName = React.useCallback((isHover) => {
12412
+ const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;
12413
+ return react.mergeStyles(inputBoxIcon, { color });
12414
+ }, [theme.palette.accent, theme.palette.neutralSecondary]);
12415
+ const onRenderThemedCancelIcon = React.useCallback((isHover) => {
12416
+ return onRenderCancelIcon(iconClassName(isHover));
12417
+ }, [iconClassName]);
12418
+ const onRenderThemedSubmitIcon = React.useCallback((isHover) => {
12419
+ return onRenderSubmitIcon(iconClassName(isHover));
12420
+ }, [iconClassName]);
12421
+ const editBoxStyles = React.useMemo(() => {
12422
+ return react.concatStyleSets(editBoxStyleSet, { textField: { borderColor: theme.palette.themePrimary } });
12423
+ }, [theme.palette.themePrimary]);
12424
+ /* @conditional-compile-remove(attachment-upload) */
12425
+ const onRenderAttachmentUploads = React.useCallback(() => {
12426
+ return (!!attachmentMetadata &&
12427
+ attachmentMetadata.length > 0 && (React.createElement("div", { style: { margin: '0.25rem' } },
12428
+ React.createElement(_AttachmentUploadCards, { activeAttachmentUploads: attachmentMetadata, onCancelAttachmentUpload: (attachmentId) => {
12429
+ setAttachmentMetadata(attachmentMetadata === null || attachmentMetadata === void 0 ? void 0 : attachmentMetadata.filter((attachment) => attachment.id !== attachmentId));
12430
+ } }))));
12431
+ }, [attachmentMetadata]);
12432
+ const getContent = () => {
12433
+ return (React.createElement(React.Fragment, null,
12434
+ React.createElement(InputBoxComponent, { "data-ui-id": "edit-box", textFieldRef: editTextFieldRef, inputClassName: editBoxStyle, placeholderText: strings.editBoxPlaceholderText, textValue: textValue, onChange: setText, onKeyDown: (ev) => {
12435
+ if (ev.key === 'ArrowUp' || ev.key === 'ArrowDown') {
12436
+ ev.stopPropagation();
12437
+ }
12438
+ }, onEnterKeyDown: () => {
12439
+ submitEnabled &&
12440
+ onSubmit(textValue, message.metadata,
12441
+ /* @conditional-compile-remove(attachment-upload) */ {
12442
+ attachmentMetadata
12443
+ });
12444
+ }, supportNewline: false, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, errorMessage: textTooLongMessage, styles: editBoxStyles,
12445
+ /* @conditional-compile-remove(mention) */
12446
+ mentionLookupOptions: mentionLookupOptions }),
12447
+ React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: editChatMessageButtonsStackStyle, tokens: { childrenGap: '0.25rem' } },
12448
+ message.failureReason && (React.createElement(react.Stack.Item, { grow: true, align: "stretch", className: chatMessageFailedTagStackItemStyle },
12449
+ React.createElement("div", { className: react.mergeStyles(chatMessageFailedTagStyle(theme), editChatMessageFailedTagStyle) }, message.failureReason))),
12450
+ React.createElement(react.Stack.Item, { align: "end" },
12451
+ React.createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxCancelButton, tooltipContent: strings.editBoxCancelButton, onRenderIcon: onRenderThemedCancelIcon, onClick: () => {
12452
+ onCancel && onCancel(message.messageId);
12453
+ }, id: 'dismissIconWrapper' })),
12454
+ React.createElement(react.Stack.Item, { align: "end" },
12455
+ React.createElement(InputBoxButton, { className: editingButtonStyle, ariaLabel: strings.editBoxSubmitButton, tooltipContent: strings.editBoxSubmitButton, onRenderIcon: onRenderThemedSubmitIcon, onClick: (e) => {
12456
+ submitEnabled &&
12457
+ onSubmit(textValue, message.metadata,
12458
+ /* @conditional-compile-remove(attachment-upload) */ {
12459
+ attachmentMetadata
12460
+ });
12461
+ e.stopPropagation();
12462
+ }, id: 'submitIconWrapper' }))), /* @conditional-compile-remove(attachment-upload) */
12463
+ onRenderAttachmentUploads()));
12464
+ };
12465
+ const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';
12466
+ return (React.createElement(reactChat.ChatMyMessage, { attached: attached, root: {
12467
+ className: chatMyMessageStyles.root
12468
+ }, body: {
12469
+ className: reactComponents.mergeClasses(editContainerStyles.body, message.failureReason !== undefined ? editContainerStyles.bodyError : editContainerStyles.bodyDefault, attached !== 'top' ? editContainerStyles.bodyAttached : undefined)
12470
+ } }, getContent()));
12471
+ };
12472
+
12473
+ // Copyright (c) Microsoft Corporation.
12474
+ // Licensed under the MIT License.
12475
+ /* @conditional-compile-remove(rich-text-editor) */
12476
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-ButXxDca.js'); }).then((module) => ({
12477
+ default: module.ChatMessageComponentAsRichTextEditBox
12478
+ })));
12479
+ /**
12480
+ * @private
12481
+ */
12482
+ const ChatMessageComponentAsEditBoxPicker = (props) => {
12483
+ /* @conditional-compile-remove(rich-text-editor) */
12484
+ const { richTextEditor } = props;
12485
+ /* @conditional-compile-remove(rich-text-editor) */
12486
+ if (richTextEditor) {
12487
+ return (React.createElement(React.Suspense, null,
12488
+ React.createElement(ChatMessageComponentAsRichTextEditBox, Object.assign({}, props))));
12489
+ }
12490
+ return React.createElement(ChatMessageComponentAsEditBox, Object.assign({}, props));
12491
+ };
12492
+
12501
12493
  // Copyright (c) Microsoft Corporation.
12502
12494
  // Licensed under the MIT License.
12503
12495
  var __awaiter$C = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -12533,17 +12525,24 @@ const ChatMyMessageComponent = (props) => {
12533
12525
  onSendMessage && onSendMessage(content !== undefined ? content : '');
12534
12526
  }, [clientMessageId, content, onSendMessage, onDeleteMessage]);
12535
12527
  if (isEditing && message.messageType === 'chat') {
12536
- return (React.createElement(ChatMessageComponentAsEditBox, { message: message, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$C(void 0, void 0, void 0, function* () {
12528
+ return (React.createElement(ChatMessageComponentAsEditBoxPicker, { message: message, strings: props.strings, onSubmit: (text, metadata, options) => __awaiter$C(void 0, void 0, void 0, function* () {
12537
12529
  props.onUpdateMessage &&
12538
12530
  message.messageId &&
12539
- (yield props.onUpdateMessage(message.messageId, text, metadata, options));
12531
+ (yield props.onUpdateMessage(message.messageId, text,
12532
+ /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
12533
+ {
12534
+ metadata: metadata,
12535
+ attachmentMetadata: options === null || options === void 0 ? void 0 : options.attachmentMetadata
12536
+ }));
12540
12537
  setIsEditing(false);
12541
12538
  }), onCancel: (messageId) => {
12542
12539
  props.onCancelEditMessage && props.onCancelEditMessage(messageId);
12543
12540
  setIsEditing(false);
12544
12541
  },
12545
12542
  /* @conditional-compile-remove(mention) */
12546
- mentionLookupOptions: (_a = props.mentionOptions) === null || _a === void 0 ? void 0 : _a.lookupOptions }));
12543
+ mentionLookupOptions: (_a = props.mentionOptions) === null || _a === void 0 ? void 0 : _a.lookupOptions,
12544
+ /* @conditional-compile-remove(rich-text-editor) */
12545
+ richTextEditor: props.richTextEditor }));
12547
12546
  }
12548
12547
  else {
12549
12548
  return (React.createElement(ChatMyMessageComponentAsMessageBubble, Object.assign({}, props, { onRemoveClick: onRemoveClick, onEditClick: onEditClick, onResendClick: onResendClick, onRenderAvatar: props.onRenderAvatar,
@@ -12573,7 +12572,9 @@ const FluentChatMyMessageComponent = (props) => {
12573
12572
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
12574
12573
  actionsForAttachment,
12575
12574
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
12576
- onRenderAttachmentDownloads } = props;
12575
+ onRenderAttachmentDownloads,
12576
+ /* @conditional-compile-remove(rich-text-editor) */
12577
+ richTextEditor } = props;
12577
12578
  const chatMessageRenderStyles = useChatMessageRenderStyles();
12578
12579
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
12579
12580
  const onRenderAttachmentDownloadsMemo = React.useMemo(() => {
@@ -12597,7 +12598,9 @@ const FluentChatMyMessageComponent = (props) => {
12597
12598
  /* @conditional-compile-remove(mention) */
12598
12599
  mentionOptions: mentionOptions,
12599
12600
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
12600
- actionsForAttachment: actionsForAttachment })));
12601
+ actionsForAttachment: actionsForAttachment,
12602
+ /* @conditional-compile-remove(rich-text-editor) */
12603
+ richTextEditor: richTextEditor })));
12601
12604
  }
12602
12605
  return React.createElement(React.Fragment, null);
12603
12606
  }, [
@@ -12617,7 +12620,9 @@ const FluentChatMyMessageComponent = (props) => {
12617
12620
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
12618
12621
  actionsForAttachment,
12619
12622
  // eslint-disable-next-line react-hooks/exhaustive-deps
12620
- new Date().toDateString()
12623
+ new Date().toDateString(),
12624
+ /* @conditional-compile-remove(rich-text-editor) */
12625
+ richTextEditor
12621
12626
  ]);
12622
12627
  const messageRenderer = React.useCallback((messageProps) => {
12623
12628
  return onRenderMessage === undefined
@@ -13071,7 +13076,9 @@ const MessageThreadWrapper = (props) => {
13071
13076
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
13072
13077
  attachmentOptions,
13073
13078
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
13074
- onRenderAttachmentDownloads } = props;
13079
+ onRenderAttachmentDownloads,
13080
+ /* @conditional-compile-remove(rich-text-editor) */
13081
+ richTextEditor = false } = props;
13075
13082
  // We need this state to wait for one tick and scroll to bottom after messages have been initialized.
13076
13083
  // Otherwise chatScrollDivRef.current.clientHeight is wrong if we scroll to bottom before messages are initialized.
13077
13084
  const [chatMessagesInitialized, setChatMessagesInitialized] = React.useState(false);
@@ -13414,7 +13421,9 @@ const MessageThreadWrapper = (props) => {
13414
13421
  /* @conditional-compile-remove(mention) */
13415
13422
  mentionOptions: mentionOptions,
13416
13423
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
13417
- onRenderAttachmentDownloads: onRenderAttachmentDownloads })));
13424
+ onRenderAttachmentDownloads: onRenderAttachmentDownloads,
13425
+ /* @conditional-compile-remove(rich-text-editor) */
13426
+ richTextEditor: richTextEditor })));
13418
13427
  }))))));
13419
13428
  };
13420
13429
  const MemoChatMessageComponentWrapper = React.memo((obj) => {
@@ -14345,7 +14354,10 @@ const emojiStyles = (backgroundImage, frameCount) => {
14345
14354
  animationDuration: '8.12s',
14346
14355
  animationTimingFunction: `steps(${steps})`,
14347
14356
  animationIterationCount: 'infinite',
14348
- backgroundColor: 'unset'
14357
+ backgroundColor: 'transparent'
14358
+ },
14359
+ ':active': {
14360
+ backgroundColor: 'transparent'
14349
14361
  }
14350
14362
  };
14351
14363
  };
@@ -14457,7 +14469,7 @@ const _ReactionDrawerMenuItem = (props) => {
14457
14469
  marginTop: '12px'
14458
14470
  }
14459
14471
  };
14460
- return (React.createElement(react.Stack, { id: "reaction", role: "menuitem", horizontal: true, className: react.mergeStyles(drawerMenuItemRootStyles(theme.palette.neutralLight, theme.fonts.small), props.disabled ? disabledDrawerMenuItemRootStyles(theme.palette.neutralQuaternaryAlt) : undefined, modifiedFirstItemStyle.root) },
14472
+ return (React.createElement(react.Stack, { "data-ui-id": "reaction-mobile-drawer-menu-item", id: "reaction", role: "menuitem", horizontal: true, className: react.mergeStyles(drawerMenuItemRootStyles(theme.palette.neutralLight, theme.fonts.small), props.disabled ? disabledDrawerMenuItemRootStyles(theme.palette.neutralQuaternaryAlt) : undefined, modifiedFirstItemStyle.root) },
14461
14473
  React.createElement("div", { style: mobileViewMenuItemStyle() }, emojis.map((emoji, index) => {
14462
14474
  const resourceUrl = emojiResource.get(emoji.toString());
14463
14475
  return (React.createElement(react.IconButton, { key: index, onClick: () => {
@@ -14765,10 +14777,31 @@ const useVideoTileContextualMenuProps = (props) => {
14765
14777
  // Copyright (c) Microsoft Corporation.
14766
14778
  // Licensed under the MIT License.
14767
14779
  /* @conditional-compile-remove(reaction) */
14768
- /**
14769
- * @private
14770
- */
14771
- const DEFAULT_ORIGINAL_EMOJI_SIZE = 84;
14780
+ /** @private */
14781
+ const REACTION_START_DISPLAY_SIZE = 44;
14782
+ /* @conditional-compile-remove(reaction) */
14783
+ /** @private */
14784
+ const REACTION_NUMBER_OF_ANIMATION_FRAMES = 51;
14785
+ /* @conditional-compile-remove(reaction) */
14786
+ /** @private */
14787
+ const REACTION_SCREEN_SHARE_ANIMATION_TIME_MS = 4133;
14788
+ /* @conditional-compile-remove(reaction) */
14789
+ /** @private */
14790
+ const REACTION_DEFAULT_RESOURCE_FRAME_SIZE_PX = 128;
14791
+ /* @conditional-compile-remove(reaction) */
14792
+ /** @private */
14793
+ const getCombinedKey = (userId, reactionType, receivedAt) => {
14794
+ const receivedTime = receivedAt.toISOString();
14795
+ return userId + reactionType + receivedTime;
14796
+ };
14797
+ /* @conditional-compile-remove(reaction) */
14798
+ /** @private */
14799
+ const getReceivedUnixTime = (receivedTime) => {
14800
+ return receivedTime.getTime();
14801
+ };
14802
+
14803
+ // Copyright (c) Microsoft Corporation.
14804
+ // Licensed under the MIT License.
14772
14805
  /**
14773
14806
  * @private
14774
14807
  */
@@ -14927,12 +14960,12 @@ const raiseHandLimitedSpaceStyles = {
14927
14960
  /**
14928
14961
  * @private
14929
14962
  */
14930
- const playFrames = react.memoizeFunction(() => react.keyframes({
14963
+ const playFrames = react.memoizeFunction((frameHightPx, frameCount) => react.keyframes({
14931
14964
  from: {
14932
- backgroundPosition: '0px 8568px'
14965
+ backgroundPosition: `0px 0px`
14933
14966
  },
14934
14967
  to: {
14935
- backgroundPosition: '0px 0px'
14968
+ backgroundPosition: `0px ${frameCount * -frameHightPx}px`
14936
14969
  }
14937
14970
  }));
14938
14971
  /* @conditional-compile-remove(reaction) */
@@ -14942,24 +14975,21 @@ const playFrames = react.memoizeFunction(() => react.keyframes({
14942
14975
  const reactionRenderingStyle = (args) => {
14943
14976
  var _a;
14944
14977
  const imageUrl = `url(${args.spriteImageUrl})`;
14945
- const steps = (_a = args.frameCount) !== null && _a !== void 0 ? _a : 51;
14978
+ const steps = (_a = args.frameCount) !== null && _a !== void 0 ? _a : 0;
14979
+ const frameSizePx = args.rawFrameSize;
14946
14980
  return react.mergeStyles({
14947
- height: '100%',
14948
- width: '100%',
14981
+ height: `${frameSizePx}px`,
14982
+ width: `${frameSizePx}px`,
14949
14983
  overflow: 'hidden',
14950
- animationName: playFrames(),
14984
+ animationName: playFrames(frameSizePx, steps),
14951
14985
  backgroundImage: imageUrl,
14952
- animationDuration: '5.12s',
14986
+ animationDuration: `${REACTION_SCREEN_SHARE_ANIMATION_TIME_MS / 1000}s`,
14953
14987
  animationTimingFunction: `steps(${steps})`,
14954
- backgroundSize: `cover`,
14955
14988
  animationPlayState: 'running',
14956
14989
  animationIterationCount: 'infinite',
14957
- justifyContent: 'center',
14958
- alignItems: 'center',
14959
- backgroundPosition: `center`,
14960
- transform: `scale(${DEFAULT_ORIGINAL_EMOJI_SIZE < args.emojiSize
14961
- ? DEFAULT_ORIGINAL_EMOJI_SIZE / args.emojiSize
14962
- : args.emojiSize / DEFAULT_ORIGINAL_EMOJI_SIZE})`
14990
+ // Scale the emoji to fit the parent container
14991
+ transform: `scale(${args.emojiSize / frameSizePx})`,
14992
+ transformOrigin: 'top left'
14963
14993
  });
14964
14994
  };
14965
14995
 
@@ -15458,28 +15488,26 @@ const getEmojiFrameCount = (reactionName, reactionResources) => {
15458
15488
  return 0;
15459
15489
  }
15460
15490
  };
15461
-
15462
- // Copyright (c) Microsoft Corporation.
15463
- // Licensed under the MIT License.
15464
- /* @conditional-compile-remove(reaction) */
15465
- /** @private */
15466
- const REACTION_START_DISPLAY_SIZE = 44;
15467
- /* @conditional-compile-remove(reaction) */
15468
- /** @private */
15469
- const REACTION_NUMBER_OF_ANIMATION_FRAMES = 51;
15470
- /* @conditional-compile-remove(reaction) */
15471
- /** @private */
15472
- const REACTION_SCREEN_SHARE_ANIMATION_TIME_MS = 4133;
15473
- /* @conditional-compile-remove(reaction) */
15474
- /** @private */
15475
- const getCombinedKey = (userId, reactionType, receivedAt) => {
15476
- const receivedTime = receivedAt.toISOString();
15477
- return userId + reactionType + receivedTime;
15478
- };
15479
15491
  /* @conditional-compile-remove(reaction) */
15480
- /** @private */
15481
- const getReceivedUnixTime = (receivedTime) => {
15482
- return receivedTime.getTime();
15492
+ /**
15493
+ * @private
15494
+ */
15495
+ const getEmojiFrameSize = (reactionName, reactionResources) => {
15496
+ var _a, _b, _c, _d, _e;
15497
+ switch (reactionName) {
15498
+ case 'like':
15499
+ return (_a = reactionResources.likeReaction) === null || _a === void 0 ? void 0 : _a.size;
15500
+ case 'heart':
15501
+ return (_b = reactionResources.heartReaction) === null || _b === void 0 ? void 0 : _b.size;
15502
+ case 'laugh':
15503
+ return (_c = reactionResources.laughReaction) === null || _c === void 0 ? void 0 : _c.size;
15504
+ case 'applause':
15505
+ return (_d = reactionResources.applauseReaction) === null || _d === void 0 ? void 0 : _d.size;
15506
+ case 'surprised':
15507
+ return (_e = reactionResources.surprisedReaction) === null || _e === void 0 ? void 0 : _e.size;
15508
+ default:
15509
+ return undefined;
15510
+ }
15483
15511
  };
15484
15512
 
15485
15513
  // Copyright (c) Microsoft Corporation.
@@ -15502,6 +15530,9 @@ const ParticipantVideoTileOverlay = React.memo((props) => {
15502
15530
  const frameCount = reaction !== undefined && reactionResources !== undefined
15503
15531
  ? getEmojiFrameCount(reaction === null || reaction === void 0 ? void 0 : reaction.reactionType, reactionResources)
15504
15532
  : undefined;
15533
+ const frameSize = reaction !== undefined && reactionResources !== undefined
15534
+ ? getEmojiFrameSize(reaction === null || reaction === void 0 ? void 0 : reaction.reactionType, reactionResources)
15535
+ : undefined;
15505
15536
  const currentUnixTimeStamp = Date.now();
15506
15537
  const receivedUnixTimestamp = reaction ? getReceivedUnixTime(reaction.receivedOn) : undefined;
15507
15538
  const canRenderReaction = (receivedUnixTimestamp
@@ -15520,10 +15551,11 @@ const ParticipantVideoTileOverlay = React.memo((props) => {
15520
15551
  }, [backgroundImageUrl]);
15521
15552
  const spriteImageUrl = backgroundImageUrl !== null && backgroundImageUrl !== void 0 ? backgroundImageUrl : undefined;
15522
15553
  const reactionContainerStyles = React.useCallback(() => reactionRenderingStyle({
15523
- spriteImageUrl,
15554
+ spriteImageUrl: spriteImageUrl !== null && spriteImageUrl !== void 0 ? spriteImageUrl : '',
15524
15555
  emojiSize: emojiSize,
15525
- frameCount
15526
- }), [spriteImageUrl, emojiSize, frameCount]);
15556
+ frameCount: frameCount !== null && frameCount !== void 0 ? frameCount : REACTION_NUMBER_OF_ANIMATION_FRAMES,
15557
+ rawFrameSize: frameSize !== null && frameSize !== void 0 ? frameSize : REACTION_DEFAULT_RESOURCE_FRAME_SIZE_PX
15558
+ }), [spriteImageUrl, emojiSize, frameCount, frameSize]);
15527
15559
  return (React.createElement(react.Stack, { className: react.mergeStyles(videoContainerStyles, {
15528
15560
  display: 'flex',
15529
15561
  justifyContent: 'center',
@@ -15531,7 +15563,11 @@ const ParticipantVideoTileOverlay = React.memo((props) => {
15531
15563
  backgroundColor: canRenderReaction ? 'rgba(0, 0, 0, 0.5)' : 'transparent'
15532
15564
  }) },
15533
15565
  React.createElement("div", { style: { height: '33.33%' } }),
15534
- canRenderReaction && isValidImageSource && (React.createElement("div", { style: { minHeight: '84px', height: '84px', width: '84px' } },
15566
+ canRenderReaction && isValidImageSource && (React.createElement("div", { style: {
15567
+ minHeight: `${emojiSize}px`,
15568
+ height: `${emojiSize}px`,
15569
+ width: `${emojiSize}px`
15570
+ } },
15535
15571
  React.createElement("div", { className: reactionContainerStyles() })))));
15536
15572
  });
15537
15573
 
@@ -15887,7 +15923,7 @@ const RemoteContentShareReactionOverlay = React.memo((props) => {
15887
15923
  * Emoji max size
15888
15924
  * @internal
15889
15925
  */
15890
- const DEFAULT_EMOJI_MAX_SIZE_PX = 100;
15926
+ const DEFAULT_EMOJI_MAX_SIZE_PX = 70;
15891
15927
  /* @conditional-compile-remove(reaction) */
15892
15928
  /**
15893
15929
  * Emoji min size
@@ -19988,7 +20024,7 @@ const ReactionButton = (props) => {
19988
20024
  backgroundColor: isDarkThemed(theme) ? theme.palette.neutralLighter : ''
19989
20025
  };
19990
20026
  const classname = react.mergeStyles(reactionEmojiMenuStyles());
19991
- const renderEmoji = (item, dismissMenu) => (React.createElement("div", { className: classname }, emojis.map((emoji, index) => {
20027
+ const renderEmoji = (item, dismissMenu) => (React.createElement("div", { "data-ui-id": "reaction-sub-menu", className: classname }, emojis.map((emoji, index) => {
19992
20028
  const resourceUrl = emojiResource.get(emoji);
19993
20029
  const frameCount = props.reactionResources !== undefined ? getEmojiFrameCount(emoji, props.reactionResources) : 0;
19994
20030
  const classname = react.mergeStyles(emojiStyles(resourceUrl ? resourceUrl : '', frameCount));
@@ -22937,11 +22973,18 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
22937
22973
  };
22938
22974
  yield chatThreadClient.sendMessage(sendMessageRequest, options);
22939
22975
  }),
22940
- onUpdateMessage: (messageId, content, options) => __awaiter$v(void 0, void 0, void 0, function* () {
22941
- const updatedMetadata = (options === null || options === void 0 ? void 0 : options.metadata) ? Object.assign({}, options.metadata) : {};
22942
- if ((options === null || options === void 0 ? void 0 : options.attachmentMetadata) && (options === null || options === void 0 ? void 0 : options.attachmentMetadata.length) > 0) {
22943
- // Only create object if there are objects to add.
22944
- updatedMetadata.fileSharingMetadata = JSON.stringify(options === null || options === void 0 ? void 0 : options.attachmentMetadata);
22976
+ onUpdateMessage: (messageId, content,
22977
+ /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
22978
+ options) => __awaiter$v(void 0, void 0, void 0, function* () {
22979
+ var _a;
22980
+ let updatedMetadata = {};
22981
+ /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
22982
+ updatedMetadata = (options === null || options === void 0 ? void 0 : options.metadata) ? Object.assign({}, options.metadata) : {};
22983
+ /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
22984
+ // need to set fileSharingMetadata explicitly to empty array to remove existing attachments
22985
+ // setting it to undefined or empty object will not remove the existing attachments
22986
+ if (updatedMetadata === null || updatedMetadata === void 0 ? void 0 : updatedMetadata.fileSharingMetadata) {
22987
+ updatedMetadata.fileSharingMetadata = JSON.stringify((_a = options === null || options === void 0 ? void 0 : options.attachmentMetadata) !== null && _a !== void 0 ? _a : []);
22945
22988
  }
22946
22989
  yield chatThreadClient.updateMessage(messageId, { content, metadata: updatedMetadata });
22947
22990
  }),
@@ -22962,7 +23005,7 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
22962
23005
  yield chatThreadClient.updateTopic(topicName);
22963
23006
  }),
22964
23007
  onLoadPreviousChatMessages: (messagesToLoad) => __awaiter$v(void 0, void 0, void 0, function* () {
22965
- var _a, _b, _c;
23008
+ var _b, _c, _d;
22966
23009
  if (messageIterator === undefined) {
22967
23010
  // Lazy definition so that errors in the method call are reported correctly.
22968
23011
  // Also allows recovery via retries in case of transient errors.
@@ -22977,12 +23020,12 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
22977
23020
  let earliestTime = Number.MAX_SAFE_INTEGER;
22978
23021
  while (remainingMessagesToGet >= 1) {
22979
23022
  const message = yield messageIterator.next();
22980
- if ((_a = message === null || message === void 0 ? void 0 : message.value) === null || _a === void 0 ? void 0 : _a.id) {
23023
+ if ((_b = message === null || message === void 0 ? void 0 : message.value) === null || _b === void 0 ? void 0 : _b.id) {
22981
23024
  if (parseInt(message.value.id) < earliestTime) {
22982
23025
  earliestTime = parseInt(message.value.id);
22983
23026
  }
22984
23027
  }
22985
- if (((_b = message.value) === null || _b === void 0 ? void 0 : _b.type) && message.value.type === 'text') {
23028
+ if (((_c = message.value) === null || _c === void 0 ? void 0 : _c.type) && message.value.type === 'text') {
22986
23029
  remainingMessagesToGet--;
22987
23030
  }
22988
23031
  // We have traversed all messages in this thread
@@ -22993,7 +23036,7 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
22993
23036
  }
22994
23037
  // keep fetching read receipts until read receipt time < earlist message time
22995
23038
  let readReceipt = yield readReceiptIterator.next();
22996
- while (!readReceipt.done && parseInt((_c = readReceipt === null || readReceipt === void 0 ? void 0 : readReceipt.value) === null || _c === void 0 ? void 0 : _c.chatMessageId) >= earliestTime) {
23039
+ while (!readReceipt.done && parseInt((_d = readReceipt === null || readReceipt === void 0 ? void 0 : readReceipt.value) === null || _d === void 0 ? void 0 : _d.chatMessageId) >= earliestTime) {
22997
23040
  readReceipt = yield readReceiptIterator.next();
22998
23041
  }
22999
23042
  return isAllChatMessagesLoaded;
@@ -23819,7 +23862,7 @@ const findSelector = (component) => {
23819
23862
  return messageThreadSelectorImpl;
23820
23863
  };
23821
23864
  switch (component) {
23822
- case SendBox$1:
23865
+ case SendBox:
23823
23866
  return sendBoxSelector;
23824
23867
  /* @conditional-compile-remove(rich-text-editor) */
23825
23868
  case RichTextSendBox:
@@ -25191,9 +25234,7 @@ const COMPOSITE_ONLY_ICONS = {
25191
25234
  LocalCameraSwitch: React.createElement(reactIcons.CameraSwitch24Regular, null),
25192
25235
  ControlBarChatButtonActive: React.createElement(reactIcons.Chat20Filled, null),
25193
25236
  ControlBarChatButtonInactive: React.createElement(reactIcons.Chat20Regular, null),
25194
- /* @conditional-compile-remove(capabilities) */
25195
25237
  ControlButtonCameraProhibited: React.createElement(reactIcons.VideoProhibited20Filled, null),
25196
- /* @conditional-compile-remove(capabilities) */
25197
25238
  ControlButtonMicProhibited: React.createElement(reactIcons.MicProhibited20Filled, null),
25198
25239
  /* @conditional-compile-remove(spotlight) */
25199
25240
  ControlButtonExitSpotlight: React.createElement(reactIcons.VideoPersonStarOff20Filled, null),
@@ -25214,7 +25255,7 @@ const COMPOSITE_ONLY_ICONS = {
25214
25255
  NoticePageRoomNotValid: React.createElement(reactIcons.Info20Filled, null),
25215
25256
  NoticePageCallRejected: React.createElement(reactIcons.Info20Filled, null),
25216
25257
  NoticePageCallTimeout: React.createElement(reactIcons.Info20Filled, null),
25217
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25258
+ /* @conditional-compile-remove(attachment-upload) */
25218
25259
  SendBoxAttachFile: React.createElement(reactIcons.Attach20Regular, null),
25219
25260
  /* @conditional-compile-remove(PSTN-calls) */
25220
25261
  PeoplePaneAddPerson: React.createElement(reactIcons.PersonAdd20Regular, null),
@@ -25351,7 +25392,7 @@ const AttachmentUploadButton = (props) => {
25351
25392
  } })));
25352
25393
  };
25353
25394
  const SendBoxAttachFileIconTrampoline = () => {
25354
- // @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload)
25395
+ // @conditional-compile-remove(attachment-upload)
25355
25396
  return React.createElement(ChatCompositeIcon, { iconName: "SendBoxAttachFile" });
25356
25397
  };
25357
25398
  /**
@@ -25364,19 +25405,19 @@ const AttachmentUploadButtonWrapper = (
25364
25405
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
25365
25406
  props) => {
25366
25407
  return (React.createElement(React.Fragment, null,
25367
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25408
+ /* @conditional-compile-remove(attachment-upload) */
25368
25409
  React.createElement(AttachmentUploadButton, Object.assign({}, props))));
25369
25410
  };
25370
25411
  const uploadAttachmentButtonStringTrampoline = () => {
25371
- //@conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload)
25412
+ //@conditional-compile-remove(attachment-upload)
25372
25413
  //eslint-disable-next-line react-hooks/rules-of-hooks
25373
25414
  return useLocale().strings.chat.uploadAttachment;
25374
25415
  };
25375
25416
 
25376
25417
  // Copyright (c) Microsoft Corporation.
25377
25418
  // Licensed under the MIT License.
25378
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25379
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25419
+ /* @conditional-compile-remove(attachment-upload) */
25420
+ /* @conditional-compile-remove(attachment-upload) */
25380
25421
  /**
25381
25422
  * @internal
25382
25423
  */
@@ -25423,7 +25464,7 @@ class AttachmentUploadContext {
25423
25464
  }));
25424
25465
  }
25425
25466
  }
25426
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25467
+ /* @conditional-compile-remove(attachment-upload) */
25427
25468
  /**
25428
25469
  * @internal
25429
25470
  */
@@ -25507,7 +25548,7 @@ class AzureCommunicationAttachmentUploadAdapter {
25507
25548
  attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadFail', this.updateUploadStatusMessage.bind(this));
25508
25549
  }
25509
25550
  }
25510
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25551
+ /* @conditional-compile-remove(attachment-upload) */
25511
25552
  /**
25512
25553
  * @param attachmentUploadUiState {@link AttachmentUploadsUiState}
25513
25554
  * @private
@@ -25533,7 +25574,7 @@ const convertAttachmentUploadsUiStateToMessageMetadata = (attachmentUploads) =>
25533
25574
  }
25534
25575
  return undefined;
25535
25576
  };
25536
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25577
+ /* @conditional-compile-remove(attachment-upload) */
25537
25578
  /**
25538
25579
  * @private
25539
25580
  */
@@ -25613,7 +25654,7 @@ class ChatContext {
25613
25654
  thread,
25614
25655
  latestErrors: clientState.latestErrors
25615
25656
  };
25616
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25657
+ /* @conditional-compile-remove(attachment-upload) */
25617
25658
  updatedState = Object.assign(Object.assign({}, updatedState), { attachmentUploads: this.state.attachmentUploads });
25618
25659
  this.setState(updatedState);
25619
25660
  }
@@ -25628,7 +25669,7 @@ class AzureCommunicationChatAdapter {
25628
25669
  this.chatClient = chatClient;
25629
25670
  this.chatThreadClient = chatThreadClient;
25630
25671
  this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);
25631
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25672
+ /* @conditional-compile-remove(attachment-upload) */
25632
25673
  this.attachmentUploadAdapter = new AzureCommunicationAttachmentUploadAdapter(this.context);
25633
25674
  const onStateChange = (clientState) => {
25634
25675
  // unsubscribe when the instance gets disposed
@@ -25658,19 +25699,19 @@ class AzureCommunicationChatAdapter {
25658
25699
  this.loadPreviousChatMessages = this.loadPreviousChatMessages.bind(this);
25659
25700
  this.on = this.on.bind(this);
25660
25701
  this.off = this.off.bind(this);
25661
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25702
+ /* @conditional-compile-remove(attachment-upload) */
25662
25703
  this.registerActiveUploads = this.registerActiveUploads.bind(this);
25663
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25704
+ /* @conditional-compile-remove(attachment-upload) */
25664
25705
  this.registerCompletedUploads = this.registerCompletedUploads.bind(this);
25665
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25706
+ /* @conditional-compile-remove(attachment-upload) */
25666
25707
  this.clearUploads = this.clearUploads.bind(this);
25667
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25708
+ /* @conditional-compile-remove(attachment-upload) */
25668
25709
  this.cancelUpload = this.cancelUpload.bind(this);
25669
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25710
+ /* @conditional-compile-remove(attachment-upload) */
25670
25711
  this.updateUploadProgress = this.updateUploadProgress.bind(this);
25671
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25712
+ /* @conditional-compile-remove(attachment-upload) */
25672
25713
  this.updateUploadStatusMessage = this.updateUploadStatusMessage.bind(this);
25673
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25714
+ /* @conditional-compile-remove(attachment-upload) */
25674
25715
  this.updateUploadMetadata = this.updateUploadMetadata.bind(this);
25675
25716
  this.downloadResourceToCache = this.downloadResourceToCache.bind(this);
25676
25717
  this.removeResourceFromCache = this.removeResourceFromCache.bind(this);
@@ -25720,9 +25761,9 @@ class AzureCommunicationChatAdapter {
25720
25761
  sendMessage(content_1) {
25721
25762
  return __awaiter$o(this, arguments, void 0, function* (content, options = {}) {
25722
25763
  yield this.asyncTeeErrorToEventEmitter(() => __awaiter$o(this, void 0, void 0, function* () {
25723
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25764
+ /* @conditional-compile-remove(attachment-upload) */
25724
25765
  options.metadata = Object.assign(Object.assign({}, options.metadata), convertAttachmentUploadsUiStateToMessageMetadata(this.context.getState().attachmentUploads));
25725
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25766
+ /* @conditional-compile-remove(attachment-upload) */
25726
25767
  /**
25727
25768
  * All the current uploads need to be clear from the state before a message has been sent.
25728
25769
  * This ensures the following behavior:
@@ -25773,9 +25814,9 @@ class AzureCommunicationChatAdapter {
25773
25814
  updateMessage(messageId, content, metadata, options) {
25774
25815
  return __awaiter$o(this, void 0, void 0, function* () {
25775
25816
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter$o(this, void 0, void 0, function* () {
25776
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25817
+ /* @conditional-compile-remove(attachment-upload) */
25777
25818
  const updatedOptions = { attachmentMetadata: options === null || options === void 0 ? void 0 : options.attachmentMetadata, metadata: metadata };
25778
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25819
+ /* @conditional-compile-remove(attachment-upload) */
25779
25820
  return yield this.handlers.onUpdateMessage(messageId, content, updatedOptions);
25780
25821
  }));
25781
25822
  });
@@ -25787,31 +25828,31 @@ class AzureCommunicationChatAdapter {
25787
25828
  }));
25788
25829
  });
25789
25830
  }
25790
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25831
+ /* @conditional-compile-remove(attachment-upload) */
25791
25832
  registerActiveUploads(files) {
25792
25833
  return this.attachmentUploadAdapter.registerActiveUploads(files);
25793
25834
  }
25794
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25835
+ /* @conditional-compile-remove(attachment-upload) */
25795
25836
  registerCompletedUploads(metadata) {
25796
25837
  return this.attachmentUploadAdapter.registerCompletedUploads(metadata);
25797
25838
  }
25798
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25839
+ /* @conditional-compile-remove(attachment-upload) */
25799
25840
  clearUploads() {
25800
25841
  this.attachmentUploadAdapter.clearUploads();
25801
25842
  }
25802
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25843
+ /* @conditional-compile-remove(attachment-upload) */
25803
25844
  cancelUpload(id) {
25804
25845
  this.attachmentUploadAdapter.cancelUpload(id);
25805
25846
  }
25806
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25847
+ /* @conditional-compile-remove(attachment-upload) */
25807
25848
  updateUploadProgress(id, progress) {
25808
25849
  this.attachmentUploadAdapter.updateUploadProgress(id, progress);
25809
25850
  }
25810
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25851
+ /* @conditional-compile-remove(attachment-upload) */
25811
25852
  updateUploadStatusMessage(id, errorMessage) {
25812
25853
  this.attachmentUploadAdapter.updateUploadStatusMessage(id, errorMessage);
25813
25854
  }
25814
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
25855
+ /* @conditional-compile-remove(attachment-upload) */
25815
25856
  updateUploadMetadata(id, metadata) {
25816
25857
  this.attachmentUploadAdapter.updateUploadMetadata(id, metadata);
25817
25858
  }
@@ -26496,13 +26537,17 @@ const createCompositeHandlers$1 = memoizeOne((adapter) => ({
26496
26537
  onRemoveParticipant: adapter.removeParticipant,
26497
26538
  updateThreadTopicName: adapter.setTopic,
26498
26539
  onUpdateMessage: (messageId, content,
26499
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26540
+ /* @conditional-compile-remove(attachment-upload) */
26500
26541
  options) => {
26501
- const metadata = options === null || options === void 0 ? void 0 : options.metadata;
26502
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26503
- const updatedOptions = (options === null || options === void 0 ? void 0 : options.attachmentMetadata) ? Object.assign({}, options.attachmentMetadata) : {};
26542
+ let metadata = undefined;
26543
+ /* @conditional-compile-remove(attachment-upload) */
26544
+ metadata = options === null || options === void 0 ? void 0 : options.metadata;
26545
+ /* @conditional-compile-remove(attachment-upload) */
26546
+ const updatedOptions = {
26547
+ attachmentMetadata: options === null || options === void 0 ? void 0 : options.attachmentMetadata
26548
+ };
26504
26549
  return adapter.updateMessage(messageId, content, metadata,
26505
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ updatedOptions);
26550
+ /* @conditional-compile-remove(attachment-upload) */ updatedOptions);
26506
26551
  },
26507
26552
  onDeleteMessage: adapter.deleteMessage
26508
26553
  }));
@@ -26768,12 +26813,9 @@ const AttachmentDownloadErrorBar = (props) => {
26768
26813
  /**
26769
26814
  * @private
26770
26815
  */
26771
- /**
26772
- * @private
26773
- */
26774
- const getAttachmentUploads = (state) => {
26775
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26776
- return state === null || state === void 0 ? void 0 : state.attachmentUploads;
26816
+ const useSelector$2 = (selector, selectorProps) => {
26817
+ // use selector with no adaptation
26818
+ return useSelectorWithAdaptation$1(selector, (state) => state, selectorProps);
26777
26819
  };
26778
26820
 
26779
26821
  // Copyright (c) Microsoft Corporation.
@@ -26781,56 +26823,23 @@ const getAttachmentUploads = (state) => {
26781
26823
  /**
26782
26824
  * @private
26783
26825
  */
26784
- const attachmentUploadsSelector = reselect.createSelector([getAttachmentUploads], (attachmentUploads) => {
26785
- const attachments = Object.values(attachmentUploads || {}).map((attachmentUpload) => (Object.assign(Object.assign({}, attachmentUpload), { uploadComplete: !!attachmentUpload })));
26786
- return { attachments };
26787
- });
26788
-
26789
- // Copyright (c) Microsoft Corporation.
26790
- // Licensed under the MIT License.
26791
26826
  /**
26792
26827
  * @private
26793
26828
  */
26794
- const useSelector$2 = (selector, selectorProps) => {
26795
- // use selector with no adaptation
26796
- return useSelectorWithAdaptation$1(selector, (state) => state, selectorProps);
26829
+ const getAttachmentUploads = (state) => {
26830
+ /* @conditional-compile-remove(attachment-upload) */
26831
+ return state === null || state === void 0 ? void 0 : state.attachmentUploads;
26797
26832
  };
26798
26833
 
26799
26834
  // Copyright (c) Microsoft Corporation.
26800
26835
  // Licensed under the MIT License.
26801
- /* @conditional-compile-remove(rich-text-editor) */
26802
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-B8qxZi1I.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
26803
26836
  /**
26804
26837
  * @private
26805
26838
  */
26806
- const SendBox = (props) => {
26807
- const { options, styles,
26808
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26809
- adapter } = props;
26810
- const sendBoxProps = usePropsFor$2(SendBox$1);
26811
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26812
- const activeAttachmentUploads = useSelector$2(attachmentUploadsSelector).attachments;
26813
- const sendBoxStyles = React.useMemo(() => {
26814
- return Object.assign({}, styles);
26815
- }, [styles]);
26816
- const simpleSendBox = React.useMemo(() => (React.createElement(SendBox$1, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles,
26817
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26818
- activeAttachmentUploads: activeAttachmentUploads,
26819
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26820
- onCancelAttachmentUpload: adapter.cancelUpload }))), [
26821
- sendBoxProps,
26822
- options,
26823
- sendBoxStyles,
26824
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ activeAttachmentUploads,
26825
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ adapter
26826
- ]);
26827
- // /* @conditional-compile-remove(rich-text-editor) */
26828
- if ((options === null || options === void 0 ? void 0 : options.richTextEditor) === true) {
26829
- return (React.createElement(React.Suspense, { fallback: simpleSendBox },
26830
- React.createElement(RichTextSendBoxWrapper, null)));
26831
- }
26832
- return simpleSendBox;
26833
- };
26839
+ const attachmentUploadsSelector = reselect.createSelector([getAttachmentUploads], (attachmentUploads) => {
26840
+ const attachments = Object.values(attachmentUploads || {}).map((attachmentUpload) => (Object.assign(Object.assign({}, attachmentUpload), { uploadComplete: !!attachmentUpload })));
26841
+ return { attachments };
26842
+ });
26834
26843
 
26835
26844
  // Copyright (c) Microsoft Corporation.
26836
26845
  // Licensed under the MIT License.
@@ -26867,6 +26876,7 @@ const ChatScreen = (props) => {
26867
26876
  fetchData();
26868
26877
  }, [adapter]);
26869
26878
  const messageThreadProps = usePropsFor$2(MessageThread);
26879
+ const sendBoxProps = usePropsFor$2(SendBox);
26870
26880
  const typingIndicatorProps = usePropsFor$2(TypingIndicator);
26871
26881
  const headerProps = useAdaptedSelector$1(getHeaderProps);
26872
26882
  const errorBarProps = usePropsFor$2(ErrorBar);
@@ -26908,15 +26918,18 @@ const ChatScreen = (props) => {
26908
26918
  const typingIndicatorStyles = React.useMemo(() => {
26909
26919
  return Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.typingIndicator);
26910
26920
  }, [styles === null || styles === void 0 ? void 0 : styles.typingIndicator]);
26921
+ const sendBoxStyles = React.useMemo(() => {
26922
+ return Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.sendBox);
26923
+ }, [styles === null || styles === void 0 ? void 0 : styles.sendBox]);
26911
26924
  const userId = toFlatCommunicationIdentifier(adapter.getState().userId);
26912
26925
  const attachmentUploadButtonOnChange = React.useCallback((files) => {
26913
26926
  var _a;
26914
26927
  if (!files) {
26915
26928
  return;
26916
26929
  }
26917
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26930
+ /* @conditional-compile-remove(attachment-upload) */
26918
26931
  const attachmentUploads = adapter.registerActiveUploads(Array.from(files));
26919
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26932
+ /* @conditional-compile-remove(attachment-upload) */
26920
26933
  (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handler(attachmentUploads);
26921
26934
  }, [adapter, attachmentOptions]);
26922
26935
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
@@ -27025,6 +27038,8 @@ const ChatScreen = (props) => {
27025
27038
  (_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.disableMultipleUploads,
27026
27039
  attachmentUploadButtonOnChange
27027
27040
  ]);
27041
+ /* @conditional-compile-remove(attachment-upload) */
27042
+ const activeAttachmentUploads = useSelector$2(attachmentUploadsSelector).attachments;
27028
27043
  return (React.createElement(react.Stack, { className: chatContainer, grow: true },
27029
27044
  (options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
27030
27045
  React.createElement(react.Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
@@ -27043,9 +27058,11 @@ const ChatScreen = (props) => {
27043
27058
  formFactor === 'mobile' && (React.createElement(react.Stack, { verticalAlign: "center" },
27044
27059
  React.createElement(AttachmentButton, null))),
27045
27060
  React.createElement(react.Stack, { grow: true },
27046
- React.createElement(SendBox, { options: options, styles: styles === null || styles === void 0 ? void 0 : styles.sendBox,
27047
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
27048
- adapter: adapter })),
27061
+ React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles,
27062
+ /* @conditional-compile-remove(attachment-upload) */
27063
+ activeAttachmentUploads: activeAttachmentUploads,
27064
+ /* @conditional-compile-remove(attachment-upload) */
27065
+ onCancelAttachmentUpload: adapter.cancelUpload }))),
27049
27066
  formFactor !== 'mobile' && React.createElement(AttachmentButton, null)))),
27050
27067
  /* @conditional-compile-remove(chat-composite-participant-pane) */
27051
27068
  (options === null || options === void 0 ? void 0 : options.participantPane) === true && (React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' }))),
@@ -28232,11 +28249,8 @@ const Camera = (props) => {
28232
28249
  const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
28233
28250
  const adapter = useAdapter();
28234
28251
  const isRoomsCall = adapter.getState().isRoomsCall;
28235
- /* @conditional-compile-remove(capabilities) */
28236
28252
  const turnVideoOnCapability = (_b = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities.turnVideoOn;
28237
- return (React.createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-camera-button" }, cameraButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disableTooltip: props.disableTooltip, disabled: cameraButtonProps.disabled || props.disabled || (isRoomsCall && ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.role) === 'Unknown'),
28238
- /* @conditional-compile-remove(capabilities) */
28239
- onRenderOffIcon: turnVideoOnCapability && !turnVideoOnCapability.isPresent
28253
+ return (React.createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-camera-button" }, cameraButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disableTooltip: props.disableTooltip, disabled: cameraButtonProps.disabled || props.disabled || (isRoomsCall && ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.role) === 'Unknown'), onRenderOffIcon: turnVideoOnCapability && !turnVideoOnCapability.isPresent
28240
28254
  ? () => React.createElement(_HighContrastAwareIcon, { disabled: true, iconName: 'ControlButtonCameraProhibited' })
28241
28255
  : undefined, onClickVideoEffects: props.onClickVideoEffects, componentRef: props.componentRef })));
28242
28256
  };
@@ -28423,7 +28437,6 @@ const getMicrophones = (state) => state.devices.microphones;
28423
28437
  * @private
28424
28438
  */
28425
28439
  const getCameras = (state) => state.devices.cameras;
28426
- /* @conditional-compile-remove(capabilities) */
28427
28440
  /**
28428
28441
  * @private
28429
28442
  */
@@ -28480,7 +28493,6 @@ const getCaptionsStatus = (state) => {
28480
28493
  * @private
28481
28494
  */
28482
28495
  const getIsTeamsCall = (state) => state.isTeamsCall;
28483
- /* @conditional-compile-remove(capabilities) */
28484
28496
  /**
28485
28497
  * @private
28486
28498
  */
@@ -28514,7 +28526,6 @@ const Microphone = (props) => {
28514
28526
  const isLocalMicrophoneEnabled = useSelector$1(getLocalMicrophoneEnabled);
28515
28527
  const adapter = useAdapter();
28516
28528
  const isRoomsCall = adapter.getState().isRoomsCall;
28517
- /* @conditional-compile-remove(capabilities) */
28518
28529
  const unmuteMicCapability = (_b = (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities.unmuteMic;
28519
28530
  /**
28520
28531
  * When call is in connecting state, microphone button should be disabled.
@@ -28527,9 +28538,7 @@ const Microphone = (props) => {
28527
28538
  }
28528
28539
  const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
28529
28540
  // tab focus on MicrophoneButton on page load
28530
- return (React.createElement(MicrophoneButton, Object.assign({ "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', disableTooltip: props.disableTooltip, styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: microphoneButtonProps.disabled || props.disabled || (isRoomsCall && ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.role) === 'Unknown'),
28531
- /* @conditional-compile-remove(capabilities) */
28532
- onRenderOffIcon: unmuteMicCapability && !unmuteMicCapability.isPresent
28541
+ return (React.createElement(MicrophoneButton, Object.assign({ "data-ui-id": "call-composite-microphone-button" }, microphoneButtonProps, { showLabel: props.displayType !== 'compact', disableTooltip: props.disableTooltip, styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: microphoneButtonProps.disabled || props.disabled || (isRoomsCall && ((_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.role) === 'Unknown'), onRenderOffIcon: unmuteMicCapability && !unmuteMicCapability.isPresent
28533
28542
  ? () => React.createElement(_HighContrastAwareIcon, { disabled: true, iconName: 'ControlButtonMicProhibited' })
28534
28543
  : undefined })));
28535
28544
  };
@@ -28563,7 +28572,6 @@ const ScreenShare = (props) => {
28563
28572
  const isRoomsCall = adapter.getState().isRoomsCall;
28564
28573
  const screenShareButtonDisabled = () => {
28565
28574
  var _a;
28566
- /* @conditional-compile-remove(capabilities) */ /* @conditional-compile-remove(PSTN-calls) */
28567
28575
  return (_a = screenShareButtonProps === null || screenShareButtonProps === void 0 ? void 0 : screenShareButtonProps.disabled) !== null && _a !== void 0 ? _a : isDisabled$2(props.option);
28568
28576
  };
28569
28577
  return (React.createElement(ScreenShareButton, Object.assign({ "data-ui-id": "call-composite-screenshare-button" }, screenShareButtonProps, { showLabel: props.displayType !== 'compact', disabled: screenShareButtonDisabled() || props.disabled || (isRoomsCall && ((_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role) === 'Unknown'), styles: styles })));
@@ -28824,6 +28832,18 @@ const capabilitySelector = reselect__namespace.createSelector([getCapabilites],
28824
28832
  };
28825
28833
  });
28826
28834
 
28835
+ // Copyright (c) Microsoft Corporation.
28836
+ // Licensed under the MIT License.
28837
+ /**
28838
+ * @private
28839
+ */
28840
+ const callStatusSelector = reselect.createSelector([getCallStatus, getIsScreenShareOn], (callStatus, isScreenShareOn) => {
28841
+ return {
28842
+ callStatus,
28843
+ isScreenShareOn
28844
+ };
28845
+ });
28846
+
28827
28847
  // Copyright (c) Microsoft Corporation.
28828
28848
  // Licensed under the MIT License.
28829
28849
  // Enforce a background color on control bar to ensure it matches the composite background color.
@@ -28863,7 +28883,11 @@ const CallControls = (props) => {
28863
28883
  /* @conditional-compile-remove(reaction) */
28864
28884
  const capabilitiesSelector = useSelector$1(capabilitySelector);
28865
28885
  /* @conditional-compile-remove(reaction) */
28866
- const isReactionAllowed = !(capabilitiesSelector === null || capabilitiesSelector === void 0 ? void 0 : capabilitiesSelector.capabilities) || capabilitiesSelector.capabilities.useReactions.isPresent;
28886
+ const callState = useSelector$1(callStatusSelector);
28887
+ /* @conditional-compile-remove(reaction) */
28888
+ const isReactionAllowed = callState.callStatus !== 'Connected' ||
28889
+ !(capabilitiesSelector === null || capabilitiesSelector === void 0 ? void 0 : capabilitiesSelector.capabilities) ||
28890
+ capabilitiesSelector.capabilities.useReactions.isPresent;
28867
28891
  const devicesButtonProps = usePropsFor$1(DevicesButton);
28868
28892
  let numberOfButtons = 0;
28869
28893
  const screenShareButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.screenShareButton);
@@ -29881,7 +29905,11 @@ const CommonCallControlBar = (props) => {
29881
29905
  /* @conditional-compile-remove(reaction) */
29882
29906
  const capabilitiesSelector = useSelector$1(capabilitySelector);
29883
29907
  /* @conditional-compile-remove(reaction) */
29884
- const isReactionAllowed = !(capabilitiesSelector === null || capabilitiesSelector === void 0 ? void 0 : capabilitiesSelector.capabilities) || capabilitiesSelector.capabilities.useReactions.isPresent;
29908
+ const callState = useSelector$1(callStatusSelector);
29909
+ /* @conditional-compile-remove(reaction) */
29910
+ const isReactionAllowed = callState.callStatus !== 'Connected' ||
29911
+ !(capabilitiesSelector === null || capabilitiesSelector === void 0 ? void 0 : capabilitiesSelector.capabilities) ||
29912
+ capabilitiesSelector.capabilities.useReactions.isPresent;
29885
29913
  // when options is false then we want to hide the whole control bar.
29886
29914
  if (options === false) {
29887
29915
  return React.createElement(React.Fragment, null);
@@ -30119,18 +30147,6 @@ const textStyle = (theme) => {
30119
30147
  const isSpeakingAndMutedAnimationStyles = Object.assign({}, react.AnimationStyles.fadeIn100);
30120
30148
  const isNotSpeakingAndMutedAnimationStyles = Object.assign(Object.assign({}, react.AnimationStyles.fadeOut200), { display: 'none' });
30121
30149
 
30122
- // Copyright (c) Microsoft Corporation.
30123
- // Licensed under the MIT License.
30124
- /**
30125
- * @private
30126
- */
30127
- const callStatusSelector = reselect.createSelector([getCallStatus, getIsScreenShareOn], (callStatus, isScreenShareOn) => {
30128
- return {
30129
- callStatus,
30130
- isScreenShareOn
30131
- };
30132
- });
30133
-
30134
30150
  // Copyright (c) Microsoft Corporation.
30135
30151
  // Licensed under the MIT License.
30136
30152
  /**
@@ -32036,8 +32052,6 @@ const ModalLocalAndRemotePIP = (props) => {
32036
32052
 
32037
32053
  // Copyright (c) Microsoft Corporation.
32038
32054
  // Licensed under the MIT License.
32039
- /* @conditional-compile-remove(capabilities) */
32040
- /* @conditional-compile-remove(capabilities) */
32041
32055
  /**
32042
32056
  * Notification bar for capabilities changed
32043
32057
  * @private
@@ -32053,7 +32067,6 @@ const CapabilitiesChangedNotificationBar = (props) => {
32053
32067
  return (React.createElement(react.MessageBar, { key: notification.capabilityName, styles: messageBarStyles, messageBarType: react.MessageBarType.warning, dismissIconProps: { iconName: 'ErrorBarClear' }, onDismiss: () => props.onDismissNotification(notification), messageBarIconProps: iconProps }, message));
32054
32068
  })));
32055
32069
  };
32056
- /* @conditional-compile-remove(capabilities) */
32057
32070
  const getCapabilityChangedNotificationString = (notification, strings) => {
32058
32071
  var _a, _b, _c, _d, _e, _f;
32059
32072
  switch (notification.capabilityName) {
@@ -32082,7 +32095,6 @@ const getCapabilityChangedNotificationString = (notification, strings) => {
32082
32095
  }
32083
32096
  return undefined;
32084
32097
  };
32085
- /* @conditional-compile-remove(capabilities) */
32086
32098
  const getCustomMessageBarIconProps = (notification) => {
32087
32099
  let iconName = undefined;
32088
32100
  switch (notification.capabilityName) {
@@ -32107,7 +32119,6 @@ const getCustomMessageBarIconProps = (notification) => {
32107
32119
  }
32108
32120
  return { iconName, styles: { root: { '> *': { height: '1rem', width: '1rem' } } } };
32109
32121
  };
32110
- /* @conditional-compile-remove(capabilities) */
32111
32122
  const messageBarStyles = {
32112
32123
  innerText: {
32113
32124
  alignSelf: 'center'
@@ -32444,7 +32455,6 @@ const CallArrangement = (props) => {
32444
32455
  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
32445
32456
  const pipStyles = React.useMemo(() => getPipStyles(theme), [theme]);
32446
32457
  const verticalControlBar = props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;
32447
- /* @conditional-compile-remove(capabilities) */
32448
32458
  // Filter out shareScreen capability notifications if on mobile
32449
32459
  const filteredCapabilitesChangedNotifications = props.mobileView
32450
32460
  ? (_e = props.capabilitiesChangedNotificationBarProps) === null || _e === void 0 ? void 0 : _e.capabilitiesChangedNotifications.filter((notification) => notification.capabilityName !== 'shareScreen')
@@ -32490,7 +32500,6 @@ const CallArrangement = (props) => {
32490
32500
  React.createElement(_ComplianceBanner, Object.assign({}, props.complianceBannerProps))),
32491
32501
  props.errorBarProps !== false && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
32492
32502
  React.createElement(ErrorBar, Object.assign({}, props.errorBarProps, { onDismissError: props.onDismissError, activeErrorMessages: filteredLatestErrors })))),
32493
- /* @conditional-compile-remove(capabilities) */
32494
32503
  props.capabilitiesChangedNotificationBarProps &&
32495
32504
  props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
32496
32505
  React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
@@ -32999,9 +33008,7 @@ const CallPage = (props) => {
32999
33008
  const onRenderGalleryContentTrampoline = () => {
33000
33009
  var _a;
33001
33010
  if (dtmfDialerPresent) {
33002
- return (React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
33003
- /* @conditional-compile-remove(capabilities) */
33004
- capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, compositeAudioContext: compositeAudioContext }));
33011
+ return (React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, compositeAudioContext: compositeAudioContext }));
33005
33012
  }
33006
33013
  else {
33007
33014
  return (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId, localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, userSetGalleryLayout: galleryLayout, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants,
@@ -33019,9 +33026,7 @@ const CallPage = (props) => {
33019
33026
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
33020
33027
  options: callControlOptions,
33021
33028
  increaseFlyoutItemSize: mobileView
33022
- }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout,
33023
- /* @conditional-compile-remove(capabilities) */
33024
- capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent,
33029
+ }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent,
33025
33030
  /* @conditional-compile-remove(spotlight) */
33026
33031
  setIsPromptOpen: setIsPromptOpen,
33027
33032
  /* @conditional-compile-remove(spotlight) */
@@ -34219,12 +34224,7 @@ const ConfigurationPage = (props) => {
34219
34224
  hostId: modalLayerHostId
34220
34225
  }), [modalLayerHostId]);
34221
34226
  const filteredErrorBarProps = React.useMemo(() => (Object.assign(Object.assign({}, errorBarProps), { activeErrorMessages: filteredLatestErrors })), [errorBarProps, filteredLatestErrors]);
34222
- const containerStyles = React.useMemo(() => {
34223
- var _a;
34224
- return configurationContainerStyle(!mobileView,
34225
- /* @conditional-compile-remove(custom-branding) */
34226
- (_a = props.backgroundImage) === null || _a === void 0 ? void 0 : _a.url);
34227
- }, [mobileView, /* @conditional-compile-remove(custom-branding) */ (_d = props.backgroundImage) === null || _d === void 0 ? void 0 : _d.url]);
34227
+ const containerStyles = React.useMemo(() => { var _a; return configurationContainerStyle(!mobileView, (_a = props.backgroundImage) === null || _a === void 0 ? void 0 : _a.url); }, [mobileView, (_d = props.backgroundImage) === null || _d === void 0 ? void 0 : _d.url]);
34228
34228
  return (React.createElement(react.Stack, { styles: containerStyles },
34229
34229
  React.createElement(react.Stack, { styles: bannerNotificationStyles },
34230
34230
  React.createElement(ConfigurationPageErrorBar
@@ -34255,15 +34255,9 @@ const ConfigurationPage = (props) => {
34255
34255
  /* @conditional-compile-remove(unsupported-browser) */
34256
34256
  environmentInfo: environmentInfo, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick })),
34257
34257
  React.createElement(react.Stack, { verticalFill: true, grow: true, horizontal: true, className: fillWidth },
34258
- React.createElement(react.Stack, { className: configurationCenteredContent(mobileWithPreview,
34259
- /* @conditional-compile-remove(custom-branding) */
34260
- !!props.logo), verticalAlign: "center", verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop },
34258
+ React.createElement(react.Stack, { className: configurationCenteredContent(mobileWithPreview, !!props.logo), verticalAlign: "center", verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop },
34261
34259
  React.createElement(react.Stack.Item, { styles: callDetailsContainerStyles },
34262
- React.createElement(Logo
34263
- /* @conditional-compile-remove(custom-branding) */
34264
- , {
34265
- /* @conditional-compile-remove(custom-branding) */
34266
- logo: props.logo }),
34260
+ React.createElement(Logo, { logo: props.logo }),
34267
34261
  title,
34268
34262
  callDescription),
34269
34263
  React.createElement(react.Stack, { horizontal: !mobileWithPreview, horizontalAlign: mobileWithPreview ? 'stretch' : 'center', verticalFill: mobileWithPreview, tokens: deviceConfigurationStackTokens },
@@ -34894,8 +34888,6 @@ const deviceCountSelector = reselect.createSelector([getCameras, getMicrophones]
34894
34888
 
34895
34889
  // Copyright (c) Microsoft Corporation.
34896
34890
  // Licensed under the MIT License.
34897
- /* @conditional-compile-remove(capabilities) */
34898
- /* @conditional-compile-remove(capabilities) */
34899
34891
  /**
34900
34892
  * @private
34901
34893
  */
@@ -34905,8 +34897,6 @@ const capabilitiesChangedInfoAndRoleSelector = reselect__namespace.createSelecto
34905
34897
 
34906
34898
  // Copyright (c) Microsoft Corporation.
34907
34899
  // Licensed under the MIT License.
34908
- /* @conditional-compile-remove(capabilities) */
34909
- /* @conditional-compile-remove(capabilities) */
34910
34900
  /**
34911
34901
  * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.
34912
34902
  *
@@ -34933,7 +34923,6 @@ const useTrackedCapabilityChangedNotifications = (capabilitiesChangedAndRoleInfo
34933
34923
  onDismissNotification: onDismissCapabilityChangedNotification
34934
34924
  };
34935
34925
  };
34936
- /* @conditional-compile-remove(capabilities) */
34937
34926
  /**
34938
34927
  * Take the set of active notifications, and filter to only those that are newer than previously dismissed notifications or have never been dismissed.
34939
34928
  *
@@ -34948,7 +34937,6 @@ const filterLatestCapabilityChangedNotifications = (activeNotifications, tracked
34948
34937
  });
34949
34938
  return filteredNotifications;
34950
34939
  };
34951
- /* @conditional-compile-remove(capabilities) */
34952
34940
  /**
34953
34941
  * Maintain a record of the most recently active notification for each capability name.
34954
34942
  *
@@ -34967,7 +34955,6 @@ const updateTrackedCapabilityChangedNotificationsWithActiveNotifications = (exis
34967
34955
  }
34968
34956
  return trackedNotifications;
34969
34957
  };
34970
- /* @conditional-compile-remove(capabilities) */
34971
34958
  /**
34972
34959
  * Create a record for when the notification was most recently dismissed for tracking dismissed notifications.
34973
34960
  *
@@ -34978,7 +34965,6 @@ const trackCapabilityChangedNotificationAsDismissed = (capabilityName, trackedNo
34978
34965
  const existingNotification = trackedNotifications[capabilityName];
34979
34966
  return Object.assign(Object.assign({}, trackedNotifications), { [capabilityName]: Object.assign(Object.assign({}, (existingNotification || {})), { lastDismissedAt: now }) });
34980
34967
  };
34981
- /* @conditional-compile-remove(capabilities) */
34982
34968
  const updateLatestCapabilityChangedNotificationMap = (capabilitiesChangedInfoAndRole, activeNotifications) => {
34983
34969
  var _a, _b;
34984
34970
  if (!capabilitiesChangedInfoAndRole.capabilitiesChangeInfo) {
@@ -35359,9 +35345,7 @@ const MainScreen = (props) => {
35359
35345
  };
35360
35346
  }, [adapter]);
35361
35347
  const compositeAudioContext = React.useRef(new AudioContext());
35362
- /* @conditional-compile-remove(capabilities) */
35363
35348
  const capabilitiesChangedInfoAndRole = useSelector$1(capabilitiesChangedInfoAndRoleSelector);
35364
- /* @conditional-compile-remove(capabilities) */
35365
35349
  const capabilitiesChangedNotificationBarProps = useTrackedCapabilityChangedNotifications(capabilitiesChangedInfoAndRole);
35366
35350
  // Track the last dismissed errors of any error kind to prevent errors from re-appearing on subsequent page navigation
35367
35351
  // This works by tracking the most recent timestamp of any active error type.
@@ -35404,13 +35388,7 @@ const MainScreen = (props) => {
35404
35388
  /* @conditional-compile-remove(call-readiness) */
35405
35389
  onPermissionsTroubleshootingClick: (_e = props.options) === null || _e === void 0 ? void 0 : _e.onPermissionsTroubleshootingClick,
35406
35390
  /* @conditional-compile-remove(call-readiness) */
35407
- onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick,
35408
- /* @conditional-compile-remove(capabilities) */
35409
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps,
35410
- /* @conditional-compile-remove(custom-branding) */
35411
- logo: (_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.branding) === null || _h === void 0 ? void 0 : _h.logo,
35412
- /* @conditional-compile-remove(custom-branding) */
35413
- backgroundImage: (_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.branding) === null || _k === void 0 ? void 0 : _k.backgroundImage }));
35391
+ onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.branding) === null || _h === void 0 ? void 0 : _h.logo, backgroundImage: (_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.branding) === null || _k === void 0 ? void 0 : _k.backgroundImage }));
35414
35392
  break;
35415
35393
  case 'accessDeniedTeamsMeeting':
35416
35394
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' }));
@@ -35435,26 +35413,18 @@ const MainScreen = (props) => {
35435
35413
  break;
35436
35414
  }
35437
35415
  case 'lobby':
35438
- pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError,
35439
- /* @conditional-compile-remove(capabilities) */
35440
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
35416
+ pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
35441
35417
  break;
35442
35418
  /* @conditional-compile-remove(call-transfer) */
35443
35419
  case 'transferring':
35444
- pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestErrors, onDismissError: onDismissError,
35445
- /* @conditional-compile-remove(capabilities) */
35446
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
35420
+ pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestErrors, onDismissError: onDismissError, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
35447
35421
  break;
35448
35422
  case 'call':
35449
- pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestErrors, onDismissError: onDismissError, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition,
35450
- /* @conditional-compile-remove(capabilities) */
35451
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext.current }));
35423
+ pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestErrors, onDismissError: onDismissError, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext.current }));
35452
35424
  break;
35453
35425
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
35454
35426
  case 'hold':
35455
- pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError,
35456
- /* @conditional-compile-remove(capabilities) */
35457
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
35427
+ pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestErrors, onDismissError: onDismissError, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
35458
35428
  break;
35459
35429
  }
35460
35430
  useEndedCallConsoleErrors(endedCall);
@@ -36644,7 +36614,6 @@ class AzureCommunicationCallAdapter {
36644
36614
  (_f = this.call) === null || _f === void 0 ? void 0 : _f.on('roleChanged', this.roleChanged.bind(this));
36645
36615
  /* @conditional-compile-remove(call-transfer) */
36646
36616
  (_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));
36647
- /* @conditional-compile-remove(capabilities) */
36648
36617
  (_h = this.call) === null || _h === void 0 ? void 0 : _h.feature(communicationCalling.Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));
36649
36618
  /* @conditional-compile-remove(spotlight) */
36650
36619
  (_j = this.call) === null || _j === void 0 ? void 0 : _j.feature(communicationCalling.Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));
@@ -36722,7 +36691,6 @@ class AzureCommunicationCallAdapter {
36722
36691
  transferAccepted(args) {
36723
36692
  this.emitter.emit('transferAccepted', args);
36724
36693
  }
36725
- /* @conditional-compile-remove(capabilities) */
36726
36694
  capabilitiesChanged(data) {
36727
36695
  var _a, _b, _c, _d, _e;
36728
36696
  if (((_a = data.newValue.turnVideoOn) === null || _a === void 0 ? void 0 : _a.isPresent) === false) {
@@ -37447,31 +37415,31 @@ class CallWithChatBackedChatAdapter {
37447
37415
  this.setTopic = (topicName) => __awaiter$3(this, void 0, void 0, function* () {
37448
37416
  throw new Error(`Chat Topics are not supported in CallWithChatComposite.`);
37449
37417
  });
37450
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37418
+ /* @conditional-compile-remove(attachment-upload) */
37451
37419
  this.registerActiveUploads = (files) => {
37452
37420
  return this.callWithChatAdapter.registerActiveUploads(files);
37453
37421
  };
37454
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37422
+ /* @conditional-compile-remove(attachment-upload) */
37455
37423
  this.registerCompletedUploads = (metadata) => {
37456
37424
  return this.callWithChatAdapter.registerCompletedUploads(metadata);
37457
37425
  };
37458
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37426
+ /* @conditional-compile-remove(attachment-upload) */
37459
37427
  this.clearUploads = () => {
37460
37428
  this.callWithChatAdapter.clearUploads();
37461
37429
  };
37462
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37430
+ /* @conditional-compile-remove(attachment-upload) */
37463
37431
  this.cancelUpload = (id) => {
37464
37432
  this.callWithChatAdapter.cancelUpload(id);
37465
37433
  };
37466
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37434
+ /* @conditional-compile-remove(attachment-upload) */
37467
37435
  this.updateUploadProgress = (id, progress) => {
37468
37436
  this.callWithChatAdapter.updateUploadProgress(id, progress);
37469
37437
  };
37470
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37438
+ /* @conditional-compile-remove(attachment-upload) */
37471
37439
  this.updateUploadStatusMessage = (id, errorMessage) => {
37472
37440
  this.callWithChatAdapter.updateUploadStatusMessage(id, errorMessage);
37473
37441
  };
37474
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37442
+ /* @conditional-compile-remove(attachment-upload) */
37475
37443
  this.updateUploadMetadata = (id, metadata) => {
37476
37444
  this.callWithChatAdapter.updateUploadMetadata(id, metadata);
37477
37445
  };
@@ -37495,7 +37463,7 @@ function chatAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState)
37495
37463
  displayName: callWithChatAdapterState.displayName || '',
37496
37464
  thread: callWithChatAdapterState.chat,
37497
37465
  latestErrors: callWithChatAdapterState.latestChatErrors,
37498
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37466
+ /* @conditional-compile-remove(attachment-upload) */
37499
37467
  attachmentUploads: callWithChatAdapterState.attachmentUploads
37500
37468
  };
37501
37469
  }
@@ -37771,7 +37739,6 @@ const CallWithChatScreen = (props) => {
37771
37739
  localVideoTile: props.localVideoTile,
37772
37740
  /* @conditional-compile-remove(end-of-call-survey) */
37773
37741
  surveyOptions: surveyOptions,
37774
- /* @conditional-compile-remove(custom-branding) */
37775
37742
  branding: {
37776
37743
  logo: props.logo,
37777
37744
  backgroundImage: props.backgroundImage
@@ -37797,9 +37764,7 @@ const CallWithChatScreen = (props) => {
37797
37764
  props.remoteVideoTileMenuOptions,
37798
37765
  /* @conditional-compile-remove(end-of-call-survey) */
37799
37766
  surveyOptions,
37800
- /* @conditional-compile-remove(custom-branding) */
37801
37767
  props.logo,
37802
- /* @conditional-compile-remove(custom-branding) */
37803
37768
  props.backgroundImage,
37804
37769
  /* @conditional-compile-remove(spotlight) */
37805
37770
  props.spotlight
@@ -37863,11 +37828,7 @@ const CallWithChatComposite = (props) => {
37863
37828
  /* @conditional-compile-remove(call-readiness) */
37864
37829
  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,
37865
37830
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37866
- attachmentOptions: options === null || options === void 0 ? void 0 : options.attachmentOptions, localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile, galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions,
37867
- /* @conditional-compile-remove(custom-branding) */
37868
- logo: (_a = options === null || options === void 0 ? void 0 : options.branding) === null || _a === void 0 ? void 0 : _a.logo,
37869
- /* @conditional-compile-remove(custom-branding) */
37870
- backgroundImage: (_b = options === null || options === void 0 ? void 0 : options.branding) === null || _b === void 0 ? void 0 : _b.backgroundImage,
37831
+ attachmentOptions: options === null || options === void 0 ? void 0 : options.attachmentOptions, localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile, galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions, logo: (_a = options === null || options === void 0 ? void 0 : options.branding) === null || _a === void 0 ? void 0 : _a.logo, backgroundImage: (_b = options === null || options === void 0 ? void 0 : options.branding) === null || _b === void 0 ? void 0 : _b.backgroundImage,
37871
37832
  /* @conditional-compile-remove(end-of-call-survey) */
37872
37833
  surveyOptions: options === null || options === void 0 ? void 0 : options.surveyOptions,
37873
37834
  /* @conditional-compile-remove(spotlight) */
@@ -37914,7 +37875,7 @@ function callWithChatAdapterStateFromBackingStates(callAdapter) {
37914
37875
  isTeamsCall: callAdapterState.isTeamsCall,
37915
37876
  latestCallErrors: callAdapterState.latestErrors,
37916
37877
  latestChatErrors: {},
37917
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37878
+ /* @conditional-compile-remove(attachment-upload) */
37918
37879
  attachmentUploads: {},
37919
37880
  /* @conditional-compile-remove(PSTN-calls) */
37920
37881
  alternateCallerId: callAdapterState.alternateCallerId,
@@ -37935,7 +37896,7 @@ function callWithChatAdapterStateFromBackingStates(callAdapter) {
37935
37896
  */
37936
37897
  function mergeChatAdapterStateIntoCallWithChatAdapterState(existingCallWithChatAdapterState, chatAdapterState) {
37937
37898
  return Object.assign(Object.assign({}, existingCallWithChatAdapterState), { chat: chatAdapterState.thread, latestChatErrors: chatAdapterState.latestErrors,
37938
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37899
+ /* @conditional-compile-remove(attachment-upload) */
37939
37900
  attachmentUploads: chatAdapterState.attachmentUploads });
37940
37901
  }
37941
37902
  /**
@@ -38016,41 +37977,41 @@ class CallWithChatContext {
38016
37977
  */
38017
37978
  class AzureCommunicationCallWithChatAdapter {
38018
37979
  constructor(callAdapter, chatAdapterPromise) {
38019
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37980
+ /* @conditional-compile-remove(attachment-upload) */
38020
37981
  this.registerActiveUploads = (files) => {
38021
37982
  var _a, _b;
38022
37983
  return (_b = (_a = this.chatAdapter) === null || _a === void 0 ? void 0 : _a.registerActiveUploads(files)) !== null && _b !== void 0 ? _b : [];
38023
37984
  };
38024
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37985
+ /* @conditional-compile-remove(attachment-upload) */
38025
37986
  this.registerCompletedUploads = (metadata) => {
38026
37987
  var _a, _b;
38027
37988
  return (_b = (_a = this.chatAdapter) === null || _a === void 0 ? void 0 : _a.registerCompletedUploads(metadata)) !== null && _b !== void 0 ? _b : [];
38028
37989
  };
38029
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37990
+ /* @conditional-compile-remove(attachment-upload) */
38030
37991
  this.clearUploads = () => {
38031
37992
  this.chatAdapterPromise.then((adapter) => {
38032
37993
  adapter.clearUploads();
38033
37994
  });
38034
37995
  };
38035
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
37996
+ /* @conditional-compile-remove(attachment-upload) */
38036
37997
  this.cancelUpload = (id) => {
38037
37998
  this.chatAdapterPromise.then((adapter) => {
38038
37999
  adapter.cancelUpload(id);
38039
38000
  });
38040
38001
  };
38041
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38002
+ /* @conditional-compile-remove(attachment-upload) */
38042
38003
  this.updateUploadProgress = (id, progress) => {
38043
38004
  this.chatAdapterPromise.then((adapter) => {
38044
38005
  adapter.updateUploadProgress(id, progress);
38045
38006
  });
38046
38007
  };
38047
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38008
+ /* @conditional-compile-remove(attachment-upload) */
38048
38009
  this.updateUploadStatusMessage = (id, errorMessage) => {
38049
38010
  this.chatAdapterPromise.then((adapter) => {
38050
38011
  adapter.updateUploadStatusMessage(id, errorMessage);
38051
38012
  });
38052
38013
  };
38053
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38014
+ /* @conditional-compile-remove(attachment-upload) */
38054
38015
  this.updateUploadMetadata = (id, metadata) => {
38055
38016
  this.chatAdapterPromise.then((adapter) => {
38056
38017
  adapter.updateUploadMetadata(id, metadata);
@@ -38114,19 +38075,19 @@ class AzureCommunicationCallWithChatAdapter {
38114
38075
  this.deleteMessage.bind(this);
38115
38076
  this.on.bind(this);
38116
38077
  this.off.bind(this);
38117
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38078
+ /* @conditional-compile-remove(attachment-upload) */
38118
38079
  this.registerActiveUploads = this.registerActiveUploads.bind(this);
38119
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38080
+ /* @conditional-compile-remove(attachment-upload) */
38120
38081
  this.registerCompletedUploads = this.registerCompletedUploads.bind(this);
38121
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38082
+ /* @conditional-compile-remove(attachment-upload) */
38122
38083
  this.clearUploads = this.clearUploads.bind(this);
38123
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38084
+ /* @conditional-compile-remove(attachment-upload) */
38124
38085
  this.cancelUpload = this.cancelUpload.bind(this);
38125
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38086
+ /* @conditional-compile-remove(attachment-upload) */
38126
38087
  this.updateUploadProgress = this.updateUploadProgress.bind(this);
38127
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38088
+ /* @conditional-compile-remove(attachment-upload) */
38128
38089
  this.updateUploadStatusMessage = this.updateUploadStatusMessage.bind(this);
38129
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
38090
+ /* @conditional-compile-remove(attachment-upload) */
38130
38091
  this.updateUploadMetadata = this.updateUploadMetadata.bind(this);
38131
38092
  this.downloadResourceToCache = this.downloadResourceToCache.bind(this);
38132
38093
  this.removeResourceFromCache = this.removeResourceFromCache.bind(this);
@@ -38386,7 +38347,7 @@ class AzureCommunicationCallWithChatAdapter {
38386
38347
  return __awaiter$2(this, void 0, void 0, function* () {
38387
38348
  return this.chatAdapterPromise.then((adapter) => {
38388
38349
  return adapter.updateMessage(messageId, content, metadata,
38389
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ options);
38350
+ /* @conditional-compile-remove(attachment-upload) */ options);
38390
38351
  });
38391
38352
  });
38392
38353
  }
@@ -39420,7 +39381,9 @@ exports.FluentThemeProvider = FluentThemeProvider;
39420
39381
  exports.GridLayout = GridLayout;
39421
39382
  exports.HoldButton = HoldButton;
39422
39383
  exports.ImageOverlay = ImageOverlay;
39384
+ exports.InputBoxButton = InputBoxButton;
39423
39385
  exports.LocalizationProvider = LocalizationProvider$1;
39386
+ exports.MAXIMUM_LENGTH_OF_MESSAGE = MAXIMUM_LENGTH_OF_MESSAGE;
39424
39387
  exports.MessageStatusIndicator = MessageStatusIndicator;
39425
39388
  exports.MessageThread = MessageThread;
39426
39389
  exports.MicrophoneButton = MicrophoneButton;
@@ -39429,9 +39392,11 @@ exports.ParticipantItem = ParticipantItem;
39429
39392
  exports.ParticipantList = ParticipantList$k;
39430
39393
  exports.ParticipantsButton = ParticipantsButton;
39431
39394
  exports.RaiseHandButton = RaiseHandButton;
39395
+ exports.RichTextInputBoxComponent = RichTextInputBoxComponent;
39432
39396
  exports.RichTextSendBox = RichTextSendBox;
39397
+ exports.RichTextSendBoxErrors = RichTextSendBoxErrors;
39433
39398
  exports.ScreenShareButton = ScreenShareButton;
39434
- exports.SendBox = SendBox$1;
39399
+ exports.SendBox = SendBox;
39435
39400
  exports.StreamMedia = StreamMedia;
39436
39401
  exports.TypingIndicator = TypingIndicator;
39437
39402
  exports.UnsupportedBrowser = UnsupportedBrowser$k;
@@ -39440,6 +39405,7 @@ exports.UnsupportedOperatingSystem = UnsupportedOperatingSystem$k;
39440
39405
  exports.VideoGallery = VideoGallery;
39441
39406
  exports.VideoTile = VideoTile;
39442
39407
  exports._IdentifierProvider = _IdentifierProvider;
39408
+ exports._formatString = _formatString;
39443
39409
  exports.createAzureCommunicationCallAdapter = createAzureCommunicationCallAdapter;
39444
39410
  exports.createAzureCommunicationCallAdapterFromClient = createAzureCommunicationCallAdapterFromClient;
39445
39411
  exports.createAzureCommunicationCallWithChatAdapter = createAzureCommunicationCallWithChatAdapter;
@@ -39455,13 +39421,21 @@ exports.createTeamsCallAdapter = createTeamsCallAdapter;
39455
39421
  exports.createTeamsCallAdapterFromClient = createTeamsCallAdapterFromClient;
39456
39422
  exports.darkTheme = darkTheme;
39457
39423
  exports.defaultAttachmentMenuAction = defaultAttachmentMenuAction;
39424
+ exports.editBoxRichTextEditorStyle = editBoxRichTextEditorStyle;
39425
+ exports.editBoxWidthStyles = editBoxWidthStyles;
39458
39426
  exports.fromFlatCommunicationIdentifier = fromFlatCommunicationIdentifier;
39427
+ exports.getMessageState = getMessageState;
39428
+ exports.getMessageWithAttachmentMetadata = getMessageWithAttachmentMetadata;
39459
39429
  exports.getSelector = getSelector$1;
39460
39430
  exports.getSelector$1 = getSelector;
39461
39431
  exports.imageOverlayTheme = imageOverlayTheme;
39462
39432
  exports.lightTheme = lightTheme;
39433
+ exports.onRenderCancelIcon = onRenderCancelIcon;
39434
+ exports.onRenderSubmitIcon = onRenderSubmitIcon;
39463
39435
  exports.onResolveVideoEffectDependency = onResolveVideoEffectDependency;
39464
39436
  exports.onResolveVideoEffectDependencyLazy = onResolveVideoEffectDependencyLazy;
39437
+ exports.richTextActionButtonsStyle = richTextActionButtonsStyle;
39438
+ exports.richTextEditBoxActionButtonIcon = richTextEditBoxActionButtonIcon;
39465
39439
  exports.toFlatCommunicationIdentifier = toFlatCommunicationIdentifier;
39466
39440
  exports.useAzureCommunicationCallAdapter = useAzureCommunicationCallAdapter;
39467
39441
  exports.useAzureCommunicationCallWithChatAdapter = useAzureCommunicationCallWithChatAdapter;
@@ -39470,13 +39444,15 @@ exports.useCall = useCall;
39470
39444
  exports.useCallAgent = useCallAgent;
39471
39445
  exports.useCallClient = useCallClient;
39472
39446
  exports.useChatClient = useChatClient;
39447
+ exports.useChatMessageRichTextEditContainerStyles = useChatMessageRichTextEditContainerStyles;
39448
+ exports.useChatMyMessageStyles = useChatMyMessageStyles;
39473
39449
  exports.useChatThreadClient = useChatThreadClient;
39474
39450
  exports.useDeviceManager = useDeviceManager;
39475
- exports.usePropsFor = usePropsFor$2;
39476
- exports.usePropsFor$1 = usePropsFor;
39451
+ exports.useLocale = useLocale$1;
39452
+ exports.usePropsFor = usePropsFor;
39477
39453
  exports.useSelector = useSelector;
39478
39454
  exports.useTeamsCall = useTeamsCall;
39479
39455
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
39480
39456
  exports.useTeamsCallAgent = useTeamsCallAgent;
39481
39457
  exports.useTheme = useTheme;
39482
- //# sourceMappingURL=index-aOBAWcNI.js.map
39458
+ //# sourceMappingURL=index-BK44EyzL.js.map