@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.
- package/Calls/CallingExtension.d.ts +5 -0
- package/Calls/CallingExtensionDecorator.d.ts +17 -0
- package/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.d.ts +75 -0
- package/Calls/CometChatCallButtons/cometchat-call-buttons.module.d.ts +11 -0
- package/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.d.ts +80 -0
- package/Calls/CometChatIncomingCall/cometchat-incoming-call.module.d.ts +11 -0
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.d.ts +26 -0
- package/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.d.ts +9 -0
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.d.ts +58 -0
- package/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.d.ts +10 -0
- package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +109 -0
- package/CometChatAddMembers/cometchat-add-members.module.d.ts +12 -0
- package/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.d.ts +140 -0
- package/CometChatBannedMembers/cometchat-banned-members.module.d.ts +13 -0
- package/CometChatConversations/cometchat-conversations/cometchat-conversations.component.d.ts +335 -0
- package/CometChatConversations/cometchat-conversations.module.d.ts +10 -0
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.d.ts +86 -0
- package/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.d.ts +12 -0
- package/CometChatDetails/cometchat-details/cometchat-details.component.d.ts +149 -0
- package/CometChatDetails/cometchat-details.module.d.ts +12 -0
- package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +145 -0
- package/CometChatGroupMembers/cometchat-group-members.module.d.ts +13 -0
- package/CometChatGroups/cometchat-groups/cometchat-groups.component.d.ts +136 -0
- package/CometChatGroups/cometchat-groups.module.d.ts +10 -0
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.d.ts +100 -0
- package/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.d.ts +13 -0
- package/CometChatList/cometchat-list.component.d.ts +87 -0
- package/CometChatList/cometchat-list.module.d.ts +10 -0
- package/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.d.ts +62 -0
- package/CometChatMessageBubble/cometchat-message-bubble.module.d.ts +8 -0
- package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +165 -0
- package/CometChatMessageComposer/cometchat-message-composer.module.d.ts +9 -0
- package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +85 -0
- package/CometChatMessageHeader/cometchat-message-header.module.d.ts +9 -0
- package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +510 -0
- package/CometChatMessageList/cometchat-message-list.module.d.ts +11 -0
- package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +136 -0
- package/CometChatMessages/cometchat-messages.module.d.ts +15 -0
- package/CometChatTheme.service.d.ts +7 -0
- package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +73 -0
- package/CometChatThreadedMessages/cometchat-threaded-messages.module.d.ts +12 -0
- package/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.d.ts +88 -0
- package/CometChatTransferOwnership/cometchat-transfer-ownership.module.d.ts +10 -0
- package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +105 -0
- package/CometChatUsers/cometchat-users.module.d.ts +11 -0
- package/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.d.ts +71 -0
- package/CometChatUsersWithMessages/cometchat-users-with-messages.module.d.ts +12 -0
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.d.ts +9 -0
- package/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.d.ts +17 -0
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.d.ts +9 -0
- package/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.d.ts +17 -0
- package/Extensions/ImageModeration/ImageModerationExtension.d.ts +5 -0
- package/Extensions/ImageModeration/ImageModerationExtensionDecorator.d.ts +6 -0
- package/Extensions/LinkPreviewExtension/LinkPreviewExtension.d.ts +5 -0
- package/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.d.ts +6 -0
- package/Extensions/MessageTranslation/MessageTranslationExtension.d.ts +9 -0
- package/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.d.ts +12 -0
- package/Extensions/PollsExtension/PollsExtension.d.ts +5 -0
- package/Extensions/PollsExtension/PollsExtensionDecorator.d.ts +15 -0
- package/Extensions/Reactions/ReactionExtension.d.ts +5 -0
- package/Extensions/Reactions/ReactionExtensionDecorator.d.ts +10 -0
- package/Extensions/SmartReplies/SmartRepliesExtension.d.ts +9 -0
- package/Extensions/SmartReplies/SmartRepliesExtensionDecorator.d.ts +16 -0
- package/Extensions/Stickers/StickersExtension.d.ts +9 -0
- package/Extensions/Stickers/StickersExtensionDecorator.d.ts +27 -0
- package/Extensions/TextModerator/TextModeratorExtension.d.ts +5 -0
- package/Extensions/TextModerator/TextModeratorExtensionDecorator.d.ts +9 -0
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.d.ts +5 -0
- package/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.d.ts +6 -0
- package/README.md +60 -0
- package/Shared/CometChatUIkit/CometChatUIKit.d.ts +18 -0
- package/Shared/Framework/ChatConfigurator.d.ts +8 -0
- package/Shared/Framework/DataSource.d.ts +29 -0
- package/Shared/Framework/DataSourceDecorator.d.ts +32 -0
- package/Shared/Framework/ExtensionDataSource.d.ts +3 -0
- package/Shared/Utils/MessageUtils.d.ts +43 -0
- package/assets/.gitkeep +0 -0
- package/assets/Audio-Call.svg +11 -0
- package/assets/Audio-Call2x.svg +11 -0
- package/assets/Copy.svg +17 -0
- package/assets/Grid-layout.svg +1 -0
- package/assets/Heart.svg +11 -0
- package/assets/Imagemoderation.svg +14 -0
- package/assets/Info.svg +13 -0
- package/assets/Locked.svg +10 -0
- package/assets/More@2x.svg +9 -0
- package/assets/Plus.svg +13 -0
- package/assets/Private.svg +10 -0
- package/assets/Reactionsicon.svg +9 -0
- package/assets/Send.svg +12 -0
- package/assets/Spinner.svg +15 -0
- package/assets/Stickers.svg +16 -0
- package/assets/Stipop.svg +9 -0
- package/assets/Video-call.svg +12 -0
- package/assets/Video-call2x.svg +12 -0
- package/assets/activity.svg +22 -0
- package/assets/addreaction.svg +9 -0
- package/assets/animals.svg +15 -0
- package/assets/attachment-file.svg +14 -0
- package/assets/audio-file.svg +12 -0
- package/assets/back.png +0 -0
- package/assets/backbutton.svg +12 -0
- package/assets/call.svg +1 -0
- package/assets/chats.svg +1 -0
- package/assets/checkmark.svg +11 -0
- package/assets/close.svg +12 -0
- package/assets/close2x.svg +12 -0
- package/assets/collaborativedocument.svg +13 -0
- package/assets/collaborativewhiteboard.svg +12 -0
- package/assets/create-button.svg +12 -0
- package/assets/declaration.d.ts +3 -0
- package/assets/delete.svg +7 -0
- package/assets/deleteicon.svg +15 -0
- package/assets/down-arrow.svg +1 -0
- package/assets/download.svg +13 -0
- package/assets/editicon.svg +14 -0
- package/assets/emoji.svg +2693 -0
- package/assets/file-upload.svg +2693 -0
- package/assets/flags.svg +12 -0
- package/assets/food.svg +26 -0
- package/assets/group.svg +40 -0
- package/assets/heart-reaction.png +0 -0
- package/assets/heart.png +0 -0
- package/assets/image.svg +2693 -0
- package/assets/incomingcall.wav +0 -0
- package/assets/increase-size.svg +6 -0
- package/assets/location.svg +2693 -0
- package/assets/message-delivered.png +0 -0
- package/assets/message-delivered.svg +4 -0
- package/assets/message-read.png +0 -0
- package/assets/message-read.svg +4 -0
- package/assets/message-sent.png +0 -0
- package/assets/message-sent.svg +3 -0
- package/assets/moreicon.svg +9 -0
- package/assets/objects.svg +13 -0
- package/assets/open-thread.svg +11 -0
- package/assets/password-protected-group.svg +3 -0
- package/assets/photolibrary.svg +11 -0
- package/assets/placeholder.png +0 -0
- package/assets/plus-rotated.svg +13 -0
- package/assets/polls.svg +14 -0
- package/assets/privacy.svg +4 -0
- package/assets/private-group.svg +9 -0
- package/assets/public.svg +3 -0
- package/assets/reduce-size.svg +6 -0
- package/assets/right-arrow.svg +6 -0
- package/assets/search.png +0 -0
- package/assets/search.svg +4 -0
- package/assets/side-arrow.svg +1 -0
- package/assets/smileys.svg +16 -0
- package/assets/start-chat.svg +1 -0
- package/assets/symbols.svg +16 -0
- package/assets/thread-arrow.svg +1 -0
- package/assets/thread-icon.svg +38 -0
- package/assets/threadicon.svg +14 -0
- package/assets/translation.svg +16 -0
- package/assets/travel.svg +18 -0
- package/assets/unsafe-content.svg +23 -0
- package/assets/user.svg +31 -0
- package/assets/video-upload.svg +2693 -0
- package/assets/video.svg +12 -0
- package/assets/wait.png +0 -0
- package/assets/wait.svg +4 -0
- package/assets/warning-small.png +0 -0
- package/assets/warning-small.svg +5 -0
- package/cometchat-chat-uikit-angular.d.ts +5 -0
- package/esm2020/Calls/CallingExtension.mjs +11 -0
- package/esm2020/Calls/CallingExtensionDecorator.mjs +114 -0
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +358 -0
- package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons.module.mjs +32 -0
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.mjs +423 -0
- package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call.module.mjs +32 -0
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.mjs +54 -0
- package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call.module.mjs +27 -0
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.mjs +196 -0
- package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call.module.mjs +28 -0
- package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +353 -0
- package/esm2020/CometChatAddMembers/cometchat-add-members.module.mjs +23 -0
- package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +446 -0
- package/esm2020/CometChatBannedMembers/cometchat-banned-members.module.mjs +24 -0
- package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +1400 -0
- package/esm2020/CometChatConversations/cometchat-conversations.module.mjs +28 -0
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +272 -0
- package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages.module.mjs +39 -0
- package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +696 -0
- package/esm2020/CometChatDetails/cometchat-details.module.mjs +27 -0
- package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +676 -0
- package/esm2020/CometChatGroupMembers/cometchat-group-members.module.mjs +24 -0
- package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +564 -0
- package/esm2020/CometChatGroups/cometchat-groups.module.mjs +28 -0
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +430 -0
- package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages.module.mjs +43 -0
- package/esm2020/CometChatList/cometchat-list.component.mjs +210 -0
- package/esm2020/CometChatList/cometchat-list.module.mjs +28 -0
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble/cometchat-message-bubble.component.mjs +157 -0
- package/esm2020/CometChatMessageBubble/cometchat-message-bubble.module.mjs +23 -0
- package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +930 -0
- package/esm2020/CometChatMessageComposer/cometchat-message-composer.module.mjs +24 -0
- package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +420 -0
- package/esm2020/CometChatMessageHeader/cometchat-message-header.module.mjs +26 -0
- package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +2598 -0
- package/esm2020/CometChatMessageList/cometchat-message-list.module.mjs +34 -0
- package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +393 -0
- package/esm2020/CometChatMessages/cometchat-messages.module.mjs +48 -0
- package/esm2020/CometChatTheme.service.mjs +17 -0
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +304 -0
- package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages.module.mjs +36 -0
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.mjs +337 -0
- package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership.module.mjs +21 -0
- package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +447 -0
- package/esm2020/CometChatUsers/cometchat-users.module.mjs +32 -0
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +185 -0
- package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages.module.mjs +39 -0
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtension.mjs +11 -0
- package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.mjs +89 -0
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtension.mjs +11 -0
- package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs +89 -0
- package/esm2020/Extensions/ImageModeration/ImageModerationExtension.mjs +10 -0
- package/esm2020/Extensions/ImageModeration/ImageModerationExtensionDecorator.mjs +10 -0
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtension.mjs +10 -0
- package/esm2020/Extensions/LinkPreviewExtension/LinkPreviewExtensionDecorator.mjs +10 -0
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtension.mjs +11 -0
- package/esm2020/Extensions/MessageTranslation/MessageTranslationExtensionDecorator.mjs +33 -0
- package/esm2020/Extensions/PollsExtension/PollsExtension.mjs +10 -0
- package/esm2020/Extensions/PollsExtension/PollsExtensionDecorator.mjs +75 -0
- package/esm2020/Extensions/Reactions/ReactionExtension.mjs +10 -0
- package/esm2020/Extensions/Reactions/ReactionExtensionDecorator.mjs +30 -0
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtension.mjs +11 -0
- package/esm2020/Extensions/SmartReplies/SmartRepliesExtensionDecorator.mjs +117 -0
- package/esm2020/Extensions/Stickers/StickersExtension.mjs +15 -0
- package/esm2020/Extensions/Stickers/StickersExtensionDecorator.mjs +118 -0
- package/esm2020/Extensions/TextModerator/TextModeratorExtension.mjs +10 -0
- package/esm2020/Extensions/TextModerator/TextModeratorExtensionDecorator.mjs +32 -0
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtension.mjs +10 -0
- package/esm2020/Extensions/ThumbnailGeneration/ThumbnailGenerationExtensionDecorator.mjs +10 -0
- package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +180 -0
- package/esm2020/Shared/Framework/ChatConfigurator.mjs +20 -0
- package/esm2020/Shared/Framework/DataSource.mjs +3 -0
- package/esm2020/Shared/Framework/DataSourceDecorator.mjs +80 -0
- package/esm2020/Shared/Framework/ExtensionDataSource.mjs +4 -0
- package/esm2020/Shared/Utils/MessageUtils.mjs +342 -0
- package/esm2020/cometchat-chat-uikit-angular.mjs +5 -0
- package/esm2020/public-api.mjs +93 -0
- package/fesm2015/cometchat-chat-uikit-angular.mjs +13683 -0
- package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -0
- package/fesm2020/cometchat-chat-uikit-angular.mjs +13586 -0
- package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -0
- package/package.json +51 -0
- package/public-api.d.ts +79 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { CometChatCallButtonsComponent } from "./cometchat-call-buttons/cometchat-call-buttons.component";
|
|
4
|
+
import "@cometchat/uikit-elements";
|
|
5
|
+
import { CometChatOutgoingCall } from "../CometChatOutgoingCall/cometchat-outgoing-call.module";
|
|
6
|
+
import { CometChatOngoingCall } from "../CometChatOngoingCall/cometchat-ongoing-call.module";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class CometChatCallButtons {
|
|
9
|
+
}
|
|
10
|
+
CometChatCallButtons.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallButtons, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
CometChatCallButtons.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallButtons, declarations: [CometChatCallButtonsComponent], imports: [CommonModule,
|
|
12
|
+
CometChatOutgoingCall,
|
|
13
|
+
CometChatOngoingCall], exports: [CometChatCallButtonsComponent] });
|
|
14
|
+
CometChatCallButtons.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallButtons, imports: [[
|
|
15
|
+
CommonModule,
|
|
16
|
+
CometChatOutgoingCall,
|
|
17
|
+
CometChatOngoingCall
|
|
18
|
+
]] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallButtons, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [CometChatCallButtonsComponent],
|
|
23
|
+
imports: [
|
|
24
|
+
CommonModule,
|
|
25
|
+
CometChatOutgoingCall,
|
|
26
|
+
CometChatOngoingCall
|
|
27
|
+
],
|
|
28
|
+
exports: [CometChatCallButtonsComponent],
|
|
29
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LWNhbGwtYnV0dG9ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jaGF0LXVpa2l0LWFuZ3VsYXIvc3JjL0NhbGxzL0NvbWV0Q2hhdENhbGxCdXR0b25zL2NvbWV0Y2hhdC1jYWxsLWJ1dHRvbnMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTFHLE9BQVEsMkJBQTJCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdURBQXVELENBQUM7O0FBVzdGLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFUaEIsNkJBQTZCLGFBRTFDLFlBQVk7UUFDaEIscUJBQXFCO1FBQ3JCLG9CQUFvQixhQUVSLDZCQUE2QjttSEFHNUIsb0JBQW9CLFlBUnRCO1lBQ1AsWUFBWTtZQUNoQixxQkFBcUI7WUFDckIsb0JBQW9CO1NBQ2pCOzRGQUlVLG9CQUFvQjtrQkFWaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDN0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ2hCLHFCQUFxQjt3QkFDckIsb0JBQW9CO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDeEMsT0FBTyxFQUFDLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0Q2FsbEJ1dHRvbnNDb21wb25lbnQgfSBmcm9tIFwiLi9jb21ldGNoYXQtY2FsbC1idXR0b25zL2NvbWV0Y2hhdC1jYWxsLWJ1dHRvbnMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb21ldENoYXRMaXN0IH0gZnJvbSBcIi4uLy4uL0NvbWV0Q2hhdExpc3QvY29tZXRjaGF0LWxpc3QubW9kdWxlXCI7XG5pbXBvcnQgIFwiQGNvbWV0Y2hhdC91aWtpdC1lbGVtZW50c1wiO1xuaW1wb3J0IHsgQ29tZXRDaGF0T3V0Z29pbmdDYWxsIH0gZnJvbSBcIi4uL0NvbWV0Q2hhdE91dGdvaW5nQ2FsbC9jb21ldGNoYXQtb3V0Z29pbmctY2FsbC5tb2R1bGVcIjtcbmltcG9ydCB7IENvbWV0Q2hhdE9uZ29pbmdDYWxsIH0gZnJvbSBcIi4uL0NvbWV0Q2hhdE9uZ29pbmdDYWxsL2NvbWV0Y2hhdC1vbmdvaW5nLWNhbGwubW9kdWxlXCI7XG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb21ldENoYXRDYWxsQnV0dG9uc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG5Db21ldENoYXRPdXRnb2luZ0NhbGwsXG5Db21ldENoYXRPbmdvaW5nQ2FsbFxuICBdLFxuICBleHBvcnRzOiBbQ29tZXRDaGF0Q2FsbEJ1dHRvbnNDb21wb25lbnRdLFxuICBzY2hlbWFzOltDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBDb21ldENoYXRDYWxsQnV0dG9ucyB7fVxuIl19
|
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { CometChat } from '@cometchat-pro/chat';
|
|
3
|
+
import { StorageUtils, CallscreenStyle, IncomingCallStyle, CometChatSoundManager } from "@cometchat/uikit-shared";
|
|
4
|
+
import { AvatarStyle, ListItemStyle } from '@cometchat/uikit-elements';
|
|
5
|
+
import { localize, CometChatUIKitConstants, fontHelper, CometChatCallEvents, CometChatLocalize } from '@cometchat/uikit-resources';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../CometChatTheme.service";
|
|
8
|
+
import * as i2 from "../../CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* CometChatIncomingCallComponent is a component which shows outgoing call screen for default audio and video call.
|
|
13
|
+
*
|
|
14
|
+
* @version 1.0.0
|
|
15
|
+
* @author CometChatTeam
|
|
16
|
+
* @copyright © 2022 CometChat Inc.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export class CometChatIncomingCallComponent {
|
|
20
|
+
constructor(ref, themeService) {
|
|
21
|
+
this.ref = ref;
|
|
22
|
+
this.themeService = themeService;
|
|
23
|
+
this.disableSoundForCalls = false;
|
|
24
|
+
this.acceptButtonText = localize("ACCEPT");
|
|
25
|
+
this.declineButtonText = localize("DECLINE");
|
|
26
|
+
this.onError = (error) => {
|
|
27
|
+
console.log(error);
|
|
28
|
+
};
|
|
29
|
+
this.listItemStyle = {
|
|
30
|
+
height: "100%",
|
|
31
|
+
width: "100%",
|
|
32
|
+
background: "",
|
|
33
|
+
activeBackground: "",
|
|
34
|
+
border: "",
|
|
35
|
+
};
|
|
36
|
+
this.avatarStyle = {
|
|
37
|
+
borderRadius: "16px",
|
|
38
|
+
width: "38px",
|
|
39
|
+
height: "38px",
|
|
40
|
+
};
|
|
41
|
+
this.incomingCallStyle = {
|
|
42
|
+
width: "fit-content",
|
|
43
|
+
height: "fit-content",
|
|
44
|
+
};
|
|
45
|
+
this.incomingcallListenerId = "incomingcall_" + new Date().getTime();
|
|
46
|
+
this.subtitleText = localize("INCOMING_CALL");
|
|
47
|
+
this.buttonStyle = {
|
|
48
|
+
height: "100%",
|
|
49
|
+
width: "100%",
|
|
50
|
+
display: "flex",
|
|
51
|
+
flexDirection: "column",
|
|
52
|
+
justifyContent: "center",
|
|
53
|
+
alignItems: "center",
|
|
54
|
+
padding: "8px 28px"
|
|
55
|
+
};
|
|
56
|
+
this.ongoingCallStyle = {};
|
|
57
|
+
this.showOngoingCall = false;
|
|
58
|
+
this.showIncomingCallScreen = false;
|
|
59
|
+
this.sessionId = "";
|
|
60
|
+
this.acceptButtonStyle = {};
|
|
61
|
+
this.declineButtonStyle = {};
|
|
62
|
+
this.loggedInUser = null;
|
|
63
|
+
this.iconStyle = {
|
|
64
|
+
height: "16px",
|
|
65
|
+
width: "16px",
|
|
66
|
+
iconTint: "RGBA(20, 20, 20, 0.68)"
|
|
67
|
+
};
|
|
68
|
+
this.activeCall = null;
|
|
69
|
+
this.localStorageChange = (event) => {
|
|
70
|
+
if (event?.key !== CometChatUIKitConstants.calls.activecall) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
if (event.newValue || event.oldValue) {
|
|
74
|
+
let call;
|
|
75
|
+
if (event.newValue) {
|
|
76
|
+
call = JSON.parse(event.newValue);
|
|
77
|
+
}
|
|
78
|
+
else if (event.oldValue) {
|
|
79
|
+
call = JSON.parse(event.oldValue);
|
|
80
|
+
}
|
|
81
|
+
if (this.call?.getSessionId() === call?.sessionId) {
|
|
82
|
+
this.showIncomingCallScreen = false;
|
|
83
|
+
CometChatSoundManager.pause();
|
|
84
|
+
this.call = null;
|
|
85
|
+
this.ref.detectChanges();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return;
|
|
89
|
+
};
|
|
90
|
+
this.setOngoingCallStyle = () => {
|
|
91
|
+
let defaultStyle = new CallscreenStyle({
|
|
92
|
+
maxHeight: "100%",
|
|
93
|
+
maxWidth: "100%",
|
|
94
|
+
border: "none",
|
|
95
|
+
borderRadius: "0",
|
|
96
|
+
background: "#1c2226",
|
|
97
|
+
minHeight: "400px",
|
|
98
|
+
minWidth: "400px",
|
|
99
|
+
minimizeIconTint: this.themeService.theme.palette.getAccent900(),
|
|
100
|
+
maximizeIconTint: this.themeService.theme.palette.getAccent900(),
|
|
101
|
+
});
|
|
102
|
+
this.ongoingCallStyle = { ...defaultStyle, ...this.ongoingCallStyle };
|
|
103
|
+
};
|
|
104
|
+
this.startDefaultCall = () => {
|
|
105
|
+
let call = this.call;
|
|
106
|
+
const sessionId = call?.getSessionId();
|
|
107
|
+
const callType = call?.getType() === CometChatUIKitConstants.MessageTypes.audio ? true : false;
|
|
108
|
+
const showRecordingButton = true;
|
|
109
|
+
const callSettings = new CometChat.CallSettingsBuilder()
|
|
110
|
+
.setSessionID(sessionId)
|
|
111
|
+
.enableDefaultLayout(true)
|
|
112
|
+
.setMode(CometChat.CALL_MODE.DEFAULT)
|
|
113
|
+
.setIsAudioOnlyCall(callType)
|
|
114
|
+
.showRecordingButton(showRecordingButton)
|
|
115
|
+
.build();
|
|
116
|
+
const el = "";
|
|
117
|
+
CometChat.startCall(callSettings, el, new CometChat.OngoingCallListener({
|
|
118
|
+
onCallEnded: (endedCall) => {
|
|
119
|
+
/* Notification received here if current ongoing call is ended. */
|
|
120
|
+
if (endedCall.getAction() == CometChatUIKitConstants.calls.ended) {
|
|
121
|
+
CometChatCallEvents.ccCallEnded.next(endedCall);
|
|
122
|
+
}
|
|
123
|
+
/* hiding/closing the call screen can be done here. */
|
|
124
|
+
},
|
|
125
|
+
}));
|
|
126
|
+
};
|
|
127
|
+
this.checkForActiveCallAndEndCall = () => {
|
|
128
|
+
let call = CometChat.getActiveCall();
|
|
129
|
+
return new Promise((resolve, reject) => {
|
|
130
|
+
if (!call) {
|
|
131
|
+
return resolve({ success: true });
|
|
132
|
+
}
|
|
133
|
+
let sessionID = call?.getSessionId();
|
|
134
|
+
CometChat.endCall(sessionID)
|
|
135
|
+
.then((response) => {
|
|
136
|
+
return resolve(response);
|
|
137
|
+
})
|
|
138
|
+
.catch((error) => {
|
|
139
|
+
return reject(error);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
this.subtitleStyle = () => {
|
|
144
|
+
return {
|
|
145
|
+
textFont: this.incomingCallStyle.subtitleTextFont,
|
|
146
|
+
textColor: this.incomingCallStyle.subtitleTextColor
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
this.wrapperStyle = () => {
|
|
150
|
+
return {
|
|
151
|
+
height: this.incomingCallStyle.height,
|
|
152
|
+
width: this.incomingCallStyle.width,
|
|
153
|
+
background: this.incomingCallStyle.background,
|
|
154
|
+
border: this.incomingCallStyle.border,
|
|
155
|
+
borderRadius: this.incomingCallStyle.borderRadius,
|
|
156
|
+
padding: "8px"
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
ngOnChanges(changes) {
|
|
161
|
+
if (changes["call"] && changes["call"].currentValue) {
|
|
162
|
+
this.showCall(this.call);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
playAudio() {
|
|
166
|
+
if (this.customSoundForCalls) {
|
|
167
|
+
CometChatSoundManager.play(CometChatSoundManager.Sound.incomingCall, this.customSoundForCalls);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
CometChatSoundManager.play(CometChatSoundManager.Sound.incomingCall);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
isCallActive(call) {
|
|
174
|
+
let isCurrentCall = false;
|
|
175
|
+
if (StorageUtils.getItem(CometChatUIKitConstants.calls.activecall)) {
|
|
176
|
+
let oldCall = StorageUtils.getItem(CometChatUIKitConstants.calls.activecall);
|
|
177
|
+
if (oldCall && oldCall.sessionId == call.getSessionId()) {
|
|
178
|
+
isCurrentCall = true;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
isCurrentCall = false;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
isCurrentCall = false;
|
|
186
|
+
}
|
|
187
|
+
return isCurrentCall;
|
|
188
|
+
}
|
|
189
|
+
showCall(call) {
|
|
190
|
+
if (!this.isCallActive(call) && this.loggedInUser?.getUid() != call?.getSender()?.getUid() && !this.call) {
|
|
191
|
+
if (!this.disableSoundForCalls) {
|
|
192
|
+
setTimeout(() => {
|
|
193
|
+
this.playAudio();
|
|
194
|
+
}, 100);
|
|
195
|
+
}
|
|
196
|
+
this.call = call;
|
|
197
|
+
this.showIncomingCallScreen = true;
|
|
198
|
+
this.ref.detectChanges();
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
CometChatSoundManager.pause();
|
|
202
|
+
this.rejectIncomingCall(CometChatUIKitConstants.calls.busy);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
attachListeners() {
|
|
206
|
+
CometChat.addCallListener(this.incomingcallListenerId, new CometChat.CallListener({
|
|
207
|
+
onIncomingCallReceived: (call) => {
|
|
208
|
+
this.showCall(call);
|
|
209
|
+
this.ref.detectChanges();
|
|
210
|
+
},
|
|
211
|
+
onIncomingCallCancelled: (call) => {
|
|
212
|
+
CometChatSoundManager.pause();
|
|
213
|
+
this.call = null;
|
|
214
|
+
this.ref.detectChanges();
|
|
215
|
+
},
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
removeListener() {
|
|
219
|
+
CometChat.removeCallListener(this.incomingcallListenerId);
|
|
220
|
+
}
|
|
221
|
+
ngOnInit() {
|
|
222
|
+
CometChat.getLoggedinUser().then((user) => {
|
|
223
|
+
this.loggedInUser = user;
|
|
224
|
+
}).catch((error) => {
|
|
225
|
+
if (this.onError) {
|
|
226
|
+
this.onError(error);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
StorageUtils.attachChangeDetection(this.localStorageChange);
|
|
230
|
+
this.attachListeners();
|
|
231
|
+
this.setThemeStyle();
|
|
232
|
+
this.ccCallEnded = CometChatCallEvents.ccCallEnded.subscribe((call) => {
|
|
233
|
+
this.showOngoingCall = false;
|
|
234
|
+
this.activeCall = null;
|
|
235
|
+
this.call = null;
|
|
236
|
+
this.sessionId = "";
|
|
237
|
+
this.ref.detectChanges();
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
ngOnDestroy() {
|
|
241
|
+
StorageUtils.detachChangeDetection(this.localStorageChange);
|
|
242
|
+
this.removeListener();
|
|
243
|
+
this.ccCallEnded?.unsubscribe();
|
|
244
|
+
}
|
|
245
|
+
getCallTypeIcon() {
|
|
246
|
+
if (this.call?.getType() == CometChatUIKitConstants.MessageTypes.audio) {
|
|
247
|
+
return "assets/Audio-Call.svg";
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
return "assets/Video-call.svg";
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
acceptIncomingCall() {
|
|
254
|
+
CometChatSoundManager.pause();
|
|
255
|
+
if (this.onAccept && this.call) {
|
|
256
|
+
this.onAccept(this.call);
|
|
257
|
+
}
|
|
258
|
+
else {
|
|
259
|
+
this.checkForActiveCallAndEndCall()
|
|
260
|
+
.then((response) => {
|
|
261
|
+
CometChat.acceptCall(this.call.getSessionId())
|
|
262
|
+
.then((call) => {
|
|
263
|
+
CometChatCallEvents.ccCallAccepted.next(call);
|
|
264
|
+
StorageUtils.setItem(CometChatUIKitConstants.calls.activecall, call);
|
|
265
|
+
this.showOngoingCall = true;
|
|
266
|
+
this.activeCall = call;
|
|
267
|
+
this.sessionId = call?.getSessionId();
|
|
268
|
+
this.showIncomingCallScreen = false;
|
|
269
|
+
this.ref.detectChanges();
|
|
270
|
+
})
|
|
271
|
+
.catch((error) => {
|
|
272
|
+
if (this.onError) {
|
|
273
|
+
this.onError(error);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
})
|
|
277
|
+
.catch((error) => {
|
|
278
|
+
if (this.onError) {
|
|
279
|
+
this.onError(error);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
rejectIncomingCall(reason = CometChatUIKitConstants.calls.rejected) {
|
|
285
|
+
CometChatSoundManager.pause();
|
|
286
|
+
if (this.onDecline && this.call) {
|
|
287
|
+
this.onDecline(this.call);
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
CometChat.rejectCall(this.call.getSessionId(), reason)
|
|
291
|
+
.then((rejectedCall) => {
|
|
292
|
+
StorageUtils.setItem(CometChatUIKitConstants.calls.activecall, rejectedCall);
|
|
293
|
+
CometChatCallEvents.ccCallRejected.next(rejectedCall);
|
|
294
|
+
this.showOngoingCall = false;
|
|
295
|
+
this.activeCall = null;
|
|
296
|
+
this.call = null;
|
|
297
|
+
this.ref.detectChanges();
|
|
298
|
+
})
|
|
299
|
+
.catch((error) => {
|
|
300
|
+
if (this.onError) {
|
|
301
|
+
this.onError(error);
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
getCallBuilder() {
|
|
307
|
+
let audioOnlyCall = this.call?.getType() == CometChatUIKitConstants.MessageTypes.audio ? true : false;
|
|
308
|
+
return new CometChat.CallSettingsBuilder()
|
|
309
|
+
.setSessionID(this.sessionId)
|
|
310
|
+
.enableDefaultLayout(true)
|
|
311
|
+
.setIsAudioOnlyCall(audioOnlyCall)
|
|
312
|
+
.setMode(CometChat.CALL_MODE.DEFAULT)
|
|
313
|
+
.setLocalizedStringObject(CometChatLocalize.getLocale());
|
|
314
|
+
}
|
|
315
|
+
setThemeStyle() {
|
|
316
|
+
this.setincomingCallStyle();
|
|
317
|
+
this.setAvatarStyle();
|
|
318
|
+
this.setOngoingCallStyle();
|
|
319
|
+
this.iconStyle.iconTint = this.incomingCallStyle.subtitleTextColor;
|
|
320
|
+
}
|
|
321
|
+
setListItemStyle() {
|
|
322
|
+
let defaultStyle = new ListItemStyle({
|
|
323
|
+
height: "100%",
|
|
324
|
+
width: "100%",
|
|
325
|
+
background: this.themeService.theme.palette.getBackground(),
|
|
326
|
+
activeBackground: "transparent",
|
|
327
|
+
borderRadius: "0",
|
|
328
|
+
titleFont: this.incomingCallStyle.titleTextFont,
|
|
329
|
+
titleColor: this.incomingCallStyle.titleTextColor,
|
|
330
|
+
border: "none",
|
|
331
|
+
separatorColor: this.themeService.theme.palette.getAccent200(),
|
|
332
|
+
hoverBackground: "transparent"
|
|
333
|
+
});
|
|
334
|
+
this.listItemStyle = { ...defaultStyle, ...this.listItemStyle };
|
|
335
|
+
}
|
|
336
|
+
setincomingCallStyle() {
|
|
337
|
+
let defaultStyle = new IncomingCallStyle({
|
|
338
|
+
width: "fit-content",
|
|
339
|
+
height: "fit-content",
|
|
340
|
+
background: this.themeService.theme.palette.getAccent800("light"),
|
|
341
|
+
border: "none",
|
|
342
|
+
borderRadius: "8px",
|
|
343
|
+
titleTextFont: fontHelper(this.themeService.theme.typography.title2),
|
|
344
|
+
titleTextColor: this.themeService.theme.palette.getAccent("dark"),
|
|
345
|
+
subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),
|
|
346
|
+
subtitleTextColor: this.themeService.theme.palette.getAccent800("dark"),
|
|
347
|
+
acceptButtonTextFont: fontHelper(this.themeService.theme.typography.text2),
|
|
348
|
+
acceptButtonTextColor: this.themeService.theme.palette.getAccent("dark"),
|
|
349
|
+
acceptButtonBackground: this.themeService.theme.palette.getPrimary(),
|
|
350
|
+
acceptButtonBorderRadius: "8px",
|
|
351
|
+
acceptButtonBorder: "none",
|
|
352
|
+
declineButtonTextFont: fontHelper(this.themeService.theme.typography.text2),
|
|
353
|
+
declineButtonTextColor: this.themeService.theme.palette.getAccent("dark"),
|
|
354
|
+
declineButtonBackground: this.themeService.theme.palette.getError(),
|
|
355
|
+
declineButtonBorderRadius: "8px",
|
|
356
|
+
declineButtonBorder: "none",
|
|
357
|
+
});
|
|
358
|
+
this.incomingCallStyle = { ...defaultStyle, ...this.incomingCallStyle };
|
|
359
|
+
this.setListItemStyle();
|
|
360
|
+
this.acceptButtonStyle = {
|
|
361
|
+
border: this.incomingCallStyle.acceptButtonBorder,
|
|
362
|
+
borderRadius: this.incomingCallStyle.acceptButtonBorderRadius,
|
|
363
|
+
background: this.incomingCallStyle.acceptButtonBackground,
|
|
364
|
+
buttonTextFont: this.incomingCallStyle.acceptButtonTextFont,
|
|
365
|
+
buttonTextColor: this.incomingCallStyle.acceptButtonTextColor,
|
|
366
|
+
...this.buttonStyle
|
|
367
|
+
};
|
|
368
|
+
this.declineButtonStyle = {
|
|
369
|
+
border: this.incomingCallStyle.declineButtonBorder,
|
|
370
|
+
borderRadius: this.incomingCallStyle.declineButtonBorderRadius,
|
|
371
|
+
background: this.incomingCallStyle.declineButtonBackground,
|
|
372
|
+
buttonTextFont: this.incomingCallStyle.declineButtonTextFont,
|
|
373
|
+
buttonTextColor: this.incomingCallStyle.declineButtonTextColor,
|
|
374
|
+
...this.buttonStyle
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
setAvatarStyle() {
|
|
378
|
+
let defaultStyle = new AvatarStyle({
|
|
379
|
+
borderRadius: "16px",
|
|
380
|
+
width: "38px",
|
|
381
|
+
height: "38px",
|
|
382
|
+
border: "none",
|
|
383
|
+
backgroundColor: this.themeService.theme.palette.getAccent700(),
|
|
384
|
+
nameTextColor: this.themeService.theme.palette.getAccent900(),
|
|
385
|
+
backgroundSize: "cover",
|
|
386
|
+
nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),
|
|
387
|
+
outerViewBorder: "",
|
|
388
|
+
outerViewBorderSpacing: "",
|
|
389
|
+
});
|
|
390
|
+
this.avatarStyle = { ...defaultStyle, ...this.avatarStyle };
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
CometChatIncomingCallComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatIncomingCallComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
394
|
+
CometChatIncomingCallComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatIncomingCallComponent, selector: "cometchat-incoming-call", inputs: { call: "call", disableSoundForCalls: "disableSoundForCalls", customSoundForCalls: "customSoundForCalls", onAccept: "onAccept", onDecline: "onDecline", acceptButtonText: "acceptButtonText", declineButtonText: "declineButtonText", subtitleView: "subtitleView", onError: "onError", listItemStyle: "listItemStyle", avatarStyle: "avatarStyle", incomingCallStyle: "incomingCallStyle" }, usesOnChanges: true, ngImport: i0, template: "<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", styles: [".cc-incoming-call__wrapper{position:absolute;left:8px;top:8px;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;min-height:104px;min-width:230px;z-index:100;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;align-items:flex-start}.cc-incoming-call-buttons{display:flex;gap:8px}.cc-incoming-call__tail-view{position:relative}.cc-incoming-call__subtitle-view{display:flex;align-items:center;justify-content:flex-start;gap:6px}.cc-incoming-call__listitem{width:100%;margin-left:-4px}\n"], components: [{ type: i2.CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatIncomingCallComponent, decorators: [{
|
|
396
|
+
type: Component,
|
|
397
|
+
args: [{ selector: "cometchat-incoming-call", changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [".cc-incoming-call__wrapper{position:absolute;left:8px;top:8px;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;min-height:104px;min-width:230px;z-index:100;display:flex;flex-direction:column;justify-content:flex-start;gap:8px;align-items:flex-start}.cc-incoming-call-buttons{display:flex;gap:8px}.cc-incoming-call__tail-view{position:relative}.cc-incoming-call__subtitle-view{display:flex;align-items:center;justify-content:flex-start;gap:6px}.cc-incoming-call__listitem{width:100%;margin-left:-4px}\n"] }]
|
|
398
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.CometChatThemeService }]; }, propDecorators: { call: [{
|
|
399
|
+
type: Input
|
|
400
|
+
}], disableSoundForCalls: [{
|
|
401
|
+
type: Input
|
|
402
|
+
}], customSoundForCalls: [{
|
|
403
|
+
type: Input
|
|
404
|
+
}], onAccept: [{
|
|
405
|
+
type: Input
|
|
406
|
+
}], onDecline: [{
|
|
407
|
+
type: Input
|
|
408
|
+
}], acceptButtonText: [{
|
|
409
|
+
type: Input
|
|
410
|
+
}], declineButtonText: [{
|
|
411
|
+
type: Input
|
|
412
|
+
}], subtitleView: [{
|
|
413
|
+
type: Input
|
|
414
|
+
}], onError: [{
|
|
415
|
+
type: Input
|
|
416
|
+
}], listItemStyle: [{
|
|
417
|
+
type: Input
|
|
418
|
+
}], avatarStyle: [{
|
|
419
|
+
type: Input
|
|
420
|
+
}], incomingCallStyle: [{
|
|
421
|
+
type: Input
|
|
422
|
+
}] } });
|
|
423
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LWluY29taW5nLWNhbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9DYWxscy9Db21ldENoYXRJbmNvbWluZ0NhbGwvY29tZXRjaGF0LWluY29taW5nLWNhbGwvY29tZXRjaGF0LWluY29taW5nLWNhbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9DYWxscy9Db21ldENoYXRJbmNvbWluZ0NhbGwvY29tZXRjaGF0LWluY29taW5nLWNhbGwvY29tZXRjaGF0LWluY29taW5nLWNhbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFpRCxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqSCxPQUFPLEVBQUUsV0FBVyxFQUFjLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR2xGLE9BQU8sRUFBRyxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUF5QyxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQUMzSzs7Ozs7Ozs7RUFRRTtBQU9GLE1BQU0sT0FBTyw4QkFBOEI7SUFxRHpDLFlBQW9CLEdBQXNCLEVBQVUsWUFBbUM7UUFBbkUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBdUI7UUFuRDlFLHlCQUFvQixHQUFXLEtBQUssQ0FBQztRQUlyQyxxQkFBZ0IsR0FBVyxRQUFR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dEUsZUFBZSxFQUFFLEVBQUU7WUFDbkIsc0JBQXNCLEVBQUUsRUFBRTtTQUMzQixDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDN0QsQ0FBQzs7NEhBL1dVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDBkQ3RCM0MseS9EQW9DQTs0RkRkYSw4QkFBOEI7a0JBTjFDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzRJQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbWV0Q2hhdCB9IGZyb20gJ0Bjb21ldGNoYXQtcHJvL2NoYXQnO1xuaW1wb3J0IHsgU3RvcmFnZVV0aWxzLENhbGxzY3JlZW5TdHlsZSwgSW5jb21pbmdDYWxsU3R5bGUsIENvbWV0Q2hhdFNvdW5kTWFuYWdlciB9IGZyb20gXCJAY29tZXRjaGF0L3Vpa2l0LXNoYXJlZFwiO1xuaW1wb3J0IHsgQXZhdGFyU3R5bGUsICBJY29uU3R5bGUsIExpc3RJdGVtU3R5bGUgfSBmcm9tICdAY29tZXRjaGF0L3Vpa2l0LWVsZW1lbnRzJ1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21ldENoYXRUaGVtZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db21ldENoYXRUaGVtZS5zZXJ2aWNlJztcbmltcG9ydCB7ICBsb2NhbGl6ZSwgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMsIGZvbnRIZWxwZXIsIENvbWV0Q2hhdENhbGxFdmVudHMsIENvbWV0Q2hhdE1lc3NhZ2VFdmVudHMsIE1lc3NhZ2VTdGF0dXMsIENvbWV0Q2hhdExvY2FsaXplIH0gZnJvbSAnQGNvbWV0Y2hhdC91aWtpdC1yZXNvdXJjZXMnO1xuLyoqXG4qXG4qIENvbWV0Q2hhdEluY29taW5nQ2FsbENvbXBvbmVudCBpcyBhIGNvbXBvbmVudCB3aGljaCBzaG93cyBvdXRnb2luZyBjYWxsIHNjcmVlbiBmb3IgZGVmYXVsdCBhdWRpbyBhbmQgdmlkZW8gY2FsbC5cbipcbiogQHZlcnNpb24gMS4wLjBcbiogQGF1dGhvciBDb21ldENoYXRUZWFtXG4qIEBjb3B5cmlnaHQgwqkgMjAyMiBDb21ldENoYXQgSW5jLlxuKlxuKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJjb21ldGNoYXQtaW5jb21pbmctY2FsbFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2NvbWV0Y2hhdC1pbmNvbWluZy1jYWxsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9jb21ldGNoYXQtaW5jb21pbmctY2FsbC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29tZXRDaGF0SW5jb21pbmdDYWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGNhbGwhOiBDb21ldENoYXQuQ2FsbCB8IG51bGw7XG4gIEBJbnB1dCgpIGRpc2FibGVTb3VuZEZvckNhbGxzOmJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY3VzdG9tU291bmRGb3JDYWxscyE6c3RyaW5nO1xuICBASW5wdXQoKSBvbkFjY2VwdCE6IChjYWxsOiBDb21ldENoYXQuQ2FsbCkgPT4gdm9pZDtcbiAgQElucHV0KCkgb25EZWNsaW5lITogKGNhbGw6IENvbWV0Q2hhdC5DYWxsKSA9PiB2b2lkO1xuICBASW5wdXQoKSBhY2NlcHRCdXR0b25UZXh0OiBzdHJpbmcgPSBsb2NhbGl6ZShcIkFDQ0VQVFwiKTtcbiAgQElucHV0KCkgZGVjbGluZUJ1dHRvblRleHQ6IHN0cmluZyA9IGxvY2FsaXplKFwiREVDTElORVwiKTtcbiAgQElucHV0KCkgc3VidGl0bGVWaWV3ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgb25FcnJvcjogKGVycm9yOiBDb21ldENoYXQuQ29tZXRDaGF0RXhjZXB0aW9uKSA9PiB2b2lkID0gKGVycm9yOiBDb21ldENoYXQuQ29tZXRDaGF0RXhjZXB0aW9uKSA9PiB7XG4gICAgY29uc29sZS5sb2coZXJyb3IpXG4gIH1cbiAgQElucHV0KCkgbGlzdEl0ZW1TdHlsZTogTGlzdEl0ZW1TdHlsZSA9IHtcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBiYWNrZ3JvdW5kOiBcIlwiLFxuICAgIGFjdGl2ZUJhY2tncm91bmQ6IFwiXCIsXG4gICAgYm9yZGVyOiBcIlwiLFxuICB9O1xuICBASW5wdXQoKSBhdmF0YXJTdHlsZTogQXZhdGFyU3R5bGUgPSB7XG4gICAgYm9yZGVyUmFkaXVzOiBcIjE2cHhcIixcbiAgICB3aWR0aDogXCIzOHB4XCIsXG4gICAgaGVpZ2h0OiBcIjM4cHhcIixcbiAgfTtcbiAgQElucHV0KCkgaW5jb21pbmdDYWxsU3R5bGU6IEluY29taW5nQ2FsbFN0eWxlID0ge1xuICAgIHdpZHRoOiBcImZpdC1jb250ZW50XCIsXG4gICAgaGVpZ2h0OiBcImZpdC1jb250ZW50XCIsXG4gIH07XG4gIHB1YmxpYyBpbmNvbWluZ2NhbGxMaXN0ZW5lcklkOiBzdHJpbmcgPSBcImluY29taW5nY2FsbF9cIiArIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICBzdWJ0aXRsZVRleHQ6c3RyaW5nID0gbG9jYWxpemUoXCJJTkNPTUlOR19DQUxMXCIpXG4gIGJ1dHRvblN0eWxlOmFueSA9IHtcbiAgICBoZWlnaHQ6XCIxMDAlXCIsXG4gICAgd2lkdGg6XCIxMDAlXCIsXG4gICAgZGlzcGxheTpcImZsZXhcIixcbiAgICBmbGV4RGlyZWN0aW9uOlwiY29sdW1uXCIsXG4gICAganVzdGlmeUNvbnRlbnQ6XCJjZW50ZXJcIixcbiAgICBhbGlnbkl0ZW1zOlwiY2VudGVyXCIsXG4gICAgcGFkZGluZzpcIjhweCAyOHB4XCJcbiAgfVxuICBvbmdvaW5nQ2FsbFN0eWxlOiBDYWxsc2NyZWVuU3R5bGUgPSB7fVxuICBzaG93T25nb2luZ0NhbGw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0luY29taW5nQ2FsbFNjcmVlbjpib29sZWFuID0gZmFsc2VcbiAgc2Vzc2lvbklkOiBzdHJpbmcgPSBcIlwiO1xuICBhY2NlcHRCdXR0b25TdHlsZTogYW55ID0ge31cbiAgZGVjbGluZUJ1dHRvblN0eWxlOiBhbnkgPSB7fVxuICBwdWJsaWMgbG9nZ2VkSW5Vc2VyOiBDb21ldENoYXQuVXNlciB8IG51bGwgPSBudWxsO1xuICBpY29uU3R5bGU6IEljb25TdHlsZSA9IHtcbiAgICBoZWlnaHQ6IFwiMTZweFwiLFxuICAgIHdpZHRoOiBcIjE2cHhcIixcbiAgICBpY29uVGludDogXCJSR0JBKDIwLCAyMCwgMjAsIDAuNjgpXCJcbiAgfVxuYWN0aXZlQ2FsbDpDb21ldENoYXQuQ2FsbCB8IG51bGwgPSBudWxsO1xuY2NDYWxsRW5kZWQhOlN1YnNjcmlwdGlvbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHRoZW1lU2VydmljZTogQ29tZXRDaGF0VGhlbWVTZXJ2aWNlKSB7ICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgIGlmKGNoYW5nZXNbXCJjYWxsXCJdICYmIGNoYW5nZXNbXCJjYWxsXCJdLmN1cnJlbnRWYWx1ZSApe1xuICAgdGhpcy5zaG93Q2FsbCh0aGlzLmNhbGwhKVxuICAgfVxuICB9XG4gIHBsYXlBdWRpbygpIHtcbiAgICBpZiAodGhpcy5jdXN0b21Tb3VuZEZvckNhbGxzKSB7XG4gICAgICBDb21ldENoYXRTb3VuZE1hbmFnZXIucGxheShDb21ldENoYXRTb3VuZE1hbmFnZXIuU291bmQuaW5jb21pbmdDYWxsLCB0aGlzLmN1c3RvbVNvdW5kRm9yQ2FsbHMpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgQ29tZXRDaGF0U291bmRNYW5hZ2VyLnBsYXkoQ29tZXRDaGF0U291bmRNYW5hZ2VyLlNvdW5kLmluY29taW5nQ2FsbClcbiAgICB9XG4gIH1cbiAgaXNDYWxsQWN0aXZlKGNhbGw6Q29tZXRDaGF0LkNhbGwpe1xuICAgIGxldCBpc0N1cnJlbnRDYWxsOmJvb2xlYW4gPSBmYWxzZVxuICAgIGlmKFN0b3JhZ2VVdGlscy5nZXRJdGVtKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLmFjdGl2ZWNhbGwpKXtcbiAgICAgbGV0IG9sZENhbGw6YW55ID0gIFN0b3JhZ2VVdGlscy5nZXRJdGVtKENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLmNhbGxzLmFjdGl2ZWNhbGwpXG4gICAgIGlmKG9sZENhbGwgJiYgb2xkQ2FsbC5zZXNzaW9uSWQgPT0gY2FsbC5nZXRTZXNzaW9uSWQoKSl7XG4gICAgICBpc0N1cnJlbnRDYWxsID0gIHRydWVcbiAgICAgfVxuICAgICBlbHNle1xuICAgICAgaXNDdXJyZW50Q2FsbCA9ICBmYWxzZVxuICAgICB9XG4gICAgfVxuICAgIGVsc2V7XG4gICAgICBpc0N1cnJlbnRDYWxsID0gIGZhbHNlXG4gICAgfVxuICAgcmV0dXJuIGlzQ3VycmVudENhbGxcbiAgfVxuICBzaG93Q2FsbChjYWxsOkNvbWV0Q2hhdC5DYWxsKXtcbiAgICBpZighdGhpcy5pc0NhbGxBY3RpdmUoY2FsbCkgJiYgdGhpcy5sb2dnZWRJblVzZXI/LmdldFVpZCgpICE9IGNhbGw/LmdldFNlbmRlcigpPy5nZXRVaWQoKSAmJiAhdGhpcy5jYWxsKXtcbiAgICAgIGlmKCF0aGlzLmRpc2FibGVTb3VuZEZvckNhbGxzKXtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5wbGF5QXVkaW8oKVxuICAgICAgICB9LCAxMDApO1xuICAgICAgfVxuICAgICAgdGhpcy5jYWxsID0gY2FsbFxuICAgICAgdGhpcy5zaG93SW5jb21pbmdDYWxsU2NyZWVuID0gdHJ1ZVxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICBDb21ldENoYXRTb3VuZE1hbmFnZXIucGF1c2UoKVxuICAgICAgdGhpcy5yZWplY3RJbmNvbWluZ0NhbGwoQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMuYnVzeSlcbiAgICB9XG4gIH1cbiAgYXR0YWNoTGlzdGVuZXJzKCkge1xuICAgIENvbWV0Q2hhdC5hZGRDYWxsTGlzdGVuZXIoXG4gICAgICB0aGlzLmluY29taW5nY2FsbExpc3RlbmVySWQsXG4gICAgICBuZXcgQ29tZXRDaGF0LkNhbGxMaXN0ZW5lcih7XG4gICAgICAgIG9uSW5jb21pbmdDYWxsUmVjZWl2ZWQ6IChjYWxsOiBDb21ldENoYXQuQ2FsbCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd0NhbGwoY2FsbClcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgfSxcbiAgICAgICAgb25JbmNvbWluZ0NhbGxDYW5jZWxsZWQ6IChjYWxsOiBDb21ldENoYXQuQ2FsbCkgPT4ge1xuICAgICAgICAgIENvbWV0Q2hhdFNvdW5kTWFuYWdlci5wYXVzZSgpXG4gICAgICAgICAgdGhpcy5jYWxsID0gbnVsbDtcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICByZW1vdmVMaXN0ZW5lcigpIHtcbiAgICBDb21ldENoYXQucmVtb3ZlQ2FsbExpc3RlbmVyKHRoaXMuaW5jb21pbmdjYWxsTGlzdGVuZXJJZCk7XG4gIH1cbiAgbG9jYWxTdG9yYWdlQ2hhbmdlID0gKGV2ZW50OmFueSk6YW55ID0+IHtcblx0XHRpZiAoZXZlbnQ/LmtleSAhPT0gQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMuYWN0aXZlY2FsbCkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRpZiAoZXZlbnQubmV3VmFsdWUgfHwgZXZlbnQub2xkVmFsdWUpIHtcblx0XHRcdGxldCBjYWxsO1xuXHRcdFx0aWYgKGV2ZW50Lm5ld1ZhbHVlKSB7XG5cdFx0XHRcdGNhbGwgPSBKU09OLnBhcnNlKGV2ZW50Lm5ld1ZhbHVlKTtcblx0XHRcdH0gZWxzZSBpZiAoZXZlbnQub2xkVmFsdWUpIHtcblx0XHRcdFx0Y2FsbCA9IEpTT04ucGFyc2UoZXZlbnQub2xkVmFsdWUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMuY2FsbD8uZ2V0U2Vzc2lvbklkKCkgPT09IGNhbGw/LnNlc3Npb25JZCkge1xuICAgICAgICB0aGlzLnNob3dJbmNvbWluZ0NhbGxTY3JlZW4gPSBmYWxzZVxuXHRcdFx0XHRDb21ldENoYXRTb3VuZE1hbmFnZXIucGF1c2UoKVxuXHRcdFx0XHR0aGlzLmNhbGwgPSBudWxsO1xuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcblx0XHRcdH1cblx0XHR9XG4gICAgcmV0dXJuXG5cdH07XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIENvbWV0Q2hhdC5nZXRMb2dnZWRpblVzZXIoKS50aGVuKCh1c2VyOkNvbWV0Q2hhdC5Vc2VyIHwgbnVsbCk9PntcbiAgICAgIHRoaXMubG9nZ2VkSW5Vc2VyID0gdXNlclxuICAgIH0pLmNhdGNoKChlcnJvcjpDb21ldENoYXQuQ29tZXRDaGF0RXhjZXB0aW9uKT0+e1xuICAgICAgaWYodGhpcy5vbkVycm9yKXtcbiAgICAgICAgdGhpcy5vbkVycm9yKGVycm9yKVxuICAgICAgfVxuICAgIH0pXG4gICAgU3RvcmFnZVV0aWxzLmF0dGFjaENoYW5nZURldGVjdGlvbih0aGlzLmxvY2FsU3RvcmFnZUNoYW5nZSlcbiAgICB0aGlzLmF0dGFjaExpc3RlbmVycygpXG4gIHRoaXMuc2V0VGhlbWVTdHlsZSgpXG4gIHRoaXMuY2NDYWxsRW5kZWQgPSBDb21ldENoYXRDYWxsRXZlbnRzLmNjQ2FsbEVuZGVkLnN1YnNjcmliZSgoY2FsbDpDb21ldENoYXQuQ2FsbCk9PntcbiAgICB0aGlzLnNob3dPbmdvaW5nQ2FsbCA9IGZhbHNlXG4gICAgdGhpcy5hY3RpdmVDYWxsID0gbnVsbFxuICAgIHRoaXMuY2FsbCA9IG51bGxcbiAgICB0aGlzLnNlc3Npb25JZCA9IFwiXCJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfSlcbiAgfVxuICBuZ09uRGVzdHJveSgpe1xuICAgIFN0b3JhZ2VVdGlscy5kZXRhY2hDaGFuZ2VEZXRlY3Rpb24odGhpcy5sb2NhbFN0b3JhZ2VDaGFuZ2UpXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcigpXG4gICAgdGhpcy5jY0NhbGxFbmRlZD8udW5zdWJzY3JpYmUoKVxuICB9XG4gIHNldE9uZ29pbmdDYWxsU3R5bGUgPSAoKSA9PiB7XG4gICAgbGV0IGRlZmF1bHRTdHlsZSA9IG5ldyBDYWxsc2NyZWVuU3R5bGUoe1xuICAgICAgbWF4SGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgIG1heFdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGJvcmRlcjogXCJub25lXCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiMFwiLFxuICAgICAgYmFja2dyb3VuZDogXCIjMWMyMjI2XCIsXG4gICAgICBtaW5IZWlnaHQ6IFwiNDAwcHhcIixcbiAgICAgIG1pbldpZHRoOiBcIjQwMHB4XCIsXG4gICAgICBtaW5pbWl6ZUljb25UaW50OiB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudDkwMCgpLFxuICAgICAgbWF4aW1pemVJY29uVGludDogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ5MDAoKSxcbiAgICB9KVxuICAgIHRoaXMub25nb2luZ0NhbGxTdHlsZSA9IHsgLi4uZGVmYXVsdFN0eWxlLCAuLi50aGlzLm9uZ29pbmdDYWxsU3R5bGUgfVxuICB9XG4gIGdldENhbGxUeXBlSWNvbigpIHtcbiAgICBpZiAodGhpcy5jYWxsPy5nZXRUeXBlKCkgPT0gQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuTWVzc2FnZVR5cGVzLmF1ZGlvKSB7XG4gICAgICByZXR1cm4gXCJhc3NldHMvQXVkaW8tQ2FsbC5zdmdcIlxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBcImFzc2V0cy9WaWRlby1jYWxsLnN2Z1wiXG4gICAgfVxuICB9XG4gIHN0YXJ0RGVmYXVsdENhbGwgPSAoKSA9PiB7XG4gICAgbGV0IGNhbGw6Q29tZXRDaGF0LkNhbGwgPSB0aGlzLmNhbGwhXG5cdFx0Y29uc3Qgc2Vzc2lvbklkID0gY2FsbD8uZ2V0U2Vzc2lvbklkKCk7XG5cdFx0Y29uc3QgY2FsbFR5cGUgPSBjYWxsPy5nZXRUeXBlKCkgPT09IENvbWV0Q2hhdFVJS2l0Q29uc3RhbnRzLk1lc3NhZ2VUeXBlcy5hdWRpbyA/IHRydWUgOiBmYWxzZTtcblx0XHRjb25zdCBzaG93UmVjb3JkaW5nQnV0dG9uID0gdHJ1ZVxuXHRcdGNvbnN0IGNhbGxTZXR0aW5ncyA9IG5ldyBDb21ldENoYXQuQ2FsbFNldHRpbmdzQnVpbGRlcigpXG5cdFx0XHQuc2V0U2Vzc2lvbklEKHNlc3Npb25JZClcblx0XHRcdC5lbmFibGVEZWZhdWx0TGF5b3V0KHRydWUpXG5cdFx0XHQuc2V0TW9kZShDb21ldENoYXQuQ0FMTF9NT0RFLkRFRkFVTFQpXG5cdFx0XHQuc2V0SXNBdWRpb09ubHlDYWxsKGNhbGxUeXBlKVxuXHRcdFx0LnNob3dSZWNvcmRpbmdCdXR0b24oc2hvd1JlY29yZGluZ0J1dHRvbilcblx0XHRcdC5idWlsZCgpO1xuXHRcdGNvbnN0IGVsOmFueSA9IFwiXCI7XG5cdFx0Q29tZXRDaGF0LnN0YXJ0Q2FsbChcblx0XHRcdGNhbGxTZXR0aW5ncyxcblx0XHRcdGVsLFxuXHRcdFx0bmV3IENvbWV0Q2hhdC5PbmdvaW5nQ2FsbExpc3RlbmVyKHtcblx0XHRcdFx0b25DYWxsRW5kZWQ6IChlbmRlZENhbGw6Q29tZXRDaGF0LkNhbGwpID0+IHtcblx0XHRcdFx0XHQvKiBOb3RpZmljYXRpb24gcmVjZWl2ZWQgaGVyZSBpZiBjdXJyZW50IG9uZ29pbmcgY2FsbCBpcyBlbmRlZC4gKi9cbiAgICAgICAgICBpZihlbmRlZENhbGwuZ2V0QWN0aW9uKCkgPT0gQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMuZW5kZWQpe1xuICAgICAgICAgICAgQ29tZXRDaGF0Q2FsbEV2ZW50cy5jY0NhbGxFbmRlZC5uZXh0KGVuZGVkQ2FsbClcbiAgICAgICAgICB9XG5cdFx0XHRcdFx0LyogaGlkaW5nL2Nsb3NpbmcgdGhlIGNhbGwgc2NyZWVuIGNhbiBiZSBkb25lIGhlcmUuICovXG5cdFx0XHRcdH0sXG5cdFx0XHR9KVxuXHRcdCk7XG5cdH07XG5hY2NlcHRJbmNvbWluZ0NhbGwoKXtcbiAgQ29tZXRDaGF0U291bmRNYW5hZ2VyLnBhdXNlKClcbiAgaWYodGhpcy5vbkFjY2VwdCAmJiB0aGlzLmNhbGwpe1xuICAgIHRoaXMub25BY2NlcHQodGhpcy5jYWxsKVxuICB9XG5cbiAgZWxzZXtcbiAgICB0aGlzLmNoZWNrRm9yQWN0aXZlQ2FsbEFuZEVuZENhbGwoKVxuICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgQ29tZXRDaGF0LmFjY2VwdENhbGwodGhpcy5jYWxsIS5nZXRTZXNzaW9uSWQoKSlcbiAgICAgICAgLnRoZW4oKGNhbGwpID0+IHtcbiAgICAgICAgICBDb21ldENoYXRDYWxsRXZlbnRzLmNjQ2FsbEFjY2VwdGVkLm5leHQoY2FsbClcbiAgICAgICAgICBTdG9yYWdlVXRpbHMuc2V0SXRlbShDb21ldENoYXRVSUtpdENvbnN0YW50cy5jYWxscy5hY3RpdmVjYWxsLCBjYWxsKVxuICAgICAgICAgIHRoaXMuc2hvd09uZ29pbmdDYWxsID0gdHJ1ZVxuICAgICAgICAgIHRoaXMuYWN0aXZlQ2FsbCA9IGNhbGxcbiAgICAgICAgICB0aGlzLnNlc3Npb25JZCA9IGNhbGw/LmdldFNlc3Npb25JZCgpXG4gICAgICAgICAgdGhpcy5zaG93SW5jb21pbmdDYWxsU2NyZWVuID0gZmFsc2VcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgIGlmKHRoaXMub25FcnJvcil7XG4gICAgICAgICB0aGlzLm9uRXJyb3IoZXJyb3IpXG4gICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIGlmKHRoaXMub25FcnJvcil7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnJvcilcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuY2hlY2tGb3JBY3RpdmVDYWxsQW5kRW5kQ2FsbCA9ICgpID0+IHtcbiAgbGV0IGNhbGw6Q29tZXRDaGF0LkNhbGwgPSBDb21ldENoYXQuZ2V0QWN0aXZlQ2FsbCgpXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKCFjYWxsKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZSh7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgfVxuICAgIGxldCBzZXNzaW9uSUQgPSBjYWxsPy5nZXRTZXNzaW9uSWQoKTtcbiAgICBDb21ldENoYXQuZW5kQ2FsbChzZXNzaW9uSUQpXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUocmVzcG9uc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9KTtcbiAgfSk7XG59O1xucmVqZWN0SW5jb21pbmdDYWxsKHJlYXNvbjpzdHJpbmcgPSAgQ29tZXRDaGF0VUlLaXRDb25zdGFudHMuY2FsbHMucmVqZWN0ZWQpe1xuICBDb21ldENoYXRTb3VuZE1hbmFnZXIucGF1c2UoKVxuICBpZih0aGlzLm9uRGVjbGluZSAmJiB0aGlzLmNhbGwpe1xuICAgIHRoaXMub25EZWNsaW5lKHRoaXMuY2FsbClcbiAgfVxuZWxzZXtcblxuXHRDb21ldENoYXQucmVqZWN0Q2FsbCh0aGlzLmNhbGwhLmdldFNlc3Npb25JZCgpLCByZWFzb24pXG4gIC50aGVuKChyZWplY3RlZENhbGwpID0+IHtcbiAgICBTdG9yYWdlVXRpbHMuc2V0SXRlbShDb21ldENoYXRVSUtpdENvbnN0YW50cy5jYWxscy5hY3RpdmVjYWxsLCByZWplY3RlZENhbGwpXG4gICAgIENvbWV0Q2hhdENhbGxFdmVudHMuY2NDYWxsUmVqZWN0ZWQubmV4dChyZWplY3RlZENhbGwpXG4gICAgIHRoaXMuc2hvd09uZ29pbmdDYWxsID0gZmFsc2VcbiAgICAgdGhpcy5hY3RpdmVDYWxsID0gbnVsbFxuICAgICB0aGlzLmNhbGwgPSBudWxsO1xuICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKClcbiAgfSlcbiAgLmNhdGNoKChlcnJvcikgPT4ge1xuaWYodGhpcy5vbkVycm9yKXtcbiAgdGhpcy5vbkVycm9yKGVycm9yKVxufVxuICB9KTtcbn1cbn1cbmdldENhbGxCdWlsZGVyKCk6IENvbWV0Q2hhdC5DYWxsU2V0dGluZ3NCdWlsZGVyIHwgdW5kZWZpbmVkIHtcbiAgbGV0IGF1ZGlvT25seUNhbGw6IGJvb2xlYW4gPSB0aGlzLmNhbGw/LmdldFR5cGUoKSA9PSBDb21ldENoYXRVSUtpdENvbnN0YW50cy5NZXNzYWdlVHlwZXMuYXVkaW8gPyB0cnVlIDogZmFsc2VcbiAgcmV0dXJuIG5ldyBDb21ldENoYXQuQ2FsbFNldHRpbmdzQnVpbGRlcigpXG4gICAgLnNldFNlc3Npb25JRCh0aGlzLnNlc3Npb25JZClcbiAgICAuZW5hYmxlRGVmYXVsdExheW91dCh0cnVlKVxuICAgIC5zZXRJc0F1ZGlvT25seUNhbGwoYXVkaW9Pbmx5Q2FsbClcbiAgICAuc2V0TW9kZShDb21ldENoYXQuQ0FMTF9NT0RFLkRFRkFVTFQpXG4gICAgLnNldExvY2FsaXplZFN0cmluZ09iamVjdChDb21ldENoYXRMb2NhbGl6ZS5nZXRMb2NhbGUoKSlcbn1cbiAgc2V0VGhlbWVTdHlsZSgpIHtcbiAgICB0aGlzLnNldGluY29taW5nQ2FsbFN0eWxlKClcbiAgICB0aGlzLnNldEF2YXRhclN0eWxlKClcbiAgICB0aGlzLnNldE9uZ29pbmdDYWxsU3R5bGUoKVxuICAgIHRoaXMuaWNvblN0eWxlLmljb25UaW50ID0gdGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5zdWJ0aXRsZVRleHRDb2xvclxuICB9XG4gIHNldExpc3RJdGVtU3R5bGUoKXtcbiAgICBsZXQgZGVmYXVsdFN0eWxlOkxpc3RJdGVtU3R5bGUgPSBuZXcgTGlzdEl0ZW1TdHlsZSh7XG4gICAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgYmFja2dyb3VuZDogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRCYWNrZ3JvdW5kKCksXG4gICAgICBhY3RpdmVCYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICBib3JkZXJSYWRpdXM6IFwiMFwiLFxuICAgICAgdGl0bGVGb250OiB0aGlzLmluY29taW5nQ2FsbFN0eWxlLnRpdGxlVGV4dEZvbnQsXG4gICAgICB0aXRsZUNvbG9yOiB0aGlzLmluY29taW5nQ2FsbFN0eWxlLnRpdGxlVGV4dENvbG9yLFxuICAgICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICAgIHNlcGFyYXRvckNvbG9yOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50MjAwKCksXG4gICAgICBob3ZlckJhY2tncm91bmQ6XCJ0cmFuc3BhcmVudFwiXG4gICAgfSlcbiAgICB0aGlzLmxpc3RJdGVtU3R5bGUgPSB7Li4uZGVmYXVsdFN0eWxlLC4uLnRoaXMubGlzdEl0ZW1TdHlsZX1cbiAgfVxuICBzZXRpbmNvbWluZ0NhbGxTdHlsZSgpe1xuICAgIGxldCBkZWZhdWx0U3R5bGU6IEluY29taW5nQ2FsbFN0eWxlID0gbmV3IEluY29taW5nQ2FsbFN0eWxlKHtcbiAgICAgIHdpZHRoOiBcImZpdC1jb250ZW50XCIsXG4gICAgICBoZWlnaHQ6IFwiZml0LWNvbnRlbnRcIixcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0QWNjZW50ODAwKFwibGlnaHRcIiksXG4gICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgYm9yZGVyUmFkaXVzOiBcIjhweFwiLFxuICAgICAgdGl0bGVUZXh0Rm9udDogZm9udEhlbHBlcih0aGlzLnRoZW1lU2VydmljZS50aGVtZS50eXBvZ3JhcGh5LnRpdGxlMiksXG4gICAgICB0aXRsZVRleHRDb2xvcjogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQoXCJkYXJrXCIpLFxuICAgICAgc3VidGl0bGVUZXh0Rm9udDogZm9udEhlbHBlcih0aGlzLnRoZW1lU2VydmljZS50aGVtZS50eXBvZ3JhcGh5LnN1YnRpdGxlMiksXG4gICAgICBzdWJ0aXRsZVRleHRDb2xvcjogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ4MDAoXCJkYXJrXCIpLFxuICAgICAgYWNjZXB0QnV0dG9uVGV4dEZvbnQ6Zm9udEhlbHBlcih0aGlzLnRoZW1lU2VydmljZS50aGVtZS50eXBvZ3JhcGh5LnRleHQyKSxcbiAgICAgIGFjY2VwdEJ1dHRvblRleHRDb2xvcjp0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudChcImRhcmtcIiksXG4gICAgICBhY2NlcHRCdXR0b25CYWNrZ3JvdW5kOnRoaXMudGhlbWVTZXJ2aWNlLnRoZW1lLnBhbGV0dGUuZ2V0UHJpbWFyeSgpLFxuICAgICAgYWNjZXB0QnV0dG9uQm9yZGVyUmFkaXVzOlwiOHB4XCIsXG4gICAgICBhY2NlcHRCdXR0b25Cb3JkZXI6XCJub25lXCIsXG4gICAgICBkZWNsaW5lQnV0dG9uVGV4dEZvbnQ6Zm9udEhlbHBlcih0aGlzLnRoZW1lU2VydmljZS50aGVtZS50eXBvZ3JhcGh5LnRleHQyKSxcbiAgICAgIGRlY2xpbmVCdXR0b25UZXh0Q29sb3I6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQoXCJkYXJrXCIpLFxuICAgICAgZGVjbGluZUJ1dHRvbkJhY2tncm91bmQ6dGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRFcnJvcigpLFxuICAgICAgZGVjbGluZUJ1dHRvbkJvcmRlclJhZGl1czpcIjhweFwiLFxuICAgICAgZGVjbGluZUJ1dHRvbkJvcmRlcjpcIm5vbmVcIixcbiAgICB9KVxuICAgIHRoaXMuaW5jb21pbmdDYWxsU3R5bGUgPSB7IC4uLmRlZmF1bHRTdHlsZSwgLi4udGhpcy5pbmNvbWluZ0NhbGxTdHlsZSB9XG4gICAgdGhpcy5zZXRMaXN0SXRlbVN0eWxlKCk7XG4gICAgdGhpcy5hY2NlcHRCdXR0b25TdHlsZSA9IHtcbiAgICAgIGJvcmRlcjp0aGlzLmluY29taW5nQ2FsbFN0eWxlLmFjY2VwdEJ1dHRvbkJvcmRlcixcbiAgICAgIGJvcmRlclJhZGl1czp0aGlzLmluY29taW5nQ2FsbFN0eWxlLmFjY2VwdEJ1dHRvbkJvcmRlclJhZGl1cyxcbiAgICAgIGJhY2tncm91bmQ6dGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5hY2NlcHRCdXR0b25CYWNrZ3JvdW5kLFxuICAgICAgYnV0dG9uVGV4dEZvbnQ6dGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5hY2NlcHRCdXR0b25UZXh0Rm9udCxcbiAgICAgIGJ1dHRvblRleHRDb2xvcjp0aGlzLmluY29taW5nQ2FsbFN0eWxlLmFjY2VwdEJ1dHRvblRleHRDb2xvcixcbiAgICAgIC4uLnRoaXMuYnV0dG9uU3R5bGVcbiAgICB9XG4gICAgdGhpcy5kZWNsaW5lQnV0dG9uU3R5bGUgPSB7XG4gICAgICBib3JkZXI6dGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5kZWNsaW5lQnV0dG9uQm9yZGVyLFxuICAgICAgYm9yZGVyUmFkaXVzOnRoaXMuaW5jb21pbmdDYWxsU3R5bGUuZGVjbGluZUJ1dHRvbkJvcmRlclJhZGl1cyxcbiAgICAgIGJhY2tncm91bmQ6dGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5kZWNsaW5lQnV0dG9uQmFja2dyb3VuZCxcbiAgICAgIGJ1dHRvblRleHRGb250OnRoaXMuaW5jb21pbmdDYWxsU3R5bGUuZGVjbGluZUJ1dHRvblRleHRGb250LFxuICAgICAgYnV0dG9uVGV4dENvbG9yOnRoaXMuaW5jb21pbmdDYWxsU3R5bGUuZGVjbGluZUJ1dHRvblRleHRDb2xvcixcbiAgICAgIC4uLnRoaXMuYnV0dG9uU3R5bGVcbiAgICB9XG4gIH1cbiAgc2V0QXZhdGFyU3R5bGUoKSB7XG4gICAgbGV0IGRlZmF1bHRTdHlsZTogQXZhdGFyU3R5bGUgPSBuZXcgQXZhdGFyU3R5bGUoe1xuICAgICAgYm9yZGVyUmFkaXVzOiBcIjE2cHhcIixcbiAgICAgIHdpZHRoOiBcIjM4cHhcIixcbiAgICAgIGhlaWdodDogXCIzOHB4XCIsXG4gICAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLnRoZW1lU2VydmljZS50aGVtZS5wYWxldHRlLmdldEFjY2VudDcwMCgpLFxuICAgICAgbmFtZVRleHRDb2xvcjogdGhpcy50aGVtZVNlcnZpY2UudGhlbWUucGFsZXR0ZS5nZXRBY2NlbnQ5MDAoKSxcbiAgICAgIGJhY2tncm91bmRTaXplOiBcImNvdmVyXCIsXG4gICAgICBuYW1lVGV4dEZvbnQ6IGZvbnRIZWxwZXIodGhpcy50aGVtZVNlcnZpY2UudGhlbWUudHlwb2dyYXBoeS5zdWJ0aXRsZTEpLFxuICAgICAgb3V0ZXJWaWV3Qm9yZGVyOiBcIlwiLFxuICAgICAgb3V0ZXJWaWV3Qm9yZGVyU3BhY2luZzogXCJcIixcbiAgICB9KVxuICAgIHRoaXMuYXZhdGFyU3R5bGUgPSB7IC4uLmRlZmF1bHRTdHlsZSwgLi4udGhpcy5hdmF0YXJTdHlsZSB9XG4gIH1cbiAgc3VidGl0bGVTdHlsZSA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dEZvbnQ6IHRoaXMuaW5jb21pbmdDYWxsU3R5bGUuc3VidGl0bGVUZXh0Rm9udCxcbiAgICAgIHRleHRDb2xvcjogdGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5zdWJ0aXRsZVRleHRDb2xvclxuICAgIH1cbiAgfVxuICB3cmFwcGVyU3R5bGUgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlaWdodDogdGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5oZWlnaHQsXG4gICAgICB3aWR0aDogdGhpcy5pbmNvbWluZ0NhbGxTdHlsZS53aWR0aCxcbiAgICAgIGJhY2tncm91bmQ6IHRoaXMuaW5jb21pbmdDYWxsU3R5bGUuYmFja2dyb3VuZCxcbiAgICAgIGJvcmRlcjogdGhpcy5pbmNvbWluZ0NhbGxTdHlsZS5ib3JkZXIsXG4gICAgICBib3JkZXJSYWRpdXM6IHRoaXMuaW5jb21pbmdDYWxsU3R5bGUuYm9yZGVyUmFkaXVzLFxuICAgICAgcGFkZGluZzpcIjhweFwiXG4gICAgfVxuICB9XG59IiwiPGRpdiBjbGFzcz1cImNjLWluY29taW5nLWNhbGxfX3dyYXBwZXJcIiBbbmdTdHlsZV09XCJ3cmFwcGVyU3R5bGUoKVwiICpuZ0lmPVwiY2FsbCAmJiBzaG93SW5jb21pbmdDYWxsU2NyZWVuXCI+XG4gICAgPGRpdiBjbGFzcz1cImNjLWluY29taW5nLWNhbGxfX2xpc3RpdGVtXCI+XG4gICAgICAgIDxjb21ldGNoYXQtbGlzdC1pdGVtIFt0aXRsZV09XCJjYWxsPy5nZXRTZW5kZXIoKT8uZ2V0TmFtZSgpXCJcbiAgICAgICAgW2xpc3RJdGVtU3R5bGVdPVwibGlzdEl0ZW1TdHlsZVwiXG4gICAgICAgIFtoaWRlU2VwYXJhdG9yXT1cInRydWVcIiA+XG4gICAgICAgIDxkaXYgc2xvdD1cInN1YnRpdGxlVmlld1wiIGNsYXNzPVwiY2MtaW5jb21pbmctY2FsbF9fc3VidGl0bGUtdmlld1wiICpuZ0lmPVwic3VidGl0bGVWaWV3O2Vsc2Ugc3VidGl0bGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWJ0aXRsZVZpZXdcIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNzdWJ0aXRsZT5cbiAgICAgICAgICAgPGRpdiBzbG90PVwic3VidGl0bGVWaWV3XCIgIGNsYXNzPVwiY2MtaW5jb21pbmctY2FsbF9fc3VidGl0bGUtdmlld1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYy1jYWxsX19pY29uXCI+XG4gICAgICAgICAgICA8Y29tZXRjaGF0LWljb24gW2ljb25TdHlsZV09XCJpY29uU3R5bGVcIiBbVVJMXT1cImdldENhbGxUeXBlSWNvbigpXCI+PC9jb21ldGNoYXQtaWNvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8Y29tZXRjaGF0LWxhYmVsIGNsYXNzPVwiY2MtY2FsbF9fdHlwZVwiIFt0ZXh0XT1cInN1YnRpdGxlVGV4dFwiIFtsYWJlbFN0eWxlXT1cInN1YnRpdGxlU3R5bGUoKVwiPlxuXG4gICAgICAgICAgPC9jb21ldGNoYXQtbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8ZGl2IHNsb3Q9XCJ0YWlsVmlld1wiICBjbGFzcz1cImNjLWluY29taW5nLWNhbGxfX3RhaWwtdmlld1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFpbF9fdmlld1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYy1pbmNvbWluZy1jYWxsX19hdmF0YXJcIj5cbiAgICAgICAgICAgIDxjb21ldGNoYXQtYXZhdGFyIFthdmF0YXJTdHlsZV09XCJhdmF0YXJTdHlsZVwiIFtpbWFnZV09XCJjYWxsPy5nZXRTZW5kZXIoKT8uZ2V0QXZhdGFyKClcIiBbbmFtZV09XCJjYWxsPy5nZXRTZW5kZXIoKT8uZ2V0TmFtZSgpXCI+XG5cbiAgICAgICAgICAgIDwvY29tZXRjaGF0LWF2YXRhcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvY29tZXRjaGF0LWxpc3QtaXRlbT5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY2MtaW5jb21pbmctY2FsbC1idXR0b25zXCI+XG4gICAgICAgIDxjb21ldGNoYXQtYnV0dG9uIChjYy1idXR0b24tY2xpY2tlZCk9XCJyZWplY3RJbmNvbWluZ0NhbGwoKVwiICBbYnV0dG9uU3R5bGVdPVwiZGVjbGluZUJ1dHRvblN0eWxlXCIgW3RleHRdPVwiZGVjbGluZUJ1dHRvblRleHRcIj48L2NvbWV0Y2hhdC1idXR0b24+XG4gICAgICAgIDxjb21ldGNoYXQtYnV0dG9uIChjYy1idXR0b24tY2xpY2tlZCk9XCJhY2NlcHRJbmNvbWluZ0NhbGwoKVwiICBbYnV0dG9uU3R5bGVdPVwiYWNjZXB0QnV0dG9uU3R5bGVcIiBbdGV4dF09XCJhY2NlcHRCdXR0b25UZXh0XCIgPjwvY29tZXRjaGF0LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG48L2Rpdj5cbjxjb21ldGNoYXQtb25nb2luZy1jYWxsICpuZ0lmPVwic2hvd09uZ29pbmdDYWxsICYmIGFjdGl2ZUNhbGwgJiYgIXNob3dJbmNvbWluZ0NhbGxTY3JlZW5cIiBbb25nb2luZ0NhbGxTdHlsZV09XCJvbmdvaW5nQ2FsbFN0eWxlXCIgW3Nlc3Npb25JRF09XCJzZXNzaW9uSWRcIiAgW2NhbGxTZXR0aW5nc0J1aWxkZXJdPVwiZ2V0Q2FsbEJ1aWxkZXIoKSFcIj48L2NvbWV0Y2hhdC1vbmdvaW5nLWNhbGw+XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { CometChatIncomingCallComponent } from "./cometchat-incoming-call/cometchat-incoming-call.component";
|
|
4
|
+
import { CometChatList } from "../../CometChatList/cometchat-list.module";
|
|
5
|
+
import "@cometchat/uikit-elements";
|
|
6
|
+
import { CometChatOngoingCall } from "../CometChatOngoingCall/cometchat-ongoing-call.module";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class CometChatIncomingCall {
|
|
9
|
+
}
|
|
10
|
+
CometChatIncomingCall.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatIncomingCall, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
CometChatIncomingCall.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatIncomingCall, declarations: [CometChatIncomingCallComponent], imports: [CommonModule,
|
|
12
|
+
CometChatList,
|
|
13
|
+
CometChatOngoingCall], exports: [CometChatIncomingCallComponent] });
|
|
14
|
+
CometChatIncomingCall.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatIncomingCall, imports: [[
|
|
15
|
+
CommonModule,
|
|
16
|
+
CometChatList,
|
|
17
|
+
CometChatOngoingCall
|
|
18
|
+
]] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatIncomingCall, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
declarations: [CometChatIncomingCallComponent],
|
|
23
|
+
imports: [
|
|
24
|
+
CommonModule,
|
|
25
|
+
CometChatList,
|
|
26
|
+
CometChatOngoingCall
|
|
27
|
+
],
|
|
28
|
+
exports: [CometChatIncomingCallComponent],
|
|
29
|
+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXRjaGF0LWluY29taW5nLWNhbGwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2hhdC11aWtpdC1hbmd1bGFyL3NyYy9DYWxscy9Db21ldENoYXRJbmNvbWluZ0NhbGwvY29tZXRjaGF0LWluY29taW5nLWNhbGwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFRLDJCQUEyQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQVc3RixNQUFNLE9BQU8scUJBQXFCOzttSEFBckIscUJBQXFCO29IQUFyQixxQkFBcUIsaUJBVGpCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ2hCLGFBQWE7UUFDYixvQkFBb0IsYUFFUiw4QkFBOEI7b0hBRzdCLHFCQUFxQixZQVJ2QjtZQUNQLFlBQVk7WUFDaEIsYUFBYTtZQUNiLG9CQUFvQjtTQUNqQjs0RkFJVSxxQkFBcUI7a0JBVmpDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzlDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNoQixhQUFhO3dCQUNiLG9CQUFvQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQ3pDLE9BQU8sRUFBQyxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbWV0Q2hhdEluY29taW5nQ2FsbENvbXBvbmVudCB9IGZyb20gXCIuL2NvbWV0Y2hhdC1pbmNvbWluZy1jYWxsL2NvbWV0Y2hhdC1pbmNvbWluZy1jYWxsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ29tZXRDaGF0TGlzdCB9IGZyb20gXCIuLi8uLi9Db21ldENoYXRMaXN0L2NvbWV0Y2hhdC1saXN0Lm1vZHVsZVwiO1xuaW1wb3J0ICBcIkBjb21ldGNoYXQvdWlraXQtZWxlbWVudHNcIjtcbmltcG9ydCB7IENvbWV0Q2hhdE9uZ29pbmdDYWxsIH0gZnJvbSBcIi4uL0NvbWV0Q2hhdE9uZ29pbmdDYWxsL2NvbWV0Y2hhdC1vbmdvaW5nLWNhbGwubW9kdWxlXCI7XG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtDb21ldENoYXRJbmNvbWluZ0NhbGxDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuQ29tZXRDaGF0TGlzdCxcbkNvbWV0Q2hhdE9uZ29pbmdDYWxsXG4gIF0sXG4gIGV4cG9ydHM6IFtDb21ldENoYXRJbmNvbWluZ0NhbGxDb21wb25lbnRdLFxuICBzY2hlbWFzOltDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBDb21ldENoYXRJbmNvbWluZ0NhbGwge31cbiJdfQ==
|