@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,337 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from "@angular/core";
2
+ import { CometChat } from "@cometchat-pro/chat";
3
+ import { AvatarStyle, ListItemStyle } from '@cometchat/uikit-elements';
4
+ import { localize, TitleAlignment, SelectionMode, CometChatGroupEvents, fontHelper } from "@cometchat/uikit-resources";
5
+ import { TransferOwnershipStyle, GroupMembersStyle } from "@cometchat/uikit-shared";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../CometChatTheme.service";
8
+ import * as i2 from "../../CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component";
9
+ import * as i3 from "@angular/common";
10
+ /**
11
+ *
12
+ * CometChatTransferOwnershipComponent is used to render users list to transfer wonership
13
+ *
14
+ * @version 1.0.0
15
+ * @author CometChatTeam
16
+ * @copyright © 2022 CometChat Inc.
17
+ *
18
+ */
19
+ export class CometChatTransferOwnershipComponent {
20
+ constructor(ref, themeService) {
21
+ this.ref = ref;
22
+ this.themeService = themeService;
23
+ this.disableUsersPresence = false;
24
+ this.closeButtonIconURL = "assets/close2x.svg";
25
+ this.hideSeparator = false;
26
+ this.searchPlaceholder = localize("SEARCH");
27
+ this.searchIconURL = "assets/search.svg";
28
+ this.hideSearch = true;
29
+ this.title = localize("TRANSFER_OWNERSHIP");
30
+ this.onError = (error) => {
31
+ console.log(error);
32
+ };
33
+ this.loadingIconURL = "assets/Spinner.svg";
34
+ this.emptyStateText = localize("NO_GROUPS_FOUND");
35
+ this.errorStateText = localize("SOMETHING_WRONG");
36
+ this.statusIndicatorStyle = {
37
+ height: "10px",
38
+ width: "10px",
39
+ borderRadius: "16px",
40
+ border: ""
41
+ };
42
+ this.transferOwnershipStyle = {
43
+ width: "360px",
44
+ height: "650px",
45
+ borderRadius: "8px",
46
+ };
47
+ this.transferButtonText = localize("TRANSFER_OWNERSHIP");
48
+ this.cancelButtonText = localize("CANCEL");
49
+ this.avatarStyle = {
50
+ borderRadius: "16px",
51
+ width: "32px",
52
+ height: "32px",
53
+ };
54
+ this.groupMemberStyle = {
55
+ width: "100%",
56
+ height: "100%",
57
+ background: "",
58
+ border: "",
59
+ borderRadius: "8px",
60
+ padding: "0"
61
+ };
62
+ this.listItemStyle = {
63
+ height: "100%",
64
+ width: "100%",
65
+ background: "",
66
+ separatorColor: "rgb(222 222 222 / 46%)"
67
+ };
68
+ this.titleAlignment = TitleAlignment.center;
69
+ this.selectionMode = SelectionMode.single;
70
+ this.showBackButton = false;
71
+ this.transferButtonStyle = {
72
+ height: "100%",
73
+ width: "100%",
74
+ background: "rgb(51, 153, 255)",
75
+ padding: "8px",
76
+ buttonTextColor: "white",
77
+ buttonTextFont: "600 15px Inter, sans-serif",
78
+ display: "flex",
79
+ justifyContent: "center",
80
+ alignItems: "center",
81
+ border: "none",
82
+ borderRadius: "8px"
83
+ };
84
+ this.cancelButtonStyle = {
85
+ height: "100%",
86
+ width: "100%",
87
+ background: "white",
88
+ padding: "8px",
89
+ buttonTextColor: "black",
90
+ buttonTextFont: "600 15px Inter, sans-serif",
91
+ display: "flex",
92
+ justifyContent: "center",
93
+ alignItems: "center",
94
+ border: "1px solid #e0e0e0",
95
+ borderRadius: "8px"
96
+ };
97
+ this.onOwnerSelected = (member) => {
98
+ this.selectedMember = member;
99
+ };
100
+ this.onTransferClick = () => {
101
+ CometChat.getUser(this.selectedMember?.getUid()).then((user) => {
102
+ this.selectedUser = user;
103
+ })
104
+ .catch((error) => {
105
+ if (this.onError) {
106
+ this.onError(error);
107
+ }
108
+ });
109
+ if (this.onTransferOwnership) {
110
+ this.onTransferOwnership(this.selectedMember);
111
+ this.selectedMember = null;
112
+ }
113
+ else {
114
+ if (this.selectedMember) {
115
+ CometChat.transferGroupOwnership(this.group.getGuid(), this.selectedMember.getUid()).then((response) => {
116
+ this.group.setOwner(this.selectedMember.getUid());
117
+ CometChatGroupEvents.ccOwnershipChanged.next({
118
+ group: this.group,
119
+ newOwner: this.selectedMember
120
+ });
121
+ this.selectedMember = null;
122
+ })
123
+ .catch((error) => {
124
+ if (this.onError) {
125
+ this.onError(error);
126
+ }
127
+ });
128
+ }
129
+ }
130
+ };
131
+ this.closeClicked = () => {
132
+ if (this.onClose) {
133
+ this.onClose();
134
+ }
135
+ };
136
+ this.membersStyle = () => {
137
+ return {
138
+ height: this.groupMemberStyle.height,
139
+ width: this.groupMemberStyle.width,
140
+ background: this.groupMemberStyle.background,
141
+ border: this.groupMemberStyle.border,
142
+ borderRadius: this.groupMemberStyle.borderRadius
143
+ };
144
+ };
145
+ this.wrapperStyle = () => {
146
+ return {
147
+ height: this.transferOwnershipStyle.height || "80vh",
148
+ width: this.transferOwnershipStyle.width || "360px",
149
+ background: this.transferOwnershipStyle.background,
150
+ border: this.transferOwnershipStyle.border,
151
+ borderRadius: this.transferOwnershipStyle.borderRadius
152
+ };
153
+ };
154
+ this.getScopeStyle = () => {
155
+ return {
156
+ textFont: this.transferOwnershipStyle.MemberScopeTextFont,
157
+ textColor: this.transferOwnershipStyle.MemberScopeTextColor
158
+ };
159
+ };
160
+ }
161
+ ngOnInit() {
162
+ CometChat.getLoggedinUser().then((user) => {
163
+ this.loggedInUser = user;
164
+ }).catch((error) => {
165
+ if (this.onError) {
166
+ this.onError(error);
167
+ }
168
+ });
169
+ this.setThemeStyle();
170
+ }
171
+ setThemeStyle() {
172
+ this.setGroupMembersStyle();
173
+ this.setListItemStyle();
174
+ this.setAvatarStyle();
175
+ this.setownershipStyle();
176
+ this.setStatusStyle();
177
+ this.transferButtonStyle.buttonTextFont = this.transferOwnershipStyle.transferButtonTextFont || fontHelper(this.themeService.theme.typography.subtitle1);
178
+ this.transferButtonStyle.buttonTextColor = this.transferOwnershipStyle.transferButtonTextColor || this.themeService.theme.palette.getAccent900();
179
+ this.transferButtonStyle.background = this.themeService.theme.palette.getPrimary();
180
+ this.cancelButtonStyle.background = this.themeService.theme.palette.getSecondary();
181
+ this.cancelButtonStyle.buttonTextFont = this.transferOwnershipStyle.cancelButtonTextFont || fontHelper(this.themeService.theme.typography.subtitle1);
182
+ this.cancelButtonStyle.buttonTextColor = this.transferOwnershipStyle.cancelButtonTextColor || this.themeService.theme.palette.getAccent();
183
+ this.ref.detectChanges();
184
+ }
185
+ setListItemStyle() {
186
+ let defaultStyle = new ListItemStyle({
187
+ height: "45px",
188
+ width: "100%",
189
+ background: this.themeService.theme.palette.getBackground(),
190
+ activeBackground: "transparent",
191
+ borderRadius: "0",
192
+ titleFont: fontHelper(this.themeService.theme.typography.title2),
193
+ titleColor: this.themeService.theme.palette.getAccent(),
194
+ border: "none",
195
+ separatorColor: this.themeService.theme.palette.getAccent200(),
196
+ hoverBackground: "transparent"
197
+ });
198
+ this.listItemStyle = { ...defaultStyle, ...this.listItemStyle };
199
+ }
200
+ setGroupMembersStyle() {
201
+ let defaultStyle = new GroupMembersStyle({
202
+ background: this.themeService.theme.palette.getBackground(),
203
+ border: `1px solid ${this.themeService.theme.palette.getAccent50()}`,
204
+ titleTextFont: fontHelper(this.themeService.theme.typography.title1),
205
+ titleTextColor: this.themeService.theme.palette.getAccent(),
206
+ emptyStateTextFont: fontHelper(this.themeService.theme.typography.title1),
207
+ emptyStateTextColor: this.themeService.theme.palette.getAccent600(),
208
+ errorStateTextFont: fontHelper(this.themeService.theme.typography.title1),
209
+ errorStateTextColor: this.themeService.theme.palette.getAccent600(),
210
+ loadingIconTint: this.themeService.theme.palette.getAccent600(),
211
+ onlineStatusColor: this.themeService.theme.palette.getSuccess(),
212
+ separatorColor: this.themeService.theme.palette.getAccent400(),
213
+ width: "100%",
214
+ height: "100%",
215
+ borderRadius: "none",
216
+ searchIconTint: this.themeService.theme.palette.getAccent600(),
217
+ searchPlaceholderTextColor: this.themeService.theme.palette.getAccent600(),
218
+ searchBackground: this.themeService.theme.palette.getAccent100(),
219
+ searchPlaceholderTextFont: fontHelper(this.themeService.theme.typography.text3),
220
+ searchTextColor: this.themeService.theme.palette.getAccent600(),
221
+ searchTextFont: fontHelper(this.themeService.theme.typography.text3),
222
+ searchBorderRadius: "8px",
223
+ closeButtonIconTint: this.themeService.theme.palette.getPrimary(),
224
+ backButtonIconTint: this.themeService.theme.palette.getPrimary(),
225
+ padding: "0 100px",
226
+ });
227
+ this.groupMemberStyle = { ...defaultStyle, ...this.groupMemberStyle };
228
+ this.ref.detectChanges();
229
+ }
230
+ setAvatarStyle() {
231
+ let defaultStyle = new AvatarStyle({
232
+ borderRadius: "24px",
233
+ width: "28px",
234
+ height: "28px",
235
+ border: "none",
236
+ backgroundColor: this.themeService.theme.palette.getAccent700(),
237
+ nameTextColor: this.themeService.theme.palette.getAccent900(),
238
+ backgroundSize: "cover",
239
+ nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),
240
+ outerViewBorder: "",
241
+ outerViewBorderSpacing: "",
242
+ });
243
+ this.avatarStyle = { ...defaultStyle, ...this.avatarStyle };
244
+ }
245
+ setStatusStyle() {
246
+ let defaultStyle = {
247
+ height: "10px",
248
+ width: "10px",
249
+ border: "none",
250
+ borderRadius: "24px",
251
+ };
252
+ this.statusIndicatorStyle = { ...defaultStyle, ...this.statusIndicatorStyle };
253
+ }
254
+ setownershipStyle() {
255
+ let defaultStyle = new TransferOwnershipStyle({
256
+ background: this.themeService.theme.palette.getBackground(),
257
+ border: `1px solid ${this.themeService.theme.palette.getAccent50()}`,
258
+ MemberScopeTextFont: fontHelper(this.themeService.theme.typography.subtitle1),
259
+ MemberScopeTextColor: this.themeService.theme.palette.getAccent600(),
260
+ transferButtonTextFont: fontHelper(this.themeService.theme.typography.title2),
261
+ transferButtonTextColor: this.themeService.theme.palette.getAccent("dark"),
262
+ cancelButtonTextFont: fontHelper(this.themeService.theme.typography.title2),
263
+ cancelButtonTextColor: this.themeService.theme.palette.getAccent("light"),
264
+ width: "360px",
265
+ height: "650px",
266
+ borderRadius: "8px",
267
+ });
268
+ this.transferOwnershipStyle = { ...defaultStyle, ...this.transferOwnershipStyle };
269
+ }
270
+ }
271
+ CometChatTransferOwnershipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTransferOwnershipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
272
+ CometChatTransferOwnershipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatTransferOwnershipComponent, selector: "cometchat-transfer-ownership", inputs: { groupMemberRequestBuilder: "groupMemberRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", options: "options", closeButtonIconURL: "closeButtonIconURL", hideSeparator: "hideSeparator", searchPlaceholder: "searchPlaceholder", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onClose: "onClose", onTransferOwnership: "onTransferOwnership", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", statusIndicatorStyle: "statusIndicatorStyle", transferOwnershipStyle: "transferOwnershipStyle", transferButtonText: "transferButtonText", cancelButtonText: "cancelButtonText", avatarStyle: "avatarStyle", groupMemberStyle: "groupMemberStyle", listItemStyle: "listItemStyle", titleAlignment: "titleAlignment" }, ngImport: i0, template: "\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>", styles: [".cc-transfer-ownership__buttons--confirm,.cc-transfer-ownership__buttons--cancel{height:42px;width:100%}.cc-transfer-ownership{width:320px;height:650%;background-color:#fff;box-shadow:0 0 10px #00000080;display:flex;flex-direction:column;padding:8px;justify-content:space-between;position:relative}.modal-header{display:flex;justify-content:center;align-items:center;height:40px}.cc-transfer-ownership__members{height:85%}.cc-transfer-ownership-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:15%;gap:10px}\n"], components: [{ type: i2.CometChatGroupMembersComponent, selector: "cometchat-group-members", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "tailView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "backdropStyle", "onBack", "onClose", "onSelect", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "dropdownIconURL", "statusIndicatorStyle", "avatarStyle", "groupMemberStyle", "groupScopeStyle", "listItemStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTransferOwnershipComponent, decorators: [{
274
+ type: Component,
275
+ args: [{ selector: "cometchat-transfer-ownership", changeDetection: ChangeDetectionStrategy.OnPush, template: "\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>", styles: [".cc-transfer-ownership__buttons--confirm,.cc-transfer-ownership__buttons--cancel{height:42px;width:100%}.cc-transfer-ownership{width:320px;height:650%;background-color:#fff;box-shadow:0 0 10px #00000080;display:flex;flex-direction:column;padding:8px;justify-content:space-between;position:relative}.modal-header{display:flex;justify-content:center;align-items:center;height:40px}.cc-transfer-ownership__members{height:85%}.cc-transfer-ownership-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:15%;gap:10px}\n"] }]
276
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.CometChatThemeService }]; }, propDecorators: { groupMemberRequestBuilder: [{
277
+ type: Input
278
+ }], searchRequestBuilder: [{
279
+ type: Input
280
+ }], subtitleView: [{
281
+ type: Input
282
+ }], listItemView: [{
283
+ type: Input
284
+ }], disableUsersPresence: [{
285
+ type: Input
286
+ }], options: [{
287
+ type: Input
288
+ }], closeButtonIconURL: [{
289
+ type: Input
290
+ }], hideSeparator: [{
291
+ type: Input
292
+ }], searchPlaceholder: [{
293
+ type: Input
294
+ }], searchIconURL: [{
295
+ type: Input
296
+ }], hideSearch: [{
297
+ type: Input
298
+ }], title: [{
299
+ type: Input
300
+ }], onError: [{
301
+ type: Input
302
+ }], onClose: [{
303
+ type: Input
304
+ }], onTransferOwnership: [{
305
+ type: Input
306
+ }], group: [{
307
+ type: Input
308
+ }], emptyStateView: [{
309
+ type: Input
310
+ }], errorStateView: [{
311
+ type: Input
312
+ }], loadingIconURL: [{
313
+ type: Input
314
+ }], loadingStateView: [{
315
+ type: Input
316
+ }], emptyStateText: [{
317
+ type: Input
318
+ }], errorStateText: [{
319
+ type: Input
320
+ }], statusIndicatorStyle: [{
321
+ type: Input
322
+ }], transferOwnershipStyle: [{
323
+ type: Input
324
+ }], transferButtonText: [{
325
+ type: Input
326
+ }], cancelButtonText: [{
327
+ type: Input
328
+ }], avatarStyle: [{
329
+ type: Input
330
+ }], groupMemberStyle: [{
331
+ type: Input
332
+ }], listItemStyle: [{
333
+ type: Input
334
+ }], titleAlignment: [{
335
+ type: Input
336
+ }] } });
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0NvbWV0Q2hhdFRyYW5zZmVyT3duZXJzaGlwL2NvbWV0Y2hhdC10cmFuc2Zlci1vd25lcnNoaXAvY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0NvbWV0Q2hhdFRyYW5zZmVyT3duZXJzaGlwL2NvbWV0Y2hhdC10cmFuc2Zlci1vd25lcnNoaXAvY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFXLEtBQUssRUFBcUIsdUJBQXVCLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQWEsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUE7QUFDL0UsT0FBTyxFQUFtQixRQUFRLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBMkIsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakssT0FBTyxFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBR3BGOzs7Ozs7OztFQVFFO0FBT0YsTUFBTSxPQUFPLG1DQUFtQztJQXFFN0MsWUFBb0IsR0FBc0IsRUFBUyxZQUFrQztRQUFqRSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQS9EN0UseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBRXRDLHVCQUFrQixHQUFXLG9CQUFvQixDQUFB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SztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQU1HLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFNRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBTUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBUUcsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCAgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVGVtcGxhdGVSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0IH0gZnJvbSBcIkBjb21ldGNoYXQtcHJvL2NoYXRcIjtcbmltcG9ydCB7QXZhdGFyU3R5bGUsIEJhc2VTdHlsZSwgTGlzdEl0ZW1TdHlsZX0gZnJvbSAnQGNvbWV0Y2hhdC91aWtpdC1lbGVtZW50cydcbmltcG9ydCB7IENvbWV0Q2hhdE9wdGlvbiwgbG9jYWxpemUsIFRpdGxlQWxpZ25tZW50LCBTZWxlY3Rpb25Nb2RlLCBDb21ldENoYXRHcm91cEV2ZW50cywgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMsIGZvbnRIZWxwZXIgfSBmcm9tIFwiQGNvbWV0Y2hhdC91aWtpdC1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IFRyYW5zZmVyT3duZXJzaGlwU3R5bGUsIEdyb3VwTWVtYmVyc1N0eWxlIH0gZnJvbSBcIkBjb21ldGNoYXQvdWlraXQtc2hhcmVkXCI7XG5pbXBvcnQgeyBDb21ldENoYXRUaGVtZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vQ29tZXRDaGF0VGhlbWUuc2VydmljZVwiO1xuXG4vKipcbipcbiogQ29tZXRDaGF0VHJhbnNmZXJPd25lcnNoaXBDb21wb25lbnQgaXMgdXNlZCB0byByZW5kZXIgdXNlcnMgbGlzdCB0byB0cmFuc2ZlciB3b25lcnNoaXBcbipcbiogQHZlcnNpb24gMS4wLjBcbiogQGF1dGhvciBDb21ldENoYXRUZWFtXG4qIEBjb3B5cmlnaHQgwqkgMjAyMiBDb21ldENoYXQgSW5jLlxuKlxuKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjb21ldGNoYXQtdHJhbnNmZXItb3duZXJzaGlwXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOkNoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBDb21ldENoYXRUcmFuc2Zlck93bmVyc2hpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGdyb3VwTWVtYmVyUmVxdWVzdEJ1aWxkZXIhOiBDb21ldENoYXQuR3JvdXBNZW1iZXJzUmVxdWVzdEJ1aWxkZXI7XG4gIEBJbnB1dCgpIHNlYXJjaFJlcXVlc3RCdWlsZGVyITogQ29tZXRDaGF0Lkdyb3VwTWVtYmVyc1JlcXVlc3RCdWlsZGVyO1xuXG4gIEBJbnB1dCgpIHN1YnRpdGxlVmlldyE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGxpc3RJdGVtVmlldyE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGRpc2FibGVVc2Vyc1ByZXNlbmNlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpICAgb3B0aW9ucyE6ICgobWVtYmVyOkNvbWV0Q2hhdC5Hcm91cE1lbWJlcik9PkNvbWV0Q2hhdE9wdGlvbltdKSB8IG51bGw7XG4gIEBJbnB1dCgpIGNsb3NlQnV0dG9uSWNvblVSTDogc3RyaW5nID0gXCJhc3NldHMvY2xvc2UyeC5zdmdcIlxuICBASW5wdXQoKSBoaWRlU2VwYXJhdG9yOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSBsb2NhbGl6ZShcIlNFQVJDSFwiKTtcbiAgQElucHV0KCkgc2VhcmNoSWNvblVSTDogc3RyaW5nID0gXCJhc3NldHMvc2VhcmNoLnN2Z1wiO1xuICBASW5wdXQoKSBoaWRlU2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IGxvY2FsaXplKFwiVFJBTlNGRVJfT1dORVJTSElQXCIpO1xuICBASW5wdXQoKSBvbkVycm9yOigoZXJyb3I6YW55KT0+dm9pZCkgfCBudWxsID0gKGVycm9yOmFueSk9PntcbiAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgfVxuICBASW5wdXQoKSBvbkNsb3NlITooKT0+dm9pZDtcbiAgQElucHV0KCkgb25UcmFuc2Zlck93bmVyc2hpcCE6KG1lbWJlcjpDb21ldENoYXQuR3JvdXBNZW1iZXIpPT52b2lkO1xuICBASW5wdXQoKSBncm91cCE6IENvbWV0Q2hhdC5Hcm91cDtcbiAgQElucHV0KCkgZW1wdHlTdGF0ZVZpZXchOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSBlcnJvclN0YXRlVmlldyE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGxvYWRpbmdJY29uVVJMOiBzdHJpbmcgPSBcImFzc2V0cy9TcGlubmVyLnN2Z1wiO1xuICBASW5wdXQoKSBsb2FkaW5nU3RhdGVWaWV3ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZW1wdHlTdGF0ZVRleHQ6IHN0cmluZyA9IGxvY2FsaXplKFwiTk9fR1JPVVBTX0ZPVU5EXCIpXG4gIEBJbnB1dCgpIGVycm9yU3RhdGVUZXh0OiBzdHJpbmcgPSBsb2NhbGl6ZShcIlNPTUVUSElOR19XUk9OR1wiKTtcbiAgQElucHV0KCkgc3RhdHVzSW5kaWNhdG9yU3R5bGU6IGFueSA9IHtcbiAgICBoZWlnaHQ6IFwiMTBweFwiLFxuICAgIHdpZHRoOiBcIjEwcHhcIixcbiAgICBib3JkZXJSYWRpdXM6IFwiMTZweFwiLFxuICAgIGJvcmRlcjpcIlwiXG4gIH07XG4gIEBJbnB1dCgpIHRyYW5zZmVyT3duZXJzaGlwU3R5bGU6VHJhbnNmZXJPd25lcnNoaXBTdHlsZSA9IHtcbiAgICB3aWR0aDogXCIzNjBweFwiLFxuICAgIGhlaWdodDogXCI2NTBweFwiLFxuXG4gICAgYm9yZGVyUmFkaXVzOiBcIjhweFwiLFxuICB9XG4gIEBJbnB1dCgpIHRyYW5zZmVyQnV0dG9uVGV4dDpzdHJpbmcgPSBsb2NhbGl6ZShcIlRSQU5TRkVSX09XTkVSU0hJUFwiKVxuICBASW5wdXQoKSBjYW5jZWxCdXR0b25UZXh0OnN0cmluZyA9IGxvY2FsaXplKFwiQ0FOQ0VMXCIpXG4gIEBJbnB1dCgpIGF2YXRhclN0eWxlOiBBdmF0YXJTdHlsZSA9IHtcbiAgICBib3JkZXJSYWRpdXM6IFwiMTZweFwiLFxuICAgIHdpZHRoOiBcIjMycHhcIixcbiAgICBoZWlnaHQ6IFwiMzJweFwiLFxuXG4gIH07XG4gIEBJbnB1dCgpIGdyb3VwTWVtYmVyU3R5bGU6IEdyb3VwTWVtYmVyc1N0eWxlID0ge1xuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIGJhY2tncm91bmQ6IFwiXCIsXG4gICAgYm9yZGVyOiBcIlwiLFxuICAgIGJvcmRlclJhZGl1czogXCI4cHhcIixcblxuICAgIHBhZGRpbmc6XCIwXCJcbiAgfTtcbiAgQElucHV0KCkgbGlzdEl0ZW1TdHlsZTogTGlzdEl0ZW1TdHlsZSA9IHtcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBiYWNrZ3JvdW5kOiBcIlwiLFxuXG4gICAgc2VwYXJhdG9yQ29sb3I6IFwicmdiKDIyMiAyMjIgMjIyIC8gNDYlKVwiXG4gIH07XG5cbiAgQElucHV0KCkgdGl0bGVBbGlnbm1lbnQ6IFRpdGxlQWxpZ25tZW50ID0gVGl0bGVBbGlnbm1lbnQuY2VudGVyO1xuICAgcHVibGljIHNlbGVjdGlvbk1vZGU6IFNlbGVjdGlvbk1vZGUgPSBTZWxlY3Rpb25Nb2RlLnNpbmdsZTtcbiAgIHB1YmxpYyBzaG93QmFja0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgcHVibGljIHNlbGVjdGVkTWVtYmVyITogQ29tZXRDaGF0Lkdyb3VwTWVtYmVyIHwgbnVsbDtcbiAgIHB1YmxpYyBsb2dnZWRJblVzZXIhOiBDb21ldENoYXQuVXNlciB8IG51bGw7XG4gICBwdWJsaWMgc2VsZWN0ZWRVc2VyITpDb21ldENoYXQuVXNlcjtcbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcml2YXRlIHRoZW1lU2VydmljZTpDb21ldENoYXRUaGVtZVNlcnZpY2UpIHtcbiAgIH1cbiAgIHB1YmxpYyAgdHJhbnNmZXJCdXR0b25TdHlsZTphbnkgPSB7XG4gICAgaGVpZ2h0OlwiMTAwJVwiLFxuICAgIHdpZHRoOlwiMTAwJVwiLFxuICAgIGJhY2tncm91bmQ6XCJyZ2IoNTEsIDE1MywgMjU1KVwiLFxuICAgIHBhZGRpbmc6XCI4cHhcIixcbiAgICBidXR0b25UZXh0Q29sb3I6XCJ3aGl0ZVwiLFxuICAgIGJ1dHRvblRleHRGb250OlwiNjAwIDE1cHggSW50ZXIsIHNhbnMtc2VyaWZcIixcbiAgICBkaXNwbGF5OlwiZmxleFwiLFxuICAgIGp1c3RpZnlDb250ZW50OlwiY2VudGVyXCIsXG4gICAgYWxpZ25JdGVtczpcImNlbnRlclwiLFxuICAgIGJvcmRlcjpcIm5vbmVcIixcbiAgICBib3JkZXJSYWRpdXM6XCI4cHhcIlxufVxuICAgcHVibGljIGNhbmNlbEJ1dHRvblN0eWxlOmFueSA9IHtcbiAgaGVpZ2h0OlwiMTAwJVwiLFxuICB3aWR0aDpcIjEwMCVcIixcbiAgYmFja2dyb3VuZDpcIndoaXRlXCIsXG4gIHBhZGRpbmc6XCI4cHhcIixcbiAgYnV0dG9uVGV4dENvbG9yOlwiYmxhY2tcIixcbiAgYnV0dG9uVGV4dEZvbnQ6XCI2MDAgMTVweCBJbnRlciwgc2Fucy1zZXJpZlwiLFxuICBkaXNwbGF5OlwiZmxleFwiLFxuICBqdXN0aWZ5Q29udGVudDpcImNlbnRlclwiLFxuICBhbGlnbkl0ZW1zOlwiY2VudGVyXCIsXG4gIGJvcmRlcjpcIjFweCBzb2xpZCAjZTBlMGUwXCIsXG4gIGJvcmRlclJhZGl1czpcIjhweFwiXG59XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIENvbWV0Q2hhdC5nZXRMb2dnZWRpblVzZXIoKS50aGVuKCh1c2VyOiBDb21ldENoYXQuVXNlciB8IG51bGwpID0+IHtcbiAgICAgIHRoaXMubG9nZ2VkSW5Vc2VyID0gdXNlclxuICAgIH0pLmNhdGNoKChlcnJvcjpDb21ldENoYXQuQ29tZXRDaGF0RXhjZXB0aW9uKT0+e1xuICAgICAgaWYodGhpcy5vbkVycm9yKXtcbiAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKVxuICAgICAgfVxuICAgIH0pXG4gICAgdGhpcy5zZXRUaGVtZVN0eWxlKClcbiAgfVxuICBvbk93bmVyU2VsZWN0ZWQgPSAobWVtYmVyOkNvbWV0Q2hhdC5Hcm91cE1lbWJlcik9PntcbiAgICB0aGlzLnNlbGVjdGVkTWVtYmVyID0gbWVtYmVyXG4gIH1cbiAgb25UcmFuc2ZlckNsaWNrID0gKCk9PntcbkNvbWV0Q2hhdC5nZXRVc2VyKHRoaXMuc2VsZWN0ZWRNZW1iZXI/LmdldFVpZCgpKS50aGVuKCh1c2VyOkNvbWV0Q2hhdC5Vc2VyKT0+e1xudGhpcy5zZWxlY3RlZFVzZXIgPSB1c2VyXG59KVxuLmNhdGNoKChlcnJvcjphbnkpPT57XG4gIGlmKHRoaXMub25FcnJvcil7XG4gICAgdGhpcy5vbkVycm9yKGVycm9yKVxuICB9XG59KVxuICAgIGlmKHRoaXMub25UcmFuc2Zlck93bmVyc2hpcCl7XG4gICAgICB0aGlzLm9uVHJhbnNmZXJPd25lcnNoaXAodGhpcy5zZWxlY3RlZE1lbWJlciEpXG4gICAgICB0aGlzLnNlbGVjdGVkTWVtYmVyID0gbnVsbFxuICAgIH1cbiAgICBlbHNle1xuaWYodGhpcy5zZWxlY3RlZE1lbWJlcil7XG4gIENvbWV0Q2hhdC50cmFuc2Zlckdyb3VwT3duZXJzaGlwKHRoaXMuZ3JvdXAuZ2V0R3VpZCgpLHRoaXMuc2VsZWN0ZWRNZW1iZXIhLmdldFVpZCgpKS50aGVuKChyZXNwb25zZTpzdHJpbmcpPT57XG4gICAgdGhpcy5ncm91cC5zZXRPd25lcih0aGlzLnNlbGVjdGVkTWVtYmVyIS5nZXRVaWQoKSlcbiAgIENvbWV0Q2hhdEdyb3VwRXZlbnRzLmNjT3duZXJzaGlwQ2hhbmdlZC5uZXh0KFxuICAgIHtcbiAgICAgIGdyb3VwOnRoaXMuZ3JvdXAsXG4gICAgICBuZXdPd25lcjp0aGlzLnNlbGVjdGVkTWVtYmVyIVxuICAgICAgIH1cbiAgIClcbiAgICB0aGlzLnNlbGVjdGVkTWVtYmVyID0gbnVsbFxuICB9KVxuICAuY2F0Y2goKGVycm9yOmFueSk9PntcbiAgICBpZih0aGlzLm9uRXJyb3Ipe1xuICAgICAgdGhpcy5vbkVycm9yKGVycm9yKVxuICAgIH1cbiAgfSlcbn1cbiAgICB9XG4gIH1cbiAgY2xvc2VDbGlja2VkID0oKT0+e1xuICAgIGlmKHRoaXMub25DbG9zZSl7XG4gICAgICB0aGlzLm9uQ2xvc2UoKVxuICAgIH1cbiAgfVxuICBzZXRUaGVtZVN0eWxlKCkge1xuICAgIHRoaXMuc2V0R3JvdXBNZW1iZXJzU3R5bGUoKVxuICAgIHRoaXMuc2V0TGlzdEl0ZW1TdHlsZSgpO1xuICAgIHRoaXMuc2V0QXZhdGFyU3R5bGUoKTtcbiAgICB0aGlzLnNldG93bmVyc2hpcFN0eWxlKCk7XG4gICAgdGhpcy5zZXRTdGF0dXNTdHlsZSgpO1xuICAgIHRoaXMudHJhbnNmZXJCdXR0b25TdHlsZS5idXR0b25UZXh0Rm9udCA9IHRoaXMudHJhbnNmZXJPd25lcnNoaXBTdHlsZS50cmFuc2ZlckJ1dHRvblRleHRGb250IHx8IGZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS5zdWJ0aXRsZTEpO1xuICAgIHRoaXMudHJhbnNmZXJCdXR0b25TdHlsZS5idXR0b25UZXh0Q29sb3IgPSB0aGlzLnRyYW5zZmVyT3duZXJzaGlwU3R5bGUudHJhbnNmZXJCdXR0b25UZXh0Q29sb3IgfHwgdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ5MDAoKTtcbiAgICB0aGlzLnRyYW5zZmVyQnV0dG9uU3R5bGUuYmFja2dyb3VuZCA9IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0UHJpbWFyeSgpO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uU3R5bGUuYmFja2dyb3VuZCA9IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0U2Vjb25kYXJ5KCk7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25TdHlsZS5idXR0b25UZXh0Rm9udCA9IHRoaXMudHJhbnNmZXJPd25lcnNoaXBTdHlsZS5jYW5jZWxCdXR0b25UZXh0Rm9udCB8fCBmb250SGVscGVyKHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnR5cG9ncmFwaHkuc3VidGl0bGUxKTtcbiAgICB0aGlzLmNhbmNlbEJ1dHRvblN0eWxlLmJ1dHRvblRleHRDb2xvciA9IHRoaXMudHJhbnNmZXJPd25lcnNoaXBTdHlsZS5jYW5jZWxCdXR0b25UZXh0Q29sb3IgfHwgdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQoKTtcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgc2V0TGlzdEl0ZW1TdHlsZSgpe1xuICAgIGxldCBkZWZhdWx0U3R5bGU6TGlzdEl0ZW1TdHlsZSA9IG5ldyBMaXN0SXRlbVN0eWxlKHtcbiAgICAgIGhlaWdodDogXCI0NXB4XCIsXG4gICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kOiB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEJhY2tncm91bmQoKSxcbiAgICAgIGFjdGl2ZUJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlclJhZGl1czogXCIwXCIsXG4gICAgICB0aXRsZUZvbnQ6IGZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS50aXRsZTIpLFxuICAgICAgdGl0bGVDb2xvcjogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQoKSxcbiAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICBzZXBhcmF0b3JDb2xvcjp0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudDIwMCgpLFxuICAgICAgaG92ZXJCYWNrZ3JvdW5kOlwidHJhbnNwYXJlbnRcIlxuICAgIH0pXG4gICAgdGhpcy5saXN0SXRlbVN0eWxlID0gey4uLmRlZmF1bHRTdHlsZSwuLi50aGlzLmxpc3RJdGVtU3R5bGV9XG4gIH1cbiAgc2V0R3JvdXBNZW1iZXJzU3R5bGUoKXtcbiAgICBsZXQgZGVmYXVsdFN0eWxlOkdyb3VwTWVtYmVyc1N0eWxlID0gbmV3IEdyb3VwTWVtYmVyc1N0eWxlKHtcbiAgICAgIGJhY2tncm91bmQ6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRCYWNrZ3JvdW5kKCksXG4gICAgICBib3JkZXI6YDFweCBzb2xpZCAke3RoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NTAoKX1gLFxuICAgICAgdGl0bGVUZXh0Rm9udDpmb250SGVscGVyKHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnR5cG9ncmFwaHkudGl0bGUxKSxcbiAgICAgIHRpdGxlVGV4dENvbG9yOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50KCksXG4gICAgICBlbXB0eVN0YXRlVGV4dEZvbnQ6Zm9udEhlbHBlcih0aGlzLnRoZW1lU2VydmljZS50aGVtZS50eXBvZ3JhcGh5LnRpdGxlMSksXG4gICAgICBlbXB0eVN0YXRlVGV4dENvbG9yOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NjAwKCksXG4gICAgICBlcnJvclN0YXRlVGV4dEZvbnQ6Zm9udEhlbHBlcih0aGlzLnRoZW1lU2VydmljZS50aGVtZS50eXBvZ3JhcGh5LnRpdGxlMSksXG4gICAgICBlcnJvclN0YXRlVGV4dENvbG9yOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NjAwKCksXG4gICAgICBsb2FkaW5nSWNvblRpbnQ6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ2MDAoKSxcbiAgICAgIG9ubGluZVN0YXR1c0NvbG9yOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0U3VjY2VzcygpLFxuICAgICAgc2VwYXJhdG9yQ29sb3I6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ0MDAoKSxcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwibm9uZVwiLFxuICAgICAgc2VhcmNoSWNvblRpbnQ6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ2MDAoKSxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyVGV4dENvbG9yOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50NjAwKCksXG4gICAgICBzZWFyY2hCYWNrZ3JvdW5kOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50MTAwKCksXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlclRleHRGb250OmZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS50ZXh0MyksXG4gICAgICBzZWFyY2hUZXh0Q29sb3I6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ2MDAoKSxcbiAgICAgIHNlYXJjaFRleHRGb250OmZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS50ZXh0MyksXG4gICAgICBzZWFyY2hCb3JkZXJSYWRpdXM6XCI4cHhcIixcbiAgICAgIGNsb3NlQnV0dG9uSWNvblRpbnQ6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRQcmltYXJ5KCksXG4gICAgICBiYWNrQnV0dG9uSWNvblRpbnQ6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRQcmltYXJ5KCksXG4gICAgICBwYWRkaW5nOlwiMCAxMDBweFwiLFxuXG4gICAgfSlcbiAgICB0aGlzLmdyb3VwTWVtYmVyU3R5bGUgPSB7Li4uZGVmYXVsdFN0eWxlLC4uLnRoaXMuZ3JvdXBNZW1iZXJTdHlsZX1cblxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBzZXRBdmF0YXJTdHlsZSgpe1xuICAgIGxldCBkZWZhdWx0U3R5bGU6QXZhdGFyU3R5bGUgPSBuZXcgQXZhdGFyU3R5bGUoe1xuICAgICAgYm9yZGVyUmFkaXVzOiBcIjI0cHhcIixcbiAgICAgIHdpZHRoOiBcIjI4cHhcIixcbiAgICAgIGhlaWdodDogXCIyOHB4XCIsXG4gICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudDcwMCgpLFxuICAgICAgbmFtZVRleHRDb2xvcjogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ5MDAoKSxcbiAgICAgIGJhY2tncm91bmRTaXplOiBcImNvdmVyXCIsXG4gICAgICBuYW1lVGV4dEZvbnQ6IGZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS5zdWJ0aXRsZTEpLFxuICAgICAgb3V0ZXJWaWV3Qm9yZGVyOiBcIlwiLFxuICAgICAgb3V0ZXJWaWV3Qm9yZGVyU3BhY2luZzogXCJcIixcbiAgICB9KVxuICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB7Li4uZGVmYXVsdFN0eWxlLC4uLnRoaXMuYXZhdGFyU3R5bGV9XG4gIH1cbiAgc2V0U3RhdHVzU3R5bGUoKXtcbiAgICBsZXQgZGVmYXVsdFN0eWxlOkJhc2VTdHlsZSA9IHtcbiAgICAgICAgaGVpZ2h0OiBcIjEwcHhcIixcbiAgICAgICAgd2lkdGg6XCIxMHB4XCIsXG4gICAgICAgIGJvcmRlcjpcIm5vbmVcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOlwiMjRweFwiLFxuXG4gICAgfVxuICAgIHRoaXMuc3RhdHVzSW5kaWNhdG9yU3R5bGUgPSB7Li4uZGVmYXVsdFN0eWxlLC4uLnRoaXMuc3RhdHVzSW5kaWNhdG9yU3R5bGV9XG4gIH1cbiAgc2V0b3duZXJzaGlwU3R5bGUoKXtcbiAgICBsZXQgZGVmYXVsdFN0eWxlOlRyYW5zZmVyT3duZXJzaGlwU3R5bGUgPSBuZXcgVHJhbnNmZXJPd25lcnNoaXBTdHlsZSh7XG4gICAgICBiYWNrZ3JvdW5kOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QmFja2dyb3VuZCgpLFxuICAgICAgYm9yZGVyOmAxcHggc29saWQgJHt0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudDUwKCl9YCxcbiAgICAgIE1lbWJlclNjb3BlVGV4dEZvbnQ6IGZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS5zdWJ0aXRsZTEpLFxuICAgICAgTWVtYmVyU2NvcGVUZXh0Q29sb3I6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ2MDAoKSxcbiAgICAgIHRyYW5zZmVyQnV0dG9uVGV4dEZvbnQgOmZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS50aXRsZTIpLFxuICAgICAgdHJhbnNmZXJCdXR0b25UZXh0Q29sb3IgOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50KFwiZGFya1wiKSxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHRGb250IDpmb250SGVscGVyKHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnR5cG9ncmFwaHkudGl0bGUyKSxcbiAgICAgIGNhbmNlbEJ1dHRvblRleHRDb2xvciA6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQoXCJsaWdodFwiKSxcbiAgICAgIHdpZHRoOiBcIjM2MHB4XCIsXG4gICAgICBoZWlnaHQ6IFwiNjUwcHhcIixcbiAgICAgIGJvcmRlclJhZGl1czogXCI4cHhcIixcbiAgICB9KVxuICAgIHRoaXMudHJhbnNmZXJPd25lcnNoaXBTdHlsZSA9IHsuLi5kZWZhdWx0U3R5bGUsLi4udGhpcy50cmFuc2Zlck93bmVyc2hpcFN0eWxlfVxuICB9XG4gIG1lbWJlcnNTdHlsZSA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0OiB0aGlzLmdyb3VwTWVtYmVyU3R5bGUuaGVpZ2h0LFxuICAgICAgd2lkdGg6IHRoaXMuZ3JvdXBNZW1iZXJTdHlsZS53aWR0aCxcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMuZ3JvdXBNZW1iZXJTdHlsZS5iYWNrZ3JvdW5kLFxuICAgICAgYm9yZGVyOiB0aGlzLmdyb3VwTWVtYmVyU3R5bGUuYm9yZGVyLFxuICAgICAgYm9yZGVyUmFkaXVzOiB0aGlzLmdyb3VwTWVtYmVyU3R5bGUuYm9yZGVyUmFkaXVzXG4gICAgfVxuICB9XG4gIHdyYXBwZXJTdHlsZSA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgaGVpZ2h0OiB0aGlzLnRyYW5zZmVyT3duZXJzaGlwU3R5bGUuaGVpZ2h0IHx8IFwiODB2aFwiLFxuICAgICAgd2lkdGg6IHRoaXMudHJhbnNmZXJPd25lcnNoaXBTdHlsZS53aWR0aCB8fCBcIjM2MHB4XCIsXG4gICAgICBiYWNrZ3JvdW5kOiB0aGlzLnRyYW5zZmVyT3duZXJzaGlwU3R5bGUuYmFja2dyb3VuZCxcbiAgICAgIGJvcmRlcjogdGhpcy50cmFuc2Zlck93bmVyc2hpcFN0eWxlLmJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czogdGhpcy50cmFuc2Zlck93bmVyc2hpcFN0eWxlLmJvcmRlclJhZGl1c1xuICAgIH1cbiAgfVxuICBnZXRTY29wZVN0eWxlID0gKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXh0Rm9udDogdGhpcy50cmFuc2Zlck93bmVyc2hpcFN0eWxlLk1lbWJlclNjb3BlVGV4dEZvbnQsXG4gICAgICB0ZXh0Q29sb3I6IHRoaXMudHJhbnNmZXJPd25lcnNoaXBTdHlsZS5NZW1iZXJTY29wZVRleHRDb2xvclxuICAgIH1cbiAgfVxufVxuIiwiXG48ZGl2IGNsYXNzPVwiY2MtdHJhbnNmZXItb3duZXJzaGlwXCIgW25nU3R5bGVdPVwid3JhcHBlclN0eWxlKClcIj5cbiAgPGRpdiBjbGFzcz1cImNjLXRyYW5zZmVyLW93bmVyc2hpcF9fbWVtYmVyc1wiPlxuICAgIDxjb21ldGNoYXQtZ3JvdXAtbWVtYmVycyBbbGlzdEl0ZW1WaWV3XT1cImxpc3RJdGVtVmlld1wiIFtzZWFyY2hSZXF1ZXN0QnVpbGRlcl09XCJzZWFyY2hSZXF1ZXN0QnVpbGRlclwiXG4gICAgW2Vycm9yU3RhdGVUZXh0XT1cImVycm9yU3RhdGVUZXh0XCIgW2Vycm9yU3RhdGVWaWV3XT1cImVycm9yU3RhdGVWaWV3XCIgW2xvYWRpbmdTdGF0ZVZpZXddPVwibG9hZGluZ1N0YXRlVmlld1wiXG4gICAgW2hpZGVTZXBhcmF0b3JdPVwiaGlkZVNlcGFyYXRvclwiIFtlbXB0eVN0YXRlVGV4dF09XCJlbXB0eVN0YXRlVGV4dFwiXG4gICAgW2dyb3VwTWVtYmVyUmVxdWVzdEJ1aWxkZXJdPVwiZ3JvdXBNZW1iZXJSZXF1ZXN0QnVpbGRlclwiIFtoaWRlU2VhcmNoXT1cImZhbHNlXCJcbiAgICBbY2xvc2VCdXR0b25JY29uVVJMXT1cImNsb3NlQnV0dG9uSWNvblVSTFwiIFtsaXN0SXRlbVN0eWxlXT1cImxpc3RJdGVtU3R5bGVcIiBbZW1wdHlTdGF0ZVZpZXddPVwiZW1wdHlTdGF0ZVZpZXdcIlxuICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiIFtzdGF0dXNJbmRpY2F0b3JTdHlsZV09XCJzdGF0dXNJbmRpY2F0b3JTdHlsZVwiXG4gICAgW2F2YXRhclN0eWxlXT1cImF2YXRhclN0eWxlXCIgW2dyb3VwTWVtYmVyU3R5bGVdPVwiZ3JvdXBNZW1iZXJTdHlsZVwiIFtvbkVycm9yXT1cIm9uRXJyb3JcIlxuICAgIFtzdWJ0aXRsZVZpZXddPVwic3VidGl0bGVWaWV3XCIgW2Rpc2FibGVVc2Vyc1ByZXNlbmNlXT1cImRpc2FibGVVc2Vyc1ByZXNlbmNlXCIgW29uQ2xvc2VdPVwiY2xvc2VDbGlja2VkXCJcbiAgICBbb25TZWxlY3RdPVwib25Pd25lclNlbGVjdGVkXCIgW3RhaWxWaWV3XT1cInRhaWxWaWV3XCIgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgW3RpdGxlQWxpZ25tZW50XT1cInRpdGxlQWxpZ25tZW50XCIgW2dyb3VwXT1cImdyb3VwXCIgW3Nob3dCYWNrQnV0dG9uXT1cInNob3dCYWNrQnV0dG9uXCIgW3RpdGxlXT1cInRpdGxlXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiPlxuICAgIDwvY29tZXRjaGF0LWdyb3VwLW1lbWJlcnM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNjLXRyYW5zZmVyLW93bmVyc2hpcC1idXR0b25zXCI+XG4gICAgPGNvbWV0Y2hhdC1idXR0b24gY2xhc3M9XCJjYy10cmFuc2Zlci1vd25lcnNoaXBfX2J1dHRvbnMtLWNvbmZpcm1cIiBbdGV4dF09XCJ0cmFuc2ZlckJ1dHRvblRleHRcIlxuICAgICAgW2J1dHRvblN0eWxlXT1cInRyYW5zZmVyQnV0dG9uU3R5bGVcIiAoY2MtYnV0dG9uLWNsaWNrZWQpPVwib25UcmFuc2ZlckNsaWNrKClcIj48L2NvbWV0Y2hhdC1idXR0b24+XG4gICAgPGNvbWV0Y2hhdC1idXR0b24gY2xhc3M9XCJjYy10cmFuc2Zlci1vd25lcnNoaXBfX2J1dHRvbnMtLWNhbmNlbFwiIFt0ZXh0XT1cImNhbmNlbEJ1dHRvblRleHRcIlxuICAgICAgW2J1dHRvblN0eWxlXT1cImNhbmNlbEJ1dHRvblN0eWxlXCIgKGNjLWJ1dHRvbi1jbGlja2VkKT1cImNsb3NlQ2xpY2tlZCgpXCI+PC9jb21ldGNoYXQtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwhLS0gdmlldyBmb3IgbWVtYmVyIHNjb3BlIC0tPlxuPG5nLXRlbXBsYXRlICN0YWlsVmlldyBsZXQtZ3JvdXBNZW1iZXI+XG4gIDxjb21ldGNoYXQtbGFiZWwgW3RleHRdPVwiZ3JvdXBNZW1iZXI/LnNjb3BlXCIgW2xhYmVsU3R5bGVdPVwiZ2V0U2NvcGVTdHlsZSgpXCI+XG4gIDwvY29tZXRjaGF0LWxhYmVsPlxuICA8L25nLXRlbXBsYXRlPiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { CometChatTransferOwnershipComponent } from "./cometchat-transfer-ownership/cometchat-transfer-ownership.component";
4
+ import { FormsModule } from "@angular/forms";
5
+ import { CometChatGroupMembers } from "../CometChatGroupMembers/cometchat-group-members.module";
6
+ import * as i0 from "@angular/core";
7
+ export class CometChatTransferOwnership {
8
+ }
9
+ CometChatTransferOwnership.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTransferOwnership, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ CometChatTransferOwnership.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTransferOwnership, declarations: [CometChatTransferOwnershipComponent], imports: [CommonModule, FormsModule, CometChatGroupMembers], exports: [CometChatTransferOwnershipComponent] });
11
+ CometChatTransferOwnership.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTransferOwnership, imports: [[CommonModule, FormsModule, CometChatGroupMembers]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTransferOwnership, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [CometChatTransferOwnershipComponent],
16
+ imports: [CommonModule, FormsModule, CometChatGroupMembers],
17
+ exports: [CometChatTransferOwnershipComponent],
18
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0NvbWV0Q2hhdFRyYW5zZmVyT3duZXJzaGlwL2NvbWV0Y2hhdC10cmFuc2Zlci1vd25lcnNoaXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7QUFPaEcsTUFBTSxPQUFPLDBCQUEwQjs7d0hBQTFCLDBCQUEwQjt5SEFBMUIsMEJBQTBCLGlCQUx0QixtQ0FBbUMsYUFDeEMsWUFBWSxFQUFDLFdBQVcsRUFBQyxxQkFBcUIsYUFDOUMsbUNBQW1DO3lIQUdsQywwQkFBMEIsWUFKNUIsQ0FBQyxZQUFZLEVBQUMsV0FBVyxFQUFDLHFCQUFxQixDQUFDOzRGQUk5QywwQkFBMEI7a0JBTnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUNBQW1DLENBQUM7b0JBQ25ELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBQyxXQUFXLEVBQUMscUJBQXFCLENBQUM7b0JBQ3pELE9BQU8sRUFBRSxDQUFDLG1DQUFtQyxDQUFDO29CQUM5QyxPQUFPLEVBQUMsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDb21ldENoYXRUcmFuc2Zlck93bmVyc2hpcENvbXBvbmVudCB9IGZyb20gXCIuL2NvbWV0Y2hhdC10cmFuc2Zlci1vd25lcnNoaXAvY29tZXRjaGF0LXRyYW5zZmVyLW93bmVyc2hpcC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDb21ldENoYXRHcm91cE1lbWJlcnMgfSBmcm9tIFwiLi4vQ29tZXRDaGF0R3JvdXBNZW1iZXJzL2NvbWV0Y2hhdC1ncm91cC1tZW1iZXJzLm1vZHVsZVwiO1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ29tZXRDaGF0VHJhbnNmZXJPd25lcnNoaXBDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLEZvcm1zTW9kdWxlLENvbWV0Q2hhdEdyb3VwTWVtYmVyc10sXG4gIGV4cG9ydHM6IFtDb21ldENoYXRUcmFuc2Zlck93bmVyc2hpcENvbXBvbmVudF0sXG4gIHNjaGVtYXM6W0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXG59KVxuZXhwb3J0IGNsYXNzIENvbWV0Q2hhdFRyYW5zZmVyT3duZXJzaGlwIHt9XG4iXX0=