@azure/communication-react 1.0.0-beta.1 → 1.0.0-beta.5

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 (934) hide show
  1. package/CHANGELOG.json +190 -20
  2. package/CHANGELOG.md +209 -47
  3. package/LICENSE +21 -21
  4. package/README.md +21 -21
  5. package/dist/communication-react.d.ts +3660 -2057
  6. package/dist/dist-cjs/communication-react/index.js +9697 -7296
  7. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/MessageStatus.d.ts +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js +3 -3
  10. package/dist/dist-esm/acs-ui-common/src/areEqual.d.ts +13 -1
  11. package/dist/dist-esm/acs-ui-common/src/areEqual.d.ts.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/areEqual.js +3 -3
  13. package/dist/dist-esm/acs-ui-common/src/commonProperties.d.ts +10 -4
  14. package/dist/dist-esm/acs-ui-common/src/commonProperties.d.ts.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/commonProperties.js +3 -3
  16. package/dist/dist-esm/acs-ui-common/src/identifier.d.ts +11 -11
  17. package/dist/dist-esm/acs-ui-common/src/identifier.js +28 -28
  18. package/dist/dist-esm/acs-ui-common/src/index.d.ts +7 -6
  19. package/dist/dist-esm/acs-ui-common/src/index.d.ts.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/index.js +5 -4
  21. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts +40 -40
  23. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts.map +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js +65 -65
  25. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts +6 -0
  27. package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts.map +1 -0
  28. package/dist/dist-esm/acs-ui-common/src/telemetry.js +20 -0
  29. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -0
  30. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.d.ts +3 -0
  31. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.d.ts.map +1 -0
  32. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +6 -0
  33. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -0
  34. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +31 -0
  35. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts.map +1 -0
  36. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +18 -0
  37. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -0
  38. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +36 -0
  39. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts.map +1 -0
  40. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +38 -0
  41. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -0
  42. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.d.ts +18 -0
  43. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.d.ts.map +1 -0
  44. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +49 -0
  45. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -0
  46. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/handlers/createHandlers.d.ts +57 -54
  47. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts.map +1 -0
  48. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/handlers/createHandlers.js +236 -211
  49. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -0
  50. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +3 -0
  51. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts.map +1 -0
  52. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/hooks/useHandlers.js +16 -12
  53. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -0
  54. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +16 -0
  55. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts.map +1 -0
  56. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/hooks/usePropsFor.js +48 -38
  57. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -0
  58. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.d.ts +3 -0
  59. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.d.ts.map +1 -0
  60. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/hooks/useSelector.js +42 -40
  61. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -0
  62. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/index.d.ts +14 -12
  63. package/dist/dist-esm/calling-component-bindings/src/index.d.ts.map +1 -0
  64. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/index.js +13 -11
  65. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -0
  66. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +13 -0
  67. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts.map +1 -0
  68. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +35 -0
  69. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -0
  70. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.d.ts +13 -0
  71. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.d.ts.map +1 -0
  72. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +8 -0
  73. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -0
  74. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/CallAgentProvider.d.ts +12 -12
  75. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts.map +1 -0
  76. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/CallAgentProvider.js +13 -13
  77. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -0
  78. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/CallClientProvider.d.ts +14 -14
  79. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.d.ts.map +1 -0
  80. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/CallClientProvider.js +41 -41
  81. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -0
  82. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/CallProvider.d.ts +12 -12
  83. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts.map +1 -0
  84. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/CallProvider.js +16 -16
  85. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -0
  86. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/index.d.ts +3 -3
  87. package/dist/dist-esm/calling-component-bindings/src/providers/index.d.ts.map +1 -0
  88. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/providers/index.js +5 -5
  89. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -0
  90. package/dist/dist-esm/{acs-calling-selector → calling-component-bindings}/src/videoGallerySelector.d.ts +34 -33
  91. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts.map +1 -0
  92. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +141 -0
  93. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -0
  94. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +12 -12
  95. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +184 -184
  96. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +482 -395
  98. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +16 -3
  100. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +97 -56
  102. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +574 -446
  104. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.d.ts +18 -18
  106. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.d.ts.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +108 -57
  108. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.d.ts +8 -8
  110. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js +3 -3
  111. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +31 -29
  112. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +135 -127
  114. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +11 -11
  116. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/Converter.js +95 -86
  118. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +21 -21
  120. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +154 -141
  122. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/DiagnosticsSubscriber.d.ts +15 -0
  124. package/dist/dist-esm/calling-stateful-client/src/DiagnosticsSubscriber.d.ts.map +1 -0
  125. package/dist/dist-esm/calling-stateful-client/src/DiagnosticsSubscriber.js +71 -0
  126. package/dist/dist-esm/calling-stateful-client/src/DiagnosticsSubscriber.js.map +1 -0
  127. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +15 -15
  128. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +26 -26
  129. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +53 -53
  130. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +88 -88
  131. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +26 -26
  132. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +81 -81
  133. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  134. package/dist/dist-esm/calling-stateful-client/src/ReceivedTransferSubscriber.d.ts +15 -15
  135. package/dist/dist-esm/calling-stateful-client/src/ReceivedTransferSubscriber.js +23 -23
  136. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +12 -12
  137. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +24 -24
  138. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +21 -21
  139. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts.map +1 -1
  140. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +65 -67
  141. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  142. package/dist/dist-esm/calling-stateful-client/src/RequestedTransferSubscriber.d.ts +16 -16
  143. package/dist/dist-esm/calling-stateful-client/src/RequestedTransferSubscriber.js +24 -24
  144. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +171 -139
  145. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts.map +1 -1
  146. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +119 -110
  147. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  148. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts +9 -9
  149. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +305 -305
  151. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  152. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.d.ts +12 -12
  153. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +24 -24
  154. package/dist/dist-esm/calling-stateful-client/src/TransferCallFeatureDeclarative.d.ts +16 -16
  155. package/dist/dist-esm/calling-stateful-client/src/TransferCallFeatureDeclarative.js +55 -55
  156. package/dist/dist-esm/calling-stateful-client/src/TransferCallFeatureDeclarative.js.map +1 -1
  157. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +5 -4
  158. package/dist/dist-esm/calling-stateful-client/src/index.d.ts.map +1 -1
  159. package/dist/dist-esm/calling-stateful-client/src/index.js +4 -3
  160. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  161. package/dist/dist-esm/calling-stateful-client/src/modifiers/ClearErrors.d.ts +11 -0
  162. package/dist/dist-esm/calling-stateful-client/src/modifiers/ClearErrors.d.ts.map +1 -0
  163. package/dist/dist-esm/calling-stateful-client/src/modifiers/ClearErrors.js +19 -0
  164. package/dist/dist-esm/calling-stateful-client/src/modifiers/ClearErrors.js.map +1 -0
  165. package/dist/dist-esm/calling-stateful-client/src/modifiers/index.d.ts +5 -0
  166. package/dist/dist-esm/calling-stateful-client/src/modifiers/index.d.ts.map +1 -0
  167. package/dist/dist-esm/calling-stateful-client/src/modifiers/index.js +7 -0
  168. package/dist/dist-esm/calling-stateful-client/src/modifiers/index.js.map +1 -0
  169. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/baseSelectors.d.ts +23 -18
  170. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts.map +1 -0
  171. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +31 -0
  172. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -0
  173. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/chatParticipantListSelector.d.ts +12 -12
  174. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.d.ts.map +1 -0
  175. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/chatParticipantListSelector.js +38 -38
  176. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -0
  177. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.d.ts +18 -0
  178. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.d.ts.map +1 -0
  179. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +105 -0
  180. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -0
  181. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/handlers/createHandlers.d.ts +17 -16
  182. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts.map +1 -0
  183. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/handlers/createHandlers.js +73 -62
  184. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -0
  185. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.d.ts +5 -0
  186. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.d.ts.map +1 -0
  187. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js +15 -0
  188. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -0
  189. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +13 -0
  190. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts.map +1 -0
  191. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/hooks/usePropsFor.js +37 -29
  192. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -0
  193. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.d.ts +3 -0
  194. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.d.ts.map +1 -0
  195. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/hooks/useSelector.js +42 -42
  196. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -0
  197. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/index.d.ts +16 -14
  198. package/dist/dist-esm/chat-component-bindings/src/index.d.ts.map +1 -0
  199. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/index.js +14 -12
  200. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -0
  201. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.d.ts +15 -0
  202. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.d.ts.map +1 -0
  203. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +145 -0
  204. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -0
  205. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/providers/ChatClientProvider.d.ts +15 -15
  206. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.d.ts.map +1 -0
  207. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/providers/ChatClientProvider.js +19 -19
  208. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -0
  209. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/providers/ChatThreadClientProvider.d.ts +15 -15
  210. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.d.ts.map +1 -0
  211. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/providers/ChatThreadClientProvider.js +19 -19
  212. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -0
  213. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.d.ts +8 -0
  214. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.d.ts.map +1 -0
  215. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/sendBoxSelector.js +8 -8
  216. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -0
  217. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/typingIndicatorSelector.d.ts +11 -11
  218. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.d.ts.map +1 -0
  219. package/dist/dist-esm/{acs-chat-selector → chat-component-bindings}/src/typingIndicatorSelector.js +45 -45
  220. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -0
  221. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.d.ts +3 -0
  222. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.d.ts.map +1 -0
  223. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +17 -0
  224. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -0
  225. package/dist/dist-esm/chat-component-bindings/src/utils/constants.d.ts +11 -0
  226. package/dist/dist-esm/chat-component-bindings/src/utils/constants.d.ts.map +1 -0
  227. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js +14 -0
  228. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -0
  229. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +85 -21
  230. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts.map +1 -1
  231. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +16 -3
  232. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  233. package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts +76 -39
  234. package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts.map +1 -1
  235. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +384 -290
  236. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  237. package/dist/dist-esm/chat-stateful-client/src/Constants.d.ts +4 -4
  238. package/dist/dist-esm/chat-stateful-client/src/Constants.js +6 -6
  239. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.d.ts +21 -20
  240. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.d.ts.map +1 -1
  241. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +146 -107
  242. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  243. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.d.ts +68 -33
  244. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.d.ts.map +1 -1
  245. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +134 -121
  246. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  247. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.d.ts +3 -3
  248. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.d.ts.map +1 -1
  249. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +138 -138
  250. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  251. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.d.ts +4 -4
  252. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.d.ts.map +1 -1
  253. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +5 -5
  254. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +5 -4
  255. package/dist/dist-esm/chat-stateful-client/src/index.d.ts.map +1 -1
  256. package/dist/dist-esm/chat-stateful-client/src/index.js +4 -3
  257. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  258. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.d.ts +23 -13
  259. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.d.ts.map +1 -1
  260. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +88 -60
  261. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  262. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.d.ts +4 -4
  263. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.d.ts.map +1 -1
  264. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +10 -10
  265. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  266. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.d.ts +4 -4
  267. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.d.ts.map +1 -1
  268. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +9 -9
  269. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  270. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.d.ts +4 -4
  271. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.d.ts.map +1 -1
  272. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +9 -9
  273. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  274. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.d.ts +4 -4
  275. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.d.ts.map +1 -1
  276. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +14 -14
  277. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  278. package/dist/dist-esm/chat-stateful-client/src/modifiers/ClearErrors.d.ts +4 -0
  279. package/dist/dist-esm/chat-stateful-client/src/modifiers/ClearErrors.d.ts.map +1 -0
  280. package/dist/dist-esm/chat-stateful-client/src/modifiers/ClearErrors.js +12 -0
  281. package/dist/dist-esm/chat-stateful-client/src/modifiers/ClearErrors.js.map +1 -0
  282. package/dist/dist-esm/chat-stateful-client/src/modifiers/index.d.ts +5 -0
  283. package/dist/dist-esm/chat-stateful-client/src/modifiers/index.d.ts.map +1 -0
  284. package/dist/dist-esm/chat-stateful-client/src/modifiers/index.js +7 -0
  285. package/dist/dist-esm/chat-stateful-client/src/modifiers/index.js.map +1 -0
  286. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +6 -6
  287. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts.map +1 -1
  288. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +3 -3
  289. package/dist/dist-esm/communication-react/src/index.d.ts +11 -8
  290. package/dist/dist-esm/communication-react/src/index.d.ts.map +1 -1
  291. package/dist/dist-esm/communication-react/src/index.js +10 -9
  292. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  293. package/dist/dist-esm/communication-react/src/mergedHooks.d.ts +13 -0
  294. package/dist/dist-esm/communication-react/src/mergedHooks.d.ts.map +1 -0
  295. package/dist/dist-esm/communication-react/src/mergedHooks.js +36 -0
  296. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -0
  297. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +37 -24
  298. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/CameraButton.js +43 -25
  300. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/ChatMessageComponent.d.ts +14 -0
  302. package/dist/dist-esm/react-components/src/components/ChatMessageComponent.d.ts.map +1 -0
  303. package/dist/dist-esm/react-components/src/components/ChatMessageComponent.js +132 -0
  304. package/dist/dist-esm/react-components/src/components/ChatMessageComponent.js.map +1 -0
  305. package/dist/dist-esm/react-components/src/components/ControlBar.d.ts +33 -33
  306. package/dist/dist-esm/react-components/src/components/ControlBar.d.ts.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/ControlBar.js +31 -25
  308. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/ControlBarButton.d.ts +51 -0
  310. package/dist/dist-esm/react-components/src/components/ControlBarButton.d.ts.map +1 -0
  311. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +28 -0
  312. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -0
  313. package/dist/dist-esm/react-components/src/components/EditBox.d.ts +9 -0
  314. package/dist/dist-esm/react-components/src/components/EditBox.d.ts.map +1 -0
  315. package/dist/dist-esm/react-components/src/components/EditBox.js +50 -0
  316. package/dist/dist-esm/react-components/src/components/EditBox.js.map +1 -0
  317. package/dist/dist-esm/react-components/src/components/EndCallButton.d.ts +31 -24
  318. package/dist/dist-esm/react-components/src/components/EndCallButton.d.ts.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/EndCallButton.js +35 -38
  320. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +113 -0
  322. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts.map +1 -0
  323. package/dist/dist-esm/react-components/src/components/ErrorBar.js +87 -0
  324. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -0
  325. package/dist/dist-esm/react-components/src/components/GridLayout.d.ts +16 -16
  326. package/dist/dist-esm/react-components/src/components/GridLayout.js +28 -28
  327. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +36 -0
  328. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts.map +1 -0
  329. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +39 -0
  330. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -0
  331. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.d.ts +39 -33
  332. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.d.ts.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +32 -31
  334. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +210 -125
  336. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/MessageThread.js +466 -447
  338. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +30 -22
  340. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +18 -23
  342. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/OptionsButton.d.ts +101 -50
  344. package/dist/dist-esm/react-components/src/components/OptionsButton.d.ts.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/OptionsButton.js +111 -88
  346. package/dist/dist-esm/react-components/src/components/OptionsButton.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +58 -43
  348. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +44 -30
  350. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +28 -22
  352. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/ParticipantList.js +66 -73
  354. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/ParticipantsButton.d.ts +76 -0
  356. package/dist/dist-esm/react-components/src/components/ParticipantsButton.d.ts.map +1 -0
  357. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +126 -0
  358. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -0
  359. package/dist/dist-esm/react-components/src/components/ScreenShareButton.d.ts +32 -24
  360. package/dist/dist-esm/react-components/src/components/ScreenShareButton.d.ts.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +20 -25
  362. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +77 -63
  364. package/dist/dist-esm/react-components/src/components/SendBox.d.ts.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/SendBox.js +70 -66
  366. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/StreamMedia.d.ts +24 -24
  368. package/dist/dist-esm/react-components/src/components/StreamMedia.js +30 -30
  369. package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +15 -15
  370. package/dist/dist-esm/react-components/src/components/SystemMessage.js +12 -12
  371. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/TypingIndicator.d.ts +113 -32
  373. package/dist/dist-esm/react-components/src/components/TypingIndicator.d.ts.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +102 -48
  375. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +53 -46
  377. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/VideoGallery.js +122 -64
  379. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +51 -49
  381. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/VideoTile.js +53 -23
  383. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/index.d.ts +39 -32
  385. package/dist/dist-esm/react-components/src/components/index.d.ts.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/index.js +21 -18
  387. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +12 -0
  389. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts.map +1 -0
  390. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +29 -0
  391. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -0
  392. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.d.ts +20 -18
  393. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.d.ts.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +143 -128
  395. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.d.ts +10 -0
  397. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.d.ts.map +1 -0
  398. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +24 -0
  399. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -0
  400. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.d.ts +1 -1
  401. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js +10 -10
  402. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +7 -0
  403. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts.map +1 -0
  404. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +74 -0
  405. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -0
  406. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.d.ts +2 -2
  407. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.d.ts.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js +11 -14
  409. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +13 -12
  411. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +59 -57
  413. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts +4 -5
  415. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts.map +1 -1
  416. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +25 -37
  417. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.d.ts +2 -4
  419. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.d.ts.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js +9 -22
  421. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +20 -28
  423. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts.map +1 -1
  424. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +24 -58
  425. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.d.ts +2 -2
  427. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +16 -16
  428. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.d.ts +1 -2
  429. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.d.ts.map +1 -1
  430. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js +6 -11
  431. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.d.ts +3 -4
  433. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.d.ts.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js +17 -27
  435. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts +6 -6
  437. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +39 -15
  439. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +10 -6
  441. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +64 -42
  443. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  444. package/dist/dist-esm/react-components/src/components/utils/Datetime.d.ts +22 -21
  445. package/dist/dist-esm/react-components/src/components/utils/Datetime.d.ts.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +92 -73
  447. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/utils/delay.d.ts +1 -1
  449. package/dist/dist-esm/react-components/src/components/utils/delay.js +7 -7
  450. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +52 -0
  451. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts.map +1 -0
  452. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +26 -0
  453. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -0
  454. package/dist/dist-esm/react-components/src/identifiers/index.d.ts +2 -0
  455. package/dist/dist-esm/react-components/src/identifiers/index.d.ts.map +1 -0
  456. package/dist/dist-esm/react-components/src/identifiers/index.js +4 -0
  457. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -0
  458. package/dist/dist-esm/react-components/src/index.d.ts +8 -3
  459. package/dist/dist-esm/react-components/src/index.d.ts.map +1 -1
  460. package/dist/dist-esm/react-components/src/index.js +7 -4
  461. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +60 -0
  463. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts.map +1 -0
  464. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js +20 -0
  465. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -0
  466. package/dist/dist-esm/react-components/src/localization/index.d.ts +2 -0
  467. package/dist/dist-esm/react-components/src/localization/index.d.ts.map +1 -0
  468. package/dist/dist-esm/react-components/src/localization/index.js +4 -0
  469. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -0
  470. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +78 -0
  471. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +78 -0
  472. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +80 -0
  473. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +78 -0
  474. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +78 -0
  475. package/dist/dist-esm/react-components/src/localization/locales/index.d.ts +30 -0
  476. package/dist/dist-esm/react-components/src/localization/locales/index.d.ts.map +1 -0
  477. package/dist/dist-esm/react-components/src/localization/locales/index.js +52 -0
  478. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -0
  479. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +78 -0
  480. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +78 -0
  481. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +78 -0
  482. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +78 -0
  483. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +78 -0
  484. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +78 -0
  485. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +78 -0
  486. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +78 -0
  487. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +78 -0
  488. package/dist/dist-esm/react-components/src/localization/localizationUtils.d.ts +24 -0
  489. package/dist/dist-esm/react-components/src/localization/localizationUtils.d.ts.map +1 -0
  490. package/dist/dist-esm/react-components/src/localization/localizationUtils.js +57 -0
  491. package/dist/dist-esm/react-components/src/localization/localizationUtils.js.map +1 -0
  492. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.d.ts +27 -18
  493. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.d.ts.map +1 -1
  494. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +61 -59
  495. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  496. package/dist/dist-esm/react-components/src/theming/icons.d.ts +35 -0
  497. package/dist/dist-esm/react-components/src/theming/icons.d.ts.map +1 -0
  498. package/dist/dist-esm/react-components/src/theming/icons.js +38 -0
  499. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -0
  500. package/dist/dist-esm/react-components/src/theming/index.d.ts +3 -2
  501. package/dist/dist-esm/react-components/src/theming/index.d.ts.map +1 -1
  502. package/dist/dist-esm/react-components/src/theming/index.js +5 -4
  503. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  504. package/dist/dist-esm/react-components/src/theming/themeUtils.d.ts +2 -2
  505. package/dist/dist-esm/react-components/src/theming/themeUtils.d.ts.map +1 -1
  506. package/dist/dist-esm/react-components/src/theming/themeUtils.js +21 -21
  507. package/dist/dist-esm/react-components/src/theming/themes.d.ts +19 -19
  508. package/dist/dist-esm/react-components/src/theming/themes.d.ts.map +1 -1
  509. package/dist/dist-esm/react-components/src/theming/themes.js +70 -70
  510. package/dist/dist-esm/react-components/src/types/CallParticipant.d.ts +14 -14
  511. package/dist/dist-esm/react-components/src/types/CallParticipant.js +3 -3
  512. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +50 -32
  513. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts.map +1 -1
  514. package/dist/dist-esm/react-components/src/types/ChatMessage.js +3 -3
  515. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.d.ts +9 -9
  516. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js +3 -3
  517. package/dist/dist-esm/react-components/src/types/CustomStylesProps.d.ts +12 -5
  518. package/dist/dist-esm/react-components/src/types/CustomStylesProps.d.ts.map +1 -1
  519. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +3 -3
  520. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +38 -0
  521. package/dist/dist-esm/react-components/src/types/OnRender.d.ts.map +1 -0
  522. package/dist/dist-esm/react-components/src/types/OnRender.js +4 -0
  523. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -0
  524. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +50 -50
  525. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +3 -3
  526. package/dist/dist-esm/react-components/src/types/index.d.ts +6 -5
  527. package/dist/dist-esm/react-components/src/types/index.d.ts.map +1 -1
  528. package/dist/dist-esm/react-components/src/types/index.js +8 -7
  529. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/Call.d.ts +49 -15
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/Call.d.ts.map +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/Call.js +69 -65
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/Call.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallControls.d.ts +8 -6
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallControls.d.ts.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallControls.js +35 -36
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallControls.js.map +1 -1
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallScreen.d.ts +16 -11
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallScreen.d.ts.map +1 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallScreen.js +99 -79
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallScreen.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/ComplianceBanner.d.ts +6 -6
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/ComplianceBanner.js +134 -134
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/ConfigurationScreen.d.ts +5 -6
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/ConfigurationScreen.d.ts.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/ConfigurationScreen.js +34 -22
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/ConfigurationScreen.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/Error.d.ts +7 -7
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/Error.js +23 -23
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/Error.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/Lobby.d.ts +13 -13
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/Lobby.d.ts.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/Lobby.js +67 -69
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/Lobby.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/LobbyControlBar.d.ts +6 -6
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/LobbyControlBar.d.ts.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/LobbyControlBar.js +30 -33
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/LobbyControlBar.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalDeviceSettings.d.ts +17 -16
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalDeviceSettings.d.ts.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalDeviceSettings.js +85 -55
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalDeviceSettings.js.map +1 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalPreview.d.ts +2 -2
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalPreview.d.ts.map +1 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalPreview.js +46 -45
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/LocalPreview.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/MediaGallery.d.ts +11 -9
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/MediaGallery.d.ts.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/MediaGallery.js +42 -38
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/MediaGallery.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenShare.d.ts +10 -10
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenShare.d.ts.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenShare.js +71 -78
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenShare.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenSharePopup.d.ts +14 -0
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenSharePopup.d.ts.map +1 -0
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenSharePopup.js +59 -0
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/ScreenSharePopup.js.map +1 -0
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/StartCallButton.d.ts +6 -6
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/StartCallButton.d.ts.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/StartCallButton.js +14 -13
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/StartCallButton.js.map +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +63 -0
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts.map +1 -0
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js +4 -0
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -0
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +80 -69
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +427 -348
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +127 -104
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +3 -3
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.d.ts +9 -9
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js +14 -14
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.d.ts +15 -15
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js +40 -40
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +3 -2
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +3 -3
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.d.ts +4 -4
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.d.ts.map +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +75 -61
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +4 -4
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts.map +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +77 -70
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +6 -9
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js +13 -33
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.d.ts +2 -2
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.d.ts.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +8 -8
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +4 -3
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +5 -4
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +16 -12
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +21 -17
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +8 -7
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts.map +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js +10 -10
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +8 -8
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js +10 -10
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +9 -0
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts.map +1 -0
  636. package/dist/dist-esm/{acs-calling-selector/src → react-composites/src/composites/CallComposite/selectors}/devicePermissionSelector.js +10 -12
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -0
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +14 -27
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +15 -21
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +6 -6
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +12 -13
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +6 -6
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +10 -10
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +3 -6
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +10 -29
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.d.ts +24 -30
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.d.ts.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +26 -32
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallScreen.styles.d.ts +7 -8
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallScreen.styles.d.ts.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallScreen.styles.js +54 -54
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallScreen.styles.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ConfigurationScreen.styles.d.ts +2 -0
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ConfigurationScreen.styles.d.ts.map +1 -0
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ConfigurationScreen.styles.js +10 -0
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ConfigurationScreen.styles.js.map +1 -0
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Error.styles.d.ts +10 -10
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Error.styles.js +42 -42
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.d.ts +7 -6
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.d.ts.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js +57 -44
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +7 -13
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +17 -43
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/MediaGallery.styles.d.ts +16 -5
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/MediaGallery.styles.d.ts.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/MediaGallery.styles.js +36 -32
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/MediaGallery.styles.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenShare.styles.d.ts +2 -7
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenShare.styles.d.ts.map +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenShare.styles.js +16 -21
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenShare.styles.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenSharePopup.styles.d.ts +7 -0
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenSharePopup.styles.d.ts.map +1 -0
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenSharePopup.styles.js +36 -0
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ScreenSharePopup.styles.js.map +1 -0
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.d.ts +2 -2
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +16 -16
  689. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +48 -18
  690. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +12 -13
  692. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.d.ts +10 -10
  694. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.d.ts.map +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +20 -20
  696. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +12 -6
  698. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +46 -45
  700. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +57 -45
  702. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +288 -216
  704. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +75 -59
  706. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +3 -3
  708. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +9 -9
  709. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +14 -14
  710. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.d.ts +4 -4
  711. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.d.ts.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +69 -56
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.d.ts +4 -4
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.d.ts.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +21 -19
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.d.ts +6 -6
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.d.ts.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js +13 -23
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +5 -4
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts.map +1 -1
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js +4 -4
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.d.ts +12 -9
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.d.ts.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +65 -74
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.d.ts +4 -0
  731. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.d.ts.map +1 -0
  732. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.js +13 -0
  733. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/ChatButton.js.map +1 -0
  734. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.d.ts +12 -0
  735. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.d.ts.map +1 -0
  736. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.js +18 -0
  737. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingCallControlBar.js.map +1 -0
  738. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.d.ts +25 -0
  739. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.d.ts.map +1 -0
  740. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.js +52 -0
  741. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/MeetingComposite.js.map +1 -0
  742. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.d.ts +4 -0
  743. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.d.ts.map +1 -0
  744. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.js +13 -0
  745. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/PeopleButton.js.map +1 -0
  746. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.d.ts +18 -0
  747. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.d.ts.map +1 -0
  748. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.js +58 -0
  749. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/SidePane.js.map +1 -0
  750. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.d.ts +66 -0
  751. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.d.ts.map +1 -0
  752. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.js +4 -0
  753. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/adapter/MeetingAdapter.js.map +1 -0
  754. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.d.ts +4 -0
  755. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.d.ts.map +1 -0
  756. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.js +4 -0
  757. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/index.js.map +1 -0
  758. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.d.ts +81 -0
  759. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.d.ts.map +1 -0
  760. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.js +4 -0
  761. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/state/MeetingAdapterState.js.map +1 -0
  762. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.d.ts +3 -0
  763. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.d.ts.map +1 -0
  764. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.js +4 -0
  765. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/MeetingCompositeStyles.js.map +1 -0
  766. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.d.ts +12 -0
  767. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.d.ts.map +1 -0
  768. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.js +45 -0
  769. package/dist/dist-esm/react-composites/src/composites/MeetingComposite/styles/SidePane.styles.js.map +1 -0
  770. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +51 -0
  771. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts.map +1 -0
  772. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +33 -0
  773. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -0
  774. package/dist/dist-esm/react-composites/src/composites/common/Composite.d.ts +44 -0
  775. package/dist/dist-esm/react-composites/src/composites/common/Composite.d.ts.map +1 -0
  776. package/dist/dist-esm/react-composites/src/composites/common/Composite.js +24 -0
  777. package/dist/dist-esm/react-composites/src/composites/common/Composite.js.map +1 -0
  778. package/dist/dist-esm/react-composites/src/composites/common/PermissionsBanner.d.ts +38 -0
  779. package/dist/dist-esm/react-composites/src/composites/common/PermissionsBanner.d.ts.map +1 -0
  780. package/dist/dist-esm/react-composites/src/composites/common/PermissionsBanner.js +67 -0
  781. package/dist/dist-esm/react-composites/src/composites/common/PermissionsBanner.js.map +1 -0
  782. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +51 -0
  783. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts.map +1 -0
  784. package/dist/dist-esm/react-composites/src/composites/common/adapters.js +4 -0
  785. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -0
  786. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +55 -0
  787. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts.map +1 -0
  788. package/dist/dist-esm/react-composites/src/composites/common/icons.js +21 -0
  789. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -0
  790. package/dist/dist-esm/react-composites/src/composites/common/styles/PermissionsBanner.styles.d.ts +6 -0
  791. package/dist/dist-esm/react-composites/src/composites/common/styles/PermissionsBanner.styles.d.ts.map +1 -0
  792. package/dist/dist-esm/react-composites/src/composites/common/styles/PermissionsBanner.styles.js +19 -0
  793. package/dist/dist-esm/react-composites/src/composites/common/styles/PermissionsBanner.styles.js.map +1 -0
  794. package/dist/dist-esm/react-composites/src/composites/index.d.ts +11 -0
  795. package/dist/dist-esm/react-composites/src/composites/index.d.ts.map +1 -0
  796. package/dist/dist-esm/react-composites/src/composites/index.js +8 -0
  797. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -0
  798. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts +52 -0
  799. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts.map +1 -0
  800. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +22 -0
  801. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -0
  802. package/dist/dist-esm/react-composites/src/composites/localization/index.d.ts +2 -0
  803. package/dist/dist-esm/react-composites/src/composites/localization/index.d.ts.map +1 -0
  804. package/dist/dist-esm/react-composites/src/composites/localization/index.js +4 -0
  805. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -0
  806. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +11 -0
  807. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +11 -0
  808. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +18 -0
  809. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +11 -0
  810. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +11 -0
  811. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.d.ts +30 -0
  812. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.d.ts.map +1 -0
  813. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +95 -0
  814. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -0
  815. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +11 -0
  816. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +11 -0
  817. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +11 -0
  818. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +11 -0
  819. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +11 -0
  820. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +11 -0
  821. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +11 -0
  822. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +11 -0
  823. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +11 -0
  824. package/dist/dist-esm/react-composites/src/index.d.ts +2 -0
  825. package/dist/dist-esm/react-composites/src/index.d.ts.map +1 -0
  826. package/dist/dist-esm/react-composites/src/index.js +4 -0
  827. package/dist/dist-esm/react-composites/src/index.js.map +1 -0
  828. package/dist/dist-esm/react-composites/src/utils/SDKUtils.d.ts +4 -7
  829. package/dist/dist-esm/react-composites/src/utils/SDKUtils.d.ts.map +1 -1
  830. package/dist/dist-esm/react-composites/src/utils/SDKUtils.js +19 -60
  831. package/dist/dist-esm/react-composites/src/utils/SDKUtils.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/utils/index.d.ts +1 -1
  833. package/dist/dist-esm/react-composites/src/utils/index.js +3 -3
  834. package/dist/tsdoc-metadata.json +11 -11
  835. package/package.json +129 -123
  836. package/dist/dist-esm/acs-calling-selector/src/baseSelectors.d.ts +0 -16
  837. package/dist/dist-esm/acs-calling-selector/src/baseSelectors.d.ts.map +0 -1
  838. package/dist/dist-esm/acs-calling-selector/src/baseSelectors.js +0 -11
  839. package/dist/dist-esm/acs-calling-selector/src/baseSelectors.js.map +0 -1
  840. package/dist/dist-esm/acs-calling-selector/src/callControlSelectors.d.ts +0 -39
  841. package/dist/dist-esm/acs-calling-selector/src/callControlSelectors.d.ts.map +0 -1
  842. package/dist/dist-esm/acs-calling-selector/src/callControlSelectors.js +0 -38
  843. package/dist/dist-esm/acs-calling-selector/src/callControlSelectors.js.map +0 -1
  844. package/dist/dist-esm/acs-calling-selector/src/devicePermissionSelector.d.ts +0 -10
  845. package/dist/dist-esm/acs-calling-selector/src/devicePermissionSelector.d.ts.map +0 -1
  846. package/dist/dist-esm/acs-calling-selector/src/devicePermissionSelector.js.map +0 -1
  847. package/dist/dist-esm/acs-calling-selector/src/handlers/createHandlers.d.ts.map +0 -1
  848. package/dist/dist-esm/acs-calling-selector/src/handlers/createHandlers.js.map +0 -1
  849. package/dist/dist-esm/acs-calling-selector/src/hooks/useHandlers.d.ts +0 -5
  850. package/dist/dist-esm/acs-calling-selector/src/hooks/useHandlers.d.ts.map +0 -1
  851. package/dist/dist-esm/acs-calling-selector/src/hooks/useHandlers.js.map +0 -1
  852. package/dist/dist-esm/acs-calling-selector/src/hooks/usePropsFor.d.ts +0 -13
  853. package/dist/dist-esm/acs-calling-selector/src/hooks/usePropsFor.d.ts.map +0 -1
  854. package/dist/dist-esm/acs-calling-selector/src/hooks/usePropsFor.js.map +0 -1
  855. package/dist/dist-esm/acs-calling-selector/src/hooks/useSelector.d.ts +0 -3
  856. package/dist/dist-esm/acs-calling-selector/src/hooks/useSelector.d.ts.map +0 -1
  857. package/dist/dist-esm/acs-calling-selector/src/hooks/useSelector.js.map +0 -1
  858. package/dist/dist-esm/acs-calling-selector/src/index.d.ts.map +0 -1
  859. package/dist/dist-esm/acs-calling-selector/src/index.js.map +0 -1
  860. package/dist/dist-esm/acs-calling-selector/src/participantListSelector.d.ts +0 -12
  861. package/dist/dist-esm/acs-calling-selector/src/participantListSelector.d.ts.map +0 -1
  862. package/dist/dist-esm/acs-calling-selector/src/participantListSelector.js +0 -36
  863. package/dist/dist-esm/acs-calling-selector/src/participantListSelector.js.map +0 -1
  864. package/dist/dist-esm/acs-calling-selector/src/providers/CallAgentProvider.d.ts.map +0 -1
  865. package/dist/dist-esm/acs-calling-selector/src/providers/CallAgentProvider.js.map +0 -1
  866. package/dist/dist-esm/acs-calling-selector/src/providers/CallClientProvider.d.ts.map +0 -1
  867. package/dist/dist-esm/acs-calling-selector/src/providers/CallClientProvider.js.map +0 -1
  868. package/dist/dist-esm/acs-calling-selector/src/providers/CallProvider.d.ts.map +0 -1
  869. package/dist/dist-esm/acs-calling-selector/src/providers/CallProvider.js.map +0 -1
  870. package/dist/dist-esm/acs-calling-selector/src/providers/index.d.ts.map +0 -1
  871. package/dist/dist-esm/acs-calling-selector/src/providers/index.js.map +0 -1
  872. package/dist/dist-esm/acs-calling-selector/src/videoGallerySelector.d.ts.map +0 -1
  873. package/dist/dist-esm/acs-calling-selector/src/videoGallerySelector.js +0 -83
  874. package/dist/dist-esm/acs-calling-selector/src/videoGallerySelector.js.map +0 -1
  875. package/dist/dist-esm/acs-chat-selector/src/baseSelectors.d.ts.map +0 -1
  876. package/dist/dist-esm/acs-chat-selector/src/baseSelectors.js +0 -30
  877. package/dist/dist-esm/acs-chat-selector/src/baseSelectors.js.map +0 -1
  878. package/dist/dist-esm/acs-chat-selector/src/chatParticipantListSelector.d.ts.map +0 -1
  879. package/dist/dist-esm/acs-chat-selector/src/chatParticipantListSelector.js.map +0 -1
  880. package/dist/dist-esm/acs-chat-selector/src/chatThreadSelector.d.ts +0 -16
  881. package/dist/dist-esm/acs-chat-selector/src/chatThreadSelector.d.ts.map +0 -1
  882. package/dist/dist-esm/acs-chat-selector/src/chatThreadSelector.js +0 -96
  883. package/dist/dist-esm/acs-chat-selector/src/chatThreadSelector.js.map +0 -1
  884. package/dist/dist-esm/acs-chat-selector/src/handlers/createHandlers.d.ts.map +0 -1
  885. package/dist/dist-esm/acs-chat-selector/src/handlers/createHandlers.js.map +0 -1
  886. package/dist/dist-esm/acs-chat-selector/src/hooks/useHandlers.d.ts +0 -5
  887. package/dist/dist-esm/acs-chat-selector/src/hooks/useHandlers.d.ts.map +0 -1
  888. package/dist/dist-esm/acs-chat-selector/src/hooks/useHandlers.js +0 -14
  889. package/dist/dist-esm/acs-chat-selector/src/hooks/useHandlers.js.map +0 -1
  890. package/dist/dist-esm/acs-chat-selector/src/hooks/usePropsFor.d.ts +0 -12
  891. package/dist/dist-esm/acs-chat-selector/src/hooks/usePropsFor.d.ts.map +0 -1
  892. package/dist/dist-esm/acs-chat-selector/src/hooks/usePropsFor.js.map +0 -1
  893. package/dist/dist-esm/acs-chat-selector/src/hooks/useSelector.d.ts +0 -3
  894. package/dist/dist-esm/acs-chat-selector/src/hooks/useSelector.d.ts.map +0 -1
  895. package/dist/dist-esm/acs-chat-selector/src/hooks/useSelector.js.map +0 -1
  896. package/dist/dist-esm/acs-chat-selector/src/index.d.ts.map +0 -1
  897. package/dist/dist-esm/acs-chat-selector/src/index.js.map +0 -1
  898. package/dist/dist-esm/acs-chat-selector/src/providers/ChatClientProvider.d.ts.map +0 -1
  899. package/dist/dist-esm/acs-chat-selector/src/providers/ChatClientProvider.js.map +0 -1
  900. package/dist/dist-esm/acs-chat-selector/src/providers/ChatThreadClientProvider.d.ts.map +0 -1
  901. package/dist/dist-esm/acs-chat-selector/src/providers/ChatThreadClientProvider.js.map +0 -1
  902. package/dist/dist-esm/acs-chat-selector/src/sendBoxSelector.d.ts +0 -10
  903. package/dist/dist-esm/acs-chat-selector/src/sendBoxSelector.d.ts.map +0 -1
  904. package/dist/dist-esm/acs-chat-selector/src/sendBoxSelector.js.map +0 -1
  905. package/dist/dist-esm/acs-chat-selector/src/typingIndicatorSelector.d.ts.map +0 -1
  906. package/dist/dist-esm/acs-chat-selector/src/typingIndicatorSelector.js.map +0 -1
  907. package/dist/dist-esm/acs-chat-selector/src/utils/compareMessages.d.ts +0 -3
  908. package/dist/dist-esm/acs-chat-selector/src/utils/compareMessages.d.ts.map +0 -1
  909. package/dist/dist-esm/acs-chat-selector/src/utils/compareMessages.js +0 -12
  910. package/dist/dist-esm/acs-chat-selector/src/utils/compareMessages.js.map +0 -1
  911. package/dist/dist-esm/acs-chat-selector/src/utils/constants.d.ts +0 -3
  912. package/dist/dist-esm/acs-chat-selector/src/utils/constants.d.ts.map +0 -1
  913. package/dist/dist-esm/acs-chat-selector/src/utils/constants.js +0 -5
  914. package/dist/dist-esm/acs-chat-selector/src/utils/constants.js.map +0 -1
  915. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallConfiguration.d.ts +0 -8
  916. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallConfiguration.d.ts.map +0 -1
  917. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallConfiguration.js +0 -14
  918. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallConfiguration.js.map +0 -1
  919. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Call.styles.d.ts +0 -2
  920. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Call.styles.d.ts.map +0 -1
  921. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Call.styles.js +0 -11
  922. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Call.styles.js.map +0 -1
  923. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ThreadStatus.d.ts +0 -13
  924. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ThreadStatus.d.ts.map +0 -1
  925. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ThreadStatus.js +0 -22
  926. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ThreadStatus.js.map +0 -1
  927. package/dist/dist-esm/react-composites/src/index.release.d.ts +0 -3
  928. package/dist/dist-esm/react-composites/src/index.release.d.ts.map +0 -1
  929. package/dist/dist-esm/react-composites/src/index.release.js +0 -5
  930. package/dist/dist-esm/react-composites/src/index.release.js.map +0 -1
  931. package/dist/dist-esm/react-composites/src/types/CommunicationUiError.d.ts +0 -82
  932. package/dist/dist-esm/react-composites/src/types/CommunicationUiError.d.ts.map +0 -1
  933. package/dist/dist-esm/react-composites/src/types/CommunicationUiError.js +0 -82
  934. package/dist/dist-esm/react-composites/src/types/CommunicationUiError.js.map +0 -1
@@ -1,448 +1,467 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
3
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
- return new (P || (P = Promise))(function (resolve, reject) {
6
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
- step((generator = generator.apply(thisArg, _arguments || [])).next());
10
- });
11
- };
12
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
13
- import Linkify from 'react-linkify';
14
- import { Chat, Flex, Ref } from '@fluentui/react-northstar';
15
- import { DownIconStyle, newMessageButtonContainerStyle, messageThreadContainerStyle, chatMessageStyle, chatStyle, newMessageButtonStyle, messageStatusContainerStyle, noMessageStatusStyle } from './styles/MessageThread.styles';
16
- import { Icon, mergeStyles, Persona, PersonaSize, PrimaryButton, Stack, Link } from '@fluentui/react';
17
- import { LiveAnnouncer, LiveMessage } from 'react-aria-live';
18
- import { formatTimestampForChatMessage } from './utils/Datetime';
19
- import { delay } from './utils/delay';
20
- import { MessageStatusIndicator } from './MessageStatusIndicator';
21
- import { memoizeFnAll } from "../../../acs-ui-common/src";
22
- import { SystemMessage as SystemMessageComponent } from './SystemMessage';
23
- import { Parser } from 'html-to-react';
24
- const NEW_MESSAGES = 'New Messages';
25
- const isMessageSame = (first, second) => {
26
- return (first.messageId === second.messageId &&
27
- first.content === second.content &&
28
- first.type === second.type &&
29
- JSON.stringify(first.createdOn) === JSON.stringify(second.createdOn) &&
30
- first.senderId === second.senderId &&
31
- first.senderDisplayName === second.senderDisplayName &&
32
- first.status === second.status);
33
- };
34
- /**
35
- * Get the latest message from the message array.
36
- *
37
- * @param messages
38
- */
39
- const getLatestChatMessage = (messages) => {
40
- let latestChatMessage = undefined;
41
- for (let i = messages.length - 1; i >= 0; i--) {
42
- const message = messages[i];
43
- if (message.type === 'chat') {
44
- const payload = message.payload;
45
- if (payload.createdOn !== undefined) {
46
- latestChatMessage = payload;
47
- break;
48
- }
49
- }
50
- }
51
- return latestChatMessage;
52
- };
53
- /**
54
- * Compare latestMessageFromPreviousMessages & latestMessageFromNewMessages to see if the new message is not from
55
- * current user.
56
- *
57
- * @param latestMessageFromPreviousMessages
58
- * @param latestMessageFromNewMessages
59
- * @param userId
60
- */
61
- const isThereNewMessageNotFromCurrentUser = (latestMessageFromPreviousMessages, latestMessageFromNewMessages, userId) => {
62
- if (latestMessageFromNewMessages === undefined) {
63
- return false;
64
- }
65
- else {
66
- if (latestMessageFromPreviousMessages === undefined) {
67
- return latestMessageFromNewMessages.senderId !== userId;
68
- }
69
- else {
70
- return (!isMessageSame(latestMessageFromNewMessages, latestMessageFromPreviousMessages) &&
71
- latestMessageFromNewMessages.senderId !== userId);
72
- }
73
- }
74
- };
75
- /**
76
- * Returns true if the current user sent the latest message and false otherwise. It will ignore messages that have no
77
- * sender, messages that have failed to send, and messages from the current user that is marked as SEEN. This is meant
78
- * as an indirect way to detect if user is at bottom of the chat when the component updates with new messages. If we
79
- * updated this component due to current user sending a message we want to then call scrollToBottom.
80
- *
81
- * @param latestMessageFromPreviousMessages
82
- * @param latestMessageFromNewMessages
83
- */
84
- const didUserSendTheLatestMessage = (latestMessageFromPreviousMessages, latestMessageFromNewMessages, userId) => {
85
- if (latestMessageFromNewMessages === undefined) {
86
- return false;
87
- }
88
- else {
89
- if (latestMessageFromPreviousMessages === undefined) {
90
- return latestMessageFromNewMessages.senderId === userId;
91
- }
92
- else {
93
- return (!isMessageSame(latestMessageFromNewMessages, latestMessageFromPreviousMessages) &&
94
- latestMessageFromNewMessages.senderId === userId);
95
- }
96
- }
97
- };
98
- const DefaultJumpToNewMessageButton = (props) => {
99
- const { onClick } = props;
100
- return (React.createElement(PrimaryButton, { className: newMessageButtonStyle, onClick: onClick },
101
- React.createElement(Icon, { iconName: "Down", className: DownIconStyle }),
102
- NEW_MESSAGES));
103
- };
104
- const DefaultSystemMessageRenderer = (props) => {
105
- var _a, _b;
106
- if (props.message.type === 'system') {
107
- const payload = props.message.payload;
108
- return (React.createElement(SystemMessageComponent, { iconName: ((_a = payload.iconName) !== null && _a !== void 0 ? _a : ''), content: (_b = payload.content) !== null && _b !== void 0 ? _b : '', containerStyle: props === null || props === void 0 ? void 0 : props.messageContainerStyle }));
109
- }
110
- return React.createElement(React.Fragment, null);
111
- };
112
- // https://stackoverflow.com/questions/28899298/extract-the-text-out-of-html-string-using-javascript
113
- function extractContent(s) {
114
- const span = document.createElement('span');
115
- span.innerHTML = s;
116
- return span.textContent || span.innerText;
117
- }
118
- const generateRichTextHTMLMessageContent = (payload) => {
119
- const htmlToReactParser = new Parser();
120
- const liveAuthor = `${payload.senderDisplayName} says `;
121
- return (React.createElement("div", null,
122
- React.createElement(LiveMessage, { message: `${payload.mine ? '' : liveAuthor} ${extractContent(payload.content)}`, "aria-live": "polite" }),
123
- htmlToReactParser.parse(payload.content)));
124
- };
125
- const generateTextMessageContent = (payload) => {
126
- const liveAuthor = `${payload.senderDisplayName} says `;
127
- return (React.createElement("div", null,
128
- React.createElement(LiveMessage, { message: `${payload.mine ? '' : liveAuthor} ${payload.content}`, "aria-live": "polite" }),
129
- React.createElement(Linkify, { componentDecorator: (decoratedHref, decoratedText, key) => {
130
- return (React.createElement(Link, { href: decoratedHref, key: key }, decoratedText));
131
- } }, payload.content)));
132
- };
133
- const generateMessageContent = (payload) => {
134
- switch (payload.type) {
135
- case 'text':
136
- return generateTextMessageContent(payload);
137
- case 'html':
138
- return generateRichTextHTMLMessageContent(payload);
139
- case 'richtext/html':
140
- return generateRichTextHTMLMessageContent(payload);
141
- default:
142
- console.warn('unknown message content type');
143
- return React.createElement(React.Fragment, null);
144
- }
145
- };
146
- const DefaultChatMessageRenderer = (props) => {
147
- if (props.message.type === 'chat') {
148
- const payload = props.message.payload;
149
- const messageContentItem = generateMessageContent(payload);
150
- return (React.createElement(Chat.Message, { className: mergeStyles(chatMessageStyle, props.messageContainerStyle), content: messageContentItem, author: payload.senderDisplayName, mine: payload.mine, timestamp: payload.createdOn ? formatTimestampForChatMessage(payload.createdOn, new Date()) : undefined }));
151
- }
152
- return React.createElement(React.Fragment, null);
153
- };
154
- const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageStatus, onRenderAvatar, styles, onRenderMessageStatus, defaultChatMessageRenderer, _attached, statusToRender, onRenderMessage) => {
155
- var _a, _b, _c;
156
- const messageProps = {
157
- message: message
158
- };
159
- if (message.type === 'chat') {
160
- const payload = message.payload;
161
- messageProps.messageContainerStyle = styles === null || styles === void 0 ? void 0 : styles.chatMessageContainer;
162
- const chatMessageComponent = onRenderMessage === undefined
163
- ? defaultChatMessageRenderer(messageProps)
164
- : onRenderMessage(messageProps, DefaultChatMessageRenderer);
165
- return {
166
- gutter: payload.mine ? ('') : onRenderAvatar ? (onRenderAvatar((_a = payload.senderId) !== null && _a !== void 0 ? _a : '')) : (React.createElement(Persona, { text: payload.senderDisplayName, hidePersonaDetails: true, size: PersonaSize.size32 })),
167
- contentPosition: payload.mine ? 'end' : 'start',
168
- message: (React.createElement(Flex, { vAlign: "end" },
169
- chatMessageComponent,
170
- React.createElement("div", { className: mergeStyles(messageStatusContainerStyle((_b = payload.mine) !== null && _b !== void 0 ? _b : false), (styles === null || styles === void 0 ? void 0 : styles.messageStatusContainer) ? styles.messageStatusContainer((_c = payload.mine) !== null && _c !== void 0 ? _c : false) : '') }, showMessageStatus && statusToRender ? (onRenderMessageStatus ? (onRenderMessageStatus({ status: statusToRender })) : (MessageStatusIndicator({ status: statusToRender }))) : (React.createElement("div", { className: mergeStyles(noMessageStatusStyle) }))))),
171
- attached: payload.attached,
172
- key: _messageKey
173
- };
174
- }
175
- else if (message.type === 'system') {
176
- messageProps.messageContainerStyle = styles === null || styles === void 0 ? void 0 : styles.systemMessageContainer;
177
- const systemMessageComponent = onRenderMessage === undefined
178
- ? DefaultSystemMessageRenderer(messageProps)
179
- : onRenderMessage(messageProps, DefaultSystemMessageRenderer);
180
- return {
181
- children: systemMessageComponent,
182
- key: _messageKey
183
- };
184
- }
185
- else {
186
- // We do not handle custom type message by default, users can handle custom type by using onRenderMessage function.
187
- const customMessageComponent = onRenderMessage === undefined ? React.createElement(React.Fragment, null) : onRenderMessage(messageProps);
188
- return {
189
- children: customMessageComponent,
190
- key: _messageKey
191
- };
192
- }
193
- });
194
- const getLastChatMessageIdWithStatus = (messages, status) => {
195
- for (let i = messages.length - 1; i >= 0; i--) {
196
- const message = messages[i];
197
- if (message.type === 'chat' && message.payload.status === status && message.payload.mine) {
198
- return message.payload.messageId;
199
- }
200
- }
201
- return undefined;
202
- };
203
- /**
204
- * `MessageThread` allows you to easily create a component for rendering chat messages, handling scrolling behavior of new/old messages and customizing icons & controls inside the chat thread.
205
- * @param props - of type MessageThreadProps
206
- *
207
- * Users will need to provide at least chat messages and userId to render the `MessageThread` component.
208
- * Users can also customize `MessageThread` by passing in their own Avatar, `MessageStatusIndicator` icon, `JumpToNewMessageButton`, `LoadPreviousMessagesButton` and the behavior of these controls.
209
- *
210
- * `MessageThread` internally uses the `Chat` & `Chat.Message` component from `@fluentui/react-northstar`. You can checkout the details about these [two components](https://fluentsite.z22.web.core.windows.net/0.53.0/components/chat/props).
211
- */
212
- export const MessageThread = (props) => {
213
- var _a;
214
- const { messages: newMessages, userId, styles, disableJumpToNewMessageButton = false, showMessageStatus = false, numberOfChatMessagesToReload = 0, onMessageSeen, onRenderMessageStatus, onRenderAvatar, onLoadPreviousChatMessages, onRenderJumpToNewMessageButton, onRenderMessage } = props;
215
- const [messages, setMessages] = useState([]);
216
- // We need this state to wait for one tick and scroll to bottom after messages have been initialized.
217
- // Otherwise chatScrollDivRef.current.clientHeight is wrong if we scroll to bottom before messages are initialized.
218
- const [chatMessagesInitialized, setChatMessagesInitialized] = useState(false);
219
- const [isAtBottomOfScroll, setIsAtBottomOfScroll] = useState(true);
220
- const [isAtTopOfScroll, setIsAtTopOfScroll] = useState(false);
221
- const [forceUpdate, setForceUpdate] = useState(0);
222
- // Used to decide if should auto scroll to bottom or show "new message" button
223
- const [latestPreviousChatMessage, setLatestPreviousChatMessage] = useState(undefined);
224
- const [latestCurrentChatMessage, setLatestCurrentChatMessage] = useState(undefined);
225
- const [chatMessageIdJustSeen, setChatMessageIdJustSeen] = useState(undefined);
226
- const [existsNewChatMessage, setExistsNewChatMessage] = useState(false);
227
- const [lastSeenChatMessage, setLastSeenChatMessage] = useState(undefined);
228
- const [lastDeliveredChatMessage, setLastDeliveredChatMessage] = useState(undefined);
229
- const [lastSendingChatMessage, setLastSendingChatMessage] = useState(undefined);
230
- const [isAllChatMessagesLoaded, setIsAllChatMessagesLoaded] = useState(false);
231
- const isAllChatMessagesLoadedRef = useRef(isAllChatMessagesLoaded);
232
- isAllChatMessagesLoadedRef.current = isAllChatMessagesLoaded;
233
- const chatScrollDivRef = useRef();
234
- const chatThreadRef = useRef();
235
- const isLoadingChatMessagesRef = useRef(false);
236
- const messagesRef = useRef(messages);
237
- const setMessagesRef = (messagesWithAttachedValue) => {
238
- messagesRef.current = messagesWithAttachedValue;
239
- setMessages(messagesWithAttachedValue);
240
- };
241
- const isAtBottomOfScrollRef = useRef(isAtBottomOfScroll);
242
- const setIsAtBottomOfScrollRef = (isAtBottomOfScrollValue) => {
243
- isAtBottomOfScrollRef.current = isAtBottomOfScrollValue;
244
- setIsAtBottomOfScroll(isAtBottomOfScrollValue);
245
- };
246
- const isAtTopOfScrollRef = useRef(isAtTopOfScroll);
247
- const setIsAtTopOfScrollRef = (isAtTopOfScrollValue) => {
248
- isAtTopOfScrollRef.current = isAtTopOfScrollValue;
249
- setIsAtTopOfScroll(isAtTopOfScrollValue);
250
- };
251
- const chatMessagesInitializedRef = useRef(chatMessagesInitialized);
252
- const setChatMessagesInitializedRef = (chatMessagesInitialized) => {
253
- chatMessagesInitializedRef.current = chatMessagesInitialized;
254
- setChatMessagesInitialized(chatMessagesInitialized);
255
- };
256
- // we try to only send those message status if user is scrolled to the bottom.
257
- const sendMessageStatusIfAtBottom = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
258
- if (!isAtBottomOfScrollRef.current ||
259
- !document.hasFocus() ||
260
- !messagesRef.current ||
261
- messagesRef.current.length === 0 ||
262
- !showMessageStatus) {
263
- return;
264
- }
265
- const messagesWithId = messagesRef.current.filter((message) => {
266
- return message.type === 'chat' && !message.payload.mine && !!message.payload.messageId;
267
- });
268
- if (messagesWithId.length === 0) {
269
- return;
270
- }
271
- const lastMessage = messagesWithId[messagesWithId.length - 1];
272
- try {
273
- if (onMessageSeen &&
274
- lastMessage &&
275
- lastMessage.payload.messageId &&
276
- lastMessage.payload.messageId !== chatMessageIdJustSeen) {
277
- yield onMessageSeen(lastMessage.payload.messageId);
278
- setChatMessageIdJustSeen(lastMessage.payload.messageId);
279
- }
280
- }
281
- catch (e) {
282
- console.log('onMessageSeen Error', lastMessage, e);
283
- }
284
- }), [showMessageStatus, onMessageSeen, chatMessageIdJustSeen]);
285
- const scrollToBottom = useCallback(() => {
286
- chatScrollDivRef.current.scrollTop = chatScrollDivRef.current.scrollHeight;
287
- setExistsNewChatMessage(false);
288
- setIsAtBottomOfScrollRef(true);
289
- sendMessageStatusIfAtBottom();
290
- }, [sendMessageStatusIfAtBottom]);
291
- const handleScroll = () => {
292
- const atBottom = Math.floor(chatScrollDivRef.current.scrollTop) >=
293
- chatScrollDivRef.current.scrollHeight - chatScrollDivRef.current.clientHeight;
294
- const atTop = chatScrollDivRef.current.scrollTop === 0;
295
- if (atBottom) {
296
- sendMessageStatusIfAtBottom();
297
- if (!isAtBottomOfScrollRef.current) {
298
- scrollToBottom();
299
- }
300
- }
301
- setIsAtBottomOfScrollRef(atBottom);
302
- setIsAtTopOfScrollRef(atTop);
303
- // Make sure we do not stuck at the top if more messages are being fetched.
304
- if (chatScrollDivRef.current.scrollTop === 0 && !isAllChatMessagesLoadedRef.current)
305
- chatScrollDivRef.current.scrollTop = 5;
306
- (() => __awaiter(void 0, void 0, void 0, function* () {
307
- if (chatScrollDivRef.current.scrollTop <= 200 &&
308
- !isAllChatMessagesLoadedRef.current &&
309
- !isLoadingChatMessagesRef.current) {
310
- if (onLoadPreviousChatMessages) {
311
- isLoadingChatMessagesRef.current = true;
312
- setIsAllChatMessagesLoaded(yield onLoadPreviousChatMessages(numberOfChatMessagesToReload));
313
- isLoadingChatMessagesRef.current = false;
314
- }
315
- }
316
- }))();
317
- };
318
- /**
319
- * One time run useEffect. Sets up listeners when component is mounted and tears down listeners when component
320
- * unmounts.
321
- */
322
- useEffect(() => {
323
- window && window.addEventListener('click', sendMessageStatusIfAtBottom);
324
- window && window.addEventListener('focus', sendMessageStatusIfAtBottom);
325
- chatScrollDivRef.current && chatScrollDivRef.current.addEventListener('scroll', handleScroll);
326
- const chatScrollDiv = chatScrollDivRef.current;
327
- return () => {
328
- window && window.removeEventListener('click', sendMessageStatusIfAtBottom);
329
- window && window.removeEventListener('focus', sendMessageStatusIfAtBottom);
330
- chatScrollDiv && chatScrollDiv.removeEventListener('scroll', handleScroll);
331
- };
332
- // eslint-disable-next-line react-hooks/exhaustive-deps
333
- }, []);
334
- /**
335
- * ClientHeight controls the number of messages to render. However ClientHeight will not be initialized after the
336
- * first render (not sure but I guess Fluent is updating it in hook which is after render maybe?) so we need to
337
- * trigger a re-render until ClientHeight is initialized. This force re-render should only happen once.
338
- */
339
- const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
340
- useEffect(() => {
341
- if (clientHeight === undefined) {
342
- setForceUpdate(forceUpdate + 1);
343
- return;
344
- }
345
- // Only scroll to bottom if isAtBottomOfScrollRef is true
346
- isAtBottomOfScrollRef.current && scrollToBottom();
347
- }, [clientHeight, forceUpdate, scrollToBottom, chatMessagesInitialized]);
348
- /**
349
- * This needs to run to update latestPreviousChatMessage & latestCurrentChatMessage.
350
- * These two states are used to manipulate scrollbar
351
- */
352
- useEffect(() => {
353
- setLatestPreviousChatMessage(getLatestChatMessage(messagesRef.current));
354
- setLatestCurrentChatMessage(getLatestChatMessage(newMessages));
355
- setMessagesRef(newMessages);
356
- !chatMessagesInitializedRef.current && setChatMessagesInitializedRef(true);
357
- setLastDeliveredChatMessage(getLastChatMessageIdWithStatus(newMessages, 'delivered'));
358
- setLastSeenChatMessage(getLastChatMessageIdWithStatus(newMessages, 'seen'));
359
- setLastSendingChatMessage(getLastChatMessageIdWithStatus(newMessages, 'sending'));
360
- }, [newMessages]);
361
- /**
362
- * This needs to run after messages are rendererd so we can manipulate the scroll bar.
363
- */
364
- useEffect(() => {
365
- // If user just sent the latest message then we assume we can move user to bottom of scroll.
366
- if (isThereNewMessageNotFromCurrentUser(latestPreviousChatMessage, latestCurrentChatMessage, userId) &&
367
- !isAtBottomOfScrollRef.current) {
368
- setExistsNewChatMessage(true);
369
- }
370
- else if (didUserSendTheLatestMessage(latestPreviousChatMessage, latestCurrentChatMessage, userId) ||
371
- isAtBottomOfScrollRef.current) {
372
- scrollToBottom();
373
- }
374
- // eslint-disable-next-line react-hooks/exhaustive-deps
375
- }, [messages]);
376
- // Fetch more messages to make the scroll bar appear, infinity scroll is then handled in the handleScroll function.
377
- useEffect(() => {
378
- (() => __awaiter(void 0, void 0, void 0, function* () {
379
- if (onLoadPreviousChatMessages) {
380
- while (chatScrollDivRef.current.scrollTop <= 200 && !isAllChatMessagesLoadedRef.current) {
381
- setIsAllChatMessagesLoaded(yield onLoadPreviousChatMessages(numberOfChatMessagesToReload));
382
- // Release CPU resources for 200 milliseconds between each loop.
383
- yield delay(200);
384
- }
385
- }
386
- }))();
387
- }, [onLoadPreviousChatMessages, numberOfChatMessagesToReload]);
388
- // To rerender the defaultChatMessageRenderer if app running across days(every new day chat time stamp need to be regenerated)
389
- const defaultChatMessageRenderer = useCallback((messageProps) => {
390
- return DefaultChatMessageRenderer(messageProps);
391
- },
392
- // eslint-disable-next-line react-hooks/exhaustive-deps
393
- [new Date().toDateString()]);
394
- const messagesToDisplay = useMemo(() => memoizeAllMessages((memoizedMessageFn) => {
395
- return messages.map((message, index) => {
396
- let key = message.payload.messageId;
397
- if (message.type === 'chat' && (!message.payload.messageId || message.payload.messageId === '')) {
398
- key = message.payload.clientMessageId;
399
- }
400
- let statusToRender = undefined;
401
- if (message.type === 'chat') {
402
- if (showMessageStatus && message.payload.mine) {
403
- switch (message.payload.messageId) {
404
- case lastSeenChatMessage: {
405
- statusToRender = 'seen';
406
- break;
407
- }
408
- case lastSendingChatMessage: {
409
- statusToRender = 'sending';
410
- break;
411
- }
412
- case lastDeliveredChatMessage: {
413
- statusToRender = 'delivered';
414
- break;
415
- }
416
- }
417
- }
418
- if (message.payload.mine && message.payload.status === 'failed')
419
- statusToRender = 'failed';
420
- }
421
- return memoizedMessageFn(key !== null && key !== void 0 ? key : 'id_' + index, message, showMessageStatus, onRenderAvatar, styles, onRenderMessageStatus, defaultChatMessageRenderer,
422
- // Temporary solution to make sure we re-render if attach attribute is changed.
423
- // The proper fix should be in selector.
424
- message.type === 'chat' ? message.payload.attached : undefined, statusToRender, onRenderMessage);
425
- });
426
- }), [
427
- messages,
428
- showMessageStatus,
429
- onRenderAvatar,
430
- styles,
431
- onRenderMessageStatus,
432
- defaultChatMessageRenderer,
433
- lastSeenChatMessage,
434
- lastSendingChatMessage,
435
- lastDeliveredChatMessage,
436
- onRenderMessage
437
- ]);
438
- const chatBody = useMemo(() => {
439
- var _a;
440
- return (React.createElement(LiveAnnouncer, null,
441
- React.createElement(Chat, { styles: (_a = styles === null || styles === void 0 ? void 0 : styles.chatContainer) !== null && _a !== void 0 ? _a : chatStyle, items: messagesToDisplay })));
442
- }, [styles === null || styles === void 0 ? void 0 : styles.chatContainer, messagesToDisplay]);
443
- return (React.createElement(Ref, { innerRef: chatThreadRef },
444
- React.createElement(Stack, { className: mergeStyles(messageThreadContainerStyle, styles === null || styles === void 0 ? void 0 : styles.root), grow: true },
445
- React.createElement(Ref, { innerRef: chatScrollDivRef }, chatBody),
446
- existsNewChatMessage && !disableJumpToNewMessageButton && (React.createElement("div", { className: mergeStyles(newMessageButtonContainerStyle, styles === null || styles === void 0 ? void 0 : styles.newMessageButtonContainer) }, onRenderJumpToNewMessageButton ? (onRenderJumpToNewMessageButton({ onClick: scrollToBottom })) : (React.createElement(DefaultJumpToNewMessageButton, { onClick: scrollToBottom })))))));
447
- };
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
13
+ import { Chat, Flex, Ref } from '@fluentui/react-northstar';
14
+ import { DownIconStyle, newMessageButtonContainerStyle, messageThreadContainerStyle, chatStyle, newMessageButtonStyle, messageStatusContainerStyle, noMessageStatusStyle } from './styles/MessageThread.styles';
15
+ import { Icon, mergeStyles, Persona, PersonaSize, PrimaryButton, Stack } from '@fluentui/react';
16
+ import { LiveAnnouncer } from 'react-aria-live';
17
+ import { delay } from './utils/delay';
18
+ import { MessageStatusIndicator } from './MessageStatusIndicator';
19
+ import { memoizeFnAll } from "../../../acs-ui-common/src";
20
+ import { SystemMessage as SystemMessageComponent } from './SystemMessage';
21
+ import { ChatMessageComponent } from './ChatMessageComponent';
22
+ import { useLocale } from '../localization/LocalizationProvider';
23
+ const NEW_MESSAGES = 'New Messages';
24
+ const isMessageSame = (first, second) => {
25
+ return (first.messageId === second.messageId &&
26
+ first.content === second.content &&
27
+ first.type === second.type &&
28
+ JSON.stringify(first.createdOn) === JSON.stringify(second.createdOn) &&
29
+ first.senderId === second.senderId &&
30
+ first.senderDisplayName === second.senderDisplayName &&
31
+ first.status === second.status);
32
+ };
33
+ /**
34
+ * Get the latest message from the message array.
35
+ *
36
+ * @param messages
37
+ */
38
+ const getLatestChatMessage = (messages) => {
39
+ let latestChatMessage = undefined;
40
+ for (let i = messages.length - 1; i >= 0; i--) {
41
+ const message = messages[i];
42
+ if (message.type === 'chat') {
43
+ const payload = message.payload;
44
+ if (payload.createdOn !== undefined) {
45
+ latestChatMessage = payload;
46
+ break;
47
+ }
48
+ }
49
+ }
50
+ return latestChatMessage;
51
+ };
52
+ /**
53
+ * Compare latestMessageFromPreviousMessages & latestMessageFromNewMessages to see if the new message is not from
54
+ * current user.
55
+ *
56
+ * @param latestMessageFromPreviousMessages
57
+ * @param latestMessageFromNewMessages
58
+ * @param userId
59
+ */
60
+ const isThereNewMessageNotFromCurrentUser = (latestMessageFromPreviousMessages, latestMessageFromNewMessages, userId) => {
61
+ if (latestMessageFromNewMessages === undefined) {
62
+ return false;
63
+ }
64
+ else {
65
+ if (latestMessageFromPreviousMessages === undefined) {
66
+ return latestMessageFromNewMessages.senderId !== userId;
67
+ }
68
+ else {
69
+ return (!isMessageSame(latestMessageFromNewMessages, latestMessageFromPreviousMessages) &&
70
+ latestMessageFromNewMessages.senderId !== userId);
71
+ }
72
+ }
73
+ };
74
+ /**
75
+ * Returns true if the current user sent the latest message and false otherwise. It will ignore messages that have no
76
+ * sender, messages that have failed to send, and messages from the current user that is marked as SEEN. This is meant
77
+ * as an indirect way to detect if user is at bottom of the chat when the component updates with new messages. If we
78
+ * updated this component due to current user sending a message we want to then call scrollToBottom.
79
+ *
80
+ * @param latestMessageFromPreviousMessages
81
+ * @param latestMessageFromNewMessages
82
+ */
83
+ const didUserSendTheLatestMessage = (latestMessageFromPreviousMessages, latestMessageFromNewMessages, userId) => {
84
+ if (latestMessageFromNewMessages === undefined) {
85
+ return false;
86
+ }
87
+ else {
88
+ if (latestMessageFromPreviousMessages === undefined) {
89
+ return latestMessageFromNewMessages.senderId === userId;
90
+ }
91
+ else {
92
+ return (!isMessageSame(latestMessageFromNewMessages, latestMessageFromPreviousMessages) &&
93
+ latestMessageFromNewMessages.senderId === userId);
94
+ }
95
+ }
96
+ };
97
+ const DefaultJumpToNewMessageButton = (props) => {
98
+ const { onClick } = props;
99
+ return (React.createElement(PrimaryButton, { className: newMessageButtonStyle, onClick: onClick },
100
+ React.createElement(Icon, { iconName: "Down", className: DownIconStyle }),
101
+ NEW_MESSAGES));
102
+ };
103
+ const generateParticipantsStr = (participants) => participants
104
+ .map((participant) => `${!participant.displayName || participant.displayName === '' ? 'No name' : participant.displayName}`)
105
+ .join(', ');
106
+ const ParticipantSystemMessageComponent = ({ payload, style }) => {
107
+ var _a;
108
+ const { strings } = useLocale();
109
+ const participantsStr = generateParticipantsStr(payload.participants);
110
+ const messageSuffix = payload.type === 'participantAdded'
111
+ ? strings.messageThread.participantJoined
112
+ : strings.messageThread.participantLeft;
113
+ if (participantsStr !== '') {
114
+ return (React.createElement(SystemMessageComponent, { iconName: ((_a = payload.iconName) !== null && _a !== void 0 ? _a : ''), content: `${participantsStr} ${messageSuffix}`, containerStyle: style }));
115
+ }
116
+ return React.createElement(React.Fragment, null);
117
+ };
118
+ const DefaultSystemMessageRenderer = (props) => {
119
+ var _a, _b;
120
+ if (props.message.type === 'system') {
121
+ const payload = props.message.payload;
122
+ if (payload.type === 'content') {
123
+ return (React.createElement(SystemMessageComponent, { iconName: ((_a = payload.iconName) !== null && _a !== void 0 ? _a : ''), content: (_b = payload.content) !== null && _b !== void 0 ? _b : '', containerStyle: props === null || props === void 0 ? void 0 : props.messageContainerStyle }));
124
+ }
125
+ if (payload.type === 'participantAdded' || payload.type === 'participantRemoved') {
126
+ return React.createElement(ParticipantSystemMessageComponent, { payload: payload, style: props.messageContainerStyle });
127
+ }
128
+ }
129
+ return React.createElement(React.Fragment, null);
130
+ };
131
+ const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, _attached, statusToRender, onRenderMessage, onUpdateMessage, onDeleteMessage) => {
132
+ var _a, _b, _c;
133
+ const messageProps = {
134
+ message,
135
+ strings,
136
+ showDate: showMessageDate,
137
+ onUpdateMessage,
138
+ onDeleteMessage
139
+ };
140
+ if (message.type === 'chat') {
141
+ const payload = message.payload;
142
+ messageProps.messageContainerStyle = styles === null || styles === void 0 ? void 0 : styles.chatMessageContainer;
143
+ const chatMessageComponent = onRenderMessage === undefined
144
+ ? defaultChatMessageRenderer(messageProps)
145
+ : onRenderMessage(messageProps, defaultChatMessageRenderer);
146
+ const personaOptions = {
147
+ text: payload.senderDisplayName,
148
+ hidePersonalDetails: true,
149
+ size: PersonaSize.size32
150
+ };
151
+ return {
152
+ gutter: payload.mine ? ('') : onRenderAvatar ? (onRenderAvatar((_a = payload.senderId) !== null && _a !== void 0 ? _a : '', personaOptions)) : (React.createElement(Persona, Object.assign({}, personaOptions))),
153
+ contentPosition: payload.mine ? 'end' : 'start',
154
+ message: {
155
+ className: mergeStyles({ width: 'calc(100% - 6.25rem)' }),
156
+ content: (React.createElement(Flex, { hAlign: payload.mine ? 'end' : undefined, vAlign: "end" },
157
+ chatMessageComponent,
158
+ React.createElement("div", { className: mergeStyles(messageStatusContainerStyle((_b = payload.mine) !== null && _b !== void 0 ? _b : false), (styles === null || styles === void 0 ? void 0 : styles.messageStatusContainer) ? styles.messageStatusContainer((_c = payload.mine) !== null && _c !== void 0 ? _c : false) : '') }, showMessageStatus && statusToRender ? (onRenderMessageStatus ? (onRenderMessageStatus({ status: statusToRender })) : (defaultStatusRenderer(statusToRender))) : (React.createElement("div", { className: mergeStyles(noMessageStatusStyle) })))))
159
+ },
160
+ attached: payload.attached,
161
+ key: _messageKey
162
+ };
163
+ }
164
+ else if (message.type === 'system') {
165
+ messageProps.messageContainerStyle = styles === null || styles === void 0 ? void 0 : styles.systemMessageContainer;
166
+ const systemMessageComponent = onRenderMessage === undefined ? (React.createElement(DefaultSystemMessageRenderer, Object.assign({}, messageProps))) : (onRenderMessage(messageProps, (props) => React.createElement(DefaultSystemMessageRenderer, Object.assign({}, props))));
167
+ return {
168
+ children: systemMessageComponent,
169
+ key: _messageKey
170
+ };
171
+ }
172
+ else {
173
+ // We do not handle custom type message by default, users can handle custom type by using onRenderMessage function.
174
+ const customMessageComponent = onRenderMessage === undefined ? React.createElement(React.Fragment, null) : onRenderMessage(messageProps);
175
+ return {
176
+ children: customMessageComponent,
177
+ key: _messageKey
178
+ };
179
+ }
180
+ });
181
+ const getLastChatMessageIdWithStatus = (messages, status) => {
182
+ for (let i = messages.length - 1; i >= 0; i--) {
183
+ const message = messages[i];
184
+ if (message.type === 'chat' && message.payload.status === status && message.payload.mine) {
185
+ return message.payload.messageId;
186
+ }
187
+ }
188
+ return undefined;
189
+ };
190
+ /**
191
+ * `MessageThread` allows you to easily create a component for rendering chat messages, handling scrolling behavior of new/old messages and customizing icons & controls inside the chat thread.
192
+ * @param props - of type MessageThreadProps
193
+ *
194
+ * Users will need to provide at least chat messages and userId to render the `MessageThread` component.
195
+ * Users can also customize `MessageThread` by passing in their own Avatar, `MessageStatusIndicator` icon, `JumpToNewMessageButton`, `LoadPreviousMessagesButton` and the behavior of these controls.
196
+ *
197
+ * `MessageThread` internally uses the `Chat` & `Chat.Message` component from `@fluentui/react-northstar`. You can checkout the details about these [two components](https://fluentsite.z22.web.core.windows.net/0.53.0/components/chat/props).
198
+ */
199
+ export const MessageThread = (props) => {
200
+ var _a;
201
+ const { messages: newMessages, userId, styles, disableJumpToNewMessageButton = false, showMessageDate = false, showMessageStatus = false, numberOfChatMessagesToReload = 0, onMessageSeen, onRenderMessageStatus, onRenderAvatar, onLoadPreviousChatMessages, onRenderJumpToNewMessageButton, onRenderMessage, onUpdateMessage, onDeleteMessage } = props;
202
+ const [messages, setMessages] = useState([]);
203
+ // We need this state to wait for one tick and scroll to bottom after messages have been initialized.
204
+ // Otherwise chatScrollDivRef.current.clientHeight is wrong if we scroll to bottom before messages are initialized.
205
+ const [chatMessagesInitialized, setChatMessagesInitialized] = useState(false);
206
+ const [isAtBottomOfScroll, setIsAtBottomOfScroll] = useState(true);
207
+ const [forceUpdate, setForceUpdate] = useState(0);
208
+ // Used to decide if should auto scroll to bottom or show "new message" button
209
+ const [latestPreviousChatMessage, setLatestPreviousChatMessage] = useState(undefined);
210
+ const [latestCurrentChatMessage, setLatestCurrentChatMessage] = useState(undefined);
211
+ const [existsNewChatMessage, setExistsNewChatMessage] = useState(false);
212
+ const [lastSeenChatMessage, setLastSeenChatMessage] = useState(undefined);
213
+ const [lastDeliveredChatMessage, setLastDeliveredChatMessage] = useState(undefined);
214
+ const [lastSendingChatMessage, setLastSendingChatMessage] = useState(undefined);
215
+ const isAllChatMessagesLoadedRef = useRef(false);
216
+ const previousTopRef = useRef(-1);
217
+ const previousHeightRef = useRef(-1);
218
+ const messageIdSeenByMeRef = useRef('');
219
+ const chatScrollDivRef = useRef(null);
220
+ const chatThreadRef = useRef(null);
221
+ const isLoadingChatMessagesRef = useRef(false);
222
+ const messagesRef = useRef(messages);
223
+ const setMessagesRef = (messagesWithAttachedValue) => {
224
+ messagesRef.current = messagesWithAttachedValue;
225
+ setMessages(messagesWithAttachedValue);
226
+ };
227
+ const isAtBottomOfScrollRef = useRef(isAtBottomOfScroll);
228
+ const setIsAtBottomOfScrollRef = (isAtBottomOfScrollValue) => {
229
+ isAtBottomOfScrollRef.current = isAtBottomOfScrollValue;
230
+ setIsAtBottomOfScroll(isAtBottomOfScrollValue);
231
+ };
232
+ const chatMessagesInitializedRef = useRef(chatMessagesInitialized);
233
+ const setChatMessagesInitializedRef = (chatMessagesInitialized) => {
234
+ chatMessagesInitializedRef.current = chatMessagesInitialized;
235
+ setChatMessagesInitialized(chatMessagesInitialized);
236
+ };
237
+ // we try to only send those message status if user is scrolled to the bottom.
238
+ const sendMessageStatusIfAtBottom = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
239
+ if (!isAtBottomOfScrollRef.current ||
240
+ !document.hasFocus() ||
241
+ !messagesRef.current ||
242
+ messagesRef.current.length === 0 ||
243
+ !showMessageStatus) {
244
+ return;
245
+ }
246
+ const messagesWithId = messagesRef.current.filter((message) => {
247
+ return message.type === 'chat' && !message.payload.mine && !!message.payload.messageId;
248
+ });
249
+ if (messagesWithId.length === 0) {
250
+ return;
251
+ }
252
+ const lastMessage = messagesWithId[messagesWithId.length - 1];
253
+ try {
254
+ if (onMessageSeen &&
255
+ lastMessage &&
256
+ lastMessage.payload.messageId &&
257
+ lastMessage.payload.messageId !== messageIdSeenByMeRef.current) {
258
+ yield onMessageSeen(lastMessage.payload.messageId);
259
+ messageIdSeenByMeRef.current = lastMessage.payload.messageId;
260
+ }
261
+ }
262
+ catch (e) {
263
+ console.log('onMessageSeen Error', lastMessage, e);
264
+ }
265
+ }), [showMessageStatus, onMessageSeen]);
266
+ const scrollToBottom = useCallback(() => {
267
+ if (chatScrollDivRef.current) {
268
+ chatScrollDivRef.current.scrollTop = chatScrollDivRef.current.scrollHeight;
269
+ }
270
+ setExistsNewChatMessage(false);
271
+ setIsAtBottomOfScrollRef(true);
272
+ sendMessageStatusIfAtBottom();
273
+ }, [sendMessageStatusIfAtBottom]);
274
+ const handleScrollToTheBottom = useCallback(() => {
275
+ if (!chatScrollDivRef.current) {
276
+ return;
277
+ }
278
+ const atBottom = Math.floor(chatScrollDivRef.current.scrollTop) >=
279
+ chatScrollDivRef.current.scrollHeight - chatScrollDivRef.current.clientHeight;
280
+ if (atBottom) {
281
+ sendMessageStatusIfAtBottom();
282
+ if (!isAtBottomOfScrollRef.current) {
283
+ scrollToBottom();
284
+ }
285
+ }
286
+ setIsAtBottomOfScrollRef(atBottom);
287
+ }, [scrollToBottom, sendMessageStatusIfAtBottom]);
288
+ // Infinite scrolling + threadInitialize function
289
+ const fetchNewMessageWhenAtTop = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
290
+ if (chatScrollDivRef.current && !isLoadingChatMessagesRef.current) {
291
+ if (onLoadPreviousChatMessages) {
292
+ isLoadingChatMessagesRef.current = true;
293
+ // Fetch message until scrollTop reach the threshold for fetching new message
294
+ while (!isAllChatMessagesLoadedRef.current && chatScrollDivRef.current.scrollTop <= 500) {
295
+ isAllChatMessagesLoadedRef.current = yield onLoadPreviousChatMessages(numberOfChatMessagesToReload);
296
+ // Release CPU resources for 200 milliseconds between each loop.
297
+ yield delay(200);
298
+ }
299
+ isLoadingChatMessagesRef.current = false;
300
+ }
301
+ }
302
+ }), [numberOfChatMessagesToReload, onLoadPreviousChatMessages]);
303
+ const handleInfiniteScroll = useCallback(() => {
304
+ if (!chatScrollDivRef.current) {
305
+ return;
306
+ }
307
+ fetchNewMessageWhenAtTop();
308
+ }, [fetchNewMessageWhenAtTop]);
309
+ // The below 2 of useEffects are design for fixing infinite scrolling problem
310
+ // Scrolling element will behave differently when scrollTop = 0(it sticks at the top)
311
+ // we need to get previousTop before it prepend contents
312
+ // Execute order [newMessage useEffect] => get previousTop => dom update => [messages useEffect]
313
+ useEffect(() => {
314
+ if (!chatScrollDivRef.current)
315
+ return;
316
+ previousTopRef.current = chatScrollDivRef.current.scrollTop;
317
+ previousHeightRef.current = chatScrollDivRef.current.scrollHeight;
318
+ }, [newMessages]);
319
+ useEffect(() => {
320
+ if (!chatScrollDivRef.current)
321
+ return;
322
+ if (previousTopRef.current === 0) {
323
+ const currentHeight = chatScrollDivRef.current.scrollHeight;
324
+ chatScrollDivRef.current.scrollTop =
325
+ chatScrollDivRef.current.scrollTop + currentHeight - previousHeightRef.current;
326
+ }
327
+ }, [messages]);
328
+ // Fetch more messages to make the scroll bar appear, infinity scroll is then handled in the handleScroll function.
329
+ useEffect(() => {
330
+ fetchNewMessageWhenAtTop();
331
+ }, [fetchNewMessageWhenAtTop]);
332
+ /**
333
+ * One time run useEffects. Sets up listeners when component is mounted and tears down listeners when component
334
+ * unmounts unless these function changed
335
+ */
336
+ useEffect(() => {
337
+ window && window.addEventListener('click', sendMessageStatusIfAtBottom);
338
+ window && window.addEventListener('focus', sendMessageStatusIfAtBottom);
339
+ return () => {
340
+ window && window.removeEventListener('click', sendMessageStatusIfAtBottom);
341
+ window && window.removeEventListener('focus', sendMessageStatusIfAtBottom);
342
+ };
343
+ }, [sendMessageStatusIfAtBottom]);
344
+ useEffect(() => {
345
+ const chatScrollDiv = chatScrollDivRef.current;
346
+ chatScrollDiv === null || chatScrollDiv === void 0 ? void 0 : chatScrollDiv.addEventListener('scroll', handleScrollToTheBottom);
347
+ chatScrollDiv === null || chatScrollDiv === void 0 ? void 0 : chatScrollDiv.addEventListener('scroll', handleInfiniteScroll);
348
+ return () => {
349
+ chatScrollDiv === null || chatScrollDiv === void 0 ? void 0 : chatScrollDiv.removeEventListener('scroll', handleScrollToTheBottom);
350
+ chatScrollDiv === null || chatScrollDiv === void 0 ? void 0 : chatScrollDiv.removeEventListener('scroll', handleInfiniteScroll);
351
+ };
352
+ }, [handleInfiniteScroll, handleScrollToTheBottom]);
353
+ /**
354
+ * ClientHeight controls the number of messages to render. However ClientHeight will not be initialized after the
355
+ * first render (not sure but I guess Fluent is updating it in hook which is after render maybe?) so we need to
356
+ * trigger a re-render until ClientHeight is initialized. This force re-render should only happen once.
357
+ */
358
+ const clientHeight = (_a = chatThreadRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight;
359
+ useEffect(() => {
360
+ if (clientHeight === undefined) {
361
+ setForceUpdate(forceUpdate + 1);
362
+ return;
363
+ }
364
+ // Only scroll to bottom if isAtBottomOfScrollRef is true
365
+ isAtBottomOfScrollRef.current && scrollToBottom();
366
+ }, [clientHeight, forceUpdate, scrollToBottom, chatMessagesInitialized]);
367
+ /**
368
+ * This needs to run to update latestPreviousChatMessage & latestCurrentChatMessage.
369
+ * These two states are used to manipulate scrollbar
370
+ */
371
+ useEffect(() => {
372
+ setLatestPreviousChatMessage(getLatestChatMessage(messagesRef.current));
373
+ setLatestCurrentChatMessage(getLatestChatMessage(newMessages));
374
+ setMessagesRef(newMessages);
375
+ !chatMessagesInitializedRef.current && setChatMessagesInitializedRef(true);
376
+ setLastDeliveredChatMessage(getLastChatMessageIdWithStatus(newMessages, 'delivered'));
377
+ setLastSeenChatMessage(getLastChatMessageIdWithStatus(newMessages, 'seen'));
378
+ setLastSendingChatMessage(getLastChatMessageIdWithStatus(newMessages, 'sending'));
379
+ }, [newMessages]);
380
+ /**
381
+ * This needs to run after messages are rendererd so we can manipulate the scroll bar.
382
+ */
383
+ useEffect(() => {
384
+ // If user just sent the latest message then we assume we can move user to bottom of scroll.
385
+ if (isThereNewMessageNotFromCurrentUser(latestPreviousChatMessage, latestCurrentChatMessage, userId) &&
386
+ !isAtBottomOfScrollRef.current) {
387
+ setExistsNewChatMessage(true);
388
+ }
389
+ else if (didUserSendTheLatestMessage(latestPreviousChatMessage, latestCurrentChatMessage, userId) ||
390
+ isAtBottomOfScrollRef.current) {
391
+ scrollToBottom();
392
+ }
393
+ // eslint-disable-next-line react-hooks/exhaustive-deps
394
+ }, [messages]);
395
+ // To rerender the defaultChatMessageRenderer if app running across days(every new day chat time stamp need to be regenerated)
396
+ const defaultChatMessageRenderer = useCallback((messageProps) => {
397
+ if (messageProps.message.type === 'chat') {
398
+ return React.createElement(ChatMessageComponent, Object.assign({}, messageProps, { message: messageProps.message }));
399
+ }
400
+ return React.createElement(React.Fragment, null);
401
+ },
402
+ // eslint-disable-next-line react-hooks/exhaustive-deps
403
+ [new Date().toDateString()]);
404
+ const localeStrings = useLocale().strings.messageThread;
405
+ const strings = useMemo(() => (Object.assign(Object.assign({}, localeStrings), props.strings)), [localeStrings, props.strings]);
406
+ const defaultStatusRenderer = useCallback((status) => React.createElement(MessageStatusIndicator, { status: status }), []);
407
+ const messagesToDisplay = useMemo(() => memoizeAllMessages((memoizedMessageFn) => {
408
+ return messages.map((message, index) => {
409
+ let key = message.payload.messageId;
410
+ if (message.type === 'chat' && (!message.payload.messageId || message.payload.messageId === '')) {
411
+ key = message.payload.clientMessageId;
412
+ }
413
+ let statusToRender = undefined;
414
+ if (message.type === 'chat') {
415
+ if (showMessageStatus && message.payload.mine) {
416
+ switch (message.payload.messageId) {
417
+ case lastSeenChatMessage: {
418
+ statusToRender = 'seen';
419
+ break;
420
+ }
421
+ case lastSendingChatMessage: {
422
+ statusToRender = 'sending';
423
+ break;
424
+ }
425
+ case lastDeliveredChatMessage: {
426
+ statusToRender = 'delivered';
427
+ break;
428
+ }
429
+ }
430
+ }
431
+ if (message.payload.mine && message.payload.status === 'failed')
432
+ statusToRender = 'failed';
433
+ }
434
+ console.log('function: ' + onUpdateMessage);
435
+ return memoizedMessageFn(key !== null && key !== void 0 ? key : 'id_' + index, message, showMessageDate, showMessageStatus, onRenderAvatar, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings,
436
+ // Temporary solution to make sure we re-render if attach attribute is changed.
437
+ // The proper fix should be in selector.
438
+ message.type === 'chat' ? message.payload.attached : undefined, statusToRender, onRenderMessage, onUpdateMessage, onDeleteMessage);
439
+ });
440
+ }), [
441
+ messages,
442
+ showMessageDate,
443
+ showMessageStatus,
444
+ onRenderAvatar,
445
+ styles,
446
+ onRenderMessageStatus,
447
+ defaultStatusRenderer,
448
+ defaultChatMessageRenderer,
449
+ lastSeenChatMessage,
450
+ lastSendingChatMessage,
451
+ lastDeliveredChatMessage,
452
+ onRenderMessage,
453
+ onUpdateMessage,
454
+ onDeleteMessage,
455
+ strings
456
+ ]);
457
+ const chatBody = useMemo(() => {
458
+ var _a;
459
+ return (React.createElement(LiveAnnouncer, null,
460
+ React.createElement(Chat, { styles: (_a = styles === null || styles === void 0 ? void 0 : styles.chatContainer) !== null && _a !== void 0 ? _a : chatStyle, items: messagesToDisplay })));
461
+ }, [styles === null || styles === void 0 ? void 0 : styles.chatContainer, messagesToDisplay]);
462
+ return (React.createElement(Ref, { innerRef: chatThreadRef },
463
+ React.createElement(Stack, { className: mergeStyles(messageThreadContainerStyle, styles === null || styles === void 0 ? void 0 : styles.root), grow: true },
464
+ React.createElement(Ref, { innerRef: chatScrollDivRef }, chatBody),
465
+ existsNewChatMessage && !disableJumpToNewMessageButton && (React.createElement("div", { className: mergeStyles(newMessageButtonContainerStyle, styles === null || styles === void 0 ? void 0 : styles.newMessageButtonContainer) }, onRenderJumpToNewMessageButton ? (onRenderJumpToNewMessageButton({ onClick: scrollToBottom })) : (React.createElement(DefaultJumpToNewMessageButton, { onClick: scrollToBottom })))))));
466
+ };
448
467
  //# sourceMappingURL=MessageThread.js.map