@azure/communication-react 1.15.0-beta.2 → 1.15.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 (664) hide show
  1. package/dist/communication-react.d.ts +586 -1782
  2. package/dist/dist-cjs/communication-react/index.js +7510 -10404
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -2
  7. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +16 -6
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +15 -12
  10. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +19 -21
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +5 -5
  13. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +8 -11
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +74 -21
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +14 -0
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +3 -4
  23. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +6 -17
  24. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -5
  26. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -7
  27. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  29. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +28 -12
  30. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  32. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  34. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  35. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  37. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
  38. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +13 -1
  40. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +31 -7
  41. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +8 -2
  43. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +42 -8
  44. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +2 -0
  46. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +23 -7
  47. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  49. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  51. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  52. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  53. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  55. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +97 -47
  56. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  57. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +14 -9
  58. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +99 -39
  59. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +32 -0
  61. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +3 -3
  63. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +20 -30
  64. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/Converter.js +8 -8
  68. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.d.ts +18 -0
  70. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +49 -0
  71. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -0
  72. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.d.ts +16 -0
  73. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js +24 -0
  74. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -0
  75. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  76. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +0 -11
  77. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.d.ts +16 -0
  79. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js +30 -0
  80. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -0
  81. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  82. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -33
  83. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  85. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  86. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -3
  88. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  89. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -5
  90. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +1 -5
  91. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  92. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -87
  93. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  94. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  95. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  96. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  97. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  98. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  99. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  100. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +0 -1
  101. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  102. package/dist/dist-esm/communication-react/src/index.d.ts +2 -21
  103. package/dist/dist-esm/communication-react/src/index.js +0 -12
  104. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/AttachmentCard.d.ts +13 -19
  106. package/dist/dist-esm/react-components/src/components/AttachmentCard.js +65 -63
  107. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +1 -1
  108. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.d.ts +19 -12
  109. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js +68 -68
  110. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +1 -1
  111. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.d.ts +7 -36
  112. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +22 -10
  113. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +1 -1
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -8
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +2 -10
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -35
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -17
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +4 -10
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  123. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  124. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -27
  125. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  126. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +15 -0
  127. package/dist/dist-esm/react-components/src/components/ChatMessage/{ChatMessageComponentAsEditBox.js → MyMessageComponents/ChatMessageComponentAsEditBox.js} +14 -40
  128. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -0
  129. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +18 -0
  130. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +11 -0
  131. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -0
  132. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +3 -26
  133. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +5 -9
  134. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -17
  136. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +5 -11
  137. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +4 -25
  139. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  140. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +4 -0
  141. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +2 -2
  142. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  143. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.d.ts +29 -0
  144. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +54 -0
  145. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -0
  146. package/dist/dist-esm/react-components/src/components/Drawer/index.d.ts +2 -0
  147. package/dist/dist-esm/react-components/src/components/Drawer/index.js +2 -0
  148. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/EndCallButton.d.ts +1 -1
  150. package/dist/dist-esm/react-components/src/components/EndCallButton.js +64 -57
  151. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  152. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  153. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -4
  155. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  157. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
  158. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +13 -0
  160. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +104 -5
  161. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.d.ts +40 -0
  163. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +85 -0
  164. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -0
  165. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +1 -1
  166. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -39
  168. package/dist/dist-esm/react-components/src/components/MessageThread.js +7 -16
  169. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  171. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -3
  172. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  174. package/dist/dist-esm/react-components/src/components/ParticipantList.js +6 -23
  175. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/ReactionButton.d.ts +56 -0
  177. package/dist/dist-esm/react-components/src/components/ReactionButton.js +85 -0
  178. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -0
  179. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +8 -0
  180. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +23 -7
  181. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -42
  183. package/dist/dist-esm/react-components/src/components/SendBox.js +8 -63
  184. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  186. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  188. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  190. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  192. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +8 -0
  194. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
  195. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +5 -3
  197. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +4 -2
  199. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +4 -0
  201. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.d.ts +15 -0
  203. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +63 -0
  204. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -0
  205. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.d.ts +14 -0
  206. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +144 -0
  207. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -0
  208. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +5 -0
  209. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +18 -2
  210. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.d.ts +1 -0
  212. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +8 -2
  213. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +11 -0
  215. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +51 -3
  216. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.d.ts +13 -0
  218. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js +26 -0
  219. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -0
  220. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +13 -0
  221. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +65 -15
  222. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +39 -0
  224. package/dist/dist-esm/react-components/src/components/VideoGallery.js +58 -10
  225. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +13 -7
  227. package/dist/dist-esm/react-components/src/components/VideoTile.js +42 -11
  228. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/index.d.ts +3 -17
  230. package/dist/dist-esm/react-components/src/components/index.js +2 -10
  231. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +9 -0
  233. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +28 -0
  234. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -0
  235. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
  236. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +3 -1
  237. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +36 -0
  239. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +130 -0
  240. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -0
  241. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +71 -0
  242. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +251 -0
  243. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -1
  245. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  246. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +13 -0
  248. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +40 -0
  249. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -8
  251. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -13
  252. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +5 -5
  254. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +3 -27
  255. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +0 -9
  257. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +0 -14
  258. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
  260. package/dist/dist-esm/react-components/src/components/utils/common.js +3 -6
  261. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  263. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  265. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  266. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/index.d.ts +2 -1
  268. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +5 -57
  270. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +16 -2
  272. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +16 -2
  273. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +16 -2
  274. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +16 -2
  275. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +19 -3
  276. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +16 -2
  277. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +16 -2
  278. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +16 -2
  279. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +16 -2
  280. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +16 -2
  281. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +16 -2
  282. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +16 -2
  283. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +16 -2
  284. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +16 -2
  285. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +16 -2
  286. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +16 -2
  287. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +16 -2
  288. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +16 -2
  289. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +16 -2
  290. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +16 -2
  291. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +16 -2
  292. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  293. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/theming/icons.d.ts +5 -13
  295. package/dist/dist-esm/react-components/src/theming/icons.js +22 -103
  296. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  298. package/dist/dist-esm/react-components/src/theming/themes.js +0 -10
  299. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +69 -73
  301. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.d.ts +1 -1
  303. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -27
  305. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  307. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +34 -0
  309. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/types/ReactionTypes.d.ts +49 -1
  311. package/dist/dist-esm/react-components/src/types/ReactionTypes.js +2 -1
  312. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/types/SurveyIssues.d.ts +1 -1
  314. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.d.ts +1 -1
  316. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +15 -6
  318. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  319. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +10 -72
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +10 -43
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +26 -97
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +21 -77
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +47 -187
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +48 -92
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -2
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -5
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +48 -33
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +26 -39
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +0 -7
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +8 -34
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +2 -2
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +4 -0
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +27 -3
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +83 -0
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +58 -0
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -0
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +7 -0
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +99 -3
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -4
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +1 -0
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -1
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -4
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.d.ts +16 -0
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +26 -0
  376. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -0
  377. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +0 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -6
  380. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +2 -1
  382. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +40 -31
  383. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  384. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +2 -1
  385. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -4
  387. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  388. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  389. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  390. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +19 -7
  391. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  392. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  393. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +9 -87
  394. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  395. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.d.ts +1 -0
  396. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +2 -2
  397. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  398. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -5
  400. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +5 -7
  401. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +0 -3
  403. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +14 -0
  405. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +13 -0
  406. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -0
  407. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  408. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +15 -0
  409. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +26 -0
  410. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -0
  411. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +7 -5
  413. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  414. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +10 -7
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.d.ts +5 -1
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js +12 -0
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +2 -14
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +16 -11
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +0 -6
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +1 -96
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +22 -0
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +162 -0
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -0
  432. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +11 -61
  433. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +11 -34
  434. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  435. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  436. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +47 -26
  438. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +168 -137
  439. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  440. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +26 -53
  441. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  442. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +6 -9
  443. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +23 -33
  444. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -9
  446. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -31
  447. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +7 -24
  449. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +7 -14
  450. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  452. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -6
  453. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -34
  455. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +20 -35
  456. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  458. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +19 -0
  460. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +4 -0
  461. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -0
  462. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +7 -13
  463. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +22 -68
  464. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -13
  466. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +2 -2
  468. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +8 -10
  469. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUpload.d.ts → AttachmentUpload.d.ts} +11 -11
  471. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUpload.js → AttachmentUpload.js} +13 -13
  472. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
  473. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
  474. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUploadButton.js → AttachmentUploadButton.js} +13 -18
  475. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
  476. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +4 -3
  477. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +2 -2
  478. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -4
  480. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -3
  482. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  484. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -15
  485. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  487. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +2 -3
  488. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +1 -1
  490. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +39 -13
  491. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  492. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -26
  493. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +3 -0
  495. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +13 -24
  496. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +2 -1
  498. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.d.ts +14 -0
  500. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +16 -0
  501. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -0
  502. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +4 -0
  503. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +13 -4
  504. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -0
  506. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +13 -16
  507. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  508. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  510. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +17 -24
  511. package/dist/dist-esm/react-composites/src/composites/common/icons.js +9 -16
  512. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +15 -15
  514. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  516. package/dist/dist-esm/react-composites/src/composites/common/utils.js +6 -0
  517. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +9 -2
  519. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +9 -2
  520. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +9 -2
  521. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +9 -2
  522. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +11 -4
  523. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +9 -2
  524. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +9 -2
  525. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +9 -2
  526. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +9 -2
  527. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +9 -2
  528. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +9 -2
  529. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +9 -2
  530. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +9 -2
  531. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +9 -2
  532. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +9 -2
  533. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +9 -2
  534. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +9 -2
  535. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +9 -2
  536. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +9 -2
  537. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +9 -2
  538. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +9 -2
  539. package/package.json +19 -17
  540. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
  541. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -91
  542. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  543. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  544. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -36
  545. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  546. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  547. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
  548. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  549. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  550. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
  551. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  552. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +0 -20
  553. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +0 -1
  554. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  555. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  556. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  557. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  558. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  559. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  560. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  561. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  562. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  563. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  564. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  565. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  566. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  567. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  568. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  569. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  570. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  571. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  572. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  573. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -123
  574. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  575. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -34
  576. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -42
  577. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  578. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  579. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  580. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  581. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  582. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  583. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  584. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  585. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  586. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  587. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  588. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  589. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  590. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.d.ts +0 -5
  591. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js +0 -17
  592. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +0 -1
  593. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  594. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  595. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  596. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  597. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  598. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  599. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  600. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  601. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  602. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  603. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  604. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  605. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  606. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  607. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  608. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  609. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  610. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -28
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  629. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  630. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  631. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  632. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  633. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -23
  634. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  635. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -48
  636. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +0 -165
  637. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +0 -1
  638. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +0 -1
  639. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.d.ts +0 -36
  640. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +0 -1
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -27
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -14
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  650. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  651. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -107
  652. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  653. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  654. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  655. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  656. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  657. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
  658. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  659. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  660. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  661. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  662. package/dist/dist-esm/react-composites/src/composites/common/SendBox.d.ts +0 -17
  663. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +0 -28
  664. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +0 -1
@@ -1,22 +1,40 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
3
12
  import {
4
13
  // eslint-disable-next-line no-restricted-imports
5
- Icon, mergeStyles, ProgressIndicator, Stack, Text, useTheme } from '@fluentui/react';
14
+ Icon } from '@fluentui/react';
15
+ import { Card, CardHeader, Text, Menu, MenuTrigger, ToolbarButton, MenuPopover, MenuItem, MenuList, Toolbar, CardFooter, ProgressBar } from '@fluentui/react-components';
6
16
  import { getFileTypeIconProps } from '@fluentui/react-file-type-icons';
7
17
  import React from 'react';
8
- import { _pxToRem } from "../../../acs-ui-common/src";
9
18
  import { Announcer } from './Announcer';
10
- import { useEffect, useState } from 'react';
19
+ import { useEffect, useState, useMemo } from 'react';
11
20
  import { useLocaleAttachmentCardStringsTrampoline } from './utils/common';
21
+ import { useAttachmentCardStyles, attachmentNameContainerClassName } from './styles/AttachmentCard.styles';
12
22
  /**
13
23
  * @internal
14
- * A component for displaying a attachment card with attachment icon and progress bar.
24
+ * A component for displaying an attachment card with attachment icon and progress bar.
25
+ *
26
+ * `_AttachmentCard` internally uses the `Card` component from `@fluentui/react-components`. You can checkout the details about these components [here](https://react.fluentui.dev/?path=/docs/components-card).
15
27
  */
16
28
  export const _AttachmentCard = (props) => {
17
29
  var _a, _b, _c, _d;
18
- const { attachmentName, attachmentExtension, progress, actionIcon } = props;
19
- const theme = useTheme();
30
+ const { attachment, menuActions, onActionHandlerFailed } = props;
31
+ const attachmentCardStyles = useAttachmentCardStyles();
32
+ const progress = useMemo(() => {
33
+ return attachment.progress;
34
+ }, [attachment.progress]);
35
+ const isUploadComplete = useMemo(() => {
36
+ return progress !== undefined && progress > 0 && progress < 1;
37
+ }, [progress]);
20
38
  const [announcerString, setAnnouncerString] = useState(undefined);
21
39
  const localeStrings = useLocaleAttachmentCardStringsTrampoline();
22
40
  const uploadStartedString = (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.uploading) !== null && _b !== void 0 ? _b : localeStrings.uploading;
@@ -24,70 +42,54 @@ export const _AttachmentCard = (props) => {
24
42
  const showProgressIndicator = progress !== undefined && progress > 0 && progress < 1;
25
43
  useEffect(() => {
26
44
  if (showProgressIndicator) {
27
- setAnnouncerString(`${uploadStartedString} ${attachmentName}`);
45
+ setAnnouncerString(`${uploadStartedString} ${attachment.name}`);
28
46
  }
29
47
  else if (progress === 1) {
30
- setAnnouncerString(`${attachmentName} ${uploadCompletedString}`);
48
+ setAnnouncerString(`${attachment.name} ${uploadCompletedString}`);
31
49
  }
32
50
  else {
33
51
  setAnnouncerString(undefined);
34
52
  }
35
- }, [progress, showProgressIndicator, attachmentName, uploadStartedString, uploadCompletedString]);
36
- const progressBarThicknessPx = 4;
37
- const containerClassName = mergeStyles({
38
- width: '12rem',
39
- background: theme.palette.neutralLighter,
40
- borderRadius: theme.effects.roundedCorner4,
41
- border: `${_pxToRem(1)} solid ${theme.palette.neutralQuaternary}`,
42
- cursor: 'pointer'
43
- });
44
- const attachmentInfoWrapperClassName = mergeStyles({
45
- padding: _pxToRem(12),
46
- // To make space for the progress indicator.
47
- paddingBottom: showProgressIndicator ? _pxToRem(12 - progressBarThicknessPx * 2) : _pxToRem(12)
48
- });
49
- const attachmentNameContainerClassName = mergeStyles({
50
- paddingLeft: _pxToRem(4),
51
- minWidth: '75%',
52
- maxWidth: '75%'
53
- });
54
- const attachmentNameTextClassName = mergeStyles({
55
- overflow: 'hidden',
56
- textOverflow: 'ellipsis',
57
- lineHeight: 'normal',
58
- whiteSpace: 'nowrap',
59
- paddingRight: _pxToRem(4)
60
- });
61
- const actionIconClassName = mergeStyles({
62
- cursor: 'pointer'
63
- });
64
- const progressIndicatorStyles = {
65
- itemProgress: {
66
- padding: `${_pxToRem(progressBarThicknessPx - 1)} 0`,
67
- // item progress height won't apply without an explicit padding
68
- // To make the progress indicator border curve along the bottom of attachment card.
69
- borderRadius: `0 0 ${theme.effects.roundedCorner4} ${theme.effects.roundedCorner4}`
70
- },
71
- progressBar: {
72
- height: _pxToRem(progressBarThicknessPx)
73
- }
74
- };
53
+ }, [progress, showProgressIndicator, attachment.name, uploadStartedString, uploadCompletedString]);
75
54
  return React.createElement("div", { "data-is-focusable": true },
76
55
  React.createElement(Announcer, { announcementString: announcerString, ariaLive: 'polite' }),
77
- React.createElement(Stack, { className: containerClassName, onClick: () => {
78
- var _a;
79
- (_a = props.actionHandler) === null || _a === void 0 ? void 0 : _a.call(props);
80
- } },
81
- React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: attachmentInfoWrapperClassName },
82
- React.createElement(Stack, null,
83
- React.createElement(Icon, { "data-ui-id": 'filetype-icon', iconName: getFileTypeIconProps({
84
- extension: attachmentExtension,
85
- size: 24,
86
- imageFileType: 'svg'
87
- }).iconName })),
88
- React.createElement(Stack, { className: attachmentNameContainerClassName },
89
- React.createElement(Text, { className: attachmentNameTextClassName }, attachmentName)),
90
- React.createElement(Stack, { verticalAlign: "center", className: actionIconClassName }, actionIcon && actionIcon)),
91
- showProgressIndicator && React.createElement(ProgressIndicator, { percentComplete: progress, styles: progressIndicatorStyles })));
56
+ React.createElement(Card, { className: attachmentCardStyles.root, size: "small", role: "listitem", appearance: "filled-alternative", "aria-label": attachment.name },
57
+ React.createElement(CardHeader, { image: React.createElement(Icon, { "data-ui-id": 'attachmenttype-icon', iconName: getFileTypeIconProps({
58
+ extension: useMemo(() => {
59
+ var _a, _b;
60
+ return (_b = (_a = attachment.extension) !== null && _a !== void 0 ? _a : attachment.name.split('.').pop()) !== null && _b !== void 0 ? _b : '';
61
+ }, [attachment]),
62
+ size: 24,
63
+ imageFileType: 'svg'
64
+ }).iconName }), header: React.createElement("div", { className: attachmentNameContainerClassName },
65
+ React.createElement(Text, { title: attachment.name }, attachment.name)), action: MappedMenuItems(menuActions, attachment, onActionHandlerFailed) })),
66
+ isUploadComplete ? React.createElement(CardFooter, null,
67
+ React.createElement(ProgressBar, { thickness: "medium", value: progress, shape: "rounded" })) : React.createElement(React.Fragment, null, " "));
68
+ };
69
+ const MappedMenuItems = (menuActions, attachment, handleOnClickError) => {
70
+ const localeStrings = useLocaleAttachmentCardStringsTrampoline();
71
+ if (menuActions.length === 0) {
72
+ return React.createElement(React.Fragment, null);
73
+ }
74
+ return menuActions.length === 1 ? React.createElement(ToolbarButton, { "aria-label": menuActions[0].name, icon: menuActions[0].icon, onClick: () => {
75
+ try {
76
+ menuActions[0].onClick(attachment);
77
+ }
78
+ catch (e) {
79
+ handleOnClickError === null || handleOnClickError === void 0 ? void 0 : handleOnClickError(e.message);
80
+ }
81
+ } }) : React.createElement(Toolbar, null,
82
+ React.createElement(Menu, null,
83
+ React.createElement(MenuTrigger, null,
84
+ React.createElement(ToolbarButton, { icon: React.createElement(Icon, { iconName: "AttachmentMoreMenu", "aria-label": localeStrings.attachmentMoreMenu }) })),
85
+ React.createElement(MenuPopover, null,
86
+ React.createElement(MenuList, null, menuActions.map((menuItem, index) => React.createElement(MenuItem, { key: index, icon: menuItem.icon, onClick: () => __awaiter(void 0, void 0, void 0, function* () {
87
+ try {
88
+ yield menuItem.onClick(attachment);
89
+ }
90
+ catch (e) {
91
+ handleOnClickError === null || handleOnClickError === void 0 ? void 0 : handleOnClickError(e.message);
92
+ }
93
+ }) }, menuItem.name))))));
92
94
  };
93
95
  //# sourceMappingURL=AttachmentCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentCard.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/AttachmentCard.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO;AACP,iDAAiD;AACjD,IAAI,EAAkF,WAAW,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrK,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,mCAAgC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,wCAAwC,EAAE,MAAM,gBAAgB,CAAC;AAkC1E;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAe,EAAE;;IAC1E,MAAM,EACJ,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACX,GAAG,KAAK,CAAC;IACV,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IACtF,MAAM,aAAa,GAAG,wCAAwC,EAAE,CAAC;IACjE,MAAM,mBAAmB,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,SAAS,mCAAI,aAAa,CAAC,SAAS,CAAC;IAChF,MAAM,qBAAqB,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,eAAe,mCAAI,aAAa,CAAC,eAAe,CAAC;IAC9F,MAAM,qBAAqB,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACrF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,kBAAkB,CAAC,GAAG,mBAAmB,IAAI,cAAc,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,kBAAkB,CAAC,GAAG,cAAc,IAAI,qBAAqB,EAAE,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAClG,MAAM,sBAAsB,GAAG,CAAC,CAAC;IACjC,MAAM,kBAAkB,GAAG,WAAW,CAAC;QACrC,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;QACxC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;QAC1C,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE;QACjE,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,MAAM,8BAA8B,GAAG,WAAW,CAAC;QACjD,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrB,4CAA4C;QAC5C,aAAa,EAAE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;KAChG,CAAC,CAAC;IACH,MAAM,gCAAgC,GAAG,WAAW,CAAC;QACnD,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxB,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,MAAM,2BAA2B,GAAG,WAAW,CAAC;QAC9C,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,UAAU;QACxB,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC1B,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAmF;QAC9G,YAAY,EAAE;YACZ,OAAO,EAAE,GAAG,QAAQ,CAAC,sBAAsB,GAAG,CAAC,CAAC,IAAI;YACpD,+DAA+D;YAC/D,mFAAmF;YACnF,YAAY,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;SACpF;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;SACzC;KACF,CAAC;IACF,OAAO,kDAAwB,IAAI;QAC/B,oBAAC,SAAS,IAAC,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,GAAI;QACtE,oBAAC,KAAK,IAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAE;;gBACpD,MAAA,KAAK,CAAC,aAAa,qDAAI,CAAC;YAC1B,CAAC;YACG,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,eAAe,EAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,8BAA8B;gBAChH,oBAAC,KAAK;oBAEJ,oBAAC,IAAI,kBAAa,eAAe,EAAE,QAAQ,EAAE,oBAAoB,CAAC;4BAClE,SAAS,EAAE,mBAAmB;4BAC9B,IAAI,EAAE,EAAE;4BACR,aAAa,EAAE,KAAK;yBACrB,CAAC,CAAC,QAAQ,GAAI,CACP;gBACR,oBAAC,KAAK,IAAC,SAAS,EAAE,gCAAgC;oBAChD,oBAAC,IAAI,IAAC,SAAS,EAAE,2BAA2B,IAAG,cAAc,CAAQ,CAC/D;gBACR,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,mBAAmB,IACzD,UAAU,IAAI,UAAU,CACnB,CACF;YACP,qBAAqB,IAAI,oBAAC,iBAAiB,IAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,GAAI,CACrG,CACJ,CAAC;AACX,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n// eslint-disable-next-line no-restricted-imports\nIcon, IProgressIndicatorStyleProps, IProgressIndicatorStyles, IStyleFunctionOrObject, mergeStyles, ProgressIndicator, Stack, Text, useTheme } from '@fluentui/react';\nimport { getFileTypeIconProps } from '@fluentui/react-file-type-icons';\nimport React from 'react';\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport { Announcer } from './Announcer';\nimport { useEffect, useState } from 'react';\nimport { _AttachmentUploadCardsStrings } from './AttachmentUploadCards';\nimport { useLocaleAttachmentCardStringsTrampoline } from './utils/common';\n\n/**\n * @internal\n * _AttachmentCard Component Props.\n */\nexport interface _AttachmentCardProps {\n /**\n * Attachment name.\n */\n attachmentName: string;\n /**\n * Extension of the attachment used for rendering the attachment icon.\n */\n attachmentExtension: string;\n /**\n * Attachment upload progress percentage between 0 and 1.\n * Attachment transfer progress indicator is only shown when the value is greater than 0 and less than 1.\n */\n progress?: number;\n /**\n * Icon to display for actions like download, upload, etc. along the attachment name.\n */\n actionIcon?: JSX.Element;\n /**\n * Function that runs when actionIcon is clicked\n */\n actionHandler?: () => void;\n /**\n * Optional arialabel strings for attachment cards\n */\n strings?: _AttachmentUploadCardsStrings;\n}\n\n/**\n * @internal\n * A component for displaying a attachment card with attachment icon and progress bar.\n */\nexport const _AttachmentCard = (props: _AttachmentCardProps): JSX.Element => {\n const {\n attachmentName,\n attachmentExtension,\n progress,\n actionIcon\n } = props;\n const theme = useTheme();\n const [announcerString, setAnnouncerString] = useState<string | undefined>(undefined);\n const localeStrings = useLocaleAttachmentCardStringsTrampoline();\n const uploadStartedString = props.strings?.uploading ?? localeStrings.uploading;\n const uploadCompletedString = props.strings?.uploadCompleted ?? localeStrings.uploadCompleted;\n const showProgressIndicator = progress !== undefined && progress > 0 && progress < 1;\n useEffect(() => {\n if (showProgressIndicator) {\n setAnnouncerString(`${uploadStartedString} ${attachmentName}`);\n } else if (progress === 1) {\n setAnnouncerString(`${attachmentName} ${uploadCompletedString}`);\n } else {\n setAnnouncerString(undefined);\n }\n }, [progress, showProgressIndicator, attachmentName, uploadStartedString, uploadCompletedString]);\n const progressBarThicknessPx = 4;\n const containerClassName = mergeStyles({\n width: '12rem',\n background: theme.palette.neutralLighter,\n borderRadius: theme.effects.roundedCorner4,\n border: `${_pxToRem(1)} solid ${theme.palette.neutralQuaternary}`,\n cursor: 'pointer'\n });\n const attachmentInfoWrapperClassName = mergeStyles({\n padding: _pxToRem(12),\n // To make space for the progress indicator.\n paddingBottom: showProgressIndicator ? _pxToRem(12 - progressBarThicknessPx * 2) : _pxToRem(12)\n });\n const attachmentNameContainerClassName = mergeStyles({\n paddingLeft: _pxToRem(4),\n minWidth: '75%',\n maxWidth: '75%'\n });\n const attachmentNameTextClassName = mergeStyles({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n paddingRight: _pxToRem(4)\n });\n const actionIconClassName = mergeStyles({\n cursor: 'pointer'\n });\n const progressIndicatorStyles: IStyleFunctionOrObject<IProgressIndicatorStyleProps, IProgressIndicatorStyles> = {\n itemProgress: {\n padding: `${_pxToRem(progressBarThicknessPx - 1)} 0`,\n // item progress height won't apply without an explicit padding\n // To make the progress indicator border curve along the bottom of attachment card.\n borderRadius: `0 0 ${theme.effects.roundedCorner4} ${theme.effects.roundedCorner4}`\n },\n progressBar: {\n height: _pxToRem(progressBarThicknessPx)\n }\n };\n return <div data-is-focusable={true}>\n <Announcer announcementString={announcerString} ariaLive={'polite'} />\n <Stack className={containerClassName} onClick={() => {\n props.actionHandler?.();\n }}>\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\" className={attachmentInfoWrapperClassName}>\n <Stack>\n {/* We are not using <ChatCompositeIcon /> here as we currently do not support customizing these attachmenttype icons. */}\n <Icon data-ui-id={'filetype-icon'} iconName={getFileTypeIconProps({\n extension: attachmentExtension,\n size: 24,\n imageFileType: 'svg'\n }).iconName} />\n </Stack>\n <Stack className={attachmentNameContainerClassName}>\n <Text className={attachmentNameTextClassName}>{attachmentName}</Text>\n </Stack>\n <Stack verticalAlign=\"center\" className={actionIconClassName}>\n {actionIcon && actionIcon}\n </Stack>\n </Stack>\n {showProgressIndicator && <ProgressIndicator percentComplete={progress} styles={progressIndicatorStyles} />}\n </Stack>\n </div>;\n};"]}
1
+ {"version":3,"file":"AttachmentCard.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/AttachmentCard.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n// eslint-disable-next-line no-restricted-imports\nIcon } from '@fluentui/react';\nimport { Card, CardHeader, Text, Menu, MenuTrigger, ToolbarButton, MenuPopover, MenuItem, MenuList, Toolbar, CardFooter, ProgressBar } from '@fluentui/react-components';\nimport { getFileTypeIconProps } from '@fluentui/react-file-type-icons';\nimport React from 'react';\nimport { _pxToRem } from '@internal/acs-ui-common';\nimport { Announcer } from './Announcer';\nimport { useEffect, useState, useMemo } from 'react';\nimport { _AttachmentUploadCardsStrings } from './AttachmentUploadCards';\nimport { useLocaleAttachmentCardStringsTrampoline } from './utils/common';\nimport { AttachmentMetadata, AttachmentMenuAction } from '../types/Attachment';\nimport { useAttachmentCardStyles, attachmentNameContainerClassName } from './styles/AttachmentCard.styles';\n\n/**\n * @internal\n * AttachmentCard Component Props.\n */\nexport interface _AttachmentCardProps {\n /**\n * Attachment details including name, extension, url, etc.\n */\n attachment: AttachmentMetadata;\n /**\n * An array of menu actions to be displayed in the attachment card.\n */\n menuActions: AttachmentMenuAction[];\n /**\n * Optional aria label strings for attachment upload cards\n */\n strings?: _AttachmentUploadCardsStrings;\n /**\n * Optional callback that runs if menu bar action onclick throws.\n */\n onActionHandlerFailed?: (errMsg: string) => void;\n}\n\n/**\n * @internal\n * A component for displaying an attachment card with attachment icon and progress bar.\n *\n * `_AttachmentCard` internally uses the `Card` component from `@fluentui/react-components`. You can checkout the details about these components [here](https://react.fluentui.dev/?path=/docs/components-card).\n */\nexport const _AttachmentCard = (props: _AttachmentCardProps): JSX.Element => {\n const {\n attachment,\n menuActions,\n onActionHandlerFailed\n } = props;\n const attachmentCardStyles = useAttachmentCardStyles();\n const progress = useMemo(() => {\n return attachment.progress;\n }, [attachment.progress]);\n const isUploadComplete = useMemo(() => {\n return progress !== undefined && progress > 0 && progress < 1;\n }, [progress]);\n const [announcerString, setAnnouncerString] = useState<string | undefined>(undefined);\n const localeStrings = useLocaleAttachmentCardStringsTrampoline();\n const uploadStartedString = props.strings?.uploading ?? localeStrings.uploading;\n const uploadCompletedString = props.strings?.uploadCompleted ?? localeStrings.uploadCompleted;\n const showProgressIndicator = progress !== undefined && progress > 0 && progress < 1;\n useEffect(() => {\n if (showProgressIndicator) {\n setAnnouncerString(`${uploadStartedString} ${attachment.name}`);\n } else if (progress === 1) {\n setAnnouncerString(`${attachment.name} ${uploadCompletedString}`);\n } else {\n setAnnouncerString(undefined);\n }\n }, [progress, showProgressIndicator, attachment.name, uploadStartedString, uploadCompletedString]);\n return <div data-is-focusable={true}>\n <Announcer announcementString={announcerString} ariaLive={'polite'} />\n <Card className={attachmentCardStyles.root} size=\"small\" role=\"listitem\" appearance=\"filled-alternative\" aria-label={attachment.name}>\n <CardHeader image={<Icon data-ui-id={'attachmenttype-icon'} iconName={getFileTypeIconProps({\n extension: useMemo((): string => {\n return attachment.extension ?? attachment.name.split('.').pop() ?? '';\n }, [attachment]),\n size: 24,\n imageFileType: 'svg'\n }).iconName} />} header={<div className={attachmentNameContainerClassName}>\n <Text title={attachment.name}>{attachment.name}</Text>\n </div>} action={MappedMenuItems(menuActions, attachment, onActionHandlerFailed)} />\n </Card>\n {isUploadComplete ? <CardFooter>\n <ProgressBar thickness=\"medium\" value={progress} shape=\"rounded\" />\n </CardFooter> : <> </>}\n </div>;\n};\nconst MappedMenuItems = (menuActions: AttachmentMenuAction[], attachment: AttachmentMetadata, handleOnClickError?: (errMsg: string) => void): JSX.Element => {\n const localeStrings = useLocaleAttachmentCardStringsTrampoline();\n if (menuActions.length === 0) {\n return <></>;\n }\n return menuActions.length === 1 ? <ToolbarButton aria-label={menuActions[0].name} icon={menuActions[0].icon} onClick={() => {\n try {\n menuActions[0].onClick(attachment);\n } catch (e) {\n handleOnClickError?.((e as Error).message);\n }\n }} /> : <Toolbar>\n <Menu>\n <MenuTrigger>\n <ToolbarButton icon={<Icon iconName=\"AttachmentMoreMenu\" aria-label={localeStrings.attachmentMoreMenu} />} />\n </MenuTrigger>\n <MenuPopover>\n <MenuList>\n {menuActions.map((menuItem, index) => <MenuItem key={index} icon={menuItem.icon} onClick={async () => {\n try {\n await menuItem.onClick(attachment);\n } catch (e) {\n handleOnClickError?.((e as Error).message);\n }\n }}>\n {menuItem.name}\n </MenuItem>)}\n </MenuList>\n </MenuPopover>\n </Menu>\n </Toolbar>;\n};"]}
@@ -1,10 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { AttachmentMetadata, FileDownloadHandler } from '../types/Attachment';
2
+ import { AttachmentMenuAction, AttachmentMetadata } from '../types/Attachment';
3
+ import { ChatMessage } from '../types';
3
4
  /**
4
5
  * Represents the type of attachment
5
6
  * @public
6
7
  */
7
- export type ChatAttachmentType = 'unknown' | 'image' | /* @conditional-compile-remove(file-sharing) */ 'file';
8
+ export type ChatAttachmentType = 'unknown' | 'image';
8
9
  /**
9
10
  * Strings of _AttachmentDownloadCards that can be overridden.
10
11
  *
@@ -13,6 +14,8 @@ export type ChatAttachmentType = 'unknown' | 'image' | /* @conditional-compile-r
13
14
  export interface _AttachmentDownloadCardsStrings {
14
15
  /** Aria label to notify user when focus is on attachment download button. */
15
16
  downloadAttachment: string;
17
+ /** Aria label to notify user when focus is on attachment open button. */
18
+ openAttachment: string;
16
19
  attachmentCardGroupMessage: string;
17
20
  }
18
21
  /**
@@ -20,23 +23,21 @@ export interface _AttachmentDownloadCardsStrings {
20
23
  */
21
24
  export interface _AttachmentDownloadCardsProps {
22
25
  /**
23
- * User id of the local participant
26
+ * A chat message metadata that includes attachment metadata
24
27
  */
25
- userId: string;
28
+ attachments?: AttachmentMetadata[];
26
29
  /**
27
- * A chat message metadata that includes file metadata
30
+ * A chat message metadata that includes attachment metadata
28
31
  */
29
- fileMetadata?: AttachmentMetadata[];
32
+ message?: ChatMessage;
30
33
  /**
31
- * A function of type {@link FileDownloadHandler} for handling attachment downloads.
32
- * If the function is not specified, the attachment's `url` will be opened in a new tab to
33
- * initiate the download.
34
+ * Optional callback to handle attachment download
34
35
  */
35
- downloadHandler?: FileDownloadHandler;
36
+ actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
36
37
  /**
37
- * Optional callback that runs if downloadHandler returns {@link FileDownloadError}.
38
+ * Optional callback that runs if downloadHandler returns an error.
38
39
  */
39
- onDownloadErrorMessage?: (errMsg: string) => void;
40
+ onActionHandlerFailed?: (errMsg: string) => void;
40
41
  /**
41
42
  * Optional aria label strings for attachment download cards
42
43
  */
@@ -46,4 +47,10 @@ export interface _AttachmentDownloadCardsProps {
46
47
  * @internal
47
48
  */
48
49
  export declare const _AttachmentDownloadCards: (props: _AttachmentDownloadCardsProps) => JSX.Element;
50
+ /**
51
+ * @beta
52
+ *
53
+ * The default menu action for downloading attachments. This action will open the attachment's URL in a new tab.
54
+ */
55
+ export declare const defaultAttachmentMenuAction: AttachmentMenuAction;
49
56
  //# sourceMappingURL=AttachmentDownloadCards.d.ts.map
@@ -1,102 +1,102 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- import { Icon, IconButton, Spinner, SpinnerSize, TooltipHost } from '@fluentui/react';
13
- import React, { useCallback, useState } from 'react';
3
+ import { Icon, TooltipHost } from '@fluentui/react';
4
+ import React, { useCallback } from 'react';
14
5
  import { useMemo } from 'react';
15
- /* @conditional-compile-remove(file-sharing) */
16
- import { useLocale } from '../localization';
17
6
  import { _AttachmentCard } from './AttachmentCard';
18
7
  import { _AttachmentCardGroup } from './AttachmentCardGroup';
19
- import { iconButtonClassName } from './styles/IconButton.styles';
20
8
  import { _formatString } from "../../../acs-ui-common/src";
21
9
  const attachmentDownloadCardsStyle = {
22
10
  marginTop: '0.25rem'
23
11
  };
24
- const actionIconStyle = {
25
- height: '1rem'
26
- };
27
12
  /**
28
13
  * @internal
29
14
  */
30
15
  export const _AttachmentDownloadCards = (props) => {
31
16
  var _a, _b;
32
- const { userId, fileMetadata } = props;
33
- const [showSpinner, setShowSpinner] = useState(false);
17
+ const { attachments, message } = props;
34
18
  const localeStrings = useLocaleStringsTrampoline();
19
+ const getMenuActions = useCallback((attachment, localeStrings, message, action) => {
20
+ const defaultMenuActions = getDefaultMenuActions(localeStrings, message);
21
+ try {
22
+ const actions = action === null || action === void 0 ? void 0 : action(attachment, message);
23
+ if (actions && actions.length > 0) {
24
+ return actions;
25
+ }
26
+ else {
27
+ return defaultMenuActions;
28
+ }
29
+ }
30
+ catch (error) {
31
+ return defaultMenuActions;
32
+ }
33
+ }, []);
35
34
  const downloadAttachmentButtonString = useMemo(() => () => {
36
35
  var _a, _b;
37
36
  return (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadAttachment) !== null && _b !== void 0 ? _b : localeStrings.downloadAttachment;
38
37
  }, [(_a = props.strings) === null || _a === void 0 ? void 0 : _a.downloadAttachment, localeStrings.downloadAttachment]);
39
- const isShowDownloadIcon = useCallback((attachment) => {
40
- var _a;
41
- /* @conditional-compile-remove(file-sharing) */
42
- return ((_a = attachment.payload) === null || _a === void 0 ? void 0 : _a.teamsFileAttachment) !== 'true';
43
- return true;
44
- }, []);
45
38
  const attachmentCardGroupDescription = useMemo(() => () => {
46
- var _a, _b, _c, _d;
47
- const fileGroupLocaleString = (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.attachmentCardGroupMessage) !== null && _b !== void 0 ? _b : localeStrings.attachmentCardGroupMessage;
48
- /* @conditional-compile-remove(file-sharing) */
49
- return _formatString(fileGroupLocaleString, {
50
- attachmentCount: `${(_c = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.length) !== null && _c !== void 0 ? _c : 0}`
51
- });
52
- return _formatString(fileGroupLocaleString, {
53
- attachmentCount: `${(_d = fileMetadata === null || fileMetadata === void 0 ? void 0 : fileMetadata.length) !== null && _d !== void 0 ? _d : 0}`
39
+ var _a, _b, _c;
40
+ const attachmentGroupLocaleString = (_b = (_a = props.strings) === null || _a === void 0 ? void 0 : _a.attachmentCardGroupMessage) !== null && _b !== void 0 ? _b : localeStrings.attachmentCardGroupMessage;
41
+ return _formatString(attachmentGroupLocaleString, {
42
+ attachmentCount: `${(_c = attachments === null || attachments === void 0 ? void 0 : attachments.length) !== null && _c !== void 0 ? _c : 0}`
54
43
  });
55
- }, [(_b = props.strings) === null || _b === void 0 ? void 0 : _b.attachmentCardGroupMessage, localeStrings.attachmentCardGroupMessage, fileMetadata]);
56
- const fileDownloadHandler = useCallback((userId, file) => __awaiter(void 0, void 0, void 0, function* () {
57
- if (!props.downloadHandler) {
58
- window.open(file.url, '_blank', 'noopener,noreferrer');
59
- }
60
- else {
61
- setShowSpinner(true);
62
- try {
63
- const response = yield props.downloadHandler(userId, file);
64
- setShowSpinner(false);
65
- if (response instanceof URL) {
66
- window.open(response.toString(), '_blank', 'noopener,noreferrer');
67
- }
68
- else {
69
- props.onDownloadErrorMessage && props.onDownloadErrorMessage(response.errorMessage);
70
- }
71
- }
72
- finally {
73
- setShowSpinner(false);
74
- }
75
- }
76
- }), [props]);
77
- if (!fileMetadata || fileMetadata.length === 0 || !fileMetadata) {
44
+ }, [(_b = props.strings) === null || _b === void 0 ? void 0 : _b.attachmentCardGroupMessage, localeStrings.attachmentCardGroupMessage, attachments]);
45
+ if (!attachments || attachments.length === 0 || !attachments) {
78
46
  return React.createElement(React.Fragment, null);
79
47
  }
80
- return React.createElement("div", { style: attachmentDownloadCardsStyle, "data-ui-id": "file-download-card-group" },
81
- React.createElement(_AttachmentCardGroup, { ariaLabel: attachmentCardGroupDescription() }, fileMetadata && fileMetadata.map(attachment => React.createElement(TooltipHost, { content: downloadAttachmentButtonString(), key: attachment.name },
82
- React.createElement(_AttachmentCard, { attachmentName: attachment.name, key: attachment.name, attachmentExtension: attachment.extension, actionIcon: showSpinner ? React.createElement(Spinner, { size: SpinnerSize.medium, "aria-live": 'polite', role: 'status' }) : true && isShowDownloadIcon(attachment) ? React.createElement(IconButton, { className: iconButtonClassName, ariaLabel: downloadAttachmentButtonString() },
83
- React.createElement(DownloadIconTrampoline, null)) : undefined, actionHandler: () => fileDownloadHandler(userId, attachment) })))));
48
+ return React.createElement("div", { style: attachmentDownloadCardsStyle, "data-ui-id": "attachment-download-card-group" },
49
+ React.createElement(_AttachmentCardGroup, { ariaLabel: attachmentCardGroupDescription() }, attachments && attachments.map(attachment => React.createElement(TooltipHost, { content: downloadAttachmentButtonString(), key: attachment.name },
50
+ React.createElement(_AttachmentCard, { attachment: attachment, key: attachment.id, menuActions: getMenuActions(attachment, localeStrings, message, props.actionsForAttachment), onActionHandlerFailed: props.onActionHandlerFailed })))));
84
51
  };
85
52
  /**
86
53
  * @private
87
54
  */
88
- const DownloadIconTrampoline = () => {
89
- // @conditional-compile-remove(file-sharing)
90
- return React.createElement(Icon, { "data-ui-id": "file-download-card-download-icon", iconName: "DownloadFile", style: actionIconStyle });
91
- // Return _some_ available icon, as the real icon is beta-only.
92
- return React.createElement(Icon, { iconName: "EditBoxCancel", style: actionIconStyle });
93
- };
94
55
  const useLocaleStringsTrampoline = () => {
95
- /* @conditional-compile-remove(file-sharing) */
96
- return useLocale().strings.messageThread;
97
56
  return {
98
57
  downloadAttachment: '',
58
+ openAttachment: '',
99
59
  attachmentCardGroupMessage: ''
100
60
  };
101
61
  };
62
+ /**
63
+ * @private
64
+ */
65
+ const getDefaultMenuActions = (locale, chatMessage) => {
66
+ var _a;
67
+ // if message is sent by a Teams user, we need to use a different icon ("open")
68
+ if ((_a = chatMessage === null || chatMessage === void 0 ? void 0 : chatMessage.senderId) === null || _a === void 0 ? void 0 : _a.includes('8:orgid:')) {
69
+ return [Object.assign(Object.assign({}, defaultAttachmentMenuAction), { name: locale.openAttachment, icon: React.createElement(Icon, { iconName: "OpenAttachment" }) })];
70
+ }
71
+ // otherwise, use the default icon ("download")
72
+ return [Object.assign(Object.assign({}, defaultAttachmentMenuAction), { name: locale.downloadAttachment })];
73
+ };
74
+ /**
75
+ * @beta
76
+ *
77
+ * The default menu action for downloading attachments. This action will open the attachment's URL in a new tab.
78
+ */
79
+ export const defaultAttachmentMenuAction = {
80
+ /**
81
+ *
82
+ * name is used for aria-label only when there's one button. For multiple buttons, it's used as a label.
83
+ * by default it's an unlocalized string when this is used as a imported constant,
84
+ * but you can overwrite it with your own localized string.
85
+ *
86
+ * i.e. defaultAttachmentMenuAction.name = localize('Download');
87
+ *
88
+ * when no action is provided, the UI library will overwrite this name
89
+ * with a localized string this string when it's used in the UI.
90
+ */
91
+ name: 'Download',
92
+ // this is the icon shown on the right of the attachment card
93
+ icon: React.createElement(Icon, { iconName: "DownloadAttachment", "data-ui-id": "attachment-download-card-download-icon" }),
94
+ // this is the action that runs when the icon is clicked
95
+ onClick: (attachment) => {
96
+ return new Promise(resolve => {
97
+ window.open(attachment.url, '_blank', 'noopener,noreferrer');
98
+ resolve();
99
+ });
100
+ }
101
+ };
102
102
  //# sourceMappingURL=AttachmentDownloadCards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentDownloadCards.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/AttachmentDownloadCards.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Icon, IconButton, Spinner, SpinnerSize, TooltipHost } from '@fluentui/react';\nimport React, { useCallback, useState } from 'react';\nimport { useMemo } from 'react';\n/* @conditional-compile-remove(file-sharing) */\nimport { useLocale } from '../localization';\nimport { _AttachmentCard } from './AttachmentCard';\nimport { _AttachmentCardGroup } from './AttachmentCardGroup';\nimport { iconButtonClassName } from './styles/IconButton.styles';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { AttachmentMetadata, FileDownloadHandler } from '../types/Attachment';\n\n/**\n * Represents the type of attachment\n * @public\n */\nexport type ChatAttachmentType = 'unknown' | 'image' | /* @conditional-compile-remove(file-sharing) */'file';\n\n/**\n * Strings of _AttachmentDownloadCards that can be overridden.\n *\n * @internal\n */\nexport interface _AttachmentDownloadCardsStrings {\n /** Aria label to notify user when focus is on attachment download button. */\n downloadAttachment: string;\n attachmentCardGroupMessage: string;\n}\n\n/**\n * @internal\n */\nexport interface _AttachmentDownloadCardsProps {\n /**\n * User id of the local participant\n */\n userId: string;\n /**\n * A chat message metadata that includes file metadata\n */\n fileMetadata?: AttachmentMetadata[];\n /**\n * A function of type {@link FileDownloadHandler} for handling attachment downloads.\n * If the function is not specified, the attachment's `url` will be opened in a new tab to\n * initiate the download.\n */\n downloadHandler?: FileDownloadHandler;\n /**\n * Optional callback that runs if downloadHandler returns {@link FileDownloadError}.\n */\n onDownloadErrorMessage?: (errMsg: string) => void;\n /**\n * Optional aria label strings for attachment download cards\n */\n strings?: _AttachmentDownloadCardsStrings;\n}\nconst attachmentDownloadCardsStyle = {\n marginTop: '0.25rem'\n};\nconst actionIconStyle = {\n height: '1rem'\n};\n\n/**\n * @internal\n */\nexport const _AttachmentDownloadCards = (props: _AttachmentDownloadCardsProps): JSX.Element => {\n const {\n userId,\n fileMetadata\n } = props;\n const [showSpinner, setShowSpinner] = useState(false);\n const localeStrings = useLocaleStringsTrampoline();\n const downloadAttachmentButtonString = useMemo(() => () => {\n return props.strings?.downloadAttachment ?? localeStrings.downloadAttachment;\n }, [props.strings?.downloadAttachment, localeStrings.downloadAttachment]);\n const isShowDownloadIcon = useCallback((attachment: AttachmentMetadata): boolean => {\n /* @conditional-compile-remove(file-sharing) */\n return attachment.payload?.teamsFileAttachment !== 'true';\n return true;\n }, []);\n const attachmentCardGroupDescription = useMemo(() => () => {\n const fileGroupLocaleString = props.strings?.attachmentCardGroupMessage ?? localeStrings.attachmentCardGroupMessage;\n /* @conditional-compile-remove(file-sharing) */\n return _formatString(fileGroupLocaleString, {\n attachmentCount: `${fileMetadata?.length ?? 0}`\n });\n return _formatString(fileGroupLocaleString, {\n attachmentCount: `${fileMetadata?.length ?? 0}`\n });\n }, [props.strings?.attachmentCardGroupMessage, localeStrings.attachmentCardGroupMessage, fileMetadata]);\n const fileDownloadHandler = useCallback(async (userId: string, file: AttachmentMetadata) => {\n if (!props.downloadHandler) {\n window.open(file.url, '_blank', 'noopener,noreferrer');\n } else {\n setShowSpinner(true);\n try {\n const response = await props.downloadHandler(userId, file);\n setShowSpinner(false);\n if (response instanceof URL) {\n window.open(response.toString(), '_blank', 'noopener,noreferrer');\n } else {\n props.onDownloadErrorMessage && props.onDownloadErrorMessage(response.errorMessage);\n }\n } finally {\n setShowSpinner(false);\n }\n }\n }, [props]);\n if (!fileMetadata || fileMetadata.length === 0 || !fileMetadata) {\n return <></>;\n }\n return <div style={attachmentDownloadCardsStyle} data-ui-id=\"file-download-card-group\">\n <_AttachmentCardGroup ariaLabel={attachmentCardGroupDescription()}>\n {fileMetadata && fileMetadata.map(attachment => <TooltipHost content={downloadAttachmentButtonString()} key={attachment.name}>\n <_AttachmentCard attachmentName={attachment.name} key={attachment.name} attachmentExtension={attachment.extension} actionIcon={showSpinner ? <Spinner size={SpinnerSize.medium} aria-live={'polite'} role={'status'} /> : true && isShowDownloadIcon(attachment) ? <IconButton className={iconButtonClassName} ariaLabel={downloadAttachmentButtonString()}>\n <DownloadIconTrampoline />\n </IconButton> : undefined} actionHandler={() => fileDownloadHandler(userId, attachment)} />\n </TooltipHost>)}\n </_AttachmentCardGroup>\n </div>;\n};\n\n/**\n * @private\n */\nconst DownloadIconTrampoline = (): JSX.Element => {\n // @conditional-compile-remove(file-sharing)\n return <Icon data-ui-id=\"file-download-card-download-icon\" iconName=\"DownloadFile\" style={actionIconStyle} />;\n // Return _some_ available icon, as the real icon is beta-only.\n return <Icon iconName=\"EditBoxCancel\" style={actionIconStyle} />;\n};\nconst useLocaleStringsTrampoline = (): _AttachmentDownloadCardsStrings => {\n /* @conditional-compile-remove(file-sharing) */\n return useLocale().strings.messageThread;\n return {\n downloadAttachment: '',\n attachmentCardGroupMessage: ''\n };\n};"]}
1
+ {"version":3,"file":"AttachmentDownloadCards.js","sourceRoot":"","sources":["../../../../../preprocess-dist/react-components/src/components/AttachmentDownloadCards.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { Icon, TooltipHost } from '@fluentui/react';\nimport React, { useCallback } from 'react';\nimport { useMemo } from 'react';\nimport { _AttachmentCard } from './AttachmentCard';\nimport { _AttachmentCardGroup } from './AttachmentCardGroup';\nimport { _formatString } from '@internal/acs-ui-common';\nimport { AttachmentMenuAction, AttachmentMetadata } from '../types/Attachment';\nimport { ChatMessage } from '../types';\n\n/**\n * Represents the type of attachment\n * @public\n */\nexport type ChatAttachmentType = 'unknown' | 'image';\n\n/**\n * Strings of _AttachmentDownloadCards that can be overridden.\n *\n * @internal\n */\nexport interface _AttachmentDownloadCardsStrings {\n /** Aria label to notify user when focus is on attachment download button. */\n downloadAttachment: string;\n /** Aria label to notify user when focus is on attachment open button. */\n openAttachment: string;\n attachmentCardGroupMessage: string;\n}\n\n/**\n * @internal\n */\nexport interface _AttachmentDownloadCardsProps {\n /**\n * A chat message metadata that includes attachment metadata\n */\n attachments?: AttachmentMetadata[];\n /**\n * A chat message metadata that includes attachment metadata\n */\n message?: ChatMessage;\n /**\n * Optional callback to handle attachment download\n */\n actionsForAttachment?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];\n /**\n * Optional callback that runs if downloadHandler returns an error.\n */\n onActionHandlerFailed?: (errMsg: string) => void;\n /**\n * Optional aria label strings for attachment download cards\n */\n strings?: _AttachmentDownloadCardsStrings;\n}\nconst attachmentDownloadCardsStyle = {\n marginTop: '0.25rem'\n};\n\n/**\n * @internal\n */\nexport const _AttachmentDownloadCards = (props: _AttachmentDownloadCardsProps): JSX.Element => {\n const {\n attachments,\n message\n } = props;\n const localeStrings = useLocaleStringsTrampoline();\n const getMenuActions = useCallback((attachment: AttachmentMetadata, localeStrings: _AttachmentDownloadCardsStrings, message?: ChatMessage, action?: (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[]): AttachmentMenuAction[] => {\n const defaultMenuActions = getDefaultMenuActions(localeStrings, message);\n try {\n const actions = action?.(attachment, message);\n if (actions && actions.length > 0) {\n return actions;\n } else {\n return defaultMenuActions;\n }\n } catch (error) {\n return defaultMenuActions;\n }\n }, []);\n const downloadAttachmentButtonString = useMemo(() => () => {\n return props.strings?.downloadAttachment ?? localeStrings.downloadAttachment;\n }, [props.strings?.downloadAttachment, localeStrings.downloadAttachment]);\n const attachmentCardGroupDescription = useMemo(() => () => {\n const attachmentGroupLocaleString = props.strings?.attachmentCardGroupMessage ?? localeStrings.attachmentCardGroupMessage;\n return _formatString(attachmentGroupLocaleString, {\n attachmentCount: `${attachments?.length ?? 0}`\n });\n }, [props.strings?.attachmentCardGroupMessage, localeStrings.attachmentCardGroupMessage, attachments]);\n if (!attachments || attachments.length === 0 || !attachments) {\n return <></>;\n }\n return <div style={attachmentDownloadCardsStyle} data-ui-id=\"attachment-download-card-group\">\n <_AttachmentCardGroup ariaLabel={attachmentCardGroupDescription()}>\n {attachments && attachments.map(attachment => <TooltipHost content={downloadAttachmentButtonString()} key={attachment.name}>\n <_AttachmentCard attachment={attachment} key={attachment.id} menuActions={getMenuActions(attachment, localeStrings, message, props.actionsForAttachment)} onActionHandlerFailed={props.onActionHandlerFailed} />\n </TooltipHost>)}\n </_AttachmentCardGroup>\n </div>;\n};\n\n/**\n * @private\n */\nconst useLocaleStringsTrampoline = (): _AttachmentDownloadCardsStrings => {\n return {\n downloadAttachment: '',\n openAttachment: '',\n attachmentCardGroupMessage: ''\n };\n};\n\n/**\n * @private\n */\nconst getDefaultMenuActions = (locale: _AttachmentDownloadCardsStrings, chatMessage?: ChatMessage): AttachmentMenuAction[] => {\n // if message is sent by a Teams user, we need to use a different icon (\"open\")\n if (chatMessage?.senderId?.includes('8:orgid:')) {\n return [{\n ...defaultAttachmentMenuAction,\n name: locale.openAttachment,\n icon: <Icon iconName=\"OpenAttachment\" />\n }];\n }\n // otherwise, use the default icon (\"download\")\n return [{\n ...defaultAttachmentMenuAction,\n name: locale.downloadAttachment\n }];\n};\n\n/**\n * @beta\n *\n * The default menu action for downloading attachments. This action will open the attachment's URL in a new tab.\n */\nexport const defaultAttachmentMenuAction: AttachmentMenuAction = {\n /**\n *\n * name is used for aria-label only when there's one button. For multiple buttons, it's used as a label.\n * by default it's an unlocalized string when this is used as a imported constant,\n * but you can overwrite it with your own localized string.\n *\n * i.e. defaultAttachmentMenuAction.name = localize('Download');\n *\n * when no action is provided, the UI library will overwrite this name\n * with a localized string this string when it's used in the UI.\n */\n name: 'Download',\n // this is the icon shown on the right of the attachment card\n icon: <Icon iconName=\"DownloadAttachment\" data-ui-id=\"attachment-download-card-download-icon\" />,\n // this is the action that runs when the icon is clicked\n onClick: (attachment: AttachmentMetadata) => {\n return new Promise<void>(resolve => {\n window.open((attachment as AttachmentMetadata).url, '_blank', 'noopener,noreferrer');\n resolve();\n });\n }\n};"]}
@@ -1,36 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { SendBoxErrorBarError } from './SendBoxErrorBar';
3
- /**
4
- * Attributes required for SendBox to show attachment uploads like name, progress etc.
5
- * @beta
6
- */
7
- export interface ActiveFileUpload {
8
- /**
9
- * Unique identifier for the file upload.
10
- */
11
- id: string;
12
- /**
13
- * File name to be rendered for uploaded file.
14
- */
15
- filename: string;
16
- /**
17
- * A number between 0 and 1 indicating the progress of the upload.
18
- * This is unrelated to the `uploadComplete` property.
19
- * It is only used to show the progress of the upload.
20
- * Progress of 1 doesn't mark the upload as complete, set the `uploadComplete`
21
- * property to true to mark the upload as complete.
22
- */
23
- progress: number;
24
- /**
25
- * Error to be displayed to the user if the upload fails.
26
- */
27
- error?: SendBoxErrorBarError;
28
- /**
29
- * `true` means that the upload is completed.
30
- * This is independent of the upload `progress`.
31
- */
32
- uploadComplete?: boolean;
33
- }
2
+ import { AttachmentMetadata } from '../types/Attachment';
34
3
  /**
35
4
  * Strings of _AttachmentUploadCards that can be overridden.
36
5
  *
@@ -43,21 +12,23 @@ export interface _AttachmentUploadCardsStrings {
43
12
  uploading: string;
44
13
  /** Aria label to notify user attachment is uploaded. */
45
14
  uploadCompleted: string;
15
+ /** Aria label to notify user more attachment action menu. */
16
+ attachmentMoreMenu: string;
46
17
  }
47
18
  /**
48
19
  * @internal
49
20
  */
50
- export interface FileUploadCardsProps {
21
+ export interface AttachmentUploadCardsProps {
51
22
  /**
52
23
  * Optional array of active attachment uploads where each object has attibutes
53
24
  * of a attachment upload like name, progress, errormessage etc.
54
25
  */
55
- activeFileUploads?: ActiveFileUpload[];
26
+ activeAttachmentUploads?: AttachmentMetadata[];
56
27
  /**
57
28
  * Optional callback to remove the attachment upload before sending by clicking on
58
29
  * cancel icon.
59
30
  */
60
- onCancelFileUpload?: (attachmentId: string) => void;
31
+ onCancelAttachmentUpload?: (attachmentId: string) => void;
61
32
  /**
62
33
  * Optional arialabel strings for attachment upload cards
63
34
  */
@@ -66,5 +37,5 @@ export interface FileUploadCardsProps {
66
37
  /**
67
38
  * @internal
68
39
  */
69
- export declare const _AttachmentUploadCards: (props: FileUploadCardsProps) => JSX.Element;
40
+ export declare const _AttachmentUploadCards: (props: AttachmentUploadCardsProps) => JSX.Element;
70
41
  //# sourceMappingURL=AttachmentUploadCards.d.ts.map