@azure/communication-react 1.16.0-alpha-202405080011 → 1.16.0-alpha-202405132302

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 (203) hide show
  1. package/dist/communication-react.d.ts +109 -117
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-MqUGJDlB.js → ChatMessageComponentAsRichTextEditBox-Vvv1aBkI.js} +23 -14
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-Vvv1aBkI.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{index-CY4kAQ6s.js → index-DdWRffLC.js} +742 -906
  5. package/dist/dist-cjs/communication-react/index-DdWRffLC.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/common.d.ts +74 -0
  8. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.d.ts +2 -0
  10. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts +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/hooks/usePropsFor.d.ts +1 -1
  15. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +24 -4
  16. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  17. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +3 -6
  18. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +43 -26
  19. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  20. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +0 -2
  21. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  22. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.d.ts +1 -1
  23. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.d.ts +1 -1
  24. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.d.ts +1 -1
  25. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.d.ts +1 -1
  26. package/dist/dist-esm/communication-react/src/index.d.ts +5 -3
  27. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  28. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.d.ts +1 -1
  29. package/dist/dist-esm/react-components/src/components/{AttachmentCard.d.ts → Attachment/AttachmentCard.d.ts} +3 -2
  30. package/dist/dist-esm/react-components/src/components/{AttachmentCard.js → Attachment/AttachmentCard.js} +17 -16
  31. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -0
  32. package/dist/dist-esm/react-components/src/components/{AttachmentCardGroup.js → Attachment/AttachmentCardGroup.js} +1 -1
  33. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -0
  34. package/dist/dist-esm/react-components/src/components/{AttachmentDownloadCards.d.ts → Attachment/AttachmentDownloadCards.d.ts} +3 -2
  35. package/dist/dist-esm/react-components/src/components/{AttachmentDownloadCards.js → Attachment/AttachmentDownloadCards.js} +2 -2
  36. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -0
  37. package/dist/dist-esm/react-components/src/components/{AttachmentUploadCards.d.ts → Attachment/AttachmentUploadCards.d.ts} +3 -3
  38. package/dist/dist-esm/react-components/src/components/{AttachmentUploadCards.js → Attachment/AttachmentUploadCards.js} +3 -3
  39. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -0
  40. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  42. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +3 -2
  43. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -1
  45. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +3 -2
  47. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +2 -4
  49. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +21 -12
  50. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  51. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +2 -4
  52. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +2 -4
  54. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +25 -14
  55. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +6 -3
  57. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +31 -13
  58. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  59. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +3 -2
  60. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  61. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +29 -29
  62. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +6 -7
  63. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  64. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +28 -28
  65. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.d.ts +3 -3
  66. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +30 -23
  67. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +43 -27
  68. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  69. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +4 -4
  70. package/dist/dist-esm/react-components/src/components/SendBox.js +42 -17
  71. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  72. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +10 -10
  73. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +13 -13
  74. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +2 -2
  75. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +28 -28
  76. package/dist/dist-esm/react-components/src/components/index.d.ts +6 -6
  77. package/dist/dist-esm/react-components/src/components/index.js +3 -3
  78. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  79. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +4 -0
  80. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +4 -0
  81. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  82. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +0 -1
  83. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  84. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
  85. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  86. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +27 -2
  87. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +14 -2
  88. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  89. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +4 -3
  90. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +6 -5
  91. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  92. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js +18 -18
  93. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js.map +1 -1
  94. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +3 -3
  95. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +1 -1
  96. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  97. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
  98. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  99. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +18 -18
  100. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +18 -18
  101. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +18 -18
  102. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +18 -18
  103. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +38 -19
  104. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +18 -18
  105. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +18 -18
  106. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +18 -18
  107. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +18 -18
  108. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +18 -18
  109. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +18 -18
  110. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +18 -18
  111. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +18 -18
  112. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +18 -18
  113. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +18 -18
  114. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +18 -18
  115. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +18 -18
  116. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +18 -18
  117. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +18 -18
  118. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +18 -18
  119. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +18 -18
  120. package/dist/dist-esm/react-components/src/theming/icons.js +3 -3
  121. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +21 -49
  123. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  124. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  125. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  126. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +7 -6
  127. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +57 -30
  128. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  129. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +7 -0
  130. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  131. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +9 -4
  132. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  133. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +6 -6
  134. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +14 -14
  135. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +7 -7
  136. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +6 -2
  137. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +4 -0
  138. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  139. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  140. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +6 -6
  141. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -15
  142. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +5 -76
  143. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  144. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -23
  145. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  146. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -0
  147. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  148. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +5 -11
  149. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +22 -40
  150. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  151. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +2 -9
  152. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +3 -6
  153. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  154. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +73 -15
  155. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  156. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +4 -17
  157. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +29 -89
  158. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  159. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +6 -19
  160. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  161. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +0 -5
  162. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -31
  163. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  164. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +66 -61
  165. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +33 -44
  166. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  167. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +2 -2
  168. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  169. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +1 -8
  170. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  171. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +22 -10
  172. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  173. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +1 -2
  174. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  175. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +1 -1
  176. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  177. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.d.ts +2 -2
  178. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.d.ts +2 -2
  179. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +6 -6
  180. package/dist/dist-esm/react-composites/src/composites/common/Survey.d.ts +20 -7
  181. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.d.ts +1 -1
  182. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.d.ts +2 -2
  183. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +1 -1
  184. package/package.json +5 -5
  185. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-MqUGJDlB.js.map +0 -1
  186. package/dist/dist-cjs/communication-react/index-CY4kAQ6s.js.map +0 -1
  187. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +0 -1
  188. package/dist/dist-esm/react-components/src/components/AttachmentCardGroup.js.map +0 -1
  189. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +0 -1
  190. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +0 -1
  191. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +0 -48
  192. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +0 -188
  193. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +0 -1
  194. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  195. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  196. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  197. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.d.ts +0 -29
  198. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js +0 -12
  199. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js.map +0 -1
  200. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  201. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  202. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  203. /package/dist/dist-esm/react-components/src/components/{AttachmentCardGroup.d.ts → Attachment/AttachmentCardGroup.d.ts} +0 -0
@@ -217,13 +217,26 @@ export declare type AreParamEqual<A extends (props: any) => JSX.Element | undefi
217
217
  */
218
218
  export declare type AreTypeEqual<A, B> = A extends B ? (B extends A ? true : false) : false;
219
219
 
220
+ /**
221
+ * @beta
222
+ * A callback function that defines what actions user can perform on an attachment.
223
+ * By default, the UI library would have default actions that opens attachment URL in a new tab.
224
+ * You can override the default actions or add new actions by providing this callback function.
225
+ * Moreover, you can also return dynamic actions based on the properties in {@link AttachmentMetadata} and/or {@link ChatMessage}.
226
+ *
227
+ * @param attachment - The file attachment that user is trying to perform actions on.
228
+ * @param message - The chat message that contains this attachment.
229
+ * @returns A list of {@link AttachmentMenuAction} that defines the type of actions user can perform on the attachment.
230
+ */
231
+ export declare type AttachmentActionHandler = (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
232
+
220
233
  /**
221
234
  * @beta
222
235
  *
223
236
  * Attachment download options defines the list of actions that can be performed on an attachment.
224
237
  */
225
238
  export declare interface AttachmentDownloadOptions {
226
- actionsForAttachment: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
239
+ actionsForAttachment: AttachmentActionHandler;
227
240
  }
228
241
 
229
242
  /**
@@ -239,17 +252,14 @@ export declare interface AttachmentMenuAction {
239
252
  }
240
253
 
241
254
  /**
242
- * Metadata containing basic information about the attachment.
255
+ * Data model that represents a chat message attachment
256
+ * where it contains an ID to uniquely identify the attachment,
257
+ * a name that represents the name of file, and
258
+ * a URL to download the attachment.
243
259
  *
244
260
  * @beta
245
261
  */
246
262
  export declare interface AttachmentMetadata {
247
- /**
248
- * Extension hint, useful for rendering a specific icon.
249
- * An unknown or empty extension will be rendered as a generic icon.
250
- * Example: `pdf`
251
- */
252
- extension?: string;
253
263
  /**
254
264
  * Unique ID of the attachment.
255
265
  */
@@ -261,15 +271,33 @@ export declare interface AttachmentMetadata {
261
271
  /**
262
272
  * Download URL for the attachment.
263
273
  */
264
- url?: string;
274
+ url: string;
265
275
  }
266
276
 
267
277
  /**
268
- * Metadata containing basic information about the uploading attachment.
278
+ * Data model that represents a chat message attachment being uploaded
279
+ * where it contains an ID to uniquely identify the attachment,
280
+ * a name that represents the name of file,
281
+ * an optional URL to download the attachment,
282
+ * an optional progress value between 0 and 1 indicating the progress of the upload, and
283
+ * an optional error object that contains error message would be shown to the user.
284
+ *
269
285
  *
270
286
  * @beta
271
287
  */
272
- export declare interface AttachmentMetadataWithProgress extends AttachmentMetadata {
288
+ export declare interface AttachmentMetadataInProgress {
289
+ /**
290
+ * Unique ID of the attachment.
291
+ */
292
+ id: string;
293
+ /**
294
+ * Attachment name to be displayed.
295
+ */
296
+ name: string;
297
+ /**
298
+ * Download URL for the attachment.
299
+ */
300
+ url?: string;
273
301
  /**
274
302
  * A number between 0 and 1 indicating the progress of the upload.
275
303
  */
@@ -315,19 +343,6 @@ export declare type AttachmentRemovalHandler = (attachmentId: string) => void;
315
343
  */
316
344
  export declare type AttachmentSelectionHandler = (attachmentUploads: AttachmentUploadTask[]) => void;
317
345
 
318
- /**
319
- * @internal
320
- */
321
- export declare interface _AttachmentUploadAdapter {
322
- registerActiveUploads: (files: File[]) => AttachmentUploadTask[];
323
- registerCompletedUploads: (metadata: AttachmentMetadata[]) => AttachmentUploadTask[];
324
- clearUploads: () => void;
325
- cancelUpload: (id: string) => void;
326
- updateUploadProgress: (id: string, progress: number) => void;
327
- updateUploadStatusMessage: (id: string, errorMessage: string) => void;
328
- updateUploadMetadata: (id: string, metadata: AttachmentMetadata) => void;
329
- }
330
-
331
346
  /**
332
347
  * @beta
333
348
  */
@@ -363,12 +378,6 @@ export declare interface AttachmentUploadOptions {
363
378
  handleAttachmentRemoval?: AttachmentRemovalHandler;
364
379
  }
365
380
 
366
- /**
367
- * A record containing {@link AttachmentMetadata} mapped to unique attachment upload task ids.
368
- * @internal
369
- */
370
- export declare type _AttachmentUploadsUiState = Record<string, AttachmentMetadataWithProgress>;
371
-
372
381
  /**
373
382
  * A upload task represents and manages an attachment that is being uploaded.
374
383
  * When using the Composite, an attachment upload task is created for each file user is selected to upload.
@@ -1090,7 +1099,14 @@ export declare type CallAdapterClientState = {
1090
1099
  targetCallees?: CommunicationIdentifier[];
1091
1100
  devices: DeviceManagerState;
1092
1101
  endedCall?: CallState;
1102
+ /**
1103
+ * State to track whether the call is a teams call.
1104
+ */
1093
1105
  isTeamsCall: boolean;
1106
+ /**
1107
+ * State to track whether the call is a teams meeting.
1108
+ */
1109
+ isTeamsMeeting: boolean;
1094
1110
  /**
1095
1111
  * State to track whether the call is a rooms call.
1096
1112
  */
@@ -3322,13 +3338,7 @@ export declare interface CallWithChatAdapterManagement {
3322
3338
  *
3323
3339
  * @public
3324
3340
  */
3325
- sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
3326
- /**
3327
- * Send a message with attachments in the chat thread.
3328
- *
3329
- * @beta
3330
- */
3331
- sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): Promise<void>;
3341
+ sendMessage(content: string, options?: SendMessageOptions | /* @conditional-compile-remove(attachment-upload) */ MessageOptions): Promise<void>;
3332
3342
  /**
3333
3343
  * Send a read receipt for a message.
3334
3344
  *
@@ -3346,7 +3356,7 @@ export declare interface CallWithChatAdapterManagement {
3346
3356
  *
3347
3357
  * @public
3348
3358
  */
3349
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;
3359
+ updateMessage(messageId: string, content: string, options?: Record<string, string> | /* @conditional-compile-remove(attachment-upload) */ MessageOptions): Promise<void>;
3350
3360
  /**
3351
3361
  * Delete a message in the thread.
3352
3362
  *
@@ -3362,20 +3372,6 @@ export declare interface CallWithChatAdapterManagement {
3362
3372
  * @public
3363
3373
  */
3364
3374
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
3365
- /** @internal */
3366
- registerActiveUploads: (files: File[]) => AttachmentUploadTask[];
3367
- /** @internal */
3368
- registerCompletedUploads: (metadata: AttachmentMetadata[]) => AttachmentUploadTask[];
3369
- /** @internal */
3370
- clearUploads: () => void;
3371
- /** @internal */
3372
- cancelUpload: (id: string) => void;
3373
- /** @internal */
3374
- updateUploadProgress: (id: string, progress: number) => void;
3375
- /** @internal */
3376
- updateUploadStatusMessage: (id: string, errorMessage: string) => void;
3377
- /** @internal */
3378
- updateUploadMetadata: (id: string, metadata: AttachmentMetadata) => void;
3379
3375
  /** @public */
3380
3376
  downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
3381
3377
  /** @public */
@@ -3560,14 +3556,6 @@ export declare interface CallWithChatAdapterUiState {
3560
3556
  * @public
3561
3557
  */
3562
3558
  page: CallCompositePage;
3563
- /**
3564
- * Files being uploaded by a user in the current thread.
3565
- * Should be set to null once the upload is complete.
3566
- * Array of type {@link _AttachmentUploadsUiState}
3567
- *
3568
- * @internal
3569
- */
3570
- _attachmentUploads?: _AttachmentUploadsUiState;
3571
3559
  /**
3572
3560
  * State to track whether the end user has opted in to using a
3573
3561
  * out of date version of a supported browser. Allows the user
@@ -3600,6 +3588,8 @@ export declare interface CallWithChatClientState {
3600
3588
  devices: DeviceManagerState;
3601
3589
  /** State of whether the active call is a Teams interop call */
3602
3590
  isTeamsCall: boolean;
3591
+ /** State of whether the active call is a Teams interop meeting */
3592
+ isTeamsMeeting: boolean;
3603
3593
  /** alternateCallerId for PSTN call */
3604
3594
  alternateCallerId?: string | undefined;
3605
3595
  /** Environment information for system adapter is made on */
@@ -4542,7 +4532,7 @@ export declare type CaptionsReceivedListener = (event: {
4542
4532
  *
4543
4533
  * @public
4544
4534
  */
4545
- export declare type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable_2 & ChatAdapterSubscribers & _AttachmentUploadAdapter;
4535
+ export declare type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable_2 & ChatAdapterSubscribers;
4546
4536
 
4547
4537
  /**
4548
4538
  * {@link ChatAdapter} state.
@@ -4645,12 +4635,9 @@ export declare interface ChatAdapterThreadManagement {
4645
4635
  fetchInitialData(): Promise<void>;
4646
4636
  /**
4647
4637
  * Send a message in the thread.
4638
+ * Please note that SendMessageOptions is being deprecated, please use MessageOptions instead.
4648
4639
  */
4649
- sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
4650
- /**
4651
- * Send a message with attachments in the chat thread.
4652
- */
4653
- sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): Promise<void>;
4640
+ sendMessage(content: string, options?: SendMessageOptions | /* @conditional-compile-remove(attachment-upload) */ MessageOptions): Promise<void>;
4654
4641
  /**
4655
4642
  * Send a read receipt for a message.
4656
4643
  */
@@ -4669,10 +4656,9 @@ export declare interface ChatAdapterThreadManagement {
4669
4656
  setTopic(topicName: string): Promise<void>;
4670
4657
  /**
4671
4658
  * Update a message content.
4659
+ * Please note that metadata is being deprecated, please use MessageOptions.metadata instead.
4672
4660
  */
4673
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {
4674
- attachmentMetadata?: AttachmentMetadata[];
4675
- }): Promise<void>;
4661
+ updateMessage(messageId: string, content: string, options?: Record<string, string> | /* @conditional-compile-remove(attachment-upload) */ MessageOptions): Promise<void>;
4676
4662
  /**
4677
4663
  * Delete a message in the thread.
4678
4664
  */
@@ -4702,14 +4688,6 @@ export declare interface ChatAdapterThreadManagement {
4702
4688
  */
4703
4689
  export declare type ChatAdapterUiState = {
4704
4690
  error?: Error;
4705
- /**
4706
- * Attachments being uploaded by a user in the current thread.
4707
- * Should be set to null once the upload is complete.
4708
- * Array of type {@link _AttachmentUploadsUiState}
4709
- *
4710
- * @internal
4711
- */
4712
- _attachmentUploads?: _AttachmentUploadsUiState;
4713
4691
  };
4714
4692
 
4715
4693
  /**
@@ -4966,16 +4944,13 @@ export declare type ChatErrorTarget = 'ChatClient.createChatThread' | 'ChatClien
4966
4944
  * @public
4967
4945
  */
4968
4946
  export declare type ChatHandlers = {
4969
- onSendMessage: (content: string, options?: SendMessageOptions) => Promise<void>;
4947
+ onSendMessage: (content: string, options?: SendMessageOptions | /* @conditional-compile-remove(attachment-upload) */ MessageOptions) => Promise<void>;
4970
4948
  onMessageSeen: (chatMessageId: string) => Promise<void>;
4971
4949
  onTyping: () => Promise<void>;
4972
4950
  onRemoveParticipant: (userId: string) => Promise<void>;
4973
4951
  updateThreadTopicName: (topicName: string) => Promise<void>;
4974
4952
  onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
4975
- onUpdateMessage: (messageId: string, content: string, options?: {
4976
- metadata?: Record<string, string>;
4977
- attachmentMetadata?: AttachmentMetadata[];
4978
- }) => Promise<void>;
4953
+ onUpdateMessage: (messageId: string, content: string, options?: MessageOptions) => Promise<void>;
4979
4954
  onDeleteMessage: (messageId: string) => Promise<void>;
4980
4955
  };
4981
4956
 
@@ -8098,6 +8073,18 @@ export declare type MessageDeletedListener = MessageReceivedListener;
8098
8073
  */
8099
8074
  export declare type MessageEditedListener = MessageReceivedListener;
8100
8075
 
8076
+ /**
8077
+ * @beta
8078
+ * Message option that defines properties that can be set when
8079
+ * sending or updating a chat message.
8080
+ * @property metadata - Metadata that contains additional information about the message to be passed betrween 2 users.
8081
+ * @property attachments - Attachments that contains file attachments attached to the message.
8082
+ */
8083
+ export declare type MessageOptions = {
8084
+ metadata?: Record<string, string>;
8085
+ attachments?: AttachmentMetadata[];
8086
+ };
8087
+
8101
8088
  /**
8102
8089
  * Props to render a single message.
8103
8090
  *
@@ -8113,7 +8100,7 @@ export declare type MessageProps = {
8113
8100
  /**
8114
8101
  * Strings from parent MessageThread component
8115
8102
  */
8116
- strings: MessageThreadStrings;
8103
+ strings: MessageThreadStrings & /* @conditional-compile-remove(rich-text-editor) */ Partial<RichTextStrings>;
8117
8104
  /**
8118
8105
  * Custom CSS styles for chat message container.
8119
8106
  */
@@ -8375,7 +8362,7 @@ export declare type MessageThreadProps = {
8375
8362
  * Optional callback to render attachments in the message component.
8376
8363
  * @beta
8377
8364
  */
8378
- onRenderAttachmentDownloads?: (userId: string, message: ChatMessage) => JSX.Element;
8365
+ onRenderAttachmentDownloads?: (message: ChatMessage) => JSX.Element;
8379
8366
  /**
8380
8367
  * Optional callback to edit a message.
8381
8368
  *
@@ -9691,11 +9678,11 @@ export declare interface RichTextSendBoxProps {
9691
9678
  */
9692
9679
  systemMessage?: string;
9693
9680
  /**
9694
- * Optional array of type {@link AttachmentMetadataWithProgress}
9681
+ * Optional array of type {@link AttachmentMetadataInProgress}
9695
9682
  * to render attachments being uploaded in the SendBox.
9696
9683
  * @beta
9697
9684
  */
9698
- attachmentsWithProgress?: AttachmentMetadataWithProgress[];
9685
+ attachments?: AttachmentMetadataInProgress[];
9699
9686
  /**
9700
9687
  * enumerable to determine if the input box has focus on render or not.
9701
9688
  * When undefined nothing has focus on render
@@ -9710,7 +9697,7 @@ export declare interface RichTextSendBoxProps {
9710
9697
  /**
9711
9698
  * Callback function used when the send button is clicked.
9712
9699
  */
9713
- onSendMessage: (content: string) => Promise<void>;
9700
+ onSendMessage: (content: string, options?: MessageOptions) => Promise<void>;
9714
9701
  /**
9715
9702
  * Optional callback called when user is typing
9716
9703
  */
@@ -9722,39 +9709,47 @@ export declare interface RichTextSendBoxProps {
9722
9709
  *
9723
9710
  * @beta
9724
9711
  */
9725
- export declare interface RichTextSendBoxStrings extends SendBoxStrings {
9712
+ export declare interface RichTextSendBoxStrings extends RichTextStrings, SendBoxStrings {
9713
+ }
9714
+
9715
+ /**
9716
+ * Strings of RichText that can be overridden.
9717
+ *
9718
+ * @beta
9719
+ */
9720
+ export declare interface RichTextStrings {
9726
9721
  /**
9727
9722
  * Tooltip text for the bold button.
9728
9723
  */
9729
- boldTooltip: string;
9724
+ richTextBoldTooltip: string;
9730
9725
  /**
9731
9726
  * Tooltip text for the italic button.
9732
9727
  */
9733
- italicTooltip: string;
9728
+ richTextItalicTooltip: string;
9734
9729
  /**
9735
9730
  * Tooltip text for the underline button.
9736
9731
  */
9737
- underlineTooltip: string;
9732
+ richTextUnderlineTooltip: string;
9738
9733
  /**
9739
9734
  * Tooltip text for the bullet list button.
9740
9735
  */
9741
- bulletListTooltip: string;
9736
+ richTextBulletListTooltip: string;
9742
9737
  /**
9743
9738
  * Tooltip text for the number list button.
9744
9739
  */
9745
- numberListTooltip: string;
9740
+ richTextNumberListTooltip: string;
9746
9741
  /**
9747
9742
  * Tooltip text for the increase indent button.
9748
9743
  */
9749
- increaseIndentTooltip: string;
9744
+ richTextIncreaseIndentTooltip: string;
9750
9745
  /**
9751
9746
  * Tooltip text for the decrease indent button.
9752
9747
  */
9753
- decreaseIndentTooltip: string;
9748
+ richTextDecreaseIndentTooltip: string;
9754
9749
  /**
9755
9750
  * Tooltip text insert table button.
9756
9751
  */
9757
- insertTableTooltip: string;
9752
+ richTextInsertTableTooltip: string;
9758
9753
  /**
9759
9754
  * Tooltip text for the rich text format button button.
9760
9755
  */
@@ -9762,43 +9757,43 @@ export declare interface RichTextSendBoxStrings extends SendBoxStrings {
9762
9757
  /**
9763
9758
  * Text for the insert menu item.
9764
9759
  */
9765
- insertRowOrColumnMenu: string;
9760
+ richTextInsertRowOrColumnMenu: string;
9766
9761
  /**
9767
9762
  * Title for the insert table menu.
9768
9763
  */
9769
- insertTableMenuTitle: string;
9764
+ richTextInsertTableMenuTitle: string;
9770
9765
  /**
9771
9766
  * Text for the insert menu item to insert row above the current selection.
9772
9767
  */
9773
- insertRowAboveMenu: string;
9768
+ richTextInsertRowAboveMenu: string;
9774
9769
  /**
9775
9770
  * Text for the insert menu item to insert row below the current selection.
9776
9771
  */
9777
- insertRowBelowMenu: string;
9772
+ richTextInsertRowBelowMenu: string;
9778
9773
  /**
9779
9774
  * Text for the insert menu item to insert column to the left from the current selection.
9780
9775
  */
9781
- insertColumnLeftMenu: string;
9776
+ richTextInsertColumnLeftMenu: string;
9782
9777
  /**
9783
9778
  * Text for the insert menu item to insert column to the right from the current selection.
9784
9779
  */
9785
- insertColumnRightMenu: string;
9780
+ richTextInsertColumnRightMenu: string;
9786
9781
  /**
9787
9782
  * Text for the delete row or column menu.
9788
9783
  */
9789
- deleteRowOrColumnMenu: string;
9784
+ richTextDeleteRowOrColumnMenu: string;
9790
9785
  /**
9791
9786
  * Text for the delete column menu.
9792
9787
  */
9793
- deleteColumnMenu: string;
9788
+ richTextDeleteColumnMenu: string;
9794
9789
  /**
9795
9790
  * Text for the delete row menu.
9796
9791
  */
9797
- deleteRowMenu: string;
9792
+ richTextDeleteRowMenu: string;
9798
9793
  /**
9799
9794
  * Text for the delete table menu.
9800
9795
  */
9801
- deleteTableMenu: string;
9796
+ richTextDeleteTableMenu: string;
9802
9797
  }
9803
9798
 
9804
9799
  /**
@@ -9903,7 +9898,7 @@ export declare interface SendBoxProps {
9903
9898
  /**
9904
9899
  * Optional override behavior on send button click
9905
9900
  */
9906
- onSendMessage?: (content: string) => Promise<void>;
9901
+ onSendMessage?: (content: string, options?: MessageOptions) => Promise<void>;
9907
9902
  /**
9908
9903
  * Optional props needed to lookup suggestions in the mention scenario.
9909
9904
  * @beta
@@ -9953,11 +9948,11 @@ export declare interface SendBoxProps {
9953
9948
  */
9954
9949
  onRenderAttachmentUploads?: () => JSX.Element;
9955
9950
  /**
9956
- * Optional array of type {@link AttachmentMetadataWithProgress}
9951
+ * Optional array of type {@link AttachmentMetadataInProgress}
9957
9952
  * to render attachments being uploaded in the SendBox.
9958
9953
  * @beta
9959
9954
  */
9960
- attachmentsWithProgress?: AttachmentMetadataWithProgress[];
9955
+ attachments?: AttachmentMetadataInProgress[];
9961
9956
  /**
9962
9957
  * Optional callback to remove the attachment upload before sending by clicking on
9963
9958
  * cancel icon.
@@ -11007,10 +11002,7 @@ export declare interface UnsupportedOperatingSystemStrings {
11007
11002
  * @public
11008
11003
  * Callback function run when a message is updated.
11009
11004
  */
11010
- export declare type UpdateMessageCallback = (messageId: string, content: string, options?: {
11011
- metadata?: Record<string, string>;
11012
- attachmentMetadata?: AttachmentMetadata[];
11013
- }) => Promise<void>;
11005
+ export declare type UpdateMessageCallback = (messageId: string, content: string, options?: MessageOptions) => Promise<void>;
11014
11006
 
11015
11007
  /**
11016
11008
  * A custom React hook to simplify the creation of {@link CallAdapter}.
@@ -11026,7 +11018,7 @@ export declare type UpdateMessageCallback = (messageId: string, content: string,
11026
11018
  *
11027
11019
  * @public
11028
11020
  */
11029
- export declare const useAzureCommunicationCallAdapter: (args: Partial<AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs>, afterCreate?: ((adapter: CallAdapter) => Promise<CallAdapter>) | undefined, beforeDispose?: ((adapter: CallAdapter) => Promise<void>) | undefined) => CallAdapter | undefined;
11021
+ export declare const useAzureCommunicationCallAdapter: (args: Partial<AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs>, afterCreate?: (adapter: CallAdapter) => Promise<CallAdapter>, beforeDispose?: (adapter: CallAdapter) => Promise<void>) => CallAdapter | undefined;
11030
11022
 
11031
11023
  /**
11032
11024
  * A custom React hook to simplify the creation of {@link CallWithChatAdapter}.
@@ -11042,7 +11034,7 @@ export declare const useAzureCommunicationCallAdapter: (args: Partial<AzureCommu
11042
11034
  *
11043
11035
  * @public
11044
11036
  */
11045
- export declare const useAzureCommunicationCallWithChatAdapter: (args: Partial<AzureCommunicationCallWithChatAdapterArgs>, afterCreate?: ((adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>) | undefined, beforeDispose?: ((adapter: CallWithChatAdapter) => Promise<void>) | undefined) => CallWithChatAdapter | undefined;
11037
+ export declare const useAzureCommunicationCallWithChatAdapter: (args: Partial<AzureCommunicationCallWithChatAdapterArgs>, afterCreate?: (adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>, beforeDispose?: (adapter: CallWithChatAdapter) => Promise<void>) => CallWithChatAdapter | undefined;
11046
11038
 
11047
11039
  /**
11048
11040
  * A custom React hook to simplify the creation of {@link ChatAdapter}.
@@ -11058,7 +11050,7 @@ export declare const useAzureCommunicationCallWithChatAdapter: (args: Partial<Az
11058
11050
  *
11059
11051
  * @public
11060
11052
  */
11061
- export declare const useAzureCommunicationChatAdapter: (args: Partial<AzureCommunicationChatAdapterArgs>, afterCreate?: ((adapter: ChatAdapter) => Promise<ChatAdapter>) | undefined, beforeDispose?: ((adapter: ChatAdapter) => Promise<void>) | undefined) => ChatAdapter | undefined;
11053
+ export declare const useAzureCommunicationChatAdapter: (args: Partial<AzureCommunicationChatAdapterArgs>, afterCreate?: (adapter: ChatAdapter) => Promise<ChatAdapter>, beforeDispose?: (adapter: ChatAdapter) => Promise<void>) => ChatAdapter | undefined;
11062
11054
 
11063
11055
  /**
11064
11056
  * Hook to obtain {@link @azure/communication-calling#Call} from the provider.
@@ -11184,7 +11176,7 @@ export declare const useTeamsCall: () => undefined | /* @conditional-compile-rem
11184
11176
  *
11185
11177
  * @beta
11186
11178
  */
11187
- export declare const useTeamsCallAdapter: (args: Partial<TeamsCallAdapterArgs>, afterCreate?: ((adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>) | undefined, beforeDispose?: ((adapter: TeamsCallAdapter) => Promise<void>) | undefined) => TeamsCallAdapter | undefined;
11179
+ export declare const useTeamsCallAdapter: (args: Partial<TeamsCallAdapterArgs>, afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>, beforeDispose?: (adapter: TeamsCallAdapter) => Promise<void>) => TeamsCallAdapter | undefined;
11188
11180
 
11189
11181
  /**
11190
11182
  * Hook to obtain {@link @azure/communication-calling#TeamsCallAgent} from the provider.
@@ -4,7 +4,7 @@ var react = require('@fluentui/react');
4
4
  var reactChat = require('@fluentui-contrib/react-chat');
5
5
  var reactComponents = require('@fluentui/react-components');
6
6
  require('@azure/communication-common');
7
- var index = require('./index-CY4kAQ6s.js');
7
+ var index = require('./index-DdWRffLC.js');
8
8
  var React = require('react');
9
9
  require('reselect');
10
10
  require('@azure/communication-calling');
@@ -41,10 +41,11 @@ require('@azure/communication-calling-effects');
41
41
  * @private
42
42
  */
43
43
  const ChatMessageComponentAsRichTextEditBox = (props) => {
44
+ var _a;
44
45
  const { onCancel, onSubmit, strings, message } = props;
45
46
  const [textValue, setTextValue] = React.useState(message.content || '');
46
47
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
47
- const [attachmentMetadata, setAttachmentMetadata] = React.useState(index.getMessageWithAttachmentMetadata(message));
48
+ const [attachmentMetadata, handleAttachmentAction] = React.useReducer(index.attachmentMetadataReducer, (_a = index.getMessageWithAttachmentMetadata(message)) !== null && _a !== void 0 ? _a : []);
48
49
  const editTextFieldRef = React.useRef(null);
49
50
  const theme = index.useTheme();
50
51
  const messageState = index.getMessageState(textValue,
@@ -75,17 +76,18 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
75
76
  onCancel && onCancel(message.messageId);
76
77
  }, id: 'dismissIconWrapper', "data-testId": strings.editBoxCancelButton }),
77
78
  React.createElement(index.InputBoxButton, { className: index.richTextActionButtonsStyle, ariaLabel: strings.editBoxSubmitButton, tooltipContent: strings.editBoxSubmitButton, onRenderIcon: onRenderThemedSubmitIcon, onClick: (e) => {
79
+ // it's very important to pass an empty attachment here
80
+ // so when user remvoes all attachments, UI can reflect it instantly
81
+ // if you set it to undefined, the attachments pre-edited would still be there
82
+ // until edit message event is received
78
83
  submitEnabled &&
79
- onSubmit(textValue, message.metadata,
80
- /* @conditional-compile-remove(attachment-upload) */ {
81
- attachmentMetadata
82
- });
84
+ onSubmit(textValue, /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata);
83
85
  e.stopPropagation();
84
86
  }, id: 'submitIconWrapper', "data-testId": strings.editBoxSubmitButton })));
85
87
  }, [
86
- /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata,
88
+ /* @conditional-compile-remove(attachment-upload) */
89
+ attachmentMetadata,
87
90
  message.messageId,
88
- message.metadata,
89
91
  onCancel,
90
92
  onRenderThemedCancelIcon,
91
93
  onRenderThemedSubmitIcon,
@@ -97,17 +99,24 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
97
99
  ]);
98
100
  const richTextLocaleStrings = React.useMemo(() => {
99
101
  /* @conditional-compile-remove(rich-text-editor) */
100
- return locale.richTextSendBox;
101
- }, [/* @conditional-compile-remove(rich-text-editor) */ locale.richTextSendBox, locale.sendBox]);
102
+ return Object.assign(Object.assign({}, locale.richTextSendBox), strings);
103
+ }, [
104
+ /* @conditional-compile-remove(rich-text-editor) */ locale.richTextSendBox,
105
+ /* @conditional-compile-remove(rich-text-editor) */ strings,
106
+ locale.sendBox
107
+ ]);
102
108
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
103
109
  const onCancelAttachmentUpload = React.useCallback((attachmentId) => {
104
- setAttachmentMetadata(attachmentMetadata === null || attachmentMetadata === void 0 ? void 0 : attachmentMetadata.filter((attachment) => attachment.id !== attachmentId));
105
- }, [attachmentMetadata]);
110
+ // edit box only capable of removing attachments
111
+ // we need to expand attachment actions
112
+ // if we want to support more actions e.g. add
113
+ handleAttachmentAction({ type: 'remove', id: attachmentId });
114
+ }, []);
106
115
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
107
116
  const onRenderAttachmentUploads = React.useCallback(() => {
108
117
  return (React.createElement(react.Stack, { className: index.attachmentUploadCardsStyles },
109
118
  React.createElement(index.FluentV9ThemeProvider, { v8Theme: theme },
110
- React.createElement(index._AttachmentUploadCards, { attachmentsWithProgress: attachmentMetadata, onCancelAttachmentUpload: onCancelAttachmentUpload }))));
119
+ React.createElement(index._AttachmentUploadCards, { attachments: attachmentMetadata, onCancelAttachmentUpload: onCancelAttachmentUpload }))));
111
120
  }, [attachmentMetadata, onCancelAttachmentUpload, theme]);
112
121
  const getContent = () => {
113
122
  return (React.createElement(react.Stack, { className: react.mergeStyles(index.editBoxWidthStyles) },
@@ -126,4 +135,4 @@ const ChatMessageComponentAsRichTextEditBox = (props) => {
126
135
 
127
136
  exports.ChatMessageComponentAsRichTextEditBox = ChatMessageComponentAsRichTextEditBox;
128
137
  exports.default = ChatMessageComponentAsRichTextEditBox;
129
- //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-MqUGJDlB.js.map
138
+ //# sourceMappingURL=ChatMessageComponentAsRichTextEditBox-Vvv1aBkI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageComponentAsRichTextEditBox-Vvv1aBkI.js","sources":["../../../../react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.tsx"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { ChatMyMessage } from '@fluentui-contrib/react-chat';\nimport { mergeClasses } from '@fluentui/react-components';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { useTheme } from '../../../theming';\nimport React, { useCallback, useMemo, useState } from 'react';\n/* @conditional-compile-remove(attachment-upload) */\nimport { useReducer } from 'react';\nimport { editBoxWidthStyles, richTextEditBoxActionButtonIcon } from '../../styles/EditBox.styles';\nimport { InputBoxButton } from '../../InputBoxButton';\nimport { MessageThreadStrings } from '../../MessageThread';\nimport { useChatMyMessageStyles } from '../../styles/MessageThread.styles';\nimport { ChatMessage } from '../../../types';\nimport { _AttachmentUploadCards } from '../../Attachment/AttachmentUploadCards';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\nimport { useChatMessageRichTextEditContainerStyles } from '../../styles/ChatMessageComponent.styles';\nimport { MAXIMUM_LENGTH_OF_MESSAGE } from '../../utils/SendBoxUtils';\nimport {\n getMessageState,\n onRenderCancelIcon,\n onRenderSubmitIcon\n} from '../../utils/ChatMessageComponentAsEditBoxUtils';\n/* @conditional-compile-remove(attachment-upload) */\nimport {\n attachmentMetadataReducer,\n getMessageWithAttachmentMetadata\n} from '../../utils/ChatMessageComponentAsEditBoxUtils';\nimport { RichTextEditorComponentRef } from '../../RichTextEditor/RichTextEditor';\nimport { RichTextInputBoxComponent } from '../../RichTextEditor/RichTextInputBoxComponent';\nimport { editBoxRichTextEditorStyle, richTextActionButtonsStyle } from '../../styles/RichTextEditor.styles';\nimport { RichTextSendBoxErrors } from '../../RichTextEditor/RichTextSendBoxErrors';\nimport { useLocale } from '../../../localization';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { FluentV9ThemeProvider } from '../../../theming/FluentV9ThemeProvider';\n/* @conditional-compile-remove(attachment-upload) */\nimport { attachmentUploadCardsStyles } from '../../styles/SendBox.styles';\n\n/** @private */\nexport type ChatMessageComponentAsRichTextEditBoxProps = {\n onCancel?: (messageId: string) => void;\n onSubmit: (\n text: string,\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[]\n ) => void;\n message: ChatMessage;\n strings: MessageThreadStrings;\n};\n\n/**\n * @private\n */\nexport const ChatMessageComponentAsRichTextEditBox = (\n props: ChatMessageComponentAsRichTextEditBoxProps\n): JSX.Element => {\n const { onCancel, onSubmit, strings, message } = props;\n\n const [textValue, setTextValue] = useState<string>(message.content || '');\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const [attachmentMetadata, handleAttachmentAction] = useReducer(\n attachmentMetadataReducer,\n getMessageWithAttachmentMetadata(message) ?? []\n );\n const editTextFieldRef = React.useRef<RichTextEditorComponentRef>(null);\n const theme = useTheme();\n const messageState = getMessageState(\n textValue,\n /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata ?? []\n );\n const submitEnabled = messageState === 'OK';\n\n const editContainerStyles = useChatMessageRichTextEditContainerStyles();\n const chatMyMessageStyles = useChatMyMessageStyles();\n const locale = useLocale().strings;\n\n const setText = (newValue?: string): void => {\n setTextValue(newValue ?? '');\n };\n\n const textTooLongMessage =\n messageState === 'too long'\n ? _formatString(strings.editBoxTextLimit, { limitNumber: `${MAXIMUM_LENGTH_OF_MESSAGE}` })\n : undefined;\n\n const iconClassName = useCallback(\n (isHover: boolean) => {\n const color = isHover ? theme.palette.accent : theme.palette.neutralSecondary;\n return mergeStyles(richTextEditBoxActionButtonIcon, { color });\n },\n [theme.palette.accent, theme.palette.neutralSecondary]\n );\n\n const onRenderThemedCancelIcon = useCallback(\n (isHover: boolean) => {\n return onRenderCancelIcon(iconClassName(isHover));\n },\n [iconClassName]\n );\n\n const onRenderThemedSubmitIcon = useCallback(\n (isHover: boolean) => {\n return onRenderSubmitIcon(iconClassName(isHover));\n },\n [iconClassName]\n );\n\n const actionButtons = useMemo(() => {\n return (\n <Stack horizontal>\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxCancelButton}\n tooltipContent={strings.editBoxCancelButton}\n onRenderIcon={onRenderThemedCancelIcon}\n onClick={() => {\n onCancel && onCancel(message.messageId);\n }}\n id={'dismissIconWrapper'}\n data-testId={strings.editBoxCancelButton}\n />\n <InputBoxButton\n className={richTextActionButtonsStyle}\n ariaLabel={strings.editBoxSubmitButton}\n tooltipContent={strings.editBoxSubmitButton}\n onRenderIcon={onRenderThemedSubmitIcon}\n onClick={(e) => {\n // it's very important to pass an empty attachment here\n // so when user remvoes all attachments, UI can reflect it instantly\n // if you set it to undefined, the attachments pre-edited would still be there\n // until edit message event is received\n submitEnabled &&\n onSubmit(textValue, /* @conditional-compile-remove(attachment-upload) */ attachmentMetadata);\n e.stopPropagation();\n }}\n id={'submitIconWrapper'}\n data-testId={strings.editBoxSubmitButton}\n />\n </Stack>\n );\n }, [\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata,\n message.messageId,\n onCancel,\n onRenderThemedCancelIcon,\n onRenderThemedSubmitIcon,\n onSubmit,\n strings.editBoxCancelButton,\n strings.editBoxSubmitButton,\n submitEnabled,\n textValue\n ]);\n const richTextLocaleStrings = useMemo(() => {\n /* @conditional-compile-remove(rich-text-editor) */\n return { ...locale.richTextSendBox, ...strings };\n return locale.sendBox;\n }, [\n /* @conditional-compile-remove(rich-text-editor) */ locale.richTextSendBox,\n /* @conditional-compile-remove(rich-text-editor) */ strings,\n locale.sendBox\n ]);\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onCancelAttachmentUpload = useCallback((attachmentId: string) => {\n // edit box only capable of removing attachments\n // we need to expand attachment actions\n // if we want to support more actions e.g. add\n handleAttachmentAction({ type: 'remove', id: attachmentId });\n }, []);\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onRenderAttachmentUploads = useCallback(() => {\n return (\n <Stack className={attachmentUploadCardsStyles}>\n <FluentV9ThemeProvider v8Theme={theme}>\n <_AttachmentUploadCards\n attachments={attachmentMetadata}\n onCancelAttachmentUpload={onCancelAttachmentUpload}\n />\n </FluentV9ThemeProvider>\n </Stack>\n );\n }, [attachmentMetadata, onCancelAttachmentUpload, theme]);\n\n const getContent = (): JSX.Element => {\n return (\n <Stack className={mergeStyles(editBoxWidthStyles)}>\n <RichTextSendBoxErrors textTooLongMessage={textTooLongMessage} systemMessage={message.failureReason} />\n <RichTextInputBoxComponent\n placeholderText={strings.editBoxPlaceholderText}\n onChange={setText}\n editorComponentRef={editTextFieldRef}\n initialContent={message.content}\n content={textValue}\n strings={richTextLocaleStrings}\n disabled={false}\n actionComponents={actionButtons}\n richTextEditorStyleProps={editBoxRichTextEditorStyle}\n isHorizontalLayoutDisabled={true}\n /* @conditional-compile-remove(attachment-upload) */\n onRenderAttachmentUploads={onRenderAttachmentUploads}\n />\n </Stack>\n );\n };\n\n const attached = message.attached === true ? 'center' : message.attached === 'bottom' ? 'bottom' : 'top';\n return (\n <ChatMyMessage\n attached={attached}\n root={{\n className: chatMyMessageStyles.root\n }}\n body={{\n className: mergeClasses(\n editContainerStyles.body,\n attached !== 'top' ? editContainerStyles.bodyAttached : undefined\n )\n }}\n >\n {getContent()}\n </ChatMyMessage>\n );\n};\n\nexport default ChatMessageComponentAsRichTextEditBox;\n"],"names":["useState","useReducer","attachmentMetadataReducer","getMessageWithAttachmentMetadata","useTheme","getMessageState","useChatMessageRichTextEditContainerStyles","useChatMyMessageStyles","useLocale","_formatString","MAXIMUM_LENGTH_OF_MESSAGE","useCallback","mergeStyles","richTextEditBoxActionButtonIcon","onRenderCancelIcon","onRenderSubmitIcon","useMemo","Stack","InputBoxButton","richTextActionButtonsStyle","attachmentUploadCardsStyles","FluentV9ThemeProvider","_AttachmentUploadCards","editBoxWidthStyles","RichTextSendBoxErrors","RichTextInputBoxComponent","editBoxRichTextEditorStyle","ChatMyMessage","mergeClasses"],"mappings":"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"}