@azure/communication-react 1.19.0-beta.2 → 1.19.0

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 (610) hide show
  1. package/dist/communication-react.d.ts +278 -1978
  2. package/dist/dist-cjs/communication-react/index.js +35542 -163
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
  5. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
  7. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
  10. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  11. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -10
  15. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -12
  16. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +4 -4
  18. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -3
  20. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -4
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +2 -22
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +0 -2
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -5
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -2
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +2 -19
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.d.ts +5 -5
  31. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -1
  34. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -1
  35. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +1 -36
  37. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  39. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
  40. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  42. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -10
  43. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  44. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +2 -2
  45. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  46. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
  47. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +3 -85
  49. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -18
  51. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +4 -104
  52. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -5
  54. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +5 -34
  55. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -3
  57. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  59. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
  60. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +0 -9
  62. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -18
  63. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
  68. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
  70. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  71. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
  72. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
  73. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  74. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
  75. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -3
  76. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  77. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +2 -25
  78. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  79. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  80. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  81. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
  82. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  83. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +1 -1
  84. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  85. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
  86. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  87. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
  88. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  89. package/dist/dist-esm/communication-react/src/api-summary.d.ts +11 -0
  90. package/dist/dist-esm/communication-react/src/api-summary.js +13 -0
  91. package/dist/dist-esm/communication-react/src/api-summary.js.map +1 -0
  92. package/dist/dist-esm/communication-react/src/index.d.ts +1 -28
  93. package/dist/dist-esm/communication-react/src/index.js +0 -6
  94. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  95. package/dist/dist-esm/communication-react/src/javascript-loaders.d.ts +2 -0
  96. package/dist/dist-esm/communication-react/src/javascript-loaders.js +3 -0
  97. package/dist/dist-esm/communication-react/src/javascript-loaders.js.map +1 -0
  98. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
  99. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -2
  100. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +4 -0
  102. package/dist/dist-esm/react-components/src/components/CameraButton.js +1 -1
  103. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +3 -0
  105. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +9 -7
  106. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -32
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
  123. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
  124. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  125. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
  126. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  133. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +4 -0
  134. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +0 -4
  136. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  137. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +7 -7
  138. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  139. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  140. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  141. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  142. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.d.ts +8 -4
  143. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +7 -10
  144. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  145. package/dist/dist-esm/react-components/src/components/IncomingCallStack.d.ts +12 -15
  146. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +3 -3
  147. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  148. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  149. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
  150. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  151. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -0
  152. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +15 -5
  153. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
  156. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -13
  157. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  158. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +4 -0
  159. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +18 -16
  160. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  161. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +0 -24
  162. package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -5
  163. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
  165. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -17
  167. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
  168. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +0 -1
  170. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +2 -3
  171. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
  173. package/dist/dist-esm/react-components/src/components/SendBox.js +7 -59
  174. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  176. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  178. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
  180. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  182. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +13 -3
  184. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +2 -1
  186. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +2 -10
  188. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +6 -14
  190. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +6 -14
  192. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +0 -2
  194. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +3 -21
  195. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +8 -0
  197. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +29 -0
  198. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -6
  200. package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -5
  201. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/VideoTile.js +2 -1
  203. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -20
  205. package/dist/dist-esm/react-components/src/components/index.js +0 -7
  206. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  208. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  209. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +9 -1
  210. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +20 -0
  211. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +1 -2
  213. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  215. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -8
  216. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts +2 -2
  218. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +3 -2
  219. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -1
  221. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -2
  222. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +14 -2
  224. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +59 -18
  225. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
  227. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
  228. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
  230. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
  231. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
  233. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
  234. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  236. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  238. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/utils.js +1 -7
  240. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  242. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
  243. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  245. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
  247. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +17 -10
  249. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +15 -8
  250. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +16 -9
  251. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +17 -10
  252. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +17 -10
  253. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +17 -10
  254. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +15 -8
  255. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +17 -10
  256. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +16 -9
  257. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +15 -8
  258. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +16 -9
  259. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +15 -8
  260. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +15 -8
  261. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +17 -10
  262. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +15 -8
  263. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +17 -10
  264. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +15 -8
  265. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +16 -9
  266. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +16 -9
  267. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +15 -8
  268. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +18 -11
  269. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -32
  270. package/dist/dist-esm/react-components/src/theming/icons.js +0 -93
  271. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  273. package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
  274. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
  276. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
  278. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +1 -1
  280. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +3 -72
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +9 -19
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +17 -71
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +14 -61
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +84 -172
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +36 -53
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.d.ts +1 -1
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -3
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +20 -25
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +6 -5
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +7 -13
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +3 -0
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +10 -3
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +3 -2
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +0 -2
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +4 -76
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.d.ts +1 -0
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +2 -2
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +0 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +4 -22
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -4
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +3 -1
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +1 -10
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -4
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +3 -3
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -45
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -23
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -20
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -1
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +10 -64
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
  359. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -24
  360. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -8
  362. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  363. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +6 -28
  364. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +4 -148
  365. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +12 -46
  367. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  368. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +3 -8
  369. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +5 -25
  370. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
  372. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
  373. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  374. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +1 -15
  375. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -3
  376. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  377. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -5
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +0 -13
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  380. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
  381. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
  382. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  383. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
  384. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -202
  385. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
  387. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
  389. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +1 -37
  390. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  391. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
  392. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  393. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
  394. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
  396. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  397. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +5 -5
  400. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +3 -2
  401. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +4 -4
  403. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.d.ts +1 -1
  405. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  406. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +3 -0
  407. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +7 -2
  408. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  409. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +2 -25
  410. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  411. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +0 -1
  412. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  413. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  415. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  416. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
  417. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
  418. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  419. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +0 -23
  420. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  421. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
  422. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
  423. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +6 -34
  425. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
  426. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +0 -4
  428. package/dist/dist-esm/react-composites/src/composites/common/utils.js +0 -22
  429. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  430. package/dist/dist-esm/react-composites/src/composites/index.d.ts +0 -1
  431. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  432. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +10 -10
  433. package/package.json +18 -3
  434. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-C1XJdavW.js +0 -202
  435. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-C1XJdavW.js.map +0 -1
  436. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-31mhJoQR.js +0 -50
  437. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-31mhJoQR.js.map +0 -1
  438. package/dist/dist-cjs/communication-react/index-NOtN6_TE.js +0 -42222
  439. package/dist/dist-cjs/communication-react/index-NOtN6_TE.js.map +0 -1
  440. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
  441. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -16
  442. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
  443. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
  444. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
  445. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
  446. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +0 -20
  447. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +0 -106
  448. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +0 -1
  449. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  450. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
  451. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  452. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
  453. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
  454. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
  455. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  456. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  457. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  458. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
  459. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -192
  460. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  461. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  462. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
  463. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  464. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  465. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
  466. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  467. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  468. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
  469. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  470. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  471. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  472. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  473. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  474. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
  475. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  476. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
  477. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
  478. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
  479. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
  480. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
  481. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  482. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -12
  483. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -23
  484. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
  485. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
  486. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
  487. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
  488. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
  489. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
  490. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
  491. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
  492. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
  493. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
  494. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
  495. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
  496. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
  497. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -29
  498. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -87
  499. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
  500. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -58
  501. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -309
  502. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  503. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
  504. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -78
  505. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  506. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -211
  507. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -171
  508. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  509. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  510. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
  511. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  512. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
  513. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -221
  514. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
  515. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
  516. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
  517. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
  518. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
  519. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
  520. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
  521. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
  522. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
  523. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
  524. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
  525. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
  526. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  527. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  528. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  529. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  530. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  531. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  532. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  533. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  534. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  535. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  536. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  537. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  538. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  539. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  540. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  541. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  542. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  543. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -320
  544. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  545. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  546. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
  547. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  548. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  549. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  550. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  551. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  552. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  553. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  554. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  555. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  556. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  557. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -72
  558. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -174
  559. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
  560. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
  561. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -116
  562. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  563. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  564. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  565. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  566. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  567. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  568. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +0 -47
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +0 -48
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +0 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +0 -13
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +0 -37
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +0 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -196
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +0 -7
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +0 -14
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +0 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  584. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  585. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
  586. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  587. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  588. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  589. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  590. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
  591. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
  592. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
  593. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
  594. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -253
  595. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
  596. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
  597. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
  598. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
  599. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
  600. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
  601. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
  602. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
  603. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
  604. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
  605. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +0 -12
  606. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +0 -52
  607. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +0 -1
  608. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
  609. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
  610. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageComponentAsEditBoxUtils.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAe,EAAE;IACnE,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;AACnE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAe,EAAE;IACnE,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;AACnE,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,WAAmB,EAAE,kBAAyC;IACpF,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,MAAK,CAAC,CAAC;IAC3E,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,WAAiC;IACpF,OAAO,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3H,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAAC,OAAoB;IACnE,OAAO,OAAO,CAAC,WAAW,CAAC;AAC7B,CAAC;AAsBD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAA2B,EAAE,MAAe,EAAwB,EAAE;IAC9G,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,OAAoB,EAAW,EAAE;;IACrF,MAAM,MAAM,GAAG,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,MAAM,mCAAI,CAAC,CAAC;IAChD,OAAO,MAAM,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { Icon } from '@fluentui/react';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\nimport { isMessageTooLong } from './SendBoxUtils';\nimport { ChatMessage } from '../../types';\n\n/**\n * @private\n */\nexport const onRenderCancelIcon = (className: string): JSX.Element => {\n return <Icon iconName={'EditBoxCancel'} className={className} />;\n};\n\n/**\n * @private\n */\nexport const onRenderSubmitIcon = (className: string): JSX.Element => {\n return <Icon iconName={'EditBoxSubmit'} className={className} />;\n};\ntype MessageState = 'OK' | 'too short' | 'too long';\nfunction isMessageEmpty(messageText: string, attachmentMetadata?: AttachmentMetadata[]): boolean {\n return messageText.trim().length === 0 && attachmentMetadata?.length === 0;\n return messageText.trim().length === 0;\n}\n\n/**\n * @private\n */\nexport function getMessageState(messageText: string, attachments: AttachmentMetadata[]): MessageState {\n return isMessageEmpty(messageText, attachments) ? 'too short' : isMessageTooLong(messageText.length) ? 'too long' : 'OK';\n}\n/**\n * @private\n * @TODO: Remove when file-sharing feature becomes stable.\n */\nexport function getMessageWithAttachmentMetadata(message: ChatMessage): AttachmentMetadata[] | undefined {\n return message.attachments;\n}\n/**\n * @private\n */\ninterface Action {\n type: string;\n}\n/**\n * Currently `Actions` only have one action which is to remove.\n * But in the future, we may have more actions like `add`, `update`, etc.\n * And this action would be a uinon of all those actions.\n * i.e. `type Actions = RemoveAction | AddAction | UpdateAction;`\n * @private\n */\ntype Actions = RemoveAction;\n/**\n * @private\n */\ninterface RemoveAction extends Action {\n type: 'remove';\n id: string;\n}\n/**\n * @internal\n */\nexport const attachmentMetadataReducer = (state: AttachmentMetadata[], action: Actions): AttachmentMetadata[] => {\n switch (action.type) {\n case 'remove':\n return state.filter(v => v.id !== action.id);\n default:\n return state;\n }\n};\n/**\n * @internal\n */\nexport const doesMessageContainMultipleAttachments = (message: ChatMessage): boolean => {\n const length = message.attachments?.length ?? 0;\n return length > 1;\n};"]}
1
+ {"version":3,"file":"ChatMessageComponentAsEditBoxUtils.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAe,EAAE;IACnE,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;AACnE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAe,EAAE;IACnE,OAAO,oBAAC,IAAI,IAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;AACnE,CAAC,CAAC;AAEF,SAAS,cAAc,CAAC,WAAmB;IACzC,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9G,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { Icon } from '@fluentui/react';\nimport { isMessageTooLong } from './SendBoxUtils';\n/**\n * @private\n */\nexport const onRenderCancelIcon = (className: string): JSX.Element => {\n return <Icon iconName={'EditBoxCancel'} className={className} />;\n};\n\n/**\n * @private\n */\nexport const onRenderSubmitIcon = (className: string): JSX.Element => {\n return <Icon iconName={'EditBoxSubmit'} className={className} />;\n};\ntype MessageState = 'OK' | 'too short' | 'too long';\nfunction isMessageEmpty(messageText: string): boolean {\n return messageText.trim().length === 0;\n}\n\n/**\n * @private\n */\nexport function getMessageState(messageText: string): MessageState {\n return isMessageEmpty(messageText) ? 'too short' : isMessageTooLong(messageText.length) ? 'too long' : 'OK';\n}"]}
@@ -1,9 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ChatMessage, MessageAttachedStatus } from '../../types/ChatMessage';
3
- import { BlockedMessage } from '../../types/ChatMessage';
4
3
  import { InlineImageOptions } from '../ChatMessage/ChatMessageContent';
5
4
  import { MessageThreadStrings } from '../MessageThread';
6
- import { MentionDisplayOptions } from '../MentionPopover';
7
5
  import { AttachmentMenuAction } from '../../types/Attachment';
8
6
  import { AttachmentMetadata } from "../../../../acs-ui-common/src";
9
7
  import { ComponentLocale } from '../../localization/LocalizationProvider';
@@ -17,7 +15,7 @@ export declare const getFluentUIAttachedValue: (messageAttachedStatus?: MessageA
17
15
  * @private
18
16
  * Get the message bubble content for the message.
19
17
  */
20
- export declare function getMessageBubbleContent(message: ChatMessage | BlockedMessage, strings: MessageThreadStrings, userId: string, inlineImageOptions: InlineImageOptions | undefined, mentionDisplayOptions?: MentionDisplayOptions,
18
+ export declare function getMessageBubbleContent(message: ChatMessage, strings: MessageThreadStrings, userId: string, inlineImageOptions: InlineImageOptions | undefined,
21
19
  /**
22
20
  * Optional callback to render message attachments in the message component.
23
21
  */
@@ -34,5 +32,5 @@ export declare const generateCustomizedTimestamp: (createdOn: Date, locale: Comp
34
32
  * @private
35
33
  * Get the edited tag for the message if it is edited.
36
34
  */
37
- export declare const getMessageEditedDetails: (message: ChatMessage | BlockedMessage, theme: Theme, editedTag: string) => JSX.Element | undefined;
35
+ export declare const getMessageEditedDetails: (message: ChatMessage, theme: Theme, editedTag: string) => JSX.Element | undefined;
38
36
  //# sourceMappingURL=ChatMessageComponentUtils.d.ts.map
@@ -2,7 +2,6 @@
2
2
  // Licensed under the MIT License.
3
3
  import React from 'react';
4
4
  import { ChatMessageContent } from '../ChatMessage/ChatMessageContent';
5
- import { BlockedMessageContent } from '../ChatMessage/ChatMessageContent';
6
5
  import { _AttachmentDownloadCards } from '../Attachment/AttachmentDownloadCards';
7
6
  import { formatTimeForChatMessage, formatTimestampForChatMessage } from './Datetime';
8
7
  import { chatMessageEditedTagStyle } from '../styles/ChatMessageComponent.styles';
@@ -17,7 +16,7 @@ export const getFluentUIAttachedValue = (messageAttachedStatus) => {
17
16
  * @private
18
17
  * Get the message bubble content for the message.
19
18
  */
20
- export function getMessageBubbleContent(message, strings, userId, inlineImageOptions, mentionDisplayOptions,
19
+ export function getMessageBubbleContent(message, strings, userId, inlineImageOptions,
21
20
  /**
22
21
  * Optional callback to render message attachments in the message component.
23
22
  */
@@ -26,12 +25,8 @@ onRenderAttachmentDownloads,
26
25
  * Optional callback to define custom actions for attachments.
27
26
  */
28
27
  actionsForAttachment) {
29
- if (message.messageType === 'blocked') {
30
- return React.createElement("div", { tabIndex: 0 },
31
- React.createElement(BlockedMessageContent, { message: message, strings: strings }));
32
- }
33
28
  return React.createElement("div", { className: "ui-chat__message__content" },
34
- React.createElement(ChatMessageContent, { message: message, strings: strings, mentionDisplayOptions: mentionDisplayOptions, inlineImageOptions: inlineImageOptions }),
29
+ React.createElement(ChatMessageContent, { message: message, strings: strings, inlineImageOptions: inlineImageOptions }),
35
30
  onRenderAttachmentDownloads ? onRenderAttachmentDownloads(message) : defaultOnRenderAttachmentDownloads(message, strings, actionsForAttachment));
36
31
  }
37
32
  /**
@@ -41,7 +36,6 @@ const defaultOnRenderAttachmentDownloads = (message, strings, actionsForAttachme
41
36
  var _a;
42
37
  const attachments = 'attachments' in message ? message.attachments : undefined;
43
38
  return ((_a = attachments === null || attachments === void 0 ? void 0 : attachments.length) !== null && _a !== void 0 ? _a : 0) > 0 ? React.createElement(_AttachmentDownloadCards, { message: message, attachments: attachments, actionsForAttachment: actionsForAttachment, strings: {
44
- downloadAttachment: strings.downloadAttachment,
45
39
  openAttachment: strings.openAttachment,
46
40
  attachmentCardGroupMessage: strings.attachmentCardGroupMessage
47
41
  } }) : React.createElement(React.Fragment, null);
@@ -55,7 +49,6 @@ export const generateDefaultTimestamp = (createdOn, showDate, strings) => {
55
49
  // onDisplayDateTimeString from props overwrite onDisplayDateTimeString from locale
56
50
  /** @private */
57
51
  export const generateCustomizedTimestamp = (createdOn, locale, onDisplayDateTimeString) => {
58
- return onDisplayDateTimeString ? onDisplayDateTimeString(createdOn) : locale.onDisplayDateTimeString ? locale.onDisplayDateTimeString(createdOn) : '';
59
52
  return '';
60
53
  };
61
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageComponentUtils.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/ChatMessageComponentUtils.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { ChatMessage, MessageAttachedStatus } from '../../types/ChatMessage';\nimport { ChatMessageContent } from '../ChatMessage/ChatMessageContent';\nimport { BlockedMessage } from '../../types/ChatMessage';\nimport { BlockedMessageContent } from '../ChatMessage/ChatMessageContent';\nimport { InlineImageOptions } from '../ChatMessage/ChatMessageContent';\nimport { MessageThreadStrings } from '../MessageThread';\nimport { MentionDisplayOptions } from '../MentionPopover';\nimport { _AttachmentDownloadCards } from '../Attachment/AttachmentDownloadCards';\nimport { AttachmentMenuAction } from '../../types/Attachment';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\nimport { formatTimeForChatMessage, formatTimestampForChatMessage } from './Datetime';\nimport { ComponentLocale } from '../../localization/LocalizationProvider';\nimport { chatMessageEditedTagStyle } from '../styles/ChatMessageComponent.styles';\nimport { Theme } from '@fluentui/react';\n\n/** @private\n * Return the string value for the FluentUI message attached prop based on the message's attached status.\n * @param attached - The message's attached status.\n */\nexport const getFluentUIAttachedValue = (messageAttachedStatus?: MessageAttachedStatus): 'bottom' | 'top' | 'center' | undefined => {\n return messageAttachedStatus === 'top' || messageAttachedStatus === false ? 'top' : 'center';\n};\n\n/**\n * @private\n * Get the message bubble content for the message.\n */\nexport function getMessageBubbleContent(message: ChatMessage | BlockedMessage, strings: MessageThreadStrings, userId: string, inlineImageOptions: InlineImageOptions | undefined, mentionDisplayOptions?: MentionDisplayOptions,\n/**\n * Optional callback to render message attachments in the message component.\n */\nonRenderAttachmentDownloads?: (message: ChatMessage) => JSX.Element,\n/**\n * Optional callback to define custom actions for attachments.\n */\nactionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[]): JSX.Element {\n if (message.messageType === 'blocked') {\n return <div tabIndex={0}>\n <BlockedMessageContent message={message} strings={strings} />\n </div>;\n }\n return <div className=\"ui-chat__message__content\">\n <ChatMessageContent message={message} strings={strings} mentionDisplayOptions={mentionDisplayOptions} inlineImageOptions={inlineImageOptions} />\n {onRenderAttachmentDownloads ? onRenderAttachmentDownloads(message) : defaultOnRenderAttachmentDownloads(message, strings, actionsForAttachment)}\n </div>;\n}\n\n/**\n * Default component for rendering attachment downloads.\n */\nconst defaultOnRenderAttachmentDownloads = (message: ChatMessage | BlockedMessage, strings: MessageThreadStrings, actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[]): JSX.Element | undefined => {\n const attachments = 'attachments' in message ? message.attachments : undefined;\n return (attachments?.length ?? 0) > 0 ? <_AttachmentDownloadCards message={message as ChatMessage} attachments={attachments} actionsForAttachment={actionsForAttachment} strings={{\n downloadAttachment: strings.downloadAttachment,\n openAttachment: strings.openAttachment,\n attachmentCardGroupMessage: strings.attachmentCardGroupMessage\n }} /> : <></>;\n return undefined;\n};\n\n/** @private */\nexport const generateDefaultTimestamp = (createdOn: Date, showDate: boolean | undefined, strings: MessageThreadStrings): string => {\n const formattedTimestamp = showDate ? formatTimestampForChatMessage(createdOn, new Date(), strings) : formatTimeForChatMessage(createdOn);\n return formattedTimestamp;\n};\n\n// onDisplayDateTimeString from props overwrite onDisplayDateTimeString from locale\n/** @private */\nexport const generateCustomizedTimestamp = (createdOn: Date, locale: ComponentLocale, onDisplayDateTimeString?: (messageDate: Date) => string): string => {\n return onDisplayDateTimeString ? onDisplayDateTimeString(createdOn) : locale.onDisplayDateTimeString ? locale.onDisplayDateTimeString(createdOn) : '';\n return '';\n};\n\n/**\n * @private\n * Get the edited tag for the message if it is edited.\n */\nexport const getMessageEditedDetails = (message: ChatMessage | BlockedMessage, theme: Theme, editedTag: string): JSX.Element | undefined => {\n const editedOn = 'editedOn' in message ? message.editedOn : undefined;\n if (message.messageType === 'chat' && editedOn) {\n return <div className={chatMessageEditedTagStyle(theme)}>{editedTag}</div>;\n }\n return undefined;\n};"]}
1
+ {"version":3,"file":"ChatMessageComponentUtils.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/ChatMessageComponentUtils.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAGjF,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAErF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAGlF;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,qBAA6C,EAA2C,EAAE;IACjI,OAAO,qBAAqB,KAAK,KAAK,IAAI,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/F,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAoB,EAAE,OAA6B,EAAE,MAAc,EAAE,kBAAkD;AAC/J;;GAEG;AACH,2BAAmE;AACnE;;GAEG;AACH,oBAAwG;IACtG,OAAO,6BAAK,SAAS,EAAC,2BAA2B;QAC7C,oBAAC,kBAAkB,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,GAAI;QACjG,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,OAAO,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAC5I,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,kCAAkC,GAAG,CAAC,OAAoB,EAAE,OAA6B,EAAE,oBAAwG,EAA2B,EAAE;;IACpO,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,OAAO,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAC,wBAAwB,IAAC,OAAO,EAAE,OAAsB,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,OAAO,EAAE;YAChL,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;SAC/D,GAAI,CAAC,CAAC,CAAC,yCAAK,CAAC;IACd,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,eAAe;AACf,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAe,EAAE,QAA6B,EAAE,OAA6B,EAAU,EAAE;IAChI,MAAM,kBAAkB,GAAG,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC1I,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AAEF,mFAAmF;AACnF,eAAe;AACf,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAe,EAAE,MAAuB,EAAE,uBAAuD,EAAU,EAAE;IACvJ,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAoB,EAAE,KAAY,EAAE,SAAiB,EAA2B,EAAE;IACxH,MAAM,QAAQ,GAAG,UAAU,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,IAAI,OAAO,CAAC,WAAW,KAAK,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC/C,OAAO,6BAAK,SAAS,EAAE,yBAAyB,CAAC,KAAK,CAAC,IAAG,SAAS,CAAO,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { ChatMessage, MessageAttachedStatus } from '../../types/ChatMessage';\nimport { ChatMessageContent } from '../ChatMessage/ChatMessageContent';\nimport { InlineImageOptions } from '../ChatMessage/ChatMessageContent';\nimport { MessageThreadStrings } from '../MessageThread';\nimport { _AttachmentDownloadCards } from '../Attachment/AttachmentDownloadCards';\nimport { AttachmentMenuAction } from '../../types/Attachment';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\nimport { formatTimeForChatMessage, formatTimestampForChatMessage } from './Datetime';\nimport { ComponentLocale } from '../../localization/LocalizationProvider';\nimport { chatMessageEditedTagStyle } from '../styles/ChatMessageComponent.styles';\nimport { Theme } from '@fluentui/react';\n\n/** @private\n * Return the string value for the FluentUI message attached prop based on the message's attached status.\n * @param attached - The message's attached status.\n */\nexport const getFluentUIAttachedValue = (messageAttachedStatus?: MessageAttachedStatus): 'bottom' | 'top' | 'center' | undefined => {\n return messageAttachedStatus === 'top' || messageAttachedStatus === false ? 'top' : 'center';\n};\n\n/**\n * @private\n * Get the message bubble content for the message.\n */\nexport function getMessageBubbleContent(message: ChatMessage, strings: MessageThreadStrings, userId: string, inlineImageOptions: InlineImageOptions | undefined,\n/**\n * Optional callback to render message attachments in the message component.\n */\nonRenderAttachmentDownloads?: (message: ChatMessage) => JSX.Element,\n/**\n * Optional callback to define custom actions for attachments.\n */\nactionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[]): JSX.Element {\n return <div className=\"ui-chat__message__content\">\n <ChatMessageContent message={message} strings={strings} inlineImageOptions={inlineImageOptions} />\n {onRenderAttachmentDownloads ? onRenderAttachmentDownloads(message) : defaultOnRenderAttachmentDownloads(message, strings, actionsForAttachment)}\n </div>;\n}\n\n/**\n * Default component for rendering attachment downloads.\n */\nconst defaultOnRenderAttachmentDownloads = (message: ChatMessage, strings: MessageThreadStrings, actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[]): JSX.Element | undefined => {\n const attachments = 'attachments' in message ? message.attachments : undefined;\n return (attachments?.length ?? 0) > 0 ? <_AttachmentDownloadCards message={message as ChatMessage} attachments={attachments} actionsForAttachment={actionsForAttachment} strings={{\n openAttachment: strings.openAttachment,\n attachmentCardGroupMessage: strings.attachmentCardGroupMessage\n }} /> : <></>;\n return undefined;\n};\n\n/** @private */\nexport const generateDefaultTimestamp = (createdOn: Date, showDate: boolean | undefined, strings: MessageThreadStrings): string => {\n const formattedTimestamp = showDate ? formatTimestampForChatMessage(createdOn, new Date(), strings) : formatTimeForChatMessage(createdOn);\n return formattedTimestamp;\n};\n\n// onDisplayDateTimeString from props overwrite onDisplayDateTimeString from locale\n/** @private */\nexport const generateCustomizedTimestamp = (createdOn: Date, locale: ComponentLocale, onDisplayDateTimeString?: (messageDate: Date) => string): string => {\n return '';\n};\n\n/**\n * @private\n * Get the edited tag for the message if it is edited.\n */\nexport const getMessageEditedDetails = (message: ChatMessage, theme: Theme, editedTag: string): JSX.Element | undefined => {\n const editedOn = 'editedOn' in message ? message.editedOn : undefined;\n if (message.messageType === 'chat' && editedOn) {\n return <div className={chatMessageEditedTagStyle(theme)}>{editedTag}</div>;\n }\n return undefined;\n};"]}
@@ -1,31 +1,7 @@
1
- import { AttachmentMetadataInProgress } from "../../../../acs-ui-common/src";
2
- import { AttachmentMetadata } from "../../../../acs-ui-common/src";
3
1
  /**
4
2
  * @private
5
3
  */
6
4
  export declare const MAXIMUM_LENGTH_OF_MESSAGE = 8000;
7
- /**
8
- * @private
9
- */
10
- export declare const hasIncompleteAttachmentUploads: (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined) => boolean;
11
- /**
12
- * @private
13
- */
14
- export declare const isAttachmentUploadCompleted: (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined) => boolean;
15
- /**
16
- * Check if the content has inline image.
17
- * @internal
18
- */
19
- export declare const hasInlineImageContent: (content: string) => boolean;
20
- /**
21
- * @internal
22
- *
23
- * @param message - The message content to update.
24
- * @param initialInlineImages - The initial inline images that comes with the message before editing.
25
- *
26
- * @returns The updated message content.
27
- */
28
- export declare const updateStylesOfInlineImages: (message: string, initialInlineImages: Record<string, string>[]) => Promise<string>;
29
5
  /**
30
6
  * @private
31
7
  */
@@ -43,26 +19,13 @@ export declare const sanitizeText: (message: string) => string;
43
19
  * @param disabled - Indicates whether the send box is disabled.
44
20
  * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility.
45
21
  */
46
- export declare const isSendBoxButtonAriaDisabled: ({ hasContent, hasCompletedAttachmentUploads, hasError, disabled }: {
22
+ export declare const isSendBoxButtonAriaDisabled: ({ hasContent, hasError, disabled }: {
47
23
  hasContent: boolean;
48
- hasCompletedAttachmentUploads: boolean;
49
24
  hasError: boolean;
50
25
  disabled: boolean;
51
26
  }) => boolean;
52
- /**
53
- * @internal
54
- */
55
- export declare const toAttachmentMetadata: (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined) => AttachmentMetadata[] | undefined;
56
27
  /**
57
28
  * @internal
58
29
  */
59
30
  export declare const modifyInlineImagesInContentString: (content: string, initialInlineImages: Record<string, string>[], onCompleted?: (content: string) => void) => Promise<void>;
60
- /**
61
- * @internal
62
- */
63
- export declare const removeBrokenImageContentAndClearImageSizeStyles: (content: string) => string;
64
- /**
65
- * @internal
66
- */
67
- export declare const getContentWithUpdatedInlineImagesInfo: (content: string, inlineImageWithProgress: AttachmentMetadataInProgress[]) => string;
68
31
  //# sourceMappingURL=SendBoxUtils.d.ts.map
@@ -7,75 +7,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ // Copyright (c) Microsoft Corporation.
11
+ // Licensed under the MIT License.
10
12
  /**
11
13
  * @private
12
14
  */
13
15
  export const MAXIMUM_LENGTH_OF_MESSAGE = 8000;
14
16
  const EMPTY_MESSAGE_REGEX = /^\s*$/;
15
- /**
16
- * @private
17
- */
18
- export const hasIncompleteAttachmentUploads = (attachmentsWithProgress) => {
19
- return !!((attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.length) && !attachmentsWithProgress.filter(attachmentUpload => !attachmentUpload.error).every(attachmentUpload => attachmentUpload.progress === 1 && attachmentUpload.progress !== undefined));
20
- };
21
- /**
22
- * @private
23
- */
24
- export const isAttachmentUploadCompleted = (attachmentsWithProgress) => {
25
- return !!(attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.find(attachment => !attachment.error));
26
- };
27
- /**
28
- * Check if the content has inline image.
29
- * @internal
30
- */
31
- export const hasInlineImageContent = (content) => {
32
- const document = new DOMParser().parseFromString(content, 'text/html');
33
- return !!document.querySelector('img');
34
- };
35
- /**
36
- * @internal
37
- *
38
- * @param message - The message content to update.
39
- * @param initialInlineImages - The initial inline images that comes with the message before editing.
40
- *
41
- * @returns The updated message content.
42
- */
43
- export const updateStylesOfInlineImages = (message, initialInlineImages) => __awaiter(void 0, void 0, void 0, function* () {
44
- if (message === '') {
45
- return message;
46
- }
47
- const initialInlineImagesIds = initialInlineImages.map(initialInlineImage => initialInlineImage.id);
48
- const document = new DOMParser().parseFromString(message !== null && message !== void 0 ? message : '', 'text/html');
49
- const imagesPromise = Array.from(document.querySelectorAll('img')).map(img => {
50
- return new Promise((resolve, rejects) => {
51
- // The message might content images that comes with the message before editing.
52
- // This function should only modify the message content for images that are newly added.
53
- if (initialInlineImagesIds.includes(img.id)) {
54
- resolve();
55
- return;
56
- }
57
- const imageElement = new Image();
58
- imageElement.src = img.src;
59
- imageElement.onload = () => {
60
- // imageElement is a copy of original img element, so changes need to be made to the original img element
61
- img.width = imageElement.width;
62
- img.height = imageElement.height;
63
- img.style.aspectRatio = `${imageElement.width} / ${imageElement.height}`;
64
- // Clear maxWidth and maxHeight styles that are set by roosterJS.
65
- // This is so that they can be set in messageThread styles without using the important flag.
66
- img.style.maxWidth = '';
67
- img.style.maxHeight = '';
68
- resolve();
69
- };
70
- imageElement.onerror = () => {
71
- rejects(`Error loading image ${img.id}`);
72
- };
73
- });
74
- });
75
- yield Promise.all(imagesPromise);
76
- const newMessage = document.body.innerHTML;
77
- return newMessage;
78
- });
79
17
  /**
80
18
  * @private
81
19
  */
@@ -102,83 +40,18 @@ export const sanitizeText = (message) => {
102
40
  * @param disabled - Indicates whether the send box is disabled.
103
41
  * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility.
104
42
  */
105
- export const isSendBoxButtonAriaDisabled = ({ hasContent, hasCompletedAttachmentUploads, hasError, disabled }) => {
43
+ export const isSendBoxButtonAriaDisabled = ({ hasContent, hasError, disabled }) => {
106
44
  return (
107
45
  // no content
108
- !(hasContent || hasCompletedAttachmentUploads) ||
46
+ !hasContent ||
109
47
  //error message exists
110
48
  hasError || disabled);
111
49
  };
112
- /**
113
- * @internal
114
- */
115
- export const toAttachmentMetadata = (attachmentsWithProgress) => {
116
- return attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter(attachment => {
117
- var _a;
118
- return !('error' in attachment) && !((_a = attachment.error) === null || _a === void 0 ? void 0 : _a.message);
119
- }).map(attachment => {
120
- var _a;
121
- return {
122
- id: attachment.id,
123
- name: attachment.name,
124
- url: (_a = attachment.url) !== null && _a !== void 0 ? _a : ''
125
- };
126
- });
127
- };
128
50
  /**
129
51
  * @internal
130
52
  */
131
53
  export const modifyInlineImagesInContentString = (content, initialInlineImages, onCompleted) => __awaiter(void 0, void 0, void 0, function* () {
132
54
  let newContent = content;
133
- try {
134
- newContent = yield updateStylesOfInlineImages(content, initialInlineImages);
135
- }
136
- catch (error) {
137
- console.error('Error updating inline images: ', error);
138
- }
139
55
  onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(newContent);
140
56
  });
141
- /**
142
- * @internal
143
- */
144
- export const removeBrokenImageContentAndClearImageSizeStyles = (content) => {
145
- const document = new DOMParser().parseFromString(content, 'text/html');
146
- document.querySelectorAll('img').forEach(img => {
147
- // Before submitting/resend the message, we need to trim the unnecessary attributes such as src,
148
- // which is set to a local svg of a broken image icon at this point.
149
- // Once message is submitted/resent, it will be fetched again and might not be a broken image anymore,
150
- // That's why we need to remove the class and data-ui-id attribute of 'broken-image-wrapper'
151
- if (img.className === 'broken-image-wrapper') {
152
- img.removeAttribute('class');
153
- img.removeAttribute('src');
154
- img.removeAttribute('data-ui-id');
155
- }
156
- // Clear maxWidth and maxHeight styles that are set by roosterJS.
157
- // Clear width and height styles as the width and height is set in attributes
158
- // This is so that they can be set in messageThread styles without using the important flag.
159
- img.style.width = '';
160
- img.style.height = '';
161
- img.style.maxWidth = '';
162
- img.style.maxHeight = '';
163
- });
164
- return document.body.innerHTML;
165
- };
166
- /**
167
- * @internal
168
- */
169
- export const getContentWithUpdatedInlineImagesInfo = (content, inlineImageWithProgress) => {
170
- if (!inlineImageWithProgress || inlineImageWithProgress.length <= 0) {
171
- return content;
172
- }
173
- const document = new DOMParser().parseFromString(content, 'text/html');
174
- document.querySelectorAll('img').forEach(img => {
175
- const imageId = img.id;
176
- const inlineImage = inlineImageWithProgress.find(image => !image.error && image.progress === 1 && image.id === imageId);
177
- if (inlineImage) {
178
- img.id = inlineImage.id;
179
- img.src = inlineImage.url || img.src;
180
- }
181
- });
182
- return document.body.innerHTML;
183
- };
184
57
  //# sourceMappingURL=SendBoxUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendBoxUtils.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/SendBoxUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { AttachmentMetadataInProgress } from '@internal/acs-ui-common';\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\nexport const MAXIMUM_LENGTH_OF_MESSAGE = 8000;\nconst EMPTY_MESSAGE_REGEX = /^\\s*$/;\n/**\n * @private\n */\nexport const hasIncompleteAttachmentUploads = (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined): boolean => {\n return !!(attachmentsWithProgress?.length && !attachmentsWithProgress.filter(attachmentUpload => !attachmentUpload.error).every(attachmentUpload => attachmentUpload.progress === 1 && attachmentUpload.progress !== undefined));\n};\n/**\n * @private\n */\nexport const isAttachmentUploadCompleted = (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined): boolean => {\n return !!attachmentsWithProgress?.find(attachment => !attachment.error);\n};\n/**\n * Check if the content has inline image.\n * @internal\n */\nexport const hasInlineImageContent = (content: string): boolean => {\n const document = new DOMParser().parseFromString(content, 'text/html');\n return !!document.querySelector('img');\n};\n/**\n * @internal\n *\n * @param message - The message content to update.\n * @param initialInlineImages - The initial inline images that comes with the message before editing.\n *\n * @returns The updated message content.\n */\nexport const updateStylesOfInlineImages = async (message: string, initialInlineImages: Record<string, string>[]): Promise<string> => {\n if (message === '') {\n return message;\n }\n const initialInlineImagesIds = initialInlineImages.map(initialInlineImage => initialInlineImage.id);\n const document = new DOMParser().parseFromString(message ?? '', 'text/html');\n const imagesPromise = Array.from(document.querySelectorAll('img')).map(img => {\n return new Promise<void>((resolve, rejects) => {\n // The message might content images that comes with the message before editing.\n // This function should only modify the message content for images that are newly added.\n if (initialInlineImagesIds.includes(img.id)) {\n resolve();\n return;\n }\n const imageElement = new Image();\n imageElement.src = img.src;\n imageElement.onload = () => {\n // imageElement is a copy of original img element, so changes need to be made to the original img element\n img.width = imageElement.width;\n img.height = imageElement.height;\n img.style.aspectRatio = `${imageElement.width} / ${imageElement.height}`;\n // Clear maxWidth and maxHeight styles that are set by roosterJS.\n // This is so that they can be set in messageThread styles without using the important flag.\n img.style.maxWidth = '';\n img.style.maxHeight = '';\n resolve();\n };\n imageElement.onerror = () => {\n rejects(`Error loading image ${img.id}`);\n };\n });\n });\n await Promise.all(imagesPromise);\n const newMessage = document.body.innerHTML;\n return newMessage;\n};\n\n/**\n * @private\n */\nexport const isMessageTooLong = (valueLength: number): boolean => {\n return valueLength > MAXIMUM_LENGTH_OF_MESSAGE;\n};\n\n/**\n * @private\n */\nexport const sanitizeText = (message: string): string => {\n if (EMPTY_MESSAGE_REGEX.test(message)) {\n return '';\n } else {\n return message;\n }\n};\n\n/**\n * Determines whether the send box should be disabled for ARIA accessibility.\n *\n * @param hasContent - Indicates whether the send box has content.\n * @param hasCompletedAttachmentUploads - Indicates whether attachment uploads have completed.\n * @param hasError - Indicates whether there is an error.\n * @param disabled - Indicates whether the send box is disabled.\n * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility.\n */\nexport const isSendBoxButtonAriaDisabled = ({\n hasContent,\n hasCompletedAttachmentUploads,\n hasError,\n disabled\n}: {\n hasContent: boolean;\n hasCompletedAttachmentUploads: boolean;\n hasError: boolean;\n disabled: boolean;\n}): boolean => {\n return (\n // no content\n !(hasContent || hasCompletedAttachmentUploads) ||\n //error message exists\n hasError || disabled\n );\n};\n/**\n * @internal\n */\nexport const toAttachmentMetadata = (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined): AttachmentMetadata[] | undefined => {\n return attachmentsWithProgress?.filter(attachment => {\n return !('error' in attachment) && !attachment.error?.message;\n }).map(attachment => {\n return {\n id: attachment.id,\n name: attachment.name,\n url: attachment.url ?? ''\n };\n });\n};\n\n/**\n * @internal\n */\nexport const modifyInlineImagesInContentString = async (content: string, initialInlineImages: Record<string, string>[], onCompleted?: (content: string) => void): Promise<void> => {\n let newContent = content;\n try {\n newContent = await updateStylesOfInlineImages(content, initialInlineImages);\n } catch (error) {\n console.error('Error updating inline images: ', error);\n }\n onCompleted?.(newContent);\n};\n/**\n * @internal\n */\nexport const removeBrokenImageContentAndClearImageSizeStyles = (content: string): string => {\n const document = new DOMParser().parseFromString(content, 'text/html');\n document.querySelectorAll('img').forEach(img => {\n // Before submitting/resend the message, we need to trim the unnecessary attributes such as src,\n // which is set to a local svg of a broken image icon at this point.\n // Once message is submitted/resent, it will be fetched again and might not be a broken image anymore,\n // That's why we need to remove the class and data-ui-id attribute of 'broken-image-wrapper'\n if (img.className === 'broken-image-wrapper') {\n img.removeAttribute('class');\n img.removeAttribute('src');\n img.removeAttribute('data-ui-id');\n }\n // Clear maxWidth and maxHeight styles that are set by roosterJS.\n // Clear width and height styles as the width and height is set in attributes\n // This is so that they can be set in messageThread styles without using the important flag.\n img.style.width = '';\n img.style.height = '';\n img.style.maxWidth = '';\n img.style.maxHeight = '';\n });\n return document.body.innerHTML;\n};\n/**\n * @internal\n */\nexport const getContentWithUpdatedInlineImagesInfo = (content: string, inlineImageWithProgress: AttachmentMetadataInProgress[]): string => {\n if (!inlineImageWithProgress || inlineImageWithProgress.length <= 0) {\n return content;\n }\n const document = new DOMParser().parseFromString(content, 'text/html');\n document.querySelectorAll('img').forEach(img => {\n const imageId = img.id;\n const inlineImage = inlineImageWithProgress.find(image => !image.error && image.progress === 1 && image.id === imageId);\n if (inlineImage) {\n img.id = inlineImage.id;\n img.src = inlineImage.url || img.src;\n }\n });\n return document.body.innerHTML;\n};"]}
1
+ {"version":3,"file":"SendBoxUtils.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/SendBoxUtils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAC9C,MAAM,mBAAmB,GAAG,OAAO,CAAC;AACpC;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAW,EAAE;IAC/D,OAAO,WAAW,GAAG,yBAAyB,CAAC;AACjD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAC1C,UAAU,EACV,QAAQ,EACR,QAAQ,EAKT,EAAW,EAAE;IACZ,OAAO;IACL,aAAa;IACb,CAAC,UAAU;QACX,sBAAsB;QACtB,QAAQ,IAAI,QAAQ,CACrB,CAAC;AACJ,CAAC,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAO,OAAe,EAAE,mBAA6C,EAAE,WAAuC,EAAiB,EAAE;IAChL,IAAI,UAAU,GAAG,OAAO,CAAC;IACzB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,UAAU,CAAC,CAAC;AAC5B,CAAC,CAAA,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * @private\n */\nexport const MAXIMUM_LENGTH_OF_MESSAGE = 8000;\nconst EMPTY_MESSAGE_REGEX = /^\\s*$/;\n/**\n * @private\n */\nexport const isMessageTooLong = (valueLength: number): boolean => {\n return valueLength > MAXIMUM_LENGTH_OF_MESSAGE;\n};\n\n/**\n * @private\n */\nexport const sanitizeText = (message: string): string => {\n if (EMPTY_MESSAGE_REGEX.test(message)) {\n return '';\n } else {\n return message;\n }\n};\n\n/**\n * Determines whether the send box should be disabled for ARIA accessibility.\n *\n * @param hasContent - Indicates whether the send box has content.\n * @param hasCompletedAttachmentUploads - Indicates whether attachment uploads have completed.\n * @param hasError - Indicates whether there is an error.\n * @param disabled - Indicates whether the send box is disabled.\n * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility.\n */\nexport const isSendBoxButtonAriaDisabled = ({\n hasContent,\n hasError,\n disabled\n}: {\n hasContent: boolean;\n hasError: boolean;\n disabled: boolean;\n}): boolean => {\n return (\n // no content\n !hasContent ||\n //error message exists\n hasError || disabled\n );\n};\n/**\n * @internal\n */\nexport const modifyInlineImagesInContentString = async (content: string, initialInlineImages: Record<string, string>[], onCompleted?: (content: string) => void): Promise<void> => {\n let newContent = content;\n onCompleted?.(newContent);\n};"]}
@@ -1,12 +1,10 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { useLocale } from '../../localization';
4
3
  /**
5
4
  * Conditionally modify locale strings passed to the attachment card
6
5
  * @returns attachment card strings
7
6
  */
8
7
  export const useLocaleAttachmentCardStringsTrampoline = () => {
9
- return useLocale().strings.sendBox;
10
8
  return {
11
9
  removeAttachment: '',
12
10
  uploadCompleted: '',
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/common.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C;;;GAGG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,GAAkC,EAAE;IAC1F,OAAO,SAAS,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,OAAO;QACL,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,EAAE;QACb,kBAAkB,EAAE,EAAE;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,gBAAmC,EAAW,EAAE;IAC/F,OAAO,CAAC,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAClH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _AttachmentUploadCardsStrings } from '../Attachment/AttachmentUploadCards';\nimport { useLocale } from '../../localization';\nimport { ParticipantState } from '../../types';\n\n/**\n * Conditionally modify locale strings passed to the attachment card\n * @returns attachment card strings\n */\nexport const useLocaleAttachmentCardStringsTrampoline = (): _AttachmentUploadCardsStrings => {\n return useLocale().strings.sendBox;\n return {\n removeAttachment: '',\n uploadCompleted: '',\n uploading: '',\n attachmentMoreMenu: ''\n };\n};\n\n/**\n * Identify if a participant state if part of the Calling states or Hold states.\n */\nexport const _isParticipantStateCallingOrHold = (participantState?: ParticipantState): boolean => {\n return !!participantState && ['Idle', 'Connecting', 'EarlyMedia', 'Ringing', 'Hold'].includes(participantState);\n};"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/common.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;;GAGG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,GAAkC,EAAE;IAC1F,OAAO;QACL,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,EAAE;QACb,kBAAkB,EAAE,EAAE;KACvB,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,gBAAmC,EAAW,EAAE;IAC/F,OAAO,CAAC,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAClH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _AttachmentUploadCardsStrings } from '../Attachment/AttachmentUploadCards';\nimport { ParticipantState } from '../../types';\n\n/**\n * Conditionally modify locale strings passed to the attachment card\n * @returns attachment card strings\n */\nexport const useLocaleAttachmentCardStringsTrampoline = (): _AttachmentUploadCardsStrings => {\n return {\n removeAttachment: '',\n uploadCompleted: '',\n uploading: '',\n attachmentMoreMenu: ''\n };\n};\n\n/**\n * Identify if a participant state if part of the Calling states or Hold states.\n */\nexport const _isParticipantStateCallingOrHold = (participantState?: ParticipantState): boolean => {\n return !!participantState && ['Idle', 'Connecting', 'EarlyMedia', 'Ringing', 'Hold'].includes(participantState);\n};"]}
@@ -1,5 +1,4 @@
1
1
  import { ChatMessage, ReadReceiptsBySenderId } from '../..';
2
- import { BlockedMessage } from '../../types/ChatMessage';
3
2
  /**
4
3
  * @private
5
4
  *logic: Looking at message A, how do we know it's read number?
@@ -14,7 +13,7 @@ import { BlockedMessage } from '../../types/ChatMessage';
14
13
  *
15
14
  * if MessageId of B is larger than message Id of A, then B is created after A
16
15
  * if the last read message is created after the message A is sent, then user should have read message A as well */
17
- declare const _default: (message: ChatMessage | BlockedMessage, readReceiptsBySenderId: ReadReceiptsBySenderId) => {
16
+ declare const _default: (message: ChatMessage, readReceiptsBySenderId: ReadReceiptsBySenderId) => {
18
17
  id: string;
19
18
  displayName: string;
20
19
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"getParticipantsWhoHaveReadMessage.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;;;;;;;;;;;;mHAamH;AACnH,eAAe,CAAC,CAAC,OAAqC,EAAE,sBAA8C,EAGlG,EAAE;IACJ,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC7C,0IAA0I;QAC1I,6DAA6D;SAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;QAC/E,gDAAgD;QAChD,6DAA6D;SAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,CAAC;QACxF,iCAAiC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE;QACF,WAAW,EAAE,WAAW,CAAC,WAAW;KACrC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatMessage, ReadReceiptsBySenderId } from '../..';\nimport { BlockedMessage } from '../../types/ChatMessage';\n\n/**\n * @private\n *logic: Looking at message A, how do we know it's read number?\n * Assumption: if user read the latest message, user has read all messages before that\n * ReadReceipt behaviour: read receipt is only sent to the last message\n *\n * If participant read a message that is sent later than message A, then the participant has read message A\n * How do we check if the message is sent later than message A?\n * We compare if the messageID of the last read message is larger than or equal to the message A's id\n * Because messageID is the creation timestamp of each message\n * Timestamps are in epoch time so lecixographical ordering is the same as time ordering.\n *\n * if MessageId of B is larger than message Id of A, then B is created after A\n * if the last read message is created after the message A is sent, then user should have read message A as well */\nexport default ((message: ChatMessage | BlockedMessage, readReceiptsBySenderId: ReadReceiptsBySenderId): {\n id: string;\n displayName: string;\n}[] => {\n return Object.entries(readReceiptsBySenderId)\n // Filter to only read receipts that match the message OR the participant has read a different message after this message has been created\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .filter(([_, readReceipt]) => readReceipt.lastReadMessage >= message.messageId)\n // make sure the person is not removed from chat\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .filter(([_, readReceipt]) => readReceipt.displayName && readReceipt.displayName !== '')\n // Map properties to useful array\n .map(([id, readReceipt]) => ({\n id,\n displayName: readReceipt.displayName\n }));\n});"]}
1
+ {"version":3,"file":"getParticipantsWhoHaveReadMessage.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC;;;;;;;;;;;;;mHAamH;AACnH,eAAe,CAAC,CAAC,OAAoB,EAAE,sBAA8C,EAGjF,EAAE;IACJ,OAAO,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC;QAC7C,0IAA0I;QAC1I,6DAA6D;SAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC;QAC/E,gDAAgD;QAChD,6DAA6D;SAC5D,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,CAAC;QACxF,iCAAiC;SAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3B,EAAE;QACF,WAAW,EAAE,WAAW,CAAC,WAAW;KACrC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ChatMessage, ReadReceiptsBySenderId } from '../..';\n/**\n * @private\n *logic: Looking at message A, how do we know it's read number?\n * Assumption: if user read the latest message, user has read all messages before that\n * ReadReceipt behaviour: read receipt is only sent to the last message\n *\n * If participant read a message that is sent later than message A, then the participant has read message A\n * How do we check if the message is sent later than message A?\n * We compare if the messageID of the last read message is larger than or equal to the message A's id\n * Because messageID is the creation timestamp of each message\n * Timestamps are in epoch time so lecixographical ordering is the same as time ordering.\n *\n * if MessageId of B is larger than message Id of A, then B is created after A\n * if the last read message is created after the message A is sent, then user should have read message A as well */\nexport default ((message: ChatMessage, readReceiptsBySenderId: ReadReceiptsBySenderId): {\n id: string;\n displayName: string;\n}[] => {\n return Object.entries(readReceiptsBySenderId)\n // Filter to only read receipts that match the message OR the participant has read a different message after this message has been created\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .filter(([_, readReceipt]) => readReceipt.lastReadMessage >= message.messageId)\n // make sure the person is not removed from chat\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .filter(([_, readReceipt]) => readReceipt.displayName && readReceipt.displayName !== '')\n // Map properties to useful array\n .map(([id, readReceipt]) => ({\n id,\n displayName: readReceipt.displayName\n }));\n});"]}
@@ -272,7 +272,6 @@ export const customNotificationIconName = {
272
272
  callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',
273
273
  callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',
274
274
  callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied',
275
- mutedByRemoteParticipant: 'ErrorBarMutedByRemoteParticipant',
276
275
  speakingWhileMuted: 'ErrorBarCallMicrophoneMutedBySystem',
277
276
  recordingStarted: 'NotificationBarRecording',
278
277
  transcriptionStarted: 'NotificationBarRecording',
@@ -281,12 +280,7 @@ export const customNotificationIconName = {
281
280
  recordingAndTranscriptionStarted: 'NotificationBarRecording',
282
281
  recordingAndTranscriptionStopped: 'NotificationBarRecording',
283
282
  recordingStoppedStillTranscribing: 'NotificationBarRecording',
284
- transcriptionStoppedStillRecording: 'NotificationBarRecording',
285
- assignedBreakoutRoomOpened: 'NotificationBarBreakoutRoomOpened',
286
- assignedBreakoutRoomOpenedPromptJoin: 'NotificationBarBreakoutRoomPromptJoin',
287
- assignedBreakoutRoomChanged: 'NotificationBarBreakoutRoomChanged',
288
- breakoutRoomJoined: 'NotificationBarBreakoutRoomJoined',
289
- breakoutRoomClosingSoon: 'NotificationBarBreakoutRoomClosingSoon'
283
+ transcriptionStoppedStillRecording: 'NotificationBarRecording'
290
284
  };
291
285
  /**
292
286
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IIconProps, MessageBarType } from '@fluentui/react';\nimport { ActiveErrorMessage, ErrorType } from './ErrorBar';\nimport { _SupportedSpokenLanguage } from '../types';\nimport { ActiveNotification, NotificationType } from './NotificationStack';\n\n/**\n * @private\n *\n * @param fileName\n * @param length\n * @returns string\n */\nexport const truncatedFileName = (fileName: string, length: number): string => {\n return fileName.substring(0, length).trimEnd() + (fileName.length > length ? '... ' : '');\n};\n\n/**\n * @private\n *\n * @param fileName\n * @returns string\n */\nexport const extension = (fileName: string): string => fileName.split('.').pop() || '';\n\n/**\n * @private\n */\nexport interface DismissedError {\n type: ErrorType;\n dismissedAt: Date;\n activeSince?: Date;\n}\n\n/**\n * @private\n */\nexport interface DismissedNotification {\n type: NotificationType;\n dismissedAt: Date;\n activeSince?: Date;\n}\n\n/**\n * @private\n * @param dismissedErrors\n * @param toDismiss\n * @returns DismissedError[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissError = (dismissedErrors: DismissedError[], toDismiss: ActiveErrorMessage): DismissedError[] => {\n const now = new Date(Date.now());\n for (const error of dismissedErrors) {\n if (error.type === toDismiss.type) {\n // Bump the timestamp for latest dismissal of this error to now.\n error.dismissedAt = now;\n error.activeSince = toDismiss.timestamp;\n return Array.from(dismissedErrors);\n }\n }\n const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n // Record that this error was dismissed for the first time right now.\n return [...dismissedErrors, {\n type: toDismiss.type,\n // the error time could be sometimes later than the button click time, which cause the dismiss not working\n // so we set the dismiss time to the later one\n dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n activeSince: toDismiss.timestamp\n }];\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns DismissedError[]\n * Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveErrors = (activeErrorMessages: ActiveErrorMessage[], dismissedErrors: DismissedError[]): DismissedError[] => {\n const active = new Map();\n for (const message of activeErrorMessages) {\n active.set(message.type, message);\n }\n\n // For an error such that:\n // * It was previously active, and dismissed.\n // * It did not have a timestamp associated with it.\n // * It is no longer active.\n //\n // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n const shouldDeleteDismissal = (dismissed: DismissedError): boolean => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n if (dismissedErrors.some(dismissed => shouldDeleteDismissal(dismissed))) {\n return dismissedErrors.filter(dismissed => !shouldDeleteDismissal(dismissed));\n }\n return dismissedErrors;\n};\n\n/**\n * @private\n * @param dismissedNotifications\n * @param toDismiss\n * @returns DismissedNotification[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissNotification = (dismissedNotifications: DismissedNotification[], toDismiss: ActiveNotification): DismissedNotification[] => {\n const now = new Date(Date.now());\n for (const notification of dismissedNotifications) {\n if (notification.type === toDismiss.type) {\n // Bump the timestamp for latest dismissal of this error to now.\n notification.dismissedAt = now;\n notification.activeSince = toDismiss.timestamp;\n return Array.from(dismissedNotifications);\n }\n }\n const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n // Record that this error was dismissed for the first time right now.\n return [...dismissedNotifications, {\n type: toDismiss.type,\n // the error time could be sometimes later than the button click time, which cause the dismiss not working\n // so we set the dismiss time to the later one\n dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n activeSince: toDismiss.timestamp\n }];\n};\n\n/**\n * @private\n * @param activeNotifications\n * @param dismissedNotifications\n * @returns DismissedError[]\n * Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveNotifications = (activeNotifications: ActiveNotification[], dismissedNotifications: DismissedNotification[]): DismissedNotification[] => {\n const active = new Map();\n for (const message of activeNotifications) {\n active.set(message.type, message);\n }\n\n // For an error such that:\n // * It was previously active, and dismissed.\n // * It did not have a timestamp associated with it.\n // * It is no longer active.\n //\n // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n const shouldDeleteDismissal = (dismissed: DismissedNotification): boolean => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n if (dismissedNotifications.some(dismissed => shouldDeleteDismissal(dismissed))) {\n return dismissedNotifications.filter(dismissed => !shouldDeleteDismissal(dismissed));\n }\n return dismissedNotifications;\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns ActiveErrorMessage[]\n */\nexport const errorsToShow = (activeErrorMessages: ActiveErrorMessage[], dismissedErrors: DismissedError[], mountTimestamp?: Date): ActiveErrorMessage[] => {\n const dismissed: Map<ErrorType, DismissedError> = new Map();\n for (const error of dismissedErrors) {\n dismissed.set(error.type, error);\n }\n return activeErrorMessages.filter(error => {\n if (mountTimestamp && error.timestamp && mountTimestamp > error.timestamp) {\n // Error has a timestamp and it is older than when the component was mounted.\n return false;\n }\n const dismissal = dismissed.get(error.type);\n if (!dismissal) {\n // This error was never dismissed.\n return true;\n }\n if (!error.timestamp) {\n // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n return false;\n }\n // Error has an associated timestamp, so compare with last dismissal.\n return error.timestamp > dismissal.dismissedAt;\n });\n};\n\n/**\n * @private\n * @param activeNotifications\n * @param dismissedNotifications\n * @returns ActiveNotification[]\n */\nexport const notificationsToShow = (activeNotifications: ActiveNotification[], dismissedNotifications: DismissedNotification[], mountTimestamp?: Date): ActiveNotification[] => {\n const dismissed: Map<NotificationType, DismissedNotification> = new Map();\n for (const notification of dismissedNotifications) {\n dismissed.set(notification.type, notification);\n }\n return activeNotifications.filter(notification => {\n if (mountTimestamp && notification.timestamp && mountTimestamp > notification.timestamp) {\n // Notification has a timestamp and it is older than when the component was mounted.\n return false;\n }\n const dismissal = dismissed.get(notification.type);\n if (!dismissal) {\n // This error was never dismissed.\n return true;\n }\n if (!notification.timestamp) {\n // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n return false;\n }\n // Error has an associated timestamp, so compare with last dismissal.\n return notification.timestamp > dismissal.dismissedAt;\n });\n};\n\n/**\n * @private\n * @param errorType\n * @returns MessageBarType\n */\nexport const messageBarType = (errorType: ErrorType): MessageBarType => {\n switch (errorType) {\n case 'callNetworkQualityLow':\n case 'callNoSpeakerFound':\n case 'callNoMicrophoneFound':\n case 'callMicrophoneAccessDenied':\n case 'callMicrophoneAccessDeniedSafari':\n case 'callMicrophoneMutedBySystem':\n case 'callMicrophoneUnmutedBySystem':\n case 'callMacOsMicrophoneAccessDenied':\n case 'callLocalVideoFreeze':\n case 'callCameraAccessDenied':\n case 'callCameraAccessDeniedSafari':\n case 'callCameraAlreadyInUse':\n case 'callVideoStoppedBySystem':\n case 'callVideoRecoveredBySystem':\n case 'callMacOsCameraAccessDenied':\n case 'callMacOsScreenShareAccessDenied':\n case 'startScreenShareGeneric':\n case 'cameraFrozenForRemoteParticipants':\n return MessageBarType.warning;\n default:\n return MessageBarType.error;\n }\n};\n\n/**\n * @private\n * @param errorType\n * @returns IIconProps | undefined\n */\nexport const messageBarIconProps = (errorType: ErrorType): IIconProps | undefined => {\n const iconName = customIconName[errorType];\n return iconName ? {\n iconName\n } : undefined;\n};\n\n/**\n * @private\n */\nexport const customIconName: Partial<{ [key in ErrorType]: string }> = {\n callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied'\n};\n\n/**\n * @private\n * @param NotificationType\n * @returns IIconProps | undefined\n */\nexport const NotificationIconProps = (notificationType: NotificationType): IIconProps | undefined => {\n const iconName = customNotificationIconName[notificationType];\n return iconName ? {\n iconName\n } : undefined;\n};\n\n/**\n * @private\n */\nexport const customNotificationIconName: Partial<{ [key in NotificationType]: string }> = {\n callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n teamsMeetingCallNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied',\n mutedByRemoteParticipant: 'ErrorBarMutedByRemoteParticipant',\n speakingWhileMuted: 'ErrorBarCallMicrophoneMutedBySystem',\n recordingStarted: 'NotificationBarRecording',\n transcriptionStarted: 'NotificationBarRecording',\n recordingStopped: 'NotificationBarRecording',\n transcriptionStopped: 'NotificationBarRecording',\n recordingAndTranscriptionStarted: 'NotificationBarRecording',\n recordingAndTranscriptionStopped: 'NotificationBarRecording',\n recordingStoppedStillTranscribing: 'NotificationBarRecording',\n transcriptionStoppedStillRecording: 'NotificationBarRecording',\n assignedBreakoutRoomOpened: 'NotificationBarBreakoutRoomOpened',\n assignedBreakoutRoomOpenedPromptJoin: 'NotificationBarBreakoutRoomPromptJoin',\n assignedBreakoutRoomChanged: 'NotificationBarBreakoutRoomChanged',\n breakoutRoomJoined: 'NotificationBarBreakoutRoomJoined',\n breakoutRoomClosingSoon: 'NotificationBarBreakoutRoomClosingSoon'\n};\n\n/**\n * @private\n */\nexport const isValidString = (string: string | undefined): string is string => {\n return !!string && string.length > 0;\n};\n\n/**\n * Chunk an array into rows of a given size.\n * @private\n */\nexport function chunk<T>(options: T[], itemsPerRow: number): T[][] {\n const rows: T[][] = [];\n let currentRow: T[] = [];\n for (const option of options) {\n currentRow.push(option);\n if (currentRow.length === itemsPerRow) {\n rows.push(currentRow);\n currentRow = [];\n }\n }\n if (currentRow.length > 0) {\n rows.push(currentRow);\n }\n return rows;\n}\n\n/**\n * @private\n */\nexport const defaultSpokenLanguage: _SupportedSpokenLanguage = 'en-us';\n\n/**\n * @private\n */\nconst SAFARI_COMPOSITION_KEYCODE = 229;\n/**\n * Determine if the press of the enter key is from a composition session or not (Safari only)\n *\n * @private\n */\nexport const isEnterKeyEventFromCompositionSession = (e: KeyboardEvent): boolean =>\n// Uses KeyCode 229 and which code 229 to determine if the press of the enter key is from a composition session or not (Safari only)\ne.isComposing || e.keyCode === SAFARI_COMPOSITION_KEYCODE || e.which === SAFARI_COMPOSITION_KEYCODE;\n\n/**\n * @private\n */\nexport const nullToUndefined = <T,>(value: T | null): T | undefined => value === null ? undefined : value;"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IIconProps, MessageBarType } from '@fluentui/react';\nimport { ActiveErrorMessage, ErrorType } from './ErrorBar';\nimport { _SupportedSpokenLanguage } from '../types';\nimport { ActiveNotification, NotificationType } from './NotificationStack';\n\n/**\n * @private\n *\n * @param fileName\n * @param length\n * @returns string\n */\nexport const truncatedFileName = (fileName: string, length: number): string => {\n return fileName.substring(0, length).trimEnd() + (fileName.length > length ? '... ' : '');\n};\n\n/**\n * @private\n *\n * @param fileName\n * @returns string\n */\nexport const extension = (fileName: string): string => fileName.split('.').pop() || '';\n\n/**\n * @private\n */\nexport interface DismissedError {\n type: ErrorType;\n dismissedAt: Date;\n activeSince?: Date;\n}\n\n/**\n * @private\n */\nexport interface DismissedNotification {\n type: NotificationType;\n dismissedAt: Date;\n activeSince?: Date;\n}\n\n/**\n * @private\n * @param dismissedErrors\n * @param toDismiss\n * @returns DismissedError[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissError = (dismissedErrors: DismissedError[], toDismiss: ActiveErrorMessage): DismissedError[] => {\n const now = new Date(Date.now());\n for (const error of dismissedErrors) {\n if (error.type === toDismiss.type) {\n // Bump the timestamp for latest dismissal of this error to now.\n error.dismissedAt = now;\n error.activeSince = toDismiss.timestamp;\n return Array.from(dismissedErrors);\n }\n }\n const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n // Record that this error was dismissed for the first time right now.\n return [...dismissedErrors, {\n type: toDismiss.type,\n // the error time could be sometimes later than the button click time, which cause the dismiss not working\n // so we set the dismiss time to the later one\n dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n activeSince: toDismiss.timestamp\n }];\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns DismissedError[]\n * Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveErrors = (activeErrorMessages: ActiveErrorMessage[], dismissedErrors: DismissedError[]): DismissedError[] => {\n const active = new Map();\n for (const message of activeErrorMessages) {\n active.set(message.type, message);\n }\n\n // For an error such that:\n // * It was previously active, and dismissed.\n // * It did not have a timestamp associated with it.\n // * It is no longer active.\n //\n // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n const shouldDeleteDismissal = (dismissed: DismissedError): boolean => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n if (dismissedErrors.some(dismissed => shouldDeleteDismissal(dismissed))) {\n return dismissedErrors.filter(dismissed => !shouldDeleteDismissal(dismissed));\n }\n return dismissedErrors;\n};\n\n/**\n * @private\n * @param dismissedNotifications\n * @param toDismiss\n * @returns DismissedNotification[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissNotification = (dismissedNotifications: DismissedNotification[], toDismiss: ActiveNotification): DismissedNotification[] => {\n const now = new Date(Date.now());\n for (const notification of dismissedNotifications) {\n if (notification.type === toDismiss.type) {\n // Bump the timestamp for latest dismissal of this error to now.\n notification.dismissedAt = now;\n notification.activeSince = toDismiss.timestamp;\n return Array.from(dismissedNotifications);\n }\n }\n const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n // Record that this error was dismissed for the first time right now.\n return [...dismissedNotifications, {\n type: toDismiss.type,\n // the error time could be sometimes later than the button click time, which cause the dismiss not working\n // so we set the dismiss time to the later one\n dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n activeSince: toDismiss.timestamp\n }];\n};\n\n/**\n * @private\n * @param activeNotifications\n * @param dismissedNotifications\n * @returns DismissedError[]\n * Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveNotifications = (activeNotifications: ActiveNotification[], dismissedNotifications: DismissedNotification[]): DismissedNotification[] => {\n const active = new Map();\n for (const message of activeNotifications) {\n active.set(message.type, message);\n }\n\n // For an error such that:\n // * It was previously active, and dismissed.\n // * It did not have a timestamp associated with it.\n // * It is no longer active.\n //\n // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n const shouldDeleteDismissal = (dismissed: DismissedNotification): boolean => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n if (dismissedNotifications.some(dismissed => shouldDeleteDismissal(dismissed))) {\n return dismissedNotifications.filter(dismissed => !shouldDeleteDismissal(dismissed));\n }\n return dismissedNotifications;\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns ActiveErrorMessage[]\n */\nexport const errorsToShow = (activeErrorMessages: ActiveErrorMessage[], dismissedErrors: DismissedError[], mountTimestamp?: Date): ActiveErrorMessage[] => {\n const dismissed: Map<ErrorType, DismissedError> = new Map();\n for (const error of dismissedErrors) {\n dismissed.set(error.type, error);\n }\n return activeErrorMessages.filter(error => {\n if (mountTimestamp && error.timestamp && mountTimestamp > error.timestamp) {\n // Error has a timestamp and it is older than when the component was mounted.\n return false;\n }\n const dismissal = dismissed.get(error.type);\n if (!dismissal) {\n // This error was never dismissed.\n return true;\n }\n if (!error.timestamp) {\n // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n return false;\n }\n // Error has an associated timestamp, so compare with last dismissal.\n return error.timestamp > dismissal.dismissedAt;\n });\n};\n\n/**\n * @private\n * @param activeNotifications\n * @param dismissedNotifications\n * @returns ActiveNotification[]\n */\nexport const notificationsToShow = (activeNotifications: ActiveNotification[], dismissedNotifications: DismissedNotification[], mountTimestamp?: Date): ActiveNotification[] => {\n const dismissed: Map<NotificationType, DismissedNotification> = new Map();\n for (const notification of dismissedNotifications) {\n dismissed.set(notification.type, notification);\n }\n return activeNotifications.filter(notification => {\n if (mountTimestamp && notification.timestamp && mountTimestamp > notification.timestamp) {\n // Notification has a timestamp and it is older than when the component was mounted.\n return false;\n }\n const dismissal = dismissed.get(notification.type);\n if (!dismissal) {\n // This error was never dismissed.\n return true;\n }\n if (!notification.timestamp) {\n // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n return false;\n }\n // Error has an associated timestamp, so compare with last dismissal.\n return notification.timestamp > dismissal.dismissedAt;\n });\n};\n\n/**\n * @private\n * @param errorType\n * @returns MessageBarType\n */\nexport const messageBarType = (errorType: ErrorType): MessageBarType => {\n switch (errorType) {\n case 'callNetworkQualityLow':\n case 'callNoSpeakerFound':\n case 'callNoMicrophoneFound':\n case 'callMicrophoneAccessDenied':\n case 'callMicrophoneAccessDeniedSafari':\n case 'callMicrophoneMutedBySystem':\n case 'callMicrophoneUnmutedBySystem':\n case 'callMacOsMicrophoneAccessDenied':\n case 'callLocalVideoFreeze':\n case 'callCameraAccessDenied':\n case 'callCameraAccessDeniedSafari':\n case 'callCameraAlreadyInUse':\n case 'callVideoStoppedBySystem':\n case 'callVideoRecoveredBySystem':\n case 'callMacOsCameraAccessDenied':\n case 'callMacOsScreenShareAccessDenied':\n case 'startScreenShareGeneric':\n case 'cameraFrozenForRemoteParticipants':\n return MessageBarType.warning;\n default:\n return MessageBarType.error;\n }\n};\n\n/**\n * @private\n * @param errorType\n * @returns IIconProps | undefined\n */\nexport const messageBarIconProps = (errorType: ErrorType): IIconProps | undefined => {\n const iconName = customIconName[errorType];\n return iconName ? {\n iconName\n } : undefined;\n};\n\n/**\n * @private\n */\nexport const customIconName: Partial<{ [key in ErrorType]: string }> = {\n callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied'\n};\n\n/**\n * @private\n * @param NotificationType\n * @returns IIconProps | undefined\n */\nexport const NotificationIconProps = (notificationType: NotificationType): IIconProps | undefined => {\n const iconName = customNotificationIconName[notificationType];\n return iconName ? {\n iconName\n } : undefined;\n};\n\n/**\n * @private\n */\nexport const customNotificationIconName: Partial<{ [key in NotificationType]: string }> = {\n callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n teamsMeetingCallNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied',\n speakingWhileMuted: 'ErrorBarCallMicrophoneMutedBySystem',\n recordingStarted: 'NotificationBarRecording',\n transcriptionStarted: 'NotificationBarRecording',\n recordingStopped: 'NotificationBarRecording',\n transcriptionStopped: 'NotificationBarRecording',\n recordingAndTranscriptionStarted: 'NotificationBarRecording',\n recordingAndTranscriptionStopped: 'NotificationBarRecording',\n recordingStoppedStillTranscribing: 'NotificationBarRecording',\n transcriptionStoppedStillRecording: 'NotificationBarRecording'\n};\n\n/**\n * @private\n */\nexport const isValidString = (string: string | undefined): string is string => {\n return !!string && string.length > 0;\n};\n\n/**\n * Chunk an array into rows of a given size.\n * @private\n */\nexport function chunk<T>(options: T[], itemsPerRow: number): T[][] {\n const rows: T[][] = [];\n let currentRow: T[] = [];\n for (const option of options) {\n currentRow.push(option);\n if (currentRow.length === itemsPerRow) {\n rows.push(currentRow);\n currentRow = [];\n }\n }\n if (currentRow.length > 0) {\n rows.push(currentRow);\n }\n return rows;\n}\n\n/**\n * @private\n */\nexport const defaultSpokenLanguage: _SupportedSpokenLanguage = 'en-us';\n\n/**\n * @private\n */\nconst SAFARI_COMPOSITION_KEYCODE = 229;\n/**\n * Determine if the press of the enter key is from a composition session or not (Safari only)\n *\n * @private\n */\nexport const isEnterKeyEventFromCompositionSession = (e: KeyboardEvent): boolean =>\n// Uses KeyCode 229 and which code 229 to determine if the press of the enter key is from a composition session or not (Safari only)\ne.isComposing || e.keyCode === SAFARI_COMPOSITION_KEYCODE || e.which === SAFARI_COMPOSITION_KEYCODE;\n\n/**\n * @private\n */\nexport const nullToUndefined = <T,>(value: T | null): T | undefined => value === null ? undefined : value;"]}
@@ -45,10 +45,6 @@ export interface _Identifiers {
45
45
  verticalGalleryVideoTile: string;
46
46
  /** `data-ui-id` value for `VerticalGallery` Component's page counter */
47
47
  verticalGalleryPageCounter: string;
48
- /** `data-ui-id` value for `MentionPopover` Component's suggestion list */
49
- mentionSuggestionList: string;
50
- /** `data-ui-id` value for `MentionPopover` Component's suggestion list item */
51
- mentionSuggestionItem: string;
52
48
  }
53
49
  /**
54
50
  * @private
@@ -17,9 +17,7 @@ const defaultIdentifiers = {
17
17
  overflowGalleryRightNavButton: 'overflow-gallery-right-nav-button',
18
18
  verticalGalleryVideoTile: 'vertical-gallery-video-tile',
19
19
  horizontalGalleryVideoTile: 'horizontal-gallery-video-tile',
20
- verticalGalleryPageCounter: 'vertical-gallery-page-counter',
21
- mentionSuggestionList: 'mention-suggestion-list',
22
- mentionSuggestionItem: 'mention-suggestion-item'
20
+ verticalGalleryPageCounter: 'vertical-gallery-page-counter'
23
21
  };
24
22
  /**
25
23
  * @private