@azure/communication-react 1.4.3-alpha-202301150014.0 → 1.5.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 (842) hide show
  1. package/CHANGELOG.json +1047 -0
  2. package/CHANGELOG.stable.md +79 -2
  3. package/dist/communication-react.d.ts +29 -1976
  4. package/dist/dist-cjs/communication-react/index.js +6443 -10799
  5. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/identifier.js +64 -3
  13. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -11
  23. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -12
  24. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -13
  26. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +5 -20
  27. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +49 -20
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -11
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +31 -35
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +1 -11
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -13
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -4
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -22
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -6
  44. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -8
  45. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +10 -31
  47. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -14
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +4 -25
  60. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +0 -5
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +0 -11
  63. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +9 -25
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +5 -21
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  69. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  73. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +67 -62
  74. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -27
  76. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -7
  78. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +4 -56
  79. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +64 -56
  83. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -9
  88. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/Converter.js +8 -13
  90. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +57 -51
  92. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  94. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +15 -3
  97. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +0 -1
  100. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +0 -8
  101. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
  104. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
  105. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  107. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +40 -69
  108. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +13 -3
  110. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  113. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  114. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  116. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  118. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -2
  120. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  122. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  123. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  124. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  125. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +14 -13
  127. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -4
  129. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -3
  130. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +10 -41
  136. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  142. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  144. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  148. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +9 -5
  149. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  150. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  151. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +12 -7
  152. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  155. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +127 -113
  157. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  163. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  166. package/dist/dist-esm/communication-react/src/index.d.ts +0 -21
  167. package/dist/dist-esm/communication-react/src/index.js +0 -14
  168. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  169. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/CameraButton.js +6 -6
  172. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +8 -7
  174. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +17 -36
  176. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +4 -8
  178. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +30 -24
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +24 -55
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +11 -7
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  186. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  188. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  190. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  195. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  197. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  199. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  201. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/DevicesButton.js +30 -7
  203. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +44 -42
  205. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.d.ts +0 -1
  207. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +2 -18
  208. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  209. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  210. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +0 -4
  212. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  213. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  215. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +0 -4
  217. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +3 -3
  218. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/EndCallButton.js +7 -3
  221. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -2
  223. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -2
  225. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  227. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +9 -12
  229. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +7 -8
  231. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  233. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  235. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -5
  237. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +12 -5
  239. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  241. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +9 -27
  243. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +36 -23
  245. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +1 -23
  247. package/dist/dist-esm/react-components/src/components/MessageThread.js +97 -157
  248. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +6 -9
  250. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  252. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  254. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +21 -22
  255. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/ParticipantList.js +9 -25
  257. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  259. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  261. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  263. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -2
  265. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +12 -68
  266. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  268. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +12 -6
  270. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -35
  272. package/dist/dist-esm/react-components/src/components/SendBox.js +8 -32
  273. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  275. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  278. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  280. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  282. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  284. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +1 -1
  286. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -12
  287. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -13
  289. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -20
  291. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.d.ts +1 -1
  293. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -12
  294. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +8 -25
  296. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +14 -11
  298. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +16 -33
  300. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  303. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  305. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +7 -2
  307. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  309. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +29 -8
  311. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  313. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -10
  318. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -10
  320. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +0 -2
  322. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +30 -31
  323. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +14 -38
  325. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +0 -66
  327. package/dist/dist-esm/react-components/src/components/VideoGallery.js +19 -147
  328. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +1 -22
  330. package/dist/dist-esm/react-components/src/components/VideoTile.js +46 -98
  331. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +10 -3
  333. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -13
  335. package/dist/dist-esm/react-components/src/components/index.js +0 -8
  336. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +12 -3
  338. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +4 -1
  346. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +7 -2
  349. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -0
  351. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  354. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -0
  356. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -2
  359. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +13 -2
  362. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  367. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +5 -2
  371. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  374. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/utils/useLongPress.d.ts +0 -1
  376. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +2 -15
  377. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +3 -1
  379. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/utils.js +8 -9
  381. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +10 -14
  383. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/index.d.ts +0 -2
  388. package/dist/dist-esm/react-components/src/index.js +0 -2
  389. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -54
  391. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +96 -6
  394. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +95 -5
  395. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
  396. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +95 -5
  397. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +96 -6
  398. package/dist/dist-esm/react-components/src/localization/locales/index.js +42 -14
  399. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +95 -5
  401. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +95 -5
  402. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +95 -5
  403. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +95 -5
  404. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +96 -6
  405. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +95 -5
  406. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +96 -6
  407. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +95 -5
  408. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +95 -5
  409. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +6 -3
  410. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -20
  412. package/dist/dist-esm/react-components/src/theming/icons.js +11 -121
  413. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  416. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +0 -7
  418. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  419. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  422. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +0 -3
  424. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +0 -2
  425. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -8
  428. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  429. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -89
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +17 -95
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -120
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +6 -77
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +31 -248
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -107
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -9
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -3
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -8
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -5
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +0 -3
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +10 -76
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -2
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +13 -135
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -21
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -21
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -32
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +19 -66
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +21 -16
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +0 -2
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +17 -25
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +5 -44
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -5
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -8
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -3
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +9 -13
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +6 -27
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -7
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +0 -1
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -8
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -8
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +12 -140
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +0 -1
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -19
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -10
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -10
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +5 -11
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +6 -2
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +0 -2
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -0
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +3 -23
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -9
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +3 -15
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +12 -106
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +4 -87
  581. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +14 -78
  582. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +0 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +15 -41
  585. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +0 -2
  587. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +12 -34
  588. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  590. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +7 -9
  592. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +6 -3
  595. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +0 -1
  599. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  601. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -25
  603. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +7 -139
  604. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +0 -60
  606. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -10
  608. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -39
  609. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  610. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -9
  611. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -31
  612. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +21 -67
  615. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +0 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -22
  622. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -10
  623. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  626. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -6
  627. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  629. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +9 -41
  631. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  633. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +0 -9
  635. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +25 -88
  636. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -28
  638. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -154
  639. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -13
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +6 -18
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +5 -3
  650. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  652. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -3
  655. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  657. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  658. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  659. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +6 -17
  660. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  662. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +4 -10
  663. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  665. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  667. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +6 -21
  671. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +8 -6
  675. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +1 -6
  677. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +5 -24
  678. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +1 -2
  680. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +18 -6
  681. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +1 -2
  683. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -10
  684. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -33
  687. package/dist/dist-esm/react-composites/src/composites/common/icons.js +5 -19
  688. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +16 -6
  691. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +51 -12
  693. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +22 -5
  695. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  697. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  699. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  702. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +17 -3
  705. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +17 -3
  706. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +17 -3
  707. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +17 -3
  708. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +17 -3
  710. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +17 -3
  711. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +17 -3
  712. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +17 -3
  713. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +17 -3
  714. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +17 -3
  715. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +17 -3
  716. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +17 -3
  717. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +17 -3
  718. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  719. package/package.json +14 -15
  720. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -43
  721. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -81
  722. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  723. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  724. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -89
  725. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  726. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  727. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -48
  728. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  729. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  730. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -37
  731. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  732. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  733. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -58
  734. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  735. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  736. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -86
  737. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  738. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  739. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -31
  740. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  741. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  742. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  743. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  744. package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.d.ts +0 -25
  745. package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.js +0 -65
  746. package/dist/dist-esm/react-components/src/components/VideoGallery/PinnedParticipantsLayout.js.map +0 -1
  747. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +0 -9
  748. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +0 -18
  749. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +0 -1
  750. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.d.ts +0 -6
  751. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js +0 -9
  752. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +0 -1
  753. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +0 -10
  754. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +0 -29
  755. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +0 -1
  756. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  757. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  758. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  759. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  760. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  761. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  762. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  763. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  764. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  765. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  766. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  767. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  768. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +0 -61
  769. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +0 -74
  770. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +0 -1
  771. package/dist/dist-esm/react-components/src/permissions/index.d.ts +0 -2
  772. package/dist/dist-esm/react-components/src/permissions/index.js +0 -4
  773. package/dist/dist-esm/react-components/src/permissions/index.js.map +0 -1
  774. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  775. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  776. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +0 -24
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +0 -80
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +0 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -210
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +0 -17
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +0 -63
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +0 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +0 -16
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +0 -38
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +0 -1
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -15
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -38
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +0 -67
  805. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +0 -75
  806. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +0 -1
  807. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +0 -13
  808. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +0 -65
  809. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +0 -1
  810. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  811. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  812. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  813. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  814. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -21
  815. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  816. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  817. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  818. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  819. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  820. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -13
  821. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  822. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -23
  823. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -12
  824. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  825. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  826. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -105
  827. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  828. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  829. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  830. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  831. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  832. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -60
  833. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  834. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  835. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  836. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  837. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +0 -17
  838. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +0 -42
  839. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +0 -1
  840. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +0 -11
  841. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +0 -40
  842. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type { ChatMessage, ChatParticipant, SendMessageOptions } from '@azure/communication-chat';\nimport type { CommunicationIdentifierKind, CommunicationUserKind } from '@azure/communication-common';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport type { AdapterError, AdapterErrors, AdapterState, Disposable } from '../../common/adapters';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileUploadAdapter, FileUploadsUiState } from './AzureCommunicationFileUploadAdapter';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileMetadata } from '@internal/react-components';\n\n/**\n * {@link ChatAdapter} state for pure UI purposes.\n *\n * @public\n */\nexport type ChatAdapterUiState = {\n // FIXME(Delete?)\n // Self-contained state for composite\n error?: Error;\n /* @conditional-compile-remove(file-sharing) */\n /**\n * Files being uploaded by a user in the current thread.\n * Should be set to null once the upload is complete.\n * Array of type {@link FileUploadsUiState}\n * @beta\n */\n fileUploads?: FileUploadsUiState;\n};\n\n/**\n * {@link ChatAdapter} state inferred from Azure Communication Services backend.\n *\n * @public\n */\nexport type ChatCompositeClientState = {\n userId: CommunicationIdentifierKind;\n displayName: string;\n thread: ChatThreadClientState;\n /**\n * Latest error encountered for each operation performed via the adapter.\n */\n latestErrors: AdapterErrors;\n};\n\n/**\n * {@link ChatAdapter} state.\n *\n * @public\n */\nexport type ChatAdapterState = ChatAdapterUiState & ChatCompositeClientState;\n\n/**\n * Functionality for managing the current chat thread.\n *\n * @public\n */\nexport interface ChatAdapterThreadManagement {\n /**\n * Fetch initial state for the Chat adapter.\n *\n * Performs the minimal fetch necessary for ChatComposite and API methods.\n */\n fetchInitialData(): Promise<void>;\n /**\n * Send a message in the thread.\n */\n sendMessage(content: string, options?: SendMessageOptions): Promise<void>;\n /**\n * Send a read receipt for a message.\n */\n sendReadReceipt(chatMessageId: string): Promise<void>;\n /**\n * Send typing indicator in the thread.\n */\n sendTypingIndicator(): Promise<void>;\n /**\n * Remove a participant in the thread.\n */\n removeParticipant(userId: string): Promise<void>;\n /**\n * Set the topic for the thread.\n */\n setTopic(topicName: string): Promise<void>;\n /**\n * Update a message content.\n */\n updateMessage(\n messageId: string,\n content: string,\n metadata?: Record<string, string>,\n /* @conditional-compile-remove(file-sharing) */\n options?: {\n attachedFilesMetadata?: FileMetadata[];\n }\n ): Promise<void>;\n /**\n * Delete a message in the thread.\n */\n deleteMessage(messageId: string): Promise<void>;\n /**\n * Load more previous messages in the chat thread history.\n *\n * @remarks\n * This method is usually used to control incremental fetch/infinite scroll\n *\n */\n loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;\n}\n\n/**\n * Chat composite events that can be subscribed to.\n *\n * @public\n */\nexport interface ChatAdapterSubscribers {\n /**\n * Subscribe function for 'messageReceived' event.\n */\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Subscribe function for 'messageSent' event.\n */\n on(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Subscribe function for 'messageRead' event.\n */\n on(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Subscribe function for 'participantsAdded' event.\n */\n on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Subscribe function for 'participantsRemoved' event.\n */\n on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Subscribe function for 'topicChanged' event.\n */\n on(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Subscribe function for 'error' event.\n */\n on(event: 'error', listener: (e: AdapterError) => void): void;\n\n /**\n * Unsubscribe function for 'messageReceived' event.\n */\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Unsubscribe function for 'messageSent' event.\n */\n off(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Unsubscribe function for 'messageRead' event.\n */\n off(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Unsubscribe function for 'participantsAdded' event.\n */\n off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Unsubscribe function for 'participantsRemoved' event.\n */\n off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Unsubscribe function for 'topicChanged' event.\n */\n off(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Unsubscribe function for 'error' event.\n */\n off(event: 'error', listener: (e: AdapterError) => void): void;\n}\n\n/**\n * {@link ChatComposite} Adapter interface.\n *\n * @public\n */\nexport type ChatAdapter = ChatAdapterThreadManagement &\n AdapterState<ChatAdapterState> &\n Disposable &\n ChatAdapterSubscribers &\n /* @conditional-compile-remove(file-sharing) */\n FileUploadAdapter;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageReceived' event.\n *\n * @public\n */\nexport type MessageReceivedListener = (event: { message: ChatMessage }) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageSent' event.\n *\n * @public\n */\nexport type MessageSentListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageRead' event.\n *\n * @public\n */\nexport type MessageReadListener = (event: { message: ChatMessage; readBy: CommunicationUserKind }) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsAdded' event.\n *\n * @public\n */\nexport type ParticipantsAddedListener = (event: {\n participantsAdded: ChatParticipant[];\n addedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsRemoved' event.\n *\n * @public\n */\nexport type ParticipantsRemovedListener = (event: {\n participantsRemoved: ChatParticipant[];\n removedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'topicChanged' event.\n *\n * @public\n */\nexport type TopicChangedListener = (event: { topic: string }) => void;\n\"../../../../../chat-stateful-client/src\"\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"ChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type { ChatMessage, ChatParticipant, SendMessageOptions } from '@azure/communication-chat';\nimport type { CommunicationIdentifierKind, CommunicationUserKind } from '@azure/communication-common';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport type { AdapterError, AdapterErrors, AdapterState, Disposable } from '../../common/adapters';\n/**\n * {@link ChatAdapter} state for pure UI purposes.\n *\n * @public\n */\nexport type ChatAdapterUiState = {\n // FIXME(Delete?)\n // Self-contained state for composite\n error?: Error;\n};\n\n/**\n * {@link ChatAdapter} state inferred from Azure Communication Services backend.\n *\n * @public\n */\nexport type ChatCompositeClientState = {\n userId: CommunicationIdentifierKind;\n displayName: string;\n thread: ChatThreadClientState;\n /**\n * Latest error encountered for each operation performed via the adapter.\n */\n latestErrors: AdapterErrors;\n};\n\n/**\n * {@link ChatAdapter} state.\n *\n * @public\n */\nexport type ChatAdapterState = ChatAdapterUiState & ChatCompositeClientState;\n\n/**\n * Functionality for managing the current chat thread.\n *\n * @public\n */\nexport interface ChatAdapterThreadManagement {\n /**\n * Fetch initial state for the Chat adapter.\n *\n * Performs the minimal fetch necessary for ChatComposite and API methods.\n */\n fetchInitialData(): Promise<void>;\n /**\n * Send a message in the thread.\n */\n sendMessage(content: string, options?: SendMessageOptions): Promise<void>;\n /**\n * Send a read receipt for a message.\n */\n sendReadReceipt(chatMessageId: string): Promise<void>;\n /**\n * Send typing indicator in the thread.\n */\n sendTypingIndicator(): Promise<void>;\n /**\n * Remove a participant in the thread.\n */\n removeParticipant(userId: string): Promise<void>;\n /**\n * Set the topic for the thread.\n */\n setTopic(topicName: string): Promise<void>;\n /**\n * Update a message content.\n */\n updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;\n /**\n * Delete a message in the thread.\n */\n deleteMessage(messageId: string): Promise<void>;\n /**\n * Load more previous messages in the chat thread history.\n *\n * @remarks\n * This method is usually used to control incremental fetch/infinite scroll\n *\n */\n loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;\n}\n\n/**\n * Chat composite events that can be subscribed to.\n *\n * @public\n */\nexport interface ChatAdapterSubscribers {\n /**\n * Subscribe function for 'messageReceived' event.\n */\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Subscribe function for 'messageSent' event.\n */\n on(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Subscribe function for 'messageRead' event.\n */\n on(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Subscribe function for 'participantsAdded' event.\n */\n on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Subscribe function for 'participantsRemoved' event.\n */\n on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Subscribe function for 'topicChanged' event.\n */\n on(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Subscribe function for 'error' event.\n */\n on(event: 'error', listener: (e: AdapterError) => void): void;\n\n /**\n * Unsubscribe function for 'messageReceived' event.\n */\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Unsubscribe function for 'messageSent' event.\n */\n off(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Unsubscribe function for 'messageRead' event.\n */\n off(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Unsubscribe function for 'participantsAdded' event.\n */\n off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Unsubscribe function for 'participantsRemoved' event.\n */\n off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Unsubscribe function for 'topicChanged' event.\n */\n off(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Unsubscribe function for 'error' event.\n */\n off(event: 'error', listener: (e: AdapterError) => void): void;\n}\n\n/**\n * {@link ChatComposite} Adapter interface.\n *\n * @public\n */\nexport type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageReceived' event.\n *\n * @public\n */\nexport type MessageReceivedListener = (event: {\n message: ChatMessage;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageSent' event.\n *\n * @public\n */\nexport type MessageSentListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageRead' event.\n *\n * @public\n */\nexport type MessageReadListener = (event: {\n message: ChatMessage;\n readBy: CommunicationUserKind;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsAdded' event.\n *\n * @public\n */\nexport type ParticipantsAddedListener = (event: {\n participantsAdded: ChatParticipant[];\n addedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsRemoved' event.\n *\n * @public\n */\nexport type ParticipantsRemovedListener = (event: {\n participantsRemoved: ChatParticipant[];\n removedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'topicChanged' event.\n *\n * @public\n */\nexport type TopicChangedListener = (event: {\n topic: string;\n}) => void;\"../../../../../chat-stateful-client/src\""]}
@@ -23,8 +23,6 @@ export const useAdapter = () => {
23
23
  * @private
24
24
  */
25
25
  export const useFileUploadAdapter = () => {
26
- /* @conditional-compile-remove(file-sharing) */
27
- return useAdapter();
28
26
  // A stub that short-circuits all logic because none of the fields are available.
29
27
  return {
30
28
  registerActiveFileUploads() {
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAdapterProvider.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAazD,MAAM,kBAAkB,GAAG,aAAa,CAA0B,SAAS,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAe,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,OAAO,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IAAG,KAAK,CAAC,QAAQ,CAA+B,CAAC;AACrG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAgB,EAAE;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,qDAAqD,CAAC;KAC7D;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAsB,EAAE;IAC1D,+CAA+C;IAC/C,OAAO,UAAU,EAAE,CAAC;IACpB,iFAAiF;IACjF,OAAO;QACL,yBAAyB;YACvB,OAAO,EAAyB,CAAC;QACnC,CAAC;QACD,4BAA4B;YAC1B,OAAO,EAAyB,CAAC;QACnC,CAAC;QACD,gBAAgB;YACd,OAAO;QACT,CAAC;QACD,gBAAgB;YACd,OAAO;QACT,CAAC;QACD,4BAA4B;YAC1B,OAAO;QACT,CAAC;QACD,wBAAwB;YACtB,OAAO;QACT,CAAC;QACD,wBAAwB;YACtB,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { createContext, useContext } from 'react';\nimport { FileUploadManager } from '../file-sharing';\nimport { FileUploadAdapter } from './AzureCommunicationFileUploadAdapter';\nimport { ChatAdapter } from './ChatAdapter';\n\n/**\n * @private\n */\ntype ChatProviderProps = {\n children: React.ReactNode;\n adapter: ChatAdapter;\n};\n\nconst ChatAdapterContext = createContext<ChatAdapter | undefined>(undefined);\n\n/**\n * @private\n */\nexport const ChatAdapterProvider = (props: ChatProviderProps): JSX.Element => {\n const { adapter } = props;\n return <ChatAdapterContext.Provider value={adapter}>{props.children}</ChatAdapterContext.Provider>;\n};\n\n/**\n * @private\n */\nexport const useAdapter = (): ChatAdapter => {\n const adapter = useContext(ChatAdapterContext);\n if (!adapter) {\n throw 'Cannot find adapter please initialize before usage.';\n }\n return adapter;\n};\n\n/**\n * @private\n */\nexport const useFileUploadAdapter = (): FileUploadAdapter => {\n /* @conditional-compile-remove(file-sharing) */\n return useAdapter();\n // A stub that short-circuits all logic because none of the fields are available.\n return {\n registerActiveFileUploads() {\n return [] as FileUploadManager[];\n },\n registerCompletedFileUploads() {\n return [] as FileUploadManager[];\n },\n cancelFileUpload() {\n // noop\n },\n clearFileUploads() {\n // noop\n },\n updateFileUploadErrorMessage() {\n // noop\n },\n updateFileUploadProgress() {\n // noop\n },\n updateFileUploadMetadata() {\n // noop\n }\n };\n};\n"]}
1
+ {"version":3,"file":"ChatAdapterProvider.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAYzD,MAAM,kBAAkB,GAAG,aAAa,CAA0B,SAAS,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAe,EAAE;IAC3E,MAAM,EACJ,OAAO,EACR,GAAG,KAAK,CAAC;IACV,OAAO,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IAAG,KAAK,CAAC,QAAQ,CAA+B,CAAC;AACrG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAgB,EAAE;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,qDAAqD,CAAC;KAC7D;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAsB,EAAE;IAC1D,iFAAiF;IACjF,OAAO;QACL,yBAAyB;YACvB,OAAQ,EAA0B,CAAC;QACrC,CAAC;QACD,4BAA4B;YAC1B,OAAQ,EAA0B,CAAC;QACrC,CAAC;QACD,gBAAgB;YACd,OAAO;QACT,CAAC;QACD,gBAAgB;YACd,OAAO;QACT,CAAC;QACD,4BAA4B;YAC1B,OAAO;QACT,CAAC;QACD,wBAAwB;YACtB,OAAO;QACT,CAAC;QACD,wBAAwB;YACtB,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React, { createContext, useContext } from 'react';\nimport { FileUploadManager } from '../file-sharing';\nimport { FileUploadAdapter } from './AzureCommunicationFileUploadAdapter';\nimport { ChatAdapter } from './ChatAdapter';\n\n/**\n * @private\n */\ntype ChatProviderProps = {\n children: React.ReactNode;\n adapter: ChatAdapter;\n};\nconst ChatAdapterContext = createContext<ChatAdapter | undefined>(undefined);\n\n/**\n * @private\n */\nexport const ChatAdapterProvider = (props: ChatProviderProps): JSX.Element => {\n const {\n adapter\n } = props;\n return <ChatAdapterContext.Provider value={adapter}>{props.children}</ChatAdapterContext.Provider>;\n};\n\n/**\n * @private\n */\nexport const useAdapter = (): ChatAdapter => {\n const adapter = useContext(ChatAdapterContext);\n if (!adapter) {\n throw 'Cannot find adapter please initialize before usage.';\n }\n return adapter;\n};\n\n/**\n * @private\n */\nexport const useFileUploadAdapter = (): FileUploadAdapter => {\n // A stub that short-circuits all logic because none of the fields are available.\n return {\n registerActiveFileUploads() {\n return ([] as FileUploadManager[]);\n },\n registerCompletedFileUploads() {\n return ([] as FileUploadManager[]);\n },\n cancelFileUpload() {\n // noop\n },\n clearFileUploads() {\n // noop\n },\n updateFileUploadErrorMessage() {\n // noop\n },\n updateFileUploadProgress() {\n // noop\n },\n updateFileUploadMetadata() {\n // noop\n }\n };\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/FileUpload.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yCAAgC;AA6E/D;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAarB,YAAY,IAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QACnB,IAAI,IAAI,YAAY,IAAI,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,2BAA2B,CAAC,KAAa;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,qBAAqB,CAAC,QAAsB;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAKD;;;;OAIG;IACH,EAAE,CAAC,KAAuB,EAAE,QAAiC;QAC3D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAKD;;;;OAIG;IACH,GAAG,CAAC,KAAuB,EAAE,QAAiC;QAC5D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { EventEmitter } from 'events';\nimport { nanoid } from 'nanoid';\nimport { _MAX_EVENT_LISTENERS } from '@internal/acs-ui-common';\nimport { FileMetadata } from '@internal/react-components';\n\n/**\n * Contains the state attibutes of a file upload like name, progress etc.\n * @beta\n */\nexport interface FileUploadState {\n /**\n * Unique identifier for the file upload.\n */\n id: string;\n\n /**\n * Filename extracted from the {@link File} object.\n * This attribute is used to render the filename if `metadata.name` is not available.\n */\n filename: string;\n\n /**\n * A number between 0 and 1 indicating the progress of the upload.\n */\n progress: number;\n\n /**\n * Meta Data {@link FileMetadata} containing information about the uploaded file.\n */\n metadata?: FileMetadata;\n\n /**\n * Error message to be displayed to the user if the upload fails.\n */\n error?: FileUploadError;\n}\n\n/**\n * @beta\n * Error message to be displayed to the user if the upload fails.\n */\nexport type FileUploadError = {\n message: string;\n timestamp: number;\n};\n\n/**\n * A wrapper object for a file that is being uploaded.\n * Allows mmanaging file uploads by providing common functions for updating the\n * upload progress, canceling an upload, completing an upload etc.\n * @beta\n */\nexport interface FileUploadManager {\n /**\n * Unique identifier for the file upload.\n */\n id: string;\n /**\n * HTML {@link File} object for the uploaded file.\n */\n file?: File;\n /**\n * Update the progress of the upload.\n * @param value - number between 0 and 1\n */\n notifyUploadProgressChanged: (value: number) => void;\n /**\n * Mark the upload as complete.\n * Requires the `metadata` param containing uploaded file information.\n * @param metadata - {@link FileMetadata}\n */\n notifyUploadCompleted: (metadata: FileMetadata) => void;\n /**\n * Mark the upload as failed.\n * @param message - An error message that can be displayed to the user.\n */\n notifyUploadFailed: (message: string) => void;\n}\n\n/**\n * A wrapper object for a file that is being uploaded.\n * Provides common functions for updating the upload progress, canceling an upload etc.\n * @private\n */\nexport class FileUpload implements FileUploadManager, FileUploadEventEmitter {\n private _emitter: EventEmitter;\n public readonly id: string;\n public readonly file?: File;\n /**\n * Filename to be displayed in the UI during file upload.\n */\n public readonly fileName: string;\n /**\n * Optional object of type {@link FileMetadata}\n */\n public metadata?: FileMetadata;\n\n constructor(data: File | FileMetadata) {\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(_MAX_EVENT_LISTENERS);\n this.id = nanoid();\n if (data instanceof File) {\n this.file = data;\n } else {\n this.metadata = data;\n }\n this.fileName = data.name;\n }\n\n notifyUploadProgressChanged(value: number): void {\n this._emitter.emit('uploadProgressChange', this.id, value);\n }\n\n notifyUploadCompleted(metadata: FileMetadata): void {\n this._emitter.emit('uploadComplete', this.id, metadata);\n }\n\n notifyUploadFailed(message: string): void {\n this._emitter.emit('uploadFail', this.id, message);\n }\n\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * File upload event subscriber.\n * @param event - {@link FileUploadEvents}\n * @param listener - {@link FileUploadEventListener}\n */\n on(event: FileUploadEvents, listener: FileUploadEventListener): void {\n this._emitter.addListener(event, listener);\n }\n\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * File upload event unsubscriber.\n * @param event - {@link FileUploadEvents}\n * @param listener - {@link FileUploadEventListener}\n */\n off(event: FileUploadEvents, listener: FileUploadEventListener): void {\n this._emitter.removeListener(event, listener);\n }\n}\n\n/**\n * Events emitted by the FileUpload class.\n * @beta\n */\ntype FileUploadEvents = 'uploadProgressChange' | 'uploadComplete' | 'uploadFail';\n\n/**\n * Events listeners supported by the FileUpload class.\n * @beta\n */\ntype FileUploadEventListener = UploadProgressListener | UploadCompleteListener | UploadFailedListener;\n\n/**\n * Listener for `uploadProgressed` event.\n * @beta\n */\ntype UploadProgressListener = (id: string, value: number) => void;\n/**\n * Listener for `uploadComplete` event.\n * @beta\n */\ntype UploadCompleteListener = (id: string, metadata: FileMetadata) => void;\n/**\n * Listener for `uploadFailed` event.\n * @beta\n */\ntype UploadFailedListener = (id: string, message: string) => void;\n\n/**\n * @beta\n */\ninterface FileUploadEventEmitter {\n /**\n * Subscriber function for `uploadProgressed` event.\n */\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Subscriber function for `uploadComplete` event.\n */\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Subscriber function for `uploadFailed` event.\n */\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n\n /**\n * Unsubscriber function for `uploadProgressed` event.\n */\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Unsubscriber function for `uploadComplete` event.\n */\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Unsubscriber function for `uploadFailed` event.\n */\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n}\n\"../../../../../acs-ui-common/src\"\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"FileUpload.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yCAAgC;AA6E/D;;;;GAIG;AACH,MAAM,OAAO,UAAU;IAYrB,YAAY,IAAyB;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;QACnB,IAAI,IAAI,YAAY,IAAI,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,2BAA2B,CAAC,KAAa;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,qBAAqB,CAAC,QAAsB;QAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IACD,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAID;;;;OAIG;IACH,EAAE,CAAC,KAAuB,EAAE,QAAiC;QAC3D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAID;;;;OAIG;IACH,GAAG,CAAC,KAAuB,EAAE,QAAiC;QAC5D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { EventEmitter } from 'events';\nimport { nanoid } from 'nanoid';\nimport { _MAX_EVENT_LISTENERS } from '@internal/acs-ui-common';\nimport { FileMetadata } from '@internal/react-components';\n\n/**\n * Contains the state attibutes of a file upload like name, progress etc.\n * @beta\n */\nexport interface FileUploadState {\n /**\n * Unique identifier for the file upload.\n */\n id: string;\n\n /**\n * Filename extracted from the {@link File} object.\n * This attribute is used to render the filename if `metadata.name` is not available.\n */\n filename: string;\n\n /**\n * A number between 0 and 1 indicating the progress of the upload.\n */\n progress: number;\n\n /**\n * Meta Data {@link FileMetadata} containing information about the uploaded file.\n */\n metadata?: FileMetadata;\n\n /**\n * Error message to be displayed to the user if the upload fails.\n */\n error?: FileUploadError;\n}\n\n/**\n * @beta\n * Error message to be displayed to the user if the upload fails.\n */\nexport type FileUploadError = {\n message: string;\n timestamp: number;\n};\n\n/**\n * A wrapper object for a file that is being uploaded.\n * Allows mmanaging file uploads by providing common functions for updating the\n * upload progress, canceling an upload, completing an upload etc.\n * @beta\n */\nexport interface FileUploadManager {\n /**\n * Unique identifier for the file upload.\n */\n id: string;\n /**\n * HTML {@link File} object for the uploaded file.\n */\n file?: File;\n /**\n * Update the progress of the upload.\n * @param value - number between 0 and 1\n */\n notifyUploadProgressChanged: (value: number) => void;\n /**\n * Mark the upload as complete.\n * Requires the `metadata` param containing uploaded file information.\n * @param metadata - {@link FileMetadata}\n */\n notifyUploadCompleted: (metadata: FileMetadata) => void;\n /**\n * Mark the upload as failed.\n * @param message - An error message that can be displayed to the user.\n */\n notifyUploadFailed: (message: string) => void;\n}\n\n/**\n * A wrapper object for a file that is being uploaded.\n * Provides common functions for updating the upload progress, canceling an upload etc.\n * @private\n */\nexport class FileUpload implements FileUploadManager, FileUploadEventEmitter {\n private _emitter: EventEmitter;\n public readonly id: string;\n public readonly file?: File;\n /**\n * Filename to be displayed in the UI during file upload.\n */\n public readonly fileName: string;\n /**\n * Optional object of type {@link FileMetadata}\n */\n public metadata?: FileMetadata;\n constructor(data: File | FileMetadata) {\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(_MAX_EVENT_LISTENERS);\n this.id = nanoid();\n if (data instanceof File) {\n this.file = data;\n } else {\n this.metadata = data;\n }\n this.fileName = data.name;\n }\n notifyUploadProgressChanged(value: number): void {\n this._emitter.emit('uploadProgressChange', this.id, value);\n }\n notifyUploadCompleted(metadata: FileMetadata): void {\n this._emitter.emit('uploadComplete', this.id, metadata);\n }\n notifyUploadFailed(message: string): void {\n this._emitter.emit('uploadFail', this.id, message);\n }\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * File upload event subscriber.\n * @param event - {@link FileUploadEvents}\n * @param listener - {@link FileUploadEventListener}\n */\n on(event: FileUploadEvents, listener: FileUploadEventListener): void {\n this._emitter.addListener(event, listener);\n }\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * File upload event unsubscriber.\n * @param event - {@link FileUploadEvents}\n * @param listener - {@link FileUploadEventListener}\n */\n off(event: FileUploadEvents, listener: FileUploadEventListener): void {\n this._emitter.removeListener(event, listener);\n }\n}\n\n/**\n * Events emitted by the FileUpload class.\n * @beta\n */\ntype FileUploadEvents = 'uploadProgressChange' | 'uploadComplete' | 'uploadFail';\n\n/**\n * Events listeners supported by the FileUpload class.\n * @beta\n */\ntype FileUploadEventListener = UploadProgressListener | UploadCompleteListener | UploadFailedListener;\n\n/**\n * Listener for `uploadProgressed` event.\n * @beta\n */\ntype UploadProgressListener = (id: string, value: number) => void;\n/**\n * Listener for `uploadComplete` event.\n * @beta\n */\ntype UploadCompleteListener = (id: string, metadata: FileMetadata) => void;\n/**\n * Listener for `uploadFailed` event.\n * @beta\n */\ntype UploadFailedListener = (id: string, message: string) => void;\n\n/**\n * @beta\n */\ninterface FileUploadEventEmitter {\n /**\n * Subscriber function for `uploadProgressed` event.\n */\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Subscriber function for `uploadComplete` event.\n */\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Subscriber function for `uploadFailed` event.\n */\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n\n /**\n * Unsubscriber function for `uploadProgressed` event.\n */\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Unsubscriber function for `uploadComplete` event.\n */\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Unsubscriber function for `uploadFailed` event.\n */\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n}\"../../../../../acs-ui-common/src\"\"../../../../../react-components/src\""]}
@@ -3,8 +3,6 @@
3
3
  import { IconButton, mergeStyles, Stack, useTheme } from '@fluentui/react';
4
4
  import React from 'react';
5
5
  import { ChatCompositeIcon } from '../../common/icons';
6
- /* @conditional-compile-remove(file-sharing) */
7
- import { useLocale } from '../../localization';
8
6
  /**
9
7
  * @internal
10
8
  */
@@ -30,23 +28,21 @@ export const FileUploadButton = (props) => {
30
28
  background: 'transparent'
31
29
  }
32
30
  });
33
- return (React.createElement(React.Fragment, null,
31
+ return React.createElement(React.Fragment, null,
34
32
  React.createElement(Stack, { verticalAlign: "center", horizontalAlign: "center", className: fileUploadButtonClassName, onClick: () => {
35
33
  var _a;
36
34
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
37
35
  } },
38
36
  React.createElement(IconButton, { className: iconButtonClassName, ariaLabel: uploadFileButtonStringTrampoline() },
39
37
  React.createElement(SendBoxAttachFileIconTrampoline, null))),
40
- React.createElement("input", { ref: inputRef, hidden: true, multiple: multiple, accept: accept, type: "file", onClick: (e) => {
38
+ React.createElement("input", { ref: inputRef, hidden: true, multiple: multiple, accept: accept, type: "file", onClick: e => {
41
39
  // To ensure that `onChange` is fired even if the same file is picked again.
42
40
  e.currentTarget.value = '';
43
- }, onChange: (e) => {
41
+ }, onChange: e => {
44
42
  onChange && onChange(e.currentTarget.files);
45
- } })));
43
+ } }));
46
44
  };
47
45
  const SendBoxAttachFileIconTrampoline = () => {
48
- // @conditional-compile-remove(file-sharing)
49
- return React.createElement(ChatCompositeIcon, { iconName: "SendBoxAttachFile" });
50
46
  // Return _some_ available icon, as the real icon is beta-only.
51
47
  return React.createElement(ChatCompositeIcon, { iconName: "EditBoxCancel" });
52
48
  };
@@ -55,18 +51,10 @@ const SendBoxAttachFileIconTrampoline = () => {
55
51
  * It will return `<></>` for stable builds.
56
52
  * @internal
57
53
  */
58
- export const FileUploadButtonWrapper = (
59
- // To make conditional compilation not throw errors.
60
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
61
- props) => {
62
- return (React.createElement(React.Fragment, null,
63
- /* @conditional-compile-remove(file-sharing) */
64
- React.createElement(FileUploadButton, Object.assign({}, props))));
54
+ export const FileUploadButtonWrapper = (props) => {
55
+ return React.createElement(React.Fragment, null);
65
56
  };
66
57
  const uploadFileButtonStringTrampoline = () => {
67
- //@conditional-compile-remove(file-sharing)
68
- //eslint-disable-next-line react-hooks/rules-of-hooks
69
- return useLocale().strings.chat.uploadFile;
70
58
  return '';
71
59
  };
72
60
  //# sourceMappingURL=FileUploadButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,+CAA+C;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA2B/C;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAe,EAAE;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAErD,MAAM,yBAAyB,GAAG,WAAW,CAAC;QAC5C,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE;YACR,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;SAC9C;KACF,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,aAAa;SAC1B;KACF,CAAC,CAAC;IAEH,OAAO,CACL;QACE,oBAAC,KAAK,IACJ,aAAa,EAAC,QAAQ,EACtB,eAAe,EAAC,QAAQ,EACxB,SAAS,EAAE,yBAAyB,EACpC,OAAO,EAAE,GAAG,EAAE;;gBACZ,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YAED,oBAAC,UAAU,IAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,gCAAgC,EAAE;gBACvF,oBAAC,+BAA+B,OAAG,CACxB,CACP;QACR,+BACE,GAAG,EAAE,QAAQ,EACb,MAAM,QACN,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,4EAA4E;gBAC5E,CAAC,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,CAAC,EACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,GACD,CACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,GAAgB,EAAE;IACxD,4CAA4C;IAC5C,OAAO,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,mBAAmB,GAAG,CAAC;IAC1D,+DAA+D;IAC/D,OAAO,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,eAAe,GAAG,CAAC;AACxD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;AACrC,oDAAoD;AACpD,6DAA6D;AAC7D,KAAsE,EACzD,EAAE;IACf,OAAO,CACL;IAEI,+CAA+C;IAC/C,oBAAC,gBAAgB,oBAAK,KAAK,EAAI,CAEhC,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gCAAgC,GAAG,GAAW,EAAE;IACpD,2CAA2C;IAC3C,qDAAqD;IACrD,OAAO,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3C,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { IconButton, mergeStyles, Stack, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { ChatCompositeIcon } from '../../common/icons';\n/* @conditional-compile-remove(file-sharing) */\nimport { useLocale } from '../../localization';\n\n/**\n * Props for {@link FileUploadButton} component.\n * @internal\n */\nexport interface FileUploadButtonProps {\n /**\n * A string containing the comma separated list of accepted file types.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n */\n accept?: string;\n /**\n * Allows multiple files to be selected if set to `true`.\n * Default value is `false`.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n */\n multiple?: boolean;\n /**\n * onChange handler for the file upload button.\n * Similar to the `onChange` attribute of the `<input type=\"file\" />` element.\n * Called every time files are selected through the file upload button with a {@link FileList}\n * of selected files.\n */\n onChange?: (files: FileList | null) => void;\n}\n\n/**\n * @internal\n */\nexport const FileUploadButton = (props: FileUploadButtonProps): JSX.Element => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const theme = useTheme();\n const { accept, multiple = false, onChange } = props;\n\n const fileUploadButtonClassName = mergeStyles({\n width: '1.5rem',\n height: '1.5rem',\n cursor: 'pointer',\n padding: '0.15rem',\n ':hover': {\n backgroundColor: theme.palette.neutralLighter\n }\n });\n\n const iconButtonClassName = mergeStyles({\n color: 'unset',\n width: '1.5rem',\n height: '1.5rem',\n ':hover': {\n color: 'unset',\n background: 'transparent'\n }\n });\n\n return (\n <>\n <Stack\n verticalAlign=\"center\"\n horizontalAlign=\"center\"\n className={fileUploadButtonClassName}\n onClick={() => {\n inputRef.current?.click();\n }}\n >\n <IconButton className={iconButtonClassName} ariaLabel={uploadFileButtonStringTrampoline()}>\n <SendBoxAttachFileIconTrampoline />\n </IconButton>\n </Stack>\n <input\n ref={inputRef}\n hidden\n multiple={multiple}\n accept={accept}\n type=\"file\"\n onClick={(e) => {\n // To ensure that `onChange` is fired even if the same file is picked again.\n e.currentTarget.value = '';\n }}\n onChange={(e) => {\n onChange && onChange(e.currentTarget.files);\n }}\n />\n </>\n );\n};\n\nconst SendBoxAttachFileIconTrampoline = (): JSX.Element => {\n // @conditional-compile-remove(file-sharing)\n return <ChatCompositeIcon iconName=\"SendBoxAttachFile\" />;\n // Return _some_ available icon, as the real icon is beta-only.\n return <ChatCompositeIcon iconName=\"EditBoxCancel\" />;\n};\n\n/**\n * A wrapper to return {@link FileUploadButton} component conditionally.\n * It will return `<></>` for stable builds.\n * @internal\n */\nexport const FileUploadButtonWrapper = (\n // To make conditional compilation not throw errors.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n props: Pick<FileUploadButtonProps, 'accept' | 'multiple' | 'onChange'>\n): JSX.Element => {\n return (\n <>\n {\n /* @conditional-compile-remove(file-sharing) */\n <FileUploadButton {...props} />\n }\n </>\n );\n};\n\nconst uploadFileButtonStringTrampoline = (): string => {\n //@conditional-compile-remove(file-sharing)\n //eslint-disable-next-line react-hooks/rules-of-hooks\n return useLocale().strings.chat.uploadFile;\n return '';\n};\n"]}
1
+ {"version":3,"file":"FileUploadButton.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA0BvD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAA4B,EAAe,EAAE;IAC5E,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EACJ,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACT,GAAG,KAAK,CAAC;IACV,MAAM,yBAAyB,GAAG,WAAW,CAAC;QAC5C,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE;YACR,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;SAC9C;KACF,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,aAAa;SAC1B;KACF,CAAC,CAAC;IACH,OAAO;QACH,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,eAAe,EAAC,QAAQ,EAAC,SAAS,EAAE,yBAAyB,EAAE,OAAO,EAAE,GAAG,EAAE;;gBAC3G,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YACG,oBAAC,UAAU,IAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,gCAAgC,EAAE;gBACvF,oBAAC,+BAA+B,OAAG,CACxB,CACP;QACR,+BAAO,GAAG,EAAE,QAAQ,EAAE,MAAM,QAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE;gBAC1F,4EAA4E;gBAC5E,CAAC,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACf,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,GAAI,CACF,CAAC;AACR,CAAC,CAAC;AACF,MAAM,+BAA+B,GAAG,GAAgB,EAAE;IACxD,+DAA+D;IAC/D,OAAO,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,eAAe,GAAG,CAAC;AACxD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAsE,EAAe,EAAE;IAC7H,OAAO,yCAEF,CAAC;AACR,CAAC,CAAC;AACF,MAAM,gCAAgC,GAAG,GAAW,EAAE;IACpD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { IconButton, mergeStyles, Stack, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { ChatCompositeIcon } from '../../common/icons';\n/**\n * Props for {@link FileUploadButton} component.\n * @internal\n */\nexport interface FileUploadButtonProps {\n /**\n * A string containing the comma separated list of accepted file types.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n */\n accept?: string;\n /**\n * Allows multiple files to be selected if set to `true`.\n * Default value is `false`.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n */\n multiple?: boolean;\n /**\n * onChange handler for the file upload button.\n * Similar to the `onChange` attribute of the `<input type=\"file\" />` element.\n * Called every time files are selected through the file upload button with a {@link FileList}\n * of selected files.\n */\n onChange?: (files: FileList | null) => void;\n}\n\n/**\n * @internal\n */\nexport const FileUploadButton = (props: FileUploadButtonProps): JSX.Element => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const theme = useTheme();\n const {\n accept,\n multiple = false,\n onChange\n } = props;\n const fileUploadButtonClassName = mergeStyles({\n width: '1.5rem',\n height: '1.5rem',\n cursor: 'pointer',\n padding: '0.15rem',\n ':hover': {\n backgroundColor: theme.palette.neutralLighter\n }\n });\n const iconButtonClassName = mergeStyles({\n color: 'unset',\n width: '1.5rem',\n height: '1.5rem',\n ':hover': {\n color: 'unset',\n background: 'transparent'\n }\n });\n return <>\n <Stack verticalAlign=\"center\" horizontalAlign=\"center\" className={fileUploadButtonClassName} onClick={() => {\n inputRef.current?.click();\n }}>\n <IconButton className={iconButtonClassName} ariaLabel={uploadFileButtonStringTrampoline()}>\n <SendBoxAttachFileIconTrampoline />\n </IconButton>\n </Stack>\n <input ref={inputRef} hidden multiple={multiple} accept={accept} type=\"file\" onClick={e => {\n // To ensure that `onChange` is fired even if the same file is picked again.\n e.currentTarget.value = '';\n }} onChange={e => {\n onChange && onChange(e.currentTarget.files);\n }} />\n </>;\n};\nconst SendBoxAttachFileIconTrampoline = (): JSX.Element => {\n // Return _some_ available icon, as the real icon is beta-only.\n return <ChatCompositeIcon iconName=\"EditBoxCancel\" />;\n};\n\n/**\n * A wrapper to return {@link FileUploadButton} component conditionally.\n * It will return `<></>` for stable builds.\n * @internal\n */\nexport const FileUploadButtonWrapper = (props: Pick<FileUploadButtonProps, 'accept' | 'multiple' | 'onChange'>): JSX.Element => {\n return <>\n {}\n </>;\n};\nconst uploadFileButtonStringTrampoline = (): string => {\n return '';\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadHandler.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { FileUploadManager } from './FileUpload';\n\n/**\n * @beta\n * A callback function for handling file uploads.\n *\n * @param userId - The user ID of the user uploading the file.\n * @param fileUploads - The list of uploaded files. Each file is represented by an {@link FileUpload} object.\n */\nexport type FileUploadHandler = (userId: string, fileUploads: FileUploadManager[]) => void;\n"]}
1
+ {"version":3,"file":"FileUploadHandler.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { FileUploadManager } from './FileUpload';\n\n/**\n * @beta\n * A callback function for handling file uploads.\n *\n * @param userId - The user ID of the user uploading the file.\n * @param fileUploads - The list of uploaded files. Each file is represented by an {@link FileUpload} object.\n */\nexport type FileUploadHandler = (userId: string, fileUploads: FileUploadManager[]) => void;"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport * from './FileUpload';\nexport * from './FileUploadButton';\nexport * from './FileUploadHandler';\n\n/**\n * Metadata used for setting uploaded files by a user using chat composite in a group call.\n * @internal\n */\nexport type FileSharingMetadata = {\n fileSharingMetadata: string;\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport * from './FileUpload';\nexport * from './FileUploadButton';\nexport * from './FileUploadHandler';\n\n/**\n * Metadata used for setting uploaded files by a user using chat composite in a group call.\n * @internal\n */\nexport type FileSharingMetadata = {\n fileSharingMetadata: string;\n};"]}
@@ -53,9 +53,11 @@ const memoizeState = memoizeOne((userId, displayName, threads, latestErrors) =>
53
53
  threads,
54
54
  latestErrors
55
55
  }));
56
- const memoizeThreads = memoizeOne((thread) => ({ [thread.threadId]: thread }));
56
+ const memoizeThreads = memoizeOne((thread) => ({
57
+ [thread.threadId]: thread
58
+ }));
57
59
  const adaptCompositeState = (compositeState) => {
58
- return memoizeState(compositeState.userId, compositeState.displayName, memoizeThreads(compositeState.thread),
60
+ return memoizeState(compositeState.userId, compositeState.displayName, memoizeThreads(compositeState.thread), (
59
61
  // This is an unsafe type expansion.
60
62
  // compositeState.latestErrors can contain properties that are not valid in ChatErrors.
61
63
  //
@@ -69,6 +71,6 @@ const adaptCompositeState = (compositeState) => {
69
71
  // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,
70
72
  // just displaying them in some UI surface) will continue to work for these operations. Handling of
71
73
  // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.
72
- compositeState.latestErrors);
74
+ compositeState.latestErrors));
73
75
  };
74
76
  //# sourceMappingURL=useAdaptedSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ChatClientState, ChatErrors, ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { ChatAdapterState } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\nimport memoizeOne from 'memoize-one';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport const useAdaptedSelector = <SelectorT extends (state: ChatClientState, props: any) => any>(\n selector: SelectorT,\n selectorProps?: Parameters<SelectorT>[1]\n): ReturnType<SelectorT> => {\n return useSelectorWithAdaptation(selector, adaptCompositeState, selectorProps);\n};\n\n/**\n * @private\n */\nexport const useSelectorWithAdaptation = <\n SelectorT extends (state: ReturnType<AdaptFuncT>, props: any) => any,\n AdaptFuncT extends (state: ChatAdapterState) => any\n>(\n selector: SelectorT,\n adaptState: AdaptFuncT,\n selectorProps?: Parameters<SelectorT>[1]\n): ReturnType<SelectorT> => {\n const adapter = useAdapter();\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n\n const threadId = adapter.getState().thread.threadId;\n const threadConfigProps = useMemo(\n () => ({\n threadId\n }),\n [threadId]\n );\n\n const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps ?? threadConfigProps));\n const propRef = useRef(props);\n propRef.current = props;\n\n useEffect(() => {\n const onStateChange = (state: ChatAdapterState): void => {\n if (!mounted.current) {\n return;\n }\n const newProps = selector(adaptState(state), selectorProps ?? threadConfigProps);\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n adapter.onStateChange(onStateChange);\n return () => {\n adapter.offStateChange(onStateChange);\n };\n }, [adaptState, adapter, selector, selectorProps, threadConfigProps]);\n return props;\n};\n\nconst memoizeState = memoizeOne(\n (\n userId: CommunicationIdentifierKind,\n displayName: string,\n threads: { [key: string]: ChatThreadClientState },\n latestErrors: ChatErrors\n ) => ({\n userId,\n displayName,\n threads,\n latestErrors\n })\n);\n\nconst memoizeThreads = memoizeOne((thread: ChatThreadClientState) => ({ [thread.threadId]: thread }));\n\nconst adaptCompositeState = (compositeState: ChatAdapterState): ChatClientState => {\n return memoizeState(\n compositeState.userId,\n compositeState.displayName,\n memoizeThreads(compositeState.thread),\n // This is an unsafe type expansion.\n // compositeState.latestErrors can contain properties that are not valid in ChatErrors.\n //\n // But there is no way to check for valid property names at runtime:\n // - The set of valid property names is built from types in the @azure/communication-chat.\n // Thus we don't have a literal array of allowed strings at runtime.\n // - Due to minification / uglification, the property names from the objects at runtime can't be used\n // to compare against permissible values inferred from the types.\n //\n // This is not a huge problem -- it simply means that our adapted selector will include some extra operations\n // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,\n // just displaying them in some UI surface) will continue to work for these operations. Handling of\n // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.\n compositeState.latestErrors as ChatErrors\n );\n};\n\"../../../../../chat-stateful-client/src\""]}
1
+ {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ChatClientState, ChatErrors, ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { ChatAdapterState } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\nimport memoizeOne from 'memoize-one';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport const useAdaptedSelector = <SelectorT extends (state: ChatClientState, props: any) => any,>(selector: SelectorT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n return useSelectorWithAdaptation(selector, adaptCompositeState, selectorProps);\n};\n\n/**\n * @private\n */\nexport const useSelectorWithAdaptation = <SelectorT extends (state: ReturnType<AdaptFuncT>, props: any) => any, AdaptFuncT extends (state: ChatAdapterState) => any>(selector: SelectorT, adaptState: AdaptFuncT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n const adapter = useAdapter();\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n const threadId = adapter.getState().thread.threadId;\n const threadConfigProps = useMemo(() => ({\n threadId\n }), [threadId]);\n const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps ?? threadConfigProps));\n const propRef = useRef(props);\n propRef.current = props;\n useEffect(() => {\n const onStateChange = (state: ChatAdapterState): void => {\n if (!mounted.current) {\n return;\n }\n const newProps = selector(adaptState(state), selectorProps ?? threadConfigProps);\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n adapter.onStateChange(onStateChange);\n return () => {\n adapter.offStateChange(onStateChange);\n };\n }, [adaptState, adapter, selector, selectorProps, threadConfigProps]);\n return props;\n};\nconst memoizeState = memoizeOne((userId: CommunicationIdentifierKind, displayName: string, threads: {\n [key: string]: ChatThreadClientState;\n}, latestErrors: ChatErrors) => ({\n userId,\n displayName,\n threads,\n latestErrors\n}));\nconst memoizeThreads = memoizeOne((thread: ChatThreadClientState) => ({\n [thread.threadId]: thread\n}));\nconst adaptCompositeState = (compositeState: ChatAdapterState): ChatClientState => {\n return memoizeState(compositeState.userId, compositeState.displayName, memoizeThreads(compositeState.thread), (\n // This is an unsafe type expansion.\n // compositeState.latestErrors can contain properties that are not valid in ChatErrors.\n //\n // But there is no way to check for valid property names at runtime:\n // - The set of valid property names is built from types in the @azure/communication-chat.\n // Thus we don't have a literal array of allowed strings at runtime.\n // - Due to minification / uglification, the property names from the objects at runtime can't be used\n // to compare against permissible values inferred from the types.\n //\n // This is not a huge problem -- it simply means that our adapted selector will include some extra operations\n // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,\n // just displaying them in some UI surface) will continue to work for these operations. Handling of\n // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.\n compositeState.latestErrors as ChatErrors));\n};\"../../../../../chat-stateful-client/src\""]}
@@ -6,9 +6,7 @@ import { useAdapter } from '../adapter/ChatAdapterProvider';
6
6
  * @private
7
7
  */
8
8
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
9
- export const useHandlers = (
10
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
- _component) => {
9
+ export const useHandlers = (_component) => {
12
10
  return createCompositeHandlers(useAdapter());
13
11
  };
14
12
  const createCompositeHandlers = memoizeOne((adapter) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D;;GAEG;AACH,+HAA+H;AAC/H,MAAM,CAAC,MAAM,WAAW,GAAG;AACzB,6DAA6D;AAC7D,UAAkD,EACU,EAAE;IAC9D,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,UAAU,CACxC,CAAC,OAAoB,EAAgB,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC,WAAW;IAClC,0BAA0B,EAAE,OAAO,CAAC,wBAAwB;IAC5D,aAAa,EAAE,OAAO,CAAC,eAAe;IACtC,QAAQ,EAAE,OAAO,CAAC,mBAAmB;IACrC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB;IAC9C,qBAAqB,EAAE,OAAO,CAAC,QAAQ;IACvC,eAAe,EAAE,OAAO,CAAC,aAAa;IACtC,eAAe,EAAE,OAAO,CAAC,aAAa;CACvC,CAAC,CACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommonProperties } from '@internal/acs-ui-common';\nimport { ChatHandlers } from '@internal/chat-component-bindings';\n\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { ChatAdapter } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _component: (props: PropsT) => ReactElement | null\n): Pick<ChatHandlers, CommonProperties<ChatHandlers, PropsT>> => {\n return createCompositeHandlers(useAdapter());\n};\n\nconst createCompositeHandlers = memoizeOne(\n (adapter: ChatAdapter): ChatHandlers => ({\n onSendMessage: adapter.sendMessage,\n onLoadPreviousChatMessages: adapter.loadPreviousChatMessages,\n onMessageSeen: adapter.sendReadReceipt,\n onTyping: adapter.sendTypingIndicator,\n onRemoveParticipant: adapter.removeParticipant,\n updateThreadTopicName: adapter.setTopic,\n onUpdateMessage: adapter.updateMessage,\n onDeleteMessage: adapter.deleteMessage\n })\n);\n\"../../../../../acs-ui-common/src\"\"../../../../../chat-component-bindings/src\""]}
1
+ {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D;;GAEG;AACH,+HAA+H;AAC/H,MAAM,CAAC,MAAM,WAAW,GAAG,CAAU,UAAkD,EAA8D,EAAE;IACrJ,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,CAAC,OAAoB,EAAgB,EAAE,CAAC,CAAC;IAClF,aAAa,EAAE,OAAO,CAAC,WAAW;IAClC,0BAA0B,EAAE,OAAO,CAAC,wBAAwB;IAC5D,aAAa,EAAE,OAAO,CAAC,eAAe;IACtC,QAAQ,EAAE,OAAO,CAAC,mBAAmB;IACrC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB;IAC9C,qBAAqB,EAAE,OAAO,CAAC,QAAQ;IACvC,eAAe,EAAE,OAAO,CAAC,aAAa;IACtC,eAAe,EAAE,OAAO,CAAC,aAAa;CACvC,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommonProperties } from '@internal/acs-ui-common';\nimport { ChatHandlers } from '@internal/chat-component-bindings';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { ChatAdapter } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT,>(_component: (props: PropsT) => ReactElement | null): Pick<ChatHandlers, CommonProperties<ChatHandlers, PropsT>> => {\n return createCompositeHandlers(useAdapter());\n};\nconst createCompositeHandlers = memoizeOne((adapter: ChatAdapter): ChatHandlers => ({\n onSendMessage: adapter.sendMessage,\n onLoadPreviousChatMessages: adapter.loadPreviousChatMessages,\n onMessageSeen: adapter.sendReadReceipt,\n onTyping: adapter.sendTypingIndicator,\n onRemoveParticipant: adapter.removeParticipant,\n updateThreadTopicName: adapter.setTopic,\n onUpdateMessage: adapter.updateMessage,\n onDeleteMessage: adapter.deleteMessage\n}));\"../../../../../acs-ui-common/src\"\"../../../../../chat-component-bindings/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"usePropsFor.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/usePropsFor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uDAAuD;AAEvD,OAAO,EAAE,eAAe,EAAiC,mDAA0C;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAoB,EAGI,EAAE;IAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;IACD,uCAAY,kBAAkB,CAAC,QAAoB,CAAC,GAAK,WAAW,CAAC,SAAS,CAAC,EAAG;AACpF,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { getChatSelector, ChatHandlers, GetChatSelector } from '@internal/chat-component-bindings';\n\nimport { useHandlers } from './useHandlers';\nimport { useAdaptedSelector } from './useAdaptedSelector';\nimport { Common } from '@internal/acs-ui-common';\n\ntype Selector = (state: any, props: any) => any;\n\n/**\n * @private\n */\nexport const usePropsFor = <Component extends (props: any) => JSX.Element>(\n component: Component\n): GetChatSelector<Component> extends Selector\n ? ReturnType<GetChatSelector<Component>> & Common<ChatHandlers, Parameters<Component>[0]>\n : Record<string, never> => {\n const selector = getChatSelector(component);\n if (!selector) {\n throw new Error(\"Can't find the selector for component, please check supported component list\");\n }\n return { ...useAdaptedSelector(selector as Selector), ...useHandlers(component) };\n};\n\"../../../../../chat-component-bindings/src\"\"../../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"usePropsFor.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/usePropsFor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uDAAuD;AAEvD,OAAO,EAAE,eAAe,EAAiC,mDAA0C;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiD,SAAoB,EAAiK,EAAE;IACjQ,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;KACjG;IACD,uCACK,kBAAkB,CAAE,QAAqB,CAAC,GAC1C,WAAW,CAAC,SAAS,CAAC,EACzB;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { getChatSelector, ChatHandlers, GetChatSelector } from '@internal/chat-component-bindings';\nimport { useHandlers } from './useHandlers';\nimport { useAdaptedSelector } from './useAdaptedSelector';\nimport { Common } from '@internal/acs-ui-common';\ntype Selector = (state: any, props: any) => any;\n\n/**\n * @private\n */\nexport const usePropsFor = <Component extends (props: any) => JSX.Element,>(component: Component): GetChatSelector<Component> extends Selector ? ReturnType<GetChatSelector<Component>> & Common<ChatHandlers, Parameters<Component>[0]> : Record<string, never> => {\n const selector = getChatSelector(component);\n if (!selector) {\n throw new Error(\"Can't find the selector for component, please check supported component list\");\n }\n return {\n ...useAdaptedSelector((selector as Selector)),\n ...useHandlers(component)\n };\n};\"../../../../../chat-component-bindings/src\"\"../../../../../acs-ui-common/src\""]}
@@ -4,7 +4,4 @@ export { ChatComposite } from './ChatComposite';
4
4
  export type { ChatCompositeProps, ChatCompositeOptions } from './ChatComposite';
5
5
  export type { ChatAdapter, ChatAdapterSubscribers, ChatAdapterThreadManagement, ChatCompositeClientState, ChatAdapterState, ChatAdapterUiState, MessageReadListener, MessageReceivedListener, MessageSentListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './adapter/ChatAdapter';
6
6
  export * from './Strings';
7
- export type { FileUploadHandler, FileUploadManager, FileUploadState, FileUploadError } from './file-sharing';
8
- export type { FileSharingOptions } from './ChatScreen';
9
- export type { FileUploadsUiState, FileUploadAdapter } from './adapter/AzureCommunicationFileUploadAdapter';
10
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/ChatComposite/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EACL,mCAAmC,EACnC,6CAA6C,EAC7C,gCAAgC,EACjC,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkBhD,cAAc,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport {\n createAzureCommunicationChatAdapter,\n createAzureCommunicationChatAdapterFromClient,\n useAzureCommunicationChatAdapter\n} from './adapter/AzureCommunicationChatAdapter';\nexport type { AzureCommunicationChatAdapterArgs } from './adapter/AzureCommunicationChatAdapter';\n\nexport { ChatComposite } from './ChatComposite';\nexport type { ChatCompositeProps, ChatCompositeOptions } from './ChatComposite';\n\nexport type {\n ChatAdapter,\n ChatAdapterSubscribers,\n ChatAdapterThreadManagement,\n ChatCompositeClientState,\n ChatAdapterState,\n ChatAdapterUiState,\n MessageReadListener,\n MessageReceivedListener,\n MessageSentListener,\n ParticipantsAddedListener,\n ParticipantsRemovedListener,\n TopicChangedListener\n} from './adapter/ChatAdapter';\n\nexport * from './Strings';\n\n/* @conditional-compile-remove(file-sharing) */\nexport type { FileUploadHandler, FileUploadManager, FileUploadState, FileUploadError } from './file-sharing';\n/* @conditional-compile-remove(file-sharing) */\nexport type { FileSharingOptions } from './ChatScreen';\n/* @conditional-compile-remove(file-sharing) */\nexport type { FileUploadsUiState, FileUploadAdapter } from './adapter/AzureCommunicationFileUploadAdapter';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mCAAmC,EAAE,6CAA6C,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAE/K,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,cAAc,WAAW,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport { createAzureCommunicationChatAdapter, createAzureCommunicationChatAdapterFromClient, useAzureCommunicationChatAdapter } from './adapter/AzureCommunicationChatAdapter';\nexport type { AzureCommunicationChatAdapterArgs } from './adapter/AzureCommunicationChatAdapter';\nexport { ChatComposite } from './ChatComposite';\nexport type { ChatCompositeProps, ChatCompositeOptions } from './ChatComposite';\nexport type { ChatAdapter, ChatAdapterSubscribers, ChatAdapterThreadManagement, ChatCompositeClientState, ChatAdapterState, ChatAdapterUiState, MessageReadListener, MessageReceivedListener, MessageSentListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './adapter/ChatAdapter';\nexport * from './Strings';"]}
@@ -82,8 +82,12 @@ export const topicNameLabelStyle = mergeStyles({
82
82
  * @private
83
83
  */
84
84
  export const messageThreadChatCompositeStyles = memoizeFunction((background) => ({
85
- root: { maxWidth: MESSAGE_THREAD_WIDTH },
86
- chatContainer: { background: background }
85
+ root: {
86
+ maxWidth: MESSAGE_THREAD_WIDTH
87
+ },
88
+ chatContainer: {
89
+ background: background
90
+ }
87
91
  }));
88
92
  /**
89
93
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.styles.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/styles/Chat.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAU,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGvE,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAClD,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;IACvC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,QAAQ;IAElB,sBAAsB,EAAE;QACtB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;KACjB;IACD,kCAAkC,EAAE;QAClC,UAAU,EAAE,qBAAqB;QACjC,YAAY,EAAE,QAAQ;KACvB;IACD,4BAA4B,EAAE;QAC5B,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,qBAAqB;KAClC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;IAClC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,UAAU,CAAC,wFAAwF;CAC9G,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;IACrC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAClD,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,sCAAsC,EAAE;QACtC,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;KACnB;IACD,YAAY,EAAE,wBAAwB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC7C,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,eAAe,CAC7D,CAAC,UAAkB,EAAuB,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE;IACxC,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;CAC1C,CAAC,CACH,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW;IACpD,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAW;IAC5C,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,QAAQ;CACpB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IStyle, memoizeFunction, mergeStyles } from '@fluentui/react';\nimport { MessageThreadStyles } from '@internal/react-components';\n\nconst MESSAGE_THREAD_WIDTH = '41.25rem';\n\n/**\n * @private\n * z-index to ensure that chat container has lower z-index than participant pane\n */\nexport const CHAT_CONTAINER_ZINDEX = 1;\n\n/**\n * @private\n */\nexport const chatScreenContainerStyle = mergeStyles({\n height: '100%',\n width: '100%',\n minHeight: '13rem',\n minWidth: '17.5rem'\n});\n\n/**\n * @private\n */\nexport const chatContainer = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'hidden',\n\n '*::-webkit-scrollbar': {\n width: '0.3rem',\n height: '0.3rem'\n },\n '.scroll::-webkit-scrollbar-track': {\n background: 'rgba(150, 150, 150)',\n borderRadius: '0.3rem'\n },\n '*::-webkit-scrollbar-thumb': {\n borderRadius: '10px',\n background: 'rgba(150, 150, 150)'\n }\n});\n\n/**\n * @private\n */\nexport const chatArea = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'auto',\n position: 'relative' // Ensure that the absolute children components are positioned relative to the chat area\n});\n\n/**\n * @private\n */\nexport const chatWrapper = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'hidden',\n zIndex: CHAT_CONTAINER_ZINDEX\n});\n\n/**\n * @private\n */\nexport const chatHeaderContainerStyle = mergeStyles({\n width: '100%',\n paddingLeft: '1.5rem',\n paddingRight: '1.5rem',\n '@media screen and (max-width: 25rem)': {\n paddingLeft: '5%',\n paddingRight: '5%'\n },\n borderBottom: '0.063rem solid #DDDDDD'\n});\n\n/**\n * @private\n */\nexport const topicNameLabelStyle = mergeStyles({\n fontSize: '1.1rem',\n lineHeight: '2.5rem',\n fontWeight: 600,\n marginRight: '0.125rem',\n textOverflow: 'ellipsis',\n overflowY: 'hidden'\n});\n\n/**\n * @private\n */\nexport const messageThreadChatCompositeStyles = memoizeFunction(\n (background: string): MessageThreadStyles => ({\n root: { maxWidth: MESSAGE_THREAD_WIDTH },\n chatContainer: { background: background }\n })\n);\n\n/**\n * @private\n */\nexport const typingIndicatorContainerStyles: IStyle = {\n padding: '0rem 0.25rem'\n};\n\n/**\n * @private\n */\nexport const sendboxContainerStyles: IStyle = {\n maxWidth: MESSAGE_THREAD_WIDTH,\n width: '100%',\n alignSelf: 'center'\n};\n\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"Chat.styles.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/styles/Chat.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAU,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAClD,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,SAAS;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;IACvC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,QAAQ;IAClB,sBAAsB,EAAE;QACtB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;KACjB;IACD,kCAAkC,EAAE;QAClC,UAAU,EAAE,qBAAqB;QACjC,YAAY,EAAE,QAAQ;KACvB;IACD,4BAA4B,EAAE;QAC5B,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,qBAAqB;KAClC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC;IAClC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,UAAU,CAAC,wFAAwF;CAC9G,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;IACrC,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,WAAW,CAAC;IAClD,KAAK,EAAE,MAAM;IACb,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,sCAAsC,EAAE;QACtC,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;KACnB;IACD,YAAY,EAAE,wBAAwB;CACvC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC7C,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,eAAe,CAAC,CAAC,UAAkB,EAAuB,EAAE,CAAC,CAAC;IAC5G,IAAI,EAAE;QACJ,QAAQ,EAAE,oBAAoB;KAC/B;IACD,aAAa,EAAE;QACb,UAAU,EAAE,UAAU;KACvB;CACF,CAAC,CAAC,CAAC;AAEJ;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAW;IACpD,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAW;IAC5C,QAAQ,EAAE,oBAAoB;IAC9B,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,QAAQ;CACpB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IStyle, memoizeFunction, mergeStyles } from '@fluentui/react';\nimport { MessageThreadStyles } from '@internal/react-components';\nconst MESSAGE_THREAD_WIDTH = '41.25rem';\n\n/**\n * @private\n * z-index to ensure that chat container has lower z-index than participant pane\n */\nexport const CHAT_CONTAINER_ZINDEX = 1;\n\n/**\n * @private\n */\nexport const chatScreenContainerStyle = mergeStyles({\n height: '100%',\n width: '100%',\n minHeight: '13rem',\n minWidth: '17.5rem'\n});\n\n/**\n * @private\n */\nexport const chatContainer = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'hidden',\n '*::-webkit-scrollbar': {\n width: '0.3rem',\n height: '0.3rem'\n },\n '.scroll::-webkit-scrollbar-track': {\n background: 'rgba(150, 150, 150)',\n borderRadius: '0.3rem'\n },\n '*::-webkit-scrollbar-thumb': {\n borderRadius: '10px',\n background: 'rgba(150, 150, 150)'\n }\n});\n\n/**\n * @private\n */\nexport const chatArea = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'auto',\n position: 'relative' // Ensure that the absolute children components are positioned relative to the chat area\n});\n\n/**\n * @private\n */\nexport const chatWrapper = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'hidden',\n zIndex: CHAT_CONTAINER_ZINDEX\n});\n\n/**\n * @private\n */\nexport const chatHeaderContainerStyle = mergeStyles({\n width: '100%',\n paddingLeft: '1.5rem',\n paddingRight: '1.5rem',\n '@media screen and (max-width: 25rem)': {\n paddingLeft: '5%',\n paddingRight: '5%'\n },\n borderBottom: '0.063rem solid #DDDDDD'\n});\n\n/**\n * @private\n */\nexport const topicNameLabelStyle = mergeStyles({\n fontSize: '1.1rem',\n lineHeight: '2.5rem',\n fontWeight: 600,\n marginRight: '0.125rem',\n textOverflow: 'ellipsis',\n overflowY: 'hidden'\n});\n\n/**\n * @private\n */\nexport const messageThreadChatCompositeStyles = memoizeFunction((background: string): MessageThreadStyles => ({\n root: {\n maxWidth: MESSAGE_THREAD_WIDTH\n },\n chatContainer: {\n background: background\n }\n}));\n\n/**\n * @private\n */\nexport const typingIndicatorContainerStyles: IStyle = {\n padding: '0rem 0.25rem'\n};\n\n/**\n * @private\n */\nexport const sendboxContainerStyles: IStyle = {\n maxWidth: MESSAGE_THREAD_WIDTH,\n width: '100%',\n alignSelf: 'center'\n};\"../../../../../react-components/src\""]}
@@ -1,15 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { CallWithChatCompositeStrings } from '../../index-public';
3
- import { CallCompositeStrings } from '../../index-public';
4
- import { PhoneNumberIdentifier } from '@azure/communication-common';
5
- import { AddPhoneNumberOptions } from '@azure/communication-calling';
6
3
  /** @private */
7
4
  export interface AddPeopleButtonProps {
8
5
  inviteLink?: string;
9
6
  mobileView?: boolean;
10
7
  participantList?: JSX.Element;
11
- strings: CallWithChatCompositeStrings | /* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */ CallCompositeStrings;
12
- onAddParticipant: (participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions) => void;
8
+ strings: CallWithChatCompositeStrings;
13
9
  alternateCallerId?: string;
14
10
  }
15
11
  /** @private */
@@ -6,8 +6,6 @@ import React, { useCallback, useMemo, useState } from 'react';
6
6
  import { CallWithChatCompositeIcon } from './icons';
7
7
  import { peoplePaneContainerTokens } from './styles/ParticipantContainer.styles';
8
8
  import { copyLinkButtonContainerStyles, copyLinkButtonStackStyles, copyLinkButtonStyles, linkIconStyles, themedCopyLinkButtonStyles } from './styles/PeoplePaneContent.styles';
9
- /* @conditional-compile-remove(PSTN-calls) */
10
- import { AddPeopleDropdown } from './AddPeopleDropdown';
11
9
  import { Announcer } from "../../../../react-components/src";
12
10
  /** @private */
13
11
  export const AddPeopleButton = (props) => {
@@ -28,32 +26,23 @@ export const AddPeopleButton = (props) => {
28
26
  setCopyInviteLinkAnnouncerStrings('');
29
27
  }, 3000);
30
28
  }, [strings.copyInviteLinkActionedAriaLabel]);
31
- /* @conditional-compile-remove(PSTN-calls) */
32
29
  if (mobileView) {
33
- return (React.createElement(AddPeopleDropdown, { strings: strings, mobileView: mobileView, inviteLink: inviteLink, onAddParticipant: props.onAddParticipant, alternateCallerId: props.alternateCallerId }));
34
- }
35
- else {
36
- return (React.createElement(Stack, { tokens: peoplePaneContainerTokens },
37
- React.createElement(AddPeopleDropdown, { strings: strings, mobileView: mobileView, inviteLink: inviteLink, onAddParticipant: props.onAddParticipant, alternateCallerId: props.alternateCallerId }),
38
- participantList));
39
- }
40
- if (mobileView) {
41
- return (React.createElement(Stack, null, inviteLink && (React.createElement(Stack.Item, { styles: copyLinkButtonContainerStyles },
30
+ return React.createElement(Stack, null, inviteLink && React.createElement(Stack.Item, { styles: copyLinkButtonContainerStyles },
42
31
  React.createElement(Announcer, { announcementString: copyInviteLinkAnnouncerStrings, ariaLive: 'polite' }),
43
32
  React.createElement(PrimaryButton, { onClick: () => {
44
33
  copy(inviteLink !== null && inviteLink !== void 0 ? inviteLink : '');
45
34
  toggleAnnouncerString();
46
- }, styles: copyLinkButtonStylesThemed, onRenderIcon: () => React.createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), text: strings.copyInviteLinkButtonLabel })))));
35
+ }, styles: copyLinkButtonStylesThemed, onRenderIcon: () => React.createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), text: strings.copyInviteLinkButtonLabel })));
47
36
  }
48
37
  else {
49
- return (React.createElement(Stack, { tokens: peoplePaneContainerTokens },
50
- inviteLink && (React.createElement(Stack, { styles: copyLinkButtonStackStyles },
38
+ return React.createElement(Stack, { tokens: peoplePaneContainerTokens },
39
+ inviteLink && React.createElement(Stack, { styles: copyLinkButtonStackStyles },
51
40
  React.createElement(Announcer, { announcementString: copyInviteLinkAnnouncerStrings, ariaLive: 'polite' }),
52
41
  React.createElement(DefaultButton, { text: strings.copyInviteLinkButtonLabel, onRenderIcon: () => React.createElement(CallWithChatCompositeIcon, { iconName: "Link", style: linkIconStyles }), onClick: () => {
53
42
  copy(inviteLink !== null && inviteLink !== void 0 ? inviteLink : '');
54
43
  toggleAnnouncerString();
55
- }, styles: copyLinkButtonStylesThemed }))),
56
- participantList));
44
+ }, styles: copyLinkButtonStylesThemed })),
45
+ participantList);
57
46
  }
58
47
  };
59
48
  //# sourceMappingURL=AddPeopleButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddPeopleButton.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/AddPeopleButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { concatStyleSets, DefaultButton, IButtonStyles, PrimaryButton, Stack, useTheme } from '@fluentui/react';\nimport copy from 'copy-to-clipboard';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { CallWithChatCompositeStrings } from '../../index-public';\n/* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */\nimport { CallCompositeStrings } from '../../index-public';\nimport { CallWithChatCompositeIcon } from './icons';\nimport { peoplePaneContainerTokens } from './styles/ParticipantContainer.styles';\nimport {\n copyLinkButtonContainerStyles,\n copyLinkButtonStackStyles,\n copyLinkButtonStyles,\n linkIconStyles,\n themedCopyLinkButtonStyles\n} from './styles/PeoplePaneContent.styles';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPeopleDropdown } from './AddPeopleDropdown';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\nimport { Announcer } from '@internal/react-components';\n\n/** @private */\nexport interface AddPeopleButtonProps {\n inviteLink?: string;\n mobileView?: boolean;\n participantList?: JSX.Element;\n strings:\n | CallWithChatCompositeStrings\n | /* @conditional-compile-remove(one-to-n-calling) @conditional-compile-remove(PSTN-calls) */ CallCompositeStrings;\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: (participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions) => void;\n alternateCallerId?: string;\n}\n\n/** @private */\nexport const AddPeopleButton = (props: AddPeopleButtonProps): JSX.Element => {\n const { inviteLink, mobileView, strings, participantList } = props;\n\n const theme = useTheme();\n\n const [copyInviteLinkAnnouncerStrings, setCopyInviteLinkAnnouncerStrings] = useState<string>('');\n\n const copyLinkButtonStylesThemed = useMemo(\n (): IButtonStyles => concatStyleSets(copyLinkButtonStyles, themedCopyLinkButtonStyles(mobileView, theme)),\n [mobileView, theme]\n );\n /**\n * sets the announcement string for when the link is copied.\n */\n const toggleAnnouncerString = useCallback(() => {\n setCopyInviteLinkAnnouncerStrings(strings.copyInviteLinkActionedAriaLabel);\n /**\n * Clears the announcer string after the user clicks the\n * copyInviteLink button allowing it to be re-announced.\n */\n setTimeout(() => {\n setCopyInviteLinkAnnouncerStrings('');\n }, 3000);\n }, [strings.copyInviteLinkActionedAriaLabel]);\n\n /* @conditional-compile-remove(PSTN-calls) */\n if (mobileView) {\n return (\n <AddPeopleDropdown\n strings={strings}\n mobileView={mobileView}\n inviteLink={inviteLink}\n onAddParticipant={props.onAddParticipant}\n alternateCallerId={props.alternateCallerId}\n />\n );\n } else {\n return (\n <Stack tokens={peoplePaneContainerTokens}>\n <AddPeopleDropdown\n strings={strings}\n mobileView={mobileView}\n inviteLink={inviteLink}\n onAddParticipant={props.onAddParticipant}\n alternateCallerId={props.alternateCallerId}\n />\n {participantList}\n </Stack>\n );\n }\n\n if (mobileView) {\n return (\n <Stack>\n {inviteLink && (\n <Stack.Item styles={copyLinkButtonContainerStyles}>\n <Announcer announcementString={copyInviteLinkAnnouncerStrings} ariaLive={'polite'} />\n <PrimaryButton\n onClick={() => {\n copy(inviteLink ?? '');\n toggleAnnouncerString();\n }}\n styles={copyLinkButtonStylesThemed}\n onRenderIcon={() => <CallWithChatCompositeIcon iconName=\"Link\" style={linkIconStyles} />}\n text={strings.copyInviteLinkButtonLabel}\n />\n </Stack.Item>\n )}\n </Stack>\n );\n } else {\n return (\n <Stack tokens={peoplePaneContainerTokens}>\n {inviteLink && (\n <Stack styles={copyLinkButtonStackStyles}>\n <Announcer announcementString={copyInviteLinkAnnouncerStrings} ariaLive={'polite'} />\n <DefaultButton\n text={strings.copyInviteLinkButtonLabel}\n onRenderIcon={() => <CallWithChatCompositeIcon iconName=\"Link\" style={linkIconStyles} />}\n onClick={() => {\n copy(inviteLink ?? '');\n toggleAnnouncerString();\n }}\n styles={copyLinkButtonStylesThemed}\n />\n </Stack>\n )}\n {participantList}\n </Stack>\n );\n }\n};\n\"../../../../react-components/src\""]}
1
+ {"version":3,"file":"AddPeopleButton.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/common/AddPeopleButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { concatStyleSets, DefaultButton, IButtonStyles, PrimaryButton, Stack, useTheme } from '@fluentui/react';\nimport copy from 'copy-to-clipboard';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport { CallWithChatCompositeStrings } from '../../index-public';\nimport { CallWithChatCompositeIcon } from './icons';\nimport { peoplePaneContainerTokens } from './styles/ParticipantContainer.styles';\nimport { copyLinkButtonContainerStyles, copyLinkButtonStackStyles, copyLinkButtonStyles, linkIconStyles, themedCopyLinkButtonStyles } from './styles/PeoplePaneContent.styles';\nimport { Announcer } from '@internal/react-components';\n\n/** @private */\nexport interface AddPeopleButtonProps {\n inviteLink?: string;\n mobileView?: boolean;\n participantList?: JSX.Element;\n strings: CallWithChatCompositeStrings;\n alternateCallerId?: string;\n}\n\n/** @private */\nexport const AddPeopleButton = (props: AddPeopleButtonProps): JSX.Element => {\n const {\n inviteLink,\n mobileView,\n strings,\n participantList\n } = props;\n const theme = useTheme();\n const [copyInviteLinkAnnouncerStrings, setCopyInviteLinkAnnouncerStrings] = useState<string>('');\n const copyLinkButtonStylesThemed = useMemo((): IButtonStyles => concatStyleSets(copyLinkButtonStyles, themedCopyLinkButtonStyles(mobileView, theme)), [mobileView, theme]);\n /**\n * sets the announcement string for when the link is copied.\n */\n const toggleAnnouncerString = useCallback(() => {\n setCopyInviteLinkAnnouncerStrings(strings.copyInviteLinkActionedAriaLabel);\n /**\n * Clears the announcer string after the user clicks the\n * copyInviteLink button allowing it to be re-announced.\n */\n setTimeout(() => {\n setCopyInviteLinkAnnouncerStrings('');\n }, 3000);\n }, [strings.copyInviteLinkActionedAriaLabel]);\n if (mobileView) {\n return <Stack>\n {inviteLink && <Stack.Item styles={copyLinkButtonContainerStyles}>\n <Announcer announcementString={copyInviteLinkAnnouncerStrings} ariaLive={'polite'} />\n <PrimaryButton onClick={() => {\n copy(inviteLink ?? '');\n toggleAnnouncerString();\n }} styles={copyLinkButtonStylesThemed} onRenderIcon={() => <CallWithChatCompositeIcon iconName=\"Link\" style={linkIconStyles} />} text={strings.copyInviteLinkButtonLabel} />\n </Stack.Item>}\n </Stack>;\n } else {\n return <Stack tokens={peoplePaneContainerTokens}>\n {inviteLink && <Stack styles={copyLinkButtonStackStyles}>\n <Announcer announcementString={copyInviteLinkAnnouncerStrings} ariaLive={'polite'} />\n <DefaultButton text={strings.copyInviteLinkButtonLabel} onRenderIcon={() => <CallWithChatCompositeIcon iconName=\"Link\" style={linkIconStyles} />} onClick={() => {\n copy(inviteLink ?? '');\n toggleAnnouncerString();\n }} styles={copyLinkButtonStylesThemed} />\n </Stack>}\n {participantList}\n </Stack>;\n }\n};\"../../../../react-components/src\""]}
@@ -29,11 +29,6 @@ export declare type AvatarPersonaData = {
29
29
  * @defaultvalue `white`
30
30
  */
31
31
  initialsTextColor?: string;
32
- /**
33
- * If true, show the special coin for unknown persona.
34
- * It has '?' in place of initials, with static font and background colors
35
- */
36
- showUnknownPersonaCoin?: boolean;
37
32
  };
38
33
  /**
39
34
  * Callback function used to provide custom data to build an avatar for a user.
@@ -19,7 +19,7 @@ import React, { useEffect, useState } from 'react';
19
19
  * @private
20
20
  */
21
21
  export const AvatarPersona = (props) => {
22
- var _a, _b, _c, _d, _e, _f, _g, _h;
22
+ var _a, _b, _c, _d, _e, _f;
23
23
  const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } = props;
24
24
  const [data, setData] = useState();
25
25
  useEffect(() => {
@@ -32,17 +32,11 @@ export const AvatarPersona = (props) => {
32
32
  }
33
33
  }))();
34
34
  }, [data, dataProvider, userId]);
35
- return (React.createElement(Persona, Object.assign({}, props, { text: (_a = data === null || data === void 0 ? void 0 : data.text) !== null && _a !== void 0 ? _a : text, imageUrl: (_b = data === null || data === void 0 ? void 0 : data.imageUrl) !== null && _b !== void 0 ? _b : imageUrl, imageInitials: (_c = data === null || data === void 0 ? void 0 : data.imageInitials) !== null && _c !== void 0 ? _c : imageInitials, initialsColor: (_d = data === null || data === void 0 ? void 0 : data.initialsColor) !== null && _d !== void 0 ? _d : initialsColor, initialsTextColor: (_f = (_e = data === null || data === void 0 ? void 0 : data.initialsTextColor) !== null && _e !== void 0 ? _e : initialsTextColor) !== null && _f !== void 0 ? _f : 'white',
35
+ return React.createElement(Persona, Object.assign({}, props, { text: (_a = data === null || data === void 0 ? void 0 : data.text) !== null && _a !== void 0 ? _a : text, imageUrl: (_b = data === null || data === void 0 ? void 0 : data.imageUrl) !== null && _b !== void 0 ? _b : imageUrl, imageInitials: (_c = data === null || data === void 0 ? void 0 : data.imageInitials) !== null && _c !== void 0 ? _c : imageInitials, initialsColor: (_d = data === null || data === void 0 ? void 0 : data.initialsColor) !== null && _d !== void 0 ? _d : initialsColor, initialsTextColor: (_f = (_e = data === null || data === void 0 ? void 0 : data.initialsTextColor) !== null && _e !== void 0 ? _e : initialsTextColor) !== null && _f !== void 0 ? _f : 'white',
36
36
  // default disable tooltip unless specified
37
- showOverflowTooltip: showOverflowTooltip !== null && showOverflowTooltip !== void 0 ? showOverflowTooltip : false,
38
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
39
- showUnknownPersonaCoin: (_h = (_g = data === null || data === void 0 ? void 0 : data.showUnknownPersonaCoin) !== null && _g !== void 0 ? _g : props.showUnknownPersonaCoin) !== null && _h !== void 0 ? _h : false })));
37
+ showOverflowTooltip: showOverflowTooltip !== null && showOverflowTooltip !== void 0 ? showOverflowTooltip : false }));
40
38
  };
41
39
  const avatarDeepDifferenceCheck = (currentData, newData) => {
42
- return ((currentData === null || currentData === void 0 ? void 0 : currentData.text) !== (newData === null || newData === void 0 ? void 0 : newData.text) ||
43
- (currentData === null || currentData === void 0 ? void 0 : currentData.imageUrl) !== (newData === null || newData === void 0 ? void 0 : newData.imageUrl) ||
44
- (currentData === null || currentData === void 0 ? void 0 : currentData.initialsColor) !== (newData === null || newData === void 0 ? void 0 : newData.initialsColor) ||
45
- (currentData === null || currentData === void 0 ? void 0 : currentData.imageInitials) !== (newData === null || newData === void 0 ? void 0 : newData.imageInitials) ||
46
- (currentData === null || currentData === void 0 ? void 0 : currentData.initialsTextColor) !== (newData === null || newData === void 0 ? void 0 : newData.initialsTextColor));
40
+ return (currentData === null || currentData === void 0 ? void 0 : currentData.text) !== (newData === null || newData === void 0 ? void 0 : newData.text) || (currentData === null || currentData === void 0 ? void 0 : currentData.imageUrl) !== (newData === null || newData === void 0 ? void 0 : newData.imageUrl) || (currentData === null || currentData === void 0 ? void 0 : currentData.initialsColor) !== (newData === null || newData === void 0 ? void 0 : newData.initialsColor) || (currentData === null || currentData === void 0 ? void 0 : currentData.imageInitials) !== (newData === null || newData === void 0 ? void 0 : newData.imageInitials) || (currentData === null || currentData === void 0 ? void 0 : currentData.initialsTextColor) !== (newData === null || newData === void 0 ? void 0 : newData.initialsTextColor);
47
41
  };
48
42
  //# sourceMappingURL=AvatarPersona.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarPersona.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/AvatarPersona.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAiB,OAAO,EAAwB,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AA4DnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE;;IACtE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,GAClH,KAAK,CAAC;IAER,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAiC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,GAAS,EAAE;YACV,IAAI,YAAY,IAAI,MAAM,EAAE;gBAC1B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,OAAO,CAAC,CAAC;iBAClB;aACF;QACH,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjC,OAAO,CACL,oBAAC,OAAO,oBACF,KAAK,IACT,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,IAAI,EACxB,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,mCAAI,QAAQ,EACpC,aAAa,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,aAAa,EACnD,aAAa,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,aAAa,EACnD,iBAAiB,EAAE,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,mCAAI,iBAAiB,mCAAI,OAAO;QAC1E,2CAA2C;QAC3C,mBAAmB,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,KAAK;QACjD,6CAA6C,CAAC,mDAAmD;QACjG,sBAAsB,EAAE,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,sBAAsB,mCAAI,KAAK,CAAC,sBAAsB,mCAAI,KAAK,IAC7F,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,WAA+B,EAAE,OAA2B,EAAW,EAAE;IAC1G,OAAO,CACL,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA;QACnC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA;QAC3C,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA;QACrD,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA;QACrD,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAA,CAC9D,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IPersonaProps, Persona, PersonaInitialsColor } from '@fluentui/react';\nimport React, { useEffect, useState } from 'react';\n\n/**\n * Custom data attributes for displaying avatar for a user.\n *\n * @public\n */\nexport type AvatarPersonaData = {\n /**\n * Primary text to display, usually the name of the person.\n */\n text?: string;\n /**\n * Image URL to use, should be a square aspect ratio and big enough to fit in the image area.\n */\n imageUrl?: string;\n /**\n * The user's initials to display in the image area when there is no image.\n * @defaultvalue Derived from `text`\n */\n imageInitials?: string;\n /**\n * The background color when the user's initials are displayed.\n * @defaultvalue Derived from `text`\n */\n initialsColor?: PersonaInitialsColor | string;\n /**\n * The text color when the user's initials are displayed\n * @defaultvalue `white`\n */\n initialsTextColor?: string;\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n /**\n * If true, show the special coin for unknown persona.\n * It has '?' in place of initials, with static font and background colors\n */\n showUnknownPersonaCoin?: boolean;\n};\n\n/**\n * Callback function used to provide custom data to build an avatar for a user.\n *\n * @public\n */\nexport type AvatarPersonaDataCallback = (userId: string) => Promise<AvatarPersonaData>;\n\n/**\n * @private\n */\nexport interface AvatarPersonaProps extends IPersonaProps {\n /**\n * Azure Communicator user ID.\n */\n userId?: string;\n /**\n * A function that returns a Promise that resolves to the data to be displayed.\n */\n dataProvider?: AvatarPersonaDataCallback;\n}\n\n/**\n * An Avatar component made using the `Persona` component.\n * It allows you to specify a `userId` and a `dataProvider` to retrieve the `AvatarPersonaData`.\n * Read more about `Persona` component at https://developer.microsoft.com/fluentui#/controls/web/persona\n *\n * @private\n */\nexport const AvatarPersona = (props: AvatarPersonaProps): JSX.Element => {\n const { userId, dataProvider, text, imageUrl, imageInitials, initialsColor, initialsTextColor, showOverflowTooltip } =\n props;\n\n const [data, setData] = useState<AvatarPersonaData | undefined>();\n\n useEffect(() => {\n (async () => {\n if (dataProvider && userId) {\n const newData = await dataProvider(userId);\n if (avatarDeepDifferenceCheck(data, newData)) {\n setData(newData);\n }\n }\n })();\n }, [data, dataProvider, userId]);\n\n return (\n <Persona\n {...props}\n text={data?.text ?? text}\n imageUrl={data?.imageUrl ?? imageUrl}\n imageInitials={data?.imageInitials ?? imageInitials}\n initialsColor={data?.initialsColor ?? initialsColor}\n initialsTextColor={data?.initialsTextColor ?? initialsTextColor ?? 'white'}\n // default disable tooltip unless specified\n showOverflowTooltip={showOverflowTooltip ?? false}\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n showUnknownPersonaCoin={data?.showUnknownPersonaCoin ?? props.showUnknownPersonaCoin ?? false}\n />\n );\n};\n\nconst avatarDeepDifferenceCheck = (currentData?: AvatarPersonaData, newData?: AvatarPersonaData): boolean => {\n return (\n currentData?.text !== newData?.text ||\n currentData?.imageUrl !== newData?.imageUrl ||\n currentData?.initialsColor !== newData?.initialsColor ||\n currentData?.imageInitials !== newData?.imageInitials ||\n currentData?.initialsTextColor !== newData?.initialsTextColor\n );\n};\n"]}
1
+ {"version":3,"file":"AvatarPersona.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/common/AvatarPersona.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAiB,OAAO,EAAwB,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAsDnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE;;IACtE,MAAM,EACJ,MAAM,EACN,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACpB,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,EAAiC,CAAC;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,GAAS,EAAE;YACV,IAAI,YAAY,IAAI,MAAM,EAAE;gBAC1B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,yBAAyB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;oBAC5C,OAAO,CAAC,OAAO,CAAC,CAAC;iBAClB;aACF;QACH,CAAC,CAAA,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACjC,OAAO,oBAAC,OAAO,oBAAK,KAAK,IAAE,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,IAAI,EAAE,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,mCAAI,QAAQ,EAAE,aAAa,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,aAAa,EAAE,aAAa,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,mCAAI,aAAa,EAAE,iBAAiB,EAAE,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,iBAAiB,mCAAI,iBAAiB,mCAAI,OAAO;QAC/Q,2CAA2C;QAC3C,mBAAmB,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,KAAK,IAAI,CAAC;AACxD,CAAC,CAAC;AACF,MAAM,yBAAyB,GAAG,CAAC,WAA+B,EAAE,OAA2B,EAAW,EAAE;IAC1G,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAA,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,OAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAA,CAAC;AAC/Q,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IPersonaProps, Persona, PersonaInitialsColor } from '@fluentui/react';\nimport React, { useEffect, useState } from 'react';\n\n/**\n * Custom data attributes for displaying avatar for a user.\n *\n * @public\n */\nexport type AvatarPersonaData = {\n /**\n * Primary text to display, usually the name of the person.\n */\n text?: string;\n /**\n * Image URL to use, should be a square aspect ratio and big enough to fit in the image area.\n */\n imageUrl?: string;\n /**\n * The user's initials to display in the image area when there is no image.\n * @defaultvalue Derived from `text`\n */\n imageInitials?: string;\n /**\n * The background color when the user's initials are displayed.\n * @defaultvalue Derived from `text`\n */\n initialsColor?: PersonaInitialsColor | string;\n /**\n * The text color when the user's initials are displayed\n * @defaultvalue `white`\n */\n initialsTextColor?: string;\n};\n\n/**\n * Callback function used to provide custom data to build an avatar for a user.\n *\n * @public\n */\nexport type AvatarPersonaDataCallback = (userId: string) => Promise<AvatarPersonaData>;\n\n/**\n * @private\n */\nexport interface AvatarPersonaProps extends IPersonaProps {\n /**\n * Azure Communicator user ID.\n */\n userId?: string;\n /**\n * A function that returns a Promise that resolves to the data to be displayed.\n */\n dataProvider?: AvatarPersonaDataCallback;\n}\n\n/**\n * An Avatar component made using the `Persona` component.\n * It allows you to specify a `userId` and a `dataProvider` to retrieve the `AvatarPersonaData`.\n * Read more about `Persona` component at https://developer.microsoft.com/fluentui#/controls/web/persona\n *\n * @private\n */\nexport const AvatarPersona = (props: AvatarPersonaProps): JSX.Element => {\n const {\n userId,\n dataProvider,\n text,\n imageUrl,\n imageInitials,\n initialsColor,\n initialsTextColor,\n showOverflowTooltip\n } = props;\n const [data, setData] = useState<AvatarPersonaData | undefined>();\n useEffect(() => {\n (async () => {\n if (dataProvider && userId) {\n const newData = await dataProvider(userId);\n if (avatarDeepDifferenceCheck(data, newData)) {\n setData(newData);\n }\n }\n })();\n }, [data, dataProvider, userId]);\n return <Persona {...props} text={data?.text ?? text} imageUrl={data?.imageUrl ?? imageUrl} imageInitials={data?.imageInitials ?? imageInitials} initialsColor={data?.initialsColor ?? initialsColor} initialsTextColor={data?.initialsTextColor ?? initialsTextColor ?? 'white'}\n // default disable tooltip unless specified\n showOverflowTooltip={showOverflowTooltip ?? false} />;\n};\nconst avatarDeepDifferenceCheck = (currentData?: AvatarPersonaData, newData?: AvatarPersonaData): boolean => {\n return currentData?.text !== newData?.text || currentData?.imageUrl !== newData?.imageUrl || currentData?.initialsColor !== newData?.initialsColor || currentData?.imageInitials !== newData?.imageInitials || currentData?.initialsTextColor !== newData?.initialsTextColor;\n};"]}