@azure/communication-react 1.19.0-beta.1 → 1.19.0-beta.3

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 (488) hide show
  1. package/dist/communication-react.d.ts +209 -46
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js → ChatMessageComponentAsRichTextEditBox-CmQ4tsn4.js} +14 -51
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CmQ4tsn4.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-NoJpTHbL.js → RichTextSendBoxWrapper-B5nW2JWn.js} +2 -4
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-B5nW2JWn.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/{index-MlVvToaE.js → index-CxAwDUu4.js} +1384 -1824
  7. package/dist/dist-cjs/communication-react/index-CxAwDUu4.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -1
  13. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  15. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -3
  19. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +9 -5
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -3
  22. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -3
  24. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -9
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -3
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +10 -14
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +2 -2
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +4 -21
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +2 -21
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -4
  39. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +33 -11
  41. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +2 -9
  43. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -3
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +3 -3
  47. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +0 -1
  48. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -2
  50. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -6
  53. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +2 -5
  55. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +3 -3
  57. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +20 -0
  59. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +106 -0
  60. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -0
  61. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +41 -4
  67. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +12 -3
  69. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +65 -27
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -2
  72. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  74. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -14
  75. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +0 -7
  79. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -13
  82. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -3
  84. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +6 -2
  86. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -6
  88. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -3
  90. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -2
  92. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -5
  93. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +1 -16
  96. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -2
  98. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -6
  100. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +2 -0
  102. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  103. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
  104. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  105. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -2
  106. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -17
  107. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  108. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -1
  109. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +3 -5
  110. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  111. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -11
  112. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  113. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -3
  114. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -1
  115. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  116. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  117. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  118. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  119. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +0 -1
  120. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  121. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  122. package/dist/dist-esm/communication-react/src/index.js +0 -10
  123. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  124. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +1 -1
  125. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -4
  126. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +1 -3
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +0 -9
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -13
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -1
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -22
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -1
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -15
  140. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -8
  142. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -11
  143. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +1 -1
  145. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +12 -57
  146. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -2
  148. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +7 -21
  149. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  150. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -1
  151. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -14
  152. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +6 -45
  154. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -7
  156. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -8
  158. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -17
  160. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  161. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -12
  162. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +1 -1
  165. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  167. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  168. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +5 -16
  169. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +1 -3
  171. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -3
  173. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  174. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +0 -10
  175. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/MentionPopover.js +1 -5
  177. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -5
  179. package/dist/dist-esm/react-components/src/components/MessageThread.js +10 -27
  180. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +21 -1
  182. package/dist/dist-esm/react-components/src/components/NotificationStack.js +11 -7
  183. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -2
  185. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -13
  187. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +3 -10
  189. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +2 -16
  191. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -9
  193. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +1 -1
  195. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +8 -30
  196. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +1 -1
  198. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +4 -12
  199. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +1 -1
  201. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +15 -77
  202. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +2 -9
  204. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  206. package/dist/dist-esm/react-components/src/components/SendBox.js +10 -32
  207. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -12
  209. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  211. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  213. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -5
  215. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  217. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +0 -1
  219. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +1 -4
  220. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +2 -4
  222. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -8
  224. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -9
  226. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/VideoTile.js +4 -7
  228. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/index.js +0 -12
  230. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -1
  232. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  234. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -1
  236. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -7
  237. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +3 -3
  239. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +5 -15
  240. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -8
  242. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +2 -14
  244. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  246. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -1
  248. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/utils.js +6 -11
  250. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +0 -2
  252. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +25 -0
  256. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +25 -0
  257. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +25 -0
  258. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +25 -0
  259. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +25 -0
  260. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +25 -0
  261. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +25 -0
  262. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +25 -0
  263. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +25 -0
  264. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +25 -0
  265. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +26 -1
  266. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +25 -0
  267. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +25 -0
  268. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +25 -0
  269. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +25 -0
  270. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +25 -0
  271. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +25 -0
  272. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +25 -0
  273. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +25 -0
  274. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +25 -0
  275. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +25 -0
  276. package/dist/dist-esm/react-components/src/theming/icons.d.ts +5 -0
  277. package/dist/dist-esm/react-components/src/theming/icons.js +6 -55
  278. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/theming/themes.js +0 -1
  280. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  283. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  286. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +19 -52
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +34 -0
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +16 -7
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +85 -58
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +20 -2
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +0 -2
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +47 -0
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +48 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -0
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +13 -0
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +37 -0
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -0
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -2
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +24 -73
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -8
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +1 -0
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +14 -36
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +0 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -8
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -11
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -8
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -5
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +2 -10
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +1 -2
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -14
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +0 -7
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +5 -20
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +20 -16
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +3 -4
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +7 -0
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +14 -0
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -0
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -7
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -1
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -2
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +4 -12
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -46
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +2 -2
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +4 -9
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +2 -2
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +3 -6
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +3 -6
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -13
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +18 -0
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +16 -3
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +0 -2
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +3 -3
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -2
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +5 -12
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  376. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -1
  377. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +20 -24
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +8 -0
  380. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +15 -4
  382. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +136 -26
  383. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  384. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +11 -4
  385. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -1
  387. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -10
  388. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  389. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
  390. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -6
  391. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  392. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +3 -0
  393. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -4
  394. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +5 -0
  396. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +13 -0
  397. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -5
  399. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +22 -96
  401. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -2
  403. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +3 -22
  405. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  407. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  408. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -11
  409. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  410. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  411. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -3
  413. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +1 -11
  415. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  416. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  417. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -6
  418. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  419. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -1
  421. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -2
  422. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -3
  424. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  425. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +1 -2
  426. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -2
  428. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +39 -28
  430. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -9
  432. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  433. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +12 -0
  434. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +52 -0
  435. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -0
  436. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +1 -8
  437. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  438. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +0 -6
  440. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  441. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  442. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -9
  444. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -4
  446. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -1
  447. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +1 -8
  448. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +1 -19
  449. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  450. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +23 -0
  451. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  452. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -1
  453. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +5 -0
  455. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -11
  456. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +5 -5
  458. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  460. package/dist/dist-esm/react-composites/src/composites/common/utils.js +22 -0
  461. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  463. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  464. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +12 -2
  465. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +12 -2
  466. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +12 -2
  467. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +12 -2
  468. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +12 -2
  469. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +12 -2
  470. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +12 -2
  471. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +12 -2
  472. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +12 -2
  473. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +12 -2
  474. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +12 -2
  475. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +12 -2
  476. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +12 -2
  477. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +12 -2
  478. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +12 -2
  479. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +12 -2
  480. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +12 -2
  481. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +12 -2
  482. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +12 -2
  483. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +12 -2
  484. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +12 -2
  485. package/package.json +7 -7
  486. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-BwDfn2HU.js.map +0 -1
  487. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-NoJpTHbL.js.map +0 -1
  488. package/dist/dist-cjs/communication-react/index-MlVvToaE.js.map +0 -1
@@ -5,24 +5,17 @@ import { RichTextInputBoxComponent } from './RichTextInputBoxComponent';
5
5
  import { Icon, Stack } from '@fluentui/react';
6
6
  import { useLocale } from '../../localization';
7
7
  import { sendIconStyle } from '../styles/SendBox.styles';
8
- /* @conditional-compile-remove(file-sharing-acs) */
9
8
  import { useV9CustomStyles } from '../styles/SendBox.styles';
10
9
  import { InputBoxButton } from '../InputBoxButton';
11
10
  import { RichTextSendBoxErrors } from './RichTextSendBoxErrors';
12
11
  import { isMessageTooLong, isSendBoxButtonAriaDisabled, sanitizeText, modifyInlineImagesInContentString } from '../utils/SendBoxUtils';
13
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
14
12
  import { hasInlineImageContent, getContentWithUpdatedInlineImagesInfo } from '../utils/SendBoxUtils';
15
13
  import { useTheme } from '../../theming';
16
14
  import { richTextActionButtonsStyle, sendBoxRichTextEditorStyle } from '../styles/RichTextEditor.styles';
17
- /* @conditional-compile-remove(file-sharing-acs) */
18
15
  import { _AttachmentUploadCards } from '../Attachment/AttachmentUploadCards';
19
- /* @conditional-compile-remove(file-sharing-acs) */
20
16
  import { isAttachmentUploadCompleted, hasIncompleteAttachmentUploads, toAttachmentMetadata } from '../utils/SendBoxUtils';
21
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
22
17
  import { SendBoxErrorBarType } from '../SendBoxErrorBar';
23
- /* @conditional-compile-remove(file-sharing-acs) */
24
18
  import { attachmentUploadCardsStyles } from '../styles/SendBox.styles';
25
- /* @conditional-compile-remove(file-sharing-acs) */
26
19
  import { FluentV9ThemeProvider } from '../../theming/FluentV9ThemeProvider';
27
20
  /**
28
21
  * A component to render SendBox with Rich Text Editor support.
@@ -30,35 +23,20 @@ import { FluentV9ThemeProvider } from '../../theming/FluentV9ThemeProvider';
30
23
  * @beta
31
24
  */
32
25
  export const RichTextSendBox = (props) => {
33
- const { disabled = false, systemMessage, autoFocus, onSendMessage, onTyping,
34
- /* @conditional-compile-remove(file-sharing-acs) */
35
- attachments,
36
- /* @conditional-compile-remove(file-sharing-acs) */
37
- onCancelAttachmentUpload,
38
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
39
- onPaste,
40
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
41
- onInsertInlineImage,
42
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
43
- inlineImagesWithProgress,
44
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
45
- onRemoveInlineImage } = props;
26
+ const { disabled = false, systemMessage, autoFocus, onSendMessage, onTyping, attachments, onCancelAttachmentUpload, onPaste, onInsertInlineImage, inlineImagesWithProgress, onRemoveInlineImage } = props;
46
27
  const theme = useTheme();
47
28
  const locale = useLocale();
48
29
  const localeStrings = useMemo(() => {
49
- /* @conditional-compile-remove(rich-text-editor) */
50
30
  return locale.strings.richTextSendBox;
51
31
  return locale.strings.sendBox;
52
- }, [/* @conditional-compile-remove(rich-text-editor) */ locale.strings.richTextSendBox, locale.strings.sendBox]);
32
+ }, [locale.strings.richTextSendBox, locale.strings.sendBox]);
53
33
  const strings = useMemo(() => {
54
34
  return Object.assign(Object.assign({}, localeStrings), props.strings);
55
35
  }, [localeStrings, props.strings]);
56
36
  const [contentValue, setContentValue] = useState('');
57
37
  const [contentValueOverflow, setContentValueOverflow] = useState(false);
58
- /* @conditional-compile-remove(file-sharing-acs) */
59
38
  const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = useState(undefined);
60
39
  const editorComponentRef = useRef(null);
61
- /* @conditional-compile-remove(file-sharing-acs) */
62
40
  const customV9Styles = useV9CustomStyles();
63
41
  const contentTooLongMessage = useMemo(() => contentValueOverflow ? strings.textTooLong : undefined, [contentValueOverflow, strings.textTooLong]);
64
42
  const setContent = useCallback((newValue) => {
@@ -69,22 +47,19 @@ export const RichTextSendBox = (props) => {
69
47
  setContentValue(newValue);
70
48
  }, []);
71
49
  const onChangeHandler = useCallback((newValue, removedInlineImages) => {
72
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
73
50
  removedInlineImages === null || removedInlineImages === void 0 ? void 0 : removedInlineImages.forEach((removedInlineImage) => onRemoveInlineImage && onRemoveInlineImage(removedInlineImage));
74
51
  setContent(newValue);
75
- }, [setContent, /* @conditional-compile-remove(rich-text-editor-image-upload) */ onRemoveInlineImage]);
52
+ }, [setContent, onRemoveInlineImage]);
76
53
  const hasContent = useMemo(() => {
77
54
  var _a;
78
55
  // get plain text content from the editor to check if the message is empty
79
56
  // as the content may contain tags even when the content is empty
80
57
  const plainTextContent = (_a = editorComponentRef.current) === null || _a === void 0 ? void 0 : _a.getPlainContent();
81
58
  const hasPlainText = sanitizeText(contentValue !== null && contentValue !== void 0 ? contentValue : '').length > 0 && sanitizeText(plainTextContent !== null && plainTextContent !== void 0 ? plainTextContent : '').length > 0;
82
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
83
59
  const hasInlineImages = hasInlineImageContent(contentValue);
84
- return hasPlainText || /* @conditional-compile-remove(rich-text-editor-image-upload) */ hasInlineImages;
60
+ return hasPlainText || hasInlineImages;
85
61
  }, [contentValue]);
86
62
  const sendMessageOnClick = useCallback(() => {
87
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
88
63
  if (inlineImagesWithProgress && inlineImagesWithProgress.length > 0) {
89
64
  const contentWithUpdatedInlineImagesInfo = getContentWithUpdatedInlineImagesInfo(contentValue, inlineImagesWithProgress);
90
65
  const messageTooLong = isMessageTooLong(contentWithUpdatedInlineImagesInfo.length);
@@ -100,36 +75,27 @@ export const RichTextSendBox = (props) => {
100
75
  return;
101
76
  }
102
77
  // Don't send message until all attachments have been uploaded successfully
103
- /* @conditional-compile-remove(file-sharing-acs) */
104
78
  setAttachmentUploadsPendingError(undefined);
105
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
106
79
  const hasIncompleteImageUploads = hasIncompleteAttachmentUploads(inlineImagesWithProgress);
107
- /* @conditional-compile-remove(file-sharing-acs) */
108
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
109
- if ( /* @conditional-compile-remove(file-sharing-acs) */hasIncompleteAttachmentUploads(attachments) || /* @conditional-compile-remove(rich-text-editor-image-upload) */ hasIncompleteImageUploads) {
110
- /* @conditional-compile-remove(file-sharing-acs) */
80
+ if (hasIncompleteAttachmentUploads(attachments) || hasIncompleteImageUploads) {
111
81
  let errorMessage = strings.attachmentUploadsPendingError;
112
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
113
82
  if (hasIncompleteImageUploads) {
114
83
  errorMessage = strings.imageUploadsPendingError || '';
115
84
  }
116
85
  setAttachmentUploadsPendingError({
117
86
  message: errorMessage,
118
87
  timestamp: Date.now(),
119
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
120
88
  errorBarType: SendBoxErrorBarType.info
121
89
  });
122
90
  return;
123
91
  }
124
92
  // we don't want to send empty messages including spaces, newlines, tabs
125
93
  // Message can be empty if there is a valid attachment upload
126
- if (hasContent || /* @conditional-compile-remove(file-sharing-acs) */ isAttachmentUploadCompleted(attachments)) {
94
+ if (hasContent || isAttachmentUploadCompleted(attachments)) {
127
95
  const sendMessage = (content) => {
128
96
  var _a, _b;
129
- onSendMessage(content, /* @conditional-compile-remove(file-sharing-acs) */ /* @conditional-compile-remove(rich-text-editor-composite-support) */ {
130
- /* @conditional-compile-remove(file-sharing-acs) */
97
+ onSendMessage(content, {
131
98
  attachments: toAttachmentMetadata(attachments),
132
- /* @conditional-compile-remove(rich-text-editor-composite-support) */
133
99
  type: 'html'
134
100
  });
135
101
  setContentValue('');
@@ -140,27 +106,15 @@ export const RichTextSendBox = (props) => {
140
106
  sendMessage(content);
141
107
  });
142
108
  }
143
- }, [disabled, contentValueOverflow, /* @conditional-compile-remove(file-sharing-acs) */
144
- attachments, /* @conditional-compile-remove(rich-text-editor-image-upload) */
145
- inlineImagesWithProgress, contentValue, hasContent, /* @conditional-compile-remove(file-sharing-acs) */
146
- strings.attachmentUploadsPendingError, /* @conditional-compile-remove(rich-text-editor-image-upload) */
147
- strings.imageUploadsPendingError, onSendMessage]);
109
+ }, [disabled, contentValueOverflow, attachments, inlineImagesWithProgress, contentValue, hasContent, strings.attachmentUploadsPendingError, strings.imageUploadsPendingError, onSendMessage]);
148
110
  const hasErrorMessage = useMemo(() => {
149
111
  var _a, _b;
150
- return !!systemMessage || !!contentTooLongMessage || /* @conditional-compile-remove(file-sharing-acs) */
151
- !!attachmentUploadsPendingError || /* @conditional-compile-remove(file-sharing-acs) */
152
- !!((_a = attachments === null || attachments === void 0 ? void 0 : attachments.filter(attachmentUpload => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error) || /* @conditional-compile-remove(rich-text-editor-image-upload) */
153
- !!((_b = inlineImagesWithProgress === null || inlineImagesWithProgress === void 0 ? void 0 : inlineImagesWithProgress.filter(image => image.error).pop()) === null || _b === void 0 ? void 0 : _b.error);
154
- }, [
155
- attachments, contentTooLongMessage, /* @conditional-compile-remove(file-sharing-acs) */
156
- attachmentUploadsPendingError, systemMessage, /* @conditional-compile-remove(rich-text-editor-image-upload) */
157
- inlineImagesWithProgress
158
- ]);
112
+ return !!systemMessage || !!contentTooLongMessage || !!attachmentUploadsPendingError || !!((_a = attachments === null || attachments === void 0 ? void 0 : attachments.filter(attachmentUpload => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error) || !!((_b = inlineImagesWithProgress === null || inlineImagesWithProgress === void 0 ? void 0 : inlineImagesWithProgress.filter(image => image.error).pop()) === null || _b === void 0 ? void 0 : _b.error);
113
+ }, [attachments, contentTooLongMessage, attachmentUploadsPendingError, systemMessage, inlineImagesWithProgress]);
159
114
  const onRenderSendIcon = useCallback((isHover) => {
160
115
  return React.createElement(Icon, { iconName: isHover && hasContent ? 'SendBoxSendHovered' : 'SendBoxSend', className: sendIconStyle({
161
116
  theme,
162
117
  hasText: hasContent,
163
- /* @conditional-compile-remove(file-sharing-acs) */
164
118
  hasAttachment: false,
165
119
  hasErrorMessage: hasErrorMessage,
166
120
  defaultTextColor: theme.palette.neutralSecondary,
@@ -169,31 +123,20 @@ export const RichTextSendBox = (props) => {
169
123
  }, [disabled, hasContent, hasErrorMessage, theme]);
170
124
  const sendBoxErrorsProps = useMemo(() => {
171
125
  var _a, _b, _c, _d;
172
- /* @conditional-compile-remove(file-sharing-acs) */
173
126
  const uploadErrorMessage = (_b = (_a = attachments === null || attachments === void 0 ? void 0 : attachments.filter(attachmentUpload => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.message;
174
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
175
127
  const imageUploadErrorMessage = (_d = (_c = inlineImagesWithProgress === null || inlineImagesWithProgress === void 0 ? void 0 : inlineImagesWithProgress.filter(image => image.error).pop()) === null || _c === void 0 ? void 0 : _c.error) === null || _d === void 0 ? void 0 : _d.message;
176
- /* @conditional-compile-remove(file-sharing-acs) */
177
- const errorMessage = uploadErrorMessage || /* @conditional-compile-remove(rich-text-editor-image-upload) */ imageUploadErrorMessage;
128
+ const errorMessage = uploadErrorMessage || imageUploadErrorMessage;
178
129
  return {
179
- /* @conditional-compile-remove(file-sharing-acs) */
180
130
  attachmentUploadsPendingError: attachmentUploadsPendingError,
181
- /* @conditional-compile-remove(file-sharing-acs) */
182
131
  attachmentProgressError: errorMessage ? {
183
132
  message: errorMessage,
184
133
  timestamp: Date.now(),
185
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
186
134
  errorBarType: SendBoxErrorBarType.error
187
135
  } : undefined,
188
136
  systemMessage: systemMessage,
189
137
  textTooLongMessage: contentTooLongMessage
190
138
  };
191
- }, [
192
- attachments, contentTooLongMessage, /* @conditional-compile-remove(file-sharing-acs) */
193
- attachmentUploadsPendingError, /* @conditional-compile-remove(rich-text-editor-image-upload) */
194
- inlineImagesWithProgress, systemMessage
195
- ]);
196
- /* @conditional-compile-remove(file-sharing-acs) */
139
+ }, [attachments, contentTooLongMessage, attachmentUploadsPendingError, inlineImagesWithProgress, systemMessage]);
197
140
  const onRenderAttachmentUploads = useCallback(() => {
198
141
  return React.createElement(Stack, { className: attachmentUploadCardsStyles },
199
142
  React.createElement(FluentV9ThemeProvider, { v8Theme: theme, className: customV9Styles.clearBackground },
@@ -207,27 +150,22 @@ export const RichTextSendBox = (props) => {
207
150
  const isSendBoxButtonAriaDisabledValue = useMemo(() => {
208
151
  return isSendBoxButtonAriaDisabled({
209
152
  hasContent,
210
- /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments),
153
+ hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments),
211
154
  hasError: hasErrorMessage,
212
155
  disabled
213
156
  });
214
- }, [/* @conditional-compile-remove(file-sharing-acs) */ attachments, disabled, hasContent, hasErrorMessage]);
157
+ }, [attachments, disabled, hasContent, hasErrorMessage]);
215
158
  const sendButton = useMemo(() => {
216
159
  return React.createElement(InputBoxButton, { onRenderIcon: onRenderSendIcon, onClick: e => {
217
160
  sendMessageOnClick();
218
161
  e.stopPropagation(); // Prevents the click from bubbling up and triggering a focus event on the chat.
219
162
  }, className: richTextActionButtonsStyle, ariaLabel: localeStrings.sendButtonAriaLabel, tooltipContent: localeStrings.sendButtonAriaLabel, ariaDisabled: isSendBoxButtonAriaDisabledValue });
220
163
  }, [isSendBoxButtonAriaDisabledValue, localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]);
221
- /* @conditional-compile-remove(file-sharing-acs) */
222
164
  const hasAttachmentUploads = useMemo(() => {
223
165
  return isAttachmentUploadCompleted(attachments) || hasIncompleteAttachmentUploads(attachments);
224
166
  }, [attachments]);
225
167
  return React.createElement(Stack, null,
226
168
  React.createElement(RichTextSendBoxErrors, Object.assign({}, sendBoxErrorsProps)),
227
- React.createElement(RichTextInputBoxComponent, { placeholderText: strings.placeholderText, autoFocus: autoFocus, onChange: onChangeHandler, onEnterKeyDown: sendMessageOnClick, onTyping: onTyping, editorComponentRef: editorComponentRef, strings: strings, disabled: disabled, actionComponents: sendButton, richTextEditorStyleProps: sendBoxRichTextEditorStyle,
228
- /* @conditional-compile-remove(file-sharing-acs) */ onRenderAttachmentUploads: onRenderAttachmentUploads,
229
- /* @conditional-compile-remove(file-sharing-acs) */ hasAttachments: hasAttachmentUploads,
230
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste: onPaste,
231
- /* @conditional-compile-remove(rich-text-editor-image-upload) */ onInsertInlineImage: onInsertInlineImage }));
169
+ React.createElement(RichTextInputBoxComponent, { placeholderText: strings.placeholderText, autoFocus: autoFocus, onChange: onChangeHandler, onEnterKeyDown: sendMessageOnClick, onTyping: onTyping, editorComponentRef: editorComponentRef, strings: strings, disabled: disabled, actionComponents: sendButton, richTextEditorStyleProps: sendBoxRichTextEditorStyle, onRenderAttachmentUploads: onRenderAttachmentUploads, hasAttachments: hasAttachmentUploads, onPaste: onPaste, onInsertInlineImage: onInsertInlineImage }));
232
170
  };
233
171
  //# sourceMappingURL=RichTextSendBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextSendBox.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/RichTextEditor/RichTextSendBox.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,mDAAmD;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAA8B,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,YAAY,EAAE,iCAAiC,EAAE,MAAM,uBAAuB,CAAC;AACvI,gEAAgE;AAChE,OAAO,EAAE,qBAAqB,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AAErG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AACzG,mDAAmD;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,mDAAmD;AACnD,OAAO,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG1H,gEAAgE;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,mDAAmD;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,mDAAmD;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAwN5E;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAe,EAAE;IAC1E,MAAM,EACJ,QAAQ,GAAG,KAAK,EAChB,aAAa,EACb,SAAS,EACT,aAAa,EACb,QAAQ;IACR,mDAAmD;IACnD,WAAW;IACX,mDAAmD;IACnD,wBAAwB;IACxB,gEAAgE;IAChE,OAAO;IACP,gEAAgE;IAChE,mBAAmB;IACnB,gEAAgE;IAChE,wBAAwB;IACxB,gEAAgE;IAChE,mBAAmB,EACpB,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,mDAAmD;QACnD,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QACtC,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IAChC,CAAC,EAAE,CAAC,mDAAmD,CAAA,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAChH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,uCACK,aAAa,GACb,KAAK,CAAC,OAAO,EAChB;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxE,mDAAmD;IACnD,MAAM,CAAC,6BAA6B,EAAE,gCAAgC,CAAC,GAAG,QAAQ,CAAmC,SAAS,CAAC,CAAC;IAChI,MAAM,kBAAkB,GAAG,MAAM,CAA6B,IAAI,CAAC,CAAC;IAEpE,mDAAmD;IACnD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACjJ,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,QAAiB,EAAQ,EAAE;QACzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,uBAAuB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,QAAiB,EAAE,mBAA8C,EAAE,EAAE;QACxG,gEAAgE;QAChE,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,OAAO,CAAC,CAAC,kBAA0C,EAAE,EAAE,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC7I,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,UAAU,EAAE,gEAAgE,CAAA,mBAAmB,CAAC,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;;QAC9B,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,MAAA,kBAAkB,CAAC,OAAO,0CAAE,eAAe,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACpH,gEAAgE;QAChE,MAAM,eAAe,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC5D,OAAO,YAAY,IAAI,gEAAgE,CAAA,eAAe,CAAC;IACzG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACnB,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAS,EAAE;QAChD,gEAAgE;QAChE,IAAI,wBAAwB,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,kCAAkC,GAAG,qCAAqC,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;YACzH,MAAM,cAAc,GAAG,gBAAgB,CAAC,kCAAkC,CAAC,MAAM,CAAC,CAAC;YACnF,0DAA0D;YAC1D,uBAAuB,CAAC,cAAc,CAAC,CAAC;YACxC,yFAAyF;YACzF,oGAAoG;YACpG,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,IAAI,oBAAoB,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,2EAA2E;QAC3E,mDAAmD;QACnD,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAE5C,gEAAgE;QAChE,MAAM,yBAAyB,GAAG,8BAA8B,CAAC,wBAAwB,CAAC,CAAC;QAC3F,mDAAmD;QACnD,gEAAgE;QAChE,KAAK,mDAAmD,8BAA8B,CAAC,WAAW,CAAC,IAAI,gEAAgE,CAAA,yBAAyB,EAAE,CAAC;YACjM,mDAAmD;YACnD,IAAI,YAAY,GAAG,OAAO,CAAC,6BAA6B,CAAC;YACzD,gEAAgE;YAChE,IAAI,yBAAyB,EAAE,CAAC;gBAC9B,YAAY,GAAG,OAAO,CAAC,wBAAwB,IAAI,EAAE,CAAC;YACxD,CAAC;YACD,gCAAgC,CAAC;gBAC/B,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,gEAAgE;gBAChE,YAAY,EAAE,mBAAmB,CAAC,IAAI;aACvC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,wEAAwE;QACxE,6DAA6D;QAC7D,IAAI,UAAU,IAAI,mDAAmD,CAAA,2BAA2B,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9G,MAAM,WAAW,GAAG,CAAC,OAAe,EAAQ,EAAE;;gBAC5C,aAAa,CAAC,OAAO,EAAE,mDAAmD,CAAC,qEAAqE,CAChJ;oBACE,mDAAmD;oBACnD,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC;oBAC9C,qEAAqE;oBACrE,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAA,kBAAkB,CAAC,OAAO,0CAAE,eAAe,EAAE,CAAC;gBAC9C,MAAA,kBAAkB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YACtC,CAAC,CAAC;YACF,iCAAiC,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,OAAe,EAAE,EAAE;gBACtE,WAAW,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,mDAAmD;QACvF,WAAW,EAAE,gEAAgE;QAC7E,wBAAwB,EAAE,YAAY,EAAE,UAAU,EAAE,mDAAmD;QACvG,OAAO,CAAC,6BAA6B,EAAE,gEAAgE;QACvG,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;;QACnC,OAAO,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,qBAAqB,IAAI,mDAAmD;YACxG,CAAC,CAAC,6BAA6B,IAAI,mDAAmD;YACtF,CAAC,CAAC,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,0CAAE,KAAK,CAAA,IAAI,gEAAgE;YAClJ,CAAC,CAAC,CAAA,MAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,0CAAE,KAAK,CAAA,CAAC;IACxE,CAAC,EAAE;QACH,WAAW,EAAE,qBAAqB,EAAE,mDAAmD;QACvF,6BAA6B,EAAE,aAAa,EAAE,gEAAgE;QAC9G,wBAAwB;KAAC,CAAC,CAAC;IAC3B,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,OAAgB,EAAE,EAAE;QACxD,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC;gBAC5G,KAAK;gBACL,OAAO,EAAE,UAAU;gBACnB,mDAAmD;gBACnD,aAAa,EAAE,KAAK;gBACpB,eAAe,EAAE,eAAe;gBAChC,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB;gBAChD,QAAQ,EAAE,QAAQ;aACnB,CAAC,GAAI,CAAC;IACT,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAA+B,OAAO,CAAC,GAAG,EAAE;;QAClE,mDAAmD;QACnD,MAAM,kBAAkB,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,0CAAE,KAAK,0CAAE,OAAO,CAAC;QACjH,gEAAgE;QAChE,MAAM,uBAAuB,GAAG,MAAA,MAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,0CAAE,KAAK,0CAAE,OAAO,CAAC;QAC7G,mDAAmD;QACnD,MAAM,YAAY,GAAG,kBAAkB,IAAI,gEAAgE,CAAA,uBAAuB,CAAC;QACnI,OAAO;YACL,mDAAmD;YACnD,6BAA6B,EAAE,6BAA6B;YAC5D,mDAAmD;YACnD,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC;gBACtC,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;gBACrB,gEAAgE;gBAChE,YAAY,EAAE,mBAAmB,CAAC,KAAK;aACxC,CAAC,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,aAAa;YAC5B,kBAAkB,EAAE,qBAAqB;SAC1C,CAAC;IACJ,CAAC,EAAE;QACH,WAAW,EAAE,qBAAqB,EAAE,mDAAmD;QACvF,6BAA6B,EAAE,gEAAgE;QAC/F,wBAAwB,EAAE,aAAa;KAAC,CAAC,CAAC;IAE1C,mDAAmD;IACnD,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;QACjD,OAAO,oBAAC,KAAK,IAAC,SAAS,EAAE,2BAA2B;YAChD,oBAAC,qBAAqB,IAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,eAAe;gBAC9E,oBAAC,sBAAsB,IAAC,WAAW,EAAE,WAAW,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,OAAO,EAAE;wBAC/G,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;wBAC1C,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;wBACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;qBAC/C,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACD,CAClB,CAAC;IACb,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC/L,MAAM,gCAAgC,GAAG,OAAO,CAAC,GAAG,EAAE;QACpD,OAAO,2BAA2B,CAAC;YACjC,UAAU;YACV,mDAAmD,CAAA,6BAA6B,EAAE,2BAA2B,CAAC,WAAW,CAAC;YAC1H,QAAQ,EAAE,eAAe;YACzB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,mDAAmD,CAAA,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,OAAO,oBAAC,cAAc,IAAC,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;gBAClE,kBAAkB,EAAE,CAAC;gBACrB,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,gFAAgF;YACvG,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,SAAS,EAAE,aAAa,CAAC,mBAAmB,EAAE,cAAc,EAAE,aAAa,CAAC,mBAAmB,EAAE,YAAY,EAAE,gCAAgC,GAAI,CAAC;IAChM,CAAC,EAAE,CAAC,gCAAgC,EAAE,aAAa,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEhH,mDAAmD;IACnD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE;QACxC,OAAO,2BAA2B,CAAC,WAAW,CAAC,IAAI,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACjG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAClB,OAAO,oBAAC,KAAK;QACT,oBAAC,qBAAqB,oBAAK,kBAAkB,EAAI;QACjD,oBAAC,yBAAyB,IAAC,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,wBAAwB,EAAE,0BAA0B;YAChV,mDAAmD,CAAC,yBAAyB,EAAE,yBAAyB;YACxG,mDAAmD,CAAC,cAAc,EAAE,oBAAoB;YACxF,gEAAgE,CAAC,OAAO,EAAE,OAAO;YACjF,gEAAgE,CAAC,mBAAmB,EAAE,mBAAmB,GAAI,CACrG,CAAC;AACb,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { RichTextInputBoxComponent } from './RichTextInputBoxComponent';\nimport { Icon, Stack } from '@fluentui/react';\nimport { useLocale } from '../../localization';\nimport { SendBoxStrings } from '../SendBox';\nimport { sendIconStyle } from '../styles/SendBox.styles';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { useV9CustomStyles } from '../styles/SendBox.styles';\nimport { InputBoxButton } from '../InputBoxButton';\nimport { RichTextSendBoxErrors, RichTextSendBoxErrorsProps } from './RichTextSendBoxErrors';\nimport { isMessageTooLong, isSendBoxButtonAriaDisabled, sanitizeText, modifyInlineImagesInContentString } from '../utils/SendBoxUtils';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { hasInlineImageContent, getContentWithUpdatedInlineImagesInfo } from '../utils/SendBoxUtils';\nimport { RichTextEditorComponentRef } from './RichTextEditor';\nimport { useTheme } from '../../theming';\nimport { richTextActionButtonsStyle, sendBoxRichTextEditorStyle } from '../styles/RichTextEditor.styles';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { _AttachmentUploadCards } from '../Attachment/AttachmentUploadCards';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { AttachmentMetadataInProgress, MessageOptions } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { isAttachmentUploadCompleted, hasIncompleteAttachmentUploads, toAttachmentMetadata } from '../utils/SendBoxUtils';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { SendBoxErrorBarError } from '../SendBoxErrorBar';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { SendBoxErrorBarType } from '../SendBoxErrorBar';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { attachmentUploadCardsStyles } from '../styles/SendBox.styles';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { FluentV9ThemeProvider } from '../../theming/FluentV9ThemeProvider';\n\n/**\n * Strings of {@link RichTextSendBox} that can be overridden.\n *\n * @beta\n */\nexport interface RichTextSendBoxStrings extends RichTextStrings, SendBoxStrings {}\n\n/* @conditional-compile-remove(rich-text-editor) */\n/**\n * Options for the rich text editor configuration.\n *\n * @beta\n */\nexport interface RichTextEditorOptions {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Optional callback to handle paste event.\n */\n onPaste?: (event: {\n content: DocumentFragment;\n }) => void;\n}\n\n/**\n * Strings of RichText that can be overridden.\n *\n * @beta\n */\nexport interface RichTextStrings {\n /**\n * Tooltip text for the bold button.\n */\n richTextBoldTooltip: string;\n /**\n * Tooltip text for the italic button.\n */\n richTextItalicTooltip: string;\n /**\n * Tooltip text for the underline button.\n */\n richTextUnderlineTooltip: string;\n /**\n * Tooltip text for the bullet list button.\n */\n richTextBulletListTooltip: string;\n /**\n * Tooltip text for the number list button.\n */\n richTextNumberListTooltip: string;\n /**\n * Tooltip text for the increase indent button.\n */\n richTextIncreaseIndentTooltip: string;\n /**\n * Tooltip text for the decrease indent button.\n */\n richTextDecreaseIndentTooltip: string;\n /**\n * Tooltip text insert table button.\n */\n richTextInsertTableTooltip: string;\n /**\n * Tooltip text for the rich text format button button.\n */\n richTextFormatButtonTooltip: string;\n /**\n * Text for the insert menu item.\n */\n richTextInsertRowOrColumnMenu: string;\n /**\n * Title for the insert table menu.\n */\n richTextInsertTableMenuTitle: string;\n /**\n * Text for the insert menu item to insert row above the current selection.\n */\n richTextInsertRowAboveMenu: string;\n /**\n * Text for the insert menu item to insert row below the current selection.\n */\n richTextInsertRowBelowMenu: string;\n /**\n * Text for the insert menu item to insert column to the left from the current selection.\n */\n richTextInsertColumnLeftMenu: string;\n /**\n * Text for the insert menu item to insert column to the right from the current selection.\n */\n richTextInsertColumnRightMenu: string;\n /**\n * Text for the delete row or column menu.\n */\n richTextDeleteRowOrColumnMenu: string;\n /**\n * Text for the delete column menu.\n */\n richTextDeleteColumnMenu: string;\n /**\n * Text for the delete row menu.\n */\n richTextDeleteRowMenu: string;\n /**\n * Text for the delete table menu.\n */\n richTextDeleteTableMenu: string;\n /**\n * Text for the rich text toolbar more button.\n */\n richTextToolbarMoreButtonAriaLabel: string;\n /**\n * Text for announcement when a new bulleted list item is added.\n */\n richTextNewBulletedListItemAnnouncement: string;\n /**\n * Text for announcement when a new numbered list item is added.\n */\n richTextNewNumberedListItemAnnouncement: string;\n /**\n * Text for announcement when the bulleted list style is applied.\n */\n richTextBulletedListAppliedAnnouncement: string;\n /**\n * Text for announcement when the numbered list style is applied.\n */\n richTextNumberedListAppliedAnnouncement: string;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Error message indicating image upload is not complete.\n */\n imageUploadsPendingError: string;\n}\n\n/**\n * Props for {@link RichTextSendBox}.\n *\n * @beta\n */\nexport interface RichTextSendBoxProps {\n /**\n * Optional boolean to disable text box\n * @defaultValue false\n */\n disabled?: boolean;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Optional callback to handle paste event.\n */\n onPaste?: (event: {\n content: DocumentFragment;\n }) => void;\n /**\n * Optional strings to override in component\n */\n strings?: Partial<RichTextSendBoxStrings>;\n /**\n * Optional text for system message above the text box\n */\n systemMessage?: string;\n /* @conditional-compile-remove(file-sharing-acs) */\n /**\n * Optional array of type {@link AttachmentMetadataInProgress}\n * to render attachments being uploaded in the SendBox.\n * @beta\n */\n attachments?: AttachmentMetadataInProgress[];\n /**\n * enumerable to determine if the input box has focus on render or not.\n * When undefined nothing has focus on render\n */\n autoFocus?: 'sendBoxTextField';\n /* @conditional-compile-remove(file-sharing-acs) */\n /**\n * Optional callback to remove the attachment upload before sending by clicking on\n * cancel icon.\n */\n onCancelAttachmentUpload?: (attachmentId: string) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Optional callback invoked after inline image is removed from the UI.\n * @param imageAttributes - attributes of the image such as id, src, style, etc.\n * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].\n * Note that if the src attribute is a local blob url, it has been revoked at this point.\n */\n onRemoveInlineImage?: (imageAttributes: Record<string, string>) => void;\n /**\n * Callback function used when the send button is clicked.\n */\n onSendMessage: (content: string, /* @conditional-compile-remove(file-sharing-acs) */\n options?: MessageOptions) => Promise<void>;\n /**\n * Optional callback called when user is typing\n */\n onTyping?: () => Promise<void>;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Optional callback to handle an inline image that's inserted in the rich text editor.\n * When not provided, pasting images into rich text editor will be disabled.\n * @param imageAttributes - attributes of the image such as id, src, style, etc.\n * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']\n */\n onInsertInlineImage?: (imageAttributes: Record<string, string>) => void;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Optional Array of type {@link AttachmentMetadataInProgress}\n * to render the errorBar for inline images inserted in the RichTextSendBox when:\n * - there is an error provided in the inlineImagesWithProgress\n * - progress is less than 1 when the send button is clicked\n * - content html string is longer than the max allowed length.\n * (Note that the id and the url prop of the inlineImagesWithProgress will be used as the id and src attribute of the content html\n * when calculating the content length, only for the purpose of displaying the content length overflow error.)\n */\n inlineImagesWithProgress?: AttachmentMetadataInProgress[];\n}\n\n/**\n * A component to render SendBox with Rich Text Editor support.\n *\n * @beta\n */\nexport const RichTextSendBox = (props: RichTextSendBoxProps): JSX.Element => {\n const {\n disabled = false,\n systemMessage,\n autoFocus,\n onSendMessage,\n onTyping,\n /* @conditional-compile-remove(file-sharing-acs) */\n attachments,\n /* @conditional-compile-remove(file-sharing-acs) */\n onCancelAttachmentUpload,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onPaste,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onInsertInlineImage,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress,\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n onRemoveInlineImage\n } = props;\n const theme = useTheme();\n const locale = useLocale();\n const localeStrings = useMemo(() => {\n /* @conditional-compile-remove(rich-text-editor) */\n return locale.strings.richTextSendBox;\n return locale.strings.sendBox;\n }, [/* @conditional-compile-remove(rich-text-editor) */locale.strings.richTextSendBox, locale.strings.sendBox]);\n const strings = useMemo(() => {\n return {\n ...localeStrings,\n ...props.strings\n };\n }, [localeStrings, props.strings]);\n const [contentValue, setContentValue] = useState('');\n const [contentValueOverflow, setContentValueOverflow] = useState(false);\n /* @conditional-compile-remove(file-sharing-acs) */\n const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = useState<SendBoxErrorBarError | undefined>(undefined);\n const editorComponentRef = useRef<RichTextEditorComponentRef>(null);\n\n /* @conditional-compile-remove(file-sharing-acs) */\n const customV9Styles = useV9CustomStyles();\n const contentTooLongMessage = useMemo(() => contentValueOverflow ? strings.textTooLong : undefined, [contentValueOverflow, strings.textTooLong]);\n const setContent = useCallback((newValue?: string): void => {\n if (newValue === undefined) {\n return;\n }\n setContentValueOverflow(isMessageTooLong(newValue.length));\n setContentValue(newValue);\n }, []);\n const onChangeHandler = useCallback((newValue?: string, removedInlineImages?: Record<string, string>[]) => {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n removedInlineImages?.forEach((removedInlineImage: Record<string, string>) => onRemoveInlineImage && onRemoveInlineImage(removedInlineImage));\n setContent(newValue);\n }, [setContent, /* @conditional-compile-remove(rich-text-editor-image-upload) */onRemoveInlineImage]);\n const hasContent = useMemo(() => {\n // get plain text content from the editor to check if the message is empty\n // as the content may contain tags even when the content is empty\n const plainTextContent = editorComponentRef.current?.getPlainContent();\n const hasPlainText = sanitizeText(contentValue ?? '').length > 0 && sanitizeText(plainTextContent ?? '').length > 0;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const hasInlineImages = hasInlineImageContent(contentValue);\n return hasPlainText || /* @conditional-compile-remove(rich-text-editor-image-upload) */hasInlineImages;\n }, [contentValue]);\n const sendMessageOnClick = useCallback((): void => {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if (inlineImagesWithProgress && inlineImagesWithProgress.length > 0) {\n const contentWithUpdatedInlineImagesInfo = getContentWithUpdatedInlineImagesInfo(contentValue, inlineImagesWithProgress);\n const messageTooLong = isMessageTooLong(contentWithUpdatedInlineImagesInfo.length);\n // Set contentValueOverflow state to display the error bar\n setContentValueOverflow(messageTooLong);\n // The change from the setContentValueOverflow in the previous line will not kick in yet.\n // We need to relay on the local value of messageTooLong to return early if the message is too long.\n if (messageTooLong) {\n return;\n }\n }\n if (disabled || contentValueOverflow) {\n return;\n }\n // Don't send message until all attachments have been uploaded successfully\n /* @conditional-compile-remove(file-sharing-acs) */\n setAttachmentUploadsPendingError(undefined);\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const hasIncompleteImageUploads = hasIncompleteAttachmentUploads(inlineImagesWithProgress);\n /* @conditional-compile-remove(file-sharing-acs) */\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if ( /* @conditional-compile-remove(file-sharing-acs) */hasIncompleteAttachmentUploads(attachments) || /* @conditional-compile-remove(rich-text-editor-image-upload) */hasIncompleteImageUploads) {\n /* @conditional-compile-remove(file-sharing-acs) */\n let errorMessage = strings.attachmentUploadsPendingError;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n if (hasIncompleteImageUploads) {\n errorMessage = strings.imageUploadsPendingError || '';\n }\n setAttachmentUploadsPendingError({\n message: errorMessage,\n timestamp: Date.now(),\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n errorBarType: SendBoxErrorBarType.info\n });\n return;\n }\n\n // we don't want to send empty messages including spaces, newlines, tabs\n // Message can be empty if there is a valid attachment upload\n if (hasContent || /* @conditional-compile-remove(file-sharing-acs) */isAttachmentUploadCompleted(attachments)) {\n const sendMessage = (content: string): void => {\n onSendMessage(content, /* @conditional-compile-remove(file-sharing-acs) */ /* @conditional-compile-remove(rich-text-editor-composite-support) */\n {\n /* @conditional-compile-remove(file-sharing-acs) */\n attachments: toAttachmentMetadata(attachments),\n /* @conditional-compile-remove(rich-text-editor-composite-support) */\n type: 'html'\n });\n setContentValue('');\n editorComponentRef.current?.setEmptyContent();\n editorComponentRef.current?.focus();\n };\n modifyInlineImagesInContentString(contentValue, [], (content: string) => {\n sendMessage(content);\n });\n }\n }, [disabled, contentValueOverflow, /* @conditional-compile-remove(file-sharing-acs) */\n attachments, /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress, contentValue, hasContent, /* @conditional-compile-remove(file-sharing-acs) */\n strings.attachmentUploadsPendingError, /* @conditional-compile-remove(rich-text-editor-image-upload) */\n strings.imageUploadsPendingError, onSendMessage]);\n const hasErrorMessage = useMemo(() => {\n return !!systemMessage || !!contentTooLongMessage || /* @conditional-compile-remove(file-sharing-acs) */\n !!attachmentUploadsPendingError || /* @conditional-compile-remove(file-sharing-acs) */\n !!attachments?.filter(attachmentUpload => attachmentUpload.error).pop()?.error || /* @conditional-compile-remove(rich-text-editor-image-upload) */\n !!inlineImagesWithProgress?.filter(image => image.error).pop()?.error;\n }, [/* @conditional-compile-remove(file-sharing-acs) */\n attachments, contentTooLongMessage, /* @conditional-compile-remove(file-sharing-acs) */\n attachmentUploadsPendingError, systemMessage, /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress]);\n const onRenderSendIcon = useCallback((isHover: boolean) => {\n return <Icon iconName={isHover && hasContent ? 'SendBoxSendHovered' : 'SendBoxSend'} className={sendIconStyle({\n theme,\n hasText: hasContent,\n /* @conditional-compile-remove(file-sharing-acs) */\n hasAttachment: false,\n hasErrorMessage: hasErrorMessage,\n defaultTextColor: theme.palette.neutralSecondary,\n disabled: disabled\n })} />;\n }, [disabled, hasContent, hasErrorMessage, theme]);\n const sendBoxErrorsProps: RichTextSendBoxErrorsProps = useMemo(() => {\n /* @conditional-compile-remove(file-sharing-acs) */\n const uploadErrorMessage = attachments?.filter(attachmentUpload => attachmentUpload.error).pop()?.error?.message;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n const imageUploadErrorMessage = inlineImagesWithProgress?.filter(image => image.error).pop()?.error?.message;\n /* @conditional-compile-remove(file-sharing-acs) */\n const errorMessage = uploadErrorMessage || /* @conditional-compile-remove(rich-text-editor-image-upload) */imageUploadErrorMessage;\n return {\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentUploadsPendingError: attachmentUploadsPendingError,\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentProgressError: errorMessage ? {\n message: errorMessage,\n timestamp: Date.now(),\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n errorBarType: SendBoxErrorBarType.error\n } : undefined,\n systemMessage: systemMessage,\n textTooLongMessage: contentTooLongMessage\n };\n }, [/* @conditional-compile-remove(file-sharing-acs) */\n attachments, contentTooLongMessage, /* @conditional-compile-remove(file-sharing-acs) */\n attachmentUploadsPendingError, /* @conditional-compile-remove(rich-text-editor-image-upload) */\n inlineImagesWithProgress, systemMessage]);\n\n /* @conditional-compile-remove(file-sharing-acs) */\n const onRenderAttachmentUploads = useCallback(() => {\n return <Stack className={attachmentUploadCardsStyles}>\n <FluentV9ThemeProvider v8Theme={theme} className={customV9Styles.clearBackground}>\n <_AttachmentUploadCards attachments={attachments} onCancelAttachmentUpload={onCancelAttachmentUpload} strings={{\n removeAttachment: strings.removeAttachment,\n uploading: strings.uploading,\n uploadCompleted: strings.uploadCompleted,\n attachmentMoreMenu: strings.attachmentMoreMenu\n }} disabled={disabled} />\n </FluentV9ThemeProvider>\n </Stack>;\n }, [theme, customV9Styles.clearBackground, attachments, onCancelAttachmentUpload, strings.removeAttachment, strings.uploading, strings.uploadCompleted, strings.attachmentMoreMenu, disabled]);\n const isSendBoxButtonAriaDisabledValue = useMemo(() => {\n return isSendBoxButtonAriaDisabled({\n hasContent,\n /* @conditional-compile-remove(file-sharing-acs) */hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments),\n hasError: hasErrorMessage,\n disabled\n });\n }, [/* @conditional-compile-remove(file-sharing-acs) */attachments, disabled, hasContent, hasErrorMessage]);\n const sendButton = useMemo(() => {\n return <InputBoxButton onRenderIcon={onRenderSendIcon} onClick={e => {\n sendMessageOnClick();\n e.stopPropagation(); // Prevents the click from bubbling up and triggering a focus event on the chat.\n }} className={richTextActionButtonsStyle} ariaLabel={localeStrings.sendButtonAriaLabel} tooltipContent={localeStrings.sendButtonAriaLabel} ariaDisabled={isSendBoxButtonAriaDisabledValue} />;\n }, [isSendBoxButtonAriaDisabledValue, localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]);\n\n /* @conditional-compile-remove(file-sharing-acs) */\n const hasAttachmentUploads = useMemo(() => {\n return isAttachmentUploadCompleted(attachments) || hasIncompleteAttachmentUploads(attachments);\n }, [attachments]);\n return <Stack>\n <RichTextSendBoxErrors {...sendBoxErrorsProps} />\n <RichTextInputBoxComponent placeholderText={strings.placeholderText} autoFocus={autoFocus} onChange={onChangeHandler} onEnterKeyDown={sendMessageOnClick} onTyping={onTyping} editorComponentRef={editorComponentRef} strings={strings} disabled={disabled} actionComponents={sendButton} richTextEditorStyleProps={sendBoxRichTextEditorStyle}\n /* @conditional-compile-remove(file-sharing-acs) */ onRenderAttachmentUploads={onRenderAttachmentUploads}\n /* @conditional-compile-remove(file-sharing-acs) */ hasAttachments={hasAttachmentUploads}\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste={onPaste}\n /* @conditional-compile-remove(rich-text-editor-image-upload) */ onInsertInlineImage={onInsertInlineImage} />\n </Stack>;\n};"]}
1
+ {"version":3,"file":"RichTextSendBox.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/RichTextEditor/RichTextSendBox.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { RichTextInputBoxComponent } from './RichTextInputBoxComponent';\nimport { Icon, Stack } from '@fluentui/react';\nimport { useLocale } from '../../localization';\nimport { SendBoxStrings } from '../SendBox';\nimport { sendIconStyle } from '../styles/SendBox.styles';\nimport { useV9CustomStyles } from '../styles/SendBox.styles';\nimport { InputBoxButton } from '../InputBoxButton';\nimport { RichTextSendBoxErrors, RichTextSendBoxErrorsProps } from './RichTextSendBoxErrors';\nimport { isMessageTooLong, isSendBoxButtonAriaDisabled, sanitizeText, modifyInlineImagesInContentString } from '../utils/SendBoxUtils';\nimport { hasInlineImageContent, getContentWithUpdatedInlineImagesInfo } from '../utils/SendBoxUtils';\nimport { RichTextEditorComponentRef } from './RichTextEditor';\nimport { useTheme } from '../../theming';\nimport { richTextActionButtonsStyle, sendBoxRichTextEditorStyle } from '../styles/RichTextEditor.styles';\nimport { _AttachmentUploadCards } from '../Attachment/AttachmentUploadCards';\nimport { AttachmentMetadataInProgress, MessageOptions } from '@internal/acs-ui-common';\nimport { isAttachmentUploadCompleted, hasIncompleteAttachmentUploads, toAttachmentMetadata } from '../utils/SendBoxUtils';\nimport { SendBoxErrorBarError } from '../SendBoxErrorBar';\nimport { SendBoxErrorBarType } from '../SendBoxErrorBar';\nimport { attachmentUploadCardsStyles } from '../styles/SendBox.styles';\nimport { FluentV9ThemeProvider } from '../../theming/FluentV9ThemeProvider';\n\n/**\n * Strings of {@link RichTextSendBox} that can be overridden.\n *\n * @beta\n */\nexport interface RichTextSendBoxStrings extends RichTextStrings, SendBoxStrings {}\n/**\n * Options for the rich text editor configuration.\n *\n * @beta\n */\nexport interface RichTextEditorOptions {\n /**\n * Optional callback to handle paste event.\n */\n onPaste?: (event: {\n content: DocumentFragment;\n }) => void;\n}\n\n/**\n * Strings of RichText that can be overridden.\n *\n * @beta\n */\nexport interface RichTextStrings {\n /**\n * Tooltip text for the bold button.\n */\n richTextBoldTooltip: string;\n /**\n * Tooltip text for the italic button.\n */\n richTextItalicTooltip: string;\n /**\n * Tooltip text for the underline button.\n */\n richTextUnderlineTooltip: string;\n /**\n * Tooltip text for the bullet list button.\n */\n richTextBulletListTooltip: string;\n /**\n * Tooltip text for the number list button.\n */\n richTextNumberListTooltip: string;\n /**\n * Tooltip text for the increase indent button.\n */\n richTextIncreaseIndentTooltip: string;\n /**\n * Tooltip text for the decrease indent button.\n */\n richTextDecreaseIndentTooltip: string;\n /**\n * Tooltip text insert table button.\n */\n richTextInsertTableTooltip: string;\n /**\n * Tooltip text for the rich text format button button.\n */\n richTextFormatButtonTooltip: string;\n /**\n * Text for the insert menu item.\n */\n richTextInsertRowOrColumnMenu: string;\n /**\n * Title for the insert table menu.\n */\n richTextInsertTableMenuTitle: string;\n /**\n * Text for the insert menu item to insert row above the current selection.\n */\n richTextInsertRowAboveMenu: string;\n /**\n * Text for the insert menu item to insert row below the current selection.\n */\n richTextInsertRowBelowMenu: string;\n /**\n * Text for the insert menu item to insert column to the left from the current selection.\n */\n richTextInsertColumnLeftMenu: string;\n /**\n * Text for the insert menu item to insert column to the right from the current selection.\n */\n richTextInsertColumnRightMenu: string;\n /**\n * Text for the delete row or column menu.\n */\n richTextDeleteRowOrColumnMenu: string;\n /**\n * Text for the delete column menu.\n */\n richTextDeleteColumnMenu: string;\n /**\n * Text for the delete row menu.\n */\n richTextDeleteRowMenu: string;\n /**\n * Text for the delete table menu.\n */\n richTextDeleteTableMenu: string;\n /**\n * Text for the rich text toolbar more button.\n */\n richTextToolbarMoreButtonAriaLabel: string;\n /**\n * Text for announcement when a new bulleted list item is added.\n */\n richTextNewBulletedListItemAnnouncement: string;\n /**\n * Text for announcement when a new numbered list item is added.\n */\n richTextNewNumberedListItemAnnouncement: string;\n /**\n * Text for announcement when the bulleted list style is applied.\n */\n richTextBulletedListAppliedAnnouncement: string;\n /**\n * Text for announcement when the numbered list style is applied.\n */\n richTextNumberedListAppliedAnnouncement: string;\n /**\n * Error message indicating image upload is not complete.\n */\n imageUploadsPendingError: string;\n}\n\n/**\n * Props for {@link RichTextSendBox}.\n *\n * @beta\n */\nexport interface RichTextSendBoxProps {\n /**\n * Optional boolean to disable text box\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * Optional callback to handle paste event.\n */\n onPaste?: (event: {\n content: DocumentFragment;\n }) => void;\n /**\n * Optional strings to override in component\n */\n strings?: Partial<RichTextSendBoxStrings>;\n /**\n * Optional text for system message above the text box\n */\n systemMessage?: string;\n /**\n * Optional array of type {@link AttachmentMetadataInProgress}\n * to render attachments being uploaded in the SendBox.\n * @beta\n */\n attachments?: AttachmentMetadataInProgress[];\n /**\n * enumerable to determine if the input box has focus on render or not.\n * When undefined nothing has focus on render\n */\n autoFocus?: 'sendBoxTextField';\n /**\n * Optional callback to remove the attachment upload before sending by clicking on\n * cancel icon.\n */\n onCancelAttachmentUpload?: (attachmentId: string) => void;\n /**\n * Optional callback invoked after inline image is removed from the UI.\n * @param imageAttributes - attributes of the image such as id, src, style, etc.\n * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].\n * Note that if the src attribute is a local blob url, it has been revoked at this point.\n */\n onRemoveInlineImage?: (imageAttributes: Record<string, string>) => void;\n /**\n * Callback function used when the send button is clicked.\n */\n onSendMessage: (content: string, options?: MessageOptions) => Promise<void>;\n /**\n * Optional callback called when user is typing\n */\n onTyping?: () => Promise<void>;\n /**\n * Optional callback to handle an inline image that's inserted in the rich text editor.\n * When not provided, pasting images into rich text editor will be disabled.\n * @param imageAttributes - attributes of the image such as id, src, style, etc.\n * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']\n */\n onInsertInlineImage?: (imageAttributes: Record<string, string>) => void;\n /**\n * Optional Array of type {@link AttachmentMetadataInProgress}\n * to render the errorBar for inline images inserted in the RichTextSendBox when:\n * - there is an error provided in the inlineImagesWithProgress\n * - progress is less than 1 when the send button is clicked\n * - content html string is longer than the max allowed length.\n * (Note that the id and the url prop of the inlineImagesWithProgress will be used as the id and src attribute of the content html\n * when calculating the content length, only for the purpose of displaying the content length overflow error.)\n */\n inlineImagesWithProgress?: AttachmentMetadataInProgress[];\n}\n\n/**\n * A component to render SendBox with Rich Text Editor support.\n *\n * @beta\n */\nexport const RichTextSendBox = (props: RichTextSendBoxProps): JSX.Element => {\n const {\n disabled = false,\n systemMessage,\n autoFocus,\n onSendMessage,\n onTyping,\n attachments,\n onCancelAttachmentUpload,\n onPaste,\n onInsertInlineImage,\n inlineImagesWithProgress,\n onRemoveInlineImage\n } = props;\n const theme = useTheme();\n const locale = useLocale();\n const localeStrings = useMemo(() => {\n return locale.strings.richTextSendBox;\n return locale.strings.sendBox;\n }, [locale.strings.richTextSendBox, locale.strings.sendBox]);\n const strings = useMemo(() => {\n return {\n ...localeStrings,\n ...props.strings\n };\n }, [localeStrings, props.strings]);\n const [contentValue, setContentValue] = useState('');\n const [contentValueOverflow, setContentValueOverflow] = useState(false);\n const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = useState<SendBoxErrorBarError | undefined>(undefined);\n const editorComponentRef = useRef<RichTextEditorComponentRef>(null);\n const customV9Styles = useV9CustomStyles();\n const contentTooLongMessage = useMemo(() => contentValueOverflow ? strings.textTooLong : undefined, [contentValueOverflow, strings.textTooLong]);\n const setContent = useCallback((newValue?: string): void => {\n if (newValue === undefined) {\n return;\n }\n setContentValueOverflow(isMessageTooLong(newValue.length));\n setContentValue(newValue);\n }, []);\n const onChangeHandler = useCallback((newValue?: string, removedInlineImages?: Record<string, string>[]) => {\n removedInlineImages?.forEach((removedInlineImage: Record<string, string>) => onRemoveInlineImage && onRemoveInlineImage(removedInlineImage));\n setContent(newValue);\n }, [setContent, onRemoveInlineImage]);\n const hasContent = useMemo(() => {\n // get plain text content from the editor to check if the message is empty\n // as the content may contain tags even when the content is empty\n const plainTextContent = editorComponentRef.current?.getPlainContent();\n const hasPlainText = sanitizeText(contentValue ?? '').length > 0 && sanitizeText(plainTextContent ?? '').length > 0;\n const hasInlineImages = hasInlineImageContent(contentValue);\n return hasPlainText || hasInlineImages;\n }, [contentValue]);\n const sendMessageOnClick = useCallback((): void => {\n if (inlineImagesWithProgress && inlineImagesWithProgress.length > 0) {\n const contentWithUpdatedInlineImagesInfo = getContentWithUpdatedInlineImagesInfo(contentValue, inlineImagesWithProgress);\n const messageTooLong = isMessageTooLong(contentWithUpdatedInlineImagesInfo.length);\n // Set contentValueOverflow state to display the error bar\n setContentValueOverflow(messageTooLong);\n // The change from the setContentValueOverflow in the previous line will not kick in yet.\n // We need to relay on the local value of messageTooLong to return early if the message is too long.\n if (messageTooLong) {\n return;\n }\n }\n if (disabled || contentValueOverflow) {\n return;\n }\n // Don't send message until all attachments have been uploaded successfully\n setAttachmentUploadsPendingError(undefined);\n const hasIncompleteImageUploads = hasIncompleteAttachmentUploads(inlineImagesWithProgress);\n if (hasIncompleteAttachmentUploads(attachments) || hasIncompleteImageUploads) {\n let errorMessage = strings.attachmentUploadsPendingError;\n if (hasIncompleteImageUploads) {\n errorMessage = strings.imageUploadsPendingError || '';\n }\n setAttachmentUploadsPendingError({\n message: errorMessage,\n timestamp: Date.now(),\n errorBarType: SendBoxErrorBarType.info\n });\n return;\n }\n\n // we don't want to send empty messages including spaces, newlines, tabs\n // Message can be empty if there is a valid attachment upload\n if (hasContent || isAttachmentUploadCompleted(attachments)) {\n const sendMessage = (content: string): void => {\n onSendMessage(content, {\n attachments: toAttachmentMetadata(attachments),\n type: 'html'\n });\n setContentValue('');\n editorComponentRef.current?.setEmptyContent();\n editorComponentRef.current?.focus();\n };\n modifyInlineImagesInContentString(contentValue, [], (content: string) => {\n sendMessage(content);\n });\n }\n }, [disabled, contentValueOverflow, attachments, inlineImagesWithProgress, contentValue, hasContent, strings.attachmentUploadsPendingError, strings.imageUploadsPendingError, onSendMessage]);\n const hasErrorMessage = useMemo(() => {\n return !!systemMessage || !!contentTooLongMessage || !!attachmentUploadsPendingError || !!attachments?.filter(attachmentUpload => attachmentUpload.error).pop()?.error || !!inlineImagesWithProgress?.filter(image => image.error).pop()?.error;\n }, [attachments, contentTooLongMessage, attachmentUploadsPendingError, systemMessage, inlineImagesWithProgress]);\n const onRenderSendIcon = useCallback((isHover: boolean) => {\n return <Icon iconName={isHover && hasContent ? 'SendBoxSendHovered' : 'SendBoxSend'} className={sendIconStyle({\n theme,\n hasText: hasContent,\n hasAttachment: false,\n hasErrorMessage: hasErrorMessage,\n defaultTextColor: theme.palette.neutralSecondary,\n disabled: disabled\n })} />;\n }, [disabled, hasContent, hasErrorMessage, theme]);\n const sendBoxErrorsProps: RichTextSendBoxErrorsProps = useMemo(() => {\n const uploadErrorMessage = attachments?.filter(attachmentUpload => attachmentUpload.error).pop()?.error?.message;\n const imageUploadErrorMessage = inlineImagesWithProgress?.filter(image => image.error).pop()?.error?.message;\n const errorMessage = uploadErrorMessage || imageUploadErrorMessage;\n return {\n attachmentUploadsPendingError: attachmentUploadsPendingError,\n attachmentProgressError: errorMessage ? {\n message: errorMessage,\n timestamp: Date.now(),\n errorBarType: SendBoxErrorBarType.error\n } : undefined,\n systemMessage: systemMessage,\n textTooLongMessage: contentTooLongMessage\n };\n }, [attachments, contentTooLongMessage, attachmentUploadsPendingError, inlineImagesWithProgress, systemMessage]);\n const onRenderAttachmentUploads = useCallback(() => {\n return <Stack className={attachmentUploadCardsStyles}>\n <FluentV9ThemeProvider v8Theme={theme} className={customV9Styles.clearBackground}>\n <_AttachmentUploadCards attachments={attachments} onCancelAttachmentUpload={onCancelAttachmentUpload} strings={{\n removeAttachment: strings.removeAttachment,\n uploading: strings.uploading,\n uploadCompleted: strings.uploadCompleted,\n attachmentMoreMenu: strings.attachmentMoreMenu\n }} disabled={disabled} />\n </FluentV9ThemeProvider>\n </Stack>;\n }, [theme, customV9Styles.clearBackground, attachments, onCancelAttachmentUpload, strings.removeAttachment, strings.uploading, strings.uploadCompleted, strings.attachmentMoreMenu, disabled]);\n const isSendBoxButtonAriaDisabledValue = useMemo(() => {\n return isSendBoxButtonAriaDisabled({\n hasContent,\n hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments),\n hasError: hasErrorMessage,\n disabled\n });\n }, [attachments, disabled, hasContent, hasErrorMessage]);\n const sendButton = useMemo(() => {\n return <InputBoxButton onRenderIcon={onRenderSendIcon} onClick={e => {\n sendMessageOnClick();\n e.stopPropagation(); // Prevents the click from bubbling up and triggering a focus event on the chat.\n }} className={richTextActionButtonsStyle} ariaLabel={localeStrings.sendButtonAriaLabel} tooltipContent={localeStrings.sendButtonAriaLabel} ariaDisabled={isSendBoxButtonAriaDisabledValue} />;\n }, [isSendBoxButtonAriaDisabledValue, localeStrings.sendButtonAriaLabel, onRenderSendIcon, sendMessageOnClick]);\n const hasAttachmentUploads = useMemo(() => {\n return isAttachmentUploadCompleted(attachments) || hasIncompleteAttachmentUploads(attachments);\n }, [attachments]);\n return <Stack>\n <RichTextSendBoxErrors {...sendBoxErrorsProps} />\n <RichTextInputBoxComponent placeholderText={strings.placeholderText} autoFocus={autoFocus} onChange={onChangeHandler} onEnterKeyDown={sendMessageOnClick} onTyping={onTyping} editorComponentRef={editorComponentRef} strings={strings} disabled={disabled} actionComponents={sendButton} richTextEditorStyleProps={sendBoxRichTextEditorStyle} onRenderAttachmentUploads={onRenderAttachmentUploads} hasAttachments={hasAttachmentUploads} onPaste={onPaste} onInsertInlineImage={onInsertInlineImage} />\n </Stack>;\n};"]}
@@ -6,11 +6,7 @@ import { SendBoxErrorBar } from '../SendBoxErrorBar';
6
6
  * @private
7
7
  */
8
8
  export const RichTextSendBoxErrors = (props) => {
9
- const {
10
- /* @conditional-compile-remove(file-sharing-acs) */
11
- attachmentProgressError,
12
- /* @conditional-compile-remove(file-sharing-acs) */
13
- attachmentUploadsPendingError, systemMessage, textTooLongMessage } = props;
9
+ const { attachmentProgressError, attachmentUploadsPendingError, systemMessage, textTooLongMessage } = props;
14
10
  const [sendBoxError, setSendBoxError] = useState(undefined);
15
11
  useEffect(() => {
16
12
  if (systemMessage && !isMessageEmpty(systemMessage)) {
@@ -39,11 +35,9 @@ export const RichTextSendBoxErrors = (props) => {
39
35
  if (prev) {
40
36
  errors.push(prev);
41
37
  }
42
- /* @conditional-compile-remove(file-sharing-acs) */
43
38
  if (attachmentUploadsPendingError) {
44
39
  errors.push(attachmentUploadsPendingError);
45
40
  }
46
- /* @conditional-compile-remove(file-sharing-acs) */
47
41
  if (attachmentProgressError) {
48
42
  errors.push(attachmentProgressError);
49
43
  }
@@ -54,7 +48,7 @@ export const RichTextSendBoxErrors = (props) => {
54
48
  const sortedErrors = errors.sort((a, b) => b.timestamp - a.timestamp);
55
49
  return sortedErrors[0];
56
50
  });
57
- }, [/* @conditional-compile-remove(file-sharing-acs) */ attachmentProgressError, /* @conditional-compile-remove(file-sharing-acs) */ attachmentUploadsPendingError]);
51
+ }, [attachmentProgressError, attachmentUploadsPendingError]);
58
52
  const onDismiss = useCallback(() => {
59
53
  if (systemMessage && !isMessageEmpty(systemMessage)) {
60
54
  setSendBoxError({
@@ -63,7 +57,6 @@ export const RichTextSendBoxErrors = (props) => {
63
57
  });
64
58
  return;
65
59
  }
66
- /* @conditional-compile-remove(rich-text-editor-image-upload) */
67
60
  setSendBoxError(undefined);
68
61
  }, [systemMessage]);
69
62
  const dismissAfterMs = useMemo(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextSendBoxErrors.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { SendBoxErrorBar, SendBoxErrorBarError } from '../SendBoxErrorBar';\n\n/**\n * @private\n */\nexport interface RichTextSendBoxErrorsProps {\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentUploadsPendingError?: SendBoxErrorBarError;\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentProgressError?: SendBoxErrorBarError;\n systemMessage?: string;\n textTooLongMessage?: string;\n}\n\n/**\n * @private\n */\nexport const RichTextSendBoxErrors = (props: RichTextSendBoxErrorsProps): JSX.Element => {\n const {\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentProgressError,\n /* @conditional-compile-remove(file-sharing-acs) */\n attachmentUploadsPendingError,\n systemMessage,\n textTooLongMessage\n } = props;\n const [sendBoxError, setSendBoxError] = useState<SendBoxErrorBarError | undefined>(undefined);\n useEffect(() => {\n if (systemMessage && !isMessageEmpty(systemMessage)) {\n setSendBoxError({\n message: systemMessage,\n timestamp: Date.now()\n });\n }\n }, [systemMessage]);\n useEffect(() => {\n if (textTooLongMessage && !isMessageEmpty(textTooLongMessage)) {\n setSendBoxError({\n message: textTooLongMessage,\n timestamp: Date.now()\n });\n }\n }, [textTooLongMessage]);\n useEffect(() => {\n if ((textTooLongMessage === undefined || isMessageEmpty(textTooLongMessage)) && (systemMessage === undefined || isMessageEmpty(systemMessage))) {\n setSendBoxError(undefined);\n }\n }, [systemMessage, textTooLongMessage]);\n useEffect(() => {\n setSendBoxError(prev => {\n const errors: SendBoxErrorBarError[] = [];\n if (prev) {\n errors.push(prev);\n }\n /* @conditional-compile-remove(file-sharing-acs) */\n if (attachmentUploadsPendingError) {\n errors.push(attachmentUploadsPendingError);\n }\n /* @conditional-compile-remove(file-sharing-acs) */\n if (attachmentProgressError) {\n errors.push(attachmentProgressError);\n }\n if (errors.length === 0) {\n return undefined;\n }\n // sort to get the latest error\n const sortedErrors = errors.sort((a, b) => b.timestamp - a.timestamp);\n return sortedErrors[0];\n });\n }, [/* @conditional-compile-remove(file-sharing-acs) */attachmentProgressError, /* @conditional-compile-remove(file-sharing-acs) */attachmentUploadsPendingError]);\n const onDismiss = useCallback(() => {\n if (systemMessage && !isMessageEmpty(systemMessage)) {\n setSendBoxError({\n message: systemMessage,\n timestamp: Date.now()\n });\n return;\n }\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n setSendBoxError(undefined);\n }, [systemMessage]);\n const dismissAfterMs = useMemo(() => {\n const delayInMs = 10 * 1000;\n // don't dismiss the system message\n if (systemMessage) {\n return sendBoxError?.message !== systemMessage ? delayInMs : undefined;\n }\n return delayInMs;\n }, [sendBoxError?.message, systemMessage]);\n return <SendBoxErrorBar error={sendBoxError} dismissAfterMs={dismissAfterMs} onDismiss={onDismiss} />;\n};\nconst isMessageEmpty = (message: string): boolean => {\n return message.trim().length === 0;\n};"]}
1
+ {"version":3,"file":"RichTextSendBoxErrors.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { SendBoxErrorBar, SendBoxErrorBarError } from '../SendBoxErrorBar';\n\n/**\n * @private\n */\nexport interface RichTextSendBoxErrorsProps {\n attachmentUploadsPendingError?: SendBoxErrorBarError;\n attachmentProgressError?: SendBoxErrorBarError;\n systemMessage?: string;\n textTooLongMessage?: string;\n}\n\n/**\n * @private\n */\nexport const RichTextSendBoxErrors = (props: RichTextSendBoxErrorsProps): JSX.Element => {\n const {\n attachmentProgressError,\n attachmentUploadsPendingError,\n systemMessage,\n textTooLongMessage\n } = props;\n const [sendBoxError, setSendBoxError] = useState<SendBoxErrorBarError | undefined>(undefined);\n useEffect(() => {\n if (systemMessage && !isMessageEmpty(systemMessage)) {\n setSendBoxError({\n message: systemMessage,\n timestamp: Date.now()\n });\n }\n }, [systemMessage]);\n useEffect(() => {\n if (textTooLongMessage && !isMessageEmpty(textTooLongMessage)) {\n setSendBoxError({\n message: textTooLongMessage,\n timestamp: Date.now()\n });\n }\n }, [textTooLongMessage]);\n useEffect(() => {\n if ((textTooLongMessage === undefined || isMessageEmpty(textTooLongMessage)) && (systemMessage === undefined || isMessageEmpty(systemMessage))) {\n setSendBoxError(undefined);\n }\n }, [systemMessage, textTooLongMessage]);\n useEffect(() => {\n setSendBoxError(prev => {\n const errors: SendBoxErrorBarError[] = [];\n if (prev) {\n errors.push(prev);\n }\n if (attachmentUploadsPendingError) {\n errors.push(attachmentUploadsPendingError);\n }\n if (attachmentProgressError) {\n errors.push(attachmentProgressError);\n }\n if (errors.length === 0) {\n return undefined;\n }\n // sort to get the latest error\n const sortedErrors = errors.sort((a, b) => b.timestamp - a.timestamp);\n return sortedErrors[0];\n });\n }, [attachmentProgressError, attachmentUploadsPendingError]);\n const onDismiss = useCallback(() => {\n if (systemMessage && !isMessageEmpty(systemMessage)) {\n setSendBoxError({\n message: systemMessage,\n timestamp: Date.now()\n });\n return;\n }\n setSendBoxError(undefined);\n }, [systemMessage]);\n const dismissAfterMs = useMemo(() => {\n const delayInMs = 10 * 1000;\n // don't dismiss the system message\n if (systemMessage) {\n return sendBoxError?.message !== systemMessage ? delayInMs : undefined;\n }\n return delayInMs;\n }, [sendBoxError?.message, systemMessage]);\n return <SendBoxErrorBar error={sendBoxError} dismissAfterMs={dismissAfterMs} onDismiss={onDismiss} />;\n};\nconst isMessageEmpty = (message: string): boolean => {\n return message.trim().length === 0;\n};"]}
@@ -77,7 +77,7 @@ export interface SendBoxProps {
77
77
  /**
78
78
  * Optional override behavior on send button click
79
79
  */
80
- onSendMessage?: (content: string, /* @conditional-compile-remove(file-sharing-acs) */ options?: MessageOptions) => Promise<void>;
80
+ onSendMessage?: (content: string, options?: MessageOptions) => Promise<void>;
81
81
  /**
82
82
  * Optional props needed to lookup suggestions in the mention scenario.
83
83
  * @beta
@@ -3,23 +3,17 @@
3
3
  import React, { useState, useMemo, useCallback } from 'react';
4
4
  import { mergeStyles, concatStyleSets, Icon, Stack } from '@fluentui/react';
5
5
  import { sendButtonStyle, sendIconStyle, sendBoxWrapperStyles, borderAndBoxShadowStyle } from './styles/SendBox.styles';
6
- /* @conditional-compile-remove(file-sharing-acs) */
7
6
  import { useV9CustomStyles } from './styles/SendBox.styles';
8
7
  import { useTheme } from '../theming';
9
8
  import { useLocale } from '../localization';
10
9
  import { useIdentifiers } from '../identifiers';
11
10
  import { InputBoxComponent } from './InputBoxComponent';
12
11
  import { InputBoxButton } from './InputBoxButton';
13
- /* @conditional-compile-remove(file-sharing-acs) */
14
12
  import { SendBoxErrors } from './SendBoxErrors';
15
- /* @conditional-compile-remove(file-sharing-acs) */
16
13
  import { _AttachmentUploadCards } from './Attachment/AttachmentUploadCards';
17
- /* @conditional-compile-remove(file-sharing-acs) */
18
14
  import { attachmentUploadCardsStyles } from './styles/SendBox.styles';
19
- /* @conditional-compile-remove(file-sharing-acs) */
20
15
  import { isAttachmentUploadCompleted, hasIncompleteAttachmentUploads, toAttachmentMetadata } from './utils/SendBoxUtils';
21
16
  import { MAXIMUM_LENGTH_OF_MESSAGE, isMessageTooLong, sanitizeText, isSendBoxButtonAriaDisabled } from './utils/SendBoxUtils';
22
- /* @conditional-compile-remove(file-sharing-acs) */
23
17
  import { FluentV9ThemeProvider } from '../theming/FluentV9ThemeProvider';
24
18
  /**
25
19
  * Component for typing and sending messages.
@@ -30,11 +24,7 @@ import { FluentV9ThemeProvider } from '../theming/FluentV9ThemeProvider';
30
24
  * @public
31
25
  */
32
26
  export const SendBox = (props) => {
33
- const { disabled, systemMessage, supportNewline, onSendMessage, onTyping, onRenderIcon, onRenderSystemMessage, styles, autoFocus,
34
- /* @conditional-compile-remove(mention) */
35
- mentionLookupOptions,
36
- /* @conditional-compile-remove(file-sharing-acs) */
37
- attachments } = props;
27
+ const { disabled, systemMessage, supportNewline, onSendMessage, onTyping, onRenderIcon, onRenderSystemMessage, styles, autoFocus, mentionLookupOptions, attachments } = props;
38
28
  const theme = useTheme();
39
29
  const localeStrings = useLocale().strings.sendBox;
40
30
  const strings = Object.assign(Object.assign({}, localeStrings), props.strings);
@@ -42,9 +32,7 @@ export const SendBox = (props) => {
42
32
  const [textValue, setTextValue] = useState('');
43
33
  const [textValueOverflow, setTextValueOverflow] = useState(false);
44
34
  const sendTextFieldRef = React.useRef(null);
45
- /* @conditional-compile-remove(file-sharing-acs) */
46
35
  const customV9Styles = useV9CustomStyles();
47
- /* @conditional-compile-remove(file-sharing-acs) */
48
36
  const [attachmentUploadsPendingError, setAttachmentUploadsPendingError] = useState(undefined);
49
37
  const sendMessageOnClick = () => {
50
38
  var _a;
@@ -53,9 +41,7 @@ export const SendBox = (props) => {
53
41
  return;
54
42
  }
55
43
  // Don't send message until all attachments have been uploaded successfully
56
- /* @conditional-compile-remove(file-sharing-acs) */
57
44
  setAttachmentUploadsPendingError(undefined);
58
- /* @conditional-compile-remove(file-sharing-acs) */
59
45
  if (hasIncompleteAttachmentUploads(attachments)) {
60
46
  setAttachmentUploadsPendingError({
61
47
  message: strings.attachmentUploadsPendingError,
@@ -66,11 +52,9 @@ export const SendBox = (props) => {
66
52
  const message = textValue;
67
53
  // we don't want to send empty messages including spaces, newlines, tabs
68
54
  // Message can be empty if there is a valid attachment upload
69
- if (sanitizeText(message).length > 0 || /* @conditional-compile-remove(file-sharing-acs) */ isAttachmentUploadCompleted(attachments)) {
70
- onSendMessage && onSendMessage(message, /* @conditional-compile-remove(file-sharing-acs) */ /* @conditional-compile-remove(rich-text-editor-composite-support) */ {
71
- /* @conditional-compile-remove(file-sharing-acs) */
55
+ if (sanitizeText(message).length > 0 || isAttachmentUploadCompleted(attachments)) {
56
+ onSendMessage && onSendMessage(message, {
72
57
  attachments: toAttachmentMetadata(attachments),
73
- /* @conditional-compile-remove(rich-text-editor-composite-support) */
74
58
  type: 'text'
75
59
  });
76
60
  setTextValue('');
@@ -91,30 +75,26 @@ export const SendBox = (props) => {
91
75
  const mergedSendIconStyle = useMemo(() => sendIconStyle({
92
76
  theme,
93
77
  hasText: sanitizeText(textValue).length > 0,
94
- /* @conditional-compile-remove(file-sharing-acs) */ hasAttachment: isAttachmentUploadCompleted(attachments),
78
+ hasAttachment: isAttachmentUploadCompleted(attachments),
95
79
  hasErrorMessage: !!errorMessage,
96
80
  customSendIconStyle: styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon,
97
81
  disabled: !!disabled
98
- }), [theme, textValue, /* @conditional-compile-remove(file-sharing-acs) */ attachments, errorMessage, styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon, disabled]);
82
+ }), [theme, textValue, attachments, errorMessage, styles === null || styles === void 0 ? void 0 : styles.sendMessageIcon, disabled]);
99
83
  const isSendBoxButtonAriaDisabledValue = useMemo(() => {
100
84
  return isSendBoxButtonAriaDisabled({
101
85
  hasContent: sanitizeText(textValue).length > 0,
102
- /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments),
86
+ hasCompletedAttachmentUploads: isAttachmentUploadCompleted(attachments),
103
87
  hasError: !!errorMessage,
104
88
  disabled: !!disabled
105
89
  });
106
- }, [
107
- attachments, disabled, errorMessage, textValue
108
- ]);
90
+ }, [attachments, disabled, errorMessage, textValue]);
109
91
  const onRenderSendIcon = useCallback((isHover) => onRenderIcon ? onRenderIcon(isHover) : React.createElement(Icon, { iconName: isHover && textValue ? 'SendBoxSendHovered' : 'SendBoxSend', className: mergedSendIconStyle }), [mergedSendIconStyle, onRenderIcon, textValue]);
110
92
  // Ensure that errors are cleared when there are no attachments in sendBox
111
- /* @conditional-compile-remove(file-sharing-acs) */
112
93
  React.useEffect(() => {
113
94
  if (!(attachments === null || attachments === void 0 ? void 0 : attachments.filter(upload => !upload.error).length)) {
114
95
  setAttachmentUploadsPendingError(undefined);
115
96
  }
116
97
  }, [attachments]);
117
- /* @conditional-compile-remove(file-sharing-acs) */
118
98
  const sendBoxErrorsProps = useMemo(() => {
119
99
  var _a;
120
100
  return {
@@ -122,7 +102,6 @@ export const SendBox = (props) => {
122
102
  attachmentProgressError: (_a = attachments === null || attachments === void 0 ? void 0 : attachments.filter(attachmentUpload => attachmentUpload.error).pop()) === null || _a === void 0 ? void 0 : _a.error
123
103
  };
124
104
  }, [attachments, attachmentUploadsPendingError]);
125
- /* @conditional-compile-remove(file-sharing-acs) */
126
105
  const onRenderAttachmentUploads = useCallback(() => {
127
106
  var _a, _b, _c, _d, _e, _f, _g, _h;
128
107
  if (!(attachments === null || attachments === void 0 ? void 0 : attachments.filter(upload => !upload.error).length)) {
@@ -140,7 +119,7 @@ export const SendBox = (props) => {
140
119
  return React.createElement(Stack, { className: mergeStyles(sendBoxWrapperStyles, {
141
120
  overflow: 'visible'
142
121
  } // This is needed for the mention popup to be visible
143
- ) }, /* @conditional-compile-remove(file-sharing-acs) */
122
+ ) },
144
123
  React.createElement(SendBoxErrors, { attachmentProgressError: sendBoxErrorsProps.attachmentProgressError ? {
145
124
  message: sendBoxErrorsProps.attachmentProgressError.message,
146
125
  timestamp: Date.now()
@@ -157,14 +136,13 @@ export const SendBox = (props) => {
157
136
  }
158
137
  }, onEnterKeyDown: () => {
159
138
  sendMessageOnClick();
160
- }, styles: mergedStyles, supportNewline: supportNewline, maxLength: MAXIMUM_LENGTH_OF_MESSAGE,
161
- /* @conditional-compile-remove(mention) */ mentionLookupOptions: mentionLookupOptions },
139
+ }, styles: mergedStyles, supportNewline: supportNewline, maxLength: MAXIMUM_LENGTH_OF_MESSAGE, mentionLookupOptions: mentionLookupOptions },
162
140
  React.createElement(InputBoxButton, { onRenderIcon: onRenderSendIcon, onClick: e => {
163
141
  if (!textValueOverflow) {
164
142
  sendMessageOnClick();
165
143
  }
166
144
  e.stopPropagation();
167
- }, id: 'sendIconWrapper', className: mergedSendButtonStyle, ariaLabel: localeStrings.sendButtonAriaLabel, tooltipContent: localeStrings.sendButtonAriaLabel, ariaDisabled: isSendBoxButtonAriaDisabledValue })), /* @conditional-compile-remove(file-sharing-acs) */
145
+ }, id: 'sendIconWrapper', className: mergedSendButtonStyle, ariaLabel: localeStrings.sendButtonAriaLabel, tooltipContent: localeStrings.sendButtonAriaLabel, ariaDisabled: isSendBoxButtonAriaDisabledValue })),
168
146
  onRenderAttachmentUploads()));
169
147
  };
170
148
  //# sourceMappingURL=SendBox.js.map