@cometchat/chat-uikit-angular 4.0.0-beta.1

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 (249) hide show
  1. package/Calls/CallingExtension.d.ts +5 -0
  2. package/Calls/CallingExtensionDecorator.d.ts +17 -0
  3. package/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.d.ts +75 -0
  4. package/Calls/CometChatCallButtons/cometchat-call-buttons.module.d.ts +11 -0
  5. package/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.d.ts +80 -0
  6. package/Calls/CometChatIncomingCall/cometchat-incoming-call.module.d.ts +11 -0
  7. package/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.d.ts +26 -0
  8. package/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.d.ts +9 -0
  9. package/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.d.ts +58 -0
  10. package/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.d.ts +10 -0
  11. package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +109 -0
  12. package/CometChatAddMembers/cometchat-add-members.module.d.ts +12 -0
  13. package/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.d.ts +140 -0
  14. package/CometChatBannedMembers/cometchat-banned-members.module.d.ts +13 -0
  15. package/CometChatConversations/cometchat-conversations/cometchat-conversations.component.d.ts +335 -0
  16. package/CometChatConversations/cometchat-conversations.module.d.ts +10 -0
  17. package/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.d.ts +86 -0
  18. package/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.d.ts +12 -0
  19. package/CometChatDetails/cometchat-details/cometchat-details.component.d.ts +149 -0
  20. package/CometChatDetails/cometchat-details.module.d.ts +12 -0
  21. package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +145 -0
  22. package/CometChatGroupMembers/cometchat-group-members.module.d.ts +13 -0
  23. package/CometChatGroups/cometchat-groups/cometchat-groups.component.d.ts +136 -0
  24. package/CometChatGroups/cometchat-groups.module.d.ts +10 -0
  25. package/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.d.ts +100 -0
  26. package/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.d.ts +13 -0
  27. package/CometChatList/cometchat-list.component.d.ts +87 -0
  28. package/CometChatList/cometchat-list.module.d.ts +10 -0
  29. package/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.d.ts +62 -0
  30. package/CometChatMessageBubble/cometchat-message-bubble.module.d.ts +8 -0
  31. package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +165 -0
  32. package/CometChatMessageComposer/cometchat-message-composer.module.d.ts +9 -0
  33. package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +85 -0
  34. package/CometChatMessageHeader/cometchat-message-header.module.d.ts +9 -0
  35. package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +510 -0
  36. package/CometChatMessageList/cometchat-message-list.module.d.ts +11 -0
  37. package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +136 -0
  38. package/CometChatMessages/cometchat-messages.module.d.ts +15 -0
  39. package/CometChatTheme.service.d.ts +7 -0
  40. package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +73 -0
  41. package/CometChatThreadedMessages/cometchat-threaded-messages.module.d.ts +12 -0
  42. package/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.d.ts +88 -0
  43. package/CometChatTransferOwnership/cometchat-transfer-ownership.module.d.ts +10 -0
  44. package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +105 -0
  45. package/CometChatUsers/cometchat-users.module.d.ts +11 -0
  46. package/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.d.ts +71 -0
  47. package/CometChatUsersWithMessages/cometchat-users-with-messages.module.d.ts +12 -0
  48. package/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.d.ts +9 -0
  49. package/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.d.ts +17 -0
  50. package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.d.ts +9 -0
  51. package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.d.ts +17 -0
  52. package/Extensions/ImageModeration/ImageModerationExtension.d.ts +5 -0
  53. package/Extensions/ImageModeration/ImageModerationExtensionDecorator.d.ts +6 -0
  54. package/Extensions/LinkPreviewExtension/LinkPreviewExtension.d.ts +5 -0
  55. package/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.d.ts +6 -0
  56. package/Extensions/MessageTranslation/MessageTranslationExtension.d.ts +9 -0
  57. package/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.d.ts +12 -0
  58. package/Extensions/PollsExtension/PollsExtension.d.ts +5 -0
  59. package/Extensions/PollsExtension/PollsExtensionDecorator.d.ts +15 -0
  60. package/Extensions/Reactions/ReactionExtension.d.ts +5 -0
  61. package/Extensions/Reactions/ReactionExtensionDecorator.d.ts +10 -0
  62. package/Extensions/SmartReplies/SmartRepliesExtension.d.ts +9 -0
  63. package/Extensions/SmartReplies/SmartRepliesExtensionDecorator.d.ts +16 -0
  64. package/Extensions/Stickers/StickersExtension.d.ts +9 -0
  65. package/Extensions/Stickers/StickersExtensionDecorator.d.ts +27 -0
  66. package/Extensions/TextModerator/TextModeratorExtension.d.ts +5 -0
  67. package/Extensions/TextModerator/TextModeratorExtensionDecorator.d.ts +9 -0
  68. package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.d.ts +5 -0
  69. package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.d.ts +6 -0
  70. package/README.md +60 -0
  71. package/Shared/CometChatUIkit/CometChatUIKit.d.ts +18 -0
  72. package/Shared/Framework/ChatConfigurator.d.ts +8 -0
  73. package/Shared/Framework/DataSource.d.ts +29 -0
  74. package/Shared/Framework/DataSourceDecorator.d.ts +32 -0
  75. package/Shared/Framework/ExtensionDataSource.d.ts +3 -0
  76. package/Shared/Utils/MessageUtils.d.ts +43 -0
  77. package/assets/.gitkeep +0 -0
  78. package/assets/Audio-Call.svg +11 -0
  79. package/assets/Audio-Call2x.svg +11 -0
  80. package/assets/Copy.svg +17 -0
  81. package/assets/Grid-layout.svg +1 -0
  82. package/assets/Heart.svg +11 -0
  83. package/assets/Imagemoderation.svg +14 -0
  84. package/assets/Info.svg +13 -0
  85. package/assets/Locked.svg +10 -0
  86. package/assets/More@2x.svg +9 -0
  87. package/assets/Plus.svg +13 -0
  88. package/assets/Private.svg +10 -0
  89. package/assets/Reactionsicon.svg +9 -0
  90. package/assets/Send.svg +12 -0
  91. package/assets/Spinner.svg +15 -0
  92. package/assets/Stickers.svg +16 -0
  93. package/assets/Stipop.svg +9 -0
  94. package/assets/Video-call.svg +12 -0
  95. package/assets/Video-call2x.svg +12 -0
  96. package/assets/activity.svg +22 -0
  97. package/assets/addreaction.svg +9 -0
  98. package/assets/animals.svg +15 -0
  99. package/assets/attachment-file.svg +14 -0
  100. package/assets/audio-file.svg +12 -0
  101. package/assets/back.png +0 -0
  102. package/assets/backbutton.svg +12 -0
  103. package/assets/call.svg +1 -0
  104. package/assets/chats.svg +1 -0
  105. package/assets/checkmark.svg +11 -0
  106. package/assets/close.svg +12 -0
  107. package/assets/close2x.svg +12 -0
  108. package/assets/collaborativedocument.svg +13 -0
  109. package/assets/collaborativewhiteboard.svg +12 -0
  110. package/assets/create-button.svg +12 -0
  111. package/assets/declaration.d.ts +3 -0
  112. package/assets/delete.svg +7 -0
  113. package/assets/deleteicon.svg +15 -0
  114. package/assets/down-arrow.svg +1 -0
  115. package/assets/download.svg +13 -0
  116. package/assets/editicon.svg +14 -0
  117. package/assets/emoji.svg +2693 -0
  118. package/assets/file-upload.svg +2693 -0
  119. package/assets/flags.svg +12 -0
  120. package/assets/food.svg +26 -0
  121. package/assets/group.svg +40 -0
  122. package/assets/heart-reaction.png +0 -0
  123. package/assets/heart.png +0 -0
  124. package/assets/image.svg +2693 -0
  125. package/assets/incomingcall.wav +0 -0
  126. package/assets/increase-size.svg +6 -0
  127. package/assets/location.svg +2693 -0
  128. package/assets/message-delivered.png +0 -0
  129. package/assets/message-delivered.svg +4 -0
  130. package/assets/message-read.png +0 -0
  131. package/assets/message-read.svg +4 -0
  132. package/assets/message-sent.png +0 -0
  133. package/assets/message-sent.svg +3 -0
  134. package/assets/moreicon.svg +9 -0
  135. package/assets/objects.svg +13 -0
  136. package/assets/open-thread.svg +11 -0
  137. package/assets/password-protected-group.svg +3 -0
  138. package/assets/photolibrary.svg +11 -0
  139. package/assets/placeholder.png +0 -0
  140. package/assets/plus-rotated.svg +13 -0
  141. package/assets/polls.svg +14 -0
  142. package/assets/privacy.svg +4 -0
  143. package/assets/private-group.svg +9 -0
  144. package/assets/public.svg +3 -0
  145. package/assets/reduce-size.svg +6 -0
  146. package/assets/right-arrow.svg +6 -0
  147. package/assets/search.png +0 -0
  148. package/assets/search.svg +4 -0
  149. package/assets/side-arrow.svg +1 -0
  150. package/assets/smileys.svg +16 -0
  151. package/assets/start-chat.svg +1 -0
  152. package/assets/symbols.svg +16 -0
  153. package/assets/thread-arrow.svg +1 -0
  154. package/assets/thread-icon.svg +38 -0
  155. package/assets/threadicon.svg +14 -0
  156. package/assets/translation.svg +16 -0
  157. package/assets/travel.svg +18 -0
  158. package/assets/unsafe-content.svg +23 -0
  159. package/assets/user.svg +31 -0
  160. package/assets/video-upload.svg +2693 -0
  161. package/assets/video.svg +12 -0
  162. package/assets/wait.png +0 -0
  163. package/assets/wait.svg +4 -0
  164. package/assets/warning-small.png +0 -0
  165. package/assets/warning-small.svg +5 -0
  166. package/cometchat-chat-uikit-angular.d.ts +5 -0
  167. package/esm2020/Calls/CallingExtension.mjs +11 -0
  168. package/esm2020/Calls/CallingExtensionDecorator.mjs +114 -0
  169. package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +358 -0
  170. package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons.module.mjs +32 -0
  171. package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.mjs +423 -0
  172. package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call.module.mjs +32 -0
  173. package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.mjs +54 -0
  174. package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.mjs +27 -0
  175. package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.mjs +196 -0
  176. package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.mjs +28 -0
  177. package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +353 -0
  178. package/esm2020/CometChatAddMembers/cometchat-add-members.module.mjs +23 -0
  179. package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +446 -0
  180. package/esm2020/CometChatBannedMembers/cometchat-banned-members.module.mjs +24 -0
  181. package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +1400 -0
  182. package/esm2020/CometChatConversations/cometchat-conversations.module.mjs +28 -0
  183. package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +272 -0
  184. package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.mjs +39 -0
  185. package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +696 -0
  186. package/esm2020/CometChatDetails/cometchat-details.module.mjs +27 -0
  187. package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +676 -0
  188. package/esm2020/CometChatGroupMembers/cometchat-group-members.module.mjs +24 -0
  189. package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +564 -0
  190. package/esm2020/CometChatGroups/cometchat-groups.module.mjs +28 -0
  191. package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +430 -0
  192. package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.mjs +43 -0
  193. package/esm2020/CometChatList/cometchat-list.component.mjs +210 -0
  194. package/esm2020/CometChatList/cometchat-list.module.mjs +28 -0
  195. package/esm2020/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.mjs +157 -0
  196. package/esm2020/CometChatMessageBubble/cometchat-message-bubble.module.mjs +23 -0
  197. package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +930 -0
  198. package/esm2020/CometChatMessageComposer/cometchat-message-composer.module.mjs +24 -0
  199. package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +420 -0
  200. package/esm2020/CometChatMessageHeader/cometchat-message-header.module.mjs +26 -0
  201. package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +2598 -0
  202. package/esm2020/CometChatMessageList/cometchat-message-list.module.mjs +34 -0
  203. package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +393 -0
  204. package/esm2020/CometChatMessages/cometchat-messages.module.mjs +48 -0
  205. package/esm2020/CometChatTheme.service.mjs +17 -0
  206. package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +304 -0
  207. package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages.module.mjs +36 -0
  208. package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.mjs +337 -0
  209. package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership.module.mjs +21 -0
  210. package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +447 -0
  211. package/esm2020/CometChatUsers/cometchat-users.module.mjs +32 -0
  212. package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +185 -0
  213. package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages.module.mjs +39 -0
  214. package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.mjs +11 -0
  215. package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.mjs +89 -0
  216. package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.mjs +11 -0
  217. package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs +89 -0
  218. package/esm2020/Extensions/ImageModeration/ImageModerationExtension.mjs +10 -0
  219. package/esm2020/Extensions/ImageModeration/ImageModerationExtensionDecorator.mjs +10 -0
  220. package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtension.mjs +10 -0
  221. package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.mjs +10 -0
  222. package/esm2020/Extensions/MessageTranslation/MessageTranslationExtension.mjs +11 -0
  223. package/esm2020/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.mjs +33 -0
  224. package/esm2020/Extensions/PollsExtension/PollsExtension.mjs +10 -0
  225. package/esm2020/Extensions/PollsExtension/PollsExtensionDecorator.mjs +75 -0
  226. package/esm2020/Extensions/Reactions/ReactionExtension.mjs +10 -0
  227. package/esm2020/Extensions/Reactions/ReactionExtensionDecorator.mjs +30 -0
  228. package/esm2020/Extensions/SmartReplies/SmartRepliesExtension.mjs +11 -0
  229. package/esm2020/Extensions/SmartReplies/SmartRepliesExtensionDecorator.mjs +117 -0
  230. package/esm2020/Extensions/Stickers/StickersExtension.mjs +15 -0
  231. package/esm2020/Extensions/Stickers/StickersExtensionDecorator.mjs +118 -0
  232. package/esm2020/Extensions/TextModerator/TextModeratorExtension.mjs +10 -0
  233. package/esm2020/Extensions/TextModerator/TextModeratorExtensionDecorator.mjs +32 -0
  234. package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.mjs +10 -0
  235. package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.mjs +10 -0
  236. package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +180 -0
  237. package/esm2020/Shared/Framework/ChatConfigurator.mjs +20 -0
  238. package/esm2020/Shared/Framework/DataSource.mjs +3 -0
  239. package/esm2020/Shared/Framework/DataSourceDecorator.mjs +80 -0
  240. package/esm2020/Shared/Framework/ExtensionDataSource.mjs +4 -0
  241. package/esm2020/Shared/Utils/MessageUtils.mjs +342 -0
  242. package/esm2020/cometchat-chat-uikit-angular.mjs +5 -0
  243. package/esm2020/public-api.mjs +93 -0
  244. package/fesm2015/cometchat-chat-uikit-angular.mjs +13683 -0
  245. package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -0
  246. package/fesm2020/cometchat-chat-uikit-angular.mjs +13586 -0
  247. package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -0
  248. package/package.json +51 -0
  249. package/public-api.d.ts +79 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cometchat-chat-uikit-angular.mjs","sources":["../../../projects/chat-uikit-angular/src/Shared/Utils/MessageUtils.ts","../../../projects/chat-uikit-angular/src/Shared/Framework/ChatConfigurator.ts","../../../projects/chat-uikit-angular/src/Shared/Framework/DataSourceDecorator.ts","../../../projects/chat-uikit-angular/src/Calls/CallingExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Calls/CallingExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/ImageModeration/ImageModerationExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/ImageModeration/ImageModerationExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/LinkPreviewExtension/LinkPreviewExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/MessageTranslation/MessageTranslationExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/PollsExtension/PollsExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/PollsExtension/PollsExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/Reactions/ReactionExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/Reactions/ReactionExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/SmartReplies/SmartRepliesExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/SmartReplies/SmartRepliesExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/Stickers/StickersExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/Stickers/StickersExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/TextModerator/TextModeratorExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/TextModerator/TextModeratorExtension.ts","../../../projects/chat-uikit-angular/src/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.ts","../../../projects/chat-uikit-angular/src/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.ts","../../../projects/chat-uikit-angular/src/Shared/CometChatUIkit/CometChatUIKit.ts","../../../projects/chat-uikit-angular/src/Shared/Framework/DataSource.ts","../../../projects/chat-uikit-angular/src/Shared/Framework/ExtensionDataSource.ts","../../../projects/chat-uikit-angular/src/CometChatTheme.service.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.html","../../../projects/chat-uikit-angular/src/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.html","../../../projects/chat-uikit-angular/src/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.html","../../../projects/chat-uikit-angular/src/CometChatList/cometchat-list.component.ts","../../../projects/chat-uikit-angular/src/CometChatList/cometchat-list.component.html","../../../projects/chat-uikit-angular/src/CometChatList/cometchat-list.module.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatCallButtons/cometchat-call-buttons.module.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.ts","../../../projects/chat-uikit-angular/src/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.html","../../../projects/chat-uikit-angular/src/Calls/CometChatIncomingCall/cometchat-incoming-call.module.ts","../../../projects/chat-uikit-angular/src/CometChatUsers/cometchat-users/cometchat-users.component.ts","../../../projects/chat-uikit-angular/src/CometChatUsers/cometchat-users/cometchat-users.component.html","../../../projects/chat-uikit-angular/src/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.ts","../../../projects/chat-uikit-angular/src/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.html","../../../projects/chat-uikit-angular/src/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.ts","../../../projects/chat-uikit-angular/src/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.html","../../../projects/chat-uikit-angular/src/CometChatMessageHeader/cometchat-message-header.module.ts","../../../projects/chat-uikit-angular/src/CometChatUsers/cometchat-users.module.ts","../../../projects/chat-uikit-angular/src/CometChatAddMembers/cometchat-add-members.module.ts","../../../projects/chat-uikit-angular/src/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.ts","../../../projects/chat-uikit-angular/src/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.html","../../../projects/chat-uikit-angular/src/CometChatBannedMembers/cometchat-banned-members.module.ts","../../../projects/chat-uikit-angular/src/CometChatConversations/cometchat-conversations/cometchat-conversations.component.ts","../../../projects/chat-uikit-angular/src/CometChatConversations/cometchat-conversations/cometchat-conversations.component.html","../../../projects/chat-uikit-angular/src/CometChatConversations/cometchat-conversations.module.ts","../../../projects/chat-uikit-angular/src/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.ts","../../../projects/chat-uikit-angular/src/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.html","../../../projects/chat-uikit-angular/src/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.ts","../../../projects/chat-uikit-angular/src/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.html","../../../projects/chat-uikit-angular/src/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.ts","../../../projects/chat-uikit-angular/src/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.html","../../../projects/chat-uikit-angular/src/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.ts","../../../projects/chat-uikit-angular/src/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.html","../../../projects/chat-uikit-angular/src/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.ts","../../../projects/chat-uikit-angular/src/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.html","../../../projects/chat-uikit-angular/src/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.ts","../../../projects/chat-uikit-angular/src/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.html","../../../projects/chat-uikit-angular/src/CometChatDetails/cometchat-details/cometchat-details.component.ts","../../../projects/chat-uikit-angular/src/CometChatDetails/cometchat-details/cometchat-details.component.html","../../../projects/chat-uikit-angular/src/CometChatMessages/cometchat-messages/cometchat-messages.component.ts","../../../projects/chat-uikit-angular/src/CometChatMessages/cometchat-messages/cometchat-messages.component.html","../../../projects/chat-uikit-angular/src/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.ts","../../../projects/chat-uikit-angular/src/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.html","../../../projects/chat-uikit-angular/src/CometChatMessageBubble/cometchat-message-bubble.module.ts","../../../projects/chat-uikit-angular/src/CometChatMessageList/cometchat-message-list.module.ts","../../../projects/chat-uikit-angular/src/CometChatMessageComposer/cometchat-message-composer.module.ts","../../../projects/chat-uikit-angular/src/CometChatThreadedMessages/cometchat-threaded-messages.module.ts","../../../projects/chat-uikit-angular/src/CometChatGroupMembers/cometchat-group-members.module.ts","../../../projects/chat-uikit-angular/src/CometChatTransferOwnership/cometchat-transfer-ownership.module.ts","../../../projects/chat-uikit-angular/src/CometChatDetails/cometchat-details.module.ts","../../../projects/chat-uikit-angular/src/CometChatMessages/cometchat-messages.module.ts","../../../projects/chat-uikit-angular/src/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.ts","../../../projects/chat-uikit-angular/src/CometChatGroups/cometchat-groups/cometchat-groups.component.ts","../../../projects/chat-uikit-angular/src/CometChatGroups/cometchat-groups/cometchat-groups.component.html","../../../projects/chat-uikit-angular/src/CometChatGroups/cometchat-groups.module.ts","../../../projects/chat-uikit-angular/src/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.ts","../../../projects/chat-uikit-angular/src/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.html","../../../projects/chat-uikit-angular/src/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.ts","../../../projects/chat-uikit-angular/src/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.ts","../../../projects/chat-uikit-angular/src/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.html","../../../projects/chat-uikit-angular/src/CometChatUsersWithMessages/cometchat-users-with-messages.module.ts","../../../projects/chat-uikit-angular/src/public-api.ts","../../../projects/chat-uikit-angular/src/cometchat-chat-uikit-angular.ts"],"sourcesContent":["import { CometChatMessageOption,MessageBubbleAlignment, CometChatMessageTemplate, CometChatMessageComposerAction, CometChatTheme, localize, CometChatUIKitConstants, fontHelper } from \"@cometchat/uikit-resources\";\nimport { ConversationUtils} from \"@cometchat/uikit-shared\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { DataSource } from \"../Framework/DataSource\";\nimport { ChatConfigurator } from \"../Framework/ChatConfigurator\";\nexport class MessageUtils implements DataSource {\n getEditOption(theme: CometChatTheme): CometChatMessageOption {\n return new CometChatMessageOption({\n id: CometChatUIKitConstants.MessageOption.editMessage,\n title: localize(\"EDIT_MESSAGE\"),\n iconURL: \"assets/editicon.svg\",\n onClick: null,\n iconTint: theme.palette.getAccent600(),\n backgroundColor: \"transparent\",\n titleFont: fontHelper(theme.typography.subtitle1),\n titleColor: theme.palette.getAccent600()\n });\n }\n getDeleteOption(theme: CometChatTheme): CometChatMessageOption {\n return new CometChatMessageOption({\n id: CometChatUIKitConstants.MessageOption.deleteMessage,\n title: localize(\"DELETE\"),\n iconURL: \"assets/deleteicon.svg\",\n onClick: null,\n iconTint: theme.palette.getAccent600(),\n backgroundColor: \"transparent\",\n titleFont: fontHelper(theme.typography.subtitle1),\n titleColor: theme.palette.getAccent600()\n });\n }\n getReplyInThreadOption(theme: CometChatTheme): CometChatMessageOption {\n return new CometChatMessageOption({\n id: CometChatUIKitConstants.MessageOption.replyInThread,\n title: localize(\"REPLY_IN_THREAD\"),\n iconURL: \"assets/threadicon.svg\",\n onClick: null,\n iconTint: theme.palette.getAccent600(),\n backgroundColor: \"transparent\",\n titleFont: fontHelper(theme.typography.subtitle1),\n titleColor: theme.palette.getAccent600()\n });\n }\n getCopyOption(theme: CometChatTheme): CometChatMessageOption {\n return new CometChatMessageOption({\n id: CometChatUIKitConstants.MessageOption.copyMessage,\n title: localize(\"COPY_MESSAGE\"),\n iconURL: \"assets/Copy.svg\",\n onClick: null,\n iconTint: theme.palette.getAccent600(),\n backgroundColor: \"transparent\",\n titleFont: fontHelper(theme.typography.subtitle1),\n titleColor: theme.palette.getAccent600()\n });\n }\n isSentByMe(loggedInUser: CometChat.User, message: CometChat.BaseMessage): boolean {\n return loggedInUser.getUid() === message.getSender().getUid();\n }\n getTextMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let _isSentByMe: boolean = this.isSentByMe(loggedInUser, messageObject);\n let _isModerator: boolean = false;\n if (group?.getScope() == CometChatUIKitConstants.groupMemberScope.moderator) {\n _isModerator = true;\n }\n let messageOptionList: Array<CometChatMessageOption> = [];\n messageOptionList = ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);\n if (_isSentByMe) {\n messageOptionList.push(this.getEditOption(theme));\n }\n messageOptionList.push(this.getCopyOption(theme));\n return messageOptionList;\n }\n getImageMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let messageOptionList: CometChatMessageOption[] = [];\n messageOptionList = ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);\n return messageOptionList;\n }\n getVideoMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let messageOptionList: CometChatMessageOption[] = [];\n messageOptionList = ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);\n return messageOptionList;\n }\n getAudioMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let messageOptionList: CometChatMessageOption[] = [];\n messageOptionList = ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);\n return messageOptionList;\n }\n getFileMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let messageOptionList: CometChatMessageOption[] = [];\n messageOptionList = ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);\n return messageOptionList;\n }\n getBottomView(_messageObject: CometChat.BaseMessage, _alignment: MessageBubbleAlignment) {\n return null;\n }\n getTextMessageTemplate(): CometChatMessageTemplate {\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.MessageTypes.text,\n category: CometChatUIKitConstants.MessageCategory.message,\n options: ChatConfigurator.getDataSource().getMessageOptions,\n });\n }\n getAudioMessageTemplate(): CometChatMessageTemplate {\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.MessageTypes.audio,\n category: CometChatUIKitConstants.MessageCategory.message,\n options: ChatConfigurator.getDataSource().getMessageOptions,\n });\n }\n getVideoMessageTemplate(): CometChatMessageTemplate {\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.MessageTypes.video,\n category: CometChatUIKitConstants.MessageCategory.message,\n options: ChatConfigurator.getDataSource().getMessageOptions,\n });\n }\n getImageMessageTemplate(): CometChatMessageTemplate {\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.MessageTypes.image,\n category: CometChatUIKitConstants.MessageCategory.message,\n options: ChatConfigurator.getDataSource().getMessageOptions,\n });\n }\n getGroupActionTemplate(): CometChatMessageTemplate {\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.MessageTypes.groupMember,\n category: CometChatUIKitConstants.MessageCategory.action,\n });\n }\n getFileMessageTemplate(): CometChatMessageTemplate {\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.MessageTypes.file,\n category: CometChatUIKitConstants.MessageCategory.message,\n options: ChatConfigurator.getDataSource().getMessageOptions,\n });\n }\n getAllMessageTemplates(): Array<CometChatMessageTemplate> {\n return [\n ChatConfigurator.getDataSource().getTextMessageTemplate(),\n ChatConfigurator.getDataSource().getImageMessageTemplate(),\n ChatConfigurator.getDataSource().getVideoMessageTemplate(),\n ChatConfigurator.getDataSource().getAudioMessageTemplate(),\n ChatConfigurator.getDataSource().getFileMessageTemplate(),\n ChatConfigurator.getDataSource().getGroupActionTemplate(),\n ];\n }\n getMessageTemplate(messageType: string, messageCategory: string): CometChatMessageTemplate | null {\n let _template: CometChatMessageTemplate | null = null;\n if (messageCategory != CometChatUIKitConstants.MessageCategory.call) {\n switch (messageType) {\n case CometChatUIKitConstants.MessageTypes.text:\n _template = ChatConfigurator.getDataSource().getTextMessageTemplate();\n break;\n case CometChatUIKitConstants.MessageTypes.image:\n _template = ChatConfigurator.getDataSource().getImageMessageTemplate();\n break;\n case CometChatUIKitConstants.MessageTypes.video:\n _template = ChatConfigurator.getDataSource().getVideoMessageTemplate();\n break;\n case CometChatUIKitConstants.MessageTypes.groupMember:\n _template = ChatConfigurator.getDataSource().getGroupActionTemplate();\n break;\n case CometChatUIKitConstants.MessageTypes.file:\n _template = ChatConfigurator.getDataSource().getFileMessageTemplate();\n break;\n case CometChatUIKitConstants.MessageTypes.audio:\n _template = ChatConfigurator.getDataSource().getAudioMessageTemplate();\n break;\n }\n }\n return _template;\n }\n getMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let _optionList: Array<CometChatMessageOption> = [];\n let _isSentByMe: boolean = false;\n if (loggedInUser.getUid() == messageObject.getSender()?.getUid()) {\n _isSentByMe = true;\n }\n if (messageObject.getCategory() == CometChatUIKitConstants.MessageCategory.message) {\n switch (messageObject.getType()) {\n case CometChatUIKitConstants.MessageTypes.text:\n _optionList = ChatConfigurator.getDataSource().getTextMessageOptions(loggedInUser, messageObject, theme, group);\n break;\n case CometChatUIKitConstants.MessageTypes.image:\n _optionList = ChatConfigurator.getDataSource().getImageMessageOptions(loggedInUser, messageObject, theme, group);\n break;\n case CometChatUIKitConstants.MessageTypes.video:\n _optionList = ChatConfigurator.getDataSource().getVideoMessageOptions(loggedInUser, messageObject, theme, group);\n break;\n case CometChatUIKitConstants.MessageTypes.groupMember:\n _optionList = [];\n break;\n case CometChatUIKitConstants.MessageTypes.file:\n _optionList = ChatConfigurator.getDataSource().getFileMessageOptions(loggedInUser, messageObject, theme, group);\n break;\n case CometChatUIKitConstants.MessageTypes.audio:\n _optionList = ChatConfigurator.getDataSource().getAudioMessageOptions(loggedInUser, messageObject, theme, group);\n break;\n }\n } else if (messageObject.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {\n _optionList = ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group);\n }\n return _optionList;\n }\n getCommonOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption> {\n let _isSentByMe: boolean = this.isSentByMe(loggedInUser, messageObject);\n let _isModerator: boolean = false;\n if (group?.getScope() == CometChatUIKitConstants.groupMemberScope.moderator) _isModerator = true;\n let messageOptionList: Array<CometChatMessageOption> = [];\n if (_isSentByMe == true || _isModerator == true)\n messageOptionList.push(this.getDeleteOption(theme));\n if (!messageObject.getParentMessageId()) {\n messageOptionList.push(this.getReplyInThreadOption(theme));\n }\n return messageOptionList;\n }\n getAllMessageTypes(): Array<string> {\n return [\n CometChatUIKitConstants.MessageTypes.text,\n CometChatUIKitConstants.MessageTypes.image,\n CometChatUIKitConstants.MessageTypes.audio,\n CometChatUIKitConstants.MessageTypes.video,\n CometChatUIKitConstants.MessageTypes.file,\n CometChatUIKitConstants.MessageTypes.groupMember\n ];\n }\n addList(): string {\n return \"<Message Utils>\";\n }\n getAllMessageCategories(): Array<string> {\n return [CometChatUIKitConstants.MessageCategory.message, CometChatUIKitConstants.MessageCategory.action];\n }\n getAuxiliaryOptions(id:ComposerId, user?: CometChat.User, group?: CometChat.Group): any {\n return null;\n }\n getId(): string {\n return \"messageUtils\";\n }\n getActionMessage(message: CometChat.Action):string {\n try {\n if (message instanceof CometChat.Action) {\n const action = message.getAction();\n const actionBy = message.getActionBy();\n const actionOn = message.getActionOn();\n\n const byString = (actionBy as CometChat.User).getName();\n const forString =\n action === CometChatUIKitConstants.groupMemberAction.JOINED ||\n action === CometChatUIKitConstants.groupMemberAction.LEFT\n ? \"\"\n : (actionOn as CometChat.User).getName();\n\n switch (action) {\n case CometChatUIKitConstants.groupMemberAction.ADDED:\n return `${byString} ${localize(\"ADDED\")} ${forString}`;\n case CometChatUIKitConstants.groupMemberAction.JOINED:\n return `${byString} ${localize(\"JOINED\")}`;\n case CometChatUIKitConstants.groupMemberAction.LEFT:\n return `${byString} ${localize(\"LEFT\")}`;\n case CometChatUIKitConstants.groupMemberAction.KICKED:\n return `${byString} ${localize(\"KICKED\")} ${forString}`;\n case CometChatUIKitConstants.groupMemberAction.BANNED:\n return `${byString} ${localize(\"BANNED\")} ${forString}`;\n case CometChatUIKitConstants.groupMemberAction.UNBANNED:\n return `${byString} ${localize(\"UNBANNED\")} ${forString}`;\n case CometChatUIKitConstants.groupMemberAction.SCOPE_CHANGE:\n return `${byString} ${localize(\"MADE\")} ${forString} ${message.getNewScope()}`;\n default:\n return \"\";\n }\n }\n else{\n return \"\"\n }\n } catch(e) {\n return \"\";\n }\n }\n\n imageAttachmentOption(theme: CometChatTheme): CometChatMessageComposerAction {\n return new CometChatMessageComposerAction({\n id: CometChatUIKitConstants.MessageTypes.image,\n title: localize(\"ATTACH_IMAGE\"),\n iconURL: \"assets/photolibrary.svg\",\n onClick:null,\n iconTint:theme.palette.getAccent700(),\n titleFont:fontHelper(theme.typography.subtitle1),\n titleColor:theme.palette.getAccent700(),\n borderRadius:\"8px\",\n background:theme.palette.getAccent100()\n });\n }\n videoAttachmentOption(theme: CometChatTheme): CometChatMessageComposerAction {\n return new CometChatMessageComposerAction({\n id: CometChatUIKitConstants.MessageTypes.video,\n title: localize(\"ATTACH_VIDEO\"),\n iconURL: \"assets/video.svg\",\n onClick:null,\n iconTint:theme.palette.getAccent700(),\n titleFont:fontHelper(theme.typography.subtitle1),\n titleColor:theme.palette.getAccent700(),\n borderRadius:\"8px\",\n background:theme.palette.getAccent100()\n });\n }\n audioAttachmentOption(theme: CometChatTheme): CometChatMessageComposerAction {\n return new CometChatMessageComposerAction({\n id: CometChatUIKitConstants.MessageTypes.audio,\n title: localize(\"ATTACH_AUDIO\"),\n iconURL: \"assets/audio-file.svg\",\n onClick:null,\n iconTint:theme.palette.getAccent700(),\n titleFont:fontHelper(theme.typography.subtitle1),\n titleColor:theme.palette.getAccent700(),\n borderRadius:\"8px\",\n background:theme.palette.getAccent100()\n });\n }\n fileAttachmentOption(theme: CometChatTheme): CometChatMessageComposerAction {\n return new CometChatMessageComposerAction({\n id: CometChatUIKitConstants.MessageTypes.file,\n title: localize(\"ATTACH_FILE\"),\n iconURL: \"assets/attachment-file.svg\",\n onClick:null,\n iconTint:theme.palette.getAccent700(),\n titleFont:fontHelper(theme.typography.subtitle1),\n titleColor:theme.palette.getAccent700(),\n borderRadius:\"8px\",\n background:theme.palette.getAccent100()\n });\n }\n getAttachmentOptions(theme: CometChatTheme,user?:CometChat.User,group?:CometChat.Group, id?: ComposerId): CometChatMessageComposerAction[] {\n let actions: Array<CometChatMessageComposerAction> = [\n this.imageAttachmentOption(theme),\n this.videoAttachmentOption(theme),\n this.audioAttachmentOption(theme),\n this.fileAttachmentOption(theme)\n ];\n return actions;\n }\n getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string {\n return ConversationUtils.getLastConversationMessage(conversation, loggedInUser);\n }\n}\nexport type ComposerId = {parentMessageId : number | null, user : string | null, group : string | null};","import { MessageUtils } from \"../Utils/MessageUtils\";\nimport { DataSource } from \"./DataSource\";\n\nexport class ChatConfigurator{\n static dataSource: DataSource;\n static names: Array<string> = [\"message utils\"];\n\n static init(initialSource?: DataSource) {\n this.dataSource = initialSource ?? new MessageUtils();\n this.names.push(this.dataSource.getId());\n }\n\n static enable(callback: (dataSource: DataSource) => DataSource) {\n let oldSource: DataSource = this.dataSource;\n let newSource: DataSource = callback(oldSource);\n if (!this.names.find(nm => nm == newSource.getId())) {\n this.dataSource = newSource;\n this.names.push(this.dataSource.getId());\n\n }\n }\n\n static getDataSource(): DataSource {\n return this.dataSource;\n }\n}\n","import { CometChatMessageOption, CometChatMessageTemplate, CometChatTheme } from \"@cometchat/uikit-resources\";\nimport { DataSource } from \"./DataSource\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { MessageUtils,ComposerId } from \"../Utils/MessageUtils\";\n\nexport abstract class DataSourceDecorator implements DataSource {\n public dataSource: DataSource;\n constructor(dataSource: DataSource) {\n this.dataSource = dataSource ;\n }\n public getTextMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getTextMessageOptions(loggedInUser, messageObject, theme, group);\n }\n public getImageMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getImageMessageOptions(loggedInUser, messageObject, theme, group);\n }\n public getVideoMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getVideoMessageOptions(loggedInUser, messageObject, theme, group);\n }\n public getAudioMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getAudioMessageOptions(loggedInUser, messageObject, theme, group);\n }\n public getFileMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getFileMessageOptions(loggedInUser, messageObject, theme, group);\n }\n public getTextMessageTemplate(): CometChatMessageTemplate {\n return (this.dataSource ?? new MessageUtils()).getTextMessageTemplate();\n }\n public getImageMessageTemplate(): CometChatMessageTemplate {\n return (this.dataSource ?? new MessageUtils()).getImageMessageTemplate();\n }\n public getVideoMessageTemplate(): CometChatMessageTemplate {\n return (this.dataSource ?? new MessageUtils()).getVideoMessageTemplate();\n }\n public getAudioMessageTemplate(): CometChatMessageTemplate {\n return (this.dataSource ?? new MessageUtils()).getAudioMessageTemplate();\n }\n public getFileMessageTemplate(): CometChatMessageTemplate {\n return (this.dataSource ?? new MessageUtils()).getFileMessageTemplate();\n }\n public getGroupActionTemplate(): CometChatMessageTemplate {\n return (this.dataSource ?? new MessageUtils()).getGroupActionTemplate();\n }\n public getAllMessageTemplates(): CometChatMessageTemplate[] {\n return (this.dataSource ?? new MessageUtils()).getAllMessageTemplates();\n }\n public getMessageTemplate(messageType: string, messageCategory: string): CometChatMessageTemplate | null {\n return (this.dataSource ?? new MessageUtils()).getMessageTemplate(messageType, messageCategory);\n }\n public getMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getMessageOptions(loggedInUser, messageObject, theme, group);\n }\n\n public getCommonOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n return (this.dataSource ?? new MessageUtils()).getCommonOptions(loggedInUser, messageObject, theme, group);\n }\n public getDeleteOption(theme: CometChatTheme): CometChatMessageOption {\n return (this.dataSource ?? new MessageUtils()).getDeleteOption(theme);\n }\n public getReplyInThreadOption(theme: CometChatTheme): CometChatMessageOption{\n return (this.dataSource ?? new MessageUtils()).getReplyInThreadOption(theme);\n }\n public getEditOption(theme: CometChatTheme): CometChatMessageOption{\n return (this.dataSource ?? new MessageUtils()).getEditOption(theme);\n }\n public getAttachmentOptions(theme: CometChatTheme = new CometChatTheme({}),user?:CometChat.User,group?:CometChat.Group, id?: ComposerId) {\n return (this.dataSource ?? new MessageUtils()).getAttachmentOptions(theme,user,group, id);\n }\n public getAllMessageTypes(): string[] {\n return (this.dataSource ?? new MessageUtils()).getAllMessageTypes();\n }\n public getAllMessageCategories(): string[] {\n return (this.dataSource ?? new MessageUtils()).getAllMessageCategories();\n }\n public getAuxiliaryOptions(id: ComposerId, user?: CometChat.User, group?: CometChat.Group): any {\n return (this.dataSource ?? new MessageUtils()).getAuxiliaryOptions(id, user, group);\n }\n public getId(): string {\n\n return (this.dataSource ?? new MessageUtils()).getId();\n }\n public getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string{\n return (this.dataSource ?? new MessageUtils()).getLastConversationMessage(conversation, loggedInUser);\n }\n}","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatUIKitConstants, CometChatMessageTemplate, CometChatTheme, CometChatMessageComposerAction, localize, fontHelper } from \"@cometchat/uikit-resources\";\nimport { CallingDetailsUtils, CollaborativeDocumentConfiguration, CollaborativeDocumentConstants } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../Shared/Framework/ChatConfigurator\";\nimport { DataSource } from \"../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../Shared/Framework/DataSourceDecorator\";\nimport { } from \"@cometchat/uikit-shared\";\n\nexport class CallingExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource: DataSource) {\n super(dataSource);\n this.onLogout()\n }\n // end active call when user logs out\n onLogout(){\n var listenerID: string = \"logout_listener\";\n CometChat.addLoginListener(\n listenerID,\n new CometChat.LoginListener({\n logoutSuccess: () => {\n let call:CometChat.Call = CometChat.getActiveCall()\n if(call){\n CometChat.endCall(call.getSessionId())\n\n }\n else{\n return\n }\n },\n logoutFailure: (error: CometChat.CometChatException) => {\n console.log(\"LoginListener :: logoutFailure\", error);\n }\n })\n);\n }\n override getAllMessageTypes(): string[] {\n const types = super.getAllMessageTypes();\n if (!types.includes( CometChatUIKitConstants.calls.meeting)) {\n types.push( CometChatUIKitConstants.calls.meeting);\n }\n if (!types.includes(CometChatUIKitConstants.MessageTypes.audio)) {\n types.push(CometChatUIKitConstants.MessageTypes.audio);\n }\n if (!types.includes(CometChatUIKitConstants.MessageTypes.video)) {\n types.push(CometChatUIKitConstants.MessageTypes.video);\n }\n return types;\n }\n override getId(): string {\n return \"calling\";\n }\n override getAllMessageCategories(): string[] {\n const categories = super.getAllMessageCategories();\n if (!categories.includes(CometChatUIKitConstants.MessageCategory.call)) {\n categories.push(CometChatUIKitConstants.MessageCategory.call);\n }\n if (!categories.includes(CometChatUIKitConstants.MessageCategory.custom)) {\n categories.push(CometChatUIKitConstants.MessageCategory.custom);\n }\n return categories;\n }\n checkIfTemplateTypeExist(template:CometChatMessageTemplate[], type:string):boolean{\n return template.some(obj => obj.type === type)\n }\n checkIfTemplateCategoryExist(template:CometChatMessageTemplate[], category:string):boolean{\n return template.some(obj => obj.category === category)\n }\n override getAllMessageTemplates(): CometChatMessageTemplate[] {\n const templates = super.getAllMessageTemplates();\n if(!this.checkIfTemplateTypeExist(templates, CometChatUIKitConstants.calls.meeting)){\n templates.push(this.getDirectCallTemplate())\n }\n if(!this.checkIfTemplateCategoryExist(templates,CometChatUIKitConstants.MessageCategory.call)){\n templates.push(...this.getDefaultCallTemplate())\n }\n return templates\n\n }\n getDirectCallTemplate():CometChatMessageTemplate{\n return new CometChatMessageTemplate({\n type: CometChatUIKitConstants.calls.meeting,\n category:CometChatUIKitConstants.MessageCategory.custom,\n options: (loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group)=>{\n return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group)\n }\n })\n }\n getDefaultCallTemplate():CometChatMessageTemplate[]{\n let templates:CometChatMessageTemplate[] = [\n new CometChatMessageTemplate({\n type:CometChatUIKitConstants.MessageTypes.audio ,\n category:CometChatUIKitConstants.MessageCategory.call,\n }),\n new CometChatMessageTemplate({\n type:CometChatUIKitConstants.MessageTypes.video,\n category:CometChatUIKitConstants.MessageCategory.call,\n })\n\n ]\n return templates\n }\n public override getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string {\n let actionMessage:string = \"\";\n\n if(conversation.getLastMessage() && conversation.getLastMessage().category == CometChatUIKitConstants.MessageCategory.call){\n let call:CometChat.Call =conversation.getLastMessage();\n\n actionMessage = CallingDetailsUtils.getCallStatus(call,loggedInUser)\n }\n else if (conversation.getLastMessage() && conversation.getLastMessage().type == CometChatUIKitConstants.calls.meeting){\n let message:CometChat.CustomMessage = conversation.getLastMessage()\n if(!message.getSender() || message.getSender().getUid() == loggedInUser.getUid()){\n actionMessage = localize(\"YOU_INITIATED_GROUP_CALL\")\n }\n else {\n actionMessage = `${message.getSender().getName()} ${localize(\"INITIATED_GROUP_CALL\")}`\n }\n\n }\n else{\n actionMessage = super.getLastConversationMessage(conversation,loggedInUser);\n }\n return actionMessage\n\n }\n}","\nimport { ChatConfigurator } from '../Shared/Framework/ChatConfigurator';\nimport { DataSource } from '../Shared/Framework/DataSource';\nimport { ExtensionsDataSource } from '../Shared/Framework/ExtensionDataSource';\nimport { CallingExtensionDecorator } from './CallingExtensionDecorator';\n\nexport class CallingExtension implements ExtensionsDataSource {\n constructor() {\n }\n\n // override enable method from ExtensionsDataSource interface\n enable(): void {\n ChatConfigurator.enable((dataSource: DataSource) =>\n new CallingExtensionDecorator(dataSource)\n );\n }\n}\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatTheme, CometChatMessageTemplate, CometChatMessageComposerAction, fontHelper, CometChatUIKitConstants, localize } from \"@cometchat/uikit-resources\";\nimport { CollaborativeDocumentConfiguration, CollaborativeDocumentConstants } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class CollaborativeDocumentExtensionDecorator extends DataSourceDecorator {\n private configuration!:CollaborativeDocumentConfiguration;\n constructor(dataSource: DataSource, configuration?: CollaborativeDocumentConfiguration) {\n super(dataSource);\n this.configuration = configuration!;\n }\n override getAllMessageTypes(): string[] {\n const types = super.getAllMessageTypes();\n if (!types.includes(CollaborativeDocumentConstants.extension_document)) {\n types.push(CollaborativeDocumentConstants.extension_document);\n }\n return types;\n }\n override getId(): string {\n return \"collaborativedocument\";\n }\n override getAllMessageCategories(): string[] {\n const categories = super.getAllMessageCategories();\n if (!categories.includes(CometChatUIKitConstants.MessageCategory.custom)) {\n categories.push(CometChatUIKitConstants.MessageCategory.custom);\n }\n return categories;\n }\n checkIfTemplateExist(template:CometChatMessageTemplate[], type:string):boolean{\n return template.some(obj => obj.type === type)\n }\n override getAllMessageTemplates(): CometChatMessageTemplate[] {\n const templates = super.getAllMessageTemplates();\n if(!this.checkIfTemplateExist(templates,CollaborativeDocumentConstants.extension_document)){\n templates.push(this.getDocumentTemplate())\n }\n\n return templates\n\n }\n getDocumentTemplate():CometChatMessageTemplate{\n return new CometChatMessageTemplate({\n type:CollaborativeDocumentConstants.extension_document,\n category:CometChatUIKitConstants.MessageCategory.custom,\n options: (loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group)=>{\n return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group)\n }\n })\n }\n override getAttachmentOptions(theme: CometChatTheme = new CometChatTheme({}),user?:CometChat.User,group?:CometChat.Group, id?: any) {\n if (!id?.parentMessageId) {\n let receiverType:string = user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n let receiverId:string | undefined = user ? user.getUid() : group?.getGuid()\n const messageComposerActions:CometChatMessageComposerAction[] = super.getAttachmentOptions(theme,user,group,id);\n let newAction:CometChatMessageComposerAction = new CometChatMessageComposerAction({\n id:CollaborativeDocumentConstants.document,\n title:localize(\"COLLABORATIVE_DOCUMENT\"),\n iconURL:\"assets/collaborativedocument.svg\",\n iconTint:theme.palette.getAccent700(),\n titleColor:theme.palette.getAccent600(),\n titleFont:fontHelper(theme.typography.subtitle1),\n background:theme.palette.getAccent100(),\n onClick:()=>{\n CometChat.callExtension(CollaborativeDocumentConstants.document, CollaborativeDocumentConstants.post, CollaborativeDocumentConstants.v1_create, {\n receiver: receiverId,\n receiverType: receiverType,\n })\n .then((res:any) => {\n })\n .catch((error:any) => {\n console.log(error)\n });\n }\n })\n messageComposerActions.push(newAction)\n return messageComposerActions;\n } else {\n return super.getAttachmentOptions(theme, user,group, id);\n }\n }\n override getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string {\n const message: CometChat.BaseMessage | undefined = conversation.getLastMessage();\n if (message != null && message.getType() == CollaborativeDocumentConstants.extension_document && message.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {\n return localize(\"CUSTOM_MESSAGE_DOCUMENT\");\n } else {\n return super.getLastConversationMessage(conversation,loggedInUser);\n }\n }\n }\n","import { CollaborativeDocumentConfiguration} from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { CollaborativeDocumentExtensionDecorator } from \"./CollaborativeDocumentExtensionDecorator\";\n\nexport class CollaborativeDocumentExtension implements ExtensionsDataSource {\n configuration?: CollaborativeDocumentConfiguration;\n\n constructor({ configuration }: { configuration?: CollaborativeDocumentConfiguration } = {}) {\n this.configuration = configuration;\n }\n\n enable(): void {\n ChatConfigurator.enable((dataSource) => new CollaborativeDocumentExtensionDecorator(dataSource, this.configuration));\n }\n }\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatTheme, CometChatMessageTemplate, CometChatMessageComposerAction, fontHelper, CometChatUIKitConstants, localize } from \"@cometchat/uikit-resources\";\nimport { CollaborativeWhiteboardConfiguration, CollaborativeWhiteboardConstants } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\n\nexport class CollaborativeWhiteBoardExtensionDecorator extends DataSourceDecorator {\n private configuration!:CollaborativeWhiteboardConfiguration;\n constructor(dataSource: DataSource, configuration?: CollaborativeWhiteboardConfiguration) {\n super(dataSource);\n this.configuration = configuration!;\n }\n\n override getAllMessageTypes(): string[] {\n const types = super.getAllMessageTypes();\n if (!types.includes(CollaborativeWhiteboardConstants.extension_whiteboard)) {\n types.push(CollaborativeWhiteboardConstants.extension_whiteboard);\n }\n return types;\n }\n override getId(): string {\n return \"collaborativewhiteboard\";\n }\n\n override getAllMessageCategories(): string[] {\n const categories = super.getAllMessageCategories();\n if (!categories.includes(CometChatUIKitConstants.MessageCategory.custom)) {\n categories.push(CometChatUIKitConstants.MessageCategory.custom);\n }\n return categories;\n }\n checkIfTemplateExist(template:CometChatMessageTemplate[], type:string):boolean{\n return template.some(obj => obj.type === type)\n }\n override getAllMessageTemplates(): CometChatMessageTemplate[] {\n const templates = super.getAllMessageTemplates();\n if(!this.checkIfTemplateExist(templates,CollaborativeWhiteboardConstants.extension_whiteboard)){\n templates.push(this.getWhiteBoardTemplate())\n }\n return templates\n }\n getWhiteBoardTemplate():CometChatMessageTemplate{\n return new CometChatMessageTemplate({\n type:CollaborativeWhiteboardConstants.extension_whiteboard,\n category:CometChatUIKitConstants.MessageCategory.custom,\n options: (loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group)=>{\n return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group)\n }\n\n })\n }\n override getAttachmentOptions(theme: CometChatTheme = new CometChatTheme({}),user?:CometChat.User,group?:CometChat.Group, id?: any) {\n if (!id?.parentMessageId) {\n let receiverType:string = user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n let receiverId:string | undefined = user ? user.getUid() : group?.getGuid()\n const messageComposerActions:CometChatMessageComposerAction[] = super.getAttachmentOptions(theme,user,group,id);\n let newAction:CometChatMessageComposerAction = new CometChatMessageComposerAction({\n id:CollaborativeWhiteboardConstants.whiteboard,\n title:localize(\"COLLABORATIVE_WHITEBOARD\"),\n iconURL:\"assets/collaborativewhiteboard.svg\",\n iconTint:theme.palette.getAccent700(),\n titleColor:theme.palette.getAccent600(),\n titleFont:fontHelper(theme.typography.subtitle1),\n background:theme.palette.getAccent100(),\n onClick:()=>{\n CometChat.callExtension(CollaborativeWhiteboardConstants.whiteboard, CollaborativeWhiteboardConstants.post, CollaborativeWhiteboardConstants.v1_create, {\n receiver: receiverId,\n receiverType: receiverType,\n })\n .then((res:any) => {\n\n })\n .catch((error:any) => {\n console.log(error)\n });\n }\n\n })\n messageComposerActions.push(newAction)\n return messageComposerActions;\n } else {\n return super.getAttachmentOptions(theme, user,group, id);\n }\n }\n override getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string {\n const message: CometChat.BaseMessage | undefined = conversation.getLastMessage();\n if (message != null && message.getType() == CollaborativeWhiteboardConstants.extension_whiteboard && message.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {\n return localize(\"CUSTOM_MESSAGE_WHITEBOARD\");\n } else {\n return super.getLastConversationMessage(conversation,loggedInUser);\n }\n }\n\n\n }\n\n","import { CollaborativeWhiteboardConfiguration, CollaborativeWhiteboardStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { CollaborativeWhiteBoardExtensionDecorator } from \"./CollaborativeWhiteboardExtensionDecorator\";\n\nexport class CollaborativeWhiteBoardExtension implements ExtensionsDataSource {\n configuration?: CollaborativeWhiteboardConfiguration;\n\n constructor({ configuration }: { configuration?: CollaborativeWhiteboardConfiguration } = {}) {\n this.configuration = configuration;\n }\n\n enable(): void {\n ChatConfigurator.enable((dataSource) => new CollaborativeWhiteBoardExtensionDecorator(dataSource, this.configuration));\n }\n }\n","import { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class ImageModerationExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource:DataSource){\n super(dataSource)\n }\n\n override getId(): string {\n return \"imagemoderation\";\n }\n\n}\n","import { BaseStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { ImageModerationExtensionDecorator } from \"./ImageModerationExtensionDecorator\";\nexport class ImageModerationExtension implements ExtensionsDataSource {\n constructor() {\n\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new ImageModerationExtensionDecorator(dataSource)\n );\n }\n}\n\n","import { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class LinkPreviewExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource:DataSource){\n super(dataSource)\n }\n\n override getId(): string {\n return \"linkpreview\";\n }\n\n}\n","import { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { LinkPreviewExtensionDecorator } from \"./LinkPreviewExtensionDecorator\";\nexport class LinkPreviewExtension implements ExtensionsDataSource {\n constructor() {\n\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new LinkPreviewExtensionDecorator(dataSource)\n );\n }\n}\n\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatTheme, CometChatMessageOption, CometChatUIKitConstants, fontHelper, localize } from \"@cometchat/uikit-resources\";\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nimport { MessageTranslationConfiguration } from \"@cometchat/uikit-shared\";\nexport class MessageTranslationExtensionDecorator extends DataSourceDecorator {\n public configuration?:MessageTranslationConfiguration;\n constructor(dataSource:DataSource,configuration:MessageTranslationConfiguration = new MessageTranslationConfiguration({})){\n super(dataSource)\n this.configuration = configuration;\n\n }\n public override getTextMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n let options:CometChatMessageOption[] = super.getTextMessageOptions(loggedInUser,messageObject,theme,group)\n if(!this.checkIfOptionExist(options, CometChatUIKitConstants.MessageOption.translateMessage)){\n let newOption:CometChatMessageOption = new CometChatMessageOption({\n id:CometChatUIKitConstants.MessageOption.translateMessage,\n title: localize(\"TRANSLATE_MESSAGE\"),\n iconURL: \"assets/translation.svg\",\n onClick: null,\n iconTint: theme.palette.getAccent600(),\n backgroundColor: \"transparent\",\n titleFont: fontHelper(theme.typography.subtitle1),\n titleColor: theme.palette.getAccent600()\n })\n options.push(newOption)\n }\n\n\n return options\n\n }\n checkIfOptionExist(template:CometChatMessageOption[], id:string):boolean{\n return template.some(obj => obj.id === id)\n }\n override getId(): string {\n return \"messagetranslation\";\n }\n}\n","import { BaseStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { MessageTranslationExtensionDecorator } from \"./MessageTranslationExtensionDecorator\";\nimport {MessageTranslationConfiguration} from '@cometchat/uikit-shared'\nexport class MessageTranslationExtension implements ExtensionsDataSource {\n private configuration?: MessageTranslationConfiguration;\n constructor({ configuration }: { configuration?: MessageTranslationConfiguration } = {}) {\n this.configuration = configuration;\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new MessageTranslationExtensionDecorator(dataSource,this.configuration)\n );\n }\n}\n\n","\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatUIKitConstants, CometChatMessageTemplate, CometChatTheme, CometChatMessageComposerAction, localize, fontHelper } from \"@cometchat/uikit-resources\";\nimport { PollsConstants } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class PollsExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource:DataSource){\n super(dataSource)\n }\n\n override getId(): string {\n return \"polls\";\n }\n override getAllMessageTypes(): string[] {\n const types = super.getAllMessageTypes();\n if (!types.includes(PollsConstants.extension_poll)) {\n types.push(PollsConstants.extension_poll);\n }\n return types;\n}\n override getAllMessageCategories(): string[] {\n const categories = super.getAllMessageCategories();\n if (!categories.includes(CometChatUIKitConstants.MessageCategory.custom)) {\n categories.push(CometChatUIKitConstants.MessageCategory.custom);\n }\n return categories;\n}\ncheckIfTemplateExist(template:CometChatMessageTemplate[], type:string):boolean{\n return template.some(obj => obj.type === type)\n }\n override getAllMessageTemplates(): CometChatMessageTemplate[] {\n const templates = super.getAllMessageTemplates();\n\n if (!this.checkIfTemplateExist(templates, PollsConstants.extension_poll)) {\n templates.push(this.getPollsTemplate())\n }\n\n return templates\n\n }\ngetPollsTemplate():CometChatMessageTemplate{\nreturn new CometChatMessageTemplate({\n type:PollsConstants.extension_poll,\n category:CometChatUIKitConstants.MessageCategory.custom,\n options: (loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group)=>{\n return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group)\n }\n\n})\n}\noverride getAttachmentOptions(theme: CometChatTheme = new CometChatTheme({}),user?:CometChat.User,group?:CometChat.Group, id?: any) {\nif (!id?.parentMessageId) {\n const messageComposerActions:CometChatMessageComposerAction[] = super.getAttachmentOptions(theme,user,group,id);\n let newAction:CometChatMessageComposerAction = new CometChatMessageComposerAction({\n id: PollsConstants.extension_poll,\n title:localize(\"POLLS\"),\n iconURL:\"assets/polls.svg\",\n iconTint:theme.palette.getAccent700(),\n titleColor:theme.palette.getAccent600(),\n titleFont:fontHelper(theme.typography.subtitle1),\n background:theme.palette.getAccent100(),\n onClick:null\n\n })\n messageComposerActions.push(newAction)\n return messageComposerActions;\n} else {\n return super.getAttachmentOptions(theme, user,group, id);\n}\n}\noverride getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string {\n const message: CometChat.BaseMessage | undefined = conversation.getLastMessage();\n if (message != null && message.getType() == PollsConstants.extension_poll && message.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {\n return localize(\"CUSTOM_MESSAGE_POLL\");\n } else {\n return super.getLastConversationMessage(conversation,loggedInUser);\n }\n}\n\n}\n","import { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { PollsExtensionDecorator } from \"./PollsExtensionDecorator\";\nexport class PollsExtension implements ExtensionsDataSource {\n constructor() {\n\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new PollsExtensionDecorator(dataSource)\n );\n }\n}\n\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatTheme, CometChatMessageOption, CometChatUIKitConstants, localize, fontHelper } from \"@cometchat/uikit-resources\";\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class ReactionExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource:DataSource){\n super(dataSource)\n }\n public override getCommonOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): CometChatMessageOption[] {\n let options:CometChatMessageOption[] = super.getCommonOptions(loggedInUser,messageObject,theme,group)\n if(!this.checkIfOptionExist(options, CometChatUIKitConstants.MessageOption.reactToMessage)){\n let newOption:CometChatMessageOption = new CometChatMessageOption({\n id:CometChatUIKitConstants.MessageOption.reactToMessage,\n\n iconURL: \"assets/Reactionsicon.svg\",\n onClick: null,\n iconTint: theme.palette.getAccent600(),\n backgroundColor: \"transparent\",\n titleFont: fontHelper(theme.typography.subtitle1),\n titleColor: theme.palette.getAccent600()\n })\n options.push(newOption)\n\n }\n\n\n return options\n }\n checkIfOptionExist(template:CometChatMessageOption[], id:string):boolean{\n return template.some(obj => obj.id === id)\n }\n override getId(): string {\n return \"reactions\";\n }\n\n}\n","import { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { ReactionExtensionDecorator } from \"./ReactionExtensionDecorator\";\nexport class ReactionExtension implements ExtensionsDataSource {\n constructor() {\n\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new ReactionExtensionDecorator(dataSource)\n );\n }\n}\n\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatMessageEvents, CometChatUIEvents, CometChatUIKitConstants, MessageStatus } from \"@cometchat/uikit-resources\";\nimport { IActiveChatChanged } from \"@cometchat/uikit-resources\";\nimport { CometChatSoundManager, SmartRepliesConfiguration, SmartRepliesStyle,CometChatUIKitUtility } from \"@cometchat/uikit-shared\";\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class SmartReplyExtensionDecorator extends DataSourceDecorator {\n public configuration?:SmartRepliesConfiguration;\n private LISTENER_ID: string = \"smartreply__listener\";\n private activeUser!: CometChat.User;\n private activeGroup!: CometChat.Group;\n public currentMessage:CometChat.BaseMessage | null = null;\n public loggedInUser!:CometChat.User | null;\n constructor(dataSource:DataSource,configuration:SmartRepliesConfiguration = new SmartRepliesConfiguration({})){\n super(dataSource)\n this.configuration = configuration;\n this.addMessageListener();\n if(!this.configuration?.ccSmartRepliesClicked){\n this.configuration!.ccSmartRepliesClicked = this.sendReply\n }\n}\nsendReply = (reply:string, message:CometChat.BaseMessage,onError:((error:any)=>void) | null | undefined,customSoundForMessages:string = \"\", disableSoundForMessages:boolean = false)=>{\n let ReceiverType:string = this.activeUser ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n if (reply && reply.trim().length > 0 && message) {\n let newMessage: CometChat.TextMessage;\n if (message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.user) {\n newMessage = new CometChat.TextMessage(\n message.getSender().getUid(),\n reply.trim(),\n ReceiverType\n );\n newMessage.setReceiver(this.activeUser);\n } else {\n const group: CometChat.Group = message.getReceiver() as CometChat.Group;\n newMessage = new CometChat.TextMessage(\n group.getGuid(),\n reply.trim(),\n ReceiverType\n );\n newMessage.setReceiver(this.activeGroup);\n }\n if (message.getParentMessageId() > 0) {\n newMessage.setParentMessageId(message.getParentMessageId());\n }\n newMessage.setCategory(CometChatUIKitConstants.MessageCategory.message as CometChat.MessageCategory);\n newMessage.setSender(this.loggedInUser!);\n newMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());\n newMessage.setMuid(CometChatUIKitUtility.ID());\n CometChatMessageEvents.ccMessageSent.next({\n message:newMessage,\n status:MessageStatus.inprogress\n })\n if (!disableSoundForMessages) {\n CometChatSoundManager.play(customSoundForMessages ?? CometChatSoundManager.Sound.outgoingMessage)\n }\nCometChat.sendMessage(newMessage).then((message:CometChat.BaseMessage)=>{\n CometChatMessageEvents.ccMessageSent.next({\n message:message,\n status:MessageStatus.success\n })\n})\n.catch((error:any)=>{\n newMessage.setMetadata({\n error:true\n })\n CometChatMessageEvents.ccMessageSent.next({\n message:newMessage,\n status:MessageStatus.error\n })\n})\n}\n}\nprivate addMessageListener(): void {\nCometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n this.loggedInUser = user\n}).catch((error:CometChat.CometChatException)=>{\n console.log(error)\n})\n CometChat.addMessageListener(this.LISTENER_ID, {\n onTextMessageReceived: (textMessage: CometChat.TextMessage) => {\n if (textMessage != null) {\n if (\n textMessage.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.user &&\n this.activeUser != null\n ) {\n if (\n textMessage.getSender() != null &&\n textMessage.getSender().getUid() != null &&\n this.activeUser.getUid() == textMessage.getSender().getUid()\n ) {\n CometChatUIEvents.ccShowPanel.next({\n configuration:this.configuration!,\n message:textMessage\n });\n }\n } else if (\n textMessage.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.group &&\n this.activeGroup != null\n ) {\n if (\n this.activeGroup.getGuid() != null &&\n this.activeGroup.getGuid() == textMessage.getReceiverId()\n ) {\n CometChatUIEvents.ccShowPanel.next({\n configuration:this.configuration!,\n message:textMessage\n });\n }\n }\n }\n },\n });\n CometChatUIEvents.ccActiveChatChanged.subscribe((data:IActiveChatChanged)=>{\n this.currentMessage = data.message!;\n this.activeUser = data.user!;\n this.activeGroup = data.group!;\n if (\n data.message != null && data.message.getType() == CometChatUIKitConstants.MessageTypes.text &&\n data.message.getSender() != null &&\n this.loggedInUser != null &&\n data.message.getSender().getUid() != null &&\n data.message.getSender().getUid() != this.loggedInUser.getUid()\n ) {\n CometChatUIEvents.ccShowPanel.next({\n configuration:this.configuration!,\n message:data.message!\n });\n }\n })\n CometChatMessageEvents.ccMessageSent.subscribe(()=>{\n CometChatUIEvents.ccHidePanel.next()\n this.currentMessage = null\n })\n}\n override getId(): string {\n return \"smartreply\";\n }\n}\n","import { SmartRepliesConfiguration } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { SmartReplyExtensionDecorator } from \"./SmartRepliesExtensionDecorator\";\n\nexport class SmartReplyExtension implements ExtensionsDataSource {\n private configuration?: SmartRepliesConfiguration;\n constructor({ configuration }: { configuration?: SmartRepliesConfiguration } = {}) {\n this.configuration = configuration;\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new SmartReplyExtensionDecorator(dataSource,this.configuration)\n );\n }\n}","import { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nimport { CometChatMessageEvents, CometChatTheme, CometChatUIKitConstants, MessageStatus } from \"@cometchat/uikit-resources\";\nimport { CometChatMessageTemplate } from \"@cometchat/uikit-resources\";\nimport {CometChat} from '@cometchat-pro/chat'\nimport {localize} from '@cometchat/uikit-resources'\nimport {StickersConfiguration} from '@cometchat/uikit-shared'\nimport {StickersConstants} from '@cometchat/uikit-shared'\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { CometChatSoundManager,CometChatUIKitUtility } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ComposerId } from \"../../Shared/Utils/MessageUtils\";\nexport class StickersExtensionDecorator extends DataSourceDecorator {\n public configuration?:StickersConfiguration;\n public newDataScorce!:DataSource;\n constructor(dataSource:DataSource,configuration:StickersConfiguration = new StickersConfiguration({})){\n super(dataSource)\n this.newDataScorce = dataSource;\n this.configuration = configuration;\n if(!this.configuration?.ccStickerClicked){\n\n this.configuration!.ccStickerClicked = this.sendStickerMessage\n\n }\n }\n getDataScorce(){\n return this.newDataScorce;\n }\n sendStickerMessage = (sticker:{name:string,url:string},loggedInUser:CometChat.User,user:CometChat.User,group:CometChat.Group,parentMessageid:number,onError:((error:any)=>void) | null | undefined,customSoundForMessages:string = \"\", disableSoundForMessages:boolean = false)=>{\n let receiverId:string = user?.getUid() || group?.getGuid()\n let receiverType:string = user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n try {\n const customData = {\n sticker_url: sticker.url,\n sticker_name: sticker.name,\n };\n const customType = StickersConstants.sticker;\n const customMessage: CometChat.CustomMessage = new CometChat.CustomMessage(\n receiverId,\n receiverType,\n customType,\n customData\n );\n if (parentMessageid) {\n customMessage.setParentMessageId(parentMessageid);\n }\n customMessage.setMetadata({ incrementUnreadCount: true });\n (customMessage as any).setSentAt(CometChatUIKitUtility.getUnixTimestamp());\n customMessage.setMuid(CometChatUIKitUtility.ID());\n CometChatMessageEvents.ccMessageSent.next(\n {\n message: customMessage,\n status: MessageStatus.inprogress\n }\n )\n if (!disableSoundForMessages) {\n CometChatSoundManager.play(customSoundForMessages ?? CometChatSoundManager.Sound.outgoingMessage)\n }\n CometChat.sendCustomMessage(customMessage)\n .then((message) => {\n\n CometChatMessageEvents.ccMessageSent.next({\n message: message,\n status: MessageStatus.success\n })\n })\n .catch((error:any) => {\n customMessage.setMetadata({\n error:true\n })\n CometChatMessageEvents.ccMessageSent.next({\n message: customMessage,\n status: MessageStatus.error,\n });\n\n });\n } catch (error:any) {\n if(onError){\n onError(error)\n }\n }\n }\noverride getAllMessageTemplates(): CometChatMessageTemplate[] {\n let template:CometChatMessageTemplate[] = super.getAllMessageTemplates()\n if(!this.checkIfTemplateExist(template,StickersConstants.sticker)){\n template.push(this.getStickerTemplate())\n return template\n }\n return template\n\n}\noverride getAuxiliaryOptions(id: ComposerId, user?: CometChat.User, group?: CometChat.Group) {\n return {configuration:this.configuration,id:StickersConstants.sticker}\n}\ngetStickerTemplate():CometChatMessageTemplate{\n\nreturn new CometChatMessageTemplate({\ntype:StickersConstants.sticker,\ncategory:CometChatUIKitConstants.MessageCategory.custom,\noptions: (loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group)=>{\n return ChatConfigurator.getDataSource().getCommonOptions(loggedInUser, messageObject, theme, group)\n}\n})\n}\ncheckIfTemplateExist(template:CometChatMessageTemplate[], type:string):boolean{\n return template.some(obj => obj.type === type)\n}\n\n override getAllMessageCategories(): string[] {\n let categories:string[] = super.getAllMessageCategories()\n if(!categories.some(category => category === CometChatUIKitConstants.MessageCategory.custom)){\n categories.push(CometChatUIKitConstants.MessageCategory.custom)\n }\n return categories\n }\n\n\n override getAllMessageTypes(): string[] {\n let types:string[] = super.getAllMessageTypes()\n if(!types.some(category => category === CometChatUIKitConstants.MessageCategory.custom)){\n types.push(StickersConstants.sticker)\n\n }\n return types\n\n }\n\n override getId(): string {\n return \"stickers\";\n }\n override getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string {\n const message: CometChat.BaseMessage | undefined = conversation.getLastMessage();\n if (message != null && message.getType() == StickersConstants.sticker && message.getCategory() == CometChatUIKitConstants.MessageCategory.custom) {\n return localize(\"CUSTOM_MESSAGE_STICKER\");\n } else {\n return super.getLastConversationMessage(conversation,loggedInUser);\n }\n }\n\n}\n","import { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport {ExtensionsDataSource} from '../../Shared/Framework/ExtensionDataSource'\nimport {StickersExtensionDecorator} from './StickersExtensionDecorator'\nimport {StickersConfiguration} from '@cometchat/uikit-shared'\nexport class StickersExtension implements ExtensionsDataSource {\n // Configuration prop taken as optional field in constructor\n private configuration?: StickersConfiguration;\n\n constructor({ configuration }: { configuration?: StickersConfiguration } = {}) {\n // Optional property\n this.configuration = configuration;\n }\n\n // Override enable method from ExtensionsDataSource interface\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n {\n\n return new StickersExtensionDecorator(dataSource,this.configuration)\n }\n );\n }\n\n}\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatUIKitConstants } from \"@cometchat/uikit-resources\";\nimport {CometChatUIKitUtility} from '@cometchat/uikit-shared'\nimport { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class TextModeratorExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource:DataSource){\n super(dataSource)\n }\n\n override getId(): string {\n return \"textmoderator\";\n }\n getModeratedtext(message:CometChat.TextMessage):string{\n let text:string = CometChatUIKitUtility.getExtensionData(message)\n if(text?.trim()?.length > 0){\n return text\n }\n else{\n return message.getText()\n }\n }\n override getLastConversationMessage(\n conversation: CometChat.Conversation,\n loggedInUser:CometChat.User\n ): string {\n const message:CometChat.TextMessage = conversation.getLastMessage();\n if (\n message && !message.getDeletedAt() &&\n message.getType() === CometChatUIKitConstants.MessageTypes.text &&\n message.getCategory() === CometChatUIKitConstants.MessageCategory.message\n ) {\n return this.getModeratedtext(message);\n } else {\n return super.getLastConversationMessage(conversation,loggedInUser);\n }\n }\n}\n","import { BaseStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { TextModeratorExtensionDecorator } from \"./TextModeratorExtensionDecorator\";\nimport {MessageTranslationConfiguration} from '@cometchat/uikit-shared'\nexport class TextModeratorExtension implements ExtensionsDataSource {\n constructor() {\n\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new TextModeratorExtensionDecorator(dataSource)\n );\n }\n}\n\n","import { DataSource } from \"../../Shared/Framework/DataSource\";\nimport { DataSourceDecorator } from \"../../Shared/Framework/DataSourceDecorator\";\nexport class ThumbnailGenerationExtensionDecorator extends DataSourceDecorator {\n constructor(dataSource:DataSource){\n super(dataSource)\n }\n\n override getId(): string {\n return \"thumbnailgeneration\";\n }\n\n}\n","import { BaseStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { ExtensionsDataSource } from \"../../Shared/Framework/ExtensionDataSource\";\nimport { ThumbnailGenerationExtensionDecorator } from \"./ThumbnailGenerationExtensionDecorator\";\nexport class ThumbnailGenerationExtension implements ExtensionsDataSource {\n constructor() {\n\n }\n enable(): void {\n ChatConfigurator.enable((dataSource) =>\n new ThumbnailGenerationExtensionDecorator(dataSource)\n );\n }\n}\n\n","import { CometChat } from \"@cometchat-pro/chat\";\nimport { ChatConfigurator } from \"../Framework/ChatConfigurator\";\nimport { CometChatMessageEvents, MessageStatus } from \"@cometchat/uikit-resources\";\nimport {UIKitSettings} from '@cometchat/uikit-shared'\nimport { ExtensionsDataSource } from \"../Framework/ExtensionDataSource\";\nimport { CallingExtension } from \"../../Calls/CallingExtension\";\nimport { CollaborativeDocumentExtension } from \"../../Extensions/CollaborativeDocument/CollaborativeDocumentExtension\";\nimport { CollaborativeWhiteBoardExtension } from \"../../Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension\";\nimport { ImageModerationExtension } from \"../../Extensions/ImageModeration/ImageModerationExtension\";\nimport { LinkPreviewExtension } from \"../../Extensions/LinkPreviewExtension/LinkPreviewExtension\";\nimport { MessageTranslationExtension } from \"../../Extensions/MessageTranslation/MessageTranslationExtension\";\nimport { PollsExtension } from \"../../Extensions/PollsExtension/PollsExtension\";\nimport { ReactionExtension } from \"../../Extensions/Reactions/ReactionExtension\";\nimport { SmartReplyExtension } from \"../../Extensions/SmartReplies/SmartRepliesExtension\";\nimport { StickersExtension } from \"../../Extensions/Stickers/StickersExtension\";\nimport { TextModeratorExtension } from \"../../Extensions/TextModerator/TextModeratorExtension\";\nimport { ThumbnailGenerationExtension } from \"../../Extensions/ThumbnailGeneration/ThumbnailGenerationExtension\";\n\nexport class CometChatUIKit {\n static uiKitSettings: UIKitSettings | null;\n\n static init(uiKitSettings: UIKitSettings | null):Promise<Object> | undefined {\n // perform sdk init taking values from uiKitSettings\n CometChatUIKit.uiKitSettings = uiKitSettings\n if (!CometChatUIKit.checkAuthSettings()) return undefined;\n const appSettingsBuilder = new CometChat.AppSettingsBuilder();\n if (uiKitSettings!.getRoles()) {\n appSettingsBuilder.subscribePresenceForRoles(uiKitSettings!.getRoles());\n } else if (uiKitSettings!.getSubscriptionType() === \"ALL_USERS\") {\n appSettingsBuilder.subscribePresenceForAllUsers();\n } else if (uiKitSettings!.getSubscriptionType() === \"FRIENDS\") {\n appSettingsBuilder.subscribePresenceForFriends();\n }\n appSettingsBuilder.autoEstablishSocketConnection(uiKitSettings!.isAutoEstablishSocketConnection());\n appSettingsBuilder.setRegion(uiKitSettings!.getRegion());\n const appSettings = appSettingsBuilder.build();\n return new Promise((resolve, reject) => {\n CometChat.init(uiKitSettings?.appId,appSettings).then(()=>{\n CometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n if(user){\n ChatConfigurator.init();\n this.initiateAfterLogin()\n\n }\n return resolve(user!)\n }).catch((error:CometChat.CometChatException)=>{\n console.log(error)\n return reject(error)\n })\n })\n .catch((error:CometChat.CometChatException)=>{\n return reject(error)\n })\n });\n }\n static defaultExtensions:ExtensionsDataSource[] = [\n new StickersExtension(),\n new SmartReplyExtension(),\n new CollaborativeWhiteBoardExtension(),\nnew CollaborativeDocumentExtension(),\n new MessageTranslationExtension(),\n new TextModeratorExtension(),\n new ThumbnailGenerationExtension(),\n new LinkPreviewExtension(),\n new PollsExtension(),\n new ReactionExtension(),\n new ImageModerationExtension(),\n\n ]\n static enableCalling():void{\n if(window){\n if((window as any).isCallingEnabled){\n new CallingExtension().enable()\n }\n }\n\n }\n private static initiateAfterLogin() {\n if (CometChatUIKit.uiKitSettings != null) {\n let extensionList:ExtensionsDataSource[] = CometChatUIKit.uiKitSettings.getExtensions()?.length > 0 ? CometChatUIKit.uiKitSettings.getExtensions() : this.defaultExtensions;\n this.enableCalling()\n if (extensionList?.length > 0) {\n (extensionList as ExtensionsDataSource[]).forEach((extension:ExtensionsDataSource)=>{\n extension?.enable()\n })\n }\n }\n }\n static async login(uid: string):Promise<Object | undefined> {\n if (!CometChatUIKit.checkAuthSettings()) return undefined;\n return new Promise((resolve, reject) => {\n CometChat.login(uid, CometChatUIKit.uiKitSettings!.authKey!).then((user:CometChat.User)=>{\n resolve(user)\n ChatConfigurator.init();\n this.initiateAfterLogin()\n\n\n }).catch((error:CometChat.CometChatException)=>{\n reject(error)\n })\n });\n // calling SDK method\n\n\n // if calling is enabled\n\n\n // if appsetting does not contain extensions then enable all\n // StickerExtension.enable()...enable all extensions by default\n // else if appsetting contains some extensions\n // loop through extension list and call enable for each extension\n }\n\n static async createUser(user: CometChat.User):Promise<Object | undefined> {\n if (!CometChatUIKit.checkAuthSettings()) return undefined;\n return new Promise((resolve, reject) => {\n CometChat.createUser(user, CometChatUIKit.uiKitSettings!.authKey!).then((user:CometChat.User)=>{\n resolve(user)\n }).catch((error:CometChat.CometChatException)=>{\n reject(error)\n })\n });\n\n }\n\n static async updateUser(user: CometChat.User):Promise<Object | undefined> {\n if (!CometChatUIKit.checkAuthSettings()) return undefined;\n return new Promise((resolve, reject) => {\n CometChat.updateUser(user, CometChatUIKit.uiKitSettings!.authKey!).then((user:CometChat.User)=>{\n resolve(user)\n }).catch((error:CometChat.CometChatException)=>{\n reject(error)\n })\n });\n\n }\n\n static async logout():Promise<Object | undefined> {\n if (!CometChatUIKit.checkAuthSettings()) return undefined;\n return new Promise((resolve, reject) => {\n CometChat.logout().then((message: object)=>{\n resolve(message)\n }).catch((error:CometChat.CometChatException)=>{\n reject(error)\n })\n });\n\n }\n\n // Error handling to give better logs\n static checkAuthSettings(): boolean {\n if (CometChatUIKit.uiKitSettings == null) {\n return false;\n }\n\n if (CometChatUIKit.uiKitSettings!.appId == null) {\n return false;\n }\n\n return true;\n }\n\n // Helper methods to send messages\n // [sendCustomMessage] used to send a custom message\n static sendCustomMessage(message: CometChat.CustomMessage) {\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.inprogress});\n\n CometChat.sendCustomMessage(message).then((message:CometChat.BaseMessage)=>{\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.success});\n }).catch((error:CometChat.CometChatException)=>{\n message.setMetadata({error:true})\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.error});\n })\n }\n // Helper methods to send messages\n // [sendTextMessage] used to send a custom message\n static sendTextMessage(message: CometChat.TextMessage) {\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.inprogress});\n\n CometChat.sendMessage(message).then((message:CometChat.BaseMessage)=>{\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.success});\n }).catch((error:CometChat.CometChatException)=>{\n message.setMetadata({error:true})\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.error});\n })\n }\n // Helper methods to send messages\n // [sendMediaMessage] used to send a custom message\n static sendMediaMessage(message: CometChat.MediaMessage) {\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.inprogress});\n\n CometChat.sendMediaMessage(message).then((message:CometChat.BaseMessage)=>{\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.success});\n }).catch((error:CometChat.CometChatException)=>{\n message.setMetadata({error:true})\n CometChatMessageEvents.ccMessageSent.next({message:message, status:MessageStatus.error});\n })\n }\n\n}\n","import { CometChatMessageOption, CometChatMessageTemplate, CometChatTheme } from \"@cometchat/uikit-resources\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { ComposerId } from \"../Utils/MessageUtils\";\n\nexport abstract class DataSource {\n abstract getTextMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getImageMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getVideoMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getAudioMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getFileMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getTextMessageTemplate(): CometChatMessageTemplate;\n abstract getImageMessageTemplate(): CometChatMessageTemplate;\n abstract getVideoMessageTemplate(): CometChatMessageTemplate;\n abstract getAudioMessageTemplate(): CometChatMessageTemplate;\n abstract getFileMessageTemplate(): CometChatMessageTemplate;\n abstract getGroupActionTemplate(): CometChatMessageTemplate;\n abstract getAllMessageTemplates(theme?: CometChatTheme): Array<CometChatMessageTemplate>;\n abstract getMessageTemplate(messageType: string, messageCategory: string): CometChatMessageTemplate | null;\n abstract getMessageOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getCommonOptions(loggedInUser: CometChat.User, messageObject: CometChat.BaseMessage, theme: CometChatTheme, group?: CometChat.Group): Array<CometChatMessageOption>;\n abstract getAttachmentOptions(theme?: CometChatTheme,user?:CometChat.User,group?:CometChat.Group, id?: ComposerId): any;\n abstract getAllMessageTypes(): Array<string>;\n abstract getAllMessageCategories(): Array<string>;\n abstract getAuxiliaryOptions(id: ComposerId, user?: CometChat.User, group?: CometChat.Group): any;\n abstract getId(): string;\n abstract getLastConversationMessage(conversation: CometChat.Conversation, loggedInUser: CometChat.User): string;\n abstract getDeleteOption(theme:CometChatTheme):CometChatMessageOption\n abstract getReplyInThreadOption(theme:CometChatTheme):CometChatMessageOption\n abstract getEditOption(theme:CometChatTheme):CometChatMessageOption\n}","///Protocol class every Extension enabler should extend,\nexport abstract class ExtensionsDataSource {\n ///Method to populate data source\n abstract enable():void;\n }","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { CometChatTheme } from '@cometchat/uikit-resources';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class CometChatThemeService {\n public theme:CometChatTheme = new CometChatTheme({});\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport \"@cometchat/uikit-elements\";\nimport '@cometchat/uikit-shared'\nimport { localize } from '@cometchat/uikit-resources';\nimport { CallscreenStyle } from '@cometchat/uikit-shared';\n/**\n*\n* CometChatOngoingCallComponent is a component whic shows outgoing call screen for default audio and video call.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-ongoing-call\",\n templateUrl: \"./cometchat-ongoing-call.component.html\",\n styleUrls: [\"./cometchat-ongoing-call.component.scss\"],\n})\nexport class CometChatOngoingCallComponent implements OnInit {\n @Input() ongoingCallStyle: CallscreenStyle = {\n maxHeight: \"100%\",\n maxWidth: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"grey\",\n\tminHeight:\"400px\",\n\tminWidth:\"400px\",\n\tminimizeIconTint:\"white\",\n\tmaximizeIconTint:\"white\",\n }\n @Input() resizeIconHoverText:string = localize(\"RESIZE\")\n @Input() sessionID:string = \"\"\n @Input() minimizeIconURL:string = \"assets/reduce-size.svg\"\n @Input() maximizeIconURL:string = \"assets/increase-size.svg\"\n @Input() callSettingsBuilder!:CometChat.CallSettingsBuilder;\n ngOnInit(): void {\n }\n\n\n}\n","<cometchat-callscreen [callscreenStyle]=\"ongoingCallStyle\" [callSettingsBuilder]=\"callSettingsBuilder\" [resizeIconHoverText]=\"resizeIconHoverText\" [sessionID]=\"sessionID\" [minimizeIconURL]=\"minimizeIconURL\" [maximizeIconURL]=\"maximizeIconURL\"></cometchat-callscreen>","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport { CometChatSoundManager, OutgoingCallStyle } from \"@cometchat/uikit-shared\";\nimport { AvatarStyle, CardStyle, IconStyle } from '@cometchat/uikit-elements'\nimport { CometChatThemeService } from '../../../CometChatTheme.service';\nimport { localize, CometChatUIKitConstants, fontHelper, IconButtonAlignment } from '@cometchat/uikit-resources';\n/**\n*\n* CometChatOutgoingCallComponent is a component whic shows outgoing call screen for default audio and video call.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-outgoing-call\",\n templateUrl: \"./cometchat-outgoing-call.component.html\",\n styleUrls: [\"./cometchat-outgoing-call.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatOutgoingCallComponent implements OnInit, OnChanges {\n @Input() call!: CometChat.Call;\n @Input() declineButtonText: string = localize(\"CANCEL\");\n @Input() declineButtonIconURL: string = \"assets/close2x.svg\";\n @Input() customView!: TemplateRef<any>;\n @Input() onError: (error: CometChat.CometChatException) => void = (error: CometChat.CometChatException) => {\n console.log(error)\n }\n @Input() disableSoundForCalls:boolean = false;\n @Input() customSoundForCalls!:string;\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"50%\",\n width: \"180px\",\n height: \"180px\",\n };\n @Input() outgoingCallStyle: OutgoingCallStyle = {\n width: \"100%\",\n height: \"100%\",\n titleTextFont: \"700 22px Inter\",\n titleTextColor: \"RGB(20, 20, 20)\",\n subtitleTextFont: \"400 15px Inter\",\n subtitleTextColor: \"RGBA(20, 20, 20, 0.58)\",\n declineButtonTextFont:\"400 12px Inter\",\n declineButtonTextColor:\"RGBA(20, 20, 20, 0.58)\",\n declineButtonIconTint:\"white\",\n declineButtonIconBackground:\"red\"\n };\n @Input() onCloseClicked!:(()=>void) | null;\n buttonStyle:any = {\n height: \"fit-content\",\n width: \"fit-content\",\n buttonTextFont: \"400 12px Inter\",\n buttonTextColor: \"RGBA(20, 20, 20, 0.58)\",\n borderRadius: \"8px\",\n border: \"none\",\n buttonIconTint: \"white\",\n background: \"\",\n iconBackground:\"red\"\n };\n\n subtitleText:string = localize(\"CALLING\")\n cardStyle:CardStyle = {\n height: \"100%\",\n width: \"100%\",\n border: \"inherite\",\n borderRadius: \"inherite\",\n background: \"transparent\",\n titleFont:\"700 22px Inter\",\n titleColor:\"black\",\n }\n iconAlignment:IconButtonAlignment = IconButtonAlignment.top\n iconStyle: IconStyle = {\n height: \"16px\",\n width: \"16px\",\n iconTint: \"RGBA(20, 20, 20, 0.68)\"\n }\n constructor(private ref: ChangeDetectorRef, private themeService: CometChatThemeService) { }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"call\"] && changes[\"call\"].currentValue){\n if(!this.disableSoundForCalls){\n\n setTimeout(() => {\n this.playAudio()\n });\n }\n this.setThemeStyle()\n }\n }\n ngOnInit(): void {\n\n }\n playAudio() {\n if (this.customSoundForCalls) {\n CometChatSoundManager.play(CometChatSoundManager.Sound.outgoingCall, this.customSoundForCalls)\n }\n else {\n CometChatSoundManager.play(CometChatSoundManager.Sound.outgoingCall)\n }\n }\n ngOnDestroy(){\n CometChatSoundManager.pause()\n }\n onClose =()=>{\n CometChatSoundManager.pause()\n if(this.onCloseClicked){\n this.onCloseClicked()\n\n }\n }\n getAvatarURL(){\n return this.call?.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user ? (this.call?.getReceiver() as CometChat.User)?.getAvatar() : (this.call?.getReceiver() as CometChat.Group)?.getIcon()\n }\n setThemeStyle() {\n this.setAvatarStyle()\n this.setOutgoingCallStyle()\n this.cardStyle.titleColor = this.outgoingCallStyle.titleTextColor\n this.cardStyle.titleFont = this.outgoingCallStyle.titleTextFont\n }\n setOutgoingCallStyle(){\n let defaultStyle: OutgoingCallStyle = new OutgoingCallStyle({\n width: \"100%\",\n height: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n border: \"none\",\n borderRadius: \"0\",\n titleTextFont: fontHelper(this.themeService.theme.typography.title1),\n titleTextColor: this.themeService.theme.palette.getAccent(),\n subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n subtitleTextColor: this.themeService.theme.palette.getAccent600(),\n declineButtonTextFont:fontHelper(this.themeService.theme.typography.caption1),\n declineButtonTextColor:this.themeService.theme.palette.getAccent600(),\n declineButtonIconTint:this.themeService.theme.palette.getAccent(\"dark\"),\n declineButtonIconBackground:this.themeService.theme.palette.getError()\n })\n this.outgoingCallStyle = { ...defaultStyle, ...this.outgoingCallStyle }\n this.buttonStyle = {\n height: \"fit-content\",\n width: \"fit-content\",\n buttonTextFont: this.outgoingCallStyle.declineButtonTextFont,\n buttonTextColor: this.outgoingCallStyle.declineButtonTextColor,\n borderRadius: \"8px\",\n border: \"none\",\n buttonIconTint: this.outgoingCallStyle.declineButtonIconTint,\n background: \"\",\n iconBackground:this.outgoingCallStyle.declineButtonIconBackground\n }\n }\n setAvatarStyle() {\n let defaultStyle: AvatarStyle = new AvatarStyle({\n borderRadius: \"50%\",\n width: \"180px\",\n height: \"180px\",\n border: `1px solid ${this.themeService.theme.palette.getAccent100()}`,\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = { ...defaultStyle, ...this.avatarStyle }\n }\n subtitleStyle(){\n return {\n textFont:this.outgoingCallStyle.subtitleTextFont,\n textColor:this.outgoingCallStyle.subtitleTextColor\n }\n }\n wrapperStyle = () => {\n return {\n height: this.outgoingCallStyle.height,\n width: this.outgoingCallStyle.width,\n background: this.outgoingCallStyle.background,\n border: this.outgoingCallStyle.border,\n borderRadius: this.outgoingCallStyle.borderRadius\n }\n }\n\n}\n","<div class=\"cc-outgoing-call__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-outgoing-call__custom-view\" *ngIf=\"customView; else elseBlock;\">\n <ng-container *ngTemplateOutlet=\"customView\">\n\n </ng-container>\n </div>\n<ng-template #elseBlock>\n <cometchat-card [title]=\"call?.getReceiver()?.getName()\" [cardStyle]=\"cardStyle\" [avatarName]=\"call?.getReceiver()?.getName()\" [avatarURL]=\"getAvatarURL()\" [avatarStyle]=\"avatarStyle\" >\n <cometchat-label slot=\"subtitleView\" [labelStyle]=\"subtitleStyle()\" [text]=\"subtitleText\"> </cometchat-label>\n <div slot=\"bottomView\">\n <cometchat-icon-button (cc-button-clicked)=\"onClose()\" [text]=\"declineButtonText\" [iconURL]=\"declineButtonIconURL\" [alignment]=\"iconAlignment\" [buttonStyle]=\"buttonStyle\">\n\n </cometchat-icon-button>\n </div>\n </cometchat-card>\n</ng-template>\n</div>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport { CometChatThemeService } from '../../../CometChatTheme.service';\nimport { localize, CometChatUIKitConstants, fontHelper, CometChatCallEvents, CometChatMessageEvents, MessageStatus, CometChatLocalize } from '@cometchat/uikit-resources';\nimport { Subscription } from 'rxjs';\nimport { CallButtonsStyle, CallscreenStyle, CometChatSoundManager, OutgoingCallStyle ,CometChatUIKitUtility} from '@cometchat/uikit-shared';\n/**\n*\n* CometChatCallButtonsComponent is a component which shows buttons for audio and video call for 1v1 and group call.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-call-buttons\",\n templateUrl: \"./cometchat-call-buttons.component.html\",\n styleUrls: [\"./cometchat-call-buttons.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatCallButtonsComponent implements OnInit {\n @Input() user!: CometChat.User;\n @Input() group!: CometChat.Group;\n @Input() voiceCallIconURL: string = \"assets/Audio-Call2x.svg\"\n @Input() voiceCallIconText: string = localize(\"VOICE_CALL\")\n @Input() voiceCallIconHoverText: string = localize(\"VOICE_CALL\")\n @Input() videoCallIconURL: string = \"assets/Video-call2x.svg\"\n @Input() videoCallIconText: string = localize(\"VIDEO_CALL\")\n @Input() videoCallIconHoverText: string = localize(\"VIDEO_CALL\")\n @Input() onVoiceCallClick!: ((user: CometChat.User, group: CometChat.Group) => void) | null;\n @Input() onVideoCallClick!: ((user: CometChat.User, group: CometChat.Group) => void) | null;\n @Input() onError: (error: CometChat.CometChatException) => void = (error: CometChat.CometChatException) => {\n console.log(error)\n }\n @Input() callButtonsStyle: CallButtonsStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"transparent\"\n };\n call!: CometChat.Call | null;\n public ccOutgoingCall!: Subscription;\n public ccCallRejected!: Subscription;\n public ccCallEnded!: Subscription;\n public disableButtons: boolean = false;\n showOngoingCall: boolean = false;\n sessionId: string = \"\";\n public callbuttonsListenerId: string = \"callbuttons_\" + new Date().getTime();\n public loggedInUser: CometChat.User | null = null;\n buttonStyle: any = {\n height: \"100%\",\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }\n voiceCallButtonStyle: any = {\n buttonIconTint: \"RGB(51, 153, 255)\",\n buttonTextFont: \"400 12px Inter\",\n buttonTextColor: \"RGB(51, 153, 255)\",\n padding: \"8px 32px\"\n }\n videoCallButtonStyle: any = {\n buttonIconTint: \"RGB(51, 153, 255)\",\n buttonTextFont: \"400 12px Inter\",\n buttonTextColor: \"RGB(51, 153, 255)\",\n padding: \"8px 32px\"\n }\n showOutgoingCallscreen: boolean = false;\n outgoingCallStyle: OutgoingCallStyle = {\n width: \"360px\",\n height: \"581px\",\n titleTextFont: \"700 22px Inter\",\n titleTextColor: \"RGB(20, 20, 20)\",\n subtitleTextFont: \"400 15px Inter\",\n subtitleTextColor: \"RGBA(20, 20, 20, 0.58)\",\n borderRadius: \"8px\"\n };\n ongoingCallStyle: CallscreenStyle = {}\n activeCall: CometChat.Call | null = null\n constructor(private ref: ChangeDetectorRef, private themeService: CometChatThemeService) { }\n ngOnInit(): void {\n CometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n this.loggedInUser = user\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n this.setThemeStyle()\n this.attachListeners()\n this.subscribeToEvents()\n }\n ngOnDestroy() {\n this.removeListener();\n this.unsubscribeToEvents()\n }\n getCallBuilder(): CometChat.CallSettingsBuilder | undefined {\n let audioOnlyCall: boolean = this.activeCall?.getType() == CometChatUIKitConstants.MessageTypes.audio ? true : false\n if (this.activeCall?.getType() == CometChatUIKitConstants.calls.meeting) {\n return undefined;\n }\n return new CometChat.CallSettingsBuilder()\n .setSessionID(this.sessionId)\n .enableDefaultLayout(true)\n .setIsAudioOnlyCall(audioOnlyCall)\n .setMode(CometChat.CALL_MODE.DEFAULT)\n .setLocalizedStringObject(CometChatLocalize.getLocale())\n }\n openOngoingCallScreen(call: CometChat.Call) {\n this.showOutgoingCallscreen = false;\n this.activeCall = call\n this.sessionId = call.getSessionId()\n this.showOngoingCall = true\n this.ref.detectChanges()\n }\n initiateCall(type: string) {\n\n const receiverType: string = this.user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n const receiverId: string = this.user ? this.user.getUid() : this.group.getGuid()\n const call: CometChat.Call = new CometChat.Call(\n receiverId,\n type,\n receiverType\n );\n CometChat.initiateCall(call)\n .then((outgoingCall) => {\n //when this component is part of chat widget trigger an event.. (outgoingcall component is used separately in chat widget)\n this.call = outgoingCall\n this.showOutgoingCallscreen = true;\n this.ref.detectChanges()\n CometChatCallEvents.ccOutgoingCall.next(\n outgoingCall\n )\n })\n .catch((error) => {\n if (this.onError) {\n this.onError(error)\n }\n });\n }\n\n initiateAudioCall() {\n if (this.user) {\n this.initiateCall(CometChatUIKitConstants.MessageTypes.audio)\n }\n }\n initiateVideoCall() {\n if (this.user) {\n this.initiateCall(CometChatUIKitConstants.MessageTypes.video)\n }\n else {\n this.sessionId = this.group.getGuid()\n this.sendCustomMessage()\n this.showOngoingCall = true;\n this.ref.detectChanges()\n\n }\n }\n sendCustomMessage() {\n const receiverType: string = this.user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n const receiverId: string = this.user ? this.user.getUid() : this.group.getGuid()\n const customData = { \"sessionID\": this.sessionId, \"sessionId\": this.sessionId, \"callType\": CometChat.CALL_TYPE.VIDEO };\n const customType = CometChatUIKitConstants.calls.meeting;\n const conversationId = `group_${this.sessionId}`;\n\n const customMessage: any = new CometChat.CustomMessage(receiverId, receiverType, customType, customData);\n customMessage.setSender(this.loggedInUser);\n customMessage.setMetadata({ incrementUnreadCount: true });\n customMessage.setReceiver((receiverType as any));\n customMessage.setConversationId(conversationId);\n customMessage.sentAt = CometChatUIKitUtility.getUnixTimestamp();\n customMessage.muid = CometChatUIKitUtility.ID();\n // custom message\n CometChatMessageEvents.ccMessageSent.next({\n message:customMessage,\n status:MessageStatus.inprogress\n })\n CometChat.sendCustomMessage(customMessage).then((msg) => {\n CometChatMessageEvents.ccMessageSent.next({\n message:msg,\n status:MessageStatus.success\n })\n })\n .catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n\n }\n cancelOutgoingCall = () => {\n CometChatSoundManager.pause()\n CometChat.rejectCall(\n this.call!.getSessionId(),\n CometChatUIKitConstants.calls.cancelled\n )\n .then((call) => {\n this.disableButtons = false;\n this.showOutgoingCallscreen = false\n CometChatCallEvents.ccCallRejected.next(call)\n this.call = null;\n this.ref.detectChanges()\n })\n .catch((error) => {\n if (this.onError) {\n this.onError(error)\n }\n });\n this.showOutgoingCallscreen = false;\n this.ref.detectChanges()\n }\n getVoiceCallButtonStyle(disableButtons:boolean){\n const buttonIconTint = disableButtons\n ? this.themeService.theme.palette.getAccent600()\n : this.callButtonsStyle.voiceCallIconTint;\n\n return {\n ...this.videoCallButtonStyle,\n buttonIconTint,\n };\n }\n getVideoCallButtonStyle(disableButtons: boolean) {\n const buttonIconTint = disableButtons\n ? this.themeService.theme.palette.getAccent600()\n : this.callButtonsStyle.videoCallIconTint;\n\n return {\n ...this.videoCallButtonStyle,\n buttonIconTint,\n };\n }\n\n attachListeners() {\n CometChat.addCallListener(\n this.callbuttonsListenerId,\n new CometChat.CallListener({\n onIncomingCallReceived: (call: CometChat.Call) => {\n this.disableButtons = true\n this.ref.detectChanges()\n },\n onIncomingCallCancelled: (call: CometChat.Call) => {\n this.disableButtons = false\n this.ref.detectChanges()\n },\n onOutgoingCallRejected: (call: CometChat.Call) => {\n this.disableButtons = false\n this.call = null;\n this.showOutgoingCallscreen = false;\n this.ref.detectChanges()\n },\n onOutgoingCallAccepted: (call: CometChat.Call) => {\n this.openOngoingCallScreen(call);\n },\n })\n );\n }\n removeListener() {\n CometChat.removeCallListener(this.callbuttonsListenerId);\n }\n subscribeToEvents() {\n this.ccCallRejected = CometChatCallEvents.ccCallRejected.subscribe((call: CometChat.Call) => {\n this.disableButtons = false\n this.ref.detectChanges()\n })\n this.ccOutgoingCall = CometChatCallEvents.ccOutgoingCall.subscribe((call: CometChat.Call) => {\n this.disableButtons = true\n this.ref.detectChanges()\n })\n this.ccCallEnded = CometChatCallEvents.ccCallEnded.subscribe((call: CometChat.Call) => {\n this.disableButtons = false\n this.ref.detectChanges()\n this.activeCall = null\n this.showOngoingCall = false\n this.sessionId = \"\"\n this.showOutgoingCallscreen = false;\n this.ref.detectChanges()\n })\n }\n unsubscribeToEvents() {\n this.ccCallRejected?.unsubscribe()\n this.ccOutgoingCall?.unsubscribe()\n this.ccCallEnded?.unsubscribe()\n }\n setThemeStyle() {\n this.setcallButtonsStyle()\n this.setOngoingCallStyle()\n }\n setOngoingCallStyle = () => {\n let defaultStyle = new CallscreenStyle({\n maxHeight: \"100%\",\n maxWidth: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"#1c2226\",\n minHeight: \"400px\",\n minWidth: \"400px\",\n minimizeIconTint: this.themeService.theme.palette.getAccent900(),\n maximizeIconTint: this.themeService.theme.palette.getAccent900(),\n })\n this.ongoingCallStyle = { ...defaultStyle, ...this.ongoingCallStyle }\n }\n setcallButtonsStyle() {\n let defaultStyle: CallButtonsStyle = new CallButtonsStyle({\n width: \"100%\",\n height: \"100%\",\n background: \"transparent\",\n border: \"none\",\n borderRadius: \"0\",\n voiceCallIconTint: this.themeService.theme.palette.getPrimary(),\n videoCallIconTint: this.themeService.theme.palette.getPrimary(),\n voiceCallIconTextFont: fontHelper(this.themeService.theme.typography.caption1),\n videoCallIconTextFont: fontHelper(this.themeService.theme.typography.caption1),\n voiceCallIconTextColor: this.themeService.theme.palette.getPrimary(),\n videoCallIconTextColor: this.themeService.theme.palette.getPrimary(),\n buttonPadding: \"8px 32px\",\n buttonBackground:this.themeService.theme.palette.getAccent100(),\n buttonBorder:\"0\",\n buttonBorderRadius:\"8px\"\n })\n this.callButtonsStyle = { ...defaultStyle, ...this.callButtonsStyle }\n this.voiceCallButtonStyle = {\n buttonIconTint: this.disableButtons ? this.themeService.theme.palette.getAccent600() : this.callButtonsStyle.voiceCallIconTint,\n buttonTextFont: this.callButtonsStyle.voiceCallIconTextFont,\n buttonTextColor: this.callButtonsStyle.voiceCallIconTextColor,\n padding: this.callButtonsStyle.buttonPadding,\n background:this.callButtonsStyle.buttonBackground,\n border:this.callButtonsStyle.border,\n borderRadius:this.callButtonsStyle.buttonBorderRadius,\n ...this.buttonStyle\n }\n this.videoCallButtonStyle = {\n buttonIconTint: this.disableButtons ? this.themeService.theme.palette.getAccent600() : this.callButtonsStyle.videoCallIconTint,\n buttonTextFont: this.callButtonsStyle.videoCallIconTextFont,\n buttonTextColor: this.callButtonsStyle.videoCallIconTextColor,\n padding: this.callButtonsStyle.buttonPadding,\n background:this.callButtonsStyle.buttonBackground,\n border:this.callButtonsStyle.border,\n borderRadius:this.callButtonsStyle.buttonBorderRadius,\n ...this.buttonStyle\n }\n }\n wrapperStyle = () => {\n return {\n height: this.callButtonsStyle.height,\n width: this.callButtonsStyle.width,\n background: this.callButtonsStyle.background,\n border: this.callButtonsStyle.border,\n borderRadius: this.callButtonsStyle.borderRadius\n }\n }\n}\n","<div class=\"cc-call-buttons__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-call-buttons-buttons\">\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user\" (cc-button-clicked)=\"initiateAudioCall()\" [buttonStyle]=\"getVoiceCallButtonStyle(disableButtons)\" [text]=\"voiceCallIconText\" [hoverText]=\"voiceCallIconHoverText\" [iconURL]=\"voiceCallIconURL\"></cometchat-button>\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user || group\" (cc-button-clicked)=\"initiateVideoCall()\" [buttonStyle]=\"getVideoCallButtonStyle(disableButtons)\" [text]=\"videoCallIconText\" [hoverText]=\"videoCallIconHoverText\" [iconURL]=\"videoCallIconURL\"></cometchat-button>\n</div>\n</div>\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\" [callSettingsBuilder]=\"getCallBuilder()!\"></cometchat-ongoing-call>\n<cometchat-backdrop *ngIf=\"showOutgoingCallscreen\">\n<cometchat-outgoing-call [onCloseClicked]=\"cancelOutgoingCall\" [outgoingCallStyle]=\"outgoingCallStyle\" [call]=\"call!\"></cometchat-outgoing-call>\n</cometchat-backdrop>","import { Component, ElementRef, Input, OnInit, SimpleChanges, TemplateRef, ViewChild } from '@angular/core';\nimport { SearchInputStyle } from '@cometchat/uikit-elements';\nimport { ListStyle,MessageListStyle, States, TitleAlignment, UsersStyle } from '@cometchat/uikit-shared';\nimport { localize } from '@cometchat/uikit-resources';\n@Component({\n selector: 'cometchat-list',\n templateUrl: './cometchat-list.component.html',\n styleUrls: ['./cometchat-list.component.scss']\n})\nexport class CometchatListComponent implements OnInit {\n @ViewChild(\"listScroll\", { static: false }) listScroll!: ElementRef;\n @ViewChild(\"bottom\", { static: false }) bottom!: ElementRef;\n @ViewChild(\"top\", { static: false }) top!: ElementRef;\n @Input() listItemView!: TemplateRef<any>; //custom view\n @Input() onScrolledToBottom!: ()=>void;\n @Input() onScrolledToTop!: ()=>void;\n @Input() list: any = [];\n @Input() onSearch!: (text:string)=>void;\n @Input() searchText: string = localize(\"SEARCH\");\n @Input() searchIconURL: String = \"assets/search.svg\";\n @Input() listStyle: ListStyle = {\n height: \"100%\",\n width: \"100%\",\n }\n @Input() searchPlaceholderText: String = \"\";\n @Input() hideSearch: boolean = false;\n @Input() hideError: boolean = false;\n @Input() title: string = \"\";\n @Input() titleAlignment: TitleAlignment = TitleAlignment.left;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() state: States = States.loaded;\n @Input() errorStateText: string = \"\";\n @Input() emptyStateText: string = \"\";\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() showSectionHeader: boolean = false;\n @Input() sectionHeaderField: string = \"name\";\n public states: typeof States = States\n public numberOfTopScroll: number = 0;\n searchStyle: SearchInputStyle = {\n\n }\n iconStyle:any = {}\n constructor() {\n\n }\n ngOnInit(): void {\n this.iconStyle = this.listStyle.loadingIconTint\n this.searchStyle.searchTextFont = this.listStyle?.searchTextFont,\n this.searchStyle.searchTextColor = this.listStyle?.searchTextColor,\n this.searchStyle.placeholderTextFont = this.listStyle?.searchPlaceholderTextFont,\n this.searchStyle.placeholderTextColor = this.listStyle?.searchPlaceholderTextColor,\n this.searchStyle.searchIconTint = this.listStyle?.searchIconTint\n this.searchStyle.background = this.listStyle?.searchBackground,\n this.searchStyle.borderRadius = this.listStyle.searchBorderRadius\n this.searchStyle.border = this.listStyle.searchBorder\n\n\n }\n ngAfterViewInit(){\n this.ioBottom();\n }\n ngOnChanges(changes: SimpleChanges): void {\n }\n /**\n * listening to bottom scroll using intersection observer\n */\n ioBottom = () => {\n const options = {\n root: this.listScroll.nativeElement,\n rootMargin: '-100% 0px 100px 0px',\n threshold: 0\n }\n const callback = (entries: any) => {\n if (entries[0].isIntersecting && this.onScrolledToBottom && this.list?.length > 0) {\n this.onScrolledToBottom()\n }\n }\n var observer: IntersectionObserver = new IntersectionObserver(callback, options);\n observer.observe(this.bottom.nativeElement);\n }\n /**\n * listening to top scroll using intersection observer\n */\n ioTop = () => {\n const options = {\n root: this.listScroll.nativeElement,\n rootMargin: '200px 0px 0px 0px',\n threshold: 1.0\n }\n const callback = (entries: any) => {\n if (entries[0].isIntersecting) {\n this.numberOfTopScroll++\n if (this.onScrolledToTop && this.numberOfTopScroll > 1) {\n this.onScrolledToTop()\n }\n }\n }\n var observer: IntersectionObserver = new IntersectionObserver(callback, options);\n observer.observe(this.top.nativeElement);\n }\n searchEvent = (event: any) => {\n this.searchText = event?.detail?.searchText;\n if (this.onSearch) {\n this.onSearch(this.searchText)\n }\n }\n /**\n * styling part\n */\n chatsListStyle = () => {\n return {\n height: this.listStyle.height,\n background: this.listStyle.background,\n };\n }\n messageContainerStyle = () => {\n return {\n width: this.listStyle.width,\n };\n }\n errorStyle = () => {\n return {\n textFont: this.listStyle.errorStateTextFont,\n textColor: this.listStyle.errorStateTextColor,\n }\n }\n emptyStyle = () => {\n return {\n textFont: this.listStyle.emptyStateTextFont,\n textColor: this.listStyle.emptyStateTextColor,\n }\n }\n wrapperStyle = () => {\n return {\n height: this.listStyle.height,\n width: this.listStyle.width,\n background: this.listStyle.background,\n border: this.listStyle.border,\n borderRadius: this.listStyle.borderRadius\n }\n }\n headerTitle = () => {\n let postiton: any = this.titleAlignment == TitleAlignment.left ? { textAlign: \"left\" } : { textAlign: \"center\" }\n return {\n font: this.listStyle.titleTextFont,\n color: this.listStyle.titleTextColor,\n ...postiton\n }\n }\n sectionHeaderStyle = () => {\n return {\n font: this.listStyle?.sectionHeaderTextFont,\n color: this.listStyle?.sectionHeaderTextColor,\n }\n }\n headerStyle = ()=>{\n return {\n height: \"fit-content\",\n marginBottom:\"12px\"\n }\n }\n listStyles = ()=>{\n return {\n height: \"100%\"\n }\n }\n}\n","<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\" [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\" (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometchatListComponent } from \"./cometchat-list.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport '@cometchat/uikit-elements'\n@NgModule({\n declarations: [CometchatListComponent],\n imports: [\n CommonModule,\n FormsModule,\n\n\n ],\n exports: [CometchatListComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA],\n\n})\nexport class CometChatList {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatOutgoingCallComponent } from \"./cometchat-outgoing-call/cometchat-outgoing-call.component\";\nimport { CometChatList } from \"../../CometChatList/cometchat-list.module\";\nimport \"@cometchat/uikit-elements\";\n@NgModule({\n declarations: [CometChatOutgoingCallComponent],\n imports: [\n CommonModule,\nCometChatList,\n ],\n exports: [CometChatOutgoingCallComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatOutgoingCall {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatOngoingCallComponent } from \"./cometchat-ongoing-call/cometchat-ongoing-call.component\";\nimport { CometChatList } from \"../../CometChatList/cometchat-list.module\";\n\n@NgModule({\n declarations: [CometChatOngoingCallComponent],\n imports: [\n CommonModule,\nCometChatList,\n ],\n exports: [CometChatOngoingCallComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatOngoingCall {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatCallButtonsComponent } from \"./cometchat-call-buttons/cometchat-call-buttons.component\";\nimport { CometChatList } from \"../../CometChatList/cometchat-list.module\";\nimport \"@cometchat/uikit-elements\";\nimport { CometChatOutgoingCall } from \"../CometChatOutgoingCall/cometchat-outgoing-call.module\";\nimport { CometChatOngoingCall } from \"../CometChatOngoingCall/cometchat-ongoing-call.module\";\n@NgModule({\n declarations: [CometChatCallButtonsComponent],\n imports: [\n CommonModule,\nCometChatOutgoingCall,\nCometChatOngoingCall\n ],\n exports: [CometChatCallButtonsComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatCallButtons {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport { StorageUtils,CallscreenStyle, IncomingCallStyle, CometChatSoundManager } from \"@cometchat/uikit-shared\";\nimport { AvatarStyle, IconStyle, ListItemStyle } from '@cometchat/uikit-elements'\nimport { Subscription } from 'rxjs';\nimport { CometChatThemeService } from '../../../CometChatTheme.service';\nimport { localize, CometChatUIKitConstants, fontHelper, CometChatCallEvents, CometChatMessageEvents, MessageStatus, CometChatLocalize } from '@cometchat/uikit-resources';\n/**\n*\n* CometChatIncomingCallComponent is a component which shows outgoing call screen for default audio and video call.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-incoming-call\",\n templateUrl: \"./cometchat-incoming-call.component.html\",\n styleUrls: [\"./cometchat-incoming-call.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatIncomingCallComponent implements OnInit,OnChanges {\n @Input() call!: CometChat.Call | null;\n @Input() disableSoundForCalls:boolean = false;\n @Input() customSoundForCalls!:string;\n @Input() onAccept!: (call: CometChat.Call) => void;\n @Input() onDecline!: (call: CometChat.Call) => void;\n @Input() acceptButtonText: string = localize(\"ACCEPT\");\n @Input() declineButtonText: string = localize(\"DECLINE\");\n @Input() subtitleView!: TemplateRef<any>;\n @Input() onError: (error: CometChat.CometChatException) => void = (error: CometChat.CometChatException) => {\n console.log(error)\n }\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n activeBackground: \"\",\n border: \"\",\n };\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"38px\",\n height: \"38px\",\n };\n @Input() incomingCallStyle: IncomingCallStyle = {\n width: \"fit-content\",\n height: \"fit-content\",\n };\n public incomingcallListenerId: string = \"incomingcall_\" + new Date().getTime();\n subtitleText:string = localize(\"INCOMING_CALL\")\n buttonStyle:any = {\n height:\"100%\",\n width:\"100%\",\n display:\"flex\",\n flexDirection:\"column\",\n justifyContent:\"center\",\n alignItems:\"center\",\n padding:\"8px 28px\"\n }\n ongoingCallStyle: CallscreenStyle = {}\n showOngoingCall: boolean = false;\n showIncomingCallScreen:boolean = false\n sessionId: string = \"\";\n acceptButtonStyle: any = {}\n declineButtonStyle: any = {}\n public loggedInUser: CometChat.User | null = null;\n iconStyle: IconStyle = {\n height: \"16px\",\n width: \"16px\",\n iconTint: \"RGBA(20, 20, 20, 0.68)\"\n }\nactiveCall:CometChat.Call | null = null;\nccCallEnded!:Subscription;\n constructor(private ref: ChangeDetectorRef, private themeService: CometChatThemeService) { }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"call\"] && changes[\"call\"].currentValue ){\n this.showCall(this.call!)\n }\n }\n playAudio() {\n if (this.customSoundForCalls) {\n CometChatSoundManager.play(CometChatSoundManager.Sound.incomingCall, this.customSoundForCalls)\n }\n else {\n CometChatSoundManager.play(CometChatSoundManager.Sound.incomingCall)\n }\n }\n isCallActive(call:CometChat.Call){\n let isCurrentCall:boolean = false\n if(StorageUtils.getItem(CometChatUIKitConstants.calls.activecall)){\n let oldCall:any = StorageUtils.getItem(CometChatUIKitConstants.calls.activecall)\n if(oldCall && oldCall.sessionId == call.getSessionId()){\n isCurrentCall = true\n }\n else{\n isCurrentCall = false\n }\n }\n else{\n isCurrentCall = false\n }\n return isCurrentCall\n }\n showCall(call:CometChat.Call){\n if(!this.isCallActive(call) && this.loggedInUser?.getUid() != call?.getSender()?.getUid() && !this.call){\n if(!this.disableSoundForCalls){\n setTimeout(() => {\n this.playAudio()\n }, 100);\n }\n this.call = call\n this.showIncomingCallScreen = true\n this.ref.detectChanges()\n }\n else{\n CometChatSoundManager.pause()\n this.rejectIncomingCall(CometChatUIKitConstants.calls.busy)\n }\n }\n attachListeners() {\n CometChat.addCallListener(\n this.incomingcallListenerId,\n new CometChat.CallListener({\n onIncomingCallReceived: (call: CometChat.Call) => {\n this.showCall(call)\n this.ref.detectChanges()\n },\n onIncomingCallCancelled: (call: CometChat.Call) => {\n CometChatSoundManager.pause()\n this.call = null;\n this.ref.detectChanges()\n },\n })\n );\n }\n removeListener() {\n CometChat.removeCallListener(this.incomingcallListenerId);\n }\n localStorageChange = (event:any):any => {\n\t\tif (event?.key !== CometChatUIKitConstants.calls.activecall) {\n\t\t\treturn false;\n\t\t}\n\t\tif (event.newValue || event.oldValue) {\n\t\t\tlet call;\n\t\t\tif (event.newValue) {\n\t\t\t\tcall = JSON.parse(event.newValue);\n\t\t\t} else if (event.oldValue) {\n\t\t\t\tcall = JSON.parse(event.oldValue);\n\t\t\t}\n\t\t\tif (this.call?.getSessionId() === call?.sessionId) {\n this.showIncomingCallScreen = false\n\t\t\t\tCometChatSoundManager.pause()\n\t\t\t\tthis.call = null;\n this.ref.detectChanges()\n\t\t\t}\n\t\t}\n return\n\t};\n ngOnInit(): void {\n CometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n this.loggedInUser = user\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n StorageUtils.attachChangeDetection(this.localStorageChange)\n this.attachListeners()\n this.setThemeStyle()\n this.ccCallEnded = CometChatCallEvents.ccCallEnded.subscribe((call:CometChat.Call)=>{\n this.showOngoingCall = false\n this.activeCall = null\n this.call = null\n this.sessionId = \"\"\n this.ref.detectChanges()\n })\n }\n ngOnDestroy(){\n StorageUtils.detachChangeDetection(this.localStorageChange)\n this.removeListener()\n this.ccCallEnded?.unsubscribe()\n }\n setOngoingCallStyle = () => {\n let defaultStyle = new CallscreenStyle({\n maxHeight: \"100%\",\n maxWidth: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"#1c2226\",\n minHeight: \"400px\",\n minWidth: \"400px\",\n minimizeIconTint: this.themeService.theme.palette.getAccent900(),\n maximizeIconTint: this.themeService.theme.palette.getAccent900(),\n })\n this.ongoingCallStyle = { ...defaultStyle, ...this.ongoingCallStyle }\n }\n getCallTypeIcon() {\n if (this.call?.getType() == CometChatUIKitConstants.MessageTypes.audio) {\n return \"assets/Audio-Call.svg\"\n }\n else {\n return \"assets/Video-call.svg\"\n }\n }\n startDefaultCall = () => {\n let call:CometChat.Call = this.call!\n\t\tconst sessionId = call?.getSessionId();\n\t\tconst callType = call?.getType() === CometChatUIKitConstants.MessageTypes.audio ? true : false;\n\t\tconst showRecordingButton = true\n\t\tconst callSettings = new CometChat.CallSettingsBuilder()\n\t\t\t.setSessionID(sessionId)\n\t\t\t.enableDefaultLayout(true)\n\t\t\t.setMode(CometChat.CALL_MODE.DEFAULT)\n\t\t\t.setIsAudioOnlyCall(callType)\n\t\t\t.showRecordingButton(showRecordingButton)\n\t\t\t.build();\n\t\tconst el:any = \"\";\n\t\tCometChat.startCall(\n\t\t\tcallSettings,\n\t\t\tel,\n\t\t\tnew CometChat.OngoingCallListener({\n\t\t\t\tonCallEnded: (endedCall:CometChat.Call) => {\n\t\t\t\t\t/* Notification received here if current ongoing call is ended. */\n if(endedCall.getAction() == CometChatUIKitConstants.calls.ended){\n CometChatCallEvents.ccCallEnded.next(endedCall)\n }\n\t\t\t\t\t/* hiding/closing the call screen can be done here. */\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t};\nacceptIncomingCall(){\n CometChatSoundManager.pause()\n if(this.onAccept && this.call){\n this.onAccept(this.call)\n }\n\n else{\n this.checkForActiveCallAndEndCall()\n .then((response) => {\n CometChat.acceptCall(this.call!.getSessionId())\n .then((call) => {\n CometChatCallEvents.ccCallAccepted.next(call)\n StorageUtils.setItem(CometChatUIKitConstants.calls.activecall, call)\n this.showOngoingCall = true\n this.activeCall = call\n this.sessionId = call?.getSessionId()\n this.showIncomingCallScreen = false\n this.ref.detectChanges()\n })\n .catch((error) => {\n if(this.onError){\n this.onError(error)\n }\n });\n })\n .catch((error) => {\n if(this.onError){\n this.onError(error)\n }\n });\n }\n}\ncheckForActiveCallAndEndCall = () => {\n let call:CometChat.Call = CometChat.getActiveCall()\n return new Promise((resolve, reject) => {\n if (!call) {\n return resolve({ success: true });\n }\n let sessionID = call?.getSessionId();\n CometChat.endCall(sessionID)\n .then((response) => {\n return resolve(response);\n })\n .catch((error) => {\n return reject(error);\n });\n });\n};\nrejectIncomingCall(reason:string = CometChatUIKitConstants.calls.rejected){\n CometChatSoundManager.pause()\n if(this.onDecline && this.call){\n this.onDecline(this.call)\n }\nelse{\n\n\tCometChat.rejectCall(this.call!.getSessionId(), reason)\n .then((rejectedCall) => {\n StorageUtils.setItem(CometChatUIKitConstants.calls.activecall, rejectedCall)\n CometChatCallEvents.ccCallRejected.next(rejectedCall)\n this.showOngoingCall = false\n this.activeCall = null\n this.call = null;\n this.ref.detectChanges()\n })\n .catch((error) => {\nif(this.onError){\n this.onError(error)\n}\n });\n}\n}\ngetCallBuilder(): CometChat.CallSettingsBuilder | undefined {\n let audioOnlyCall: boolean = this.call?.getType() == CometChatUIKitConstants.MessageTypes.audio ? true : false\n return new CometChat.CallSettingsBuilder()\n .setSessionID(this.sessionId)\n .enableDefaultLayout(true)\n .setIsAudioOnlyCall(audioOnlyCall)\n .setMode(CometChat.CALL_MODE.DEFAULT)\n .setLocalizedStringObject(CometChatLocalize.getLocale())\n}\n setThemeStyle() {\n this.setincomingCallStyle()\n this.setAvatarStyle()\n this.setOngoingCallStyle()\n this.iconStyle.iconTint = this.incomingCallStyle.subtitleTextColor\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"100%\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"transparent\",\n borderRadius: \"0\",\n titleFont: this.incomingCallStyle.titleTextFont,\n titleColor: this.incomingCallStyle.titleTextColor,\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:\"transparent\"\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setincomingCallStyle(){\n let defaultStyle: IncomingCallStyle = new IncomingCallStyle({\n width: \"fit-content\",\n height: \"fit-content\",\n background: this.themeService.theme.palette.getAccent800(\"light\"),\n border: \"none\",\n borderRadius: \"8px\",\n titleTextFont: fontHelper(this.themeService.theme.typography.title2),\n titleTextColor: this.themeService.theme.palette.getAccent(\"dark\"),\n subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n subtitleTextColor: this.themeService.theme.palette.getAccent800(\"dark\"),\n acceptButtonTextFont:fontHelper(this.themeService.theme.typography.text2),\n acceptButtonTextColor:this.themeService.theme.palette.getAccent(\"dark\"),\n acceptButtonBackground:this.themeService.theme.palette.getPrimary(),\n acceptButtonBorderRadius:\"8px\",\n acceptButtonBorder:\"none\",\n declineButtonTextFont:fontHelper(this.themeService.theme.typography.text2),\n declineButtonTextColor:this.themeService.theme.palette.getAccent(\"dark\"),\n declineButtonBackground:this.themeService.theme.palette.getError(),\n declineButtonBorderRadius:\"8px\",\n declineButtonBorder:\"none\",\n })\n this.incomingCallStyle = { ...defaultStyle, ...this.incomingCallStyle }\n this.setListItemStyle();\n this.acceptButtonStyle = {\n border:this.incomingCallStyle.acceptButtonBorder,\n borderRadius:this.incomingCallStyle.acceptButtonBorderRadius,\n background:this.incomingCallStyle.acceptButtonBackground,\n buttonTextFont:this.incomingCallStyle.acceptButtonTextFont,\n buttonTextColor:this.incomingCallStyle.acceptButtonTextColor,\n ...this.buttonStyle\n }\n this.declineButtonStyle = {\n border:this.incomingCallStyle.declineButtonBorder,\n borderRadius:this.incomingCallStyle.declineButtonBorderRadius,\n background:this.incomingCallStyle.declineButtonBackground,\n buttonTextFont:this.incomingCallStyle.declineButtonTextFont,\n buttonTextColor:this.incomingCallStyle.declineButtonTextColor,\n ...this.buttonStyle\n }\n }\n setAvatarStyle() {\n let defaultStyle: AvatarStyle = new AvatarStyle({\n borderRadius: \"16px\",\n width: \"38px\",\n height: \"38px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = { ...defaultStyle, ...this.avatarStyle }\n }\n subtitleStyle = () => {\n return {\n textFont: this.incomingCallStyle.subtitleTextFont,\n textColor: this.incomingCallStyle.subtitleTextColor\n }\n }\n wrapperStyle = () => {\n return {\n height: this.incomingCallStyle.height,\n width: this.incomingCallStyle.width,\n background: this.incomingCallStyle.background,\n border: this.incomingCallStyle.border,\n borderRadius: this.incomingCallStyle.borderRadius,\n padding:\"8px\"\n }\n }\n}","<div class=\"cc-incoming-call__wrapper\" [ngStyle]=\"wrapperStyle()\" *ngIf=\"call && showIncomingCallScreen\">\n <div class=\"cc-incoming-call__listitem\">\n <cometchat-list-item [title]=\"call?.getSender()?.getName()\"\n [listItemStyle]=\"listItemStyle\"\n [hideSeparator]=\"true\" >\n <div slot=\"subtitleView\" class=\"cc-incoming-call__subtitle-view\" *ngIf=\"subtitleView;else subtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #subtitle>\n <div slot=\"subtitleView\" class=\"cc-incoming-call__subtitle-view\">\n <div class=\"cc-call__icon\">\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"getCallTypeIcon()\"></cometchat-icon>\n </div>\n <cometchat-label class=\"cc-call__type\" [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n\n </cometchat-label>\n </div>\n </ng-template>\n <div slot=\"tailView\" class=\"cc-incoming-call__tail-view\">\n <div class=\"tail__view\">\n <div class=\"cc-incoming-call__avatar\">\n <cometchat-avatar [avatarStyle]=\"avatarStyle\" [image]=\"call?.getSender()?.getAvatar()\" [name]=\"call?.getSender()?.getName()\">\n\n </cometchat-avatar>\n </div>\n </div>\n </div>\n </cometchat-list-item>\n </div>\n <div class=\"cc-incoming-call-buttons\">\n <cometchat-button (cc-button-clicked)=\"rejectIncomingCall()\" [buttonStyle]=\"declineButtonStyle\" [text]=\"declineButtonText\"></cometchat-button>\n <cometchat-button (cc-button-clicked)=\"acceptIncomingCall()\" [buttonStyle]=\"acceptButtonStyle\" [text]=\"acceptButtonText\" ></cometchat-button>\n </div>\n</div>\n<cometchat-ongoing-call *ngIf=\"showOngoingCall && activeCall && !showIncomingCallScreen\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\" [callSettingsBuilder]=\"getCallBuilder()!\"></cometchat-ongoing-call>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatIncomingCallComponent } from \"./cometchat-incoming-call/cometchat-incoming-call.component\";\nimport { CometChatList } from \"../../CometChatList/cometchat-list.module\";\nimport \"@cometchat/uikit-elements\";\nimport { CometChatOngoingCall } from \"../CometChatOngoingCall/cometchat-ongoing-call.module\";\n@NgModule({\n declarations: [CometChatIncomingCallComponent],\n imports: [\n CommonModule,\nCometChatList,\nCometChatOngoingCall\n ],\n exports: [CometChatIncomingCallComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatIncomingCall {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, TemplateRef } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\n\nimport {AvatarStyle,BaseStyle,ListItemStyle} from '@cometchat/uikit-elements'\nimport { Subscription } from 'rxjs';\nimport { CometChatOption, SelectionMode, localize, TitleAlignment, States, CometChatUserEvents, CometChatUIKitConstants, fontHelper } from '@cometchat/uikit-resources';\nimport { UsersStyle, ListStyle } from '@cometchat/uikit-shared';\nimport { CometChatThemeService } from '../../CometChatTheme.service';\n@Component({\n selector: 'cometchat-users',\n templateUrl: './cometchat-users.component.html',\n styleUrls: ['./cometchat-users.component.scss'],\n changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class CometChatUsersComponent implements OnInit {\n @Input() usersRequestBuilder!: CometChat.UsersRequestBuilder;\n @Input() searchRequestBuilder!: CometChat.UsersRequestBuilder;\n @Input() subtitleView!: TemplateRef<any>;\n @Input() disableUsersPresence: boolean = false;\n @Input() listItemView!: TemplateRef<any>;\n @Input() menu!: TemplateRef<any>;\n @Input() options!: ((member:CometChat.User)=>CometChatOption[]) | null;\n @Input() activeUser!: CometChat.User | null;\n @Input() hideSeparator: boolean = false;\n @Input() searchPlaceholder: string = localize(\"SEARCH\");\n @Input() hideError: boolean = false;\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Input() searchIconURL: string = \"assets/search.svg\";\n @Input() hideSearch: boolean = false;\n @Input() title: string = localize(\"USERS\");\n @Input() onError:(error:any)=>void = (error:any)=>{\n console.log(error)\n }\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() onSelect!: (user:CometChat.User)=> void;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() showSectionHeader: boolean = true;\n @Input() sectionHeaderField: string = \"name\"\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_USERS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() titleAlignment: TitleAlignment = TitleAlignment.left\n @Input() usersStyle: UsersStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"\",\n border: \"\",\n borderRadius: \"\",\n titleTextFont: \"\",\n titleTextColor: \"\",\n searchPlaceholderTextFont: \"\",\n searchPlaceholderTextColor: \"\",\n searchTextFont: \"\",\n searchTextColor: \"\",\n emptyStateTextFont: \"\",\n emptyStateTextColor: \"\",\n errorStateTextFont: \"\",\n errorStateTextColor: \"\",\n loadingIconTint: \"\",\n searchIconTint: \"\",\n searchBorder: \"\",\n searchBorderRadius: \"\",\n searchBackground: \"\",\n onlineStatusColor: \"\",\n separatorColor: \"rgb(222 222 222 / 46%)\",\n sectionHeaderTextFont: \"\",\n sectionHeaderTextColor: \"\"\n };\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n activeBackground: \"\",\n borderRadius: \"grey\",\n titleFont: \"\",\n titleColor: \"\",\n border: \"\",\n separatorColor: \"rgb(222 222 222 / 46%)\"\n };\n @Input() statusIndicatorStyle: BaseStyle = {\n height: \"10px\",\n width: \"10px\",\n borderRadius: \"16px\"\n };\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"28px\",\n height: \"28px\",\n\n };\n @Input() onItemClick!:(user:CometChat.User)=>void;\n searchKeyword: string = \"\";\n userChecked:string = \"\";\n listStyle:ListStyle = {}\n public usersRequest: any;\n public state: States = States.loading;\n public timeout: any;\n selectionmodeEnum: typeof SelectionMode = SelectionMode;\n public usersList: CometChat.User[] = [];\n public limit:number = 30;\n public userListenerId: string = \"userlist_\" + new Date().getTime();\n loggedInUser!: CometChat.User | null;\n /**\n * Events\n */\n ccUserBlocked!:Subscription;\n ccUserUnBlocked!:Subscription;\n onScrolledToBottom:any = null\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { this.state = States.loading }\n ngOnInit(): void {\n this.onScrolledToBottom = this.fetchNextUsersList\n this.setThemeStyle()\n this.subscribeToEvents()\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user;\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n this.state = States.loading\n this.usersRequest = this.getRequestBuilder();\n this.fetchNextUsersList()\n this.attachListeners()\n\n }\n // subscribe to global events\n subscribeToEvents() {\n this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((user:CometChat.User) => {\n if(this.activeUser && user.getUid() == this.activeUser.getUid()){\n this.activeUser = user;\n this.updateUser(user)\n this.ref.detectChanges()\n }\n })\n this.ccUserUnBlocked = CometChatUserEvents.ccUserUnblocked.subscribe((user:CometChat.User) => {\n if(this.activeUser && user.getUid() == this.activeUser.getUid()){\n this.activeUser = user;\n this.updateUser(user)\n this.ref.detectChanges()\n }\n })\n\n }\n unsubscribeToEvents() {\n this.ccUserBlocked?.unsubscribe();\n this.ccUserUnBlocked?.unsubscribe();\n }\n ngOnDestroy() {\n this.usersRequest = null;\n this.ref.detach();\n this.removeListener();\n this.state = States.loaded;\n this.unsubscribeToEvents()\n\n }\n isUserSelected(user:CometChat.User){\n return user.getUid() === this.userChecked\n\n }\n /**\n * @param {CometChat.User} user\n */\n onClick = (user: CometChat.User) => {\n if(this.onItemClick){\n this.onItemClick(user)\n }\n }\n /**\n * @param {CometChat.User} user\n */\n getActiveUser = (user: CometChat.User) => {\n if(this.selectionMode == SelectionMode.none || !this.selectionMode ){\n if (user.getUid() == this.activeUser?.getUid()) {\n return true;\n }\n else {\n return false\n }\n }\n else return false;\n }\n /**\n * @param {CometChat.User} user\n */\n getStatusIndicatorColor = (user: CometChat.User) => {\n if (!this.disableUsersPresence) {\n if (user?.getStatus() == CometChatUIKitConstants.userStatusType.online) {\n return this.usersStyle.onlineStatusColor || this.themeService.theme.palette.getSuccess()\n }\n else {\n return null\n }\n }\n return null\n }\n /**\n * @param {CometChat.User} user\n */\n updateUser = (user: CometChat.User) => {\n let userlist = [...this.usersList];\n //search for user\n let userKey = userlist.findIndex((u: CometChat.User, k) => u.getUid() == user.getUid());\n //if found in the list, update user object\n if (userKey > -1) {\n userlist.splice(userKey, 1, user);\n this.usersList = [...userlist];\n this.ref.detectChanges();\n }\n };\n attachListeners() {\n //Attaching User Listeners to dynamilcally update when a user comes online and goes offline\n CometChat.addUserListener(\n this.userListenerId,\n new CometChat.UserListener({\n onUserOnline: (onlineUser: CometChat.User) => {\n /* when someuser/friend comes online, user will be received here */\n this.updateUser(onlineUser);\n },\n onUserOffline: (offlineUser: CometChat.User) => {\n /* when someuser/friend went offline, user will be received here */\n this.updateUser(offlineUser);\n },\n })\n );\n }\n removeListener() {\n CometChat.removeUserListener(this.userListenerId);\n this.userListenerId = \"\";\n }\n addMembersToList = (user:CometChat.User)=>{\n this.userChecked = user.getUid();\n this.ref.detectChanges();\n if(this.onSelect){\n this.onSelect(user)\n }\n }\n fetchNextUsersList = () => {\n this.onScrolledToBottom = null\n if(this.usersRequest && this.usersRequest.pagination && (this.usersRequest.pagination.current_page == 0 || this.usersRequest.pagination.current_page != this.usersRequest.pagination.total_pages)){\n this.onScrolledToBottom = this.fetchNextUsersList\n this.state = States.loading\n this.ref.detectChanges()\n try {\n this.usersRequest.fetchNext().then(\n (userList: CometChat.User[]) => {\n this.state = States.loading\n if ((userList.length <= 0 && this.usersList?.length <= 0) || (userList.length === 0 && this.usersList?.length <= 0)) {\n this.state = States.empty\n this.ref.detectChanges();\n } else {\n this.state = States.loaded\n this.usersList = [...this.usersList, ...userList];\n this.ref.detectChanges();\n }\n },\n (error: any) => {\n this.state = States.error\n this.ref.detectChanges()\n }\n );\n } catch (error: any) {\n this.state = States.error\n this.ref.detectChanges()\n }\n }\n else{\n this.state = States.loaded;\n this.ref.detectChanges()\n }\n }\n getRequestBuilder() {\n if(this.searchRequestBuilder){\n return this.searchRequestBuilder.build()\n }\n else if (this.usersRequestBuilder) {\n return this.usersRequestBuilder.build();\n }\n else {\n return new CometChat.UsersRequestBuilder()\n .friendsOnly(false)\n .setLimit(this.limit)\n .setSearchKeyword(this.searchKeyword)\n .build();\n }\n }\n /**\n * @param {string} key\n */\n onSearch = (key: string) => {\n try {\n\n this.searchKeyword = key;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.usersRequest = this.searchRequestBuilder ? this.searchRequestBuilder.setSearchKeyword(this.searchKeyword).build() : this.getRequestBuilder();\n this.usersList = [];\n this.ref.detectChanges();\n this.fetchNextUsersList();\n }, 500);\n } catch (error) {\n if(this.onError){\n this.onError(error)\n }\n }\n };\n setThemeStyle() {\n this.setUsersStyle()\n this.setListItemStyle()\n this.setAvatarStyle()\n this.setStatusStyle()\n\n this.listStyle ={\n titleTextFont : this.usersStyle.titleTextFont,\n titleTextColor : this.usersStyle.titleTextColor,\n emptyStateTextFont : this.usersStyle.emptyStateTextFont,\n emptyStateTextColor : this.usersStyle.emptyStateTextColor,\n errorStateTextFont : this.usersStyle.errorStateTextFont,\n errorStateTextColor : this.usersStyle.errorStateTextColor,\n loadingIconTint : this.usersStyle.loadingIconTint,\n separatorColor : this.usersStyle.separatorColor,\n searchIconTint : this.usersStyle.searchIconTint,\n searchBorder : this.usersStyle.searchBorder,\n searchBorderRadius : this.usersStyle.searchBorderRadius,\n searchBackground : this.usersStyle.searchBackground,\n searchPlaceholderTextFont : this.usersStyle.searchPlaceholderTextFont,\n searchPlaceholderTextColor : this.usersStyle.searchPlaceholderTextColor,\n searchTextFont : this.usersStyle.searchTextFont,\n searchTextColor : this.usersStyle.searchTextColor,\n sectionHeaderTextColor:this.usersStyle.sectionHeaderTextColor,\n sectionHeaderTextFont:this.usersStyle.sectionHeaderTextFont\n }\n this.ref.detectChanges()\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: this.themeService.theme.palette.getAccent100(),\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:this.themeService.theme.palette.getAccent50()\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"12px\",\n width:\"12px\",\n border:\"none\",\n borderRadius:\"24px\",\n\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setUsersStyle(){\n let defaultStyle:UsersStyle = new UsersStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n sectionHeaderTextColor:this.themeService.theme.palette.getAccent600(),\n sectionHeaderTextFont:fontHelper(this.themeService.theme.typography.subtitle2),\n searchIconTint:this.themeService.theme.palette.getAccent600(),\n searchPlaceholderTextColor:this.themeService.theme.palette.getAccent600(),\n searchBackground:this.themeService.theme.palette.getAccent100(),\n searchPlaceholderTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchTextColor:this.themeService.theme.palette.getAccent600(),\n searchTextFont:fontHelper(this.themeService.theme.typography.text3)\n })\n this.usersStyle = {...defaultStyle,...this.usersStyle}\n }\n userStyle = () => {\n return {\n height: this.usersStyle.height,\n width: this.usersStyle.width,\n background: this.usersStyle.background,\n border: this.usersStyle.border,\n borderRadius: this.usersStyle.borderRadius\n }\n }\n}\n","<div class=\"cc-users\" [ngStyle]=\"userStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"usersList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [sectionHeaderField]=\"sectionHeaderField\" [showSectionHeader]=\"showSectionHeader\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-user>\n <cometchat-list-item [title]=\"user?.name\" [avatarURL]=\"user?.avatar\" [avatarName]=\"user?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(user)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(user)\" [isActive]=\"getActiveUser(user)\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n\n <div slot=\"menuView\" class=\"cc-users__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(user)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-users__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-users__selection--single\">\n <cometchat-radio-button (cc-radio-button-checked)=\"addMembersToList(user)\" [checked]=\"isUserSelected(user)\" ></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-users__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"addMembersToList(user)\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </cometchat-list-item>\n\n </ng-template>\n</div>\n\n","import { Component, OnInit, Input, ChangeDetectorRef, ChangeDetectionStrategy, TemplateRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { AddMembersStyle,TitleAlignment,SelectionMode, UsersConfiguration, UsersStyle,CometChatUIKitUtility } from '@cometchat/uikit-shared';\nimport '@cometchat/uikit-elements'\nimport {CometChatTheme, fontHelper, localize,CometChatOption, CometChatGroupEvents, CometChatUIKitConstants} from '@cometchat/uikit-resources'\nimport { AvatarStyle, ListItemStyle} from '@cometchat/uikit-elements'\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\n/**\n*\n* CometChatAddMembersComponentComponent is used to render group members to add\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-add-members\",\n templateUrl: \"./cometchat-add-members.component.html\",\n styleUrls: [\"./cometchat-add-members.component.scss\"],\n changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class CometChatAddMembersComponent implements OnInit {\n\n @Input() usersRequestBuilder!: CometChat.UsersRequestBuilder;\n @Input() searchRequestBuilder!: CometChat.UsersRequestBuilder;\n @Input() subtitleView!: TemplateRef<any>;\n @Input() listItemView!: TemplateRef<any>;\n @Input() disableUsersPresence:boolean = false;\n @Input() menu!: TemplateRef<any>;\n @Input() options!: ((member:CometChat.User)=>CometChatOption[]) | null;\n @Input() backButtonIconURL:string = \"assets/backbutton.svg\"\n @Input() closeButtonIconURL:string = \"assets/close2x.svg\"\n @Input() showBackButton:boolean=true;\n @Input() hideSeparator: boolean = false;\n @Input() selectionMode: SelectionMode = SelectionMode.multiple;\n @Input() searchPlaceholder: string = \"Search Members\";\n @Input() hideError: boolean = false;\n @Input() searchIconURL: string = \"assets/search.svg\";\n @Input() hideSearch: boolean = false;\n @Input() title: string = localize(\"ADD_MEMBERS\");\n @Input() onError:((error:any)=>void) | null = (error:any)=>{\n console.log(error)\n }\n @Input() onBack!:()=>void;\n @Input() onClose!:()=>void;\n @Input() onSelect!: (user:CometChat.User)=>void;\n\n @Input() buttonText:string = localize(\"ADD_MEMBERS\");\n @Input() group!:CometChat.Group;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() listItemStyle:ListItemStyle = {}\n @Input() showSectionHeader: boolean = false;\n @Input() sectionHeaderField: string = \"name\";\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_GROUPS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() onAddMembersButtonClick!:(guid:string, members:CometChat.User[])=>void;\n @Input() titleAlignment: TitleAlignment = TitleAlignment.center;\n titleAlignmentEnum:typeof TitleAlignment = TitleAlignment\n selectionmodeEnum: typeof SelectionMode = SelectionMode;\n @Input() addMembersStyle: AddMembersStyle = {};\n\n loggedInUser!:CometChat.User | null;\n actionMessagesList:CometChat.Action[] = []\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { }\n addMemberButtonStyle:any = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgb(51, 153, 255)\",\n padding:\"8px\",\n buttonTextColor:\"white\",\n buttonTextFont:\"\",\n display:\"flex\",\n justifyContent:\"center\",\n alignItems:\"center\",\n border:\"none\",\n borderRadius:\"8px\"\n}\n searchKeyword: string = \"\";\n public usersRequest: any;\n public timeout: any;\n public usersList: CometChat.User[] = [];\n public userListenerId: string = \"userlist_\" + new Date().getTime();\n usersStyle: UsersStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"\",\n border: \"\",\n borderRadius: \"\",\n searchBackground: \"#efefef\",\n onlineStatusColor: \"\",\n separatorColor: \"rgb(222 222 222 / 46%)\",\n sectionHeaderTextFont: \"\",\n sectionHeaderTextColor: \"\"\n };\n membersList:any[] = [];\n addedMembers:CometChat.GroupMember[] = []\n ngOnInit(): void {\n this.setUsersStyle()\n this.setAddMembersStyle();\n this.membersList = []\n this.addedMembers = []\n this.actionMessagesList = []\n\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user;\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n }\n /**\n * @param {string} uid\n */\n addRemoveUsers = (user:CometChat.User)=>{\n if(this.onSelect){\n this.onSelect(user)\n }\n\n else{\n let key = this.membersList.findIndex(\n (m:any) => m.getUid() === user.getUid()\n );\n if(key >= 0){\n this.membersList.splice(key,1)\n }\n else{\n let member:CometChat.GroupMember = new CometChat.GroupMember(user.getUid(), CometChatUIKitConstants.groupMemberScope.participant)\n member.setName(user.getName())\n member.setGuid(this.group.getGuid())\n\n this.membersList.push(member)\n }\n }\n this.ref.detectChanges()\n }\n closeClicked(){\n if(this.onClose){\n this.onClose()\n }\n }\n backClicked(){\n if(this.onBack){\n this.onBack()\n }\n }\n addMembersToGroup = ()=>{\n if(this.group && this.membersList.length > 0){\n if(this.onAddMembersButtonClick){\n this.onAddMembersButtonClick(this.group.getGuid(), this.membersList)\n this.ref.detectChanges()\n return\n }\n else{\n CometChat.addMembersToGroup(this.group.getGuid(), this.membersList, []).then((response:any)=>{\n for (const key in response) {\n if (response.hasOwnProperty(key) && response[key] === \"success\") {\n\n const matchingUser:CometChat.GroupMember = this.membersList.find((user:CometChat.User) => user.getUid() === key);\n if (matchingUser) {\n this.createActionMessage(matchingUser)\n this.addedMembers.push(matchingUser)\n }\n\n }\n }\n this.group.setMembersCount(this.group.getMembersCount() + this.addedMembers?.length || 0)\n CometChatGroupEvents.ccGroupMemberAdded.next(\n {\n messages:this.actionMessagesList,\n usersAdded:this.addedMembers,\n userAddedIn:this.group,\n userAddedBy:this.loggedInUser!\n\n }\n )\n this.membersList = []\n this.addedMembers = []\n this.actionMessagesList = []\n if(this.onBack){\n this.onBack()\n }\n this.ref.detectChanges()\n })\n .catch((err:any)=>{\n console.log(err)\n this.membersList = [];\n this.ref.detectChanges()\n })\n }\n }\n else{\n return\n }\n }\n createActionMessage(actionOn:CometChat.GroupMember){\n let actionMessage:CometChat.Action = new CometChat.Action(this.group.getGuid(),CometChatUIKitConstants.MessageTypes.groupMember,CometChatUIKitConstants.MessageReceiverType.group,CometChatUIKitConstants.MessageCategory.action as any)\n actionMessage.setAction(CometChatUIKitConstants.groupMemberAction.ADDED)\n actionMessage.setActionBy(this.loggedInUser!)\n actionMessage.setActionFor(this.group)\n actionMessage.setActionOn(actionOn)\n actionMessage.setReceiver(this.group)\n actionMessage.setSender(this.loggedInUser!)\n actionMessage.setConversationId(\"group_\"+ this.group.getGuid())\n actionMessage.setMuid(CometChatUIKitUtility.ID())\n actionMessage.setMessage(`${this.loggedInUser?.getName()} added ${actionOn.getUid()}`)\n actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp())\n\n this.actionMessagesList.push(actionMessage)\n }\n\n setAddMembersStyle(){\n\n let defaultStyle:AddMembersStyle = new AddMembersStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`none`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"none\",\n searchPlaceholderTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n searchPlaceholderTextColor: this.themeService.theme.palette.getAccent600(),\n searchTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n searchTextColor: this.themeService.theme.palette.getAccent400(),\n searchIconTint: this.themeService.theme.palette.getAccent600(),\n searchBorder: `1px solid ${this.themeService.theme.palette.getAccent100()}`,\n searchBorderRadius: \"8px\",\n searchBackground: this.themeService.theme.palette.getAccent50(),\n closeButtonIconTint:this.themeService.theme.palette.getPrimary(),\n backButtonIconTint:this.themeService.theme.palette.getPrimary(),\n addMembersButtonBackground:this.themeService.theme.palette.getPrimary(),\n addMembersButtonTextColor:this.themeService.theme.palette.getAccent900(\"light\"),\n addMembersButtonTextFont:fontHelper(this.themeService.theme.typography.subtitle1),\n padding:\"0 100px\"\n })\n this.addMembersStyle = {...defaultStyle,...this.addMembersStyle}\n this.addMemberButtonStyle.background = this.addMembersStyle.addMembersButtonBackground;\n this.addMemberButtonStyle.buttonTextFont = this.addMembersStyle.addMembersButtonTextFont;\n this.addMemberButtonStyle.buttonTextColor = this.addMembersStyle.addMembersButtonTextColor;\n }\n setUsersStyle(){\n let defaultStyle:UsersStyle = new UsersStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:\"none\",\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n searchIconTint:this.themeService.theme.palette.getAccent600(),\n searchPlaceholderTextColor:this.themeService.theme.palette.getAccent600(),\n searchBackground:this.themeService.theme.palette.getAccent100(),\n searchPlaceholderTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchTextColor:this.themeService.theme.palette.getAccent600(),\n searchTextFont:fontHelper(this.themeService.theme.typography.text3)\n })\n this.usersStyle = {...defaultStyle,...this.addMembersStyle}\n }\n\n // styles\n backButtonStyle = ()=> {\n return {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.addMembersStyle.backButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n }\n closeButtonStyle = ()=> {\n return {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.addMembersStyle.closeButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n }\n\n wrapperStyle = ()=>{\n return {\n height: this.addMembersStyle.height,\n width: this.addMembersStyle.width,\n background: this.addMembersStyle.background,\n border: this.addMembersStyle.border,\n borderRadius: this.addMembersStyle.borderRadius\n }\n }\n addMembersStyles = ()=>{\n return {\n padding:this.addMembersStyle.padding\n }\n }\n}\n","<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>","import { Component, OnInit, Input, ChangeDetectorRef, ChangeDetectionStrategy, TemplateRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport {ListItemStyle,AvatarStyle, BaseStyle} from '@cometchat/uikit-elements'\nimport { Subscription } from 'rxjs';\nimport { CometChatTheme, CometChatGroupEvents, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberJoined, IOwnershipChanged, IGroupLeft, fontHelper, localize, CometChatUIKitConstants } from '@cometchat/uikit-resources';\nimport { MessageHeaderStyle } from '@cometchat/uikit-shared';\nimport { CometChatThemeService } from '../../CometChatTheme.service';\n/**\n*\n* CometChatMessageHeader is a used to render listitem component.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: 'cometchat-message-header',\n templateUrl: './cometchat-message-header.component.html',\n styleUrls: ['./cometchat-message-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatMessageHeaderComponent implements OnInit,OnChanges {\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n\n }\n @Input() statusIndicatorStyle: BaseStyle = {\n borderRadius: \"16px\",\n width: \"10px\",\n height: \"10px\",\n border: \"none\",\n }\n @Input() messageHeaderStyle: MessageHeaderStyle = {\n width: \"100%\",\n height: \"100%\",\n }\n @Input() listItemStyle: ListItemStyle = {\n width: \"\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"2px\",\n separatorColor: \"\",\n activeBackground: \"transparent\",\n hoverBackground: \"transparent\"\n }\n @Input() subtitleView: any;\n @Input() disableUsersPresence: boolean = false;\n @Input() disableTyping: boolean = false;\n @Input() protectedGroupIcon: string = \"assets/Locked.svg\";\n @Input() privateGroupIcon: string =\"assets/Private.svg\";\n @Input() menu: any;\n @Input() user!: CometChat.User;\n @Input() group!: CometChat.Group;\n @Input() backButtonIconURL: string = \"assets/backbutton.svg\";\n @Input() hideBackButton: boolean = false;\n @Input() listItemView!: TemplateRef<any>;\n @Input() onError:(error:any)=>void = (error:any)=>{\n console.log(error)\n }\n @Input() onBack:()=>void = ()=>{}\n msgListenerId = \"message_\"+ new Date().getTime();\n public groupsListenerId: string = \"groupsList_\" + new Date().getTime();\n userListenerId = \"userlist_\" + new Date().getTime();\n public subtitleText:string = \"\";\n public loggedInUser!:CometChat.User;\n public isTyping:boolean = false;\n theme:CometChatTheme = new CometChatTheme({})\n ccGroupMemberAdded!:Subscription;\n ccGroupLeft!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccOwnershipChanged!:Subscription;\n constructor(private ref:ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"user\"] || changes[\"group\"]){\n this.removeListener()\n if(!this.loggedInUser){\n CometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n this.loggedInUser = user as CometChat.User;\n this.attachListeners()\n this.updateSubtitle()\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n }\n else{\n this.attachListeners()\n this.updateSubtitle()\n }\n\n }\n }\n ngOnInit(): void {\n this.setListItemStyle()\n this.setAvatarStyle()\n this.setStatusStyle()\n this.setHeadersStyle()\n this.subscribeToEvents();\n this.backButtonStyle.buttonIconTint = this.messageHeaderStyle?.backButtonIconTint;\n this.statusColor.online = this.messageHeaderStyle.onlineStatusColor\n\n }\n // subscribe to global events\n subscribeToEvents() {\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item: IGroupMemberAdded) => {\n if(this.group && this.group.getGuid() == item?.userAddedIn!.getGuid()){\n this.group == item?.userAddedIn;\n this.ref.detectChanges()\n this.updateSubtitle()\n }\n })\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.group && this.group.getGuid() == item?.kickedFrom!.getGuid()){\n this.group == item?.kickedFrom;\n this.ref.detectChanges()\n this.updateSubtitle()\n }\n })\n this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item: IGroupMemberJoined) => {\n if(this.group && this.group.getGuid() == item?.joinedGroup!.getGuid()){\n this.group == item?.joinedGroup;\n this.ref.detectChanges()\n this.updateSubtitle()\n }\n })\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.group && this.group.getGuid() == item?.kickedFrom!.getGuid()){\n this.group == item?.kickedFrom;\n this.ref.detectChanges()\n this.updateSubtitle()\n }\n })\n this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item: IOwnershipChanged) => {\n if(this.group && this.group.getGuid() == item?.group!.getGuid()){\n this.group == item?.group;\n this.ref.detectChanges()\n this.updateSubtitle();\n }\n })\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item: IGroupLeft) => {\n if(this.group && this.group.getGuid() == item?.leftGroup!.getGuid() && this.loggedInUser?.getUid() == item?.userLeft?.getUid()){\n this.group == item?.leftGroup;\n this.ref.detectChanges()\n this.updateSubtitle()\n }\n })\n }\n // unsubscribe to subscribed events.\n unsubscribeToEvents() {\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccGroupMemberJoined?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccOwnershipChanged?.unsubscribe();\n this.ccGroupLeft?.unsubscribe();\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"transparent\",\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:\"\",\n hoverBackground:\"transparent\"\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"36px\",\n height: \"36px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"12px\",\n width:\"12px\",\n border:\"none\",\n borderRadius:\"24px\",\n\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setHeadersStyle(){\n let defaultStyle:MessageHeaderStyle = new MessageHeaderStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`none`,\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n privateGroupIconBackground:this.themeService.theme.palette.getSuccess(),\n passwordGroupIconBackground:\"RGB(247, 165, 0)\",\n backButtonIconTint: this.themeService.theme.palette.getPrimary(),\n subtitleTextColor: this.themeService.theme.palette.getAccent600(),\n subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n typingIndicatorTextColor: this.themeService.theme.palette.getPrimary(),\n typingIndicatorTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n })\n this.messageHeaderStyle = {...defaultStyle,...this.messageHeaderStyle}\n }\n public statusColor: any = {\n online: \"#00f300\",\n private: \"#00f300\",\n password: \"#F7A500\",\n public: \"\"\n }\n backButtonStyle:any = {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"none\",\n background:\"transparent\",\n buttonIconTint:\"#3399FF\"\n }\n checkStatusType = ()=> {\n return this.user && !this.disableUsersPresence ? this.statusColor[this.user?.getStatus()] : this.statusColor[this.group?.getType()]\n }\n onBackClicked(){\n if(this.onBack){\n this.onBack()\n }\n }\n updateSubtitle() {\n const count = this.group?.getMembersCount();\n const membersText = localize(count > 1 ? \"MEMBERS\" : \"MEMBER\");\n if(this.user){\n this.subtitleText = this.disableUsersPresence ? \"\" : this.user.getStatus()\n this.ref.detectChanges();\n }\n else{\n this.subtitleText = `${count} ${membersText}`;\n this.ref.detectChanges();\n }\n\n }\n getSubtitleView() {\n return this.subtitleView(this.user || this.group);\n }\n checkGroupType(): string {\n let image: string = \"\";\n if (this.group) {\n switch (this.group?.getType()) {\n case CometChatUIKitConstants.GroupTypes.password:\n image = this.protectedGroupIcon;\n break;\n case CometChatUIKitConstants.GroupTypes.private:\n image = this.privateGroupIcon;\n break;\n default:\n image = \"\"\n break;\n }\n }\n return image\n }\n updateUserStatus(user:CometChat.User){\n\n if (this.user && this.user.getUid() && this.user.getUid() === user.getUid()) {\n this.user.setStatus(user.getStatus());\n this.updateSubtitle()\n }\n // this.ref.detectChanges();\n }\n attachListeners() {\n try {\n if(!this.disableUsersPresence){\n CometChat.addUserListener(\n this.userListenerId,\n new CometChat.UserListener({\n onUserOnline: (onlineUser: CometChat.User) => {\n /* when someuser/friend comes online, user will be received here */\n this.updateUserStatus(onlineUser);\n },\n onUserOffline: (offlineUser: CometChat.User) => {\n /* when someuser/friend went offline, user will be received here */\n this.updateUserStatus( offlineUser);\n },\n })\n );\n }\n if(!this.disableTyping){\n CometChat.addMessageListener(\n this.msgListenerId,\n new CometChat.MessageListener({\n onTypingStarted: (typingIndicator: CometChat.TypingIndicator) => {\n this.isTyping = true;\n this.setTypingIndicatorText(typingIndicator)\n },\n onTypingEnded: (typingIndicator: CometChat.TypingIndicator) => {\n this.isTyping = false;\n this.updateSubtitle()\n },\n })\n );\n }\n CometChat.addGroupListener(\n this.groupsListenerId,\n new CometChat.GroupListener({\n onGroupMemberScopeChanged: (\n message: CometChat.Action,\n changedUser: CometChat.User,\n newScope: CometChat.GroupMemberScope,\n oldScope: CometChat.GroupMemberScope,\n changedGroup: CometChat.Group\n ) => {\n if (changedUser.getUid() == this.loggedInUser?.getUid()) {\n changedGroup.setScope(newScope)\n }\n this.group = changedGroup\n this.ref.detectChanges()\n this.updateSubtitle()\n },\n onGroupMemberKicked: (message: CometChat.Action, kickedUser: CometChat.User, kickedBy: CometChat.User, kickedFrom: CometChat.Group) => {\n if (kickedUser.getUid() == this.loggedInUser?.getUid()) {\n kickedFrom.setHasJoined(false)\n }\n this.group = kickedFrom\n this.ref.detectChanges()\n this.updateSubtitle()\n },\n onMemberAddedToGroup: (\n message: CometChat.Action,\n userAdded: CometChat.User,\n userAddedBy: CometChat.User,\n userAddedIn: CometChat.Group\n ) => {\n if (userAdded.getUid() == this.loggedInUser?.getUid()) {\n userAddedIn.setHasJoined(true)\n }\n this.group = userAddedIn\n this.ref.detectChanges()\n this.updateSubtitle()\n },\n onGroupMemberLeft: (message: CometChat.Action, leavingUser: CometChat.User, group: CometChat.Group) => {\n if (leavingUser.getUid() == this.loggedInUser?.getUid()) {\n group.setHasJoined(false)\n }\n this.group = group\n this.ref.detectChanges()\n this.updateSubtitle()\n },\n onGroupMemberJoined: (message: CometChat.Action, joinedUser: CometChat.User, joinedGroup: CometChat.Group) => {\n if (joinedUser.getUid() == this.loggedInUser?.getUid()) {\n joinedGroup.setHasJoined(true)\n }\n this.group = joinedGroup\n this.ref.detectChanges()\n this.updateSubtitle()\n },\n })\n );\n } catch (error:any) {\nconsole.log(error)\n }\n }\n removeListener(){\n CometChat.removeMessageListener(this.msgListenerId)\n CometChat.removeUserListener(this.userListenerId)\n }\n ngOnDestroy(){\n this.removeListener()\n this.unsubscribeToEvents()\n }\n setTypingIndicatorText = (typing: CometChat.TypingIndicator) => {\n const sender = typing.getSender();\n const receiverId = typing.getReceiverId();\n const loggedInUser = this.loggedInUser;\n\n if (this.user && sender.getUid() === this.user?.getUid() && loggedInUser?.getUid() === receiverId) {\n this.subtitleText = localize(\"IS_TYPING\");\n this.ref.detectChanges();\n } else if (this.group && this.group.getGuid() === receiverId) {\n this.subtitleText = `${sender.getName()} ${localize(\"IS_TYPING\")}`;\n this.ref.detectChanges();\n }\n }\n\n headerStyle = () => {\n return {\n width: this.messageHeaderStyle.width,\n height: this.messageHeaderStyle.height,\n border: this.messageHeaderStyle.border,\n borderRadius:this.messageHeaderStyle.borderRadius,\n background: this.messageHeaderStyle.background ,\n }\n }\n subtitleStyle = ()=>{\n if(this.user && this.user.getStatus() == CometChatUIKitConstants.userStatusType.online){\n return{\n textFont: this.messageHeaderStyle.subtitleTextFont,\n textColor: this.themeService.theme.palette.getPrimary()\n }\n }\n else{\n return{\n textFont: this.isTyping ? this.messageHeaderStyle.typingIndicatorTextFont : this.messageHeaderStyle.subtitleTextFont,\n textColor: this.isTyping ? this.messageHeaderStyle.typingIndicatorTextColor : this.messageHeaderStyle.subtitleTextColor\n }\n }\n }\n}\n","<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\"> <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle\" (cc-button-clicked)=\"onBackClicked()\"></cometchat-button></div>\n<div class=\"cc-message-header__listitem\">\n<cometchat-list-item *ngIf=\"!listItemView;else listitem\" [avatarName]=\"user?.getName() || this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() || this.group?.getName()\" [hideSeparator]=\"true\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n<div slot=\"subtitleView\">\n<div *ngIf=\"!subtitleView; else subtitle\">\n<cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n\n</cometchat-label>\n</div>\n<ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n</ng-template>\n\n</div>\n</cometchat-list-item>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n</ng-template>\n</div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n\n </ng-container>\n </div>\n </div>\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatMessageHeaderComponent } from \"./cometchat-message-header/cometchat-message-header.component\";\n\nimport { DatePipe } from \"@angular/common\";\n\nimport '@cometchat/uikit-elements'\n@NgModule({\n declarations: [CometChatMessageHeaderComponent],\n imports: [\n CommonModule,\n\n ],\n exports: [CometChatMessageHeaderComponent],\n providers: [DatePipe],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatMessageHeader {}","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatUsersComponent } from \"./cometchat-users/cometchat-users.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport '@cometchat/uikit-elements'\nimport { CometChatList } from \"../CometChatList/cometchat-list.module\";\n@NgModule({\n declarations: [CometChatUsersComponent],\n imports: [\n CommonModule,\n FormsModule,\n CometChatList\n ],\n exports: [CometChatUsersComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatUsers {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatAddMembersComponent } from \"./cometchat-add-members/cometchat-add-members.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CometChatMessageHeader } from \"../CometChatMessageHeader/cometchat-message-header.module\";\nimport { CometChatUsers } from \"../CometChatUsers/cometchat-users.module\";\nimport '@cometchat/uikit-elements'\n@NgModule({\n declarations: [CometChatAddMembersComponent],\n imports: [CommonModule,FormsModule,CometChatMessageHeader,CometChatUsers],\n exports: [CometChatAddMembersComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatAddMembers {}\n","import { Component, OnInit, Input, ChangeDetectorRef, ChangeDetectionStrategy, TemplateRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { Subscription } from \"rxjs\";\nimport { BannedMembersStyle, SelectionMode,BaseStyle,States, TitleAlignment, ListStyle,CometChatUIKitUtility } from '@cometchat/uikit-shared';\nimport {CometChatTheme, fontHelper, localize,CometChatOption, CometChatGroupEvents, CometChatUIKitConstants, IGroupMemberKickedBanned, IGroupMemberUnBanned} from '@cometchat/uikit-resources'\nimport '@cometchat/uikit-elements'\nimport { AvatarStyle, ListItemStyle} from '@cometchat/uikit-elements'\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\n/**\n*\n* CometChatBannedMembersComponent is used to render list of banned members\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-banned-members\",\n templateUrl: \"./cometchat-banned-members.component.html\",\n styleUrls: [\"./cometchat-banned-members.component.scss\"],\n changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class CometChatBannedMembersComponent implements OnInit {\n @Input() bannedMembersRequestBuilder!: CometChat.BannedMembersRequestBuilder;\n @Input() searchRequestBuilder!: CometChat.BannedMembersRequestBuilder;\n @Input() subtitleView!: TemplateRef<any>;\n @Input() listItemView!: TemplateRef<any>;\n @Input() disableUsersPresence:boolean = false;\n @Input() menu!: TemplateRef<any>;\n @Input() options!: ((member:CometChat.GroupMember)=>CometChatOption[]) | null;\n @Input() backButtonIconURL:string = \"assets/backbutton.svg\"\n @Input() closeButtonIconURL:string = \"assets/close2x.svg\"\n @Input() showBackButton:boolean=true;\n @Input() hideSeparator: boolean = false;\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Input() searchPlaceholder: string = \"Search Members\";\n @Input() searchIconURL: string = \"assets/search.svg\";\n @Input() hideSearch: boolean = true;\n @Input() title: string = localize(\"BANNED_MEMBERS\");\n @Input() onError:((error:any)=>void) | null = (error:any)=>{\n console.log(error)\n }\n\n @Input() onSelect!: (member:CometChat.GroupMember)=>void;\n @Input() onBack!:()=>void;\n @Input() onClose!:()=>void;\n @Input() group!:CometChat.Group;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_BANNED_MEMBERS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() titleAlignment: TitleAlignment = TitleAlignment.center;\n @Input() unbanIconURL:string = \"assets/close2x.svg\"\n menuListStyle = {\n width: \"\",\n height: \"\",\n border: \"none\",\n borderRadius: \"8px\",\n background: \"white\",\n textFont: \"400 15px Inter\",\n textColor: \"black\",\n iconTint: \"rgb(51, 153, 255)\",\n iconBackground: \"transparent\",\n iconBorder: \"none\",\n iconBorderRadius: \"0\",\n submenuWidth: \"100%\",\n submenuHeight: \"100%\",\n submenuBorder: \"1px solid #e8e8e8\",\n submenuBorderRadius: \"8px\",\n submenuBackground: \"white\",\n }\n unbanIconStyle:any = {\n border:\"none\",\n background:\"transparent\",\n buttonIconTint:\"rgb(51, 153, 255)\"\n }\n selectedMember!:CometChat.GroupMember;\n titleAlignmentEnum:typeof TitleAlignment = TitleAlignment\n selectionmodeEnum: typeof SelectionMode = SelectionMode;\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"32px\",\n height: \"32px\",\n };\n @Input() bannedMembersStyle: BannedMembersStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"\",\n border: \"\",\n borderRadius: \"\",\n\n padding:\"0 100px\"\n };\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n activeBackground: \"transparent\",\n borderRadius: \"grey\",\n titleFont: \"\",\n titleColor: \"\",\n border: \"\",\n hoverBackground:\"transparent\",\n separatorColor: \"rgb(222 222 222 / 46%)\"\n };\n searchKeyword: string = \"\";\n listStyle:ListStyle = new ListStyle({});\n public limit:number = 30;\n public bannedMembersRequest:any;\n public state: States = States.loading;\n public timeout: any;\n public bannedMembers: CometChat.GroupMember[] = [];\n public scopes:string[] = []\n public ccGroupMemberBanned!:Subscription;\n public membersListenerId: string = \"bannedMembers_\" + new Date().getTime();\n loggedInUser!: CometChat.User | null;\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { }\n membersList:CometChat.GroupMember[] = [];\n onScrolledToBottom:any = null\n ngOnInit(): void {\n this.onScrolledToBottom = this.fetchNextBannedMembers\n this.setThemeStyle()\n CometChat.getLoggedinUser().then((user: CometChat.User | null)=>{\n this.loggedInUser = user\n this.bannedMembersRequest = this.getRequestBuilder()\n this.fetchNextBannedMembers()\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n})\n\n }\n backClicked(){\n if(this.onBack){\n this.onBack()\n }\n }\n closeClicked(){\n if(this.onClose){\n this.onClose()\n }\n }\nunBanMember = (member:CometChat.GroupMember)=>{\n CometChat.unbanGroupMember(this.group.getGuid(), member.getUid()).then(()=>{\n CometChatGroupEvents.ccGroupMemberUnbanned.next({\n unbannedBy:this.loggedInUser!,\n unbannedFrom:this.group,\n unbannedUser:member\n\n })\n this.updateMember(member)\n }).catch((err:any)=>{\n console.log(err)\n\n })\n}\n /**\n * @param {CometChat.User} member\n */\n updateMember = (member: CometChat.GroupMember) => {\n let memberlist:CometChat.GroupMember[] = [...this.bannedMembers];\n //search for user\n let userKey = memberlist.findIndex((u: CometChat.GroupMember, k) => u.getUid() == member.getUid());\n //if found in the list, update user object\n if (userKey > -1) {\n memberlist.splice(userKey, 1);\n this.bannedMembers = [...memberlist];\n this.ref.detectChanges();\n }\n else{\n memberlist.push(member)\n this.bannedMembers = [...memberlist];\n this.ref.detectChanges();\n }\n };\n attachListeners() {\n //Attaching User Listeners to dynamilcally update when a user comes online and goes offline\n CometChat.addGroupListener(\n this.membersListenerId,\n new CometChat.GroupListener({\n onGroupMemberBanned: (message: CometChat.Action, bannedUser: CometChat.User, bannedBy: CometChat.User, bannedFrom: CometChat.Group) => {\n this.updateMember(bannedUser as CometChat.GroupMember)\n },\n onGroupMemberUnbanned: (\n message: CometChat.Action,\n unbannedUser: CometChat.User,\n unbannedBy: CometChat.User,\n unbannedFrom: CometChat.Group\n ) => {\n this.updateMember(unbannedUser as CometChat.GroupMember)\n },\n })\n );\n }\n removeListener() {\n CometChat.removeUserListener(this.membersListenerId);\n this.membersListenerId = \"\";\n }\n fetchNextBannedMembers = () => {\n this.onScrolledToBottom = null\n if(this.bannedMembersRequest && this.bannedMembersRequest.pagination && (this.bannedMembersRequest.pagination.current_page == 0 || this.bannedMembersRequest.pagination.current_page != this.bannedMembersRequest.pagination.total_pages)){\n this.onScrolledToBottom = this.fetchNextBannedMembers\n this.state = States.loading\n this.ref.detectChanges();\n try {\n this.bannedMembersRequest.fetchNext().then(\n (bannedMembers: CometChat.GroupMember[]) => {\n this.state = States.loading\n if ((bannedMembers.length <= 0 && this.bannedMembers?.length <= 0) || (bannedMembers.length === 0 && this.bannedMembers?.length <= 0)) {\n this.state = States.empty\n this.ref.detectChanges();\n } else {\n this.state = States.loaded\n this.bannedMembers = [...this.bannedMembers, ...bannedMembers];\n this.ref.detectChanges();\n }\n },\n (error: any) => {\n console.log(error)\n this.state = States.error\n this.ref.detectChanges();\n }\n );\n } catch (error: any) {\n console.log(error)\n this.state = States.error\n this.ref.detectChanges();\n }\n }\n else{\n this.state = States.loaded\n }\n\n }\n getRequestBuilder() {\n if(this.searchRequestBuilder){\n return this.searchRequestBuilder.build()\n }\n else if (this.bannedMembersRequestBuilder) {\n return this.bannedMembersRequestBuilder.build();\n }\n else {\n return new CometChat.BannedMembersRequestBuilder(this.group?.getGuid())\n .setLimit(this.limit)\n .setSearchKeyword(this.searchKeyword)\n .build();\n }\n }\n subscribeToEvents() {\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item:IGroupMemberKickedBanned) => {\n if(item?.kickedFrom?.getGuid() == this.group.getGuid()){\n this.updateMember(item?.kickedUser as CometChat.GroupMember)\n }\n })\n }\n // unsubscribe to subscribed events.\n unsubscribeToEvents() {\n this.ccGroupMemberBanned.unsubscribe();\n }\n /**\n * @param {string} key\n */\n onSearch = (key: string) => {\n try {\n this.searchKeyword = key;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n const request = this.searchRequestBuilder ? this.searchRequestBuilder.setSearchKeyword(this.searchKeyword).build() : this.getRequestBuilder();\n this.bannedMembersRequest = request;\n this.bannedMembers = [];\n this.fetchNextBannedMembers();\n }, 500);\n } catch (error:any) {\n if(this.onError){\n this.onError(error)\n }\n\n }\n };\n\n setThemeStyle() {\n this.setBanMembersStyle()\n this.setListItemStyle()\n this.setAvatarStyle()\n this.menuListStyle.background = this.themeService.theme.palette.getBackground() as string;\n this.menuListStyle.iconBackground = this.themeService.theme.palette.getBackground() as string;\n this.menuListStyle.iconTint = this.themeService.theme.palette.getAccent400() as string;\n this.menuListStyle.submenuBackground = this.themeService.theme.palette.getBackground() as string;\n this.menuListStyle.textFont = fontHelper(this.themeService.theme.typography.caption1);\n this.menuListStyle.textColor = this.themeService.theme.palette.getAccent500() as string;\n this.unbanIconStyle.buttonIconTint = this.bannedMembersStyle.unbanIconTint;\n\n }\n setBanMembersStyle(){\n let defaultStyle:BannedMembersStyle = new BannedMembersStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"none\",\n searchIconTint:this.themeService.theme.palette.getAccent600(),\n searchPlaceholderTextColor:this.themeService.theme.palette.getAccent600(),\n searchBackground:this.themeService.theme.palette.getAccent100(),\n searchPlaceholderTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchTextColor:this.themeService.theme.palette.getAccent600(),\n searchTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchBorderRadius:\"8px\",\n closeButtonIconTint:this.themeService.theme.palette.getPrimary(),\n backButtonIconTint:this.themeService.theme.palette.getPrimary(),\n padding:\"0 100px\",\n unbanIconTint:this.themeService.theme.palette.getPrimary()\n })\n this.bannedMembersStyle = {...defaultStyle,...this.bannedMembersStyle}\n this.listStyle ={\n titleTextFont : this.bannedMembersStyle.titleTextFont,\n titleTextColor : this.bannedMembersStyle.titleTextColor,\n emptyStateTextFont : this.bannedMembersStyle.emptyStateTextFont,\n emptyStateTextColor : this.bannedMembersStyle.emptyStateTextColor,\n errorStateTextFont : this.bannedMembersStyle.errorStateTextFont,\n errorStateTextColor : this.bannedMembersStyle.errorStateTextColor,\n loadingIconTint : this.bannedMembersStyle.loadingIconTint,\n separatorColor : this.bannedMembersStyle.separatorColor,\n searchIconTint : this.bannedMembersStyle.searchIconTint,\n searchBorder : this.bannedMembersStyle.searchBorder,\n searchBorderRadius : this.bannedMembersStyle.searchBorderRadius,\n searchBackground : this.bannedMembersStyle.searchBackground,\n searchPlaceholderTextFont : this.bannedMembersStyle.searchPlaceholderTextFont,\n searchPlaceholderTextColor : this.bannedMembersStyle.searchPlaceholderTextColor,\n searchTextFont : this.bannedMembersStyle.searchTextFont,\n searchTextColor : this.bannedMembersStyle.searchTextColor,\n }\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"\",\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:\"\"\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"36px\",\n height: \"36px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n\n membersStyles = ()=>{\n return {\n padding:this.bannedMembersStyle.padding\n }\n }\n // styles\n backButtonStyle = ()=> {\n return {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.bannedMembersStyle.backButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n }\n closeButtonStyle = ()=> {\n return {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.bannedMembersStyle.closeButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n }\n wrapperStyle = ()=>{\n return {\n height: this.bannedMembersStyle.height,\n width: this.bannedMembersStyle.width,\n background: this.bannedMembersStyle.background,\n border: this.bannedMembersStyle.border,\n borderRadius: this.bannedMembersStyle.borderRadius\n }\n }\n}\n","<div class=\"cc-banned-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-banned-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\" (cc-button-clicked)=\"backClicked()\" >\n\n </cometchat-button>\n </div>\n <div class=\"cc-banned-members__wrapper\" [ngStyle]=\"membersStyles()\">\n <div class=\"cc-banned-members__menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"bannedMembers\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [title]=\"title\"\n\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-bannedMember>\n <cometchat-list-item [title]=\"bannedMember?.name\" [avatarURL]=\"bannedMember?.avatar\" [avatarName]=\"bannedMember?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-banned-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(bannedMember)\" [menuListStyle]=\"menuListStyle\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none; else changeScope\" class=\"cc-banned-members__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #changeScope>\n <div slot=\"tailView\">\n <div class=\"cc-banned-members__unban\">\n <cometchat-button [buttonStyle]=\"unbanIconStyle\" [iconURL]=\"unbanIconURL\" (click)=\"unBanMember(bannedMember)\">\n\n </cometchat-button>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-banned-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-banned-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatBannedMembersComponent } from \"./cometchat-banned-members/cometchat-banned-members.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CometChatMessageHeader } from \"../CometChatMessageHeader/cometchat-message-header.module\";\nimport { CometChatUsers } from \"../CometChatUsers/cometchat-users.module\";\nimport '@cometchat/uikit-elements'\nimport { CometChatList } from \"../CometChatList/cometchat-list.module\";\n@NgModule({\n declarations: [CometChatBannedMembersComponent],\n imports: [CommonModule,FormsModule,CometChatMessageHeader,CometChatUsers,CometChatList],\n exports: [CometChatBannedMembersComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatBannedMembers {}\n","import {\n ApplicationRef,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n} from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { Subscription } from \"rxjs\";\nimport {SelectionMode,States, TitleAlignment,ConversationUtils , MessageReceiptUtils, CometChatSoundManager,CometChatUIKitUtility, BaseStyle, ConversationsStyle, ListStyle, MessageStatus } from \"@cometchat/uikit-shared\";\nimport {CometChatTheme, fontHelper, localize,CometChatOption, CometChatGroupEvents, CometChatUIKitConstants,IGroupLeft, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberScopeChanged,IMessages, CometChatUserEvents, CometChatMessageEvents, CometChatConversationEvents,DatePatterns, CometChatCallEvents} from '@cometchat/uikit-resources'\nimport '@cometchat/uikit-elements'\nimport { AvatarStyle, ListItemStyle,ConfirmDialogStyle,ReceiptStyle, DateStyle, BadgeStyle} from '@cometchat/uikit-elements'\nimport { CometchatListComponent } from \"../../CometChatList/cometchat-list.component\";\nimport { Message } from \"@angular/compiler/src/i18n/i18n_ast\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\n/**\n*\n* CometChatConversation is a wrapper component consists of CometChatListBaseComponent and ConversationListComponent.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-conversations\",\n templateUrl: \"./cometchat-conversations.component.html\",\n styleUrls: [\"./cometchat-conversations.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatConversationsComponent implements OnInit, OnChanges {\n /**\n* This properties will come from Parent.\n*/\n @Input() subtitleView!: TemplateRef<any>;\n @Input() title: string = localize(\"CHATS\"); //Title of the component\n @Input() options!: ((member:CometChat.Conversation)=>CometChatOption[]) | null;\n @Input() searchPlaceHolder: string = localize(\"SEARCH\"); // placeholder text of search input\n @Input() disableUsersPresence: boolean = false;\n @Input() disableReceipt: boolean = true;\n @Input() disableTyping:boolean = false;\n @Input() deliveredIcon:string = \"assets/message-delivered.svg\"\n @Input() readIcon:string = \"assets/message-read.svg\";\n @Input() errorIcon:string = \"assets/warning-small.svg\";\n @Input() datePattern:DatePatterns = DatePatterns.DayDateTime;\n @Input() onError:(error:CometChat.CometChatException)=>void = (error:CometChat.CometChatException)=>{\n console.log(error)\n }\n @Input() sentIcon:string = \"assets/message-sent.svg\";\n @Input() privateGroupIcon:string =\"assets/Private.svg\";\n @Input() protectedGroupIcon:string = \"assets/Locked.svg\";\n @Input() customSoundForMessages:string = \"\";\n @Input() activeConversation: CometChat.Conversation | null = null; //selected conversation\n @Input() searchIconURL: string = \"assets/search.svg\"; //image URL of the search icon\n @Input() hideSearch: boolean = true; //switch on/ff search input\n @Input() conversationsRequestBuilder: any;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() onSelect!: (conversation:CometChat.Conversation)=>void;\n @Input() loadingIconURL:string = \"assets/Spinner.svg\"\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_CHATS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() titleAlignment: TitleAlignment = TitleAlignment.left;\n\n @Input() listItemView!: TemplateRef<any>;\n @Input() menu!: TemplateRef<any>;\n @Input() hideSeparator: boolean = false;\n @Input() searchPlaceholder: string = localize(\"SEARCH\");\n @Input() hideError: boolean = false;\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Input() disableSoundForMessages:boolean = false;\n @Input() confirmDialogTitle = localize(\"DELETE_CONVERSATION\")\n @Input() confirmButtonText: string = localize(\"DELETE\");\n @Input() cancelButtonText: string = localize(\"CANCEL\");\n @Input() confirmDialogMessage: string = localize(\"WOULD__YOU_LIKE_TO_DELETE_THIS_CONVERSATION\");\n @Input() onItemClick!:(conversation:CometChat.Conversation)=>void;\n @Input() deleteConversationDialogStyle: ConfirmDialogStyle = {\n confirmButtonBackground: \"\",\n cancelButtonBackground: \"\",\n confirmButtonTextColor: \"\",\n confirmButtonTextFont: \"\",\n cancelButtonTextColor: \"\",\n cancelButtonTextFont: \"\",\n titleFont: \"\",\n titleColor: \"\",\n messageTextFont: \"\",\n messageTextColor: \"\",\n background: \"\",\n border:\"1px solid #f2f2f2\",\n height:\"100%\",\n width:\"100%\"\n }\n @Input() backdropStyle :BaseStyle = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n @Input() badgeStyle: BadgeStyle = {\n width: \"25px\",\n height: \"15px\",\n background: \"#5aaeff\",\n textColor: \"white\",\n textFont: \"400 13px Inter, sans-serif\",\n borderRadius:\"16px\"\n }\n @Input() dateStyle: DateStyle = {\n textFont: \"400 11px Inter, sans-serif\",\n textColor: \"rgba(20, 20, 20, 0.58)\",\n }\n @Input() conversationsStyle: ConversationsStyle = {\n width:\"\",\n height:\"\",\n border:\"\",\n borderRadius:\"\",\n }\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n activeBackground: \"\",\n borderRadius: \"grey\",\n titleFont: \"\",\n titleColor: \"\",\n border: \"\",\n separatorColor:\"rgb(232, 232, 232)\"\n };\n @Input() statusIndicatorStyle: any = {\n height: \"10px\",\n width: \"10px\",\n borderRadius: \"16px\"\n };\n @Input() typingIndicatorText:string = localize(\"IS_TYPING\");\n @Input() threadIndicatorText:string = localize(\"IN_A_THREAD\");\n @Input() avatarStyle: AvatarStyle = {};\n @Input() receiptStyle:ReceiptStyle = {}\n ccGroupMemberAdded!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccGroupMemberScopeChanged!:Subscription;\n ccOwnershipChanged!:Subscription;\n ccMessageEdit!: Subscription;\n ccMessageSent!: Subscription;\n ccMessageEdited!: Subscription;\n ccMessageDelete!: Subscription;\n ccGroupDeleted!: Subscription;\n ccGroupLeft!: Subscription;\n ccUserBlocked!: Subscription;\n ccMessageRead!: Subscription;\n public ccOutgoingCall!: Subscription;\n public ccCallRejected!: Subscription;\n public ccCallEnded!: Subscription;\n public ccCallAccepted!:Subscription;\n iconStyle:any = {\n iconTint:\"lightgrey\",\n height:\"20px\",\n width:\"20px\"\n }\n listStyle:ListStyle = new ListStyle({})\n menustyle = {\n width: \"\",\n height: \"\",\n border: \"none\",\n borderRadius: \"8px\",\n background: \"transparent\",\n textFont: \"\",\n textColor: \"black\",\n iconTint: \"grey\",\n iconBackground: \"transparent\",\n iconBorder: \"none\",\n iconBorderRadius: \"0\",\n submenuWidth: \"70px\",\n submenuHeight: \"20px\",\n submenuBorder: \"1px solid #e8e8e8\",\n submenuBorderRadius: \"8px\",\n submenuBackground: \"white\",\n }\n public typingIndicator!:CometChat.TypingIndicator | null\n public typingListenerId: string = \"conversation__LISTENER\" + new Date().getTime();\n public callListenerId = \"call_\"+ new Date().getTime();\n selectionmodeEnum: typeof SelectionMode = SelectionMode;\n public isDialogOpen: boolean = false;\n // public loggedInUser!: CometChat.User | null;\n public isEmpty: boolean = false;\n public isLoading: boolean = true;\n public state: States = States.loading;\n public statusColor: any = {\n online: \"\",\n private: \"\",\n password: \"#F7A500\",\n public: \"\"\n }\n public limit:number = 30;\n public isError: boolean = false;\n public conversationList: CometChat.Conversation[] = [];\n public scrolledToBottom: boolean = false;\n public checkItemChange: boolean = false;\n conversationOptions!:CometChatOption[];\n public showConfirmDialog: boolean = false;\n public conversationToBeDeleted: CometChat.Conversation | null = null;\n public conversationListenerId: string = \"chatlist_\" + new Date().getTime();\n public userListenerId: string = \"chatlist_user_\" + new Date().getTime();\n public groupListenerId: string = \"chatlist_group_\" + new Date().getTime();\n public groupToUpdate: CometChat.Group | {} = {};\n enablePolls:boolean = false;\n enableStickers:boolean = false;\n enableWhiteboard:boolean = false\n enableDocument:boolean = false\n threadIconURL:string = \"assets/thread-arrow.svg\"\n public confirmDialogStyle: ConfirmDialogStyle = {\n height: \"100%\",\n width: \"100%\",\n borderRadius: \"8px\"\n }\n subtitleValue!: string;\n modalStyle:BaseStyle = {\n height:\"230px\",\n width:\"270px\"\n\n }\n /**\n * Properties for internal use\n */\n public localize = localize;\n /**\n* This properties will come from Parent.\n*/\n @Input() loggedInUser!: CometChat.User | null;\n /**\n * Properties for internal use\n */\n /**\n * passing this callback to menuList component on delete click\n * @param {CometChat.Conversation} conversation\n */\n deleteConversationOnClick: (()=>void) | null = ()=> {\n this.showConfirmationDialog(this.conversationToBeDeleted!)\n }\n // callback for confirmDialogComponent\n onConfirmClick = () => {\n this.deleteSelectedConversation();\n }\n setStatusIndicatorStyle = (conversation: CometChat.Conversation) => {\n if (conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.group) {\n return {\n height: \"12px\",\n width: \"12px\",\n borderRadius: \"16px\"\n }\n }\n else {\n return this.statusIndicatorStyle\n }\n }\n\n /**\n * @param {CometChat.Conversation} conversation\n */\n checkStatusType(conversation: CometChat.Conversation) {\n let user:CometChat.User = conversation.getConversationWith() as CometChat.User\n if (conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.user && !this.disableUsersPresence) {\n return this.statusColor[user.getStatus()]\n }\n else {\n return this.statusColor[conversation.getConversationType()]\n }\n }\n getExtensionData(messageObject: CometChat.BaseMessage) {\n let messageText\n //xss extensions data\n const xssData = CometChatUIKitUtility.checkMessageForExtensionsData(messageObject, \"xss-filter\");\n if (xssData && CometChatUIKitUtility.checkHasOwnProperty(xssData, \"sanitized_text\") && CometChatUIKitUtility.checkHasOwnProperty(xssData, \"hasXSS\") && xssData.hasXSS === \"yes\") {\n messageText = xssData.sanitized_text;\n }\n //datamasking extensions data\n const maskedData = CometChatUIKitUtility.checkMessageForExtensionsData(messageObject, \"data-masking\");\n if (maskedData && CometChatUIKitUtility.checkHasOwnProperty(maskedData, \"data\") && CometChatUIKitUtility.checkHasOwnProperty(maskedData.data, \"sensitive_data\") && CometChatUIKitUtility.checkHasOwnProperty(maskedData.data, \"message_masked\") && maskedData.data.sensitive_data === \"yes\") {\n messageText = maskedData.data.message_masked;\n }\n //profanity extensions data\n const profaneData = CometChatUIKitUtility.checkMessageForExtensionsData(messageObject, \"profanity-filter\");\n if (profaneData && CometChatUIKitUtility.checkHasOwnProperty(profaneData, \"profanity\") && CometChatUIKitUtility.checkHasOwnProperty(profaneData, \"message_clean\") && profaneData.profanity === \"yes\") {\n messageText = profaneData.message_clean;\n }\n return messageText || (messageObject as any).text\n }\n setSubtitle = (conversationObject: CometChat.Conversation) => {\n if (this.typingIndicator) {\n const isTyping = (conversationObject as any)?.conversationWith?.guid == this.typingIndicator.getReceiverId();\n if (isTyping) {\n return `${this.typingIndicator.getSender().getName()} ${this.typingIndicatorText}`;\n } else if ((conversationObject as any)?.conversationWith?.uid == this.typingIndicator?.getSender().getUid() && this.typingIndicator.getReceiverType() !== CometChatUIKitConstants.MessageReceiverType.group) {\n return this.typingIndicatorText;\n }\n }\n let subtitle = ChatConfigurator.getDataSource().getLastConversationMessage(conversationObject, this.loggedInUser!)\n let icon = conversationObject?.getLastMessage()?.getType() == CometChatUIKitConstants.MessageTypes.audio ? \"📞 \" : \"📹 \"\n return conversationObject?.getLastMessage()?.getCategory() == CometChatUIKitConstants.MessageCategory.call ? icon + subtitle : subtitle\n }\n checkGroupType(conversation: CometChat.Conversation): string {\n let image: string = \"\";\n if (conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.group) {\n switch (conversation.getConversationType()) {\n case CometChatUIKitConstants.GroupTypes.password:\n image = this.protectedGroupIcon;\n break;\n case CometChatUIKitConstants.GroupTypes.private:\n image = this.privateGroupIcon;\n break;\n default:\n image = \"\"\n break;\n }\n }\n return image\n }\n // callback for confirmDialogComponent\n onCancelClick = () => {\n this.isDialogOpen = false\n this.conversationToBeDeleted = null\n this.ref.detectChanges()\n }\n getMessageReceipt = (conversation: CometChat.Conversation) => {\n let receipt = MessageReceiptUtils.getReceiptStatus(conversation.getLastMessage())\n return receipt\n }\n getDate(){\n return this.datePattern || DatePatterns.DayDateTime\n }\n optionsStyle = {\n background: \"transparent\",\n border: \"none\"\n }\n isActive: boolean = true;\n contactsNotFound: boolean = false;\n chatSearch!: boolean;\n constructor(private ngZone: NgZone,private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n\n ngOnInit() {\n this.setThemeStyle();\n this.subscribeToEvents()\nif(this.conversationsRequestBuilder){\n this.conversationsRequestBuilder?.build()\n}\nelse{\n this.conversationsRequestBuilder = new CometChat.ConversationsRequestBuilder().setLimit(this.limit).build()\n}\n this.state = States.loading;\n this.setConversationOptions();\n try {\n this.getConversation();\n this.attachListeners(this.conversationUpdated);\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n this.ref.detectChanges()\n }\nupdateConversationObject(conversation:CometChat.Conversation){\n let index = this.conversationList.findIndex((element: CometChat.Conversation) => element.getConversationId() == conversation.getConversationId());\n this.conversationList.splice(index, 1, conversation);\n this.ref.detectChanges()\n}\n subscribeToEvents(){\n this.ccGroupMemberScopeChanged = CometChatGroupEvents.ccGroupMemberScopeChanged.subscribe((item:IGroupMemberScopeChanged)=>{\n let conversation = this.getConversationFromGroup(item.group!)\n if(conversation){\n conversation.setLastMessage(item.message)\n this.updateConversationObject(conversation)\n }\n })\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item:IGroupMemberAdded)=>{\n let group:CometChat.Group = item.userAddedIn!\n let actionMessage:CometChat.Action[] = item.messages!\n let conversation:CometChat.Conversation | null = this.getConversationFromGroup(item.userAddedIn!)\n conversation?.setConversationWith(group)\n conversation?.setLastMessage(actionMessage[actionMessage?.length -1])\n this.updateConversationObject(conversation!)\n })\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item:IGroupMemberKickedBanned)=>{\n let conversation = this.getConversationFromGroup(item.kickedFrom!)\n if(conversation){\n conversation.setLastMessage(item.message)\n this.updateConversationObject(conversation)\n }\n });\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item:IGroupMemberKickedBanned)=>{\n let conversation = this.getConversationFromGroup(item.kickedFrom!)\n if(conversation){\n conversation.setLastMessage(item.message)\n this.updateConversationObject(conversation)\n }\n });\n this.ccGroupDeleted = CometChatGroupEvents.ccGroupDeleted.subscribe((item:CometChat.Group)=>{\n let conversation:CometChat.Conversation | null = this.getConversationFromGroup(item)\n if(conversation){\n this.removeConversation(conversation)\n }\n });\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item:IGroupLeft)=>{\n\n this.updateConversation(item.message!)\n this.ref.detectChanges();\n });\n this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((item:CometChat.User)=>{\n let conversation:CometChat.Conversation | null = this.getConversationFromUser(item)\n if(conversation){\n this.removeConversation(conversation)\n }\n });\n this.ccMessageEdit = CometChatMessageEvents.ccMessageEdited.subscribe((object: IMessages) => {\n let message: CometChat.BaseMessage = object.message!\n if(object.status == MessageStatus.success){\n this.updateEditedMessage(message as CometChat.TextMessage)\n }\n })\n this.ccMessageSent = CometChatMessageEvents.ccMessageSent.subscribe((obj: IMessages) => {\n let message: CometChat.BaseMessage = obj.message!\n if(obj.status == MessageStatus.success){\n this.updateConversation(message)\n }\n })\n this.ccMessageDelete = CometChatMessageEvents.ccMessageDeleted.subscribe((messageObject: CometChat.BaseMessage) => {\n this.updateConversation(messageObject)\n this.ref.detectChanges();\n })\n this.ccMessageRead = CometChatMessageEvents.ccMessageRead.subscribe((messageObject: CometChat.BaseMessage) => {\n CometChat.CometChatHelper.getConversationFromMessage(messageObject).then((conversation:CometChat.Conversation)=>{\n if(conversation && this.activeConversation && conversation?.getConversationId() == this.activeConversation?.getConversationId()){\n this.updateEditedMessage(messageObject as CometChat.TextMessage)\n this.resetUnreadCount();\n }\n })\n })\n this.ccCallEnded = CometChatCallEvents.ccCallEnded.subscribe((call:CometChat.Call)=>{\n if(call){\n this.updateConversation(call)\n }\n })\n this.ccCallRejected = CometChatCallEvents.ccCallRejected.subscribe((call: CometChat.Call) => {\n this.updateConversation(call)\n })\n this.ccOutgoingCall = CometChatCallEvents.ccOutgoingCall.subscribe((call: CometChat.Call) => {\n this.updateConversation(call)\n })\n this.ccCallAccepted = CometChatCallEvents.ccCallAccepted.subscribe((call: CometChat.Call) => {\n this.updateConversation(call)\n })\n }\n unsubscribeToEvents(){\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccMessageEdit?.unsubscribe();\n this.ccMessageSent?.unsubscribe();\n this.ccMessageEdited?.unsubscribe();\n this.ccMessageDelete?.unsubscribe();\n this.ccGroupDeleted?.unsubscribe();\n this.ccGroupLeft?.unsubscribe();\n this.ccUserBlocked?.unsubscribe();\n this.ccMessageRead?.unsubscribe();\n }\n getConversationFromUser(user:CometChat.User){\n let index = this.conversationList.findIndex((element: CometChat.Conversation) => element.getConversationType() == CometChatUIKitConstants.MessageReceiverType.user && (element.getConversationWith() as CometChat.User).getUid() == user.getUid());\n if(index >= 0){\n return this.conversationList[index]\n }\n return null\n }\n getConversationFromGroup(group:CometChat.Group):CometChat.Conversation | null{\n let index = this.conversationList.findIndex((element: CometChat.Conversation) => element.getConversationType() == CometChatUIKitConstants.MessageReceiverType.group && (element.getConversationWith() as CometChat.Group).getGuid() == group.getGuid());\n if(index >= 0){\n return this.conversationList[index]\n }\n return null\n }\n ngOnChanges(change: SimpleChanges) {\n try {\n if(change[\"activeConversation\"]){\n this.resetUnreadCount()\n }\n /**\n * When user sends message conversationList is updated with latest message\n */\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n ngOnDestroy() {\n try {\n this.removeListeners();\n this.unsubscribeToEvents()\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n this.ref.detectChanges()\n }\n // getting default conversation option and adding callback in it\n setConversationOptions() {\n if(this.options){\n return;\n }\n this.conversationOptions = ConversationUtils.getDefaultOptions();\n this.conversationOptions.forEach((element: CometChatOption) => {\n if (!element.onClick && element.id == CometChatUIKitConstants.ConversationOptions.delete) {\n element.onClick = this.deleteConversationOnClick\n }\n });\n return;\n }\n // reset unread count\n onClick(conversation: CometChat.Conversation) {\n if(this.onItemClick){\n this.onItemClick(conversation)\n }\n }\n // set unread count\n resetUnreadCount() {\n if (this.activeConversation) {\n const conversationlist: CometChat.Conversation[] = [...this.conversationList];\n //Gets the index of user which comes offline/online\n const conversationKey = conversationlist.findIndex(\n (conversationObj: CometChat.Conversation) =>\n conversationObj?.getConversationId() === this.activeConversation?.getConversationId()\n );\n if (conversationKey > -1) {\n let conversationObj: CometChat.Conversation = conversationlist[conversationKey];\n let newConversationObj: CometChat.Conversation = conversationObj\n newConversationObj.setUnreadMessageCount(0);\n (newConversationObj.getLastMessage() as CometChat.TextMessage)?.setMuid(this.getUinx())\n conversationlist.splice(conversationKey, 1, newConversationObj);\n this.conversationList = [...conversationlist];\n this.ref.detectChanges()\n }\n }\n }\n // sets property from theme to style object\n setThemeStyle() {\n this.setAvatarStyle();\n this.setBadgeStyle();\n this.setConfirmDialogStyle();\n this.setConversationsStyle();\n this.setListItemStyle();\n this.setDateStyle();\n this.setStatusStyle();\n this.setReceiptStyle();\n this.statusColor.private =this.conversationsStyle?.privateGroupIconBackground ;\n this.statusColor.online =this.conversationsStyle?.onlineStatusColor ;\n this.statusColor.password =this.conversationsStyle?.passwordGroupIconBackground;\n this.listStyle ={\n titleTextFont : this.conversationsStyle.titleTextFont,\n titleTextColor : this.conversationsStyle.titleTextColor,\n emptyStateTextFont : this.conversationsStyle.emptyStateTextFont,\n emptyStateTextColor : this.conversationsStyle.emptyStateTextColor,\n errorStateTextFont : this.conversationsStyle.errorStateTextFont,\n errorStateTextColor : this.conversationsStyle.errorStateTextColor,\n loadingIconTint : this.conversationsStyle.loadingIconTint,\n separatorColor : this.conversationsStyle.separatorColor,\n }\n this.iconStyle.iconTint = this.themeService.theme.palette.getAccent400();\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"100%\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: this.themeService.theme.palette.getAccent50(),\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:this.themeService.theme.palette.getAccent50()\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"36px\",\n height: \"36px\",\n border: `1px solid ${this.themeService.theme.palette.getAccent200()}`,\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"12px\",\n width:\"12px\",\n border:\"none\",\n borderRadius:\"24px\",\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setConversationsStyle(){\n let defaultStyle:ConversationsStyle = new ConversationsStyle({\n lastMessageTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n lastMessageTextColor: this.themeService.theme.palette.getAccent600(),\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n privateGroupIconBackground:this.themeService.theme.palette.getSuccess(),\n passwordGroupIconBackground:\"RGB(247, 165, 0)\",\n typingIndictorTextColor:this.themeService.theme.palette.getPrimary(),\n typingIndictorTextFont:fontHelper(this.themeService.theme.typography.subtitle2),\n threadIndicatorTextFont:fontHelper(this.themeService.theme.typography.caption2),\n threadIndicatorTextColor:this.themeService.theme.palette.getAccent600(),\n })\n this.conversationsStyle = {...defaultStyle,...this.conversationsStyle}\n }\n setDateStyle(){\n let defaultStyle:DateStyle = new DateStyle({\n textFont: fontHelper(this.themeService.theme.typography.caption2),\n textColor: this.themeService.theme.palette.getAccent600(),\n background:\"transparent\"\n })\n this.dateStyle = {...defaultStyle,...this.dateStyle}\n }\n setReceiptStyle(){\n\n let defaultStyle:ReceiptStyle = new ReceiptStyle({\nwaitIconTint:this.themeService.theme.palette.getAccent700(),\nsentIconTint:this.themeService.theme.palette.getAccent600(),\ndeliveredIconTint:this.themeService.theme.palette.getAccent600(),\nreadIconTint:this.themeService.theme.palette.getPrimary(),\nerrorIconTint:this.themeService.theme.palette.getError(),\n })\n this.receiptStyle = {...defaultStyle,...this.receiptStyle}\n }\n setBadgeStyle(){\n let defaultStyle:BadgeStyle = new BadgeStyle({\n textFont: fontHelper(this.themeService.theme.typography.subtitle2),\n textColor: this.themeService.theme.palette.getAccent(\"dark\"),\n background:this.themeService.theme.palette.getPrimary(),\n borderRadius:\"16px\",\n width:\"24px\",\n })\n this.badgeStyle = {...defaultStyle,...this.badgeStyle}\n }\n setConfirmDialogStyle(){\n let defaultStyle:ConfirmDialogStyle = new ConfirmDialogStyle({\n confirmButtonBackground: this.themeService.theme.palette.getError(),\n cancelButtonBackground: this.themeService.theme.palette.getSecondary(),\n confirmButtonTextColor: this.themeService.theme.palette.getAccent900(\"light\"),\n confirmButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n cancelButtonTextColor: this.themeService.theme.palette.getAccent900(\"dark\"),\n cancelButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n titleFont: fontHelper(this.themeService.theme.typography.title1),\n titleColor: this.themeService.theme.palette.getAccent(),\n messageTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n background: this.themeService.theme.palette.getBackground(),\n height:\"100%\",\n width:\"350px\",\n })\n this.deleteConversationDialogStyle = {...defaultStyle,...this.deleteConversationDialogStyle}\n }\n // checking if user has his own configuration else will use default configuration\n /**\n * @param {Object={}} config\n * @param {Object} defaultConfig?\n * @returns defaultConfig\n */\n // calling subtitle callback from configurations\n /**\n * @param {CometChat.Conversation} conversation\n */\n /**\n * Fetches the coversation based on the conversationRequest config\n */\n fetchNextConversation() {\n try {\n return this.conversationsRequestBuilder?.fetchNext();\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n updateEditedMessage(message:CometChat.TextMessage){\n let index = this.conversationList.findIndex(\n (conversationObj: CometChat.Conversation) => conversationObj.getLastMessage() && (conversationObj.getLastMessage() as CometChat.BaseMessage).getId() == message?.getId()\n );\n if(index >= 0){\n this.conversationEditedDeleted(message)\n }\n }\n /**\n * attaches Listeners for user activity , group activities and calling\n * @param callback\n */\n /**\n * @param {Function} callback\n */\n attachListeners(callback: any) {\n try {\n if (!this.disableUsersPresence) {\n CometChat.addUserListener(\n this.userListenerId,\n new CometChat.UserListener({\n onUserOnline: (onlineUser: object) => {\n /* when someuser/friend comes online, user will be received here */\n callback(CometChatUIKitConstants.userStatusType.online, onlineUser);\n },\n onUserOffline: (offlineUser: object) => {\n /* when someuser/friend went offline, user will be received here */\n callback(CometChatUIKitConstants.userStatusType.offline, offlineUser);\n },\n })\n );\n }\n CometChat.addGroupListener(\n this.groupListenerId,\n new CometChat.GroupListener({\n onGroupMemberScopeChanged: (\n message: any,\n changedUser: any,\n newScope: any,\n oldScope: any,\n changedGroup: any\n ) => {\n this.updateConversation(message)\n },\n onGroupMemberKicked: (message: any, kickedUser: any, kickedBy: any, kickedFrom: any) => {\n this.updateConversation(message)\n },\n onGroupMemberBanned: (message: any, bannedUser: any, bannedBy: any, bannedFrom: any) => {\n this.updateConversation(message)\n },\n onGroupMemberUnbanned: (\n message: any,\n unbannedUser: any,\n unbannedBy: any,\n unbannedFrom: any\n ) => {\n // this.updateConversation(message)\n },\n onMemberAddedToGroup: (\n message: any,\n userAdded: any,\n userAddedBy: any,\n userAddedIn: any\n ) => {\n this.updateConversation(message)\n },\n onGroupMemberLeft: (message: any, leavingUser: any, group: any) => {\n this.updateConversation(message)\n },\n onGroupMemberJoined: (message: any, joinedUser: any, joinedGroup: any) => {\n this.updateConversation(message)\n },\n })\n );\n CometChat.addMessageListener(\n this.conversationListenerId,\n new CometChat.MessageListener({\n onTextMessageReceived: (textMessage: CometChat.TextMessage) => {\n callback(CometChatUIKitConstants.messages.TEXT_MESSAGE_RECEIVED, null, textMessage);\n },\n onMediaMessageReceived: (mediaMessage: CometChat.MediaMessage) => {\n callback(CometChatUIKitConstants.messages.MEDIA_MESSAGE_RECEIVED, null, mediaMessage);\n },\n onCustomMessageReceived: (customMessage: CometChat.BaseMessage) => {\n callback(CometChatUIKitConstants.messages.CUSTOM_MESSAGE_RECEIVED, null, customMessage);\n\n },\n onMessagesRead: (messageReceipt: CometChat.MessageReceipt) => {\n if (!this.disableReceipt) {\n this.markAsRead(messageReceipt);\n }\n },\n onMessageDeleted: (deletedMessage: CometChat.BaseMessage) => {\n callback(CometChatUIKitConstants.messages.MESSAGE_DELETED, null, deletedMessage);\n },\n onMessageEdited: (editedMessage: CometChat.BaseMessage) => {\n callback(CometChatUIKitConstants.messages.MESSAGE_EDITED, null, editedMessage);\n },\n onMessagesDelivered: (messageReceipt: CometChat.MessageReceipt) => {\n if (!this.disableReceipt) {\n this.updateDeliveredMessage(messageReceipt);\n }\n },\n onTypingStarted: (typingIndicator: CometChat.TypingIndicator) => {\n if(!this.disableTyping){\n this.typingIndicator = typingIndicator\n this.ref.detectChanges()\n }\n },\n onTypingEnded: (typingIndicator: CometChat.TypingIndicator) => {\n this.typingIndicator = null\n this.ref.detectChanges()\n }\n })\n );\n CometChat.addCallListener(\n this.callListenerId,\n new CometChat.CallListener({\n onIncomingCallReceived: (call: CometChat.Call) => {\n this.updateConversation(call)\n },\n onIncomingCallCancelled: (call: CometChat.Call) => {\n this.updateConversation(call)\n },\n onOutgoingCallRejected: (call: CometChat.Call) => {\n this.updateConversation(call)\n\n },\n onOutgoingCallAccepted: (call: CometChat.Call) => {\n this.updateConversation(call)\n },\n\n })\n );\n\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n /**\n * Removes all listeners\n */\n removeListeners() {\n try {\n CometChat.removeMessageListener(this.conversationListenerId);\n CometChat.removeUserListener(this.userListenerId);\n CometChat.removeGroupListener(this.groupListenerId);\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n /**\n * Fetches Conversations Details with all the users\n */\n getConversation = () => {\n if((this.conversationsRequestBuilder && !this.conversationsRequestBuilder?.pagination) || (this.conversationsRequestBuilder.pagination.current_page == 0 || this.conversationsRequestBuilder.pagination.current_page != this.conversationsRequestBuilder.pagination.total_pages)){\n this.state = States.loading\n try {\n CometChat.getLoggedinUser()\n .then((user: CometChat.User | null) => {\n this.loggedInUser = user;\n this.fetchNextConversation()\n .then((conversationList: CometChat.Conversation[]) => {\n conversationList.forEach((conversation: CometChat.Conversation) => {\n if (\n this.activeConversation && this.activeConversation !== null &&\n this.activeConversation.getConversationType() === conversation.getConversationType()\n ) {\n if (\n this.activeConversation.getConversationId() == conversation.getConversationId()\n ) {\n conversation.setUnreadMessageCount(0);\n }\n }\n });\n this.conversationList = [\n ...this.conversationList,\n ...conversationList,\n ];\n if ((conversationList.length <= 0 && this.conversationList?.length <= 0) || (conversationList.length === 0 && this.conversationList?.length <= 0)) {\n this.ngZone.run(() => {\n if(this.state != States.empty){\n this.state = States.empty\n this.ref.detectChanges()\n }\n this.ref.detach(); // Detach the change detector\n });\n } else {\n this.ngZone.run(() => {\n if(this.state != States.loaded){\n this.state = States.loaded\n this.ref.detectChanges()\n }\n this.ref.detach(); // Detach the change detector\n });\n\n }\n })\n .catch((error: any) => {\n this.state = States.error\n this.ref.detectChanges();\n });\n })\n .catch((error: any) => {\n this.state = States.error\n this.ref.detectChanges();\n });\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n else{\n this.state = States.loaded;\n }\n }\n isReceiptDisable(conversation:CometChat.Conversation){\n let item:any = conversation.getConversationWith()\n let message:CometChat.BaseMessage = conversation.getLastMessage()\n if(!this.disableReceipt && message && message?.getCategory() != CometChatUIKitConstants.MessageCategory.action && message?.getCategory() != CometChatUIKitConstants.MessageCategory.call\n && (!this.typingIndicator || (item?.uid != this.typingIndicator.getReceiverId() && item?.guid != this.typingIndicator.getReceiverId()))\n && message.getSender()?.getUid() == this.loggedInUser?.getUid()\n )\n {\n return true\n }\n else{\n return false\n }\n }\n /**\n * Updates the conversation list's last message , badgeCount , user presence based on activities propagated by listeners\n */\n conversationUpdated = (\n key: any,\n item: CometChat.User | CometChat.Group | null = null,\n message: CometChat.BaseMessage,\n options = null\n ) => {\n try {\n switch (key) {\n case CometChatUIKitConstants.userStatusType.online:\n case CometChatUIKitConstants.userStatusType.online: {\n this.updateUser(item);\n break;\n }\n case CometChatUIKitConstants.messages.MESSAGE_READ: {\n this.updateConversation(message, false)\n break;\n }\n case CometChatUIKitConstants.messages.MESSAGE_DELIVERED: {\n this.updateConversation(message, false)\n break;\n }\n case CometChatUIKitConstants.messages.TEXT_MESSAGE_RECEIVED:\n case CometChatUIKitConstants.messages.MEDIA_MESSAGE_RECEIVED:\n case CometChatUIKitConstants.messages.CUSTOM_MESSAGE_RECEIVED:\n if(!this.disableReceipt){\n this.markMessageAsDelivered(message);\n }\n this.updateConversation(message);\n break;\n case CometChatUIKitConstants.groupMemberAction.ADDED:\n case CometChatUIKitConstants.groupMemberAction.BANNED:\n case CometChatUIKitConstants.groupMemberAction.JOINED:\n case CometChatUIKitConstants.groupMemberAction.KICKED:\n case CometChatUIKitConstants.groupMemberAction.LEFT:\n case CometChatUIKitConstants.groupMemberAction.UNBANNED:\n case CometChatUIKitConstants.groupMemberAction.SCOPE_CHANGE:\n this.updateConversation(message)\n break;\n case CometChatUIKitConstants.messages.MESSAGE_EDITED:\n case CometChatUIKitConstants.messages.MESSAGE_DELETED:\n this.conversationEditedDeleted(message);\n break;\n }\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n };\n /**\n * @param {CometChat.BaseMessage} message\n */\n markMessageAsDelivered = (message: CometChat.BaseMessage) => {\n //if chat window is not open, mark message as delivered\n if (this.activeConversation?.getConversationType() == CometChatUIKitConstants.MessageReceiverType.user) {\n if ((!this.activeConversation || (this.activeConversation?.getConversationWith() as CometChat.User)?.getUid() !== message?.getSender()?.getUid())\n && !message.hasOwnProperty(\"deliveredAt\")) {\n CometChat.markAsDelivered(message)\n }\n }\n else {\n if ((!this.activeConversation || (this.activeConversation?.getConversationWith() as CometChat.Group)?.getGuid() !== message?.getReceiverId())\n && !message.hasOwnProperty(\"deliveredAt\")) {\n CometChat.markAsDelivered(message)\n }\n }\n };\n /**\n * @param {CometChat.BaseMessage} readMessage\n */\n getUinx = () => {\n return String(Math.round(+new Date() / 1000))\n }\n markAsRead(readMessage: CometChat.MessageReceipt) {\n let conversationlist: CometChat.Conversation[] = [...this.conversationList]\n const conversationKey = conversationlist.findIndex(\n (conversationObj: CometChat.Conversation) => (conversationObj.getLastMessage() as CometChat.BaseMessage).getReceiverId() == readMessage.getSender().getUid()\n );\n if (conversationKey > -1) {\n let newConversationObject!: CometChat.Conversation;\n if (!(conversationlist[conversationKey].getLastMessage() as CometChat.TextMessage).getReadAt()) {\n newConversationObject = conversationlist[conversationKey];\n (newConversationObject.getLastMessage() as CometChat.TextMessage).setReadAt(readMessage.getReadAt());\n (newConversationObject.getLastMessage() as CometChat.TextMessage).setMuid(this.getUinx());\n conversationlist.splice(conversationKey, 1, newConversationObject);\n this.conversationList = [...conversationlist];\n\n }\n }\n }\n /**\n * Updates Detail when user comes online/offline\n * @param\n */\n /**\n * @param {CometChat.User|CometChat.Group|null} user\n */\n updateUser(user: CometChat.User | CometChat.Group | null) {\n try {\n //when user updates\n const conversationlist: CometChat.Conversation[] = [...this.conversationList];\n //Gets the index of user which comes offline/online\n const conversationKey = conversationlist.findIndex(\n (conversationObj: CometChat.Conversation) =>\n conversationObj.getConversationType() === CometChatUIKitConstants.MessageReceiverType.user &&\n (conversationObj.getConversationWith() as CometChat.User).getUid() === (user as CometChat.User).getUid()\n );\n if (conversationKey > -1) {\n let conversationObj: CometChat.Conversation = conversationlist[conversationKey];\n let conversationWithObj: CometChat.User = (conversationObj.getConversationWith() as CometChat.User)\n conversationWithObj.setStatus((user as CometChat.User).getStatus())\n let newConversationObj: CometChat.Conversation = conversationObj\n newConversationObj.setConversationWith(conversationWithObj);\n (newConversationObj.getLastMessage() as CometChat.TextMessage).setMuid(this.getUinx())\n conversationlist.splice(conversationKey, 1, newConversationObj);\n this.conversationList = conversationlist;\n this.ref.detectChanges()\n }\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n this.ref.detectChanges();\n }\n }\n /**\n *\n * Gets the last message\n * @param conversation\n /**\n * @param {CometChat.BaseMessage} message\n * @param {CometChat.Conversation|{}} conversation\n */\n makeLastMessage(message: CometChat.BaseMessage, conversation: CometChat.Conversation | {} = {}) {\n const newMessage = message;\n return newMessage;\n }\n /**\n *\n * Updates Conversations as Text/Custom Messages are received\n * @param\n *\n */\n /**\n * @param {CometChat.BaseMessage} message\n * @param {boolean} notification\n */\n updateConversation(message: CometChat.BaseMessage, notification: boolean = true) {\n try {\n this.makeConversation(message)\n .then((response: any) => {\n\n const conversationKey = response.conversationKey;\n const conversationObj: CometChat.Conversation = response.conversationObj;\n const conversationList = response.conversationList;\n if (conversationKey > -1) {\n // if sender is not logged in user then increment count\n let unreadMessageCount = this.loggedInUser?.getUid() != message.getSender().getUid() || this.loggedInUser?.getUid() == message.getReceiverId() ? this.makeUnreadMessageCount(\n conversationObj\n ) : this.makeUnreadMessageCount(conversationObj) - 1;\n let lastMessageObj: CometChat.BaseMessage = this.makeLastMessage(message, conversationObj);\n let newConversationObj: CometChat.Conversation = conversationObj\n newConversationObj.setLastMessage(lastMessageObj);\n newConversationObj.setUnreadMessageCount(unreadMessageCount);\n (newConversationObj.getLastMessage() as CometChat.TextMessage).setMuid(this.getUinx())\n conversationList.splice(conversationKey, 1);\n conversationList.unshift(newConversationObj);\n this.conversationList = [...conversationList];\n if (notification && this.loggedInUser?.getUid() != message?.getSender()?.getUid()) {\n this.playAudio();\n this.ref.detectChanges()\n }\n } else {\n let lastMessageObj = this.makeLastMessage(message);\n conversationObj.setLastMessage(lastMessageObj);\n conversationObj.setUnreadMessageCount(1)\n conversationList.unshift(conversationObj);\n this.conversationList = conversationList;\n this.ref.detectChanges()\n // this.ref.detectChanges()\n if (notification && this.loggedInUser?.getUid() != message?.getSender()?.getUid()) {\n this.playAudio();\n this.ref.detectChanges()\n }\n }\n this.ref.detectChanges()\n })\n .catch((error: any) => {\n if(this.onError){\n this.onError(error)\n }\n this.ref.detectChanges()\n });\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n this.ref.detectChanges()\n }\n updateDeliveredMessage(messageReceipt: CometChat.MessageReceipt) {\n let conversationList: CometChat.Conversation[] = [...this.conversationList];\n let conversationKey: number = conversationList.findIndex(\n (c: CometChat.Conversation) => (c.getLastMessage() as CometChat.TextMessage).getId() == Number(messageReceipt.getMessageId())\n );\n let conversationObj: CometChat.Conversation;\n if (conversationKey > -1) {\n conversationObj = conversationList[conversationKey];\n if (!(conversationObj.getLastMessage() as CometChat.TextMessage).getDeliveredAt()) {\n (conversationObj.getLastMessage() as CometChat.TextMessage).setDeliveredAt(Number(this.getUinx()));\n (conversationObj.getLastMessage() as CometChat.TextMessage).setMuid(this.getUinx());\n conversationList.splice(conversationKey, 1, conversationObj)\n this.conversationList = [...conversationList];\n this.ref.detectChanges()\n }\n }\n }\n /**\n *\n * Gets The Count of Unread Messages\n * @param\n */\n /**\n * @param {any} conversation\n * @param {any} operator\n */\n makeUnreadMessageCount(conversation: CometChat.Conversation, operator: any = null) {\n if (Object.keys(conversation).length === 0) {\n return 1;\n }\n let unreadMessageCount:number = conversation.getUnreadMessageCount();\n if (\n this.activeConversation &&\n this.activeConversation.getConversationId() === conversation.getConversationId()\n ) {\n unreadMessageCount += 1;\n } else if (\n (this.activeConversation &&\n this.activeConversation.hasOwnProperty(\"guid\") &&\n conversation.getConversationWith().hasOwnProperty(\"guid\") &&\n (this.activeConversation.getConversationWith() as CometChat.Group).getGuid() === (conversation.getConversationWith() as CometChat.Group).getGuid()) ||\n (this.activeConversation &&\n this.activeConversation.hasOwnProperty(\"uid\") &&\n conversation.getConversationWith().hasOwnProperty(\"uid\") &&\n (this.activeConversation.getConversationWith() as CometChat.User).getUid() === (conversation.getConversationWith() as CometChat.User).getUid())\n ) {\n unreadMessageCount = 0;\n } else {\n if (operator && operator === \"decrement\") {\n unreadMessageCount = unreadMessageCount ? unreadMessageCount - 1 : 0;\n } else {\n unreadMessageCount = unreadMessageCount + 1;\n }\n }\n return unreadMessageCount;\n }\n /**\n * Changes detail of conversations\n * @param\n */\n /**\n * @param {CometChat.BaseMessage} message\n */\n makeConversation(message: CometChat.BaseMessage) {\n const promise = new Promise((resolve, reject) => {\n CometChat.CometChatHelper.getConversationFromMessage(message)\n .then((conversation: CometChat.Conversation) => {\n let conversationList: CometChat.Conversation[] = [...this.conversationList];\n let conversationKey: number = conversationList.findIndex(\n (c: CometChat.Conversation) => c?.getConversationId() === conversation.getConversationId()\n );\n let conversationObj: CometChat.Conversation = conversation;\n if (conversationKey > -1) {\n conversationObj = conversationList[conversationKey];\n }\n resolve({\n conversationKey: conversationKey,\n conversationObj: conversationObj,\n conversationList: conversationList,\n });\n this.ref.detectChanges()\n })\n .catch((error: any) => reject(error));\n });\n return promise;\n }\n /**\n * Updates Conversation View when message is edited or deleted\n */\n conversationEditedDeleted(message: CometChat.BaseMessage) {\n try {\n this.makeConversation(message)\n .then((response: any) => {\n const conversationKey = response.conversationKey;\n const conversationObj: CometChat.Conversation = response.conversationObj;\n const conversationList = response.conversationList;\n if (conversationKey > -1) {\n let lastMessageObj: CometChat.BaseMessage = conversationObj.getLastMessage();\n if (lastMessageObj.getId() === message.getId()) {\n conversationObj.setLastMessage(message);\n (conversationObj.getLastMessage() as CometChat.TextMessage).setMuid(this.getUinx());\n conversationList.splice(conversationKey, 1, conversationObj);\n this.conversationList = [...conversationList];\n this.ref.detectChanges()\n }\n }\n })\n .catch((error: any) => {\n if(this.onError){\n this.onError(error)\n }\n this.ref.detectChanges()\n });\n } catch (error:any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n /**\n * If User scrolls to the bottom of the current Conversation list than fetch next items of the Conversation list and append\n * @param Event\n */\n /**\n * Plays Audio When Message is Received\n */\n playAudio() {\n try {\n if(!this.disableSoundForMessages){\n if(this.customSoundForMessages){\n CometChatSoundManager.play(this.customSoundForMessages)\n }\n else{\n CometChatSoundManager.play(CometChatSoundManager.Sound.incomingMessageFromOther)\n }\n }\n else{\n return\n }\n } catch (error: any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n /*\n * Updates the convesation list when deleted.\n * Adding Conversation Object to CometchatService\n */\n /**\n * @param {CometChat.Conversation|{}} conversation\n */\n updateConversationList(conversation: CometChat.Conversation | null) {\n let index = this.conversationList.findIndex((element: CometChat.Conversation) => element?.getConversationId() == conversation?.getConversationId());\n this.conversationList.splice(index, 1);\n this.ref.detectChanges()\n }\n /**\n * showing dialog for confirm and cancel\n * @param {CometChat.Conversation|{}} conversation\n */\n showConfirmationDialog = (conversation: CometChat.Conversation) => {\n this.isDialogOpen = true;\n this.conversationToBeDeleted = conversation;\n this.ref.detectChanges()\n }\n onOptionClick(event:any,conversation: CometChat.Conversation){\n let option:CometChatOption = event?.detail?.data\n this.conversationToBeDeleted = conversation;\n if(option){\n option.onClick!()\n }\n }\n /**\n * show confirm dialog screen\n * @param {CometChat.Conversation|{}} conversaton\n */\n // check is there is any active conversation and mark it as active\n getActiveConversation(conversation: CometChat.Conversation) {\n if(this.selectionMode == SelectionMode.none || !this.selectionMode ) {\n return this.activeConversation && (this.activeConversation as any)?.conversationId == (conversation as any)?.conversationId\n }\n else {\n return false\n }\n }\n /**\n * handle confirm dialog response\n * @param {string} value\n */\n // calling cometchat.deleteConversation method\n deleteSelectedConversation(){\n if (this.conversationToBeDeleted) {\n if (this.activeConversation && this.activeConversation.getConversationId() == this.conversationToBeDeleted.getConversationId()) {\n this.activeConversation = null\n }\n let conversationWith;\n let conversationType = this.conversationToBeDeleted.getConversationType();\n if (conversationType === CometChatUIKitConstants.MessageReceiverType.user) {\n conversationWith = (this.conversationToBeDeleted.getConversationWith() as CometChat.User).getUid()\n }\n else {\n conversationWith = (this.conversationToBeDeleted.getConversationWith() as CometChat.Group).getGuid()\n }\n CometChat.deleteConversation(conversationWith, conversationType).then(\n deletedConversation => {\n CometChatConversationEvents.ccConversationDeleted.next(this.conversationToBeDeleted!)\n this.updateConversationList(this.conversationToBeDeleted)\n this.conversationToBeDeleted = null;\n this.ref.detectChanges()\n },\n );\n this.isDialogOpen = false\n this.ref.detectChanges()\n }\n }\n // exposed methods to users.\n updateLastMessage(message: CometChat.BaseMessage) {\n this.updateConversation(message);\n }\n removeConversation(conversation: CometChat.Conversation) {\n this.updateConversationList(conversation);\n }\n styles: any = {\n wrapperStyle: () => {\n return {\n height: this.conversationsStyle.height,\n width: this.conversationsStyle.width,\n border: this.conversationsStyle.border || `1px solid ${this.themeService.theme.palette.getAccent400()}`,\n borderRadius: this.conversationsStyle.borderRadius,\n background: this.conversationsStyle.background || this.themeService.theme.palette.getBackground(),\n }\n },\n }\n subtitleStyle = (conversation:any) => {\n if(this.typingIndicator && ( this.typingIndicator.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user && this.typingIndicator.getSender().getUid() == conversation.conversationWith?.uid || this.typingIndicator.getReceiverId() == conversation.conversationWith?.guid)){\n return {\n font: this.conversationsStyle.typingIndictorTextColor,\n color: this.conversationsStyle.typingIndictorTextColor\n }\n }\n return {\n font: this.conversationsStyle.lastMessageTextFont,\n color: this.conversationsStyle.lastMessageTextColor\n }\n }\n itemThreadIndicatorStyle = () => {\n return {\n textFont: this.conversationsStyle.threadIndicatorTextFont || fontHelper(this.themeService.theme.typography.caption2),\n textColor: this.conversationsStyle.threadIndicatorTextColor || this.themeService.theme.palette.getAccent400(),\n };\n }\n}\n","<div class=\"cc-conversations\" [ngStyle]=\"styles.wrapperStyle()\">\n <cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"isDialogOpen\">\n <cometchat-confirm-dialog [title]=\"confirmDialogTitle\" [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\" [confirmButtonText]=\"confirmButtonText\" (cc-confirm-clicked)=\"onConfirmClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"deleteConversationDialogStyle\">\n </cometchat-confirm-dialog>\n </cometchat-backdrop>\n <div class=\"cc-conversations__menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n </div>\n<cometchat-list [state]=\"state\"\n[searchIconURL]=\"searchIconURL\" [hideError]=\"hideError\"\n[emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n[titleAlignment]=\"titleAlignment\" [loadingView]=\"loadingStateView\" [listStyle]=\"listStyle\" [emptyStateView]=\"emptyStateView\"\n[errorStateText]=\"errorStateText\" [errorView]=\"errorStateView\"\n[onScrolledToBottom]=\"getConversation\" [list]=\"conversationList\" [listItemView]=\"listItemView ? listItemView : listItem\" [title]=\"title\" [hideSearch]=\"hideSearch\"></cometchat-list>\n</div>\n<ng-template #listItem let-conversation>\n <cometchat-list-item [hideSeparator]=\"hideSeparator\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"setStatusIndicatorStyle(conversation)\"\n [id]=\"conversation?.conversationId\" [isActive]=\"getActiveConversation(conversation)\"\n (cc-listitem-clicked)=\"onClick(conversation)\" [title]=\"conversation?.conversationWith?.name\"\n [statusIndicatorIcon]=\"checkGroupType(conversation)\" [statusIndicatorColor]=\"checkStatusType(conversation)\"\n [listItemStyle]=\"listItemStyle\" [avatarURL]=\"conversation?.conversationWith?.avatar\" [avatarName]=\"conversation?.conversationWith?.name\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView;else conversationSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #conversationSubtitle>\n\n <div class=\"cc-conversations__subtitle-view \" slot=\"subtitleView\" >\n <div class=\"cc-conversations__threadview\" *ngIf=\"conversation?.lastMessage?.parentMessageId\">\n <cometchat-label [labelStyle]=\"itemThreadIndicatorStyle()\" [text]=\"threadIndicatorText\"> </cometchat-label>\n <cometchat-icon [URL]=\"threadIconURL\" [iconStyle]=\"iconStyle\"></cometchat-icon>\n\n </div>\n<div class=\"cc-conversations__subtitle\">\n <div class=\"cc-conversations__readreceipt\" *ngIf=\"isReceiptDisable(conversation)\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(conversation)\" [receiptStyle]=\"receiptStyle\" [sentIcon]=\"sentIcon\" [errorIcon]=\"errorIcon\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\"></cometchat-receipt>\n </div>\n\n <div [ngStyle]=\"subtitleStyle(conversation)\" class=\"cc-subtitle__text\"> {{setSubtitle(conversation)}} </div>\n</div>\n\n </div>\n </ng-template>\n <div slot=\"menuView\" class=\"cc-conversations__optionsview\" *ngIf=\"selectionMode == selectionmodeEnum.none\">\n <div *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(conversation)\" (cc-menu-clicked)=\"onOptionClick($event,conversation)\" [menuListStyle]=\"menustyle\">\n\n </cometchat-menu-list>\n </div>\n <div *ngIf=\"!options && conversationOptions\">\n <cometchat-menu-list [data]=\"conversationOptions\" (cc-menu-clicked)=\"onOptionClick($event,conversation)\" [menuListStyle]=\"menustyle\">\n\n </cometchat-menu-list>\n </div>\n</div>\n<div slot=\"tailView\" class=\"cc-conversations__tail-view\">\n<div class=\"tail__view\" *ngIf=\"selectionMode == selectionmodeEnum.none\">\n <div class=\"cc-date\">\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"conversation?.lastMessage?.sentAt\" [pattern]=\"getDate()\"></cometchat-date>\n </div>\n <div class=\"cc-conversations__badge\">\n <cometchat-badge [count]=\"conversation?.unreadMessageCount\" [badgeStyle]=\"badgeStyle\"></cometchat-badge>\n </div>\n</div>\n<div class=\"cc-conversations__selection-view\" *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n</div>\n</div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(conversation) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(conversation) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n</ng-template>\n\n\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatConversationsComponent } from \"./cometchat-conversations/cometchat-conversations.component\";\nimport { CometChatList } from \"../CometChatList/cometchat-list.module\";\nimport '@cometchat/uikit-elements'\n@NgModule({\n declarations: [CometChatConversationsComponent],\n imports: [\n CommonModule,\n CometChatList\n ],\n exports: [CometChatConversationsComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatConversations {}\n","import { Component, OnInit, Input, ChangeDetectorRef, ChangeDetectionStrategy, TemplateRef, OnChanges, SimpleChanges } from '@angular/core';\nimport { BaseStyle, MessageBubbleAlignment } from '@cometchat/uikit-shared';\nimport {MenuListStyle} from '@cometchat/uikit-elements'\nimport { CometChatThemeService } from '../../CometChatTheme.service';\nimport { CometChatMessageOption, CometChatTheme } from '@cometchat/uikit-resources';\n@Component({\n selector: 'cometchat-message-bubble',\n templateUrl: './cometchat-message-bubble.component.html',\n styleUrls: ['./cometchat-message-bubble.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatMessageBubbleComponent implements OnInit,OnChanges {\n @Input() messageBubbleStyle: BaseStyle = {\n width: \"100%\",\n height: \"auto\",\n background: \"\",\n borderRadius: \"12px\",\n border:\"none\"\n };\n @Input() alignment:MessageBubbleAlignment = MessageBubbleAlignment.right;\n @Input() options:CometChatMessageOption[] = [];\n @Input() id:number | string | undefined = undefined;\n @Input() leadingView!: TemplateRef<any> | null;\n @Input() headerView!: TemplateRef<any> | null;\n @Input() replyView!: TemplateRef<any> | null;\n @Input() contentView!: TemplateRef<any> | null;\n @Input() threadView!: TemplateRef<any> | null;\n @Input() footerView!: TemplateRef<any> | null;\n @Input() bottomView!: TemplateRef<any> | null;\n optionsStyle:MenuListStyle = {\n width: \"\",\n height: \"\",\n border: \"1px solid #e8e8e8\",\n borderRadius: \"8px\",\n submenuWidth: \"100%\",\n submenuHeight: \"100%\",\n submenuBorder: \"1px solid #e8e8e8\",\n submenuBorderRadius: \"8px\",\n moreIconTint:\"grey\"\n }\n @Input() moreIconURL: string = \"assets/moreicon.svg\";\n @Input() topMenuSize: number = 3;\n public theme:CometChatTheme =new CometChatTheme({})\n public uikitConstant: typeof MessageBubbleAlignment = MessageBubbleAlignment;\n public isHovering:boolean = false;\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { }\n ngOnChanges(changes: SimpleChanges): void {\n }\n ngOnInit(): void {\n this.optionsStyle = new MenuListStyle({\n border:`1px solid ${this.themeService.theme.palette.getAccent200()}`,\n borderRadius: \"8px\",\n background: this.themeService.theme.palette.getBackground(),\n submenuWidth: \"100%\",\n submenuHeight: \"100%\",\n submenuBorder: `1px solid ${this.themeService.theme.palette.getAccent200()}`,\n submenuBorderRadius: \"8px\",\n submenuBackground: this.themeService.theme.palette.getBackground(),\n moreIconTint:this.themeService.theme.palette.getAccent()\n })\n }\n /**\n * hide show menu options on hover\n * @param {MouseEvent} event?\n */\n hideShowMenuOption(event?: MouseEvent) {\n this.isHovering = event?.type === \"mouseenter\";\n this.ref.detectChanges()\n }\n /**\n * @param {any} event\n */\n onOptionClick(event: any) {\n const onClick = event?.detail?.data?.onClick;\n if (onClick) {\n onClick(this.id,event?.detail?.event);\n }\n }\n wrapperStyle = () => {\n switch (this.alignment) {\n case MessageBubbleAlignment.right:\n return {\n display: \"flex\",\n justifyContent: \"flex-end\"\n };\n case MessageBubbleAlignment.left:\n return {\n display: \"flex\",\n justifyContent: \"flex-start\"\n };\n case MessageBubbleAlignment.center:\n return {\n display: \"flex\",\n justifyContent: \"center\"\n };\n default:\n return {\n display: \"flex\",\n justifyContent: \"center\"\n };\n }\n };\n bubbleStyle = ()=>{\n return {\n ...this.messageBubbleStyle,\n display:\"flex\",\n flexDirection:\"column\",\n alignItems: \"flex-start\"\n }\n }\n bubbleAlignmentStyle():any{\n return {\n display:\"flex\",\n justifyContent:\"flex-start\",\n alignItems:this.alignment == MessageBubbleAlignment.left? \"flex-start\" : \"flex-end\",\n }\n }\n optionsStyles:any = () =>{\n return {\n justifyContent: this.alignment == MessageBubbleAlignment.left ? \"flex-start\" : \"flex-end\",\n top: this.headerView && this.alignment == MessageBubbleAlignment.left ? \"-4px\" : \"-24px\",\n background:this.themeService.theme.palette.getBackground()\n }\n }\n titleStyle(){\n return{\n display:\"flex\",\n justifyContent: this.alignment == MessageBubbleAlignment.left ? \"flex-start\" : \"flex-end\",\n alignItems:\"flex-start\"\n }\n }\n}","<div class=\"cc-message-bubble__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-bubble__container\" (mouseenter)=\"hideShowMenuOption($event)\"\n(mouseleave)=\"hideShowMenuOption($event)\">\n<div class=\"cc-message-bubble__avatar\" *ngIf=\"leadingView\">\n <ng-container *ngTemplateOutlet=\"leadingView\">\n </ng-container>\n</div>\n<div class=\"cc-message-bubble\" [ngStyle]=\"bubbleAlignmentStyle()\">\n <div class=\"cc-message-bubble__title\" [ngStyle]=\"titleStyle()\" *ngIf=\"headerView\">\n<ng-container [ngTemplateOutlet]=\"headerView\">\n</ng-container>\n </div>\n <div class=\"cc-messageoptions\" *ngIf=\"options && options.length >= 1 && isHovering\" [ngStyle]=\"optionsStyles()\">\n<cometchat-menu-list [moreIconURL]=\"moreIconURL\" [topMenuSize]=\"topMenuSize\" [menuListStyle]=\"optionsStyle\" [data]=\"options\" (cc-menu-clicked)=\"onOptionClick($event)\">\n</cometchat-menu-list>\n </div>\n <div class=\"cc-message-bubble__content\" [ngStyle]=\"bubbleStyle()\">\n<ng-container *ngTemplateOutlet=\"replyView\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"contentView\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"bottomView\">\n</ng-container>\n<ng-container *ngTemplateOutlet=\"threadView\">\n</ng-container>\n<div>\n</div>\n </div>\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n</div>\n </div>\n</div>","import {\n Component,\n Input,\n OnInit,\n OnDestroy,\n ChangeDetectorRef,\n ElementRef,\n ViewChild,\n ChangeDetectionStrategy,\n OnChanges,\n SimpleChanges,\n TemplateRef,\n Renderer2,\n ApplicationRef,\n NgZone,\n} from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { Subscription } from \"rxjs\";\nimport {DateStyle,AvatarStyle, MenuListStyle, ReceiptStyle, BaseStyle, DocumentBubbleStyle, ConfirmDialogStyle, FullScreenViewerStyle} from '@cometchat/uikit-elements'\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\nimport { States, localize, MessageListAlignment, DatePatterns, TimestampAlignment, CometChatMessageTemplate, DocumentIconAlignment,CometChatUIKitConstants, CometChatTheme, MessageBubbleAlignment, CometChatMessageOption, fontHelper, CometChatMessageEvents, MessageStatus, CometChatGroupEvents, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberScopeChanged, IGroupLeft, IMessages, CometChatUIEvents, Placement, IPanel, CometChatCallEvents } from \"@cometchat/uikit-resources\";\nimport { MessageListStyle, CometChatSoundManager, MessageReceiptUtils, CollaborativeWhiteboardConstants, CollaborativeDocumentConstants, MessageTranslationConstants, MessageTranslationStyle, ReactionsConstants, PollsBubbleStyle, ImageModerationStyle, SmartRepliesStyle, SmartRepliesConfiguration, SmartRepliesConstants, ThumbnailGenerationConstants, LinkPreviewConstants, CallscreenStyle, CallingDetailsUtils ,CometChatUIKitUtility, CometChatUIKitHelper} from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\nimport { StickersConstants,LinkPreviewStyle } from \"@cometchat/uikit-shared\";\nimport { Message } from \"@angular/compiler/src/i18n/i18n_ast\";\n\n\n/**\n*\n* CometChatMessageList is a wrapper component for messageBubble\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-message-list\",\n templateUrl: \"./cometchat-message-list.component.html\",\n styleUrls: [\"./cometchat-message-list.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatMessageListComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild(\"listScroll\", { static: false }) listScroll!: ElementRef;\n @ViewChild(\"bottom\", { static: false }) bottom!: ElementRef;\n @ViewChild(\"top\", { static: false }) top!: ElementRef;\n @ViewChild(\"textBubble\", { static: false }) textBubble!: TemplateRef<any>;\n @ViewChild(\"threadMessageBubble\", { static: false }) threadMessageBubble!: TemplateRef<any>;\n @ViewChild(\"fileBubble\", { static: false }) fileBubble!: TemplateRef<any>;\n @ViewChild(\"audioBubble\", { static: false }) audioBubble!: TemplateRef<any>;\n @ViewChild(\"videoBubble\", { static: false }) videoBubble!: TemplateRef<any>;\n @ViewChild(\"imageBubble\", { static: false }) imageBubble!: TemplateRef<any>;\n @ViewChild(\"stickerBubble\", { static: false }) stickerBubble!: TemplateRef<any>;\n @ViewChild(\"documentBubble\", { static: false }) documentBubble!: TemplateRef<any>;\n @ViewChild(\"whiteboardBubble\", { static: false }) whiteboardBubble!: TemplateRef<any>;\n @ViewChild(\"popoverRef\", { static: false }) popoverRef!: any;\n @ViewChild(\"directCalling\", { static: false }) directCalling!: TemplateRef<any>;\n @ViewChild(\"pollBubble\", { static: false }) pollBubble!: TemplateRef<any>;\n\n\n @Input() hideError: boolean = false;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateView!: TemplateRef<any>;\n\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() emptyStateText: string = localize(\"NO_MESSAGES_FOUND\");\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() user!: CometChat.User;\n @Input() group!: CometChat.Group;\n @Input() disableReceipt: boolean = true;\n @Input() disableSoundForMessages: boolean = false;\n @Input() customSoundForMessages: string = \"\";\n @Input() readIcon: string = \"assets/message-read.svg\";\n @Input() deliveredIcon: string = \"assets/message-delivered.svg\";\n @Input() sentIcon: string = \"assets/message-sent.svg\";\n @Input() waitIcon: string = \"assets/wait.svg\";\n @Input() errorIcon: string = \"assets/warning-small.svg\"\n @Input() alignment: MessageListAlignment = MessageListAlignment.standard;\n @Input() showAvatar: boolean = true;\n @Input() datePattern: DatePatterns = DatePatterns.time;\n @Input() timestampAlignment: TimestampAlignment = TimestampAlignment.bottom;\n @Input() DateSeparatorPattern: DatePatterns = DatePatterns.DayDateTime;\n @Input() templates: CometChatMessageTemplate[] = [];\n @Input() messagesRequestBuilder!: CometChat.MessagesRequestBuilder;\n @Input() newMessageIndicatorText: string = \"\";\n @Input() scrollToBottomOnNewMessages: boolean = false;\n @Input() thresholdValue: number = 1000;\n @Input() onThreadRepliesClick!: ((message:CometChat.BaseMessage,view:TemplateRef<any>)=>void) | null;\n @Input() headerView!: TemplateRef<any>;\n @Input() footerView!: TemplateRef<any>;\n @Input() parentMessageId!: number;\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"28px\",\n height: \"28px\",\n };\n @Input() backdropStyle :BaseStyle = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n @Input() dateSeparatorStyle: DateStyle = {\n height: \"\",\n width: \"\",\n };\n @Input() messageListStyle: MessageListStyle = {\n nameTextFont: \"600 15px Inter\",\n nameTextColor: \"white\",\n TimestampTextFont: \"\",\n TimestampTextColor: \"\",\n threadReplySeparatorColor: \"\",\n threadReplyTextFont: \"\",\n threadReplyIconTint: \"\",\n threadReplyTextColor: \"\",\n emptyStateTextFont: \"700 22px Inter\",\n emptyStateTextColor: \"#bcbcbc\",\n errorStateTextFont: \"700 22px Inter\",\n errorStateTextColor: \"#bcbcbc\",\n loadingIconTint: \"grey\",\n };\n @Input() onError = (error:any)=>{\n console.log(error)\n }\n state: States = States.loading;\n optionsStyle: MenuListStyle = {\n width: \"\",\n height: \"\",\n border: \"1px solid #e8e8e8\",\n borderRadius: \"8px\",\n background: \"white\",\n submenuWidth: \"100%\",\n submenuHeight: \"100%\",\n submenuBorder: \"1px solid #e8e8e8\",\n submenuBorderRadius: \"8px\",\n submenuBackground: \"white\",\n moreIconTint:\"grey\"\n };\n receiptStyle:ReceiptStyle = {\n }\n documentBubbleAlignment:DocumentIconAlignment = DocumentIconAlignment.right\n callBubbleAlignment:DocumentIconAlignment = DocumentIconAlignment.left\n imageModerationStyle:ImageModerationStyle = {}\n\n timestampEnum: typeof TimestampAlignment= TimestampAlignment;\n public chatChanged:boolean = true\n // public properties\n public requestBuilder: any;\n public closeImageModeration:any\n\n public timeStampColor: string = \"\";\n public timeStampFont: string = \"\";\n smartReplyStyle: SmartRepliesStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n }\n public showSmartReply:boolean = false;\n ccHidePanel!:Subscription;\n ccShowPanel!:Subscription;\n smartReplyMessage:CometChat.BaseMessage | null = null;\n public enableSmartReply:boolean = false;\n smartReplyConfig!:SmartRepliesConfiguration;\n public timeStampBackground: string = \"\";\n linkPreviewStyle:LinkPreviewStyle = {}\n public unreadMessagesStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"#3399FF\",\n display: \"flex\",\n justifyContent: \"center\",\n buttonTextFont: \"400 13px Inter\",\n color: \"white\",\n border:\"none\",\n borderRadius:\"12px\"\n }\n public dividerStyle:BaseStyle = {\n height: \"1px\",\n width: \"100%\",\n background: \"grey\"\n }\n pollBubbleStyle:PollsBubbleStyle = {}\n labelStyle:any = {\n textFont:\"400 11px Inter\",\n textColor:\"grey\"\n }\n imageBubbleStyle:any = {\n height:\"128px\",\n width:\"128px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\"\n }\n messagesList: CometChat.BaseMessage[] = [];\n bubbleDateStyle:DateStyle = {\n }\n whiteboardIconURL:string = \"assets/collaborativewhiteboard.svg\";\n documentIconURL:string = \"assets/collaborativedocument.svg\";\n directCallIconURL:string = \"assets/Video-call2x.svg\";\n placeholderIconURL:string = \"/assets/placeholder.png\"\n downloadIconURL:string = \"assets/download.svg\"\n translationStyle:MessageTranslationStyle = {}\n documentBubbleStyle:DocumentBubbleStyle = {}\n callBubbleStyle:DocumentBubbleStyle = {}\n whiteboardTitle:string = localize(\"COLLABORATIVE_WHITEBOARD\")\n whiteboardSubitle:string = localize(\"DRAW_WHITEBOARD_TOGETHER\")\n whiteboardButtonText:string = localize(\"OPEN_WHITEBOARD\")\n documentTitle:string = localize(\"COLLABORATIVE_DOCUMENT\")\n documentSubitle:string = localize(\"DRAW_DOCUMENT_TOGETHER\")\n documentButtonText:string = localize(\"OPEN_DOCUMENT\")\n joinCallButtonText:string = localize(\"JOIN\")\n topObserver!:IntersectionObserver;\n bottomObserver!:IntersectionObserver;\n localize:typeof localize = localize\n reinitialized: boolean = false;\n MessageTypesConstant:typeof CometChatUIKitConstants.MessageTypes = CometChatUIKitConstants.MessageTypes\n callConstant: string = CometChatUIKitConstants.MessageCategory.call\n public typesMap: any = {\n }\n public messageTypesMap: any = {\n }\n theme: CometChatTheme = new CometChatTheme({})\n public msgListenerId = \"message_\"+ new Date().getTime();\n public groupListenerId = \"group_\"+ new Date().getTime();\n public callListenerId = \"call_\"+ new Date().getTime();\n public loggedInUser!: CometChat.User;\n public states: typeof States = States\n MessageCategory = CometChatUIKitConstants.MessageCategory;\n public numberOfTopScroll: number = 0;\n keepRecentMessages: boolean = true;\n messageTemplate: CometChatMessageTemplate[] = [];\n\n messageCount!: number;\n isOnBottom: boolean = false;\n UnreadCount: CometChat.BaseMessage[] = [];\n newMessageCount: number | string = 0;\n type: string = \"\";\n confirmText:string = localize(\"YES\")\n cancelText:string = localize(\"NO\")\n warningText:string = \"Are you sure want to see unsafe content?\"\n ccMessageDelete!: Subscription;\n ccMessageReact!: Subscription;\n ccMessageRead!: Subscription;\n public ccMessageEdit!: Subscription;\n public ccLiveReaction!: Subscription;\n public ccMessageSent!: Subscription;\n public ccMessageEdited!: Subscription;\n ccGroupMemberAdded!:Subscription;\n ccGroupLeft!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccOwnershipChanged!:Subscription;\n ccGroupDeleted!:Subscription;\n ccGroupCreated!:Subscription;\n public ccOutgoingCall!: Subscription;\n public ccCallRejected!: Subscription;\n public ccCallEnded!: Subscription;\n public ccCallAccepted!:Subscription;\n ccGroupMemberScopeChanged!:Subscription;\n public threadedAlignment:MessageBubbleAlignment = MessageBubbleAlignment.left\n openEmojiKeyboard:boolean = false;\n keyboardAlignment:string = Placement.right\n popoverStyle:any = {\n height:\"330px\",\n width:\"325px\",\n }\n videoBubbleStyle: BaseStyle = {\n height: \"130px\",\n width: \"230px\",\n border: \"none\",\n borderRadius: \"8px\",\n background: \"transparent\"\n }\n threadViewAlignment = MessageBubbleAlignment.left\n whiteboardURL: string | URL | undefined;\n enableDataMasking:boolean = false;\n enableThumbnailGeneration:boolean = false;\n enableLinkPreview:boolean = false\n enablePolls:boolean = false;\n enableReactions:boolean = false;\n enableImageModeration:boolean = false;\n enableStickers:boolean = false;\n enableWhiteboard:boolean = false\n enableDocument:boolean = false\n showOngoingCall: boolean = false;\n enableCalling:boolean = false;\n ongoingCallStyle: CallscreenStyle = {}\n sessionId: string = \"\";\n\n getThreadViewStyle(message:CometChat.BaseMessage){\n if((!message.getSender() || message.getSender().getUid() === this.loggedInUser?.getUid()) && message?.getType() == CometChatUIKitConstants.MessageTypes.text){\n return {\n height: \"30px\",\n width: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"transparent\",\n padding:\"0 8px\",\n buttonIconTint: this.themeService.theme.palette.getAccent600(),\n display: \"flex\",\n flexFlow: \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n buttonTextColor: this.themeService.theme.palette.getAccent(\"dark\")\n }\n }\n else{\n return {\n height: \"30px\",\n width: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"transparent\",\n padding:\"0 8px\",\n buttonIconTint:\"grey\",\n display: \"flex\",\n flexFlow: \"row-reverse\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n buttonTextColor: this.themeService.theme.palette.getPrimary()\n }\n }\n }\n closeIconURL:string = \"assets/close2x.svg\"\n threadOpenIcon:string = \"assets/side-arrow.svg\"\n confirmDialogStyle:ConfirmDialogStyle = {}\n public messageToReact:CometChat.BaseMessage | null = null;\n public limit:number = 30;\n types: string[] = [];\n categories: string[] = [];\n constructor(private ngZone: NgZone, private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n ngOnChanges(changes: SimpleChanges): void {\n console.log(this.templates)\n try {\n if (changes[CometChatUIKitConstants.MessageReceiverType.user] || changes[CometChatUIKitConstants.MessageReceiverType.group]) {\n this.showEnabledExtensions()\n this.numberOfTopScroll = 0\n if(!this.loggedInUser){\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user as CometChat.User\n })\n }\n this.messagesList = []\n if (this.user) {\n if (Object.keys(this.user).length > 1) {\n this.user = this.user;\n this.type = CometChatUIKitConstants.MessageReceiverType.user;\n this.createRequestBuilder();\n }\n else {\n CometChat.getUser(this.user)\n .then((user: CometChat.User) => {\n this.user = user;\n this.type = CometChatUIKitConstants.MessageReceiverType.user;\n this.createRequestBuilder();\n })\n }\n }\n else if (this.group) {\n if (Object.keys(this.group).length > 1) {\n this.group = this.group\n this.type = CometChatUIKitConstants.MessageReceiverType.group\n this.createRequestBuilder()\n }\n else {\n CometChat.getGroup(this.group)\n .then((group: CometChat.Group) => {\n this.group = group;\n this.type = CometChatUIKitConstants.MessageReceiverType.group;\n this.createRequestBuilder();\n })\n }\n }\n //Removing Previous Conversation Listeners\n CometChat.removeMessageListener(this.msgListenerId);\n CometChat.removeGroupListener(this.groupListenerId);\n CometChat.removeCallListener(this.callListenerId);\n this.msgListenerId = \"message_\"+ new Date().getTime();\n this.groupListenerId = \"group_\"+ new Date().getTime();\n this.callListenerId = \"call_\"+ new Date().getTime();\n // Attach MessageListeners for the new conversation\n this.addMessageEventListeners();\n }\n } catch (error:any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n addReaction = (event:any)=>{\n let emoji = event?.detail?.id\n this.popoverRef.nativeElement.openContentView(event)\nthis.reactToMessages(emoji)\n\n }\n getCallBubbleTitle(message:CometChat.BaseMessage){\n if(!message.getSender() || message.getSender().getUid() == this.loggedInUser.getUid()){\n return localize(\"YOU_INITIATED_GROUP_CALL\")\n }\n else {\n return `${message.getSender().getName()} ${localize(\"INITIATED_GROUP_CALL\")}`\n }\n\n }\n getCallActionMessage = (call:CometChat.Call) => {\n\n\treturn CallingDetailsUtils.getCallStatus(call,this.loggedInUser)\n\t};\n reactToMessages(emoji:string) {\n let removeEmoji:boolean = false\n let reactionObject:any = {};\n let newMessageObject!:CometChat.TextMessage | null;\n let msgObject:any = this.messageToReact;\n const userObject:any = {};\n if(this.loggedInUser?.getAvatar()){\n userObject[\"avatar\"] = this.loggedInUser?.getAvatar();\n }\n if(this.loggedInUser?.getName()){\n userObject[\"name\"] = this.loggedInUser?.getName();\n }\n let uid:any = this.loggedInUser?.getUid();\n const emojiObject = {\n [emoji]: {\n [uid]: userObject,\n },\n };\n const reactionExtensionsData = CometChatUIKitUtility.checkMessageForExtensionsData(\n (this.messageToReact as CometChat.BaseMessage),\n \"reactions\"\n );\n if (reactionExtensionsData) {\n if (reactionExtensionsData[emoji]) {\n //if the reactions metadata has the selected emoji/reaction for the loggedin user\n if (reactionExtensionsData[emoji][uid]) {\n delete reactionExtensionsData[emoji];\n removeEmoji = true;\n } else {\n let data:any = msgObject[\"metadata\"][\"@injected\"][\"extensions\"][\n \"reactions\"\n ];\n data[emoji][uid] = userObject\n reactionObject = {\n ...data,\n };\n }\n } else {\n if (!msgObject?.hasOwnProperty(\"metadata\")) {\n msgObject[\"metadata\"] = {};\n }\n if (!msgObject[\"metadata\"].hasOwnProperty(\"@injected\")) {\n msgObject[\"metadata\"][\"@injected\"] = {};\n }\n if (\n !msgObject[\"metadata\"][\"@injected\"].hasOwnProperty(\"extensions\")\n ) {\n msgObject[\"metadata\"][\"@injected\"][\"extensions\"] = {};\n }\n if (\n !msgObject[\"metadata\"][\"@injected\"][\"extensions\"].hasOwnProperty(\n \"reactions\"\n )\n ) {\n msgObject[\"metadata\"][\"@injected\"][\"extensions\"][\"reactions\"] = {};\n }\n let data:any = msgObject[\"metadata\"][\"@injected\"][\"extensions\"][\"reactions\"];\n reactionObject = { ...data, ...emojiObject };\n }\n } else {\n if (!msgObject?.hasOwnProperty(\"metadata\")) {\n msgObject[\"metadata\"] = {};\n }\n if (!msgObject[\"metadata\"].hasOwnProperty(\"@injected\")) {\n msgObject[\"metadata\"][\"@injected\"] = {};\n }\n if (\n !msgObject[\"metadata\"][\"@injected\"].hasOwnProperty(\"extensions\")\n ) {\n msgObject[\"metadata\"][\"@injected\"][\"extensions\"] = {};\n }\n if (\n !msgObject[\"metadata\"][\"@injected\"][\"extensions\"].hasOwnProperty(\n \"reactions\"\n )\n ) {\n msgObject[\"metadata\"][\"@injected\"][\"extensions\"][\"reactions\"] = {};\n }\n reactionObject = {\n ...emojiObject,\n };\n }\n var metadataObject:any;\n if(removeEmoji){\n metadataObject = {\n ...msgObject[\"metadata\"],\n };\n }\n else{\n metadataObject = {\n ...msgObject[\"metadata\"],\n \"@injected\": {\n ...msgObject[\"metadata\"][\"@injected\"],\n extensions: {\n ...msgObject[\"metadata\"][\"@injected\"][\"extensions\"],\n reactions: {\n ...reactionObject,\n },\n },\n },\n };\n }\n newMessageObject = this.messageToReact as CometChat.TextMessage;\n newMessageObject.setMetadata(metadataObject)\n this.updateMessage(newMessageObject)\n try {\n CometChat.callExtension(ReactionsConstants.reactions, ReactionsConstants.post, ReactionsConstants.v1, {\n msgId: this.messageToReact?.getId(),\n emoji: emoji,\n })\n .then((response: any) => {\n\n\n })\n .catch((error:CometChat.CometChatException) => {\n\n console.log(error)\n });\n } catch (error:any) {\n console.log(error)\n\n }\n }\n ngOnDestroy(): void {\n this.unsubscribeToEvents()\n try {\n //Removing Message Listeners\n CometChat.removeMessageListener(this.msgListenerId);\n CometChat.removeGroupListener(this.groupListenerId);\n CometChat.removeCallListener(this.callListenerId);\n } catch (error:any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n reactionsStyle(message:CometChat.BaseMessage){\n let sentByMe:boolean = !message?.getSender() || message.getSender().getUid() == this.loggedInUser?.getUid()\n let isLeftAligned:boolean = this.alignment == MessageListAlignment.left || !sentByMe || message?.getCategory() != CometChatUIKitConstants.MessageCategory.message\n\n if(isLeftAligned){\n return {\n height: \"100%\",\n width: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"transparent\",\n textFont: fontHelper(this.themeService.theme.typography.subtitle1),\n textColor: this.themeService.theme.palette.getAccent600(),\n activeTextColor:this.themeService.theme.palette.getAccent(\"dark\"),\n activeTextFont:fontHelper(this.themeService.theme.typography.subtitle1),\n addReactionIconTint:this.themeService.theme.palette.getAccent600(),\n activeReactionBackground:this.themeService.theme.palette.getPrimary(),\n reactionBackground:\"transparent\",\n reactionBorder:`1px solid ${this.themeService.theme.palette.getAccent100()}`,\n reactionBorderRadius:\"12px\",\n addReactionIconBackground:this.themeService.theme.palette.getAccent100()\n\n }\n }\n else{\n return {\n height: \"100%\",\n width: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"transparent\",\n textFont: fontHelper(this.themeService.theme.typography.caption1),\n textColor: this.themeService.theme.palette.getAccent(\"dark\"),\n activeTextColor: this.themeService.theme.palette.getPrimary(),\n activeTextFont: fontHelper(this.themeService.theme.typography.caption1),\n addReactionIconTint: this.themeService.theme.palette.getAccent(\"dark\"),\n activeReactionBackground: this.themeService.theme.palette.getAccent(\"dark\"),\n reactionBackground: \"transparent\",\n reactionBorder:`1px solid ${this.themeService.theme.palette.getAccent100()}`,\n reactionBorderRadius:\"12px\",\n addReactionIconBackground:this.themeService.theme.palette.getAccent100(\"light\")\n }\n }\n }\n showEmojiKeyboard =(id:number,event:any)=>{\n let message:CometChat.BaseMessage | false = this.getMessageById(id)\n if(message){\n this.messageToReact = message\n this.keyboardAlignment = message.getSender()?.getUid() == this.loggedInUser?.getUid() ? Placement.left : Placement.right\n this.ref.detectChanges()\n this.popoverRef.nativeElement.openContentView(event)\n\n\n }\n\n }\n\n setBubbleView = () => {\n this.messageTemplate.forEach((element: CometChatMessageTemplate) => {\n this.messageTypesMap[element.type] = element\n });\n }\n openThreadView = (message:CometChat.BaseMessage)=>{\n if(this.onThreadRepliesClick){\n this.onThreadRepliesClick(message, this.threadMessageBubble)\n }\n }\n threadCallback = (id:number)=>{\n let messageObject:any = this.getMessageById(id)\nthis.openThreadView(messageObject)\n }\n deleteCallback =(id:number)=>{\nlet messageObject:any = this.getMessageById(id)\nthis.deleteMessage(messageObject)\n }\n editCallback =(id:number)=>{\n let messageObject:any = this.getMessageById(id)\n this.onEditMessage(messageObject)\n }\n copyCallback =(id:number)=>{\n let messageObject:any = this.getMessageById(id)\n this.onCopyMessage(messageObject)\n }\n getMessageById(id:number){\n let messageKey = this.messagesList.findIndex(\n (m) => m.getId() === id\n );\n if(messageKey > -1){\n return this.messagesList[messageKey]\n }\n else {\n return false;\n }\n }\n isTranslated(message:CometChat.TextMessage):any{\n let translatedMessageObject:any = message\n if (translatedMessageObject && translatedMessageObject?.data?.metadata && translatedMessageObject?.data?.metadata[MessageTranslationConstants.translated_message]) {\n return translatedMessageObject.data.metadata[MessageTranslationConstants.translated_message];\n }\n else {\n return null\n }\n }\n updateTranslatedMessage = (translation: any) => {\n const receivedMessage = translation;\n const translatedText = receivedMessage.translations[0].message_translated;\n let messageList: CometChat.BaseMessage[] = [...this.messagesList];\n let messageKey = messageList.findIndex(\n (m) => m.getId() === receivedMessage.msgId\n );\n let data: any;\n if (messageKey > -1) {\n const messageObj: CometChat.BaseMessage = messageList[messageKey];\n if ((messageObj as CometChat.TextMessage).getMetadata()) {\n data = (messageObj as CometChat.TextMessage).getMetadata();\n }\n else {\n (messageObj as CometChat.TextMessage).setMetadata({})\n data = (messageObj as CometChat.TextMessage).getMetadata()\n }\n data[MessageTranslationConstants.translated_message] = translatedText;\n const newMessageObj: CometChat.TextMessage | CometChat.BaseMessage = messageObj;\n messageList.splice(messageKey, 1, newMessageObj);\n this.messagesList = [...messageList];\n this.ref.detectChanges();\n }\n }\n translateMessage = (id:number)=>{\n let message:CometChat.BaseMessage | false = this.getMessageById(id)\n if(message){\n CometChat.callExtension(MessageTranslationConstants.message_translation, MessageTranslationConstants.post, MessageTranslationConstants.v2_translate, {\n \"msgId\": message.getId(),\n \"text\": (message as CometChat.TextMessage).getText(),\n \"languages\": navigator.languages\n }).then((result:any) => {\n if(result?.translations[0]?.message_translated != (message as CometChat.TextMessage)?.getText()){\n this.updateTranslatedMessage(result);\n this.ref.detectChanges();\n }\n else{\n return\n }\n\n // Result of translations\n })\n .catch((error:any) => {\n });\n }\n }\n setOptionsCallback(options:CometChatMessageOption[]) {\n options?.forEach((element: CometChatMessageOption) => {\n\n switch (element.id) {\n case CometChatUIKitConstants.MessageOption.deleteMessage:\n if(!element.onClick){\n element.onClick = this.deleteCallback\n }\n break;\n case CometChatUIKitConstants.MessageOption.editMessage:\n if(!element.onClick){\n element.onClick = this.editCallback\n }\n break;\n case CometChatUIKitConstants.MessageOption.translateMessage:\n if(!element.onClick){\n element.onClick = this.translateMessage\n }\n break;\n case CometChatUIKitConstants.MessageOption.copyMessage:\n if(!element.onClick){\n element.onClick = this.copyCallback\n }\n break;\n case CometChatUIKitConstants.MessageOption.reactToMessage:\n if(!element.onClick){\n element.onClick = this.showEmojiKeyboard\n }\n break;\n case CometChatUIKitConstants.MessageOption.replyInThread:\n if(!element.onClick){\n element.onClick = this.threadCallback\n }\n break;\n default:\n break;\n }\n });\n return options\n }\n /**\n * send message options based on type\n * @param {CometChat.BaseMessage} msgObject\n */\n setMessageOptions(msgObject: CometChat.BaseMessage): CometChatMessageOption[] {\n let options!:CometChatMessageOption[];\n if (this.messageTemplate && this.messageTemplate.length > 0 && !msgObject?.getDeletedAt() && msgObject?.getType() != CometChatUIKitConstants.MessageTypes.groupMember) {\n\n this.messageTemplate.forEach((element: CometChatMessageTemplate) => {\n if (msgObject?.getId() && element.type == msgObject?.getType() && element?.options) {\n options = this.setOptionsCallback(element?.options(this.loggedInUser,msgObject,this.themeService.theme,this.group)) || []\n }\n });\n }\n else{\n options = []\n }\n return options\n }\n /**\n * passing style based on message object\n * @param {CometChat.BaseMessage} messageObject\n */\n setMessageBubbleStyle(msg: CometChat.BaseMessage): BaseStyle {\n\n let style!: BaseStyle;\n if (msg?.getDeletedAt()) {\n style = {\n background: \"transparent\",\n border: `1px dashed ${this.themeService.theme.palette.getAccent400()}`,\n borderRadius: \"12px\",\n }\n }\n else if(msg?.getType() == CometChatUIKitConstants.calls.meeting && (!msg?.getSender() || msg?.getSender().getUid() == this.loggedInUser.getUid())){\n style = {\n background: this.themeService.theme.palette.getPrimary(),\n border: `none`,\n borderRadius: \"12px\",\n }\n\n }\n else if(this.getLinkPreview(msg as CometChat.TextMessage)){\n style = {\n borderRadius: \"8px\",\n background: this.themeService.theme.palette.getAccent100(),\n }\n }\n else if(msg?.getType() == StickersConstants.sticker){\n style = {\n background: \"transparent\",\n borderRadius: \"12px\",\n }\n }\n else if (!msg?.getDeletedAt() && msg?.getCategory() == CometChatUIKitConstants.MessageCategory.message && msg?.getType() == CometChatUIKitConstants.MessageTypes.text && (!msg?.getSender() || this.loggedInUser!.getUid() == msg?.getSender().getUid())) {\n style = {\n background: this.alignment == MessageListAlignment.left ? this.themeService.theme.palette.getAccent100() : this.themeService.theme.palette.getPrimary(),\n borderRadius: \"12px\",\n }\n }\n else if (!msg?.getDeletedAt() && msg?.getCategory() == CometChatUIKitConstants.MessageCategory.message && msg?.getType() == CometChatUIKitConstants.MessageTypes.audio) {\n style = {\n borderRadius: \"\",\n background: this.themeService.theme.palette.getAccent100(),\n }\n }\n else if (msg?.getType() == CometChatUIKitConstants.MessageTypes.groupMember || msg?.getCategory() == this.callConstant) {\n style = {\n background: \"transparent\",\n borderRadius: \"12px\",\n border: `1px solid ${this.themeService.theme.palette.getAccent100()}`\n }\n }\n else {\n if(msg?.getSender() && msg?.getSender().getUid() != this.loggedInUser.getUid()){\n style = {\n background: this.themeService.theme.palette.getAccent100(),\n borderRadius: \"12px\",\n }\n }\n else{\n style = {\n background: this.themeService.theme.palette.getAccent100(),\n borderRadius: \"12px\",\n }\n }\n }\n return style\n }\n getSessionId(message:CometChat.CustomMessage){\n let data:any = message.getData()\n return data?.customData?.sessionID\n }\n getWhiteboardDocument(message:CometChat.CustomMessage){\n try {\n if ( message?.getData()) {\n const data:any = message.getData();\n if (data?.metadata) {\n const metadata = data?.metadata;\n if (CometChatUIKitUtility.checkHasOwnProperty(metadata,\"@injected\")) {\n const injectedObject = metadata[\"@injected\"];\n if (injectedObject?.extensions) {\n const extensionObject = injectedObject.extensions;\n return extensionObject[CollaborativeWhiteboardConstants.whiteboard] ? extensionObject[CollaborativeWhiteboardConstants.whiteboard].board_url: extensionObject[CollaborativeDocumentConstants.document].document_url;\n }\n }\n }\n }\n } catch (error:any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n openLinkURL(event:any){\n window.open(event?.detail?.url, '_blank')\n }\n getSticker(message:CometChat.CustomMessage) {\n try {\n let stickerData:any = null;\n if (\n CometChatUIKitUtility.checkHasOwnProperty(message,StickersConstants.data) &&\n CometChatUIKitUtility.checkHasOwnProperty( (message as CometChat.CustomMessage).getData(),StickersConstants.custom_data)\n ) {\n stickerData = (message as any).data.customData;\n if (CometChatUIKitUtility.checkHasOwnProperty(stickerData,StickersConstants.sticker_url)) {\n return stickerData.sticker_url;\n }\n else{\n return \"\"\n }\n }\n else{\n return \"\"\n }\n } catch (error:any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n getContentView = (message: CometChat.BaseMessage): TemplateRef<any> | null => {\n if (this.messageTypesMap[message?.getType()] && this.messageTypesMap[message?.getType()]?.contentView) {\n return this.messageTypesMap[message?.getType()]?.contentView(message)\n }\n else {\n return message.getDeletedAt() ? this.typesMap[\"text\"] : this.typesMap[message?.getType()]\n }\n }\n getHeaderView(message: CometChat.BaseMessage): TemplateRef<any> | null{\n let view: TemplateRef<any> | null = null\n if (this.messageTypesMap[message?.getType()] && this.messageTypesMap[message?.getType()]?.headerView) {\n view = this.messageTypesMap[message?.getType()]?.headerView(message)\n return view\n }\n else {\n return null\n }\n }\n getFooterView(message: CometChat.BaseMessage): TemplateRef<any> | null {\n let view: TemplateRef<any> | null = null\n if (this.messageTypesMap[message?.getType()] && this.messageTypesMap[message?.getType()]?.footerView) {\n view = this.messageTypesMap[message?.getType()]?.footerView(message)\n return view;\n }\n else {\n return null;\n }\n }\n setBubbleAlignment = (message: CometChat.BaseMessage) => {\n let alignment:MessageBubbleAlignment = MessageBubbleAlignment.center\n if (this.alignment == MessageListAlignment.left) {\n alignment = MessageBubbleAlignment.left\n }\n else {\n if (message?.getType() == CometChatUIKitConstants.MessageTypes.groupMember || message.getCategory() == this.callConstant) {\n alignment = MessageBubbleAlignment.center\n }\n else if (!message?.getSender() || message?.getSender().getUid() == this.loggedInUser.getUid() && message?.getType() != CometChatUIKitConstants.MessageTypes.groupMember) {\n alignment = MessageBubbleAlignment.right\n }\n else {\n alignment = MessageBubbleAlignment.left\n }\n }\n return alignment\n }\n getCallBubbleStyle(message:CometChat.BaseMessage){\n const isLeftAligned = this.alignment == MessageListAlignment.left;\n const isUserSentMessage = !message?.getSender() || this.loggedInUser!.getUid() === message?.getSender().getUid();\n if(isUserSentMessage && !isLeftAligned){\n return {\n titleFont: fontHelper(this.themeService.theme.typography.text2),\n titleColor: this.themeService.theme.palette.getAccent(\"dark\"),\n iconTint: this.themeService.theme.palette.getAccent(\"dark\"),\n buttonTextFont: fontHelper(this.themeService.theme.typography.text2),\n buttonTextColor: this.themeService.theme.palette.getPrimary(),\n buttonBackground: this.themeService.theme.palette.getAccent(\"dark\"),\n width:\"240px\"\n }\n\n }\n else{\n return {\n titleFont: fontHelper(this.themeService.theme.typography.text2),\n titleColor: this.themeService.theme.palette.getAccent(),\n iconTint: this.themeService.theme.palette.getPrimary(),\n buttonTextFont: fontHelper(this.themeService.theme.typography.text2),\n buttonTextColor: this.themeService.theme.palette.getPrimary(),\n buttonBackground: this.themeService.theme.palette.getAccent(\"dark\"),\n width:\"240px\"\n }\n }\n\n }\n getBubbleWrapper = (message: CometChat.BaseMessage): TemplateRef<any> | null => {\n let view: TemplateRef<any> | null;\n if (this.messageTypesMap && this.messageTypesMap[message?.getType()] && this.messageTypesMap[message?.getType()].bubbleView) {\n view = this.messageTypesMap[message?.getType()].bubbleView(message)\n return view\n }\n else {\n view = null\n return view\n }\n }\n getBubbleAlignment(message:CometChat.BaseMessage){\n return this.alignment == MessageListAlignment.left || (message.getSender() && message.getSender().getUid() != this.loggedInUser.getUid()) ? MessageBubbleAlignment.left : MessageBubbleAlignment.right\n }\n setTranslationStyle = (message: CometChat.BaseMessage)=>{\n const isLeftAligned = this.alignment !== MessageListAlignment.left;\n const isUserSentMessage = !message?.getSender() || this.loggedInUser!.getUid() === message?.getSender().getUid();\n if ( !isLeftAligned) {\n return new MessageTranslationStyle({\n translatedTextFont: fontHelper(this.themeService.theme.typography.text3),\n translatedTextColor: this.themeService.theme.palette.getAccent(\"light\"),\n helpTextColor: this.themeService.theme.palette.getAccent700(),\n helpTextFont:fontHelper(this.themeService.theme.typography.caption2),\n background:\"transparent\"\n });\n }\n else{\n if (isUserSentMessage) {\n return new MessageTranslationStyle({\n translatedTextFont: fontHelper(this.themeService.theme.typography.text3),\n translatedTextColor: this.themeService.theme.palette.getAccent(\"dark\"),\n helpTextColor:this.themeService.theme.palette.getAccent700(\"dark\"),\n helpTextFont:fontHelper(this.themeService.theme.typography.caption2),\n background:\"transparent\"\n });\n }\n else{\n return new MessageTranslationStyle({\n translatedTextFont: fontHelper(this.themeService.theme.typography.text3),\n translatedTextColor: this.themeService.theme.palette.getAccent(\"light\"),\n helpTextColor: this.themeService.theme.palette.getAccent700(),\n helpTextFont:fontHelper(this.themeService.theme.typography.caption2),\n background:\"transparent\"\n });\n }\n }\n }\n getCallTypeIcon(message:CometChat.BaseMessage){\n if (message.getType() == CometChatUIKitConstants.MessageTypes.audio) {\n return \"assets/Audio-Call.svg\"\n }\n else {\n return \"assets/Video-call.svg\"\n }\n }\n callStatusStyle(message: CometChat.BaseMessage){\n if(message.getCategory() == this.callConstant){\n return {\n buttonTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n buttonTextColor: CallingDetailsUtils.isMissedCall(message as CometChat.Call, this.loggedInUser) ? this.themeService.theme.palette.getError() : this.themeService.theme.palette.getAccent600(),\n borderRadius: \"10px\",\n border: CallingDetailsUtils.isMissedCall(message as CometChat.Call, this.loggedInUser) ? `1px solid RGBA(255, 59, 48, 0.2)` : `1px solid ${this.themeService.theme.palette.getAccent100()}`,\n buttonIconTint: CallingDetailsUtils.isMissedCall(message as CometChat.Call, this.loggedInUser) ? this.themeService.theme.palette.getError() : this.themeService.theme.palette.getAccent600(),\n background: \"transparent\",\n iconBackground:\"transparent\",\n padding:\"2px 12px 2px 0\",\n gap:\"0\",\n height:\"25px\",\n justifyContent:\"center\"\n };\n }\n else{\n return null\n }\n }\n setTextBubbleStyle = (message: CometChat.BaseMessage) => {\n const isDeleted = message.getDeletedAt();\n const isLeftAligned = this.alignment !== MessageListAlignment.left;\n const isTextMessage = message.getCategory() === CometChatUIKitConstants.MessageCategory.message && message?.getType() === CometChatUIKitConstants.MessageTypes.text;\n const isUserSentMessage = !message?.getSender() || this.loggedInUser!.getUid() === message?.getSender().getUid();\n const isGroupMemberMessage = message?.getType() === CometChatUIKitConstants.MessageTypes.groupMember;\n if(this.getLinkPreview(message as CometChat.TextMessage)){\n return {\n textFont: fontHelper(this.themeService.theme.typography.text3),\n textColor: this.themeService.theme.palette.getAccent()\n };\n }\n if (!isDeleted && isLeftAligned && isTextMessage && isUserSentMessage) {\n return {\n textFont: fontHelper(this.themeService.theme.typography.text3),\n textColor: this.themeService.theme.palette.getAccent900(\"light\")\n };\n }\n if (!isDeleted && isLeftAligned && isTextMessage && !isUserSentMessage && !isGroupMemberMessage) {\n return {\n textFont: fontHelper(this.themeService.theme.typography.text3),\n textColor: this.themeService.theme.palette.getAccent()\n };\n }\n if (isGroupMemberMessage) {\n return {\n textFont: fontHelper(this.themeService.theme.typography.subtitle2),\n textColor: this.themeService.theme.palette.getAccent600()\n };\n }\n\n return {\n textFont: fontHelper(this.themeService.theme.typography.text2),\n textColor: this.themeService.theme.palette.getAccent400()\n };\n }\n setFileBubbleStyle(message:CometChat.BaseMessage):any{\n const isFileMessage = message.getCategory() === CometChatUIKitConstants.MessageCategory.message && message?.getType() === CometChatUIKitConstants.MessageTypes.file;\nif(isFileMessage){\n return {\n titleFont: fontHelper(this.theme.typography.subtitle1),\n titleColor: this.themeService.theme.palette.getAccent(),\n subtitleFont: fontHelper(this.theme.typography.subtitle2),\n subtitleColor: this.themeService.theme.palette.getAccent600(),\n iconTint: this.themeService.theme.palette.getPrimary(),\n };\n}\nelse{\n return\n}\n }\n ngAfterViewInit() {\n this.ioBottom();\n this.ioTop();\n this.checkMessageTemplate()\n }\n startDirectCall =(sessionId:string) =>{\n this.sessionId = sessionId\n this.showOngoingCall = true;\n this.ref.detectChanges()\n\n }\n launchCollaborativeWhiteboardDocument =(url:string)=> {\n window.open(url, \"\", \"fullscreen=yes, scrollbars=auto\");\n }\n\n\n /**\n * Extracting types and categories from template\n *\n */\n\n\n checkMessageTemplate(){\n this.typesMap = {\n text: this.textBubble,\n file: this.fileBubble,\n audio: this.audioBubble,\n video: this.videoBubble,\n image: this.imageBubble,\n groupMember: this.textBubble,\n extension_sticker:this.stickerBubble,\n extension_whiteboard:this.whiteboardBubble,\n extension_document:this.documentBubble,\n extension_poll:this.pollBubble,\n meeting:this.directCalling\n\n }\n this.setBubbleView()\n }\n getPollBubbleData(message:CometChat.CustomMessage, type?:string){\n let data:any = message.getCustomData()\n if(type){\n return data[type]\n }\n else{\n return message.getSender().getUid()\n }\n }\n getThreadCount(message:CometChat.BaseMessage) {\n const replyCount = message?.getReplyCount() || 0;\n const suffix = replyCount === 1 ? localize(\"REPLY\") : localize(\"REPLIES\");\n return `${localize(\"VIEW\")} ${replyCount} ${suffix}`;\n }\n showEnabledExtensions(){\n if (ChatConfigurator.names.includes('textmoderator')) {\n this.enableDataMasking = true\n }\n if (ChatConfigurator.names.includes('thumbnailgeneration')) {\n this.enableThumbnailGeneration = true\n }\n if (ChatConfigurator.names.includes('linkpreview')) {\n this.enableLinkPreview = true\n }\n if (ChatConfigurator.names.includes('polls')) {\n this.enablePolls = true\n }\n if (ChatConfigurator.names.includes('reactions')) {\n this.enableReactions = true\n }\n if (ChatConfigurator.names.includes('imagemoderation')) {\n this.enableImageModeration = true\n }\n if (ChatConfigurator.names.includes('stickers')) {\n this.enableStickers = true\n }\n if (ChatConfigurator.names.includes('collaborativewhiteboard')) {\n this.enableWhiteboard = true\n }\n if (ChatConfigurator.names.includes('collaborativedocument')) {\n this.enableDocument = true\n }\n if (ChatConfigurator.names.includes('calling')) {\n this.enableCalling = true\n }\n }\n\n public openConfirmDialog:boolean = false\n public openFullscreenView:boolean = false\n public imageurlToOpen:string = \"\";\n fullScreenViewerStyle:FullScreenViewerStyle = {\nheight:\"100%\",\nwidth:\"100%\",\ncloseIconTint:\"blue\"\n }\n openImageInFullScreen(message:any){\n this.imageurlToOpen = message?.data?.attachments[0]?.url\n this.openFullscreenView = true\n this.ref.detectChanges()\n }\n closeImageInFullScreen(){\n this.imageurlToOpen = \"\"\n this.openFullscreenView = false\n this.ref.detectChanges()\n }\n openWarningDialog(event:any){\nthis.closeImageModeration = event?.detail?.onConfirm\nthis.openConfirmDialog = true;\nthis.ref.detectChanges()\n\n }\n onConfirmClick = ()=>{\n this.openConfirmDialog = false;\n if(this.closeImageModeration ){\n this.closeImageModeration ()\n }\n this.ref.detectChanges()\n }\n onCancelClick(){\n this.openConfirmDialog = false;\n this.ref.detectChanges()\n }\n getTextMessage(message: CometChat.TextMessage): string {\n const text = this.enableDataMasking ? CometChatUIKitUtility.getExtensionData(message) : null;\n return text?.trim()?.length > 0 ? text : message.getText();\n }\n getLinkPreview(message:CometChat.TextMessage):any{\n try {\n if (message?.getMetadata() && this.enableLinkPreview) {\n const metadata:any = message.getMetadata();\n const injectedObject = metadata[LinkPreviewConstants.injected];\n if (injectedObject && injectedObject?.extensions) {\n const extensionsObject = injectedObject.extensions;\n if (\n extensionsObject &&\n CometChatUIKitUtility.checkHasOwnProperty(extensionsObject,LinkPreviewConstants.link_preview)\n ) {\n const linkPreviewObject = extensionsObject[LinkPreviewConstants.link_preview];\n if (\n linkPreviewObject &&\n CometChatUIKitUtility.checkHasOwnProperty(linkPreviewObject, LinkPreviewConstants.links) &&\n linkPreviewObject[ LinkPreviewConstants.links].length\n ) {\n return linkPreviewObject[ LinkPreviewConstants.links][0]\n }\n else{\n return null\n }\n }\n else{\n return null\n }\n }\n }\n else{\n return null\n }\n } catch (error:any) {\n if(this.onError){\n this.onError(error)\n }\n }\n }\n getImageThumbnail(msg: CometChat.MediaMessage): string {\n const message:any = msg as CometChat.MediaMessage;\n let imageURL = \"\";\n if (this.enableThumbnailGeneration) {\n try {\n const metadata:any = message.getMetadata();\n const injectedObject = metadata?.[ThumbnailGenerationConstants.injected] as { extensions?: any };\n const extensionsObject = injectedObject?.extensions;\n const thumbnailGenerationObject = extensionsObject[ThumbnailGenerationConstants.thumbnail_generation];\n const imageToDownload = thumbnailGenerationObject?.url_small;\n if (imageToDownload) {\n imageURL = imageToDownload\n } else {\n imageURL = message?.data?.attachments ? message?.data?.attachments[0]?.url : \"\";\n }\n } catch (error) {\n if (this.onError) {\n this.onError(error);\n }\n }\n } else {\n imageURL = message?.data?.attachments ? message?.data?.attachments[0]?.url : \"\";\n }\n return imageURL;\n }\n getLinkPreviewDetails(key:string,message:CometChat.TextMessage):string{\n let linkPreviewObject:any = this.getLinkPreview(message)\n if(Object.keys(linkPreviewObject).length > 0){\n return linkPreviewObject[key]\n }\n else{\n return \"\"\n }\n }\n\n ngOnInit(): void {\n\n this.setMessagesStyle()\n this.setAvatarStyle()\n this.setDateStyle()\n this.setReceiptStyle()\n this.subscribeToEvents()\n this.setOngoingCallStyle()\n this.state = States.loading\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user as CometChat.User\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n this.dateSeparatorStyle.background = this.dateSeparatorStyle.background || this.themeService.theme.palette.getAccent600()\n this.dividerStyle.background = this.themeService.theme.palette.getAccent100()\n }\n setOngoingCallStyle = () => {\n let defaultStyle = new CallscreenStyle({\n maxHeight: \"100%\",\n maxWidth: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"#1c2226\",\n minHeight: \"400px\",\n minWidth: \"400px\",\n minimizeIconTint: this.themeService.theme.palette.getAccent900(),\n maximizeIconTint: this.themeService.theme.palette.getAccent900(),\n })\n this.ongoingCallStyle = { ...defaultStyle, ...this.ongoingCallStyle }\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\nsetDateStyle(){\n let defaultStyle = new DateStyle({\n textFont: fontHelper(this.themeService.theme.typography.subtitle1),\n textColor: this.themeService.theme.palette.getAccent600(),\n background: this.themeService.theme.palette.getAccent100(),\n height: \"100%\",\n width: \"100%\",\n border: `1px solid ${this.themeService.theme.palette.getAccent100()}`,\n borderRadius: \"8px\",\n })\n this.dateSeparatorStyle = {...defaultStyle,...this.dateSeparatorStyle}\n}\n setMessagesStyle(){\n this.smartReplyStyle = {\n replyTextFont:fontHelper(this.themeService.theme.typography.caption1),\n replyTextColor:this.themeService.theme.palette.getAccent(),\n replyBackground:this.themeService.theme.palette.getBackground(),\n boxShadow:`0px 0px 1px ${this.themeService.theme.palette.getAccent600()}`,\n closeIconTint:this.themeService.theme.palette.getAccent600(),\n background:this.themeService.theme.palette.getBackground(),\n ...this.smartReplyStyle\n }\n this.fullScreenViewerStyle.closeIconTint = this.themeService.theme.palette.getPrimary()\n let defaultStyle:MessageListStyle = new MessageListStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`none`,\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n nameTextFont: fontHelper(this.themeService.theme.typography.title2),\n nameTextColor: this.themeService.theme.palette.getAccent600(),\n threadReplySeparatorColor: this.themeService.theme.palette.getAccent400(),\n threadReplyTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n threadReplyIconTint: this.themeService.theme.palette.getAccent600(),\n threadReplyTextColor: this.themeService.theme.palette.getAccent600(),\n TimestampTextFont: fontHelper(this.themeService.theme.typography.caption2),\n TimestampTextColor: this.themeService.theme.palette.getAccent600(),\n })\n this.messageListStyle = {...defaultStyle,...this.messageListStyle}\n this.bubbleDateStyle = {\n textColor: this.messageListStyle.TimestampTextColor || this.themeService.theme.palette.getAccent600(),\n textFont: this.messageListStyle.TimestampTextFont || fontHelper(this.themeService.theme.typography.caption2)\n }\n this.linkPreviewStyle = new LinkPreviewStyle({\n titleColor: this.themeService.theme.palette.getAccent(),\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n descriptionColor: this.themeService.theme.palette.getAccent600(),\n descriptionFont: fontHelper(this.themeService.theme.typography.subtitle2),\n background: \"transparent\",\n height: \"100%\",\n width: \"100%\"\n })\n this.documentBubbleStyle = {\n titleFont: fontHelper(this.themeService.theme.typography.text2),\n titleColor: this.themeService.theme.palette.getAccent(),\n subtitleFont: fontHelper(this.themeService.theme.typography.subtitle2),\n subtitleColor: this.themeService.theme.palette.getAccent600(),\n iconTint: this.themeService.theme.palette.getAccent700(),\n buttonTextFont: fontHelper(this.themeService.theme.typography.text2),\n buttonTextColor: this.themeService.theme.palette.getPrimary(),\n buttonBackground: \"transparent\",\n separatorColor: this.themeService.theme.palette.getAccent200()\n }\n\n this.pollBubbleStyle = {\n borderRadius: \"8px\",\n background: \"transparent\",\n votePercentTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n votePercentTextColor: this.themeService.theme.palette.getAccent600(),\n pollQuestionTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n pollQuestionTextColor: this.themeService.theme.palette.getAccent(),\n pollOptionTextFont: fontHelper(this.themeService.theme.typography.text2),\n pollOptionTextColor: this.themeService.theme.palette.getAccent(),\n pollOptionBackground: this.themeService.theme.palette.getAccent900(),\n optionsIconTint: this.themeService.theme.palette.getAccent600(),\n totalVoteCountTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n totalVoteCountTextColor: this.themeService.theme.palette.getAccent600(),\n selectedPollOptionBackground: this.themeService.theme.palette.getAccent200(),\n userSelectedOptionBackground:this.themeService.theme.palette.getPrimary(),\n pollOptionBorder:`1px solid ${this.themeService.theme.palette.getAccent100()}`,\n pollOptionBorderRadius:\"8px\"\n }\n this.imageModerationStyle = {\n filterColor:this.themeService.theme.palette.getPrimary(),\n height:\"100%\",\n width:\"100%\",\n border:\"none\",\n warningTextColor:this.themeService.theme.palette.getAccent(\"dark\"),\n warningTextFont:fontHelper(this.themeService.theme.typography.title2),\n }\n this.confirmDialogStyle = {\n confirmButtonBackground: this.themeService.theme.palette.getError(),\n cancelButtonBackground: this.themeService.theme.palette.getSecondary(),\n confirmButtonTextColor: this.themeService.theme.palette.getAccent900(\"light\"),\n confirmButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n cancelButtonTextColor: this.themeService.theme.palette.getAccent900(\"dark\"),\n cancelButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n titleFont: fontHelper(this.themeService.theme.typography.title1),\n titleColor: this.themeService.theme.palette.getAccent(),\n messageTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n background: this.themeService.theme.palette.getBackground(),\n height:\"100%\",\n width:\"100%\",\n border:`1px solid ${this.themeService.theme.palette.getAccent100()}`,\n borderRadius:\"8px\"\n }\n }\n setReceiptStyle(){\n this.receiptStyle = new ReceiptStyle({\nwaitIconTint:this.themeService.theme.palette.getAccent700(),\nsentIconTint:this.themeService.theme.palette.getAccent600(),\ndeliveredIconTint:this.themeService.theme.palette.getAccent600(),\nreadIconTint:this.themeService.theme.palette.getPrimary(),\nerrorIconTint:this.themeService.theme.palette.getError(),\n })\n this.receiptStyle = {...this.receiptStyle}\n }\n createRequestBuilder(){\n if (!this.templates || this.templates?.length == 0) {\n this.messageTemplate = ChatConfigurator.getDataSource().getAllMessageTemplates()\n this.categories = ChatConfigurator.getDataSource().getAllMessageCategories()\n this.types = ChatConfigurator.getDataSource().getAllMessageTypes()\n }\n else {\n\n this.messageTemplate = this.templates\n }\n this.state = States.loading\n this.requestBuilder = null\n if (this.user || this.group) {\n if (!this.messagesRequestBuilder) {\n if (this.user) {\n this.requestBuilder = new CometChat.MessagesRequestBuilder()\n .setUID(this.user.getUid())\n .setLimit(this.limit)\n .setTypes(this.types)\n .setCategories(this.categories)\n .hideReplies(true)\n .build()\n }\n else {\n this.requestBuilder = new CometChat.MessagesRequestBuilder()\n .setGUID(this.group.getGuid())\n .setLimit(this.limit)\n .setTypes(this.types)\n .hideReplies(true)\n .setCategories(this.categories)\n .build()\n }\n }\n else {\n this.requestBuilder = this.messagesRequestBuilder.build()\n }\n this.fetchPreviousMessages();\n }\n }\n /**\n * Listener To Receive Messages in Real Time\n * @param\n */\n fetchPreviousMessages = () => {\n if (this.reinitialized) {\n if (this.messagesRequestBuilder) {\n this.requestBuilder = this.messagesRequestBuilder.setMessageId(this.messagesList[0].getId()).build()\n }\n else {\n if (this.user) {\n this.requestBuilder = new CometChat.MessagesRequestBuilder().setUID(this.user.getUid())\n .setLimit(this.limit)\n .setTypes(this.types)\n .setMessageId(this.messagesList[0].getId())\n .setCategories(this.categories)\n .hideReplies(true)\n .build()\n }\n else {\n this.requestBuilder = new CometChat.MessagesRequestBuilder().setGUID(this.group.getGuid())\n .setLimit(this.limit)\n .setTypes(this.types)\n .setMessageId(this.messagesList[0].getId())\n .setCategories(this.categories)\n .hideReplies(true)\n .build()\n }\n }\n }\n this.requestBuilder.fetchPrevious().then(\n (messageList: CometChat.BaseMessage[]) => {\n console.log(messageList)\n this.state = States.loading;\n // No Messages Found\n if (messageList.length === 0 && this.messagesList.length === 0) {\n this.state = States.empty;\n this.ref.detectChanges();\n return\n }\n if (messageList && messageList.length > 0) {\n let lastMessage = messageList[messageList.length - 1]\n if (lastMessage?.getSender().getUid() != this.loggedInUser?.getUid() && !lastMessage.getDeliveredAt()) {\n //mark the message as delivered\n if(!this.disableReceipt){\n CometChat.markAsDelivered(lastMessage).then((receipt:CometChat.MessageReceipt)=>{\n let messageKey = this.messagesList.findIndex((m: CometChat.BaseMessage) => m.getId() === Number(receipt?.getMessageId()));\n if (messageKey > -1) {\n this.markAllMessagAsDelivered(messageKey)\n }\n })\n }\n }\n if (!lastMessage?.getReadAt()) {\n if (!this.disableReceipt) {\n CometChat.markAsRead(lastMessage).then((receipt:CometChat.MessageReceipt)=>{\n let messageKey = this.messagesList.findIndex((m: CometChat.BaseMessage) => m.getId() === Number(receipt?.getMessageId()));\n if (messageKey > -1) {\n this.markAllMessagAsRead(messageKey)\n }\n }).catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n } else {\n this.UnreadCount = [];\n this.ref.detectChanges();\n }\n }\n this.state = States.loaded\n this.ref.detectChanges();\n //if the sender of the message is not the loggedin user, mark it as read.\n let prevScrollHeight = this.listScroll.nativeElement.scrollHeight;\n setTimeout(() => {\n this.listScroll.nativeElement.scrollTop =\n this.listScroll.nativeElement.scrollHeight - prevScrollHeight;\n });\n this.showSmartReply = false;\n this.smartReplyMessage = null;\n this.prependMessages(messageList)\n }\n else{\n this.state = States.loaded\n }\n this.ref.detectChanges();\n },\n (error: any) => {\n this.state = States.error;\n if(this.onError){\nthis.onError(error);\n}\n this.ref.detectChanges();\n }\n ).catch((error: any) => {\n console.log(error)\n this.state = States.error;\n this.ref.detectChanges();\n })\n }\n fetchNextMessage = () => {\n let index = this.messagesList.length - 1\n if (this.reinitialized) {\n if (this.messagesRequestBuilder) {\n this.requestBuilder = this.messagesRequestBuilder.setMessageId(this.messagesList[index].getId()).build()\n }\n else {\n if (this.user) {\n this.requestBuilder = new CometChat.MessagesRequestBuilder().setUID(this.user.getUid())\n .setLimit(this.limit)\n .setTypes(this.types)\n .setMessageId(this.messagesList[index].getId())\n .setCategories(this.categories)\n .hideReplies(true)\n .build()\n }\n else {\n this.requestBuilder = new CometChat.MessagesRequestBuilder().setGUID(this.group.getGuid())\n .setLimit(this.limit)\n .setTypes(this.types)\n .setMessageId(this.messagesList[index].getId())\n .setCategories(this.categories)\n .hideReplies(true)\n .build()\n }\n }\n this.requestBuilder.fetchNext().then(\n (messageList: CometChat.BaseMessage[]) => {\n this.state = States.loading;\n // No Messages Found\n if (messageList.length === 0 && this.messagesList.length === 0) {\n this.state = States.empty;\n this.ref.detectChanges();\n return\n }\n if (messageList && messageList.length) {\n let lastMessage = messageList[messageList.length - 1]\n if (!lastMessage?.getReadAt() && lastMessage?.getSender().getUid() != this.loggedInUser?.getUid()) {\n if (!this.disableReceipt) {\n CometChat.markAsRead(lastMessage);\n } else {\n this.UnreadCount = [];\n this.ref.detectChanges();\n }\n }\n if(!lastMessage?.getDeliveredAt() && lastMessage?.getSender().getUid() != this.loggedInUser?.getUid()){\n this.markMessageAsDelivered(lastMessage)\n this.markAllMessagAsDelivered(messageList.length - 1)\n }\n this.state = States.loaded\n\n let prevScrollHeight = this.listScroll.nativeElement.scrollHeight;\n setTimeout(() => {\n this.listScroll.nativeElement.scrollTop =\n this.listScroll.nativeElement.scrollHeight - prevScrollHeight;\n });\n this.appendMessages(messageList)\n this.ref.detectChanges();\n }\n },\n (error: any) => {\n this.state = States.error;\n console.log(error)\n if(this.onError){\nthis.onError(error);\n}\n this.ref.detectChanges();\n }\n ).catch((error: any) => {\n console.log(error)\n this.state = States.error;\n this.ref.detectChanges();\n })\n }\n }\n appendMessages = (messages: CometChat.BaseMessage[]) => {\n this.messagesList.push(...messages)\n this.messageCount = this.messagesList.length;\n if (this.messageCount > this.thresholdValue) {\n this.keepRecentMessages = true\n this.reInitializeMessageBuilder();\n }\n this.state = States.loaded\n this.ref.detectChanges();\n }\n addMessageEventListeners() {\n try {\n CometChat.addMessageListener(\n this.msgListenerId,\n new CometChat.MessageListener({\n onTextMessageReceived: (textMessage: CometChat.TextMessage) => {\n this.messageUpdate(CometChatUIKitConstants.messages.TEXT_MESSAGE_RECEIVED, textMessage);\n },\n onCustomMessageReceived: (customMessage: CometChat.CustomMessage) => {\n this.messageUpdate(CometChatUIKitConstants.messages.CUSTOM_MESSAGE_RECEIVED, customMessage);\n },\n onMediaMessageReceived: (mediaMessage: CometChat.MediaMessage) => {\n this.messageUpdate(CometChatUIKitConstants.messages.MEDIA_MESSAGE_RECEIVED, mediaMessage);\n },\n onMessagesDelivered: (messageReceipt: CometChat.MessageReceipt) => {\n this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_DELIVERED, messageReceipt);\n },\n onMessagesRead: (messageReceipt: CometChat.MessageReceipt) => {\n this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_READ, messageReceipt);\n },\n onMessageDeleted: (deletedMessage: CometChat.BaseMessage) => {\n this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_DELETED, deletedMessage);\n },\n onMessageEdited: (editedMessage: CometChat.BaseMessage) => {\n this.messageUpdate(CometChatUIKitConstants.messages.MESSAGE_EDITED, editedMessage);\n },\n onTransientMessageReceived: (transientMessage: CometChat.TransientMessage) => {\n let liveReaction: any = transientMessage.getData();\n if (transientMessage.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user && this.user && transientMessage?.getSender().getUid() == this.user.getUid() && transientMessage.getReceiverId() == this.loggedInUser?.getUid()) {\n CometChatMessageEvents.ccLiveReaction.next(liveReaction[\"LIVE_REACTION\"])\n return;\n }\n else if (transientMessage.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.group && this.group && transientMessage.getReceiverId() == this.group.getGuid() && transientMessage?.getSender().getUid() != this.loggedInUser?.getUid()) {\n CometChatMessageEvents.ccLiveReaction.next(liveReaction[\"LIVE_REACTION\"])\n return;\n }\n },\n })\n );\n CometChat.addGroupListener(\n this.groupListenerId,\n new CometChat.GroupListener({\n onGroupMemberScopeChanged: (\n message: null | undefined,\n changedUser: CometChat.User,\n newScope: CometChat.GroupMemberScope,\n oldScope: CometChat.GroupMemberScope,\n changedGroup: null | undefined\n ) => {\n this.messageUpdate(\n CometChatUIKitConstants.groupMemberAction.SCOPE_CHANGE,\n message,\n changedGroup,\n { user: changedUser, scope: newScope }\n );\n },\n onGroupMemberKicked: (message: null | undefined, kickedUser: CometChat.User, kickedBy: CometChat.User, kickedFrom: null | undefined) => {\n this.messageUpdate(\n CometChatUIKitConstants.groupMemberAction.KICKED,\n message,\n kickedFrom,\n {\n user: kickedUser,\n hasJoined: false,\n }\n );\n },\n onGroupMemberBanned: (message: null | undefined, bannedUser: CometChat.User, bannedBy: CometChat.User, bannedFrom: null | undefined) => {\n this.messageUpdate(\n CometChatUIKitConstants.groupMemberAction.BANNED,\n message,\n bannedFrom,\n {\n user: bannedUser,\n }\n );\n },\n onGroupMemberUnbanned: (\n message: null | undefined,\n unbannedUser: CometChat.User,\n unbannedBy: CometChat.User,\n unbannedFrom: null | undefined\n ) => {\n this.messageUpdate(\n CometChatUIKitConstants.groupMemberAction.UNBANNED,\n message,\n unbannedFrom,\n { user: unbannedUser }\n );\n },\n onMemberAddedToGroup: (\n message: null | undefined,\n userAdded: CometChat.User,\n userAddedBy: CometChat.User,\n userAddedIn: null | undefined\n ) => {\n this.messageUpdate(\n CometChatUIKitConstants.groupMemberAction.ADDED,\n message,\n userAddedIn,\n {\n user: userAdded,\n hasJoined: true,\n }\n );\n },\n onGroupMemberLeft: (message: CometChat.BaseMessage, leavingUser: CometChat.GroupMember, group: CometChat.Group) => {\n this.messageUpdate(CometChatUIKitConstants.groupMemberAction.LEFT, message, group, {\n user: leavingUser,\n });\n },\n onGroupMemberJoined: (message: CometChat.BaseMessage, joinedUser: CometChat.GroupMember, joinedGroup: CometChat.Group) => {\n this.messageUpdate(\n CometChatUIKitConstants.groupMemberAction.JOINED,\n message,\n joinedGroup,\n {\n user: joinedUser,\n }\n );\n },\n })\n );\n if(this.enableCalling){\n CometChat.addCallListener(\n this.callListenerId,\n new CometChat.CallListener({\n onIncomingCallReceived: (call: CometChat.Call) => {\n this.addMessage(call)\n },\n onIncomingCallCancelled: (call: CometChat.Call) => {\n this.addMessage(call)\n },\n onOutgoingCallRejected: (call: CometChat.Call) => {\n this.addMessage(call)\n\n },\n onOutgoingCallAccepted: (call: CometChat.Call) => {\n this.addMessage(call)\n },\n\n })\n );\n }\n\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n /**\n*\n* @param\n*/\n /**\n * Updates messageList on basis of user activity or group activity or calling activity\n * @param {any=null} key\n * @param {CometChat.MessageReceipt | CometChat.BaseMessage} message\n * @param {CometChat.Group | null=null} group\n * @param {any=null} options\n */\n messageUpdate(key: string | null = null, message: CometChat.MessageReceipt | CometChat.BaseMessage | any = null, group: CometChat.Group | null = null, options: any = null) {\n try {\n switch (key) {\n case CometChatUIKitConstants.messages.TEXT_MESSAGE_RECEIVED:\n case CometChatUIKitConstants.messages.MEDIA_MESSAGE_RECEIVED:\n this.messageReceived(message);\n break;\n case CometChatUIKitConstants.messages.MESSAGE_DELIVERED:\n case CometChatUIKitConstants.messages.MESSAGE_READ:\n this.messageReadAndDelivered(message);\n break;\n case CometChatUIKitConstants.messages.MESSAGE_DELETED:\n case CometChatUIKitConstants.messages.MESSAGE_EDITED: {\n this.messageEdited(message);\n break;\n }\n case CometChatUIKitConstants.groupMemberAction.SCOPE_CHANGE:\n case CometChatUIKitConstants.groupMemberAction.JOINED:\n case CometChatUIKitConstants.groupMemberAction.LEFT:\n case CometChatUIKitConstants.groupMemberAction.ADDED:\n case CometChatUIKitConstants.groupMemberAction.KICKED:\n case CometChatUIKitConstants.groupMemberAction.BANNED:\n case CometChatUIKitConstants.groupMemberAction.UNBANNED: {\n this.addMessage(message)\n break;\n }\n case CometChatUIKitConstants.messages.CUSTOM_MESSAGE_RECEIVED:\n this.customMessageReceived(message);\n break;\n default:\n return;\n }\n this.ref.detectChanges()\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n\n /**\n * translate message then call update message\n * @param {CometChat.BaseMessage} message\n */\n // translateMessage(message: CometChat.BaseMessage) {\n // }\n /**\n * @param {CometChat.BaseMessage} message\n */\n markMessageAsDelivered = (message: CometChat.BaseMessage) => {\n if (!this.disableReceipt && message?.getSender().getUid() !== this.loggedInUser?.getUid() && message.hasOwnProperty(\"deliveredAt\") === false) {\n CometChat.markAsDelivered(message)\n }\n };\n /**\n * When Message is Received\n * @param message\n */\n /**\n * @param {CometChat.BaseMessage} message\n */\n messageReceived(message: CometChat.BaseMessage) {\n this.markMessageAsDelivered(message)\n try {\n if (\n this.group &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.group &&\n message.getReceiverId() === this.group?.getGuid()\n ) {\n this.messageReceivedHandler(message, CometChatUIKitConstants.MessageReceiverType.group);\n } else if (\n this.user &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.user &&\n message?.getSender().getUid() === this.user?.getUid()\n ) {\n if ((!message?.getReadAt() && !message?.getParentMessageId() && this.isOnBottom) || (!message?.getReadAt() && message.getParentMessageId() && this.parentMessageId && this.isOnBottom)) {\n if (!this.disableReceipt) {\n CometChat.markAsRead(message).then(() => {\n CometChatMessageEvents.ccMessageRead.next( message)\n });\n }\n else {\n this.UnreadCount = [];\n this.ref.detectChanges()\n }\n CometChatMessageEvents.ccMessageRead.next( message)\n }\n this.messageReceivedHandler(message, CometChatUIKitConstants.MessageReceiverType.user);\n }\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n this.ref.detectChanges();\n }\n /**\n * Updating the reply count of Thread Parent Message\n * @param {CometChat.BaseMessage} messages\n */\n updateReplyCount(messages: CometChat.BaseMessage) {\n try {\n const receivedMessage = messages;\n let messageList: CometChat.BaseMessage[] = [...this.messagesList];\n let messageKey = messageList.findIndex(\n (m) => m.getId() === receivedMessage.getParentMessageId()\n );\n if (messageKey > -1) {\n const messageObj: CometChat.BaseMessage = messageList[messageKey];\n let replyCount = messageObj.getReplyCount() ? messageObj.getReplyCount() : 0;\n replyCount = replyCount + 1;\n messageObj.setReplyCount(replyCount);\n messageList.splice(messageKey, 1, messageObj);\n this.messagesList = [...messageList];\n this.ref.detectChanges();\n }\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n /**\n * @param {CometChat.BaseMessage} message\n * @param {string} type\n */\n messageReceivedHandler = (message: CometChat.BaseMessage, type: string) => {\n ++this.messageCount;\n if (message.getParentMessageId()) {\n this.updateReplyCount(message);\n this.addMessage(message);\n } else {\n if (this.messageCount > this.thresholdValue) {\n this.keepRecentMessages = true\n this.reInitializeMessageBuilder();\n }\n this.addMessage(message);\n if (!this.isOnBottom) {\n if (this.scrollToBottomOnNewMessages) {\n setTimeout(() => {\n this.scrollToBottom()\n }, 100);\n }\n else {\n let countText = localize(\"NEW_MESSAGES\")\n if (this.newMessageIndicatorText && this.newMessageIndicatorText != \"\") {\n countText = this.newMessageIndicatorText\n }\n else {\n countText = this.UnreadCount.length > 0 ? localize(\"NEW_MESSAGES\") : localize(\"NEW_MESSAGE\")\n }\n this.UnreadCount.push(message)\n this.newMessageCount = \" ↓ \" + this.UnreadCount.length + \" \" + countText;\n this.ref.detectChanges()\n }\n }\n }\n this.playAudio();\n //handling dom lag - increment count only for main message list\n if (message.hasOwnProperty(\"parentMessageId\") === false && this.parentMessageId) {\n ++this.messageCount;\n this.ref.detectChanges()\n } else if (message.hasOwnProperty(\"parentMessageId\") === true && this.parentMessageId) {\n if (message.getParentMessageId() === this.parentMessageId && this.isOnBottom) {\n if (!this.disableReceipt) {\n CometChat.markAsRead(message).then(() => {\n CometChatMessageEvents.ccMessageRead.next( message)\n });\n }\n else {\n this.UnreadCount = [];\n this.ref.detectChanges()\n }\n this.ref.detectChanges()\n }\n } else {\n }\n };\n playAudio() {\n if (!this.disableSoundForMessages) {\n if (this.customSoundForMessages) {\n CometChatSoundManager.play(CometChatSoundManager.Sound.incomingMessage, this.customSoundForMessages)\n }\n else {\n CometChatSoundManager.play(CometChatSoundManager.Sound.incomingMessage)\n }\n }\n }\n reInitializeMessageList() {\n this.reinitialized = true\n this.msgListenerId = \"message_\"+ new Date().getTime();\n this.groupListenerId = \"group_\"+ new Date().getTime();\n this.callListenerId = \"call_\"+ new Date().getTime();\n this.addMessageEventListeners();\n if (this.messagesRequestBuilder) {\n if (this.keepRecentMessages) {\n this.messagesList.splice(1, this.messagesList.length - 30);\n }\n else {\n this.messagesList.splice(30);\n }\n this.requestBuilder = this.messagesRequestBuilder\n }\n else {\n if (this.keepRecentMessages) {\n this.messagesList.splice(1, this.messagesList.length - 30);\n this.scrollToBottom()\n }\n else {\n this.messagesList.splice(30);\n }\n }\n this.ref.detectChanges();\n }\n reInitializeMessageBuilder = () => {\n if (!this.parentMessageId) {\n this.messageCount = 0;\n }\n this.requestBuilder = null\n CometChat.removeMessageListener(this.msgListenerId);\n CometChat.removeGroupListener(this.groupListenerId);\n CometChat.removeCallListener(this.callListenerId)\n this.reInitializeMessageList()\n };\n getMessageReceipt(message: CometChat.BaseMessage) {\n let receipt = MessageReceiptUtils.getReceiptStatus(message)\n return receipt\n }\n messageReadAndDelivered(message: CometChat.MessageReceipt) {\n try {\n if (\n message.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user &&\n message?.getSender().getUid() == this.user?.getUid() &&\n message.getReceiver() == this.loggedInUser?.getUid()\n ) {\n if (message.getReceiptType() == CometChatUIKitConstants.messages.DELIVERY) {\n //search for message\n let messageKey = this.messagesList.findIndex(\n (m: CometChat.BaseMessage) => m.getId() == Number(message.getMessageId())\n );\n if (messageKey > -1) {\n this.messagesList[messageKey].setDeliveredAt(message.getDeliveredAt())\n this.ref.detectChanges();\n }\n // this.ref.detectChanges();\n this.markAllMessagAsDelivered( messageKey);\n } else if (message.getReceiptType() == CometChatUIKitConstants.messages.READ) {\n //search for message\n let messageKey = this.messagesList.findIndex(\n (m: CometChat.BaseMessage) => m.getId() == Number(message.getMessageId())\n );\n if (messageKey > -1) {\n this.messagesList[messageKey].setReadAt(message?.getReadAt());\n this.ref.detectChanges();\n }\n this.ref.detectChanges();\n this.markAllMessagAsRead( messageKey)\n }\n } else if (\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.group &&\n message.getReceiver() === this.group?.getGuid()\n ) {\n return\n }\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n this.ref.detectChanges()\n }\n /**\n * @param {CometChat.BaseMessage} readMessage\n */\n markAllMessagAsRead( messageKey: number) {\n for(let i = messageKey; i >=0; i--){\n if (!this.messagesList[i].getReadAt()) {\n this.messagesList[i].setReadAt(CometChatUIKitUtility.getUnixTimestamp());\n this.ref.detectChanges();\n }\n }\n CometChatMessageEvents.ccMessageRead.next( this.messagesList[messageKey])\n }\n markAllMessagAsDelivered(messageKey: number) {\n for (let i = messageKey; i >= 0; i--) {\n if (!this.messagesList[i].getDeliveredAt()) {\n this.messagesList[i].setDeliveredAt(CometChatUIKitUtility.getUnixTimestamp());\n this.ref.detectChanges();\n }\n }\n }\n /**\n * Emits an Action Indicating that a message was deleted by the user/person you are chatting with\n * @param {CometChat.BaseMessage} message\n */\n /**\n * Detects if the message that was edit is your current open conversation window\n * @param {CometChat.BaseMessage} message\n */\n messageEdited = (message: CometChat.BaseMessage) => {\n try {\n if (\n this.group &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.group &&\n message.getReceiverId() === this.group?.getGuid()\n ) {\n this.updateEditedMessage(message);\n } else if (\n this.user &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.user &&\n this.loggedInUser?.getUid() === message.getReceiverId() &&\n message?.getSender().getUid() === this.user?.getUid()\n ) {\n this.updateEditedMessage(message);\n } else if (\n this.user &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.user &&\n this.loggedInUser?.getUid() === message?.getSender().getUid() &&\n message.getReceiverId() === this.user?.getUid()\n ) {\n this.updateEditedMessage(message);\n }\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n this.ref.detectChanges()\n };\n /**\n * Emits an Action Indicating that a message was deleted by the user/person you are chatting with\n * @param {CometChat.BaseMessage} message\n */\n updateEditedMessage = (message: CometChat.BaseMessage) => {\n const messageList = this.messagesList;\n const messageKey = messageList.findIndex(m => m.getId() === message.getId());\n if (messageKey > -1) {\n this.messagesList = [\n ...messageList.slice(0, messageKey),\n message,\n ...messageList.slice(messageKey + 1)\n ];\n }\n this.ref.detectChanges();\n };\n /**\n * Emits an Action Indicating that Group Data has been updated\n * @param\n */\n /**\n * When custom messages are received eg. Poll, Stickers emits action to update message list\n * @param message\n */\n /**\n * @param {CometChat.BaseMessage} message\n */\n customMessageReceived(message: CometChat.BaseMessage): any {\n try {\n this.markMessageAsDelivered(message);\n if (\n this.group &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.group &&\n message.getReceiverId() === this.group?.getGuid()\n ) {\n if ((!message?.getReadAt() && !message?.getParentMessageId() && this.isOnBottom) || (!message?.getReadAt() && message.getParentMessageId() && this.parentMessageId && this.isOnBottom) ) {\n if (!this.disableReceipt) {\n CometChat.markAsRead(message).then(() => {\n CometChatMessageEvents.ccMessageRead.next( message)\n });\n }\n else {\n this.UnreadCount = [];\n this.ref.detectChanges()\n }\n }\n this.customMessageReceivedHandler(message, CometChatUIKitConstants.MessageReceiverType.group)\n }\n else if (\n this.user &&\n message.getReceiverType() === CometChatUIKitConstants.MessageReceiverType.user &&\n ((message?.getSender().getUid() === this.user?.getUid() &&\n message.getReceiverId() === this.loggedInUser?.getUid())\n || (\n this.loggedInUser?.getUid() === message?.getSender().getUid() &&\n message.getReceiverId() === this.user?.getUid()\n ))\n ) {\n if ((!message?.getReadAt() && !message?.getParentMessageId() && this.isOnBottom) || (!message?.getReadAt() && message.getParentMessageId() && this.parentMessageId && this.isOnBottom)) {\n if (!this.disableReceipt) {\n CometChat.markAsRead(message).then(() => {\n CometChatMessageEvents.ccMessageRead.next( message)\n });\n }\n else {\n this.UnreadCount = [];\n this.ref.detectChanges()\n }\n }\n this.customMessageReceivedHandler(message, CometChatUIKitConstants.MessageReceiverType.user)\n }\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n this.ref.detectChanges();\n return true;\n }\n /**\n * @param {CometChat.BaseMessage} message\n * @param {string} type\n */\n customMessageReceivedHandler = (message: CometChat.BaseMessage, type: string) => {\n ++this.messageCount;\n // add received message to messages list\n if (message.getParentMessageId()) {\n this.updateReplyCount(message);\n this.addMessage(message);\n } else {\n if (this.messageCount > this.thresholdValue) {\n this.keepRecentMessages = true\n this.reInitializeMessageBuilder();\n }\n this.addMessage(message);\n if (!this.isOnBottom) {\n if (this.scrollToBottomOnNewMessages) {\n setTimeout(() => {\n this.scrollToBottom()\n }, 100);\n }\n else {\n let countText = localize(\"NEW_MESSAGES\")\n if (this.newMessageIndicatorText && this.newMessageIndicatorText != \"\") {\n countText = this.newMessageIndicatorText\n }\n else {\n countText = this.UnreadCount.length > 0 ? localize(\"NEW_MESSAGES\") : localize(\"NEW_MESSAGE\")\n }\n this.UnreadCount.push(message)\n this.newMessageCount = \" ↓ \" + this.UnreadCount.length + \" \" + countText;\n this.ref.detectChanges()\n }\n }\n }\n this.playAudio();\n //handling dom lag - increment count only for main message list\n if (message.hasOwnProperty(\"parentMessageId\") === false && !this.parentMessageId) {\n ++this.messageCount;\n //if the user has not scrolled in chat window(scroll is at the bottom of the chat window)\n } else if (message.hasOwnProperty(\"parentMessageId\") === true && this.parentMessageId && this.isOnBottom) {\n if (message.getParentMessageId() === this.parentMessageId ) {\n if (!this.disableReceipt ) {\n CometChat.markAsRead(message).then(() => {\n CometChatMessageEvents.ccMessageRead.next( message)\n });\n }\n else {\n this.UnreadCount = [];\n this.ref.detectChanges()\n }\n }\n } else {\n }\n this.ref.detectChanges();\n };\n /**\n * TrackBy method to update UI when a change is detected\n */\n /**\n * @param {number} index\n * @param {any} item\n */\n getMessageId(index: number, item: any) {\n return item.editedAt || item.readAt || item.deliveredAt || item.id;\n }\n /**\n * Compares two dates and sets Date on a a new day\n */\n /**\n * @param {number} firstDate\n * @param {number} secondDate\n */\n isDateDifferent(firstDate: number | undefined, secondDate: number | undefined) {\n let firstDateObj: Date, secondDateObj: Date;\n firstDateObj = new Date(firstDate! * 1000);\n secondDateObj = new Date(secondDate! * 1000);\n return firstDateObj.getDate() !== secondDateObj.getDate() ||\n firstDateObj.getMonth() !== secondDateObj.getMonth() ||\n firstDateObj.getFullYear() !== secondDateObj.getFullYear();\n }\n /**\n * prepend Fetched Messages\n * @param {CometChat.BaseMessage} messages\n */\n prependMessages(messages: CometChat.BaseMessage[]) {\n try {\n this.messagesList = [...messages, ...this.messagesList];\n this.messageCount = this.messagesList.length;\n if (this.messageCount > this.thresholdValue) {\n this.keepRecentMessages = false;\n this.reInitializeMessageBuilder();\n }\n this.ngZone.run(() => {\n if(this.state != States.loaded){\n this.state = States.loaded\n }\n this.ref.detach(); // Detach the change detector\n });\n if(this.chatChanged){\n\n CometChatUIEvents.ccActiveChatChanged.next({\n user:this.user,\n group:this.group,\n message: messages[messages?.length -1]\n })\n this.chatChanged = false\n this.scrollToBottom();\n }\n } catch (error: any) {\n this.state = States.error\n if (this.onError) {\n this.onError(error);\n }\n }\n }\n /**\n * listening to bottom scroll using intersection observer\n */\n ioBottom() {\n const options = {\n root: this.listScroll.nativeElement,\n rootMargin: '-100% 0px 100px 0px',\n threshold: 0,\n };\n const callback = (entries: any) => {\nthis.isOnBottom = false\n const lastMessage = this.UnreadCount[this.UnreadCount.length - 1];\n this.isOnBottom = entries[0].isIntersecting;\n if(this.isOnBottom){\n this.fetchNextMessage()\n if (!this.disableReceipt && this.UnreadCount?.length > 0) {\n CometChat.markAsRead(lastMessage).then((res: CometChat.MessageReceipt) => {\n this.UnreadCount = [];\n let messageKey = this.messagesList.findIndex((m: CometChat.BaseMessage) => m.getId() === Number(res?.getMessageId()));\n if (messageKey > -1) {\n this.markAllMessagAsRead(messageKey)\n }\n this.ref.detectChanges()\n CometChatMessageEvents.ccMessageRead.next( lastMessage);\n });\n } else {\n this.UnreadCount = [];\n this.ref.detectChanges()\n }\n }\n };\n var observer:IntersectionObserver = new IntersectionObserver(callback, options);\n observer.observe(this.bottom.nativeElement)\n };\n /**\n * listening to top scroll using intersection observer\n */\n ioTop(){\n const options = {\n root: this.listScroll.nativeElement,\n rootMargin: '200px 0px 0px 0px',\n threshold: 1.0\n }\n const callback = (entries: any) => {\n this.isOnBottom = false\n if (entries[0].isIntersecting) {\n this.numberOfTopScroll++;\n if (this.numberOfTopScroll > 1) {\n this.fetchPreviousMessages()\n }\n }\n }\n var observer:IntersectionObserver = new IntersectionObserver(callback, options);\n observer.observe(this.top.nativeElement);\n }\n // public methods\n addMessage = (message: CometChat.BaseMessage) => {\n if(!message?.getParentMessageId() || this.parentMessageId){\n this.messagesList.push(message)\n if(!message?.getSender() || this.loggedInUser?.getUid() == message?.getSender()?.getUid() || this.isOnBottom){\n this.scrollToBottom()\n this.ref.detectChanges()\n }\n }\n\n if(this.state != States.loaded){\n this.state = States.loaded\n this.ref.detectChanges()\n }\n this.ref.detectChanges()\n }\n /**\n * callback for copy message\n * @param {CometChat.TextMessage} object\n */\n onCopyMessage = (object: CometChat.TextMessage) => {\n navigator.clipboard.writeText(object.getText())\n }\n /**\n * callback for deleteMessage\n * @param {CometChat.BaseMessage} object\n */\n /**\n * @param {CometChat.BaseMessage} messages\n */\n messageSent(messages: CometChat.BaseMessage) {\n const message: CometChat.BaseMessage = messages;\n const messageList: CometChat.BaseMessage[] = [...this.messagesList];\n let messageKey = messageList.findIndex((m: CometChat.BaseMessage) => m.getMuid() === message.getMuid());\n if (messageKey > -1) {\n messageList.splice(messageKey, 1, message);\n }\n this.messagesList = messageList;\n this.ref.detectChanges()\n this.scrollToBottom();\n }\n /**\n * callback for editMessage option\n * @param {CometChat.BaseMessage} object\n */\n onEditMessage = (object: CometChat.BaseMessage) => {\n CometChatMessageEvents.ccMessageEdited.next({message:object,status:MessageStatus.inprogress});\n }\n updateMessage(message: CometChat.BaseMessage, muid: boolean = false) {\n if (muid) {\n this.messageSent(message)\n }\n else {\n this.updateEditedMessage(message)\n }\n }\n removeMessage = (message: CometChat.BaseMessage) => {\n try {\n const messageKey = this.messagesList.findIndex(msg => msg?.getId() === message.getId());\n if (messageKey > -1) {\n this.messagesList.splice(messageKey, 1, message);\n this.messagesList = [...this.messagesList];\n this.ref.detectChanges();\n }\n } catch (error) {\n if(this.onError){\nthis.onError(error);\n}\n }\n };\n deleteMessage = (message: CometChat.BaseMessage) => {\n try {\n const messageId: any = message.getId();\n CometChat.deleteMessage(messageId)\n .then((deletedMessage) => {\n CometChatMessageEvents.ccMessageDeleted.next(deletedMessage)\n // this.ref.detectChanges()\n })\n .catch((error:any) => {\n if(this.onError){\nthis.onError(error);\n}\n });\n } catch (error:any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n scrollToBottom = () => {\n try {\n setTimeout(() => {\n this.listScroll.nativeElement.scroll({\n top: this.listScroll.nativeElement.scrollHeight,\n left: 0,\n });\n this.isOnBottom = true;\n this.ref.detectChanges();\n }, 10);\n } catch (error: any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n showHeaderTitle(message:CometChat.BaseMessage){\n if(this.alignment == MessageListAlignment.left){\n return true\n }\n else{\n if(this.group && message?.getCategory() != CometChatUIKitConstants.MessageCategory.action && !message?.getDeletedAt() && message?.getSender() && message?.getSender().getUid() != this.loggedInUser?.getUid() && this.alignment == MessageListAlignment.standard){\n return true\n }\n else{\n return false\n }\n }\n }\n subscribeToEvents() {\n this.ccShowPanel = CometChatUIEvents.ccShowPanel.subscribe((data:IPanel)=>{\n this.smartReplyConfig = data.configuration!\n this.smartReplyMessage = data.message!\n this.enableSmartReply = true\n this.showSmartReply = true\n this.ref.detectChanges()\n\n })\n this.ccHidePanel = CometChatUIEvents.ccHidePanel.subscribe(()=>{\n\n this.smartReplyMessage = null\n this.enableSmartReply = false\n this.showSmartReply = false\n\n })\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item: IGroupMemberAdded) => {\n item\n this.appendMessages(item.messages!)\n })\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item: IGroupMemberKickedBanned) => {\n this.addMessage(item.message!)\n })\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item: IGroupMemberKickedBanned) => {\n this.addMessage(item.message!)\n })\n this.ccGroupMemberScopeChanged = CometChatGroupEvents.ccGroupMemberScopeChanged.subscribe((item: IGroupMemberScopeChanged) => {\n this.addMessage(item.message!)\n })\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item: IGroupLeft) => {\n this.addMessage(item.message!)\n })\n this.ccMessageEdit = CometChatMessageEvents.ccMessageEdited.subscribe((object: IMessages) => {\n if(object?.status == MessageStatus.success){\n this.updateMessage(object.message!)\n }\n })\n this.ccMessageSent = CometChatMessageEvents.ccMessageSent.subscribe((obj: IMessages) => {\n let message: CometChat.BaseMessage = obj.message!\n switch (obj.status) {\n case MessageStatus.inprogress: {\n this.addMessage(message);\n this.playAudio();\n break;\n }\n case MessageStatus.success: {\n if(message.getParentMessageId() || this.parentMessageId){\n this.updateReplyCount(message)\n }\n this.updateMessage(message, true);\n break;\n }\n case MessageStatus.success: {\n this.updateMessage(message)\n }\n }\n })\n this.ccMessageDelete = CometChatMessageEvents.ccMessageDeleted.subscribe((messageObject: CometChat.BaseMessage) => {\n this.removeMessage(messageObject)\n this.ref.detectChanges();\n })\n this.ccCallEnded = CometChatCallEvents.ccCallEnded.subscribe((call:CometChat.Call)=>{\n this.showOngoingCall = false\n this.sessionId = \"\"\n if(call){\n this.addMessage(call)\n }\n this.ref.detectChanges()\n })\n this.ccCallRejected = CometChatCallEvents.ccCallRejected.subscribe((call: CometChat.Call) => {\n this.addMessage(call)\n })\n this.ccOutgoingCall = CometChatCallEvents.ccOutgoingCall.subscribe((call: CometChat.Call) => {\n\n this.addMessage(call)\n })\n this.ccCallAccepted = CometChatCallEvents.ccCallAccepted.subscribe((call: CometChat.Call) => {\n this.addMessage(call)\n })\n }\n closeSmartReply =()=>{\n this.showSmartReply = false\n this.smartReplyMessage = null\n this.ref.detectChanges()\n }\n sendReply =(event:any)=>{\n let reply:string = event?.detail?.reply\nif(this.smartReplyConfig.ccSmartRepliesClicked){\nthis.smartReplyConfig.ccSmartRepliesClicked(reply,this.smartReplyMessage!,this.onError,this.customSoundForMessages,this.disableSoundForMessages)\nthis.closeSmartReply()\n}\n }\n getReplies(): string[] | null {\n let smartReply:any = this.smartReplyMessage\n const smartReplyObject = smartReply?.metadata?.[SmartRepliesConstants.injected]?.extensions?.[SmartRepliesConstants.smart_reply];\n if (smartReplyObject?.reply_positive && smartReplyObject?.reply_neutral && smartReplyObject?.reply_negative) {\n\n const { reply_positive, reply_neutral, reply_negative } = smartReplyObject;\n return [reply_positive, reply_neutral, reply_negative];\n }\n return null;\n }\n unsubscribeToEvents() {\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccGroupMemberJoined?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccOwnershipChanged?.unsubscribe();\n this.ccGroupLeft?.unsubscribe();\n this.ccMessageEdit?.unsubscribe();\n this.ccMessageSent?.unsubscribe();\n this.ccLiveReaction?.unsubscribe();\n this.ccMessageDelete?.unsubscribe();\n this.ccGroupMemberScopeChanged?.unsubscribe()\n }\n /**\n* styling part\n*/\n chatsListStyle = () => {\n return {\n height: this.messageListStyle.height,\n background: this.messageListStyle.background,\n };\n }\n messageContainerStyle = () => {\n return {\n width: this.messageListStyle.width,\n };\n }\n errorStyle = () => {\n return {\n textFont: this.messageListStyle.errorStateTextFont,\n textColor: this.messageListStyle.errorStateTextColor,\n }\n }\n emptyStyle = () => {\n return {\n textFont: this.messageListStyle.emptyStateTextFont,\n textColor: this.messageListStyle.emptyStateTextColor,\n }\n }\n loadingStyle = () => {\n return {\n iconTint: this.messageListStyle.loadingIconTint,\n }\n }\n wrapperStyle = () => {\n return {\n height: this.messageListStyle.height,\n width: this.messageListStyle.width,\n background: this.messageListStyle.background,\n border: this.messageListStyle.border,\n borderRadius: this.messageListStyle.borderRadius\n }\n }\n}\n","<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-list__header-view\">\n<div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n</div>\n </div>\n <div class=\"cc-message-list\" #listScroll>\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"loadingStyle()\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\" *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i === 0)\">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message!.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt()))\n \">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message) \">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [leadingView]=\" showAvatar ? leadingView : null\" [bottomView]=\"enableReactions ? reactionView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\" [footerView]=\"footerView\" [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\" [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n <div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n</ng-template>\n<ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n<ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n </div>\n</ng-template>\n</ng-template>\n<ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\" *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\" >\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-button [text]=\"getThreadCount(message)\" [buttonStyle]=\"getThreadViewStyle(message)\" [iconURL]=\"threadOpenIcon\" (cc-button-clicked)=\"openThreadView(message)\">\n </cometchat-button>\n </div>\n</ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n </div>\n <div class=\"cc-message-list__footer-view\">\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n <div class=\"cc-message-list__smart-replies\" *ngIf=\"showSmartReply && getReplies() && (!UnreadCount || UnreadCount.length == 0)\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\" (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n<div class=\"cc-message-list__message-indicator\" *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\">\n <cometchat-button [text]=\"newMessageCount\" [buttonStyle]=\"unreadMessagesStyle\" (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n</div>\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble *ngIf=\"message?.type == MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n<cometchat-text-bubble *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n<link-preview [linkPreviewStyle]=\"linkPreviewStyle\" (cc-link-clicked)=\"openLinkURL($event)\" *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\" [title]=\"getLinkPreviewDetails('title',message)\" [description]=\"getLinkPreviewDetails('description',message)\" [URL]=\"getLinkPreviewDetails('url',message)\" [image]=\"getLinkPreviewDetails('image',message)\" [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n</link-preview>\n<message-translation-bubble [alignment]=\"getBubbleAlignment(message)\" *ngIf=\"isTranslated(message)\" [messageTranslationStyle]=\"setTranslationStyle(message)\" [translatedText]=\"isTranslated(message)\">\n <cometchat-text-bubble *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"></cometchat-text-bubble>\n\n</message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\" [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\" [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\" [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" > </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [videoStyle]=\"videoBubbleStyle\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\" *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\" [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" *ngIf=\"!message.getDeletedAt() && !enableImageModeration\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\" [imageStyle]=\"imageBubbleStyle\" ></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\" [buttonText]=\"whiteboardButtonText\" [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"documentIconURL\" [title]=\"documentTitle\" [buttonText]=\"documentButtonText\" [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\" [iconAlignment]=\"callBubbleAlignment\" [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\" [ccClicked]=\"startDirectCall\" [iconURL]=\"directCallIconURL\" [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\" [pollQuestion]=\"getPollBubbleData(message,'question')\" [pollId]=\"getPollBubbleData(message,'id')\"\n [loggedInUser]=\"loggedInUser\" [senderUid]=\"getPollBubbleData(message)\" [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [bottomView]=\"enableReactions ? reactionView : null\" [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\" [footerView]=\"footerView\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\" [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\" [readIcon]=\"deliveredIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n<div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n<cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n</cometchat-avatar>\n</div>\n</ng-template>\n<ng-template #bubbleHeader>\n<div *ngIf=\"getHeaderView(message);else defaultHeader\">\n<ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n</ng-container>\n</div>\n<ng-template #defaultHeader>\n<div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n<cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n<cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n</div>\n</ng-template>\n</ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<ng-template #bubbleView></ng-template>\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef [placement]=\"keyboardAlignment\">\n<cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\" slot=\"content\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\" (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\" [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\" *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\" [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n","import { Component, OnInit, Input, ViewChild, ElementRef, ChangeDetectionStrategy, ChangeDetectorRef, OnChanges, SimpleChanges, TemplateRef } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport { EmojiKeyboardStyle ,PopoverStyle,ActionSheetStyle,PreviewStyle} from '@cometchat/uikit-elements'\nimport { Subscription } from 'rxjs';\nimport { localize, CometChatMessageComposerAction, AuxiliaryButtonAlignment, Placement, CometChatMessageEvents, CometChatUIKitConstants, IMessages, MessageStatus, fontHelper } from '@cometchat/uikit-resources';\nimport { MessageComposerStyle, CometChatSoundManager, StickersConstants,StickersConfiguration ,StickersStyle, CreatePollStyle, BaseStyle,CometChatUIKitUtility} from '@cometchat/uikit-shared';\nimport { CometChatThemeService } from '../../CometChatTheme.service';\nimport { ChatConfigurator } from '../../Shared/Framework/ChatConfigurator';\nimport '@cometchat/uikit-shared'\nimport '@cometchat/uikit-elements'\n\n\n/**\n*\n* CometChatMessageComposer is used to send message to user or group.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: 'cometchat-message-composer',\n templateUrl: './cometchat-message-composer.component.html',\n styleUrls: ['./cometchat-message-composer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatMessageComposerComponent implements OnInit, OnChanges {\n @ViewChild(\"inputElement\", { static: false }) inputElementRef!: ElementRef;\n @ViewChild(\"inputRef\", { static: false }) inputRef!: ElementRef;\n @ViewChild(\"emojiButtonRef\", { static: false }) emojiButtonRef!: ElementRef;\n @ViewChild(\"actionSheetRef\", { static: false }) actionSheetRef!: ElementRef;\n @ViewChild(\"stickerButtonRef\", { static: false }) stickerButtonRef!: ElementRef;\n @Input() user!: CometChat.User;\n @Input() group!: CometChat.Group;\n @Input() disableSoundForMessages: boolean = false;\n @Input() customSoundForMessage: string = \"\";\n @Input() disableTypingEvents: boolean = false;\n @Input() text: string = \"\";\n @Input() placeholderText: string = localize(\"SEND_MESSAGE\");\n @Input() headerView!: TemplateRef<any>;\n @Input() onTextChange!: (text:string)=> void;\n @Input() attachmentIconURL: string = \"assets/Plus.svg\";\n @Input() attachmentOptions:((item:CometChat.User | CometChat.Group,composerId:ComposerId )=>CometChatMessageComposerAction[]) | undefined;\n @Input() secondaryButtonView!: TemplateRef<any>;\n @Input() auxilaryButtonView!: TemplateRef<any>;\n @Input() auxiliaryButtonsAlignment: AuxiliaryButtonAlignment = AuxiliaryButtonAlignment.right;\n @Input() sendButtonView!: TemplateRef<any>;\n @Input() parentMessageId: number = 0;\n @Input() hideLiveReaction: boolean = false;\n @Input() LiveReactionIconURL: string = \"assets/heart-reaction.png\";\n @Input() messageComposerStyle: MessageComposerStyle = {\n height: \"100%\",\n width: \"100%\",\n borderRadius: \"12px\",\n maxInputHeight:\"100px\"\n };\n @Input() onSendButtonClick: ((message:CometChat.BaseMessage)=> void) | undefined;\n @Input() onError:(error:any)=> void = (error:any)=>{\n console.log(error)\n };\n @Input() backdropStyle :BaseStyle = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n public composerId!:ComposerId;\n public composerActions:CometChatMessageComposerAction[] = [];\n showCreatePolls:boolean = false;\n showStickerKeyboard:boolean = false;\n showActionSheetItem: boolean = false;\n showPreview: boolean = false;\n editPreviewObject!: CometChat.TextMessage;\n ccMessageEdit!: Subscription;\n public acceptHandlers:any = {\n \"image/*\": this.onImageChange.bind(this),\n \"video/*\": this.onVideoChange.bind(this),\n \"audio/*\": this.onAudioChange.bind(this),\n \"file/*\": this.onFileChange.bind(this),\n };\n public enableStickerKeyboard:boolean = false;\n public stickerConfiguration:{\n id?:string,\n configuration?:StickersConfiguration\n } = {}\n closeIconURL: string = \"assets/plus-rotated.svg\";\n sendButtonStyle: any = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: \"rgba(20, 20, 20, 0.58)\",\n background: \"transparent\"\n }\n liveReactionStyle:any = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: \"red\",\n background: \"transparent\",\n display:\"flex\",\n justifyContent:\"center\",\n alignItems:\"center\"\n }\n localize:typeof localize=localize\n emojiButtonStyle: any = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: \"grey\",\n background: \"transparent\"\n }\n\n emojiKeyboardStyle: EmojiKeyboardStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n textFont: \"500 12px Inter, sans-serif\",\n textColor: \"\",\n background: \"\",\n borderRadius: \"12px\",\n }\n\n\n stickerKeyboardStyle: StickersStyle = {}\n messageInputStyle: any = {\n }\n previewStyle: PreviewStyle = {\n height: \"100%\",\n width: \"100%\",\n }\n createPollStyle:CreatePollStyle = {}\n storeTypingInterval: any;\n emojiPopover: PopoverStyle = {\n width: \"315px\",\n height: \"320px\",\n border: \"none\",\n background: \"transparent\",\n borderRadius: \"8px\",\n boxShadow: \"0px 0px 32px rgba(20, 20, 20, 0.2)\",\n }\n stickerPopover: PopoverStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n background: \"transparent\",\n borderRadius: \"8px\",\n boxShadow: \"0px 0px 32px rgba(20, 20, 20, 0.2)\",\n }\n popoverStyle: PopoverStyle = {\n width: \"275px\",\n height: \"280px\",\n border: \"none\",\n background: \"transparent\",\n borderRadius: \"8px\",\n boxShadow: \"0px 0px 32px rgba(20, 20, 20, 0.2)\",\n }\n sendButtonIconURL: string = \"assets/Send.svg\"\n emojiButtonIconURL: string = \"assets/Stipop.svg\"\n stickerButtonIconURL: string = \"assets/Stickers.svg\"\n actionsheetStyle: ActionSheetStyle = {\n layoutModeIconTint: \"rgba(20, 20, 20, 0.04)\",\n borderRadius: \"inherit\",\n background: \"rgb(255,255,255)\",\n border: \"none\",\n width: \"100%\",\n height: \"100%\",\n titleFont: \"500 15px Inter, sans-serif\",\n titleColor: \"#141414\",\n listItemBackground: \"\",\n ActionSheetSeparatorTint: \"1px solid RGBA(20, 20, 20, 0.08)\"\n }\n actions!: CometChatMessageComposerAction[];\n messageText: string = \"\";\n attachmentButtonStyle: any = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: \"grey\",\n background: \"transparent\"\n }\n auxilaryPlacement: Placement = Placement.top\n messageSending: boolean = false;\n messageToBeEdited!: CometChat.TextMessage;\n showSendButton: boolean = false;\n showEmojiKeyboard: boolean = false;\n loggedInUser!:CometChat.User | null;\n sendMessageOnEnter = (event: any) => {\n this.showSendButton = false;\n this.sendTextMessage(event.detail.value);\n this.inputRef?.nativeElement?.emptyInputField()\n }\n messageInputChanged = (event: any) => {\n const text = event?.detail?.value?.trim();\n this.sendButtonStyle = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: text ? this.messageComposerStyle.sendIconTint : this.themeService.theme.palette.getAccent600(),\n background: \"transparent\"\n };\n this.showSendButton = true;\n if (this.onTextChange) {\n this.onTextChange(text)\n }\n this.messageText = text;\n if (text) {\n this.startTyping()\n } else {\n this.endTyping()\n }\n }\n appendEmoji = (event: any) => {\n if (this.text === event?.detail.id) {\n this.text = \"\" + \"\";\n this.ref.detectChanges()\n }\n this.text = event?.detail.id;\n this.ref.detectChanges()\n }\n sendReaction(){\n let receiverId: string = this.user ? this.user?.getUid()! : this.group?.getGuid()!;\n let receiverType = this.user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group;\n let data = { \"LIVE_REACTION\": this.LiveReactionIconURL };\n let transientMessage = new CometChat.TransientMessage(receiverId, receiverType, data);\n CometChat.sendTransientMessage(transientMessage);\n CometChatMessageEvents.ccLiveReaction.next(this.LiveReactionIconURL)\n return;\n }\n openCreatePolls = ()=>{\nthis.showCreatePolls = true;\nif (this.showActionSheetItem) {\n this.actionSheetRef.nativeElement.click();\n this.showActionSheetItem = !this.showActionSheetItem;\n}\nthis.ref.detectChanges()\n }\n closeCreatePolls = ()=>{\n this.showCreatePolls = false;\n\n this.ref.detectChanges()\n }\n addAttachmentCallback(): void {\n this.composerActions?.forEach((element: CometChatMessageComposerAction) => {\n switch (element.id) {\n case CometChatUIKitConstants.MessageTypes.audio:\n element.onClick = this.openAudioPicker;\n break;\n case CometChatUIKitConstants.MessageTypes.video:\n element.onClick = this.openvideoPicker;\n break;\n case CometChatUIKitConstants.MessageTypes.file:\n element.onClick = this.openFilePicker;\n break;\n case CometChatUIKitConstants.MessageTypes.image:\n element.onClick = this.openImagePicker;\n break;\n case \"extension_poll\":\n element.onClick = this.openCreatePolls;\n break;\n }\n });\n }\n\n\n subscribeToEvents() {\n this.ccMessageEdit = CometChatMessageEvents.ccMessageEdited.subscribe((object: IMessages) => {\n if(object?.status == MessageStatus.inprogress){\n this.messageToBeEdited = object.message as CometChat.TextMessage\n this.openEditPreview();\n }\n })\n }\n openEditPreview(){\n this.showPreview = true;\n this.text = this.messageToBeEdited.getText()\n this.ref.detectChanges()\n }\n unsubscribeToEvents() {\n this.ccMessageEdit?.unsubscribe();\n }\n constructor( private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"user\"] || changes[\"group\"]){\n this.composerId = this.getComposerId()\n if (this.attachmentOptions) {\n this.composerActions = this.attachmentOptions(this.user || this.group, this.composerId)\n }\n else {\n this.composerActions = ChatConfigurator.getDataSource()?.getAttachmentOptions(this.themeService.theme,this.user,this.group,this.composerId);\n this.addAttachmentCallback();\n }\n }\n }\n customSendMethod(message: String) {\n this.showSendButton = false;\n this.sendTextMessage(message);\n this.showSendButton = false\n this.ref.detectChanges()\n }\n /**\n * @param {String=\"\"} textMsg\n */\n sendTextMessage(textMsg: String = \"\"): boolean {\n this.endTyping()\n try {\n // Dont Send Blank text messages -- i.e --- messages that only contain spaces\n if (this.messageText?.trim()?.length == 0 && textMsg?.trim()?.length == 0) {\n return false;\n }\n // wait for the previous message to be sent before sending the current message\n if (this.messageSending) {\n return false;\n }\n this.messageSending = true;\n // If its an Edit and Send Message Operation , use Edit Message Function\n if (this.messageToBeEdited) {\n this.editMessage();\n this.ref.detectChanges()\n return false;\n }\n let { receiverId, receiverType } = this.getReceiverDetails();\n let messageInput;\n if (textMsg !== null) {\n messageInput = textMsg.trim();\n } else {\n messageInput = this.messageText.trim();\n }\n let textMessage: CometChat.TextMessage = new CometChat.TextMessage(\n receiverId,\n messageInput,\n receiverType,\n );\n if (this.parentMessageId) {\n textMessage.setParentMessageId(this.parentMessageId);\n }\n textMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());\n textMessage.setMuid(CometChatUIKitUtility.ID());\n\n // play audio after action generation\n if (!this.disableSoundForMessages) {\n this.playAudio();\n }\n //clearing Message Input Box\n this.messageText = \"\";\n this.inputRef?.nativeElement?.emptyInputField()\n this.text = \"\"\n this.messageSending = false;\n // End Typing Indicator Function\n this.closePopovers();\nif(!this.onSendButtonClick){\n CometChatMessageEvents.ccMessageSent.next({\n message:textMessage,\n status: MessageStatus.inprogress,\n });\n CometChat.sendMessage(textMessage)\n .then((message: CometChat.TextMessage | CometChat.BaseMessage) => {\n let messageObject: CometChat.BaseMessage = message;\n CometChatMessageEvents.ccMessageSent.next( {\n message: messageObject,\n status: MessageStatus.success,\n });\n // Change the send button to reaction button\n setTimeout(() => {\n this.showSendButton = false;\n this.ref.detectChanges()\n }, 500);\n })\n .catch((error: any) => {\n textMessage.setMetadata({\n error:true\n })\n CometChatMessageEvents.ccMessageSent.next({\n message: textMessage,\n status: MessageStatus.error,\n });\n });\n}\n else{\n this.onSendButtonClick(textMessage)\n }\n } catch (error: any) {\n this.onError(error);\n }\n return true;\n }\n editMessage() {\n try {\n const messageToBeEdited: any = this.messageToBeEdited;\n let { receiverId, receiverType } = this.getReceiverDetails();\n let messageText = this.messageText.trim();\n let textMessage: CometChat.TextMessage = new CometChat.TextMessage(\n receiverId,\n messageText,\n receiverType\n );\n textMessage.setId(messageToBeEdited.id);\n this.closePreview();\n this.endTyping();\n this.inputRef?.nativeElement?.emptyInputField()\n CometChat.editMessage(textMessage)\n .then((message) => {\n this.messageSending = false;\n CometChatMessageEvents.ccMessageEdited.next( {\n message: message,\n status: MessageStatus.success\n })\n })\n .catch((error) => {\n this.messageSending = false;\n if(this.onError){\n this.onError(error)\n }\n });\n } catch (error) {\n this.onError(error);\n }\n }\n getReceiverDetails() {\n let receiverId!: string;\n let receiverType!: string;\n if (this.user && this.user.getUid()) {\n receiverId = this.user.getUid();\n receiverType = CometChatUIKitConstants.MessageReceiverType.user;\n } else if (this.group && this.group.getGuid()) {\n receiverId = this.group.getGuid();\n receiverType = CometChatUIKitConstants.MessageReceiverType.group;\n }\n return { receiverId: receiverId, receiverType: receiverType };\n }\n playAudio() {\n if (this.customSoundForMessage) {\n CometChatSoundManager.play(CometChatSoundManager.Sound.outgoingMessage, this.customSoundForMessage)\n }\n else {\n CometChatSoundManager.play(CometChatSoundManager.Sound.outgoingMessage)\n }\n }\n /**\n * @param {} timer=null\n * @param {string=\"\"} metadata\n */\n startTyping(timer = null, metadata: string = \"\"): void {\n if (!this.disableTypingEvents) {\n try {\n let typingInterval = timer || 5000;\n let { receiverId, receiverType } = this.getReceiverDetails();\n let typingMetadata = metadata || undefined;\n let typingNotification = new CometChat.TypingIndicator(\n receiverId,\n receiverType,\n typingMetadata\n );\n CometChat.startTyping(typingNotification);\n this.storeTypingInterval = setTimeout(() => {\n this.endTyping();\n }, typingInterval);\n } catch (error: any) {\n this.onError(error);\n }\n }\n }\n handleActions = (event:any)=>{\n let action:CometChatMessageComposerAction = event?.detail?.action;\n if(action.onClick){\n action.onClick()\n }\n }\n endTyping(metadata = null) {\n if (!this.disableTypingEvents) {\n try {\n let { receiverId, receiverType } = this.getReceiverDetails();\n let typingMetadata = metadata || undefined;\n let typingNotification = new CometChat.TypingIndicator(\n receiverId,\n receiverType,\n typingMetadata\n );\n CometChat.endTyping(typingNotification);\n clearTimeout(this.storeTypingInterval);\n this.storeTypingInterval = null;\n } catch (error: any) {\n this.onError(error);\n }\n }\n }\n /**\n * @param {File | CometChat.MediaMessage} messageInput\n * @param {string} messageType\n */\n sendMediaMessage(messageInput: File, messageType: string): boolean {\n try {\n if (this.messageSending) {\n return false;\n }\n this.messageSending = true;\n const { receiverId, receiverType } = this.getReceiverDetails();\n let mediaMessage: CometChat.MediaMessage = new CometChat.MediaMessage(\n receiverId,\n messageInput,\n messageType,\n receiverType\n );\n if (this.parentMessageId) {\n mediaMessage.setParentMessageId(this.parentMessageId);\n }\n mediaMessage.setType(messageType);\n mediaMessage.setMetadata({\n [\"file\"]: messageInput,\n });\n mediaMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());\n mediaMessage.setMuid(CometChatUIKitUtility.ID());\n\n if (!this.disableSoundForMessages) {\n this.playAudio();\n }\n this.messageSending = false;\n this.closePopovers()\n if(!this.onSendButtonClick){\n CometChatMessageEvents.ccMessageSent.next( {\n message: mediaMessage,\n status: MessageStatus.inprogress\n });\n CometChat.sendMessage(mediaMessage)\n .then((response: CometChat.BaseMessage) => {\n this.messageSending = false;\n response.setMuid(mediaMessage.getMuid())\n CometChatMessageEvents.ccMessageSent.next( {\n message: response,\n status: MessageStatus.success\n });\n })\n .catch((error) => {\n mediaMessage.setMetadata({\n error:true\n })\n CometChatMessageEvents.ccMessageSent.next( {\n message: mediaMessage,\n status:MessageStatus.error\n })\n this.messageSending = false;\n });\n }\n else{\n this.onSendButtonClick(mediaMessage)\n }\n } catch (error) {\n this.onError(error);\n }\n return true;\n }\n inputChangeHandler = (event: any): void => {\n const handler = this.acceptHandlers[this.inputElementRef.nativeElement.accept] || this.onFileChange.bind(this);\n handler(event);\n }\n sendSticker = (event:any)=>{\n let sticker = event?.detail?.stickerURL\n let stickerName:string = event?.detail?.stickerName\n if(this.stickerConfiguration?.configuration?.ccStickerClicked){\n this.stickerConfiguration?.configuration?.ccStickerClicked({\n name:stickerName,\n url:sticker\n },this.loggedInUser!,this.user,this.group,this.parentMessageId,this.onError,this.customSoundForMessage,this.disableSoundForMessages)\n }\n }\n /**\n * @param {any} event\n */\n onVideoChange(event: any): boolean {\n try {\n if (!event.target.files[0]) {\n return false;\n }\n const uploadedFile = event.target.files[0];\n const reader: any = new FileReader();\n reader.addEventListener(\"load\", () => {\n const newFile = new File([reader.result], uploadedFile.name, uploadedFile);\n this.sendMediaMessage(newFile, CometChat.MESSAGE_TYPE.VIDEO);\n }, false);\n reader.readAsArrayBuffer(uploadedFile);\n } catch (error: any) {\n this.onError(error);\n }\n return true;\n }\n /**\n * @param {any} event\n */\n onAudioChange(event: any): boolean {\n try {\n if (!event.target.files[0]) {\n return false;\n }\n const uploadedFile = event.target.files[0];\n const reader: any = new FileReader();\n reader.addEventListener(\n \"load\",\n () => {\n const newFile = new File(\n [reader.result],\n uploadedFile.name,\n uploadedFile\n );\n this.sendMediaMessage(newFile, CometChat.MESSAGE_TYPE.AUDIO);\n },\n false\n );\n reader.readAsArrayBuffer(uploadedFile);\n } catch (error: any) {\n this.onError(error);\n }\n return true;\n }\n /**\n * @param {any} event\n */\n onImageChange(event: any): boolean {\n try {\n if (!event.target.files[0]) {\n return false;\n }\n const uploadedFile = event.target.files[0];\n const reader: any = new FileReader();\n reader.addEventListener(\n \"load\",\n () => {\n const newFile = new File(\n [reader.result],\n uploadedFile.name,\n uploadedFile\n );\n this.sendMediaMessage(newFile, CometChat.MESSAGE_TYPE.IMAGE);\n },\n false\n );\n reader.readAsArrayBuffer(uploadedFile);\n } catch (error) {\n this.onError(error);\n }\n return true;\n }\n /**\n * @param {any} event\n */\n onFileChange(event: any): boolean {\n try {\n if (!event.target.files[\"0\"]) {\n return false;\n }\n const uploadedFile = event.target.files[\"0\"];\n var reader: any = new FileReader();\n reader.addEventListener(\n \"load\",\n () => {\n const newFile = new File(\n [reader.result],\n uploadedFile.name,\n uploadedFile\n );\n this.sendMediaMessage(newFile, CometChat.MESSAGE_TYPE.FILE);\n },\n false\n );\n reader.readAsArrayBuffer(uploadedFile);\n } catch (error: any) {\n this.onError(error);\n }\n return true;\n }\n openImagePicker = (): void => {\n this.inputElementRef.nativeElement.type = \"file\"\n this.inputElementRef.nativeElement.accept = \"image/*\"\n this.inputElementRef.nativeElement.click();\n this.closePopovers()\n }\n openFilePicker = (): void => {\n this.inputElementRef.nativeElement.type = \"file\"\n this.inputElementRef.nativeElement.accept = \"file/*\"\n this.inputElementRef.nativeElement.click();\n this.closePopovers()\n }\n openvideoPicker = (): void => {\n this.inputElementRef.nativeElement.type = \"file\"\n this.inputElementRef.nativeElement.accept = \"video/*\"\n this.inputElementRef.nativeElement.click();\n this.closePopovers()\n }\n openAudioPicker = (): void => {\n this.inputElementRef.nativeElement.type = \"file\"\n this.inputElementRef.nativeElement.accept = \"audio/*\"\n this.inputElementRef.nativeElement.click();\n this.closePopovers()\n }\n openActionSheet = (event: any) => {\n this.showActionSheetItem = !this.showActionSheetItem;\n if (this.showEmojiKeyboard) {\n this.emojiButtonRef.nativeElement.click();\n this.showEmojiKeyboard = !this.showEmojiKeyboard;\n }\n if (this.showStickerKeyboard) {\n this.stickerButtonRef.nativeElement.click();\n this.showStickerKeyboard = !this.showStickerKeyboard;\n this.ref.detectChanges()\n }\n else {\n return\n }\n }\n openEmojiKeyboard = (event: any) => {\n this.showEmojiKeyboard = !this.showEmojiKeyboard;\n if (this.showActionSheetItem) {\n this.actionSheetRef.nativeElement.click();\n this.showActionSheetItem = !this.showActionSheetItem;\n }\n if (this.showStickerKeyboard) {\n this.stickerButtonRef.nativeElement.click();\n this.showStickerKeyboard = !this.showStickerKeyboard;\n this.ref.detectChanges()\n }\n else {\n return\n }\n }\n openStickerKeyboard = (event: any) => {\nif(this.enableStickerKeyboard){\n this.showStickerKeyboard = !this.showStickerKeyboard;\n this.ref.detectChanges()\n this.ref.detectChanges()\n if (this.showActionSheetItem) {\n this.actionSheetRef.nativeElement.click();\n this.showActionSheetItem = !this.showActionSheetItem;\n }\n if (this.showEmojiKeyboard) {\n this.emojiButtonRef.nativeElement.click();\n this.showEmojiKeyboard = !this.showEmojiKeyboard;\n }\n else {\n return\n }\n}\n }\n closePopovers() {\n if (this.showEmojiKeyboard) {\n this.emojiButtonRef.nativeElement.click();\n this.showEmojiKeyboard = !this.showEmojiKeyboard;\n }\n if (this.showActionSheetItem) {\n this.actionSheetRef.nativeElement.click();\n this.showActionSheetItem = !this.showActionSheetItem;\n }\n }\n getComposerId() : ComposerId {\n const user = this.user;\n if (user !== undefined) {\n return {user: user?.getUid(), group: null, parentMessageId:this.parentMessageId};\n }\n const group = this.group;\n if (group !== undefined) {\n return {user: null, group: group?.getGuid(), parentMessageId:this.parentMessageId};\n }\n return {user: null, group: null, parentMessageId:this.parentMessageId};\n}\n ngOnInit(): void {\n\n CometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n this.loggedInUser = user\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n\n this.setTheme();\n this.subscribeToEvents();\n\n this.enableStickerKeyboard = true\n this.stickerConfiguration = ChatConfigurator.getDataSource()?.getAuxiliaryOptions(this.composerId,this.user,this.group);\n if(this.stickerConfiguration?.id == StickersConstants.sticker){\n this.enableStickerKeyboard = true\n }\n else{\n this.enableStickerKeyboard = false\n }\n }\n setTheme(){\n this.setComposerStyle();\n this.actionsheetStyle = {\n layoutModeIconTint: this.messageComposerStyle.ActionSheetLayoutModeIconTint || this.themeService.theme.palette.getAccent(),\n borderRadius: \"inherit\",\n background: this.themeService.theme.palette.getBackground(),\n border: \"none\",\n width: \"100%\",\n height: \"100%\",\n titleFont: this.messageComposerStyle.ActionSheetTitleFont || fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.messageComposerStyle.ActionSheetTitleColor || this.themeService.theme.palette.getAccent(),\n ActionSheetSeparatorTint: this.messageComposerStyle.ActionSheetSeparatorTint || `1px solid ${this.themeService.theme.palette.getAccent400()}`\n }\n this.messageInputStyle = {\n height: \"100%\",\n width: \"100%\",\n maxHeight: this.messageComposerStyle.maxInputHeight || \"100px\",\n border: this.messageComposerStyle.border,\n borderRadius: \"\",\n background: this.messageComposerStyle.background ,\n textFont: this.messageComposerStyle.textFont ,\n textColor: this.messageComposerStyle.textColor ,\n dividerColor: this.messageComposerStyle.dividerTint ,\n inputBorder: this.messageComposerStyle.inputBorder ,\n inputBorderRadius: \"0\",\n inputBackground: this.messageComposerStyle.inputBackground\n }\n this.sendButtonStyle = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: this.themeService.theme.palette.getAccent200(),\n background: \"transparent\"\n }\n this.previewStyle = {\n height:\"100%\",\n width:\"100%\",\n border: `1px solid ${this.themeService.theme.palette.getAccent200()}`,\n background: this.themeService.theme.palette.getBackground(),\n previewTitleFont: this.messageComposerStyle.previewTitleFont || fontHelper(this.themeService.theme.typography.subtitle1),\n previewTitleColor: this.messageComposerStyle.previewTitleColor || this.themeService.theme.palette.getAccent400(),\n previewSubtitleColor: this.messageComposerStyle.previewSubtitleColor || this.themeService.theme.palette.getAccent400(),\n previewSubtitleFont: this.messageComposerStyle.previewSubtitleFont || fontHelper(this.themeService.theme.typography.subtitle2),\n closeButtonIconTint: this.messageComposerStyle.closePreviewTint || this.themeService.theme.palette.getAccent600(),\n }\n this.emojiButtonStyle = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: this.messageComposerStyle.emojiIconTint || this.themeService.theme.palette.getAccent600(),\n background: \"transparent\"\n }\n this.emojiKeyboardStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n textFont: this.messageComposerStyle.emojiKeyboardTextFont,\n textColor: this.messageComposerStyle.emojiKeyboardTextColor,\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"12px\",\n }\n\n this.stickerKeyboardStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"12px\",\n }\n this.attachmentButtonStyle = {\n height: \"24px\",\n width: \"24px\",\n border: \"none\",\n borderRadius: \"0\",\n buttonIconTint: this.messageComposerStyle.attachIcontint || this.themeService.theme.palette.getAccent600(),\n background: \"transparent\"\n }\n this.createPollStyle = {\n placeholderTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n placeholderTextColor: this.themeService.theme.palette.getAccent600(),\n deleteIconTint: this.themeService.theme.palette.getAccent600(),\n titleFont: fontHelper(this.themeService.theme.typography.title1),\n titleColor: this.themeService.theme.palette.getAccent(),\n closeIconTint: this.themeService.theme.palette.getPrimary(),\n questionInputBackground: this.themeService.theme.palette.getAccent100(),\n optionInputBackground: this.themeService.theme.palette.getAccent100(),\n answerHelpTextFont: fontHelper(this.themeService.theme.typography.caption1),\n answerHelpTextColor: this.themeService.theme.palette.getAccent400(),\n addAnswerIconTint: this.themeService.theme.palette.getPrimary(),\n createPollButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n createPollButtonTextColor: this.themeService.theme.palette.getAccent(\"dark\"),\n createPollButtonBackground: this.themeService.theme.palette.getPrimary(),\n addAnswerTextFont: fontHelper(this.themeService.theme.typography.text2),\n addAnswerTextColor: this.themeService.theme.palette.getPrimary(),\n errorTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n errorTextColor: this.themeService.theme.palette.getError(),\n optionPlaceholderTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n optionPlaceholderTextColor: this.themeService.theme.palette.getAccent600(),\n questionInputTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n questionInputTextColor: this.themeService.theme.palette.getAccent600(),\n optionInputTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n optionInputTextColor: this.themeService.theme.palette.getAccent600(),\n width: \"360px\",\n height: \"620px\",\n border: \"\",\n borderRadius: \"8px\",\n background: this.themeService.theme.palette.getAccent900(),\n }\n }\n setComposerStyle(){\n let defaultStyle:MessageComposerStyle = new MessageComposerStyle({\n background:this.themeService.theme.palette.getAccent100(),\n border:`none`,\n height: \"100%\",\n width: \"100%\",\n borderRadius: \"12px\",\n attachIcontint: this.themeService.theme.palette.getAccent500(),\n sendIconTint: \"#2fb5e9d1\",\n emojiIconTint: this.themeService.theme.palette.getAccent500(),\n inputBackground: \"transparent\",\n inputBorder: \"none\",\n dividerTint: this.themeService.theme.palette.getAccent200(),\n textFont: fontHelper(this.themeService.theme.typography.subtitle1),\n textColor: this.themeService.theme.palette.getAccent(),\n ActionSheetSeparatorTint: this.themeService.theme.palette.getAccent200(),\n ActionSheetTitleColor: this.themeService.theme.palette.getAccent(),\n ActionSheetTitleFont: fontHelper(this.themeService.theme.typography.title1),\n ActionSheetLayoutModeIconTint: this.themeService.theme.palette.getPrimary(),\n emojiKeyboardTextFont:fontHelper(this.themeService.theme.typography.subtitle2),\n emojiKeyboardTextColor:this.themeService.theme.palette.getAccent400(),\n previewTitleFont:fontHelper(this.themeService.theme.typography.subtitle1),\n previewTitleColor:this.themeService.theme.palette.getAccent(),\n previewSubtitleFont:fontHelper(this.themeService.theme.typography.subtitle2),\n previewSubtitleColor:this.themeService.theme.palette.getAccent600(),\n closePreviewTint:this.themeService.theme.palette.getAccent500(),\n maxInputHeight:\"100px\"\n })\n this.messageComposerStyle = {...defaultStyle,...this.messageComposerStyle}\n }\n closePreview() {\n this.showPreview = false;\n this.inputRef?.nativeElement?.emptyInputField()\n }\n}\ntype ComposerId = {parentMessageId : number | null, user : string | null, group : string | null};","<div class=\"cc-message-composer__wrapper\" >\n <div class=\"cc-message-composer__header-view\" *ngIf=\"headerView; else messagePreview\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showStickerKeyboard\">\n <stickers-keyboard [stickerStyle]=\"stickerKeyboardStyle\" (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n </div>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\" [previewSubtitle]=\"messageToBeEdited?.getText()\" (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n<div class=\"cc-message-composer__input\">\n <cometchat-message-input (cc-message-input-entered)=\"sendMessageOnEnter($event)\" #inputRef [text]=\"text\" (cc-message-input-changed)=\"messageInputChanged($event)\" [messageInputStyle]=\"messageInputStyle\" [placeholderText]=\"placeholderText\" [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\">\n <div slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container *ngTemplateOutlet=\"secondaryButtonView\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\" >\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\" [actionSheetStyle]=\"actionsheetStyle\" (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\" (cc-button-clicked)=\"openActionSheet($event)\" [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeIconURL\" [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n <div slot=\"auxilaryView\" >\n <div *ngIf=\"auxilaryButtonView; else auxilaryView\">\n <ng-container *ngTemplateOutlet=\"auxilaryButtonView\">\n </ng-container>\n </div>\n </div>\n <div slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\" *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\" [buttonStyle]=\"sendButtonStyle\" [hoverText]=\"localize('SEND_MESSAGE')\" (cc-button-clicked)=\"customSendMethod(messageText)\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\" *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\" [hoverText]=\"localize('LIVE_REACTION')\" [buttonStyle]=\"liveReactionStyle\" (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-message-input>\n</div>\n</div>\n<ng-template #auxilaryView>\n<div class=\"cc-message-composer__auxiliary\">\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"enableStickerKeyboard\">\n <cometchat-button #stickerButtonRef (cc-button-clicked)=\"openStickerKeyboard($event)\" [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\" >\n <cometchat-emoji-keyboard slot=\"content\" [emojiKeyboardStyle]=\"emojiKeyboardStyle\" (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\" [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n</div>\n</ng-template>\n<input class=\"cc-message-composer__mediainput\" #inputElement (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\" (cc-close-clicked)=\"closeCreatePolls()\" [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>","import {\n Component,\n Input,\n OnInit,\n ViewChild,\n OnChanges,\n SimpleChanges,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n TemplateRef,\n} from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatMessageComposerComponent } from \"../../CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component\";\nimport { CometChatMessageListComponent } from \"../../CometChatMessageList/cometchat-message-list/cometchat-message-list.component\";\n\n\nimport { AvatarStyle,ListItemStyle,DateStyle, BaseStyle} from '@cometchat/uikit-elements'\nimport { Subscription } from \"rxjs\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\nimport { localize, fontHelper, CometChatMessageTemplate, CometChatMessageEvents, IMessages, MessageStatus } from \"@cometchat/uikit-resources\";\nimport { MessageListConfiguration, MessageComposerConfiguration, ThreadedMessagesStyle, MessageComposerStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\n/**\n*\n* CometChatThreadedMessagesComponent is a wrapper component for messageList, messageBubble, messageComposer component.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-threaded-messages\",\n templateUrl: \"./cometchat-threaded-messages.component.html\",\n styleUrls: [\"./cometchat-threaded-messages.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatThreadedMessagesComponent implements OnInit, OnChanges {\n @ViewChild(\"messageComposerRef\", { static: false }) messageComposerRef!: CometChatMessageComposerComponent;\n @ViewChild(\"messageListRef\", { static: false }) messageListRef!: CometChatMessageListComponent;\n @Input() onClose!: (() => void) | null;\n @Input() onError!: ((error:any) => void) | null;\n\n @Input() parentMessage!:any;\n @Input() title:string = localize(\"THREAD\");\n @Input() closeIconURL:string = \"assets/close2x.svg\";\n @Input() bubbleView!:TemplateRef<any>;\n @Input() messageActionView!:TemplateRef<any>;\n @Input() messageListConfiguration: MessageListConfiguration = new MessageListConfiguration({});\n @Input() messageComposerConfiguration: MessageComposerConfiguration = new MessageComposerConfiguration({});\n @Input() threadedMessagesStyle: ThreadedMessagesStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"white\",\n borderRadius: \"none\",\n border: \"1px solid rgba(20, 20, 20, 0.1)\",\n titleColor: \"rgba(20, 20, 20)\",\n titleFont: \"700 22px Inter\",\n closeIconTint: \"#3399FF\"\n };\n user!: CometChat.User;\n group!: CometChat.Group;\n loggedInUser!: CometChat.User | null;\n public limit:number = 30;\n requestBuilder!:CometChat.MessagesRequestBuilder;\n public composerStyles: MessageComposerStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"12px\",\n background: this.themeService.theme.palette.getAccent900(),\n inputBackground: this.themeService.theme.palette.getSecondary(), // done\n textFont: fontHelper(this.themeService.theme.typography.subtitle1), // done\n textColor: this.themeService.theme.palette.getAccent(), // done\n }\n avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n backgroundColor: \"white\",\n nameTextColor: \"rgb(20,20,20)\",\n backgroundSize: \"cover\",\n nameTextFont: \"500 16px Inter\",\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n }\n statusIndicatorStyle: BaseStyle = {\n borderRadius: \"16px\",\n width: \"10px\",\n height: \"10px\",\n border: \"none\",\n }\n listItemStyle: ListItemStyle = {\n background: \"white\",\n titleColor: \"black\",\n titleFont: \"500 16px Inter\",\n width: \"\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"2px\",\n separatorColor: \"\",\n activeBackground: \"transparent\",\n hoverBackground:\"transparent\"\n }\n actionButtonStyle:any = {\n height:\"100%\",\n width:\"100%\",\n border:\"none\",\n borderTop:\"1px solid #e1e1e1\",\n borderBottom:\"1px solid #e1e1e1\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonTextFont:\"500 15px Inter\",\n buttonTextColor:\"black\",\n padding:\"8px\"\n }\n\n\n buttonStyle:any = {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:\"#7dbfff\"\n }\n titleStyle:any = {\n textFont:\"700 22px Inter\",\n textColor:\"black\",\n background:\"transparent\",\n }\n ccMessageSent!: Subscription;\n ccMessageEdited!: Subscription;\n ccMessageDeleted!: Subscription;\n ccMessageRead!: Subscription;\n public msgListenerId = \"message_\"+ new Date().getTime();\n constructor( private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { }\n ngOnInit() {\n this.requestBuilder = new CometChat.MessagesRequestBuilder()\n .setCategories(ChatConfigurator.getDataSource().getAllMessageCategories())\n .setTypes(ChatConfigurator.getDataSource().getAllMessageTypes())\n .hideReplies(true)\n .setLimit(this.limit)\n .setParentMessageId(this.parentMessage!.getId())\n this.addMessageEventListeners()\n CometChat.getLoggedinUser().then((user) => {\n this.loggedInUser = user;\n if (this.parentMessage?.getSender().getUid() === this.loggedInUser?.getUid()) {\n if (this.parentMessage?.getReceiverType() === CometChat.RECEIVER_TYPE.USER) {\n this.user = this.parentMessage!.getReceiver() as CometChat.User;\n } else {\n this.group = this.parentMessage!.getReceiver() as CometChat.Group;\n }\n this.ref.detectChanges();\n } else if (this.parentMessage?.getReceiverType() === CometChat.RECEIVER_TYPE.USER) {\n this.user = this.parentMessage?.getSender();\n this.ref.detectChanges();\n }\n else if(this.parentMessage?.getReceiverType() === CometChat.RECEIVER_TYPE.GROUP){\n this.group = this.parentMessage?.getReceiver();\n this.ref.detectChanges()\n }\n\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n this.setTheme();\n this.subscribeToEvents()\n }\n ngOnChanges(change: SimpleChanges) {\n }\n ngOnDestroy(): void {\n this.unsubscribeToEvents()\n try {\n //Removing Message Listeners\n CometChat.removeMessageListener(this.msgListenerId);\n } catch (error:any) {\n if(this.onError){\nthis.onError(error);\n}\n }\n }\n updateMessage(message:CometChat.BaseMessage){\n if(this.parentMessage?.getId() == message.getId()){\n this.parentMessage = message;\n this.ref.detectChanges()\n }\n }\n updateReceipt(messageReceipt:CometChat.MessageReceipt){\n if(Number(messageReceipt?.getMessageId()) == this.parentMessage?.getId()){\n if(messageReceipt.getReadAt()){\n this.parentMessage.setReadAt(messageReceipt.getReadAt());\n }\n else if(messageReceipt.getDeliveredAt()){\n this.parentMessage.setDeliveredAt(messageReceipt.getDeliveredAt());\n\n }\n this.ref.detectChanges()\n }\n\n }\n addMessageEventListeners() {\n try {\n CometChat.addMessageListener(\n this.msgListenerId,\n new CometChat.MessageListener({\n onMessagesDelivered: (messageReceipt: CometChat.MessageReceipt) => {\n this.updateReceipt( messageReceipt);\n },\n onMessagesRead: (messageReceipt: CometChat.MessageReceipt) => {\n this.updateReceipt( messageReceipt);\n },\n onMessageDeleted: (deletedMessage: CometChat.BaseMessage) => {\n this.updateMessage(deletedMessage);\n\n },\n onMessageEdited: (editedMessage: CometChat.BaseMessage) => {\n this.updateMessage( editedMessage);\n },\n })\n );\n } catch (error: any) {\n if(this.onError){\n this.onError(error);\n}\n }\n }\n getThreadCount() {\n const replyCount = this.parentMessage?.getReplyCount() || 0;\n const suffix = replyCount === 1 ? localize(\"REPLY\") : localize(\"REPLIES\");\n return `${replyCount} ${suffix}`;\n }\n subscribeToEvents(){\n this.ccMessageSent = CometChatMessageEvents.ccMessageSent.subscribe(({status, message}: IMessages) => {\n if(status === MessageStatus.success && message?.getParentMessageId() === this.parentMessage?.getId()){\n this.ref.detectChanges();\n }\n })\n this.ccMessageEdited = CometChatMessageEvents.ccMessageEdited.subscribe(({status, message}: IMessages) => {\n if(status === MessageStatus.success && message?.getId() === this.parentMessage?.getId()){\n this.ref.detectChanges()\n }\n })\n this.ccMessageDeleted= CometChatMessageEvents.ccMessageDeleted.subscribe((message:CometChat.BaseMessage) => {\n if(message?.getId() === this.parentMessage?.getId()){\n this.ref.detectChanges()\n }\n })\n this.ccMessageRead= CometChatMessageEvents.ccMessageRead.subscribe((message:CometChat.BaseMessage) => {\n if(message?.getId() === this.parentMessage?.getId()){\n this.ref.detectChanges()\n }\n })\n }\n\n unsubscribeToEvents(){\n this.ccMessageDeleted?.unsubscribe()\n this.ccMessageEdited?.unsubscribe()\n this.ccMessageRead?.unsubscribe()\n this.ccMessageSent?.unsubscribe()\n }\n closeView(){\n if(this.onClose){\n this.onClose()\n }\n }\n\n setThreadedMessagesStyle(){\n let defaultStyle:ThreadedMessagesStyle = new ThreadedMessagesStyle({\n width: \"100%\",\n height: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"none\",\n border: \"none\",\n titleColor: this.themeService.theme.palette.getAccent(),\n titleFont: fontHelper(this.themeService.theme.typography.title1),\n closeIconTint: this.themeService.theme.palette.getPrimary()\n })\n this.threadedMessagesStyle = {\n ...defaultStyle,\n ...this.threadedMessagesStyle\n }\n }\n setTheme() {\n this.setThreadedMessagesStyle()\n this.buttonStyle.buttonIconTint = this.threadedMessagesStyle.closeIconTint || this.themeService.theme.palette.getPrimary();\n this.actionButtonStyle.background = this.themeService.theme.palette.getBackground();\n this.actionButtonStyle.buttonTextFont = fontHelper(this.themeService.theme.typography.subtitle1);\n this.actionButtonStyle.buttonTextColor = this.themeService.theme.palette.getAccent600();\n this.titleStyle = {\n textFont : this.threadedMessagesStyle.titleFont || fontHelper(this.themeService.theme.typography.title1),\n textColor:this.threadedMessagesStyle.titleColor || this.themeService.theme.palette.getAccent(),\n background:\"transparent\"\n };\n this.ref.detectChanges()\n }\n wrapperStyle() {\n return {\n background: this.threadedMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n height: this.threadedMessagesStyle.height,\n width: this.threadedMessagesStyle.width,\n border: this.threadedMessagesStyle.border,\n borderRadius: this.threadedMessagesStyle.borderRadius\n }\n }\n}\n","<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-threaded-messages__header\">\n<div class=\"cc-threaded-messages__title\">\n<cometchat-label [text]=\"title\" [labelStyle]=\"titleStyle\"></cometchat-label>\n</div>\n<div class=\"cc-threaded-messages__close\">\n<cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\" (cc-button-clicked)=\"closeView()\"></cometchat-button>\n</div>\n</div>\n<div class=\"cc-threaded-messages__bubble-view\">\n <ng-container *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n</div>\n<div class=\"cc-threaded-messages__action-view\">\n <ng-container *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\" [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n</div>\n<div class=\"cc-threaded-messages__list\">\n <cometchat-message-list #messageListRef [parentMessageId]=\"parentMessage!.getId()\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.messageTypes\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-threaded-messages__composer\">\n <cometchat-message-composer #messageComposerRef [parentMessageId]=\"parentMessage!.getId()\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n</div>\n </div>","import { Component, OnInit, Input, ChangeDetectorRef, ChangeDetectionStrategy, TemplateRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { Subject, Subscription } from \"rxjs\";\nimport {AvatarStyle, ListItemStyle, ChangeScopeStyle,MenuListStyle,} from '@cometchat/uikit-elements'\nimport { SelectionMode,States, TitleAlignment,GroupMemberUtils,GroupMembersStyle, ListStyle, BaseStyle ,CometChatUIKitUtility } from \"@cometchat/uikit-shared\";\nimport {CometChatTheme, fontHelper, localize,CometChatOption, CometChatGroupEvents, CometChatUIKitConstants} from '@cometchat/uikit-resources'\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\n/**\n*\n* CometChatGroupMembersComponent is used to render list of group members\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-group-members\",\n templateUrl: \"./cometchat-group-members.component.html\",\n styleUrls: [\"./cometchat-group-members.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CometChatGroupMembersComponent implements OnInit {\n @Input() groupMemberRequestBuilder!: CometChat.GroupMembersRequestBuilder;\n @Input() searchRequestBuilder!: CometChat.GroupMembersRequestBuilder;\n @Input() subtitleView!: TemplateRef<any>;\n @Input() listItemView!: TemplateRef<any>;\n @Input() tailView!: TemplateRef<any>;\n @Input() disableUsersPresence: boolean = false;\n @Input() menu!: TemplateRef<any>;\n @Input() options!: ((member:CometChat.GroupMember)=>CometChatOption[]) | null;\n @Input() backButtonIconURL: string = \"assets/backbutton.svg\"\n @Input() closeButtonIconURL: string = \"assets/close2x.svg\"\n @Input() showBackButton: boolean = true;\n @Input() hideSeparator: boolean = false;\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Input() searchPlaceholder: string = \"Search Members\";\n @Input() searchIconURL: string = \"assets/search.svg\";\n @Input() hideSearch: boolean = true;\n @Input() title: string = localize(\"MEMBERS\");\n @Input() onError:((error:any)=>void) | null = (error:any)=>{\n console.log(error)\n }\n @Input() backdropStyle :BaseStyle = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n @Input() onBack!:()=>void;\n @Input() onClose!:()=>void;\n @Input() onSelect!: (groupMember:CometChat.GroupMember)=>void;\n @Input() group!: CometChat.Group;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_GROUPS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() titleAlignment: TitleAlignment = TitleAlignment.center;\n @Input() dropdownIconURL: string = \"assets/down-arrow.svg\"\n @Input() statusIndicatorStyle: any = {\n height: \"10px\",\n width: \"10px\",\n borderRadius: \"16px\",\n border:\"\"\n };\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"32px\",\n height: \"32px\",\n };\n @Input() groupMemberStyle: GroupMembersStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"\",\n border: \"\",\n borderRadius: \"\",\n padding:\"0 100px\"\n };\n @Input() groupScopeStyle: ChangeScopeStyle = new ChangeScopeStyle({\n height:\"200px\",\n width:\"280px\"\n })\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n activeBackground: \"transparent\",\n borderRadius: \"grey\",\n titleFont: \"\",\n titleColor: \"\",\n border: \"\",\n hoverBackground: \"transparent\",\n separatorColor: \"rgba(222 222 222 / 46%)\"\n };\n listStyle:ListStyle = {}\n menuListStyle:MenuListStyle = {\n width: \"\",\n height: \"\",\n border: \"none\",\n borderRadius: \"8px\",\n background: \"white\",\n submenuWidth: \"100%\",\n submenuHeight: \"100%\",\n submenuBorder: \"1px solid #e8e8e8\",\n submenuBorderRadius: \"8px\",\n submenuBackground: \"white\",\n moreIconTint:\"rgb(51, 153, 255)\"\n }\n modalStyle:any = {\n height:\"212px\",\n width:\"360px\",\n background:\"white\",\n borderRadius:\"12px\",\n border:\"none\"\n }\n public limit:number = 30;\n moreIconURL: string = \"assets/moreicon.svg\";\n searchKeyword : string = \"\";\n onScrolledToBottom:any = null\n public isString = (data: any) => typeof data == 'string'\n public isArray = (data: any) => typeof data == 'object' && data?.length > 0\n public getOptions = (member: CometChat.GroupMember) => {\n let options = GroupMemberUtils.getViewMemberOptions(member, this.group,this.loggedInUser?.getUid(),this.themeService.theme)\n return options\n }\n selectedMember!: CometChat.GroupMember | null;\n titleAlignmentEnum: typeof TitleAlignment = TitleAlignment\n selectionmodeEnum: typeof SelectionMode = SelectionMode;\n public groupsRequest: any;\n public state: States = States.loading;\n public timeout: any;\n public groupMembers: CometChat.GroupMember[] = [];\n public scopes: string[] = []\n public membersListenerId: string = \"memberlist_\" + new Date().getTime();\n loggedInUser!: CometChat.User | null;\n changeScope: boolean = false;\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n public memberScope: any[] = []\n membersList: CometChat.GroupMember[] = [];\n closeClicked(){\n if(this.onClose){\n this.onClose()\n }\n }\n backClicked(){\n if(this.onBack){\n this.onBack()\n }\n }\n ngOnInit(): void {\n this.onScrolledToBottom = this.fetchNextGroupMembers\n this.setThemeStyle()\n this.attachListeners()\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user\n this.groupsRequest = this.getRequestBuilder();\n this.fetchNextGroupMembers();\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n }\n ngOnDestroy(){\n this.removeListener()\n }\n /**\n * @param {CometChat.GroupMember} member\n */\n getStatusIndicatorColor = (member: CometChat.GroupMember) => {\n if (!this.disableUsersPresence) {\n if (member?.getStatus() == CometChatUIKitConstants.userStatusType.online) {\n return this.groupMemberStyle.onlineStatusColor || this.themeService.theme.palette.getSuccess()\n }\n else {\n return null\n }\n }\n return null\n }\n changeMemberScope(event: any) {\n CometChat.updateGroupMemberScope(this.group.getGuid(), this.selectedMember!.getUid(), event?.detail?.value).then((member: boolean) => {\n let scope:any = event?.detail?.value\n this.changeScope = false;\n this.selectedMember?.setScope(scope)\n this.updateMember(this.selectedMember)\n this.ref.detectChanges();\n CometChatGroupEvents.ccGroupMemberScopeChanged.next({\n scopeChangedFrom:this.selectedMember?.getScope(),\n scopeChangedTo:scope,\n message: this.createActionMessage(this.selectedMember!,CometChatUIKitConstants.groupMemberAction.SCOPE_CHANGE),\n group:this.group,\n updatedUser:this.selectedMember!\n })\n this.selectedMember = null\n this.changeScope = false\n })\n .catch((err: any) => {\n this.changeScope = false;\n this.selectedMember = null\n this.ref.detectChanges()\n })\n }\n handleMenuAction = (menu: any, groupMember: CometChat.GroupMember) => {\n if (menu?.detail?.data?.onClick) {\n menu?.detail?.data?.onClick(groupMember)\n return\n }\n let id = menu?.detail?.data?.id\n this.selectedMember = groupMember;\n this.memberScope = GroupMemberUtils.allowScopeChange(this.group,groupMember)\n if (id == CometChatUIKitConstants.GroupMemberOptions.changeScope) {\n this.changeScope = true;\n this.scopes = []\n }\n else if (id == CometChatUIKitConstants.GroupMemberOptions.ban) {\n this.changeScope = false;\n this.blockMember(groupMember)\n }\n else if (id == CometChatUIKitConstants.GroupMemberOptions.kick) {\n this.kickMember(groupMember)\n }\n }\n blockMember = (member: CometChat.GroupMember) => {\n CometChat.banGroupMember(this.group.getGuid(), member.getUid()).then(() => {\n this.group.setMembersCount(this.group.getMembersCount() - 1)\n this.addRemoveMember(member)\n this.ref.detectChanges()\n CometChatGroupEvents.ccGroupMemberBanned.next({\n kickedBy:this.loggedInUser!,\n kickedFrom:this.group!,\n kickedUser:member,\n message:this.createActionMessage(member,CometChatUIKitConstants.groupMemberAction.BANNED)\n })\n })\n }\n createActionMessage(actionOn:CometChat.GroupMember,action:string){\n let actionMessage:CometChat.Action = new CometChat.Action(this.group.getGuid(),CometChatUIKitConstants.MessageTypes.groupMember,CometChatUIKitConstants.MessageReceiverType.group,CometChatUIKitConstants.MessageCategory.action as any)\n actionMessage.setAction(action)\n actionMessage.setActionBy(this.loggedInUser!)\n actionMessage.setActionFor(this.group)\n actionMessage.setActionOn(actionOn)\n actionMessage.setReceiver(this.group)\n actionMessage.setSender(this.loggedInUser!)\n actionMessage.setConversationId(\"group_\"+ this.group.getGuid())\n actionMessage.setMuid(CometChatUIKitUtility.ID())\n actionMessage.setMessage(`${this.loggedInUser?.getName()} ${action} ${actionOn.getUid()}`)\n actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());\n actionMessage.setReceiverType(CometChatUIKitConstants.MessageReceiverType.group);\n (actionMessage as any).data = {\n extras:{\n scope:{\n new:actionOn.getScope()\n }\n }\n }\n return actionMessage\n }\n kickMember = (member: CometChat.GroupMember) => {\n CometChat.kickGroupMember(this.group.getGuid(), member.getUid()).then(() => {\n this.group.setMembersCount(this.group.getMembersCount() - 1)\n this.addRemoveMember(member)\n this.ref.detectChanges()\n CometChatGroupEvents.ccGroupMemberKicked.next({\n kickedBy:this.loggedInUser!,\n kickedFrom:this.group!,\n kickedUser:member,\n message:this.createActionMessage(member,CometChatUIKitConstants.groupMemberAction.KICKED)\n })\n })\n .catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n }\n /**\n * @param {CometChat.User} member\n */\n updateMemberStatus = (member: CometChat.User) => {\n let memberlist = [...this.groupMembers];\n //search for user\n let userKey = memberlist.findIndex((u: CometChat.GroupMember, k) => u.getUid() == member.getUid());\n //if found in the list, update user object\n if (userKey > -1) {\n let user: CometChat.GroupMember = memberlist[userKey];\n user.setStatus(member.getStatus())\n memberlist.splice(userKey, 1, user);\n this.groupMembers = [...memberlist];\n this.ref.detectChanges();\n }\n };\n updateMember = (member: CometChat.GroupMember | null) => {\n let memberlist = [...this.groupMembers];\n //search for user\n let userKey = memberlist.findIndex((u: CometChat.GroupMember, k) => u.getUid() == member!.getUid());\n //if found in the list, update user object\n if (userKey > -1) {\n let user: CometChat.GroupMember = memberlist[userKey];\n memberlist.splice(userKey, 1, user);\n this.groupMembers = [...memberlist];\n this.ref.detectChanges();\n }\n };\n attachListeners() {\n //Attaching User Listeners to dynamilcally update when a user comes online and goes offline\n CometChat.addUserListener(\n this.membersListenerId,\n new CometChat.UserListener({\n onUserOnline: (onlineUser: CometChat.User) => {\n /* when someuser/friend comes online, user will be received here */\n this.updateMemberStatus(onlineUser);\n },\n onUserOffline: (offlineUser: CometChat.User) => {\n /* when someuser/friend went offline, user will be received here */\n this.updateMemberStatus(offlineUser);\n },\n })\n );\n CometChat.addGroupListener(\n this.membersListenerId,\n new CometChat.GroupListener({\n onGroupMemberScopeChanged: (\n message: CometChat.Action,\n changedUser: CometChat.GroupMember,\n newScope: CometChat.GroupMemberScope,\n oldScope: CometChat.GroupMemberScope,\n changedGroup: CometChat.Group\n ) => {\n if (changedUser.getUid() == this.loggedInUser?.getUid()) {\n changedGroup.setScope(newScope)\n }\n this.updateMember(changedUser as CometChat.GroupMember)\n },\n onGroupMemberKicked: (message: CometChat.Action, kickedUser: CometChat.User, kickedBy: CometChat.User, kickedFrom: CometChat.Group) => {\n this.addRemoveMember(kickedUser as CometChat.GroupMember)\n },\n onGroupMemberBanned: (message: CometChat.Action, bannedUser: CometChat.User, bannedBy: CometChat.User, bannedFrom: CometChat.Group) => {\n this.addRemoveMember(bannedUser as CometChat.GroupMember)\n },\n onGroupMemberUnbanned: (\n message: CometChat.Action,\n unbannedUser: CometChat.User,\n unbannedBy: CometChat.User,\n unbannedFrom: CometChat.Group\n ) => {\n if (unbannedUser.getUid() == this.loggedInUser?.getUid()) {\n unbannedFrom.setHasJoined(false)\n }\n this.addRemoveMember(unbannedUser as CometChat.GroupMember)\n },\n onMemberAddedToGroup: (\n message: CometChat.Action,\n userAdded: CometChat.User,\n userAddedBy: CometChat.User,\n userAddedIn: CometChat.Group\n ) => {\n let member:CometChat.GroupMember = new CometChat.GroupMember(userAdded.getUid(), CometChat.GROUP_MEMBER_SCOPE.PARTICIPANT)\n member.setName(userAdded.getName())\n member.setGuid(this.group.getGuid())\n member.setUid(userAdded.getUid())\n if (userAdded.getUid() == this.loggedInUser?.getUid()) {\n userAddedIn.setHasJoined(true)\n }\n this.addRemoveMember(member)\n },\n onGroupMemberLeft: (message: CometChat.Action, leavingUser: CometChat.User, group: CometChat.Group) => {\n if (leavingUser.getUid() == this.loggedInUser?.getUid()) {\n group.setHasJoined(false)\n }\n this.addRemoveMember(leavingUser as CometChat.GroupMember)\n },\n onGroupMemberJoined: (message: CometChat.Action, joinedUser: CometChat.User, joinedGroup: CometChat.Group) => {\n this.addRemoveMember(joinedUser as CometChat.GroupMember)\n },\n })\n );\n }\n removeListener() {\n CometChat.removeUserListener(this.membersListenerId);\n this.membersListenerId = \"\";\n }\n addRemoveMember = (member: CometChat.GroupMember) => {\n let memberlist = [...this.groupMembers];\n //search for user\n let memberKey = memberlist.findIndex((u: CometChat.GroupMember, k) => u.getUid() == member.getUid());\n //if found in the list, update user object\n if (memberKey > -1) {\n memberlist.splice(memberKey, 1);\n this.groupMembers = [...memberlist];\n this.ref.detectChanges();\n }\n else {\n this.groupMembers.push(member)\n this.ref.detectChanges();\n }\n }\n fetchNextGroupMembers = () => {\n this.onScrolledToBottom = null\n if(this.groupsRequest && this.groupsRequest.pagination && (this.groupsRequest.pagination.current_page == 0 || this.groupsRequest.pagination.current_page != this.groupsRequest.pagination.total_pages)){\n this.onScrolledToBottom = this.fetchNextGroupMembers\n this.state = States.loading\n this.ref.detectChanges()\n try {\n this.groupsRequest.fetchNext().then(\n (groupMembers: CometChat.GroupMember[]) => {\n this.state = States.loading\n if ((groupMembers.length <= 0 && this.groupMembers?.length <= 0) || (groupMembers.length === 0 && this.groupMembers?.length <= 0)) {\n this.state = States.empty\n this.ref.detectChanges();\n } else {\n this.state = States.loaded\n this.groupMembers = [...this.groupMembers, ...groupMembers];\n this.ref.detectChanges()\n }\n },\n (error: any) => {\n console.log(error)\n this.state = States.error\n this.ref.detectChanges();\n }\n );\n } catch (error: any) {\n console.log(error)\n this.state = States.error\n this.ref.detectChanges();\n }\n }\n else{\n this.state = States.loaded\n return\n }\n }\n getRequestBuilder() {\n if(this.searchRequestBuilder){\n return this.searchRequestBuilder.build()\n }\n else if (this.groupMemberRequestBuilder) {\n return this.groupMemberRequestBuilder.build();\n }\n else {\n return new CometChat.GroupMembersRequestBuilder(this.group.getGuid())\n .setLimit(this.limit)\n .setSearchKeyword(this.searchKeyword)\n .build();\n }\n }\n /**\n * @param {string} key\n */\n onSearch = (key: string) => {\n this.searchKeyword = key;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n const request = this.searchRequestBuilder ? this.searchRequestBuilder.setSearchKeyword(this.searchKeyword).build() : this.getRequestBuilder();\n this.groupsRequest = request;\n this.groupMembers = [];\n this.fetchNextGroupMembers();\n }, 500);\n };\n setThemeStyle() {\n this.setGroupMembersStyle()\n this.setScopeStyle()\n this.setListItemStyle()\n this.setAvatarStyle()\n this.setStatusStyle()\n this.menuListStyle = new MenuListStyle({\n border:\"none\",\n borderRadius: \"8px\",\n background: \"transparent\",\n submenuWidth: \"100%\",\n submenuHeight: \"100%\",\n submenuBorder: `1px solid ${this.themeService.theme.palette.getAccent200()}`,\n submenuBorderRadius: \"8px\",\n submenuBackground: this.themeService.theme.palette.getBackground(),\n moreIconTint:this.themeService.theme.palette.getPrimary(),\n })\n this.modalStyle.boxShadow = `0px 0px 1px ${this.themeService.theme.palette.getAccent600()}`\n this.modalStyle.background = this.themeService.theme.palette.getBackground()\n this.ref.detectChanges();\n }\n setGroupMembersStyle(){\n let defaultStyle:GroupMembersStyle = new GroupMembersStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"none\",\n searchIconTint:this.themeService.theme.palette.getAccent600(),\n searchPlaceholderTextColor:this.themeService.theme.palette.getAccent600(),\n searchBackground:this.themeService.theme.palette.getAccent100(),\n searchPlaceholderTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchTextColor:this.themeService.theme.palette.getAccent600(),\n searchTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchBorderRadius:\"8px\",\n closeButtonIconTint:this.themeService.theme.palette.getPrimary(),\n backButtonIconTint:this.themeService.theme.palette.getPrimary(),\n padding:\"0 100px\",\n })\n this.groupMemberStyle = {...defaultStyle,...this.groupMemberStyle}\n this.listStyle ={\n titleTextFont : this.groupMemberStyle.titleTextFont || fontHelper(this.themeService.theme.typography.title1),\n titleTextColor : this.groupMemberStyle.titleTextColor || this.themeService.theme.palette.getAccent(),\n emptyStateTextFont : this.groupMemberStyle.emptyStateTextFont,\n emptyStateTextColor : this.groupMemberStyle.emptyStateTextColor,\n errorStateTextFont : this.groupMemberStyle.errorStateTextFont,\n errorStateTextColor : this.groupMemberStyle.errorStateTextColor,\n loadingIconTint : this.groupMemberStyle.loadingIconTint,\n separatorColor : this.groupMemberStyle.separatorColor,\n searchIconTint : this.groupMemberStyle.searchIconTint,\n searchBorder : this.groupMemberStyle.searchBorder,\n searchBorderRadius : this.groupMemberStyle.searchBorderRadius,\n searchBackground : this.groupMemberStyle.searchBackground,\n searchPlaceholderTextFont : this.groupMemberStyle.searchPlaceholderTextFont,\n searchPlaceholderTextColor : this.groupMemberStyle.searchPlaceholderTextColor,\n searchTextFont : this.groupMemberStyle.searchTextFont,\n searchTextColor : this.groupMemberStyle.searchTextColor,\n }\n this.ref.detectChanges();\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"\",\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:\"\"\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"36px\",\n height: \"36px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"12px\",\n width:\"12px\",\n border:\"none\",\n borderRadius:\"24px\",\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setScopeStyle(){\n let defaultStyle:ChangeScopeStyle = new ChangeScopeStyle({\n titleTextFont: fontHelper(this.themeService.theme.typography.title1),\n titleTextColor: this.themeService.theme.palette.getAccent(),\n activeTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n activeTextColor:this.themeService.theme.palette.getAccent(),\n activeTextBackground: this.themeService.theme.palette.getAccent200(),\n arrowIconTint: this.themeService.theme.palette.getAccent900(),\n textFont: fontHelper(this.themeService.theme.typography.subtitle1),\n textColor:this.themeService.theme.palette.getAccent600(),\n optionBackground: this.themeService.theme.palette.getBackground(),\n optionBorder: \"none\",\n optionBorderRadius: \"0\",\n hoverTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n hoverTextColor: this.themeService.theme.palette.getAccent900(),\n hoverTextBackground: this.themeService.theme.palette.getAccent100(),\n buttonTextFont: fontHelper(this.themeService.theme.typography.title2),\n buttonTextColor: this.themeService.theme.palette.getAccent(\"dark\"),\n buttonBackground: this.themeService.theme.palette.getPrimary(),\n closeIconTint: this.themeService.theme.palette.getPrimary(),\n background:this.themeService.theme.palette.getBackground(),\n border: `1px solid ${this.themeService.theme.palette.getAccent200()}`,\n borderRadius:\"8px\",\n height:\"200px\",\n width:\"280px\"\n })\n this.groupScopeStyle = {...defaultStyle,...this.groupScopeStyle}\n }\n membersStyle = () => {\n return {\n padding:this.groupMemberStyle.padding\n }\n }\n // styles\n backButtonStyle = ()=> {\n return {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.groupMemberStyle.backButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n }\n closeButtonStyle = ()=> {\n return {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.groupMemberStyle.closeButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n }\n wrapperStyle = () => {\n return {\n height: this.groupMemberStyle.height,\n width: this.groupMemberStyle.width,\n background: this.groupMemberStyle.background || this.themeService.theme.palette.getBackground(),\n border: this.groupMemberStyle.border,\n borderRadius: this.groupMemberStyle.borderRadius\n }\n }\n getScopeStyle = () => {\n return {\n textFont: this.groupScopeStyle.textFont,\n textColor: this.groupScopeStyle.textColor\n }\n }\n}\n","<div class=\"cc-group-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-group-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\" (cc-button-clicked)=\"backClicked()\" >\n\n </cometchat-button>\n </div>\n <div class=\"cc-group-members__wrapper\" [ngStyle]=\"membersStyle()\">\n <div class=\"cc-group-members__menus\" >\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"groupMembers\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [title]=\"title\"\n\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-groupMember>\n <cometchat-list-item [title]=\"groupMember?.name\" [avatarURL]=\"groupMember?.avatar\" [avatarName]=\"groupMember?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(groupMember)\" [hideSeparator]=\"hideSeparator\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-group-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" class=\"cc-group-members__options\" *ngIf=\" !tailView && options\">\n <cometchat-menu-list [data]=\"options(groupMember)\" [menuListStyle]=\"menuListStyle\" (cc-menu-clicked)=\"handleMenuAction($event, groupMember)\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" class=\"cc-group-members__tail-view\">\n\n <div *ngIf=\"tailView\">\n <ng-container *ngTemplateOutlet=\"tailView;context:{ $implicit: groupMember }\">\n </ng-container>\n\n </div>\n <div *ngIf=\"selectionMode != selectionmodeEnum.none\" >\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-group-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(groupMember) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-group-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(groupMember) : null\"></cometchat-checkbox>\n </div>\n </div>\n <div *ngIf=\"!tailView\">\n <div class=\"cc-group-members__scopechange\" slot=\"tailView\">\n\n <cometchat-menu-list [moreIconURL]=\"moreIconURL\" *ngIf=\"isArray(getOptions(groupMember))\" [topMenuSize]=\"0\" [data]=\"getOptions(groupMember)\" (cc-menu-clicked)=\"handleMenuAction($event, groupMember)\" [menuListStyle]=\"menuListStyle\"></cometchat-menu-list>\n <cometchat-label *ngIf=\" isString(getOptions(groupMember))\" [text]=\"getOptions(groupMember)\" [labelStyle]=\"getScopeStyle()\">\n\n </cometchat-label>\n\n </div>\n </div>\n </div>\n </cometchat-list-item>\n\n </ng-template>\n </div>\n <div class=\"cc-group-members__close\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n<cometchat-backdrop *ngIf=\"changeScope && memberScope.length > 0\" [backdropStyle]=\"backdropStyle\">\n <cometchat-change-scope [changeScopeStyle]=\"groupScopeStyle\" [options]=\"memberScope\" [arrowIconURL]=\"dropdownIconURL\" (cc-changescope-close-clicked)=\"changeScope = false;\" (cc-changescope-changed)=\"changeMemberScope($event)\">\n\n </cometchat-change-scope>\n</cometchat-backdrop>","import { Component, OnInit, Input, ChangeDetectorRef, ChangeDetectionStrategy, TemplateRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport {AvatarStyle, BaseStyle, ListItemStyle} from '@cometchat/uikit-elements'\nimport { CometChatOption, localize, TitleAlignment, SelectionMode, CometChatGroupEvents, CometChatUIKitConstants, fontHelper } from \"@cometchat/uikit-resources\";\nimport { TransferOwnershipStyle, GroupMembersStyle } from \"@cometchat/uikit-shared\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\n\n/**\n*\n* CometChatTransferOwnershipComponent is used to render users list to transfer wonership\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-transfer-ownership\",\n templateUrl: \"./cometchat-transfer-ownership.component.html\",\n styleUrls: [\"./cometchat-transfer-ownership.component.scss\"],\n changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class CometChatTransferOwnershipComponent implements OnInit {\n @Input() groupMemberRequestBuilder!: CometChat.GroupMembersRequestBuilder;\n @Input() searchRequestBuilder!: CometChat.GroupMembersRequestBuilder;\n\n @Input() subtitleView!: TemplateRef<any>;\n @Input() listItemView!: TemplateRef<any>;\n @Input() disableUsersPresence: boolean = false;\n @Input() options!: ((member:CometChat.GroupMember)=>CometChatOption[]) | null;\n @Input() closeButtonIconURL: string = \"assets/close2x.svg\"\n @Input() hideSeparator: boolean = false;\n @Input() searchPlaceholder: string = localize(\"SEARCH\");\n @Input() searchIconURL: string = \"assets/search.svg\";\n @Input() hideSearch: boolean = true;\n @Input() title: string = localize(\"TRANSFER_OWNERSHIP\");\n @Input() onError:((error:any)=>void) | null = (error:any)=>{\n console.log(error)\n }\n @Input() onClose!:()=>void;\n @Input() onTransferOwnership!:(member:CometChat.GroupMember)=>void;\n @Input() group!: CometChat.Group;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_GROUPS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() statusIndicatorStyle: any = {\n height: \"10px\",\n width: \"10px\",\n borderRadius: \"16px\",\n border:\"\"\n };\n @Input() transferOwnershipStyle:TransferOwnershipStyle = {\n width: \"360px\",\n height: \"650px\",\n\n borderRadius: \"8px\",\n }\n @Input() transferButtonText:string = localize(\"TRANSFER_OWNERSHIP\")\n @Input() cancelButtonText:string = localize(\"CANCEL\")\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"32px\",\n height: \"32px\",\n\n };\n @Input() groupMemberStyle: GroupMembersStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"\",\n border: \"\",\n borderRadius: \"8px\",\n\n padding:\"0\"\n };\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n\n separatorColor: \"rgb(222 222 222 / 46%)\"\n };\n\n @Input() titleAlignment: TitleAlignment = TitleAlignment.center;\n public selectionMode: SelectionMode = SelectionMode.single;\n public showBackButton: boolean = false;\n public selectedMember!: CometChat.GroupMember | null;\n public loggedInUser!: CometChat.User | null;\n public selectedUser!:CometChat.User;\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n public transferButtonStyle:any = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgb(51, 153, 255)\",\n padding:\"8px\",\n buttonTextColor:\"white\",\n buttonTextFont:\"600 15px Inter, sans-serif\",\n display:\"flex\",\n justifyContent:\"center\",\n alignItems:\"center\",\n border:\"none\",\n borderRadius:\"8px\"\n}\n public cancelButtonStyle:any = {\n height:\"100%\",\n width:\"100%\",\n background:\"white\",\n padding:\"8px\",\n buttonTextColor:\"black\",\n buttonTextFont:\"600 15px Inter, sans-serif\",\n display:\"flex\",\n justifyContent:\"center\",\n alignItems:\"center\",\n border:\"1px solid #e0e0e0\",\n borderRadius:\"8px\"\n}\n ngOnInit(): void {\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n this.setThemeStyle()\n }\n onOwnerSelected = (member:CometChat.GroupMember)=>{\n this.selectedMember = member\n }\n onTransferClick = ()=>{\nCometChat.getUser(this.selectedMember?.getUid()).then((user:CometChat.User)=>{\nthis.selectedUser = user\n})\n.catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n})\n if(this.onTransferOwnership){\n this.onTransferOwnership(this.selectedMember!)\n this.selectedMember = null\n }\n else{\nif(this.selectedMember){\n CometChat.transferGroupOwnership(this.group.getGuid(),this.selectedMember!.getUid()).then((response:string)=>{\n this.group.setOwner(this.selectedMember!.getUid())\n CometChatGroupEvents.ccOwnershipChanged.next(\n {\n group:this.group,\n newOwner:this.selectedMember!\n }\n )\n this.selectedMember = null\n })\n .catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n}\n }\n }\n closeClicked =()=>{\n if(this.onClose){\n this.onClose()\n }\n }\n setThemeStyle() {\n this.setGroupMembersStyle()\n this.setListItemStyle();\n this.setAvatarStyle();\n this.setownershipStyle();\n this.setStatusStyle();\n this.transferButtonStyle.buttonTextFont = this.transferOwnershipStyle.transferButtonTextFont || fontHelper(this.themeService.theme.typography.subtitle1);\n this.transferButtonStyle.buttonTextColor = this.transferOwnershipStyle.transferButtonTextColor || this.themeService.theme.palette.getAccent900();\n this.transferButtonStyle.background = this.themeService.theme.palette.getPrimary();\n this.cancelButtonStyle.background = this.themeService.theme.palette.getSecondary();\n this.cancelButtonStyle.buttonTextFont = this.transferOwnershipStyle.cancelButtonTextFont || fontHelper(this.themeService.theme.typography.subtitle1);\n this.cancelButtonStyle.buttonTextColor = this.transferOwnershipStyle.cancelButtonTextColor || this.themeService.theme.palette.getAccent();\n this.ref.detectChanges();\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"transparent\",\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:\"transparent\"\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setGroupMembersStyle(){\n let defaultStyle:GroupMembersStyle = new GroupMembersStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"none\",\n searchIconTint:this.themeService.theme.palette.getAccent600(),\n searchPlaceholderTextColor:this.themeService.theme.palette.getAccent600(),\n searchBackground:this.themeService.theme.palette.getAccent100(),\n searchPlaceholderTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchTextColor:this.themeService.theme.palette.getAccent600(),\n searchTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchBorderRadius:\"8px\",\n closeButtonIconTint:this.themeService.theme.palette.getPrimary(),\n backButtonIconTint:this.themeService.theme.palette.getPrimary(),\n padding:\"0 100px\",\n\n })\n this.groupMemberStyle = {...defaultStyle,...this.groupMemberStyle}\n\n this.ref.detectChanges();\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"10px\",\n width:\"10px\",\n border:\"none\",\n borderRadius:\"24px\",\n\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setownershipStyle(){\n let defaultStyle:TransferOwnershipStyle = new TransferOwnershipStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n MemberScopeTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n MemberScopeTextColor:this.themeService.theme.palette.getAccent600(),\n transferButtonTextFont :fontHelper(this.themeService.theme.typography.title2),\n transferButtonTextColor :this.themeService.theme.palette.getAccent(\"dark\"),\n cancelButtonTextFont :fontHelper(this.themeService.theme.typography.title2),\n cancelButtonTextColor :this.themeService.theme.palette.getAccent(\"light\"),\n width: \"360px\",\n height: \"650px\",\n borderRadius: \"8px\",\n })\n this.transferOwnershipStyle = {...defaultStyle,...this.transferOwnershipStyle}\n }\n membersStyle = () => {\n return {\n height: this.groupMemberStyle.height,\n width: this.groupMemberStyle.width,\n background: this.groupMemberStyle.background,\n border: this.groupMemberStyle.border,\n borderRadius: this.groupMemberStyle.borderRadius\n }\n }\n wrapperStyle = () => {\n return {\n height: this.transferOwnershipStyle.height || \"80vh\",\n width: this.transferOwnershipStyle.width || \"360px\",\n background: this.transferOwnershipStyle.background,\n border: this.transferOwnershipStyle.border,\n borderRadius: this.transferOwnershipStyle.borderRadius\n }\n }\n getScopeStyle = () => {\n return {\n textFont: this.transferOwnershipStyle.MemberScopeTextFont,\n textColor: this.transferOwnershipStyle.MemberScopeTextColor\n }\n }\n}\n","\n<div class=\"cc-transfer-ownership\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-transfer-ownership__members\">\n <cometchat-group-members [listItemView]=\"listItemView\" [searchRequestBuilder]=\"searchRequestBuilder\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [loadingStateView]=\"loadingStateView\"\n [hideSeparator]=\"hideSeparator\" [emptyStateText]=\"emptyStateText\"\n [groupMemberRequestBuilder]=\"groupMemberRequestBuilder\" [hideSearch]=\"false\"\n [closeButtonIconURL]=\"closeButtonIconURL\" [listItemStyle]=\"listItemStyle\" [emptyStateView]=\"emptyStateView\"\n [searchPlaceholder]=\"searchPlaceholder\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\" [groupMemberStyle]=\"groupMemberStyle\" [onError]=\"onError\"\n [subtitleView]=\"subtitleView\" [disableUsersPresence]=\"disableUsersPresence\" [onClose]=\"closeClicked\"\n [onSelect]=\"onOwnerSelected\" [tailView]=\"tailView\" [selectionMode]=\"selectionMode\"\n [titleAlignment]=\"titleAlignment\" [group]=\"group\" [showBackButton]=\"showBackButton\" [title]=\"title\" [options]=\"options\">\n </cometchat-group-members>\n </div>\n <div class=\"cc-transfer-ownership-buttons\">\n <cometchat-button class=\"cc-transfer-ownership__buttons--confirm\" [text]=\"transferButtonText\"\n [buttonStyle]=\"transferButtonStyle\" (cc-button-clicked)=\"onTransferClick()\"></cometchat-button>\n <cometchat-button class=\"cc-transfer-ownership__buttons--cancel\" [text]=\"cancelButtonText\"\n [buttonStyle]=\"cancelButtonStyle\" (cc-button-clicked)=\"closeClicked()\"></cometchat-button>\n </div>\n </div>\n<!-- view for member scope -->\n<ng-template #tailView let-groupMember>\n <cometchat-label [text]=\"groupMember?.scope\" [labelStyle]=\"getScopeStyle()\">\n </cometchat-label>\n </ng-template>","import {\n Component,\n Input,\n OnInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n TemplateRef,\n OnChanges,\n SimpleChanges,\n} from \"@angular/core\";\nimport { Subscription } from \"rxjs\";\nimport '@cometchat/uikit-elements'\nimport {AvatarStyle, ChangeScopeStyle,ConfirmDialogStyle,ListItemStyle, } from '@cometchat/uikit-elements'\nimport { AddMembersConfiguration, AddMembersStyle, BannedMembersConfiguration, BannedMembersStyle,CometChatUIKitUtility, DetailsStyle, DetailsUtils, GroupMembersConfiguration, GroupMembersStyle, SelectionMode, TitleAlignment, TransferOwnershipConfiguration, TransferOwnershipStyle, UsersConfiguration, BaseStyle, } from \"@cometchat/uikit-shared\";\nimport {CometChatTheme, fontHelper, localize,CometChatOption, CometChatGroupEvents, CometChatUIKitConstants,IGroupLeft, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberScopeChanged,IMessages, CometChatUserEvents, CometChatMessageEvents, CometChatConversationEvents, IGroupMemberJoined, IOwnershipChanged, CometChatDetailsOption, CometChatDetailsTemplate} from '@cometchat/uikit-resources'\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\n/**\n*\n* CometChatDetailsComponent renders details of user or group.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-details\",\n templateUrl: \"./cometchat-details.component.html\",\n styleUrls: [\"./cometchat-details.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatDetailsComponent implements OnInit, OnChanges {\n @Input() group!: CometChat.Group;\n @Input() user!: CometChat.User;\n @Input() title: string = localize(\"DETAILS\");\n @Input() closeButtonIconURL: string = \"assets/close2x.svg\";\n @Input() hideProfile:boolean = false;\n @Input() subtitleView!: TemplateRef<any>;\n @Input() customProfileView!: TemplateRef<any>;\n @Input() data:CometChatDetailsTemplate[] = [];\n @Input() disableUsersPresence: boolean = false;\n @Input() privateGroupIcon:string =\"assets/Private.svg\";\n @Input() protectedGroupIcon:string = \"assets/Locked.svg\";\n @Input() onError:((error: any) => void) | null = (error:any)=>{\n console.log(error)\n }\n @Input() onClose!:()=>void;\n @Input() leaveButtonText: string = localize(\"TRANSFER_OWNERSHIP\");\n @Input() cancelButtonText: string = localize(\"CANCEL\");\n @Input() confirmDialogMessage: string = localize(\"TRANSFER_CONFIRM\");\n @Input() addMembersConfiguration: AddMembersConfiguration = new AddMembersConfiguration({});\n @Input() bannedMembersConfiguration: BannedMembersConfiguration = new BannedMembersConfiguration({});\n @Input() groupMembersConfiguration: GroupMembersConfiguration = new GroupMembersConfiguration({});\n @Input() transferOwnershipConfiguration: TransferOwnershipConfiguration = new TransferOwnershipConfiguration({});\n @Input() leaveDialogStyle: ConfirmDialogStyle = {\n confirmButtonBackground: \"RGB(51, 153, 255)\",\n cancelButtonBackground: \"RGBA(20, 20, 20, 0.06)\",\n confirmButtonTextColor: \"white\",\n confirmButtonTextFont: \"600 15px Inter\",\n cancelButtonTextColor: \"black\",\n cancelButtonTextFont: \"600 15px Inter\",\n titleFont: \"\",\n titleColor: \"\",\n messageTextFont: \"400 13px Inter\",\n messageTextColor: \"RGBA(20, 20, 20, 0.58)\",\n background: \"white\",\n border:\"1px solid #F2F2F2\",\n height:\"220px\",\n width:\"360px\"\n }\n backiconurl = \"assets/backbutton.svg\"\n @Input() statusIndicatorStyle: any = {\n height: \"10px\",\n width: \"10px\",\n borderRadius: \"16px\",\n border:\"\"\n };\n @Input() backdropStyle :BaseStyle = {\n height:\"100%\",\n width:\"100%\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n\n };\n @Input() detailsStyle: DetailsStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"\",\n borderRadius: \"\",\n padding:\"0 100px\"\n };\n @Input() listItemStyle: ListItemStyle = {\n height: \"100%\",\n width: \"100%\",\n background: \"\",\n activeBackground: \"transparent\",\n borderRadius: \"grey\",\n titleFont: \"600 15px Inter\",\n titleColor: \"black\",\n border: \"\",\n hoverBackground: \"transparent\",\n separatorColor: \"rgb(222 222 222 / 46%)\"\n };\n\n\n leaveGroupText:string = localize(\"LEAVE_GROUP\")\n leaveGroupMessage:string = localize(\"LEAVE_CONFIRM\")\n transferText:string = localize(\"TRANSFER_OWNERSHIP\")\n transferConfirm:string = localize(\"TRANSFER_CONFIRM\")\n defaultTemplate:CometChatDetailsTemplate[] = []\n public loggedInUser:CometChat.User | null = null;\n public openViewMembersPage:boolean = false;\n public openBannedMembersPage:boolean = false;\n public openAddMembersPage:boolean = false;\n public confirmLeaveGroupModal:boolean = false;\n public openTransferOwnershipModal:boolean = false\n selectionmodeEnum: SelectionMode = SelectionMode.multiple;\n ccGroupMemberAdded!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccOwnershipChanged!:Subscription;\n public statusColor: any = {\n private: \"\",\n password: \"#F7A500\",\n public: \"\"\n }\n closeButtonStyle:any ={\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:this.detailsStyle.closeButtonIconTint || this.themeService.theme.palette.getPrimary()\n }\n buttonStyle:any ={\n height:\"100%\",\n width:\"100%\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonTextColor: this.themeService.theme.palette.getPrimary() || \"rgba(51, 153, 255)\",\n buttonTextFont: \"500 16px Inter\"\n }\n dividerStyle:any = {\n background:\"rgb(222 222 222 / 46%)\",\n height:\"1px\",\n width:\"100%\"\n }\n\n//\n getTitleStyle (){\n return {\n textFont: this.detailsStyle.titleTextFont || fontHelper(this.themeService.theme.typography.title1),\n textColor: this.detailsStyle.titleTextColor || this.themeService.theme.palette.getAccent()\n }\n }\n getCustomOptionView(option:CometChatDetailsOption){\n return option?.customView\n }\n public subtitleText:string = \"\";\n public userListenerId = \"userlist_\" + new Date().getTime();\n constructor(private ref:ChangeDetectorRef,private themeService:CometChatThemeService){}\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"user\"] || changes[\"group\"]){\n if(this.loggedInUser){\n this.getTemplate()\n }\n else{\n CometChat.getLoggedinUser().then((user:CometChat.User | null)=>{\n this.loggedInUser = user as CometChat.User\n this.getTemplate()\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n }\n }\n }\n getTemplate(){\n if(this.data && this.data?.length > 0){\n this.defaultTemplate = this.data\n this.ref.detectChanges();\n }\n else{\n this.defaultTemplate = DetailsUtils.getDefaultDetailsTemplate(this.loggedInUser,this.user,this.group,this.themeService.theme)\n\n this.ref.detectChanges();\n }\n }\n removeListener(){\n CometChat.removeUserListener(this.userListenerId)\n }\n ngOnDestroy(){\n this.removeListener();\n this.data = [];\n this.defaultTemplate = [];\n if(this.onClose){\n this.onClose()\n }\n this.unsubscribeToEvents()\n }\n\n ngOnInit(): void {\n this.setThemeStyle()\n this.subscribeToEvents()\n this.statusColor.online = this.detailsStyle.onlineStatusColor || this.themeService.theme.palette.getSuccess()\n this.attachListeners()\n this.updateSubtitle()\n }\n\n subscribeToEvents(){\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item:IGroupMemberAdded)=>{ this.group = item?.userAddedIn!;\n this.group = item?.userAddedIn!\n this.openAddMembersPage = false;\n this.updateSubtitle()\n this.ref.detectChanges()\n })\n this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item:IGroupMemberJoined)=>{\n this.group = item?.joinedGroup;\n this.updateSubtitle()\n this.ref.detectChanges()\n });\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item:IGroupMemberKickedBanned)=>{\n this.group = item?.kickedFrom!;\n this.updateSubtitle()\n this.ref.detectChanges()\n });\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item:IGroupMemberKickedBanned)=>{\n this.group = item?.kickedFrom!;\n this.updateSubtitle()\n this.ref.detectChanges()\n });\n this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item:IOwnershipChanged)=>{\n this.group = item?.group!;\n this.updateSubtitle();\n this.confirmLeaveGroupModal = false;\n this.openTransferOwnershipModal = false;\n this.ref.detectChanges();\n });\n }\n unsubscribeToEvents(){\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberJoined?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccOwnershipChanged?.unsubscribe();\n }\n checkStatusType = ()=> {\n return this.user && !this.disableUsersPresence ? this.statusColor[this.user?.getStatus()] : this.statusColor[this.group?.getType()]\n }\n updateSubtitle() {\n const count = this.group?.getMembersCount();\n const membersText = localize(count > 1 ? \"MEMBERS\" : \"MEMBER\");\n this.subtitleText = this.user ? this.user.getStatus() : `${count} ${membersText}`;\n this.ref.detectChanges();\n }\n getButtonStyle(option:CometChatDetailsOption){\n return {\n height:\"100%\",\n width:\"100%\",\n border:\"none\",\n borderRadius:\"0\",\n buttonTextFont:option?.titleFont,\n buttonTextColor:option?.titleColor,\n background:option?.backgroundColor || \"transparent\"\n }\n }\n checkGroupType(): string {\n let image: string = \"\";\n if (this.group) {\n switch (this.group?.getType()) {\n case CometChatUIKitConstants.GroupTypes.password:\n image = this.protectedGroupIcon;\n break;\n case CometChatUIKitConstants.GroupTypes.private:\n image = this.privateGroupIcon;\n break;\n default:\n image = \"\"\n break;\n }\n }\n return image\n }\n updateUserStatus(user:CometChat.User){\n if (this.user && this.user.getUid() && this.user.getUid() === user.getUid()) {\n this.user.setStatus(user.getStatus());\n this.updateSubtitle()\n }\n // this.ref.detectChanges();\n }\n attachListeners() {\n try {\n if(!this.disableUsersPresence){\n CometChat.addUserListener(\n this.userListenerId,\n new CometChat.UserListener({\n onUserOnline: (onlineUser: CometChat.User) => {\n /* when someuser/friend comes online, user will be received here */\n this.updateUserStatus(onlineUser);\n },\n onUserOffline: (offlineUser: CometChat.User) => {\n /* when someuser/friend went offline, user will be received here */\n this.updateUserStatus( offlineUser);\n },\n })\n );\n }\n } catch (error:any) {\nconsole.log(error)\n }\n }\n getSectionHeaderStyle(template:CometChatDetailsTemplate){\n return {\n textFont:template.titleFont,\n textColor:template.titleColor\n }\n }\n onOptionClick(option: CometChatDetailsOption) {\n const { onClick, id } = option;\n if (onClick) {\n onClick(this.user ?? this.group);\n return;\n }\n switch (id) {\n case CometChatUIKitConstants.UserOptions.viewProfile:\n if (this.user?.getLink()) {\n window.location.href = this.user.getLink();\n }\n break;\n case CometChatUIKitConstants.UserOptions.block:\n this.blockUser();\n break;\n case CometChatUIKitConstants.UserOptions.unblock:\n this.unBlockUser();\n break;\n case CometChatUIKitConstants.GroupOptions.viewMembers:\n this.viewMembers();\n break;\n case CometChatUIKitConstants.GroupOptions.addMembers:\n this.addMembers();\n break;\n case CometChatUIKitConstants.GroupOptions.bannedMembers:\n this.bannedMembers();\n break;\n case CometChatUIKitConstants.GroupOptions.leave:\n this.leaveGroup();\n break;\n case CometChatUIKitConstants.GroupOptions.delete:\n this.deleteGroup();\n break;\n default:\n break;\n }\n }\n onLeaveClick(){\n if(this.group.getOwner() == this.loggedInUser?.getUid()){\n this.openTransferOwnershipModal = true;\n this.confirmLeaveGroupModal = false\n }\n else{\n CometChat.leaveGroup(this.group.getGuid())\n .then((response:any) => {\n this.group.setMembersCount(this.group.getMembersCount() -1)\n this.group.setHasJoined(false)\n this.updateSubtitle()\n this.ref.detectChanges();\n this.openTransferOwnershipModal = false;\n this.confirmLeaveGroupModal = false;\n if(this.onClose){\n this.onClose()\n }\n CometChatGroupEvents.ccGroupLeft.next({\n userLeft:this.loggedInUser!,\n leftGroup:this.group,\n message:this.createUserLeftAction(this.loggedInUser!,CometChatUIKitConstants.groupMemberAction.LEFT)\n\n })\n })\n .catch((error:any)=>{\n if(this.onError){this.onError(error)}\n });\n }\n }\n createActionMessage(actionOn:CometChat.GroupMember,action:string){\n let actionMessage:CometChat.Action = new CometChat.Action(this.group.getGuid(),CometChatUIKitConstants.MessageTypes.groupMember,CometChatUIKitConstants.MessageReceiverType.group,CometChatUIKitConstants.MessageCategory.action as any)\n actionMessage.setAction(action)\n actionMessage.setActionBy(this.loggedInUser!)\n actionMessage.setActionFor(this.group)\n actionMessage.setActionOn(actionOn)\n actionMessage.setReceiver(this.group)\n actionMessage.setSender(this.loggedInUser!)\n actionMessage.setConversationId(\"group_\"+ this.group.getGuid())\n actionMessage.setMuid(CometChatUIKitUtility.ID())\n actionMessage.setMessage(`${this.loggedInUser?.getName()} ${action} ${actionOn.getUid()}`)\n actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp())\n actionMessage.setNewScope(actionOn.getScope())\n\n return actionMessage\n }\n createUserLeftAction(actionOn:CometChat.User,action:string){\n let actionMessage:CometChat.Action = new CometChat.Action(this.group.getGuid(),CometChatUIKitConstants.MessageTypes.groupMember,CometChatUIKitConstants.MessageReceiverType.group,CometChatUIKitConstants.MessageCategory.action as any)\n actionMessage.setAction(action)\n actionMessage.setActionBy(this.loggedInUser!)\n actionMessage.setActionFor(this.group)\n actionMessage.setActionOn(actionOn)\n actionMessage.setReceiver(this.group)\n actionMessage.setSender(this.loggedInUser!)\n actionMessage.setConversationId(\"group_\"+ this.group.getGuid())\n actionMessage.setMuid(CometChatUIKitUtility.ID())\n actionMessage.setMessage(`${this.loggedInUser?.getName()} ${action} ${actionOn.getUid()}`)\n actionMessage.setSentAt(CometChatUIKitUtility.getUnixTimestamp());\n return actionMessage\n }\n onCloseClick =()=>{\n if(this.onClose){\n this.onClose()\n }\n\n }\n onCancelClick(){\n this.confirmLeaveGroupModal = false;\n }\n blockUser(){\n // block user\n if(this.user && !this.user.getBlockedByMe()){\n CometChat.blockUsers([this.user.getUid()]).then(()=>{\n this.user.setBlockedByMe(true)\n CometChatUserEvents.ccUserBlocked\n this.getTemplate();\n if(this.onClose){\n this.onClose()\n }\n\n })\n .catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n\n }\n }\n unBlockUser(){\n// unblock user\nif(this.user && this.user.getBlockedByMe()){\n CometChat.unblockUsers([this.user.getUid()]).then(()=>{\n this.user.setBlockedByMe(false)\n CometChatUserEvents.ccUserUnblocked.next(this.user)\n this.getTemplate()\n })\n .catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n\n}\n }\n viewMembers =()=>{\n this.openViewMembersPage = !this.openViewMembersPage\n this.openBannedMembersPage = false\n this.openAddMembersPage = false\n }\n addMembers =()=>{\n this.openAddMembersPage = !this.openAddMembersPage\n this.openBannedMembersPage = false\n this.openViewMembersPage = false\n }\n bannedMembers =()=>{\n this.openAddMembersPage = false\n this.openViewMembersPage = false\n this.openBannedMembersPage = !this.openBannedMembersPage\n }\n leaveGroup(){\n if(this.group.getOwner() == this.loggedInUser?.getUid()){\n this.leaveButtonText = this.transferText\n this.confirmDialogMessage = this.transferConfirm\n }\n else{\n this.leaveButtonText = this.leaveGroupText\n this.confirmDialogMessage = this.leaveGroupMessage\n }\n this.confirmLeaveGroupModal = true\n this.ref.detectChanges()\n }\n deleteGroup(){\nCometChat.deleteGroup(this.group?.getGuid()).then(()=>{\n CometChatGroupEvents.ccGroupDeleted.next(this.group)\n if(this.onClose){\n this.onClose()\n }\n})\n.catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n})\n }\n openTransferOwnership = ()=>{\n this.openTransferOwnershipModal = !this.openTransferOwnershipModal;\n this.confirmLeaveGroupModal = false;\n }\n onCloseDetails(){\n if(this.onClose){\n this.onClose()\n }\n }\n subtitleStyle = ()=>{\n if(this.user && this.user.getStatus() == CometChatUIKitConstants.userStatusType.online){\n return{\n textFont:this.detailsStyle.subtitleTextFont,\n textColor:this.themeService.theme.palette.getPrimary()\n }\n }\n else{\n return{\n textFont:this.detailsStyle.subtitleTextFont,\n textColor:this.detailsStyle.subtitleTextColor\n }\n }\n }\n /**\n * @param {CometChat.Group} group\n */\n getGroupIcon = (group: CometChat.Group) => {\n let status;\n if (group) {\n switch (group.getType()) {\n case CometChatUIKitConstants.GroupTypes.password:\n status = this.protectedGroupIcon;\n break;\n case CometChatUIKitConstants.GroupTypes.private:\n status = this.privateGroupIcon;\n break;\n default:\n status = null\n break;\n }\n }\n return status\n }\n /**\n * @param {CometChat.Group} group\n */\n getStatusIndicatorColor(group: CometChat.Group) {\n return this.statusColor[(group?.getType() as string)];\n }\n getTemplateOptions = (template:CometChatDetailsTemplate)=>{\n if(template.options){\n return template.options(this.user,this.group,template.id as string)\n }\n else return []\n }\n setThemeStyle() {\n this.setDetailsStyle()\n this.setAvatarStyle()\n this.setStatusStyle()\n this.setListItemStyle();\n this.setConfirmDialogStyle();\n this.statusColor.private = this.detailsStyle.privateGroupIconBackground ;\n this.statusColor.online = this.detailsStyle.onlineStatusColor ;\n this.statusColor.password = this.detailsStyle.passwordGroupIconBackground\n }\n setConfirmDialogStyle(){\n let defaultStyle:ConfirmDialogStyle = new ConfirmDialogStyle({\n confirmButtonBackground: this.themeService.theme.palette.getPrimary(),\n cancelButtonBackground: this.themeService.theme.palette.getSecondary(),\n confirmButtonTextColor: this.themeService.theme.palette.getAccent900(\"light\"),\n confirmButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n cancelButtonTextColor: this.themeService.theme.palette.getAccent900(\"dark\"),\n cancelButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n titleFont: fontHelper(this.themeService.theme.typography.title1),\n titleColor: this.themeService.theme.palette.getAccent(),\n messageTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n background: this.themeService.theme.palette.getBackground(),\n height:\"100%\",\n width:\"350px\",\n border:`1px solid ${this.themeService.theme.palette.getAccent200()}`,\n borderRadius:\"8px\"\n })\n this.leaveDialogStyle = {...defaultStyle,...this.leaveDialogStyle}\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"transparent\",\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground: \"transparent\"\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"36px\",\n height: \"36px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"12px\",\n width:\"12px\",\n border:\"none\",\n borderRadius:\"24px\",\n\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setDetailsStyle(){\n let defaultStyle:DetailsStyle = new DetailsStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n privateGroupIconBackground:this.themeService.theme.palette.getSuccess(),\n passwordGroupIconBackground:\"RGB(247, 165, 0)\",\n closeButtonIconTint:this.themeService.theme.palette.getPrimary(),\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"\",\n subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n subtitleTextColor:this.themeService.theme.palette.getAccent600(),\n padding:\"0 100px\"\n })\n this.detailsStyle = {...defaultStyle,...this.detailsStyle}\n }\n wrapperStyle = () => {\n return {\n width: this.detailsStyle.width,\n height: this.detailsStyle.height,\n border: this.detailsStyle.border,\n borderRadius:this.detailsStyle.borderRadius,\n background: this.detailsStyle.background,\n }\n }\n marginStyle = () => {\n return {\n padding:this.detailsStyle?.padding\n }\n }\n}\n\n","<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-details__section-list\" *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\" (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"addMembersConfiguration.listItemStyle\"\n [addMembersStyle]=\"addMembersConfiguration.addMembersStyle\"\n [avatarStyle]=\"addMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"addMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"addMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"addMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"addMembersConfiguration.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration.emptyStateView\"\n [onSelect]=\"addMembersConfiguration.onSelect\"\n [onError]=\"addMembersConfiguration.onError\"\n [hideError]=\"addMembersConfiguration.hideError\"\n [hideSearch]=\"addMembersConfiguration.hideSearch\"\n [searchIconURL]=\"addMembersConfiguration.searchIconURL\"\n [selectionMode]=\"addMembersConfiguration.selectionMode\"\n [hideSeparator]=\"addMembersConfiguration.hideSeparator\"\n [showBackButton]=\"addMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"addMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"addMembersConfiguration.closeButtonIconURL\"\n [options]=\"addMembersConfiguration.options\"\n [menu]=\"addMembersConfiguration.menu\"\n [disableUsersPresence]=\"addMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"addMembersConfiguration.subtitleView\"\n [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration.onClose ||onCloseClick\"\n [onBack]=\"addMembersConfiguration.onBack || addMembers\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"onCloseClick\" [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\" [onClose]=\" groupMembersConfiguration.onClose || onCloseClick\" [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\" [confirmButtonText]=\"leaveButtonText\" (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"leaveDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>","import {\n Component,\n Input,\n OnInit,\n ViewChild,\n OnChanges,\n SimpleChanges,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n TemplateRef,\n} from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatMessageComposerComponent } from \"../../CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component\";\nimport { CometChatMessageListComponent } from \"../../CometChatMessageList/cometchat-message-list/cometchat-message-list.component\";\n\n import { ListItemStyle, MenuListStyle,AvatarStyle,DateStyle, BaseStyle} from '@cometchat/uikit-elements'\nimport { Subscription } from \"rxjs\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\nimport { fontHelper, CometChatMessageEvents, CometChatGroupEvents, IGroupLeft, CometChatUserEvents, CometChatUIKitConstants } from \"@cometchat/uikit-resources\";\nimport { MessageHeaderConfiguration, MessageListConfiguration, MessageComposerConfiguration, ThreadedMessagesConfiguration, DetailsConfiguration, MessagesStyle, MessageComposerStyle, MessageHeaderStyle, CallButtonsStyle } from \"@cometchat/uikit-shared\";\nimport { ChatConfigurator } from \"../../Shared/Framework/ChatConfigurator\";\n/**\n*\n* CometChatMessages is a wrapper component for messageList, messageHeader, messageComposer and liveReaction component.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-messages\",\n templateUrl: \"./cometchat-messages.component.html\",\n styleUrls: [\"./cometchat-messages.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatMessagesComponent implements OnInit, OnChanges {\n @ViewChild(\"messageComposerRef\", { static: false }) messageComposerRef!: CometChatMessageComposerComponent;\n @ViewChild(\"messageListRef\", { static: false }) messageListRef!: CometChatMessageListComponent;\n @Input() user!: CometChat.User;\n @Input() group!: CometChat.Group;\n @Input() hideMessageComposer: boolean = false;\n @Input() disableTyping!: boolean;\n @Input() messageHeaderConfiguration: MessageHeaderConfiguration = new MessageHeaderConfiguration({});\n @Input() messageListConfiguration: MessageListConfiguration = new MessageListConfiguration({});\n @Input() messageComposerConfiguration: MessageComposerConfiguration = new MessageComposerConfiguration({});\n @Input() threadedMessageConfiguration: ThreadedMessagesConfiguration = new ThreadedMessagesConfiguration({});\n @Input() detailsConfiguration: DetailsConfiguration = new DetailsConfiguration({});\n @Input() customSoundForIncomingMessages!: string;\n @Input() customSoundForOutgoingMessages!: string;\n @Input() disableSoundForMessages!: boolean;\n @Input() messagesStyle: MessagesStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"white\",\n borderRadius: \"none\",\n border: \"1px solid rgba(20, 20, 20, 0.1)\",\n messageTextColor: \"rgba(20, 20, 20, 0.33)\",\n messageTextFont: \"700 22px Inter\",\n };\n @Input() messageHeaderView!: TemplateRef<any>;\n @Input() messageComposerView!: TemplateRef<any>;\n @Input() messageListView!: TemplateRef<any>;\n @Input() hideMessageHeader: boolean = false;\n @Input() hideDetails:boolean = false;\n @Input() auxiliaryMenu!:TemplateRef<any>;\n loggedInUser!: CometChat.User | null;\n callButtonsStyle: CallButtonsStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"0\",\n background: \"transparent\",\n buttonPadding:\"0\",\n buttonBackground:\"transparent\",\n buttonBorder:\"0 4px\",\n buttonBorderRadius:\"8px\"\n };\n public messageToBeEdited: CometChat.BaseMessage | null = null;\n public liveReaction: boolean = false;\n public reactionName: string = \"assets/heart-reaction.png\";\n public messageToReact: CometChat.BaseMessage | null = null;\n public composerStyles: MessageComposerStyle = {\n width: \"100%\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"12px\",\n background: this.themeService.theme.palette.getAccent900(),\n inputBackground: this.themeService.theme.palette.getSecondary(), // done\n textFont: fontHelper(this.themeService.theme.typography.subtitle1), // done\n textColor: this.themeService.theme.palette.getAccent(), // done\n }\n public liveReactionTimeout: any = 0;\n public openThreadedMessages:boolean = false;\n /*\n messageHeaderConfiguration\n */\n subtitleView!: TemplateRef<any>;\n disableUsersPresence: boolean = false;\n protectedGroupIcon: string = \"assets/Locked.svg\";\n privateGroupIcon: string =\"assets/Private.svg\";\n menu!: TemplateRef<any>;\n headerStyle: MessageHeaderStyle = new MessageHeaderStyle({})\n backButtonIconURL: string = \"assets/backbutton.svg\";\n hideBackIcon: boolean = true;\n listItemView!: TemplateRef<any>;\n onError!: (error:any)=> void;\n onBack!: ()=> void;\n avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"28px\",\n height: \"28px\",\n border: \"none\",\n backgroundColor: \"white\",\n nameTextColor: \"rgb(20,20,20)\",\n backgroundSize: \"cover\",\n nameTextFont: \"500 16px Inter\",\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n }\n statusIndicatorStyle: BaseStyle = {\n borderRadius: \"16px\",\n width: \"10px\",\n height: \"10px\",\n border: \"none\",\n }\n messageHeaderStyle: MessageHeaderStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"transparent\",\n border: \"none\",\n borderRadius: \"0\",\n backButtonIconTint: \"#3399FF\",\n onlineStatusColor: \"#00f300\",\n subtitleTextColor: \"grey\",\n subtitleTextFont: \"400 14px Inter\",\n typingIndicatorTextColor: \"#3399FF\",\n typingIndicatorTextFont: \"400 13px Inter\",\n }\n listItemStyle: ListItemStyle = {\n background: \"white\",\n titleColor: \"black\",\n titleFont: \"500 16px Inter\",\n width: \"\",\n height: \"100%\",\n border: \"none\",\n borderRadius: \"2px\",\n separatorColor: \"\",\n activeBackground: \"transparent\",\n hoverBackground:\"transparent\"\n }\n\n\n infoIconStyle:string = \"assets/Info.svg\"\n detailsButtonStyle:any = {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:\"0\",\n background:\"transparent\",\n buttonIconTint:\"#3399FF\",\n padding:\"0 8px\"\n }\n enableCalling:boolean = false;\n//\npublic ccLiveReaction!: Subscription;\npublic ccGroupDeleted!: Subscription;\npublic ccGroupLeft!:Subscription;\npublic ccUserBlocked!: Subscription;\npublic ccUserUnBlocked!:Subscription;\n threadMessageObject!:CometChat.BaseMessage | null;\n parentBubbleView!:TemplateRef<any>;\n openDetails:boolean = false;\n constructor( private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { }\n ngOnInit() {\n this.subscribeToEvents()\n this.setMessagesStyle()\n\n\n CometChat.getLoggedinUser().then((user) => {\n this.loggedInUser = user;\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n if (ChatConfigurator.names.includes('calling')) {\n this.enableCalling = true\n }\n }\n subscribeToEvents(){\n this.ccLiveReaction = CometChatMessageEvents.ccLiveReaction.subscribe((reactionName: any) => {\n this.liveReactionStart(reactionName)\n this.ref.detectChanges();\n })\n this.ccGroupDeleted = CometChatGroupEvents.ccGroupDeleted.subscribe((group:CometChat.Group)=>{\n if(this.group && this.group.getGuid() == group.getGuid()){\n this.openDetails = false;\n this.openThreadedMessages = false;\n this.group = group\n this.ref.detectChanges()\n }\n })\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item:IGroupLeft)=>{\n if(this.group && this.group.getGuid() == item.leftGroup.getGuid()){\n if(this.loggedInUser?.getUid() == item?.userLeft.getUid()){\n this.openDetails = false;\n this.openThreadedMessages = false;\n }\n this.group = item.leftGroup;\n this.ref.detectChanges();\n }\n })\n this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((user:CometChat.User) => {\n if(this.user && user.getUid() == this.user.getUid()){\n this.user = user;\n this.ref.detectChanges()\n }\n })\n this.ccUserUnBlocked = CometChatUserEvents.ccUserUnblocked.subscribe((user:CometChat.User) => {\n if(this.user && user.getUid() == this.user.getUid()){\n this.user = user;\n this.ref.detectChanges()\n }\n })\n }\n unsubscribeToEvents(){\n this.ccLiveReaction?.unsubscribe()\n this.ccGroupDeleted?.unsubscribe()\n this.ccGroupLeft?.unsubscribe()\n this.ccUserBlocked?.unsubscribe()\n this.ccUserUnBlocked?.unsubscribe()\n }\n setMessagesStyle(){\n let defaultStyle:MessagesStyle = new MessagesStyle({\n width: \"100%\",\n height: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"none\",\n border: \"none\",\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n messageTextFont: fontHelper(this.themeService.theme.typography.title1),\n })\n this.messagesStyle = {\n ...defaultStyle,\n ...this.messagesStyle\n }\n }\n getAuxilaryView(){\n if(this.messageHeaderConfiguration.menu){\n return this.messageHeaderConfiguration.menu\n }\n else if(this.auxiliaryMenu){\n return this.auxiliaryMenu\n }\n else{\n return null;\n }\n }\n openThreadView = (message:CometChat.BaseMessage,bubble:TemplateRef<any>)=>{\nthis.threadMessageObject=message\nthis.parentBubbleView=bubble\nthis.openThreadedMessages = true;\nthis.ref.detectChanges();\n }\n openDetailsPage =()=>{\n this.openDetails = true\n }\n closeDetailsPage =()=>{\n this.openDetails = false\n }\n closeThreadView = ()=>{\n this.threadMessageObject = null;\nthis.openThreadedMessages = false;\nthis.ref.detectChanges();\n }\n /**\n * @param {string} reactionName\n */\n liveReactionStart = (reactionName: string) => {\n if (this.liveReaction) {\n this.reactionName = \"\";\n this.liveReaction = false;\n this.ref.detectChanges();\n }\n this.reactionName = reactionName;\n this.liveReaction = true;\n this.ref.detectChanges();\n setTimeout(() => {\n this.reactionName = \"\";\n this.liveReaction = false;\n this.ref.detectChanges();\n }, 1500);\n this.ref.detectChanges();\n }\n\n ngOnChanges(change: SimpleChanges) {\n try {\n if (change[CometChatUIKitConstants.MessageReceiverType.user] || change[CometChatUIKitConstants.MessageReceiverType.group]) {\n this.openThreadedMessages = false;\n this.openDetails = false;\n if (this.user) {\n if (Object.keys(this.user).length === 1) {\n CometChat.getUser(this.user)\n .then((user: CometChat.User) => {\n this.user = user\n })\n }\n } else if (this.group) {\n if (Object.keys(this.group).length === 1) {\n CometChat.getGroup(this.group)\n .then((group: CometChat.Group) => {\n this.group = group\n })\n }\n }\n }\n } catch (error: any) {\nif(this.onError){\n this.onError(error)\n}\n }\n }\n ngOnDestroy() {\n this.ccLiveReaction.unsubscribe();\n this.openThreadedMessages = false;\n this.openDetails = false;\n\n }\n chatListStyle() {\n return {\n background: this.messagesStyle.background || this.themeService.theme.palette.getBackground(),\n height: this.messagesStyle.height,\n width: this.messagesStyle.width,\n border: this.messagesStyle.border,\n borderRadius: this.messagesStyle.borderRadius\n }\n }\n /**\n * public methods\n * messageListRef methods\n * This metthod will append message in message list\n * @param {CometChat.BaseMessage} message\n */\n addMessage(message: CometChat.BaseMessage) {\n this.messageListRef.addMessage(message);\n }\n /**\n * This method will update the message in messageList\n * @param {CometChat.BaseMessage} message\n */\n updateMessage(message: CometChat.BaseMessage, muid: boolean = false) {\n this.messageListRef.updateMessage(message, muid);\n }\n /**\n * This method will remove the message from messageList\n * @param {CometChat.BaseMessage} message\n */\n removeMessage(message: CometChat.BaseMessage) {\n this.messageListRef.removeMessage(message)\n }\n /**\n * This method will delete and remove the message from messageList\n * @param {CometChat.BaseMessage} message\n */\n deleteMessage(message: CometChat.BaseMessage) {\n this.messageListRef.deleteMessage(message)\n }\n /**\n * this method will send a text message\n * @param {string} text\n */\n sendTextMessage(text: string) {\n this.messageComposerRef.sendTextMessage(text)\n }\n /**\n * this method will open preview of the message\n * @param {CometChat.BaseMessage} message\n * @param {string} mode\n */\n previewMessage(message: CometChat.TextMessage, mode: string = \"\") {\n this.messageComposerRef.messageToBeEdited = message\n this.messageComposerRef.openEditPreview()\n }\n}\n","<div class=\"cc-messages__wrapper\">\n<div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n<div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\" class=\"cc-messages__header-customview\">\n <ng-container *ngTemplateOutlet=\"messageHeaderView\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\" [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\" [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\" [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\" [menu]=\"headerMenu\" [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\" [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\" [onError]=\"messageHeaderConfiguration.onError\" [onBack]=\"messageHeaderConfiguration.onBack\" [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\" [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\"\n >\n </cometchat-message-header>\n </ng-template>\n</div>\n<div class=\"cc-messages__list\">\n <cometchat-message-list #messageListRef [disableSoundForMessages]=\"disableSoundForMessages\" [customSoundForMessages]=\"customSoundForIncomingMessages\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.messageTypes\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [backdropStyle]=\"messageListConfiguration.backdropStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-messages__composer\" *ngIf=\"!hideMessageComposer\">\n <div *ngIf=\"messageComposerView; else customComposerView\" class=\"cc-messages__composer--customview\">\n <ng-container *ngTemplateOutlet=\"messageComposerView\">\n </ng-container>\n </div>\n <ng-template #customComposerView>\n <cometchat-message-composer #messageComposerRef [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n </ng-template>\n</div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\" [reactionIconURL]=\"reactionName\"></cometchat-live-reaction>\n</div>\n<div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n<cometchat-threaded-messages [onClose]=\"closeThreadView\" [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\" [messageActionView]=\"threadedMessageConfiguration.messageActionView\" [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\" [onError]=\"threadedMessageConfiguration.onError\" [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\" [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"></cometchat-threaded-messages>\n</div>\n<div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details [backdropStyle]=\"detailsConfiguration.backdropStyle\" [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\" [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\" [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\" [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\" [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"detailsConfiguration.listItemStyle\" [detailsStyle]=\"detailsConfiguration.detailsStyle\" [avatarStyle]=\"detailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\" [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\" [data]=\"detailsConfiguration.data\" [customProfileView]=\"detailsConfiguration.customProfileView\" [subtitleView]=\"detailsConfiguration.subtitleView\" [hideProfile]=\"detailsConfiguration.hideProfile\" [onError]=\"detailsConfiguration.onError\" [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\" [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n<div class=\"cc-messages__auxiliarymenu\" *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container *ngTemplateOutlet=\"getAuxilaryView()\">\n </ng-container>\n</div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\" videoCallIconText=\"\" [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\" [buttonStyle]=\"detailsButtonStyle\" (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n","import { Component, OnInit, ViewChild, Input, ChangeDetectionStrategy, OnChanges, SimpleChanges, ChangeDetectorRef, ElementRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatMessagesComponent } from \"../../CometChatMessages/cometchat-messages/cometchat-messages.component\";\nimport { CometChatConversationsComponent } from \"../../CometChatConversations/cometchat-conversations/cometchat-conversations.component\";\nimport {WithMessagesStyle, MessagesConfiguration,ConversationsConfiguration} from '@cometchat/uikit-shared'\nimport {CometChatTheme, fontHelper, localize,CometChatOption, CometChatGroupEvents, CometChatUIKitConstants,IGroupLeft, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberScopeChanged,IMessages, CometChatUserEvents, CometChatMessageEvents, CometChatConversationEvents, IGroupMemberJoined, IOwnershipChanged} from '@cometchat/uikit-resources'\n\nimport '@cometchat/uikit-elements'\nimport { Subscription } from \"rxjs\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\n /**\n *\n * CometChatConversationsWithMessagesComponent is a wrapper component for CometChatMessagesComponent and CometChatConversations component to show chats and messages in one screen\n *\n * @version 1.0.0\n * @author CometChatTeam\n * @copyright © 2022 CometChat Inc.\n *\n */\n@Component({\n selector: \"cometchat-conversations-with-messages\",\n templateUrl: \"./cometchat-conversations-with-messages.component.html\",\n styleUrls: [\"./cometchat-conversations-with-messages.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatConversationsWithMessagesComponent implements OnInit, OnChanges {\n // taking reference of conversationComponent and MessagesComponent\n @ViewChild(\"conversationRef\", { static: false }) conversationRef!: CometChatConversationsComponent;\n @ViewChild(\"messagesRef\", { static: false }) messageListRef!: CometChatMessagesComponent;\n @Input() user!: CometChat.User | null;\n @Input() group!: CometChat.Group | null;\n @Input() isMobileView: boolean = false;\n @Input() messageText: string = localize(\"NO_CHATS_SELECTED\");\n @Input() conversationsWithMessagesStyle: WithMessagesStyle = {};\n @Input() messagesConfiguration: MessagesConfiguration = new MessagesConfiguration({});\n @Input() conversationConfiguration: ConversationsConfiguration = new ConversationsConfiguration({});\n @Input() onError:((error:any)=>void ) | null= (error:any)=>{\n console.log(error)\n }\n theme: CometChatTheme = new CometChatTheme({});\n /**\n * Properties for internal use\n */\n public loggedInUser!: CometChat.User | null;\n public activeConversation!: CometChat.Conversation | null;\n labelStyle:any = {\n background:\"transparent\",\n textFont:\"700 22px Inter\",\n textColor:\"rgba(20, 20, 20, 0.33)\"\n }\n public hideSearch:boolean = true;\n /**\n * Events\n */\n ccGroupMemberAdded!:Subscription;\n ccGroupLeft!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccOwnershipChanged!:Subscription;\n ccGroupDeleted!:Subscription;\n\n public ccConversationDeleted!:Subscription;\n\n constructor(private elementRef: ElementRef,private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n ngOnChanges(changes: SimpleChanges): void {\n\n if(changes[\"isMobileView\"]){\n if (this.isMobileView) {\n\n this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;\n this.messagesConfiguration.messageHeaderConfiguration = {...this.messagesConfiguration.messageHeaderConfiguration}\n this.messagesConfiguration = { ...this.messagesConfiguration }\n\n }\n else if (!this.isMobileView) {\n this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;\n this.messagesConfiguration.messageHeaderConfiguration = {...this.messagesConfiguration.messageHeaderConfiguration}\n this.messagesConfiguration = { ...this.messagesConfiguration }\n }\n this.updateBackdropHeight()\n }\n if(changes[\"user\"] || changes[\"group\"]){\n this.setActiveChat();\n }\n }\n\n onBack = ()=>{\n this.user = null\n this.group = null\n this.activeConversation = null\n }\n setWithMessagesStyle(){\n let defaultStyle:WithMessagesStyle = new WithMessagesStyle({\n width: \"100%\",\n height: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"none\",\n border: \"none\",\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n messageTextFont: fontHelper(this.themeService.theme.typography.title1),\n })\n this.conversationsWithMessagesStyle = {\n ...defaultStyle,\n ...this.conversationsWithMessagesStyle\n }\n this.labelStyle.textFont = this.conversationsWithMessagesStyle.messageTextFont\n this.labelStyle.textColor = this.conversationsWithMessagesStyle.messageTextColor\n }\n public onItemClick: ((conversation:CometChat.Conversation)=>void) = (conversation:CometChat.Conversation)=>{\n this.activeConversation = conversation\n if (conversation.getConversationType() && conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.user) {\n this.group = null\n this.user = conversation.getConversationWith() as CometChat.User;\n this.ref.detectChanges()\n }\n else if (conversation.getConversationType() && conversation.getConversationType() == CometChatUIKitConstants.MessageReceiverType.group) {\n this.user = null\n this.group = conversation.getConversationWith() as CometChat.Group\n this.ref.detectChanges()\n }\n };\n ngAfterViewInit() {\nthis.updateBackdropHeight()\n }\n updateBackdropHeight(){\n const divHeight = this.elementRef.nativeElement.offsetHeight;\n const divWidth = this.elementRef.nativeElement.offsetWidth;\n let backdropStyle = {\n height:divHeight + \"px\",\n width:divWidth + \"px\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n this.messagesConfiguration.messageListConfiguration.backdropStyle = backdropStyle\n this.conversationConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.detailsConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.messageComposerConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.detailsConfiguration.groupMembersConfiguration.backdropStyle = backdropStyle\n this.ref.detectChanges()\n }\n setActiveChat(){\n let type:string = this.user ? CometChatUIKitConstants.MessageReceiverType.user : CometChatUIKitConstants.MessageReceiverType.group\n this.activeConversation = null\n let conversationWith:string = this.user?.getUid()! || this.group?.getGuid()!\n CometChat.getConversation(conversationWith,type).then((conversation:CometChat.Conversation)=>{\n this.activeConversation = conversation\n this.ref.detectChanges()\n })\n .catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n }\n ngOnInit() {\n this.setWithMessagesStyle()\n if(!this.messagesConfiguration.messageHeaderConfiguration.onBack){\n this.messagesConfiguration.messageHeaderConfiguration.onBack = this.onBack\n }\n this.subscribeToEvents();\n CometChat.getLoggedinUser()\n .then((user:CometChat.User | null) => {\n this.loggedInUser = user;\n })\n .catch((error:any) => {\n if(this.onError){\n this.onError(error)\n }\n });\n\n }\n ngOnDestroy() {\n this.unsubscribeToEvents();\n }\n // subscribe to global events\n subscribeToEvents() {\n this.ccConversationDeleted = CometChatConversationEvents.ccConversationDeleted.subscribe((conversation: CometChat.Conversation) => {\n this.removeActiveChatList(conversation) //to make m messages section empty after deleting conversation from conversationlist\n })\n this.ccGroupDeleted = CometChatGroupEvents.ccGroupDeleted.subscribe((group:CometChat.Group) => {\n if(this.group && group.getGuid() == this.group.getGuid()){\n this.group = null;\n this.activeConversation = null;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item: IGroupMemberAdded) => {\n if(this.group && this.group.getGuid() == item?.userAddedIn!.getGuid()){\n this.group == item?.userAddedIn;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.group && this.group.getGuid() == item?.kickedFrom!.getGuid()){\n this.group == item?.kickedFrom;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item: IGroupMemberJoined) => {\n if(this.group && this.group.getGuid() == item?.joinedGroup!.getGuid()){\n this.group == item?.joinedGroup;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.group && this.group.getGuid() == item?.kickedFrom!.getGuid()){\n this.group == item?.kickedFrom;\n this.ref.detectChanges()\n }\n })\n this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item: IOwnershipChanged) => {\n if(this.group && this.group.getGuid() == item?.group!.getGuid()){\n this.group == item?.group;\n this.activeConversation?.setConversationWith(this.group)\n this.ref.detectChanges();\n }\n })\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item: IGroupLeft) => {\n if(this.group && this.group.getGuid() == item?.leftGroup!.getGuid() && this.loggedInUser?.getUid() == item?.userLeft?.getUid()){\nthis.group == null\nthis.activeConversation = null\n }\n })\n }\n // unsubscribe to subscribed events.\n unsubscribeToEvents() {\n this.ccConversationDeleted?.unsubscribe();\n this.ccGroupDeleted?.unsubscribe();\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccGroupMemberJoined?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccOwnershipChanged?.unsubscribe();\n this.ccGroupLeft?.unsubscribe();\n }\n /**\n * remove active chat screen after deleting the conversation.\n * @param {CometChat.Conversation} conversation\n */\n removeActiveChatList(conversation: CometChat.Conversation) {\n const conversationType = conversation.getConversationType();\n const conversationWith = conversation.getConversationWith();\n if (conversationType === CometChatUIKitConstants.MessageReceiverType.user && this.user && this.user.getUid() === (conversationWith as CometChat.User).getUid()) {\n this.user = null;\n this.ref.detectChanges();\n } else if (conversationType === CometChatUIKitConstants.MessageReceiverType.group && this.group && this.group.getGuid() === (conversationWith as CometChat.Group).getGuid()) {\n this.group = null;\n this.ref.detectChanges();\n } else {\n return;\n }\n }\n emptyMessageStyle = ()=>{\n return {\n background: this.conversationsWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n height:this.conversationsWithMessagesStyle.height,\n width:`calc(${this.conversationsWithMessagesStyle.width} - 280px)`,\n border:this.conversationsWithMessagesStyle.border,\n borderRadius:this.conversationsWithMessagesStyle.borderRadius,\n }\n }\n chatsWrapperStyles = () => {\n return {\n height: this.conversationsWithMessagesStyle.height,\n width: this.conversationsWithMessagesStyle.width,\n border: this.conversationsWithMessagesStyle.border,\n borderRadius: this.conversationsWithMessagesStyle.borderRadius,\n background: this.conversationsWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n }\n }\n}\n","<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"chatsWrapperStyles()\" >\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-conversations\n #conversationRef\n [activeConversation]=\"activeConversation\"\n [onItemClick]=\"conversationConfiguration.onItemClick || onItemClick\"\n [conversationsStyle]=\"conversationConfiguration.conversationsStyle\"\n [subtitleView]=\"conversationConfiguration.subtitleView\"\n [options]=\"conversationConfiguration.options\"\n [disableUsersPresence]=\"conversationConfiguration.disableUsersPresence\"\n [disableReceipt]=\"conversationConfiguration.disableReceipt\"\n [disableTyping]=\"conversationConfiguration.disableTyping\"\n [deliveredIcon]=\"conversationConfiguration.deliveredIcon\"\n [readIcon]=\"conversationConfiguration.readIcon\"\n [waitIcon]=\"conversationConfiguration.waitIcon\"\n [errorIcon]=\"conversationConfiguration.errorIcon\"\n [datePattern]=\"conversationConfiguration.datePattern\"\n [receiptStyle]=\"conversationConfiguration.receiptStyle\"\n [sentIcon]=\"conversationConfiguration.sentIcon\"\n [privateGroupIcon]=\"conversationConfiguration.privateGroupIcon\"\n [protectedGroupIcon]=\"conversationConfiguration.protectedGroupIcon\"\n [customSoundForMessages]=\"conversationConfiguration.customSoundForMessages\"\n [conversationsRequestBuilder]=\"conversationConfiguration.conversationsRequestBuilder\"\n [emptyStateView]=\"conversationConfiguration.emptyStateView\"\n [onSelect]=\"conversationConfiguration.onSelect\"\n [loadingIconURL]=\"conversationConfiguration.loadingIconURL\"\n [errorStateView]=\"conversationConfiguration.errorStateView\"\n [loadingStateView]=\"conversationConfiguration.loadingStateView\"\n [titleAlignment]=\"conversationConfiguration.titleAlignment\"\n [listItemView]=\"conversationConfiguration.listItemView\"\n [menu]=\"conversationConfiguration.menu\"\n [hideSeparator]=\"conversationConfiguration.hideSeparator\"\n [hideError]=\"conversationConfiguration.hideError\"\n [selectionMode]=\"conversationConfiguration.selectionMode\"\n [disableSoundForMessages]=\"conversationConfiguration.disableSoundForMessages\"\n [deleteConversationDialogStyle]=\"conversationConfiguration.deleteConversationDialogStyle\"\n [badgeStyle]=\"conversationConfiguration.badgeStyle\"\n [dateStyle]=\"conversationConfiguration.dateStyle\"\n [listItemStyle]=\"conversationConfiguration.listItemStyle\"\n [backdropStyle]=\"conversationConfiguration.backdropStyle\"\n\n ></cometchat-conversations>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"user || group\">\n <!--Message List Screen-->\n <cometchat-messages\n #messagesRef\n [user]=\"user!\"\n [group]=\"group!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n >\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user && !group\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatMessageBubbleComponent } from \"./cometchat-message-bubble/cometchat-message-bubble.component\";\n@NgModule({\n declarations: [CometChatMessageBubbleComponent],\n imports: [\n CommonModule,\n ],\n exports: [CometChatMessageBubbleComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatMessageBubble {}","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatMessageListComponent } from \"./cometchat-message-list/cometchat-message-list.component\";\nimport { DatePipe } from \"@angular/common\";\n\nimport '@cometchat/uikit-elements'\nimport { CometChatMessageBubble } from \"../CometChatMessageBubble/cometchat-message-bubble.module\";\nimport { CometChatOngoingCall } from \"../Calls/CometChatOngoingCall/cometchat-ongoing-call.module\";\n@NgModule({\n declarations: [CometChatMessageListComponent],\n imports: [\n CommonModule,\n CometChatMessageBubble,\n CometChatOngoingCall\n\n ],\n exports: [CometChatMessageListComponent],\n providers: [DatePipe],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatMessageList {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatMessageComposerComponent } from \"./cometchat-message-composer/cometchat-message-composer.component\";\nimport '@cometchat/uikit-elements'\n@NgModule({\n declarations: [CometChatMessageComposerComponent],\n imports: [\n CommonModule,\n ],\n exports: [CometChatMessageComposerComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatMessageComposer {}","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatThreadedMessagesComponent } from \"./cometchat-threaded-messages/cometchat-threaded-messages.component\";\nimport { CometChatMessageHeader } from \"../CometChatMessageHeader/cometchat-message-header.module\";\nimport { CometChatMessageList } from \"../CometChatMessageList/cometchat-message-list.module\";\nimport { CometChatMessageComposer } from \"../CometChatMessageComposer/cometchat-message-composer.module\";\nimport '@cometchat/uikit-elements'\n\n@NgModule({\n declarations: [CometChatThreadedMessagesComponent],\n imports: [\n CommonModule,\n CometChatMessageHeader,\n CometChatMessageList,\n CometChatMessageComposer,\n ],\n exports: [CometChatThreadedMessagesComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatThreadedMessages {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatGroupMembersComponent } from \"./cometchat-group-members/cometchat-group-members.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CometChatMessageHeader } from \"../CometChatMessageHeader/cometchat-message-header.module\";\nimport { CometChatUsers } from \"../CometChatUsers/cometchat-users.module\";\nimport '@cometchat/uikit-elements'\nimport { CometChatList } from \"../CometChatList/cometchat-list.module\";\n@NgModule({\n declarations: [CometChatGroupMembersComponent],\n imports: [CommonModule,FormsModule,CometChatMessageHeader,CometChatUsers,CometChatList],\n exports: [CometChatGroupMembersComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatGroupMembers {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatTransferOwnershipComponent } from \"./cometchat-transfer-ownership/cometchat-transfer-ownership.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CometChatGroupMembers } from \"../CometChatGroupMembers/cometchat-group-members.module\";\n@NgModule({\n declarations: [CometChatTransferOwnershipComponent],\n imports: [CommonModule,FormsModule,CometChatGroupMembers],\n exports: [CometChatTransferOwnershipComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatTransferOwnership {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatDetailsComponent } from \"./cometchat-details/cometchat-details.component\";\nimport { CometChatAddMembers } from \"../CometChatAddMembers/cometchat-add-members.module\";\nimport { CometChatBannedMembers } from \"../CometChatBannedMembers/cometchat-banned-members.module\";\nimport { CometChatGroupMembers } from \"../CometChatGroupMembers/cometchat-group-members.module\";\nimport { CometChatTransferOwnership } from \"../CometChatTransferOwnership/cometchat-transfer-ownership.module\";\n\n@NgModule({\n declarations: [CometChatDetailsComponent],\n imports: [\n CommonModule,CometChatAddMembers,CometChatBannedMembers,CometChatGroupMembers,CometChatTransferOwnership\n ],\n exports: [CometChatDetailsComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatDetails {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatMessagesComponent } from \"./cometchat-messages/cometchat-messages.component\";\nimport { CometChatMessageHeader } from \"../CometChatMessageHeader/cometchat-message-header.module\";\nimport { CometChatMessageList } from \"../CometChatMessageList/cometchat-message-list.module\";\nimport { CometChatMessageComposer } from \"../CometChatMessageComposer/cometchat-message-composer.module\";\nimport '@cometchat/uikit-elements'\nimport { CometChatThreadedMessages } from \"../CometChatThreadedMessages/cometchat-threaded-messages.module\";\nimport { CometChatDetails } from \"../CometChatDetails/cometchat-details.module\";\nimport { CometChatCallButtons } from \"../Calls/CometChatCallButtons/cometchat-call-buttons.module\";\n\n@NgModule({\n declarations: [CometChatMessagesComponent],\n imports: [\n CommonModule,\n CometChatMessageHeader,\n CometChatMessageList,\n CometChatMessageComposer,\n CometChatThreadedMessages,\n CometChatDetails,\n CometChatCallButtons\n ],\n exports: [CometChatMessagesComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatMessages {}\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { CometChatConversationsWithMessagesComponent } from \"./cometchat-conversations-with-messages/cometchat-conversations-with-messages.component\";\nimport { CometChatConversations } from \"../CometChatConversations/cometchat-conversations.module\";\nimport { CometChatMessages } from \"../CometChatMessages/cometchat-messages.module\";\n\n@NgModule({\n declarations: [CometChatConversationsWithMessagesComponent],\n imports: [\n CommonModule,\n CometChatConversations,\n CometChatMessages,\n BrowserModule,\n BrowserAnimationsModule,\n ],\n exports: [CometChatConversationsWithMessagesComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatConversationsWithMessages {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';\nimport { CometChat } from '@cometchat-pro/chat';\nimport { States, TitleAlignment,SelectionMode ,GroupsStyle , ListStyle, BaseStyle} from \"@cometchat/uikit-shared\";\nimport {AvatarStyle,ListItemStyle} from '@cometchat/uikit-elements'\nimport { Subscription } from 'rxjs';\nimport { CometChatThemeService } from '../../CometChatTheme.service';\nimport { CometChatOption, localize, CometChatGroupEvents, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberJoined, IOwnershipChanged, IGroupLeft, CometChatUIKitConstants, fontHelper } from '@cometchat/uikit-resources';\n/**\n*\n* CometChatGroups is a wrapper component which consists of CometChatListBaseComponent and CometChatGroupListComponent.\n*\n* @version 1.0.0\n* @author CometChatTeam\n* @copyright © 2022 CometChat Inc.\n*\n*/\n@Component({\n selector: \"cometchat-groups\",\n templateUrl: \"./cometchat-groups.component.html\",\n styleUrls: [\"./cometchat-groups.component.scss\"],\n changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class CometChatGroupsComponent implements OnInit,OnChanges {\n @Input() groupsRequestBuilder!: CometChat.GroupsRequestBuilder;\n @Input() searchRequestBuilder!: CometChat.GroupsRequestBuilder;\n\n @Input() subtitleView!: TemplateRef<any>;\n @Input() listItemView!: TemplateRef<any>;\n @Input() menu!: TemplateRef<any>;\n @Input() options!: ((member:CometChat.Group)=>CometChatOption[]) | null;\n @Input() activeGroup!: CometChat.Group | null;\n @Input() hideSeparator: boolean = false;\n @Input() selectionMode: SelectionMode = SelectionMode.none;\n @Input() searchPlaceholder: string = \"Search Groups\";\n @Input() hideError: boolean = false;\n @Input() searchIconURL: string = \"assets/search.svg\";\n @Input() hideSearch: boolean = false;\n @Input() title: string = localize(\"GROUPS\");\n @Input() onError:(error:any)=>void = (error:any)=>{\n console.log(error)\n }\n @Input() onSelect!: (group:CometChat.Group)=>void;\n @Input() emptyStateView!: TemplateRef<any>;\n @Input() errorStateView!: TemplateRef<any>;\n @Input() loadingIconURL: string = \"assets/Spinner.svg\";\n @Input() privateGroupIcon:string =\"assets/Private.svg\";\n @Input() protectedGroupIcon:string = \"assets/Locked.svg\";\n @Input() loadingStateView!: TemplateRef<any>;\n @Input() emptyStateText: string = localize(\"NO_GROUPS_FOUND\")\n @Input() errorStateText: string = localize(\"SOMETHING_WRONG\");\n @Input() titleAlignment: TitleAlignment = TitleAlignment.left;\n selectionmodeEnum: typeof SelectionMode = SelectionMode;\n public state: States = States.loading;\n @Input() statusIndicatorStyle: any = {\n height: \"12px\",\n width: \"12px\",\n borderRadius: \"16px\"\n };\n @Input() avatarStyle: AvatarStyle = {\n borderRadius: \"16px\",\n width: \"32px\",\n height: \"32px\",\n\n };\n @Input() groupsStyle: GroupsStyle = {\n width: \"100%\",\n height: \"100%\",\n background: \"\",\n border: \"\",\n borderRadius: \"\",\n titleTextFont: \"\",\n titleTextColor: \"\",\n subTitleTextFont: \"\",\n subTitleTextColor: \"\",\n searchPlaceholderTextFont: \"\",\n searchPlaceholderTextColor: \"\",\n searchTextFont: \"\",\n searchTextColor: \"\",\n emptyStateTextFont: \"\",\n emptyStateTextColor: \"\",\n errorStateTextFont: \"\",\n errorStateTextColor: \"\",\n loadingIconTint: \"\",\n searchIconTint: \"\",\n searchBorder: \"\",\n searchBorderRadius: \"\",\n searchBackground: \"\",\n separatorColor: \"rgb(222 222 222 / 46%)\",\n privateGroupIconBackground: \"\",\n passwordGroupIconBackground: \"\",\n };\n @Input() listItemStyle: ListItemStyle = {};\n @Input() onItemClick!:(group:CometChat.Group)=>void;\n groupsRequest: any\n listStyle:ListStyle = {}\n public limit:number = 30;\n searchKeyword: string = \"\";\n public timeout: any;\n public groupsList: CometChat.Group[] = [];\n public groupsListenerId: string = \"groupsList_\" + new Date().getTime();\n public loggedInUser: CometChat.User | null = null;\n public statusColor: any = {\n private: \"\",\n password: \"#F7A500\",\n public: \"\"\n }\n onScrolledToBottom:any = null\n ccGroupMemberAdded!:Subscription;\n ccGroupLeft!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccOwnershipChanged!:Subscription;\n ccGroupDeleted!:Subscription;\n ccGroupCreated!:Subscription;\n constructor(private ref: ChangeDetectorRef,private themeService:CometChatThemeService) { this.state = States.loading }\n ngOnChanges(changes: SimpleChanges): void {\n\n }\n ngOnInit(): void {\n this.onScrolledToBottom = this.fetchNextGroupList\n this.setThemeStyle();\n this.subscribeToEvents()\n CometChat.getLoggedinUser().then((user: CometChat.User | null) => {\n this.loggedInUser = user;\n }).catch((error:CometChat.CometChatException)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n this.state = States.loading\n this.groupsRequest = this.getRequestBuilder()\n this.fetchNextGroupList()\n this.attachListeners();\n\n\n }\n // subscribe to global events\n subscribeToEvents() {\n this.ccGroupDeleted = CometChatGroupEvents.ccGroupDeleted.subscribe((group:CometChat.Group) => {\n this.removeGroup(group)\n if(this.activeGroup && group.getGuid() == this.activeGroup.getGuid()){\n this.activeGroup = null;\n this.ref.detectChanges()\n }\n })\n this.ccGroupCreated = CometChatGroupEvents.ccGroupCreated.subscribe((group:CometChat.Group) => {\n this.addGroup(group)\n if(!this.activeGroup){\n this.activeGroup = group\n }\n })\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item: IGroupMemberAdded) => {\n if(this.activeGroup && this.activeGroup.getGuid() == item?.userAddedIn!.getGuid()){\n this.activeGroup == item?.userAddedIn;\n this.ref.detectChanges()\n }\n this.updateGroup(item?.userAddedIn!)\n })\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.activeGroup && this.activeGroup.getGuid() == item?.kickedFrom!.getGuid()){\n this.activeGroup == item?.kickedFrom;\n this.ref.detectChanges()\n }\n this.updateGroup(item?.kickedFrom!)\n })\n this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item: IGroupMemberJoined) => {\n if(this.activeGroup && this.activeGroup.getGuid() == item?.joinedGroup!.getGuid()){\n this.activeGroup == item?.joinedGroup;\n this.ref.detectChanges()\n }\n this.updateGroup(item?.joinedGroup!)\n })\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.activeGroup && this.activeGroup.getGuid() == item?.kickedFrom!.getGuid()){\n this.activeGroup == item?.kickedFrom;\n this.ref.detectChanges()\n }\n this.updateGroup(item?.kickedFrom!)\n })\n this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item: IOwnershipChanged) => {\n if(this.activeGroup && this.activeGroup.getGuid() == item?.group!.getGuid()){\n this.activeGroup == item?.group;\n this.ref.detectChanges();\n }\n this.updateGroup(item?.group!)\n })\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item: IGroupLeft) => {\n if(item.leftGroup.getType() == CometChatUIKitConstants.GroupTypes.private){\n this.removeGroup(item.leftGroup)\n }\n else{\n this.updateGroup(item.leftGroup)\n }\n })\n }\n // unsubscribe to subscribed events.\n unsubscribeToEvents() {\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccGroupMemberJoined?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccOwnershipChanged?.unsubscribe();\n this.ccGroupLeft?.unsubscribe();\n }\n ngOnDestroy() {\n this.unsubscribeToEvents()\n this.groupsRequest = null;\n this.ref.detach();\n this.removeListener();\n }\n /**\n * @param {CometChat.Group} group\n */\n updateGroup(group: CometChat.Group) {\n let groupsList = [...this.groupsList];\n //search for group\n let groupKey = groupsList.findIndex((g, k) => g.getGuid() === group.getGuid());\n if (groupKey > -1) {\n groupsList.splice(groupKey, 1, group);\n this.groupsList = groupsList;\n this.ref.detectChanges();\n }\n }\n /**\n * @param {CometChat.Group} group\n */\n getGroupIcon = (group: CometChat.Group) => {\n let status;\n if (group) {\n switch (group.getType()) {\n case CometChatUIKitConstants.GroupTypes.password:\n status = this.protectedGroupIcon;\n break;\n case CometChatUIKitConstants.GroupTypes.private:\n status = this.privateGroupIcon;\n break;\n default:\n status = null\n break;\n }\n }\n return status\n }\n attachListeners() {\n CometChat.addGroupListener(\n this.groupsListenerId,\n new CometChat.GroupListener({\n onGroupMemberScopeChanged: (\n message: CometChat.Action,\n changedUser: CometChat.User,\n newScope: CometChat.GroupMemberScope,\n oldScope: CometChat.GroupMemberScope,\n changedGroup: CometChat.Group\n ) => {\n if (changedUser.getUid() == this.loggedInUser?.getUid()) {\n changedGroup.setScope(newScope)\n }\n this.updateGroup(changedGroup)\n },\n onGroupMemberKicked: (message: CometChat.Action, kickedUser: CometChat.User, kickedBy: CometChat.User, kickedFrom: CometChat.Group) => {\n if (kickedUser.getUid() == this.loggedInUser?.getUid()) {\n kickedFrom.setHasJoined(false)\n }\n this.updateGroup(kickedFrom)\n },\n onGroupMemberBanned: (message: CometChat.Action, bannedUser: CometChat.User, bannedBy: CometChat.User, bannedFrom: CometChat.Group) => {\n if (bannedUser.getUid() == this.loggedInUser?.getUid()) {\n this.removeGroup(bannedFrom)\n }\n else {\n this.updateGroup(bannedFrom)\n }\n },\n onGroupMemberUnbanned: (\n message: CometChat.Action,\n unbannedUser: CometChat.User,\n unbannedBy: CometChat.User,\n unbannedFrom: CometChat.Group\n ) => {\n if (unbannedUser.getUid() == this.loggedInUser?.getUid()) {\n unbannedFrom.setHasJoined(false)\n }\n this.addGroup(unbannedFrom)\n },\n onMemberAddedToGroup: (\n message: CometChat.Action,\n userAdded: CometChat.User,\n userAddedBy: CometChat.User,\n userAddedIn: CometChat.Group\n ) => {\n if (userAdded.getUid() == this.loggedInUser?.getUid()) {\n userAddedIn.setHasJoined(true)\n }\n this.updateGroup(userAddedIn)\n },\n onGroupMemberLeft: (message: CometChat.Action, leavingUser: CometChat.User, group: CometChat.Group) => {\n if (leavingUser.getUid() == this.loggedInUser?.getUid()) {\n group.setHasJoined(false)\n }\n this.updateGroup(group)\n },\n onGroupMemberJoined: (message: CometChat.Action, joinedUser: CometChat.User, joinedGroup: CometChat.Group) => {\n if (joinedUser.getUid() == this.loggedInUser?.getUid()) {\n joinedGroup.setHasJoined(true)\n }\n this.updateGroup(joinedGroup)\n },\n })\n );\n }\n removeListener() {\n CometChat.removeGroupListener(this.groupsListenerId);\n }\n fetchNextGroupList = () => {\n this.onScrolledToBottom = null\n this.state = States.loading\n this.ref.detectChanges()\n if(this.groupsRequest && this.groupsRequest?.pagination && (this.groupsRequest.pagination?.current_page == 0 || this.groupsRequest.pagination?.current_page != this.groupsRequest.pagination.total_pages)){\n this.onScrolledToBottom = this.fetchNextGroupList\n try {\n this.groupsRequest.fetchNext().then(\n (groupList: CometChat.Group[]) => {\n if ((groupList.length <= 0 && this.groupsList?.length <= 0) || (groupList.length === 0 && this.groupsList?.length <= 0)) {\n this.state = States.empty;\n this.ref.detectChanges();\n } else {\n this.state = States.loaded\n this.groupsList = [...this.groupsList, ...groupList];\n this.ref.detectChanges();\n }\n },\n (error: any) => {\n this.state = States.error\n this.ref.detectChanges();\n }\n );\n } catch (error: any) {\n this.state = States.error\n this.ref.detectChanges();\n }\n\n }\n else{\n this.state = States.loaded;\n this.ref.detectChanges()\n }\n }\n /**\n * @param {CometChat.Group} group\n */\n onClick = (group: CometChat.Group) => {\n if(this.onItemClick){\n this.onItemClick(group)\n }\n }\n /**\n * @param {CometChat.Group} group\n */\n getStatusIndicatorColor(group: CometChat.Group) {\n return (this.statusColor as any)[(group?.getType() as string)];\n }\n /**\n * @param {CometChat.Group} group\n */\n getMemberCount = (group: CometChat.Group) => {\n return group.getMembersCount() > 1 ? group.getMembersCount() + \" \" + localize(\"MEMBERS\") : group.getMembersCount() + \" \" + localize(\"MEMBER\")\n }\n /**\n * @param {CometChat.Group} group\n */\n getActiveGroup = (group: CometChat.Group) => {\n if(this.selectionMode == SelectionMode.none || !this.selectionMode ){\n if (group.getGuid() == this.activeGroup?.getGuid()) {\n\n\n return true;\n }\n else {\n return false\n }\n }\n else {\n return false\n }\n }\n getRequestBuilder() {\n if(this.searchRequestBuilder){\n return this.searchRequestBuilder.build()\n }\n else if (this.groupsRequestBuilder) {\n return this.groupsRequestBuilder.build();\n }\n else {\n return new CometChat.GroupsRequestBuilder()\n .setLimit(this.limit)\n .setSearchKeyword(this.searchKeyword)\n .build();\n }\n }\n /**\n * @param {CometChat.Group} group\n */\n removeGroup(group: CometChat.Group) {\n let groupsList = [...this.groupsList];\n //search for group\n let groupKey = groupsList.findIndex((g, k) => g.getGuid() === group.getGuid());\n if (groupKey > -1) {\n groupsList.splice(groupKey, 1);\n this.groupsList = groupsList;\n this.ref.detectChanges();\n }\n }\n /**\n * addGroup\n * @param group\n */\n addGroup(group: CometChat.Group) {\n this.groupsList.unshift(group);\n this.ref.detectChanges()\n }\n /**\n * @param {string} key\n */\n onSearch = (key: string) => {\n try {\n this.searchKeyword = key;\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.groupsRequest = this.searchRequestBuilder ? this.searchRequestBuilder.setSearchKeyword(this.searchKeyword).build() : this.getRequestBuilder();\n this.groupsList = [];\n this.ref.detectChanges();\n this.fetchNextGroupList();\n }, 500);\n } catch (error) {\n if(this.onError){\n this.onError(error)\n }\n }\n };\n\n groupStyle = () => {\n return {\n height: this.groupsStyle.height,\n width: this.groupsStyle.width,\n background: this.groupsStyle.background,\n border: this.groupsStyle.border,\n borderRadius: this.groupsStyle.borderRadius\n }\n }\n setThemeStyle() {\n this.setListItemStyle()\n this.setAvatarStyle()\n this.setStatusStyle()\n this.setGroupsStyle()\n this.statusColor.private = this.groupsStyle.privateGroupIconBackground ?? this.themeService.theme.palette.getSuccess();\n this.statusColor.password = this.groupsStyle.passwordGroupIconBackground ?? \"#F7A500\";\n this.listStyle ={\n titleTextFont : this.groupsStyle.titleTextFont,\n titleTextColor : this.groupsStyle.titleTextColor,\n emptyStateTextFont : this.groupsStyle.emptyStateTextFont,\n emptyStateTextColor : this.groupsStyle.emptyStateTextColor,\n errorStateTextFont : this.groupsStyle.errorStateTextFont,\n errorStateTextColor : this.groupsStyle.errorStateTextColor,\n loadingIconTint : this.groupsStyle.loadingIconTint,\n separatorColor : this.groupsStyle.separatorColor,\n searchIconTint : this.groupsStyle.searchIconTint,\n searchBorder : this.groupsStyle.searchBorder,\n searchBorderRadius : this.groupsStyle.searchBorderRadius,\n searchBackground : this.groupsStyle.searchBackground,\n searchPlaceholderTextFont : this.groupsStyle.searchPlaceholderTextFont,\n searchPlaceholderTextColor : this.groupsStyle.searchPlaceholderTextColor,\n searchTextFont : this.groupsStyle.searchTextFont,\n searchTextColor : this.groupsStyle.searchTextColor,\n }\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: this.themeService.theme.palette.getAccent100(),\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:this.themeService.theme.palette.getAccent200(),\n hoverBackground:this.themeService.theme.palette.getAccent50()\n })\n this.listItemStyle = {...defaultStyle,...this.listItemStyle}\n }\n setAvatarStyle(){\n let defaultStyle:AvatarStyle = new AvatarStyle({\n borderRadius: \"24px\",\n width: \"36px\",\n height: \"36px\",\n border: \"none\",\n backgroundColor: this.themeService.theme.palette.getAccent700(),\n nameTextColor: this.themeService.theme.palette.getAccent900(),\n backgroundSize: \"cover\",\n nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n outerViewBorder: \"\",\n outerViewBorderSpacing: \"\",\n })\n this.avatarStyle = {...defaultStyle,...this.avatarStyle}\n }\n\n setStatusStyle(){\n let defaultStyle:BaseStyle = {\n height: \"12px\",\n width:\"12px\",\n border:\"none\",\n borderRadius:\"24px\",\n\n }\n this.statusIndicatorStyle = {...defaultStyle,...this.statusIndicatorStyle}\n }\n setGroupsStyle(){\n let defaultStyle:GroupsStyle = new GroupsStyle({\n subTitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n subTitleTextColor: this.themeService.theme.palette.getAccent600(),\n background:this.themeService.theme.palette.getBackground(),\n border:`1px solid ${this.themeService.theme.palette.getAccent50()}`,\n titleTextFont:fontHelper(this.themeService.theme.typography.title1),\n titleTextColor:this.themeService.theme.palette.getAccent(),\n emptyStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n emptyStateTextColor:this.themeService.theme.palette.getAccent600(),\n errorStateTextFont:fontHelper(this.themeService.theme.typography.title1),\n errorStateTextColor:this.themeService.theme.palette.getAccent600(),\n loadingIconTint:this.themeService.theme.palette.getAccent600(),\n separatorColor:this.themeService.theme.palette.getAccent400(),\n privateGroupIconBackground:this.themeService.theme.palette.getSuccess(),\n passwordGroupIconBackground:\"RGB(247, 165, 0)\",\n searchIconTint:this.themeService.theme.palette.getAccent600(),\n searchPlaceholderTextColor:this.themeService.theme.palette.getAccent600(),\n searchBackground:this.themeService.theme.palette.getAccent100(),\n searchPlaceholderTextFont:fontHelper(this.themeService.theme.typography.text3),\n searchTextColor:this.themeService.theme.palette.getAccent600(),\n searchTextFont:fontHelper(this.themeService.theme.typography.text3)\n })\n this.groupsStyle = {...defaultStyle,...this.groupsStyle}\n }\n subtitleStyle = () => {\n return {\n font: this.groupsStyle.subTitleTextFont,\n color: this.groupsStyle.subTitleTextColor\n }\n }\n}","<div class=\"cc-groups\" [ngStyle]=\"groupStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n\n</div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"groupsList\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-group>\n <cometchat-list-item [title]=\"group?.name\" [avatarURL]=\"group?.avatar\" [avatarName]=\"group?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\" [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(group)\" [statusIndicatorIcon]=\"getGroupIcon(group)\" [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(group)\" [isActive]=\"getActiveGroup(group)\">\n <div slot=\"subtitleView\" class=\"cc-groups__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-groups__subtitle-view\"> {{getMemberCount(group)}} </div>\n </ng-template>\n\n <div slot=\"menuView\" class=\"cc-groups__options\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(group)\">\n\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none\" class=\"cc-groups__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(group) : null\"></cometchat-radio-button>\n\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(group) : null\"></cometchat-checkbox>\n\n </div>\n </ng-template>\n </ng-template>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CometChatGroupsComponent } from \"./cometchat-groups/cometchat-groups.component\";\nimport { CometChatList } from \"../CometChatList/cometchat-list.module\";\nimport \"@cometchat/uikit-elements\";\n@NgModule({\n declarations: [CometChatGroupsComponent],\n imports: [\n CommonModule,\nCometChatList,\n ],\n exports: [CometChatGroupsComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatGroups {}\n","import { Component, OnInit, ViewChild, Input, ChangeDetectionStrategy, OnChanges, SimpleChanges, ChangeDetectorRef, ElementRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatMessagesComponent } from \"../../CometChatMessages/cometchat-messages/cometchat-messages.component\";\nimport { CometChatConversationsComponent } from \"../../CometChatConversations/cometchat-conversations/cometchat-conversations.component\";\nimport {WithMessagesStyle, MessagesConfiguration,GroupsConfiguration, CreateGroupConfiguration, JoinGroupConfiguration, MessageHeaderStyle} from '@cometchat/uikit-shared'\nimport '@cometchat/uikit-elements'\nimport { Subscription } from \"rxjs\";\nimport { CreateGroupStyle, JoinGroupStyle, ListItemStyle } from \"@cometchat/uikit-elements\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\nimport { localize, CometChatTheme, CometChatUIKitConstants, fontHelper, CometChatGroupEvents, IGroupMemberAdded, IGroupMemberKickedBanned, IGroupMemberJoined, IOwnershipChanged, IGroupLeft } from \"@cometchat/uikit-resources\";\n /**\n *\n * CometChatGroupsWithMessagesComponent is a wrapper component for CometChatMessagesComponent and CometChatConversations component to show chats and messages in one screen\n *\n * @version 1.0.0\n * @author CometChatTeam\n * @copyright © 2022 CometChat Inc.\n *\n */\n@Component({\n selector: \"cometchat-groups-with-messages\",\n templateUrl: \"./cometchat-groups-with-messages.component.html\",\n styleUrls: [\"./cometchat-groups-with-messages.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatGroupsWithMessagesComponent implements OnInit, OnChanges {\n // taking reference of conversationComponent and MessagesComponent\n @ViewChild(\"groupRef\", { static: false }) groupRef!: CometChatConversationsComponent;\n @ViewChild(\"messagesRef\", { static: false }) messageListRef!: CometChatMessagesComponent;\n @Input() group!: CometChat.Group | null;\n @Input() isMobileView: boolean = false;\n @Input() hideCreateGroup:boolean = false;\n @Input() messageText: string = localize(\"NO_GROUPS_SELECTED\");\n @Input() groupsWithMessagesStyle: WithMessagesStyle = {\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"none\",\n border: \"none\",\n };\n @Input() messagesConfiguration: MessagesConfiguration = new MessagesConfiguration({});\n @Input() createGroupConfiguration: CreateGroupConfiguration = new CreateGroupConfiguration({});\n @Input() joinGroupConfiguration: JoinGroupConfiguration = new JoinGroupConfiguration({});\n @Input() groupsConfiguration: GroupsConfiguration = new GroupsConfiguration({});\n @Input() onError:((error:any)=>void ) | null= (error:any)=>{\n console.log(error)\n }\n theme: CometChatTheme = new CometChatTheme({});\n backdropStyle:any = {\n\n }\n createGroupStyle:CreateGroupStyle = {}\n joinGroupStyle:JoinGroupStyle = {}\n messageHeaderStyle:MessageHeaderStyle = {}\n listItemStyle:ListItemStyle = {}\n /**\n * Properties for internal use\n */\n createIconURL:string = \"assets/create-button.svg\"\n public loggedInUser!: CometChat.User | null;\n createGroupButtonStyle:any = {\n height:\"24px\",\n width:\"24px\",\n border:\"none\",\n borderRadius:'0',\n background:\"transparent\",\n buttonIconTint:\"RGB(51, 153, 255)\"\n }\n labelStyle:any = {\n background:\"transparent\",\n textFont:\"700 22px Inter\",\n textColor:\"rgba(20, 20, 20, 0.33)\"\n }\n public openCreateGroupPage:boolean = false;\n public openPasswordModal:boolean = false;\n public protectedGroup!:CometChat.Group | null;\n /**\n * Events\n */\n ccGroupMemberAdded!:Subscription;\n ccGroupLeft!:Subscription;\n ccGroupMemberJoined!:Subscription;\n ccGroupMemberKicked!:Subscription;\n ccGroupMemberBanned!:Subscription;\n ccOwnershipChanged!:Subscription;\n ccGroupDeleted!:Subscription;\n ccGroupCreated!:Subscription;\n constructor(private elementRef: ElementRef,private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"isMobileView\"]){\n if (this.isMobileView) {\n\n this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;\n this.messagesConfiguration.messageHeaderConfiguration = {...this.messagesConfiguration.messageHeaderConfiguration}\n this.messagesConfiguration = { ...this.messagesConfiguration }\n this.joinGroupConfiguration.messageHeaderConfiguration.hideBackButton = false;\n this.joinGroupConfiguration.messageHeaderConfiguration = {...this.joinGroupConfiguration.messageHeaderConfiguration}\n this.joinGroupConfiguration = { ...this.joinGroupConfiguration }\n }\n else if (!this.isMobileView) {\n this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;\n this.messagesConfiguration.messageHeaderConfiguration = {...this.messagesConfiguration.messageHeaderConfiguration}\n this.messagesConfiguration = { ...this.messagesConfiguration }\n this.joinGroupConfiguration.messageHeaderConfiguration.hideBackButton = true;\n this.joinGroupConfiguration.messageHeaderConfiguration = {...this.joinGroupConfiguration.messageHeaderConfiguration}\n this.joinGroupConfiguration = { ...this.joinGroupConfiguration }\n }\n this.updateBackdropHeight()\n }\n }\n ngAfterViewInit() {\n this.updateBackdropHeight()\n }\n onBack = ()=>{\n this.group = null\n }\n openCreateGroup(){\n this.openCreateGroupPage = true\n }\n\n closeCreateGroup =()=>{\n this.openCreateGroupPage = false\n this.ref.detectChanges()\n }\n closeJoinGroup = ()=>{\n this.openPasswordModal = false\n }\n onItemClick: ((group:CometChat.Group)=>void) = (group:CometChat.Group)=>{\n this.openPasswordModal = false;\n if(group.getHasJoined()){\n this.group = group;\n this.ref.detectChanges();\n return;\n }\n if(group.getType() == CometChatUIKitConstants.GroupTypes.password){\n this.group = null;\n this.protectedGroup = group;\n this.openPasswordModal = true;\n this.ref.detectChanges();\n return;\n }\n CometChat.joinGroup(group).then(()=>{\n CometChatGroupEvents.ccGroupMemberJoined.next({\n joinedGroup:group,\n joinedUser:this.loggedInUser!\n })\n group.setHasJoined(true)\n this.ref.detectChanges()\n this.group = group;\n this.ref.detectChanges()\n })\n .catch((error:any)=>{\n if(this.onError){\n this.onError(error)\n }\n })\n };\n\n updateBackdropHeight(){\n const divHeight = this.elementRef.nativeElement.offsetHeight;\n const divWidth = this.elementRef.nativeElement.offsetWidth;\n let backdropStyle = {\n height:divHeight + \"px\",\n width:divWidth + \"px\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n this.backdropStyle = backdropStyle\n this.messagesConfiguration.messageListConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.detailsConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.messageComposerConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.detailsConfiguration.groupMembersConfiguration.backdropStyle = backdropStyle\n this.ref.detectChanges()\n }\n ngOnInit() {\n this.setWithMessagesStyle()\n this.setCreateGroupStyles()\n this.setListItemStyle()\n this.setJoinGroupStyles()\n if(!this.messagesConfiguration.messageHeaderConfiguration.onBack){\n this.messagesConfiguration.messageHeaderConfiguration.onBack = this.onBack\n }\n this.subscribeToEvents();\n CometChat.getLoggedinUser()\n .then((user:CometChat.User | null) => {\n this.loggedInUser = user;\n })\n .catch((error:any) => {\n if(this.onError){\n this.onError(error)\n }\n });\n\n }\n setWithMessagesStyle(){\n let defaultStyle:WithMessagesStyle = new WithMessagesStyle({\n width: \"100%\",\n height: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"none\",\n border: \"none\",\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n messageTextFont: fontHelper(this.themeService.theme.typography.title1),\n })\n this.groupsWithMessagesStyle = {\n ...defaultStyle,\n ...this.groupsWithMessagesStyle\n }\n this.labelStyle.textFont = this.groupsWithMessagesStyle.messageTextFont\n this.labelStyle.textColor = this.groupsWithMessagesStyle.messageTextColor\n }\n setCreateGroupStyles = ()=>{\n let defaultStyle:CreateGroupStyle = new CreateGroupStyle({\n boxShadow: `${this.themeService.theme.palette.getAccent100()} 4px 16px 32px 4px`,\n groupTypeTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n groupTypeBorder: `1px solid ${this.themeService.theme.palette.getAccent600()}`,\n groupTypeBorderRadius: \"0\",\n groupTypeTextColor: this.themeService.theme.palette.getAccent(),\n groupTypeTextBackground: \"transparent\",\n groupTypeBackground: this.themeService.theme.palette.getAccent100(),\n groupTypeBoxShadow: \"\",\n activeGroupTypeTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n activeGroupTypeTextColor: this.themeService.theme.palette.getAccent(),\n activeGroupTypeBackground: this.themeService.theme.palette.getAccent900(),\n activeGroupTypeBoxShadow: `${this.themeService.theme.palette.getAccent200()} 0 3px 8px 0`,\n activeGroupTypeBorderRadius: \"8px\",\n activeGroupTypeBorder: \"none\",\n groupTypeTextBoxShadow: \"none\",\n groupTypeTextBorderRadius: \"0\",\n closeIconTint: this.themeService.theme.palette.getPrimary(),\n titleTextFont: fontHelper(this.themeService.theme.typography.title1),\n titleTextColor: this.themeService.theme.palette.getAccent(),\n errorTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n errorTextBackground: this.themeService.theme.palette.getError(),\n errorTextBorderRadius: \"8px\",\n errorTextBorder: \"none\",\n errorTextColor: this.themeService.theme.palette.getError(),\n nameInputPlaceholderTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n nameInputPlaceholderTextColor: this.themeService.theme.palette.getAccent600(),\n nameInputBackground: this.themeService.theme.palette.getAccent100(),\n nameInputTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n nameInputTextColor: this.themeService.theme.palette.getAccent(),\n nameInputBorder: \"none\",\n nameInputBorderRadius: \"8px\",\n nameInputBoxShadow: `${this.themeService.theme.palette.getAccent100()} 0 0 0 1px`,\n passwordInputPlaceholderTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n passwordInputPlaceholderTextColor: this.themeService.theme.palette.getAccent600(),\n passwordInputBackground: this.themeService.theme.palette.getAccent100(),\n passwordInputBorder: \"none\",\n passwordInputBorderRadius: \"8px\",\n passwordInputBoxShadow: `${this.themeService.theme.palette.getAccent100()} 0 0 0 1px`,\n passwordInputTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n passwordInputTextColor: this.themeService.theme.palette.getAccent(),\n createGroupButtonTextFont: fontHelper(this.themeService.theme.typography.text2),\n createGroupButtonTextColor: this.themeService.theme.palette.getAccent900(\"light\"),\n createGroupButtonBackground: this.themeService.theme.palette.getPrimary(),\n createGroupButtonBorderRadius: \"8px\",\n createGroupButtonBorder: \"none\",\n height:\"620px\",\n width:\"360px\",\n borderRadius:\"8px\",\n background:this.themeService.theme.palette.getBackground()\n })\n this.createGroupStyle = {...defaultStyle,...this.createGroupConfiguration.createGroupStyle}\n\n }\n setJoinGroupStyles = ()=>{\n let defaultStyle:JoinGroupStyle = new JoinGroupStyle({\n boxShadow: `${this.themeService.theme.palette.getAccent100()} 0px 16px 32px 0px`,\n titleTextFont: fontHelper(this.themeService.theme.typography.title1),\n titleTextColor: this.themeService.theme.palette.getAccent(),\n passwordInputPlaceholderTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n passwordInputPlaceholderTextColor: this.themeService.theme.palette.getAccent600(),\n passwordInputBackground: this.themeService.theme.palette.getAccent100(),\n passwordInputBorder: \"none\",\n passwordInputBorderRadius: \"8px\",\n passwordInputBoxShadow: `${this.themeService.theme.palette.getAccent100()} 0 0 0 1px`,\n passwordInputTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n passwordInputTextColor: this.themeService.theme.palette.getAccent(),\n height:\"100%\",\n width:\"100%\",\njoinButtonTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\njoinButtonTextColor: this.themeService.theme.palette.getAccent(\"dark\"),\njoinButtonBackground: this.themeService.theme.palette.getPrimary(),\njoinButtonBorderRadius: \"8px\",\njoinButtonBorder: \"none\",\nbackground:this.themeService.theme.palette.getBackground()\n })\n this.joinGroupStyle = {...defaultStyle,...this.joinGroupConfiguration.joinGroupStyle}\n\n }\n setHeadersStyle(){\n let defaultStyle:MessageHeaderStyle = new MessageHeaderStyle({\n background:this.themeService.theme.palette.getBackground(),\n border:`none`,\n onlineStatusColor:this.themeService.theme.palette.getSuccess(),\n privateGroupIconBackground:this.themeService.theme.palette.getSuccess(),\n passwordGroupIconBackground:\"RGB(247, 165, 0)\",\n backButtonIconTint: this.themeService.theme.palette.getPrimary(),\n subtitleTextColor: this.themeService.theme.palette.getAccent600(),\n subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),\n typingIndicatorTextColor: this.themeService.theme.palette.getPrimary(),\n typingIndicatorTextFont: fontHelper(this.themeService.theme.typography.subtitle1),\n })\n this.messageHeaderStyle = {...defaultStyle,...this.joinGroupConfiguration.messageHeaderConfiguration.messageHeaderStyle}\n }\n setListItemStyle(){\n let defaultStyle:ListItemStyle = new ListItemStyle({\n height: \"45px\",\n width: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n activeBackground: \"transparent\",\n borderRadius: \"0\",\n titleFont: fontHelper(this.themeService.theme.typography.title2),\n titleColor: this.themeService.theme.palette.getAccent(),\n border: \"none\",\n separatorColor:\"\",\n hoverBackground:\"transparent\"\n })\n this.listItemStyle = {...defaultStyle,...this.joinGroupConfiguration.messageHeaderConfiguration.listItemStyle}\n }\n ngOnDestroy() {\n this.unsubscribeToEvents();\n }\n onGroupJoined = (event:any)=>{\n let group:CometChat.Group = event?.detail?.response\n this.openPasswordModal = false;\n this.protectedGroup = null;\n if(group){\n this.group = group\n }\n\n }\n updatedCreatedGroup(event:any){\n let group:CometChat.Group = event?.detail?.group\n if(group){\n this.group = group;\n this.openCreateGroupPage = false\n this.ref.detectChanges();\n CometChatGroupEvents.ccGroupCreated.next(group)\n }\n\n }\n // subscribe to global events\n subscribeToEvents() {\n this.ccGroupDeleted = CometChatGroupEvents.ccGroupDeleted.subscribe((group:CometChat.Group) => {\n if(this.group && group.getGuid() == this.group.getGuid()){\n this.group = null;\n this.ref.detectChanges()\n }\n })\n this.ccGroupCreated = CometChatGroupEvents.ccGroupCreated.subscribe((group:CometChat.Group) => {\n if(group){\n this.group = group;\n this.openCreateGroupPage = false\n this.ref.detectChanges();\n }\n })\n this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item: IGroupMemberAdded) => {\n if(this.group && this.group.getGuid() == item?.userAddedIn!.getGuid()){\n this.group = item?.userAddedIn;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.group && this.group.getGuid() == item?.kickedFrom!.getGuid()){\n this.group = item?.kickedFrom;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item: IGroupMemberJoined) => {\n if(this.protectedGroup && this.protectedGroup.getGuid() == item?.joinedGroup!.getGuid()){\n this.openPasswordModal = false;\n this.protectedGroup = null;\n this.group = item?.joinedGroup;\n this.ref.detectChanges()\n }\n })\n this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item: IGroupMemberKickedBanned) => {\n if(this.group && this.group.getGuid() == item?.kickedFrom!.getGuid()){\n this.group = item?.kickedFrom;\n this.ref.detectChanges()\n }\n })\n this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item: IOwnershipChanged) => {\n if(this.group && this.group.getGuid() == item?.group!.getGuid()){\n this.group = item?.group;\n this.ref.detectChanges();\n }\n })\n this.ccGroupLeft = CometChatGroupEvents.ccGroupLeft.subscribe((item: IGroupLeft) => {\n if(this.group && this.group.getGuid() == item?.leftGroup!.getGuid() && this.loggedInUser?.getUid() == item?.userLeft?.getUid()){\n this.group = item?.leftGroup;\n this.ref.detectChanges()\n }\n })\n\n }\n // unsubscribe to subscribed events.\n unsubscribeToEvents() {\n this.ccGroupDeleted?.unsubscribe();\n this.ccGroupMemberAdded?.unsubscribe();\n this.ccGroupMemberBanned?.unsubscribe();\n this.ccGroupMemberJoined?.unsubscribe();\n this.ccGroupMemberKicked?.unsubscribe();\n this.ccOwnershipChanged?.unsubscribe();\n this.ccGroupLeft?.unsubscribe();\n }\n emptyMessageStyle = ()=>{\n return {\n background: this.groupsWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n height:this.groupsWithMessagesStyle.height,\n width:`calc(${this.groupsWithMessagesStyle.width} - 280px)`,\n border:this.groupsWithMessagesStyle.border,\n borderRadius:this.groupsWithMessagesStyle.borderRadius,\n }\n }\n groupsWrapperStyles = () => {\n return {\n height: this.groupsWithMessagesStyle.height,\n width: this.groupsWithMessagesStyle.width,\n border: this.groupsWithMessagesStyle.border,\n borderRadius: this.groupsWithMessagesStyle.borderRadius,\n background: this.groupsWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n }\n }\n}\n","<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"groupsWrapperStyles()\">\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-groups\n #groupRef\n [activeGroup]=\"group\"\n [hideSearch]=\"groupsConfiguration.hideSearch\"\n [searchIconURL]=\"groupsConfiguration.searchIconURL\"\n [searchRequestBuilder]=\"groupsConfiguration.searchRequestBuilder\"\n [onItemClick]=\"groupsConfiguration.onItemClick || onItemClick\"\n [groupsStyle]=\"groupsConfiguration.groupsStyle\"\n [subtitleView]=\"groupsConfiguration.subtitleView\"\n [options]=\"groupsConfiguration.options\"\n [privateGroupIcon]=\"groupsConfiguration.privateGroupIcon\"\n [protectedGroupIcon]=\"groupsConfiguration.protectedGroupIcon\"\n [groupsRequestBuilder]=\"groupsConfiguration.groupsRequestBuilder\"\n [emptyStateView]=\"groupsConfiguration.emptyStateView\"\n [onSelect]=\"groupsConfiguration.onSelect\"\n [loadingIconURL]=\"groupsConfiguration.loadingIconURL\"\n [errorStateView]=\"groupsConfiguration.errorStateView\"\n [loadingStateView]=\"groupsConfiguration.loadingStateView\"\n [titleAlignment]=\"groupsConfiguration.titleAlignment\"\n [listItemView]=\"groupsConfiguration.listItemView\"\n [menu]=\"groupsConfiguration.menu || createGroupButton\"\n [hideSeparator]=\"groupsConfiguration.hideSeparator\"\n [hideError]=\"groupsConfiguration.hideError\"\n [selectionMode]=\"groupsConfiguration.selectionMode\"\n [listItemStyle]=\"groupsConfiguration.listItemStyle\"\n\n ></cometchat-groups>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"group && !openPasswordModal\">\n <!--Message List Screen-->\n <cometchat-messages\n #messagesRef\n [group]=\"group!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n >\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!group && !openPasswordModal\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n <div class=\"cc-with-messages__joingroup\" *ngIf=\"openPasswordModal && !group\" [ngStyle]=\"emptyMessageStyle()\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-join-group\n [group]=\"protectedGroup!\"\n [joinGroupStyle]=\"joinGroupStyle\"\n (cc-joingroup-joined)=\"onGroupJoined($event)\"\n [errorCallback]=\"joinGroupConfiguration.onError\"\n [joinClick]=\"joinGroupConfiguration.joinClick\"\n >\n <cometchat-message-header slot=\"headerView\" [group]=\"protectedGroup!\" [subtitleView]=\"joinGroupConfiguration.messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"joinGroupConfiguration.messageHeaderConfiguration.disableUsersPresence\" [protectedGroupIcon]=\"joinGroupConfiguration.messageHeaderConfiguration.protectedGroupIcon\" [privateGroupIcon]=\"joinGroupConfiguration.messageHeaderConfiguration.privateGroupIcon\" [menu]=\"joinGroupConfiguration.messageHeaderConfiguration.menu\" [messageHeaderStyle]=\"messageHeaderStyle\"\n [backButtonIconURL]=\"joinGroupConfiguration.messageHeaderConfiguration.backButtonIconURL\" [hideBackButton]=\"joinGroupConfiguration.messageHeaderConfiguration.hideBackButton\" [onError]=\"joinGroupConfiguration.messageHeaderConfiguration.onError\" [onBack]=\"joinGroupConfiguration.messageHeaderConfiguration.onBack || closeJoinGroup\" [listItemStyle]=\"listItemStyle\" [statusIndicatorStyle]=\"joinGroupConfiguration.messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"joinGroupConfiguration.messageHeaderConfiguration.avatarStyle\"\n >\n </cometchat-message-header>\n </cometchat-join-group>\n </div>\n</div>\n <ng-template #createGroupButton>\n <cometchat-button *ngIf=\"!hideCreateGroup\" [iconURL]=\"createIconURL\" [buttonStyle]=\"createGroupButtonStyle\" (cc-button-clicked)=\"openCreateGroup()\"></cometchat-button>\n\n </ng-template>\n<cometchat-backdrop *ngIf=\"openCreateGroupPage\" [backdropStyle]=\"backdropStyle\">\n <cometchat-create-group [createGroupStyle]=\"createGroupStyle\" [hideCloseButton]=\"createGroupConfiguration.hideCloseButton\" [closeButtonIconURL]=\"createGroupConfiguration.closeButtonIconURL\" [createClick]=\"createGroupConfiguration.createClick\" [closeCallback]=\"closeCreateGroup\">\n\n </cometchat-create-group>\n</cometchat-backdrop>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { CometChatGroupsWithMessagesComponent } from \"./cometchat-groups-with-messages/cometchat-groups-with-messages.component\";\nimport { CometChatMessages } from \"../CometChatMessages/cometchat-messages.module\";\nimport { CometChatGroups } from \"../CometChatGroups/cometchat-groups.module\";\nimport { CometChatMessageHeader } from \"../CometChatMessageHeader/cometchat-message-header.module\";\n\n@NgModule({\n declarations: [CometChatGroupsWithMessagesComponent],\n imports: [\n CommonModule,\n CometChatGroups,\n CometChatMessages,\n BrowserModule,\n BrowserAnimationsModule,\n CometChatMessageHeader\n ],\n exports: [CometChatGroupsWithMessagesComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatGroupsWithMessages {}\n","import { Component, OnInit, ViewChild, Input, ChangeDetectionStrategy, OnChanges, SimpleChanges, ChangeDetectorRef, ElementRef } from \"@angular/core\";\nimport { CometChat } from \"@cometchat-pro/chat\";\nimport { CometChatMessagesComponent } from \"../../CometChatMessages/cometchat-messages/cometchat-messages.component\";\nimport { CometChatConversationsComponent } from \"../../CometChatConversations/cometchat-conversations/cometchat-conversations.component\";\nimport '@cometchat/uikit-elements'\nimport { Subscription } from \"rxjs\";\nimport { CometChatThemeService } from \"../../CometChatTheme.service\";\nimport { localize, CometChatTheme, fontHelper, CometChatUserEvents } from \"@cometchat/uikit-resources\";\nimport { WithMessagesStyle, MessagesConfiguration, UsersConfiguration } from \"@cometchat/uikit-shared\";\n /**\n *\n * CometChatUsersWithMessagesComponent is a wrapper component for CometChatMessagesComponent and CometChatConversations component to show chats and messages in one screen\n *\n * @version 1.0.0\n * @author CometChatTeam\n * @copyright © 2022 CometChat Inc.\n *\n */\n@Component({\n selector: \"cometchat-users-with-messages\",\n templateUrl: \"./cometchat-users-with-messages.component.html\",\n styleUrls: [\"./cometchat-users-with-messages.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CometChatUsersWithMessagesComponent implements OnInit, OnChanges {\n // taking reference of conversationComponent and MessagesComponent\n @ViewChild(\"usersRef\", { static: false }) userRef!: CometChatConversationsComponent;\n @ViewChild(\"messagesRef\", { static: false }) messageListRef!: CometChatMessagesComponent;\n @Input() user!: CometChat.User | null;\n @Input() isMobileView: boolean = false;\n @Input() messageText: string = localize(\"NO_USERS_SELECTED\");\n @Input() usersWithMessagesStyle: WithMessagesStyle = {\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"none\",\n border: \"none\",\n };\n @Input() messagesConfiguration: MessagesConfiguration = new MessagesConfiguration({});\n @Input() usersConfiguration: UsersConfiguration = new UsersConfiguration({});\n @Input() onError:((error:any)=>void ) | null= (error:any)=>{\n console.log(error)\n }\n theme: CometChatTheme = new CometChatTheme({});\n /**\n * Properties for internal use\n */\n public loggedInUser!: CometChat.User | null;\n labelStyle:any = {\n background:\"transparent\",\n textFont:\"700 22px Inter\",\n textColor:\"rgba(20, 20, 20, 0.33)\"\n }\n /**\n * Events\n */\n ccUserBlocked!:Subscription;\n ccUserUnBlocked!:Subscription;\n constructor(private elementRef: ElementRef,private ref: ChangeDetectorRef,private themeService:CometChatThemeService) {\n }\n ngAfterViewInit() {\n this.updateBackdropHeight()\n }\n updateBackdropHeight(){\n const divHeight = this.elementRef.nativeElement.offsetHeight;\n const divWidth = this.elementRef.nativeElement.offsetWidth;\n let backdropStyle = {\n height:divHeight + \"px\",\n width:divWidth + \"px\",\n background:\"rgba(0, 0, 0, 0.5)\"\n }\n this.messagesConfiguration.messageListConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.detailsConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.messageComposerConfiguration.backdropStyle = backdropStyle\n this.messagesConfiguration.detailsConfiguration.groupMembersConfiguration.backdropStyle = backdropStyle\n this.ref.detectChanges()\n }\n ngOnChanges(changes: SimpleChanges): void {\n if(changes[\"isMobileView\"]){\n if (this.isMobileView) {\n\n this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;\n this.messagesConfiguration.messageHeaderConfiguration = {...this.messagesConfiguration.messageHeaderConfiguration}\n this.messagesConfiguration = { ...this.messagesConfiguration }\n\n }\n else if (!this.isMobileView) {\n this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;\n this.messagesConfiguration.messageHeaderConfiguration = {...this.messagesConfiguration.messageHeaderConfiguration}\n this.messagesConfiguration = { ...this.messagesConfiguration }\n }\n this.updateBackdropHeight()\n }\n }\n onBack = ()=>{\n this.user = null\n }\n onItemClick: ((user:CometChat.User)=>void) = (user:CometChat.User)=>{\n this.user = user;\n this.ref.detectChanges();\n\n };\n ngOnInit() {\n this.setWithMessagesStyle()\n if(!this.messagesConfiguration.messageHeaderConfiguration.onBack){\n this.messagesConfiguration.messageHeaderConfiguration.onBack = this.onBack\n }\n this.subscribeToEvents();\n CometChat.getLoggedinUser()\n .then((user:CometChat.User | null) => {\n this.loggedInUser = user;\n })\n .catch((error:any) => {\n if(this.onError){\n this.onError(error)\n }\n });\n\n }\n setWithMessagesStyle(){\n let defaultStyle:WithMessagesStyle = new WithMessagesStyle({\n width: \"100%\",\n height: \"100%\",\n background: this.themeService.theme.palette.getBackground(),\n borderRadius: \"none\",\n border: \"none\",\n messageTextColor: this.themeService.theme.palette.getAccent600(),\n messageTextFont: fontHelper(this.themeService.theme.typography.title1),\n })\n this.usersWithMessagesStyle = {\n ...defaultStyle,\n ...this.usersWithMessagesStyle\n }\n this.labelStyle.textFont = this.usersWithMessagesStyle.messageTextFont\n this.labelStyle.textColor = this.usersWithMessagesStyle.messageTextColor\n }\n ngOnDestroy() {\n this.unsubscribeToEvents();\n }\n\n // subscribe to global events\n subscribeToEvents() {\n this.ccUserBlocked = CometChatUserEvents.ccUserBlocked.subscribe((user:CometChat.User) => {\n if(this.user && user.getUid() == this.user.getUid()){\n this.user = user;\n this.ref.detectChanges()\n }\n })\n this.ccUserUnBlocked = CometChatUserEvents.ccUserUnblocked.subscribe((user:CometChat.User) => {\n if(this.user && user.getUid() == this.user.getUid()){\n this.user = user;\n this.ref.detectChanges()\n }\n })\n\n }\n // unsubscribe to subscribed events.\n unsubscribeToEvents() {\n this.ccUserBlocked?.unsubscribe();\n this.ccUserUnBlocked?.unsubscribe();\n }\n emptyMessageStyle = ()=>{\n return {\n background: this.usersWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n height:this.usersWithMessagesStyle.height,\n width:`calc(${this.usersWithMessagesStyle.width} - 280px)`,\n border:this.usersWithMessagesStyle.border,\n borderRadius:this.usersWithMessagesStyle.borderRadius,\n }\n }\n usersWrapperStyles = () => {\n return {\n height: this.usersWithMessagesStyle.height,\n width: this.usersWithMessagesStyle.width,\n border: this.usersWithMessagesStyle.border,\n borderRadius: this.usersWithMessagesStyle.borderRadius,\n background: this.usersWithMessagesStyle.background || this.themeService.theme.palette.getBackground(),\n }\n }\n}\n","<div class=\"cc-with-messages__wrapper\" [ngStyle]=\"usersWrapperStyles()\">\n <div class=\"cc-with-messages__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-users\n #usersRef\n [activeUser]=\"user\"\n [hideSearch]=\"usersConfiguration.hideSearch\"\n [searchIconURL]=\"usersConfiguration.searchIconURL\"\n [searchRequestBuilder]=\"usersConfiguration.searchRequestBuilder\"\n [onItemClick]=\"usersConfiguration.onItemClick || onItemClick\"\n [usersStyle]=\"usersConfiguration.usersStyle\"\n [subtitleView]=\"usersConfiguration.subtitleView\"\n [options]=\"usersConfiguration.options\"\n [usersRequestBuilder]=\"usersConfiguration.usersRequestBuilder\"\n [emptyStateView]=\"usersConfiguration.emptyStateView\"\n [onSelect]=\"usersConfiguration.onSelect\"\n [loadingIconURL]=\"usersConfiguration.loadingIconURL\"\n [errorStateView]=\"usersConfiguration.errorStateView\"\n [loadingStateView]=\"usersConfiguration.loadingStateView\"\n [titleAlignment]=\"usersConfiguration.titleAlignment\"\n [showSectionHeader]=\"usersConfiguration.showSectionHeader\"\n [listItemView]=\"usersConfiguration.listItemView\"\n [menu]=\"usersConfiguration.menu\"\n [hideSeparator]=\"usersConfiguration.hideSeparator\"\n [hideError]=\"usersConfiguration.hideError\"\n [selectionMode]=\"usersConfiguration.selectionMode\"\n [listItemStyle]=\"usersConfiguration.listItemStyle\"\n\n ></cometchat-users>\n </div>\n <div class=\"cc-with-messages__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"user\">\n <!--Message List Screen-->\n <cometchat-messages\n #messagesRef\n [user]=\"user!\"\n [messageHeaderConfiguration]=\"messagesConfiguration.messageHeaderConfiguration\"\n [messageListConfiguration]=\"messagesConfiguration.messageListConfiguration\"\n [messageComposerConfiguration]=\"messagesConfiguration.messageComposerConfiguration\"\n [messagesStyle]=\"messagesConfiguration.messagesStyle\"\n [customSoundForIncomingMessages]=\"messagesConfiguration.customSoundForIncomingMessages\"\n [customSoundForOutgoingMessages]=\"messagesConfiguration.customSoundForOutgoingMessages\"\n [detailsConfiguration]=\"messagesConfiguration.detailsConfiguration\"\n [disableSoundForMessages]=\"messagesConfiguration.disableSoundForMessages\"\n [disableTyping]=\"messagesConfiguration.disableTyping\"\n [hideMessageComposer]=\"messagesConfiguration.hideMessageComposer\"\n [hideMessageHeader]=\"messagesConfiguration.hideMessageHeader\"\n [messageComposerView]=\"messagesConfiguration.messageComposerView\"\n [messageHeaderView]=\"messagesConfiguration.messageHeaderView\"\n [messageListView]=\"messagesConfiguration.messageListView\"\n >\n </cometchat-messages>\n <!--Message List Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n</div>","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\nimport { CometChatUsersWithMessagesComponent } from \"./cometchat-users-with-messages/cometchat-users-with-messages.component\";\nimport { CometChatMessages } from \"../CometChatMessages/cometchat-messages.module\";\nimport { CometChatUsers } from \"../CometChatUsers/cometchat-users.module\";\n\n@NgModule({\n declarations: [CometChatUsersWithMessagesComponent],\n imports: [\n CommonModule,\n CometChatUsers,\n CometChatMessages,\n BrowserModule,\n BrowserAnimationsModule,\n ],\n exports: [CometChatUsersWithMessagesComponent],\n schemas:[CUSTOM_ELEMENTS_SCHEMA]\n})\nexport class CometChatUsersWithMessages {}\n","/*\n * Public API Surface of angular-chat-ui-kit\n */\n\n\n\n// shared packages\nexport {CometChatUIKitConstants,DatePatterns,TabAlignment,IconButtonAlignment,DocumentIconAlignment,Placement,AuxiliaryButtonAlignment,MessageStatus,MessageBubbleAlignment,MessageListAlignment,Receipts,TitleAlignment,SelectionMode,States,TimestampAlignment,CometChatMessageComposerAction,CometChatTabItem,CometChatLocalize,CometChatTheme, CometChatPalette, CometChatTypography , localize,CometChatDetailsTemplate,CometChatDetailsOption,CometChatOption,CometChatMessageTemplate,CometChatMessageOption} from '@cometchat/uikit-resources'\n\nimport { fontHelper } from '@cometchat/uikit-resources';\nexport {fontHelper}\nexport {ConversationUtils,DetailsUtils,GroupMemberUtils,MessageReceiptUtils,ConversationsConfiguration,CreateGroupConfiguration,DetailsConfiguration,GroupsConfiguration,JoinGroupConfiguration,MessageComposerConfiguration,MessageHeaderConfiguration,MessageListConfiguration,MessagesConfiguration,UsersConfiguration,ThreadedMessagesConfiguration,MessageBubbleConfiguration,AddMembersConfiguration,BannedMembersConfiguration,GroupMembersConfiguration,TransferOwnershipConfiguration,PollsConstants,SmartRepliesConstants,SmartRepliesConfiguration,StickersConstants,StickersConfiguration,MessageTranslationConstants,MessageTranslationConfiguration,CollaborativeWhiteboardConfiguration,CollaborativeDocumentConstants,CollaborativeDocumentConfiguration,CollaborativeWhiteboardConstants,ReactionsConstants,ImageModerationConfiguration,ImageModerationConstants,ThumbnailGenerationConstants,LinkPreviewConstants,CallingDetailsUtils,CallHistoryConfiguration,OutgoingCallConfiguration,CallButtonsConfiguration,CallscreenConfiguration,CallDetailsConfiguration} from '@cometchat/uikit-shared';\n\nexport {CometChatUIKit} from './Shared/CometChatUIkit/CometChatUIKit';\nexport {ChatConfigurator} from './Shared/Framework/ChatConfigurator'\nexport {DataSource} from './Shared/Framework/DataSource'\nexport {DataSourceDecorator} from './Shared/Framework/DataSourceDecorator'\nexport {ExtensionsDataSource} from './Shared/Framework/ExtensionDataSource'\nexport {MessageUtils} from './Shared/Utils/MessageUtils'\nexport {CometChatThemeService} from './CometChatTheme.service'\n\n// extensions\nexport {CollaborativeDocumentExtension} from './Extensions/CollaborativeDocument/CollaborativeDocumentExtension'\nexport {CollaborativeDocumentExtensionDecorator} from './Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator'\nexport {CollaborativeWhiteBoardExtension} from './Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension'\nexport {CollaborativeWhiteBoardExtensionDecorator} from './Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator'\nexport {ImageModerationExtension} from './Extensions/ImageModeration/ImageModerationExtension'\nexport {ImageModerationExtensionDecorator} from './Extensions/ImageModeration/ImageModerationExtensionDecorator'\nexport {LinkPreviewExtension} from './Extensions/LinkPreviewExtension/LinkPreviewExtension'\nexport {LinkPreviewExtensionDecorator} from './Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator'\nexport {MessageTranslationExtension} from './Extensions/MessageTranslation/MessageTranslationExtension'\nexport {MessageTranslationExtensionDecorator} from './Extensions/MessageTranslation/MessageTranslationExtensionDecorator'\nexport {PollsExtension} from './Extensions/PollsExtension/PollsExtension'\nexport {PollsExtensionDecorator} from './Extensions/PollsExtension/PollsExtensionDecorator'\nexport {ReactionExtension} from './Extensions/Reactions/ReactionExtension'\nexport {ReactionExtensionDecorator} from './Extensions/Reactions/ReactionExtensionDecorator'\nexport {SmartReplyExtension} from './Extensions/SmartReplies/SmartRepliesExtension'\nexport {SmartReplyExtensionDecorator} from './Extensions/SmartReplies/SmartRepliesExtensionDecorator'\nexport {StickersExtension} from './Extensions/Stickers/StickersExtension'\nexport {StickersExtensionDecorator} from './Extensions/Stickers/StickersExtensionDecorator'\nexport {TextModeratorExtension} from './Extensions/TextModerator/TextModeratorExtension'\nexport {TextModeratorExtensionDecorator} from './Extensions/TextModerator/TextModeratorExtensionDecorator'\nexport {ThumbnailGenerationExtension} from './Extensions/ThumbnailGeneration/ThumbnailGenerationExtension'\nexport {ThumbnailGenerationExtensionDecorator} from './Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator'\n\n// calls component\nexport {CallingExtension} from './Calls/CallingExtension';\nexport {CallingExtensionDecorator} from './Calls/CallingExtensionDecorator';\nexport {CometChatCallButtons} from './Calls/CometChatCallButtons/cometchat-call-buttons.module';\nexport {CometChatCallButtonsComponent} from './Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component';\n// export {CometChatCallDetails} from './Calls/CometChatCallDetails/cometchat-call-details.module';\n// export {CometChatCallDetailsComponent} from './Calls/CometChatCallDetails/cometchat-call-details/cometchat-call-details.component';\n// export {CometChatCallHistory} from './Calls/CometChatCallHistory/cometchat-call-history.module';\n// export {CometChatCallHistoryComponent} from './Calls/CometChatCallHistory/cometchat-call-history/cometchat-call-history.component';\n// export {CometChatCallHistoryWithDetails} from './Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details.module';\n// export {CometChatCallHistoryWithDetailsComponent} from './Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details/cometchat-call-history-with-details.component';\nexport {CometChatIncomingCall} from './Calls/CometChatIncomingCall/cometchat-incoming-call.module';\nexport {CometChatIncomingCallComponent} from './Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component';\nexport {CometChatOngoingCall} from './Calls/CometChatOngoingCall/cometchat-ongoing-call.module';\nexport {CometChatOngoingCallComponent} from './Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component';\nexport {CometChatOutgoingCall} from './Calls/CometChatOutgoingCall/cometchat-outgoing-call.module';\nexport {CometChatOutgoingCallComponent} from './Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component';\n\n\n// chatuikit\nexport {CometChatAddMembersComponent} from './CometChatAddMembers/cometchat-add-members/cometchat-add-members.component'\nexport {CometChatAddMembers} from './CometChatAddMembers/cometchat-add-members.module'\nexport {CometChatBannedMembers} from './CometChatBannedMembers/cometchat-banned-members.module'\nexport {CometChatBannedMembersComponent} from './CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component'\nexport {CometChatConversations} from './CometChatConversations/cometchat-conversations.module'\nexport {CometChatConversationsComponent} from './CometChatConversations/cometchat-conversations/cometchat-conversations.component'\nexport {CometChatConversationsWithMessages} from './CometChatConversationsWithMessages/cometchat-conversations-with-messages.module'\nexport {CometChatConversationsWithMessagesComponent} from './CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component'\nexport {CometChatDetails} from './CometChatDetails/cometchat-details.module'\nexport {CometChatDetailsComponent} from './CometChatDetails/cometchat-details/cometchat-details.component'\nexport {CometChatGroupMembers} from './CometChatGroupMembers/cometchat-group-members.module'\nexport {CometChatGroupMembersComponent} from './CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component'\nexport {CometChatGroups} from './CometChatGroups/cometchat-groups.module'\nexport {CometChatGroupsComponent} from './CometChatGroups/cometchat-groups/cometchat-groups.component'\nexport {CometChatGroupsWithMessages} from './CometChatGroupsWithMessages/cometchat-groups-with-messages.module'\nexport {CometChatGroupsWithMessagesComponent} from './CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component'\nexport {CometChatList} from './CometChatList/cometchat-list.module'\nexport {CometchatListComponent} from './CometChatList/cometchat-list.component'\nexport {CometChatMessageBubble} from './CometChatMessageBubble/cometchat-message-bubble.module'\nexport {CometChatMessageBubbleComponent} from './CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component'\nexport {CometChatMessageComposer} from './CometChatMessageComposer/cometchat-message-composer.module'\nexport {CometChatMessageComposerComponent} from './CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component'\nexport {CometChatMessageHeader} from './CometChatMessageHeader/cometchat-message-header.module'\nexport {CometChatMessageHeaderComponent} from './CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component'\nexport {CometChatMessageList} from './CometChatMessageList/cometchat-message-list.module'\nexport {CometChatMessageListComponent} from './CometChatMessageList/cometchat-message-list/cometchat-message-list.component'\nexport {CometChatMessages} from './CometChatMessages/cometchat-messages.module'\nexport {CometChatMessagesComponent} from './CometChatMessages/cometchat-messages/cometchat-messages.component'\nexport {CometChatThreadedMessages} from './CometChatThreadedMessages/cometchat-threaded-messages.module'\nexport {CometChatThreadedMessagesComponent} from './CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component'\nexport {CometChatTransferOwnership} from './CometChatTransferOwnership/cometchat-transfer-ownership.module'\nexport {CometChatTransferOwnershipComponent} from './CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component'\nexport {CometChatUsersComponent} from './CometChatUsers/cometchat-users/cometchat-users.component'\nexport {CometChatUsers} from './CometChatUsers/cometchat-users.module'\nexport {CometChatUsersWithMessagesComponent} from './CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component'\nexport {CometChatUsersWithMessages} from './CometChatUsersWithMessages/cometchat-users-with-messages.module'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CometChatThemeService","i2","i2.CometChatOngoingCallComponent","i3.CometChatOutgoingCallComponent","i4","i1","TitleAlignment","States","i2.CometchatListComponent","SelectionMode","i2.CometChatUsersComponent","MessageStatus","MessageBubbleAlignment","i2.CometChatMessageBubbleComponent","i3.CometChatOngoingCallComponent","i2.CometChatMessageListComponent","i3.CometChatMessageComposerComponent","i2.CometChatGroupMembersComponent","i2.CometChatAddMembersComponent","i3.CometChatBannedMembersComponent","i4.CometChatGroupMembersComponent","i5.CometChatTransferOwnershipComponent","i6","i2.CometChatMessageHeaderComponent","i3.CometChatMessageListComponent","i4.CometChatMessageComposerComponent","i5.CometChatThreadedMessagesComponent","i6.CometChatDetailsComponent","i7.CometChatCallButtonsComponent","i8","i2.CometChatConversationsComponent","i3.CometChatMessagesComponent","i2.CometChatGroupsComponent","i4.CometChatMessageHeaderComponent","i5"],"mappings":"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"}