@cometchat/chat-uikit-angular 4.0.0-beta.1.1 → 4.0.0-beta.1.3

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 (72) hide show
  1. package/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.d.ts +5 -2
  2. package/Calls/CometChatCallDetails/cometchat-call-details/cometchat-call-details.component.d.ts +139 -0
  3. package/Calls/CometChatCallDetails/cometchat-call-details.module.d.ts +10 -0
  4. package/Calls/CometChatCallHistory/cometchat-call-history/cometchat-call-history.component.d.ts +125 -0
  5. package/Calls/CometChatCallHistory/cometchat-call-history.module.d.ts +10 -0
  6. package/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details/cometchat-call-history-with-details.component.d.ts +59 -0
  7. package/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details.module.d.ts +12 -0
  8. package/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.d.ts +0 -1
  9. package/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.d.ts +4 -0
  10. package/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.d.ts +6 -4
  11. package/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.d.ts +12 -2
  12. package/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.d.ts +1 -1
  13. package/CometChatDetails/cometchat-details/cometchat-details.component.d.ts +18 -10
  14. package/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.d.ts +1 -1
  15. package/CometChatGroups/cometchat-groups/cometchat-groups.component.d.ts +1 -1
  16. package/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.d.ts +1 -1
  17. package/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.d.ts +5 -8
  18. package/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.d.ts +1 -1
  19. package/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.d.ts +4 -1
  20. package/CometChatMessages/cometchat-messages/cometchat-messages.component.d.ts +1 -1
  21. package/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.d.ts +1 -1
  22. package/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.d.ts +1 -1
  23. package/CometChatUsers/cometchat-users/cometchat-users.component.d.ts +1 -1
  24. package/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.d.ts +1 -1
  25. package/Extensions/SmartReplies/SmartRepliesExtensionDecorator.d.ts +1 -1
  26. package/Extensions/Stickers/StickersExtensionDecorator.d.ts +2 -1
  27. package/Shared/CometChatUIkit/CometChatUIKit.d.ts +5 -1
  28. package/Shared/Utils/ComeChatException.d.ts +2 -0
  29. package/Shared/Views/CometChatTabs/cometchat-tabs/cometchat-tabs.component.d.ts +53 -0
  30. package/Shared/Views/CometChatTabs/cometchat-tabs.module.d.ts +12 -0
  31. package/esm2020/Calls/CometChatCallButtons/cometchat-call-buttons/cometchat-call-buttons.component.mjs +13 -6
  32. package/esm2020/Calls/CometChatCallDetails/cometchat-call-details/cometchat-call-details.component.mjs +452 -0
  33. package/esm2020/Calls/CometChatCallDetails/cometchat-call-details.module.mjs +31 -0
  34. package/esm2020/Calls/CometChatCallHistory/cometchat-call-history/cometchat-call-history.component.mjs +397 -0
  35. package/esm2020/Calls/CometChatCallHistory/cometchat-call-history.module.mjs +28 -0
  36. package/esm2020/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details/cometchat-call-history-with-details.component.mjs +143 -0
  37. package/esm2020/Calls/CometChatCallHistoryWithDetails/cometchat-call-history-with-details.module.mjs +39 -0
  38. package/esm2020/Calls/CometChatIncomingCall/cometchat-incoming-call/cometchat-incoming-call.component.mjs +1 -24
  39. package/esm2020/Calls/CometChatOngoingCall/cometchat-ongoing-call/cometchat-ongoing-call.component.mjs +25 -7
  40. package/esm2020/Calls/CometChatOutgoingCall/cometchat-outgoing-call/cometchat-outgoing-call.component.mjs +6 -16
  41. package/esm2020/CometChatAddMembers/cometchat-add-members/cometchat-add-members.component.mjs +9 -3
  42. package/esm2020/CometChatBannedMembers/cometchat-banned-members/cometchat-banned-members.component.mjs +77 -9
  43. package/esm2020/CometChatConversations/cometchat-conversations/cometchat-conversations.component.mjs +17 -13
  44. package/esm2020/CometChatConversationsWithMessages/cometchat-conversations-with-messages/cometchat-conversations-with-messages.component.mjs +3 -1
  45. package/esm2020/CometChatDetails/cometchat-details/cometchat-details.component.mjs +111 -55
  46. package/esm2020/CometChatGroupMembers/cometchat-group-members/cometchat-group-members.component.mjs +8 -3
  47. package/esm2020/CometChatGroups/cometchat-groups/cometchat-groups.component.mjs +10 -25
  48. package/esm2020/CometChatGroupsWithMessages/cometchat-groups-with-messages/cometchat-groups-with-messages.component.mjs +3 -1
  49. package/esm2020/CometChatList/cometchat-list.component.mjs +2 -2
  50. package/esm2020/CometChatMessageComposer/cometchat-message-composer/cometchat-message-composer.component.mjs +42 -15
  51. package/esm2020/CometChatMessageHeader/cometchat-message-header/cometchat-message-header.component.mjs +7 -4
  52. package/esm2020/CometChatMessageList/cometchat-message-list/cometchat-message-list.component.mjs +68 -55
  53. package/esm2020/CometChatMessages/cometchat-messages/cometchat-messages.component.mjs +5 -4
  54. package/esm2020/CometChatThreadedMessages/cometchat-threaded-messages/cometchat-threaded-messages.component.mjs +6 -5
  55. package/esm2020/CometChatTransferOwnership/cometchat-transfer-ownership/cometchat-transfer-ownership.component.mjs +1 -1
  56. package/esm2020/CometChatUsers/cometchat-users/cometchat-users.component.mjs +9 -23
  57. package/esm2020/CometChatUsersWithMessages/cometchat-users-with-messages/cometchat-users-with-messages.component.mjs +3 -1
  58. package/esm2020/Extensions/CollaborativeDocument/CollaborativeDocumentExtensionDecorator.mjs +1 -1
  59. package/esm2020/Extensions/CollaborativeWhiteboard/CollaborativeWhiteboardExtensionDecorator.mjs +1 -1
  60. package/esm2020/Extensions/SmartReplies/SmartRepliesExtensionDecorator.mjs +1 -1
  61. package/esm2020/Extensions/Stickers/StickersExtensionDecorator.mjs +3 -2
  62. package/esm2020/Shared/CometChatUIkit/CometChatUIKit.mjs +41 -25
  63. package/esm2020/Shared/Utils/ComeChatException.mjs +10 -0
  64. package/esm2020/Shared/Views/CometChatTabs/cometchat-tabs/cometchat-tabs.component.mjs +88 -0
  65. package/esm2020/Shared/Views/CometChatTabs/cometchat-tabs.module.mjs +39 -0
  66. package/esm2020/public-api.mjs +4 -2
  67. package/fesm2015/cometchat-chat-uikit-angular.mjs +1609 -285
  68. package/fesm2015/cometchat-chat-uikit-angular.mjs.map +1 -1
  69. package/fesm2020/cometchat-chat-uikit-angular.mjs +1600 -285
  70. package/fesm2020/cometchat-chat-uikit-angular.mjs.map +1 -1
  71. package/package.json +3 -3
  72. package/public-api.d.ts +3 -1
@@ -1,7 +1,7 @@
1
- import { CometChatMessageOption, CometChatUIKitConstants, localize, fontHelper, CometChatMessageTemplate, CometChatMessageComposerAction, CometChatTheme, CometChatMessageEvents, MessageStatus, CometChatUIEvents, IconButtonAlignment, CometChatCallEvents, CometChatLocalize, SelectionMode, TitleAlignment as TitleAlignment$1, States as States$1, CometChatUserEvents, CometChatGroupEvents, DatePatterns, CometChatConversationEvents, MessageListAlignment, TimestampAlignment, DocumentIconAlignment, MessageBubbleAlignment as MessageBubbleAlignment$1, Placement, AuxiliaryButtonAlignment } from '@cometchat/uikit-resources';
1
+ import { CometChatMessageOption, CometChatUIKitConstants, localize, fontHelper, CometChatMessageTemplate, CometChatMessageComposerAction, CometChatTheme, CometChatMessageEvents, MessageStatus, CometChatUIEvents, IconButtonAlignment, CometChatCallEvents, CometChatLocalize, SelectionMode, TitleAlignment as TitleAlignment$1, States as States$1, CometChatUserEvents, CometChatGroupEvents, DatePatterns, CometChatConversationEvents, MessageListAlignment, TimestampAlignment, DocumentIconAlignment, MessageBubbleAlignment as MessageBubbleAlignment$1, Placement, AuxiliaryButtonAlignment, TabAlignment } from '@cometchat/uikit-resources';
2
2
  export { AuxiliaryButtonAlignment, CometChatDetailsOption, CometChatDetailsTemplate, CometChatLocalize, CometChatMessageComposerAction, CometChatMessageOption, CometChatMessageTemplate, CometChatOption, CometChatPalette, CometChatTabItem, CometChatTheme, CometChatTypography, CometChatUIKitConstants, DatePatterns, DocumentIconAlignment, IconButtonAlignment, MessageBubbleAlignment, MessageListAlignment, MessageStatus, Placement, Receipts, SelectionMode, States, TabAlignment, TimestampAlignment, TitleAlignment, fontHelper, localize } from '@cometchat/uikit-resources';
3
- import { ConversationUtils, CallingDetailsUtils, CollaborativeDocumentConstants, CollaborativeWhiteboardConstants, MessageTranslationConfiguration, PollsConstants, CometChatUIKitUtility, CometChatSoundManager, SmartRepliesConfiguration, StickersConstants, StickersConfiguration, OutgoingCallStyle, CallscreenStyle, CallButtonsStyle, TitleAlignment, States, StorageUtils, IncomingCallStyle, UsersStyle, SelectionMode as SelectionMode$1, AddMembersStyle, MessageHeaderStyle, ListStyle, BannedMembersStyle, MessageReceiptUtils, MessageStatus as MessageStatus$1, ConversationsStyle, MessageBubbleAlignment, MessageTranslationConstants, MessageTranslationStyle, ReactionsConstants, LinkPreviewConstants, ThumbnailGenerationConstants, MessageListStyle, LinkPreviewStyle, SmartRepliesConstants, MessageComposerStyle, MessageListConfiguration, MessageComposerConfiguration, ThreadedMessagesStyle, GroupMemberUtils, GroupMembersStyle, TransferOwnershipStyle, AddMembersConfiguration, BannedMembersConfiguration, GroupMembersConfiguration, TransferOwnershipConfiguration, DetailsUtils, DetailsStyle, MessageHeaderConfiguration, ThreadedMessagesConfiguration, DetailsConfiguration, MessagesStyle, MessagesConfiguration, ConversationsConfiguration, WithMessagesStyle, GroupsStyle, CreateGroupConfiguration, JoinGroupConfiguration, GroupsConfiguration, UsersConfiguration } from '@cometchat/uikit-shared';
4
- export { AddMembersConfiguration, BannedMembersConfiguration, CallButtonsConfiguration, CallDetailsConfiguration, CallHistoryConfiguration, CallingDetailsUtils, CallscreenConfiguration, CollaborativeDocumentConfiguration, CollaborativeDocumentConstants, CollaborativeWhiteboardConfiguration, CollaborativeWhiteboardConstants, ConversationUtils, ConversationsConfiguration, CreateGroupConfiguration, DetailsConfiguration, DetailsUtils, GroupMemberUtils, GroupMembersConfiguration, GroupsConfiguration, ImageModerationConfiguration, ImageModerationConstants, JoinGroupConfiguration, LinkPreviewConstants, MessageBubbleConfiguration, MessageComposerConfiguration, MessageHeaderConfiguration, MessageListConfiguration, MessageReceiptUtils, MessageTranslationConfiguration, MessageTranslationConstants, MessagesConfiguration, OutgoingCallConfiguration, PollsConstants, ReactionsConstants, SmartRepliesConfiguration, SmartRepliesConstants, StickersConfiguration, StickersConstants, ThreadedMessagesConfiguration, ThumbnailGenerationConstants, TransferOwnershipConfiguration, UsersConfiguration } from '@cometchat/uikit-shared';
3
+ import { ConversationUtils, CallingDetailsUtils, CollaborativeDocumentConstants, CollaborativeWhiteboardConstants, MessageTranslationConfiguration, PollsConstants, CometChatUIKitUtility, CometChatSoundManager, SmartRepliesConfiguration, StickersConstants, StickersConfiguration, CometChatUIKitCalls, CallscreenStyle, OutgoingCallStyle, OutgoingCallConfiguration, CallScreenConfiguration, CallButtonsStyle, TitleAlignment, States, StorageUtils, IncomingCallStyle, UsersStyle, SelectionMode as SelectionMode$1, AddMembersStyle, MessageHeaderStyle, ListStyle, BannedMembersStyle, MessageReceiptUtils, MessageStatus as MessageStatus$1, ConversationsStyle, MessageBubbleAlignment, MessageTranslationConstants, MessageTranslationStyle, ReactionsConstants, LinkPreviewConstants, ThumbnailGenerationConstants, MessageListStyle, LinkPreviewStyle, SmartRepliesConstants, MessageComposerStyle, MessageListConfiguration, MessageComposerConfiguration, ThreadedMessagesStyle, GroupMemberUtils, GroupMembersStyle, TransferOwnershipStyle, AddMembersConfiguration, BannedMembersConfiguration, GroupMembersConfiguration, TransferOwnershipConfiguration, DetailsUtils, DetailsStyle, MessageHeaderConfiguration, ThreadedMessagesConfiguration, DetailsConfiguration, MessagesStyle, MessagesConfiguration, ConversationsConfiguration, WithMessagesStyle, GroupsStyle, CreateGroupConfiguration, JoinGroupConfiguration, GroupsConfiguration, UsersConfiguration, CallHistoryStyle, CallButtonsConfiguration, CallDetailsConfiguration, CallHistoryConfiguration, WithDetailsStyle } from '@cometchat/uikit-shared';
4
+ export { AddMembersConfiguration, BannedMembersConfiguration, CallButtonsConfiguration, CallDetailsConfiguration, CallHistoryConfiguration, CallScreenConfiguration, CallingDetailsUtils, CollaborativeDocumentConfiguration, CollaborativeDocumentConstants, CollaborativeWhiteboardConfiguration, CollaborativeWhiteboardConstants, ConversationUtils, ConversationsConfiguration, CreateGroupConfiguration, DetailsConfiguration, DetailsUtils, GroupMemberUtils, GroupMembersConfiguration, GroupsConfiguration, ImageModerationConfiguration, ImageModerationConstants, JoinGroupConfiguration, LinkPreviewConstants, MessageBubbleConfiguration, MessageComposerConfiguration, MessageHeaderConfiguration, MessageListConfiguration, MessageReceiptUtils, MessageTranslationConfiguration, MessageTranslationConstants, MessagesConfiguration, OutgoingCallConfiguration, PollsConstants, ReactionsConstants, SmartRepliesConfiguration, SmartRepliesConstants, StickersConfiguration, StickersConstants, ThreadedMessagesConfiguration, ThumbnailGenerationConstants, TransferOwnershipConfiguration, UsersConfiguration } from '@cometchat/uikit-shared';
5
5
  import { CometChat } from '@cometchat-pro/chat';
6
6
  import * as i0 from '@angular/core';
7
7
  import { Injectable, Component, Input, ChangeDetectionStrategy, ViewChild, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
@@ -1061,6 +1061,15 @@ class SmartReplyExtension {
1061
1061
  }
1062
1062
  }
1063
1063
 
1064
+ function CometChatException(error) {
1065
+ return new CometChat.CometChatException({
1066
+ message: error?.message,
1067
+ details: error?.details,
1068
+ code: error?.code,
1069
+ name: error?.name
1070
+ });
1071
+ }
1072
+
1064
1073
  class StickersExtensionDecorator extends DataSourceDecorator {
1065
1074
  constructor(dataSource, configuration = new StickersConfiguration({})) {
1066
1075
  super(dataSource);
@@ -1106,7 +1115,7 @@ class StickersExtensionDecorator extends DataSourceDecorator {
1106
1115
  }
1107
1116
  catch (error) {
1108
1117
  if (onError) {
1109
- onError(error);
1118
+ onError(CometChatException(error));
1110
1119
  }
1111
1120
  }
1112
1121
  };
@@ -1258,15 +1267,13 @@ class CometChatUIKit {
1258
1267
  const appSettings = appSettingsBuilder.build();
1259
1268
  return new Promise((resolve, reject) => {
1260
1269
  CometChat.init(uiKitSettings?.appId, appSettings).then(() => {
1261
- CometChat.getLoggedinUser().then((user) => {
1262
- if (user) {
1263
- ChatConfigurator.init();
1264
- this.initiateAfterLogin();
1265
- }
1270
+ CometChatUIKit.getLoggedinUser()?.then((user) => {
1271
+ ChatConfigurator.init();
1272
+ this.initiateAfterLogin();
1266
1273
  return resolve(user);
1267
- }).catch((error) => {
1268
- console.log(error);
1269
- return reject(error);
1274
+ })
1275
+ .catch((error) => {
1276
+ reject(error);
1270
1277
  });
1271
1278
  })
1272
1279
  .catch((error) => {
@@ -1274,11 +1281,21 @@ class CometChatUIKit {
1274
1281
  });
1275
1282
  });
1276
1283
  }
1284
+ static getLoggedinUser() {
1285
+ return new Promise((resolve, reject) => {
1286
+ CometChat.getLoggedinUser().then((user) => {
1287
+ return resolve(user);
1288
+ }).catch((error) => {
1289
+ return reject(error);
1290
+ })
1291
+ .catch((error) => {
1292
+ return reject(error);
1293
+ });
1294
+ });
1295
+ }
1277
1296
  static enableCalling() {
1278
- if (window) {
1279
- if (window.isCallingEnabled) {
1280
- new CallingExtension().enable();
1281
- }
1297
+ if (CometChatUIKitCalls) {
1298
+ new CallingExtension().enable();
1282
1299
  }
1283
1300
  }
1284
1301
  static initiateAfterLogin() {
@@ -1292,24 +1309,31 @@ class CometChatUIKit {
1292
1309
  }
1293
1310
  }
1294
1311
  }
1295
- static async login(uid) {
1312
+ static async login(details) {
1296
1313
  if (!CometChatUIKit.checkAuthSettings())
1297
1314
  return undefined;
1298
1315
  return new Promise((resolve, reject) => {
1299
- CometChat.login(uid, CometChatUIKit.uiKitSettings.authKey).then((user) => {
1300
- resolve(user);
1301
- ChatConfigurator.init();
1302
- this.initiateAfterLogin();
1303
- }).catch((error) => {
1316
+ CometChatUIKit.getLoggedinUser()?.then((user) => {
1317
+ if (user) {
1318
+ resolve(user);
1319
+ ChatConfigurator.init();
1320
+ this.initiateAfterLogin();
1321
+ }
1322
+ else {
1323
+ let args = details.uid ? [details.uid, CometChatUIKit.uiKitSettings.authKey] : [details.authToken];
1324
+ CometChat.login(...args).then((user) => {
1325
+ resolve(user);
1326
+ ChatConfigurator.init();
1327
+ this.initiateAfterLogin();
1328
+ }).catch((error) => {
1329
+ reject(error);
1330
+ });
1331
+ }
1332
+ })
1333
+ .catch((error) => {
1304
1334
  reject(error);
1305
1335
  });
1306
1336
  });
1307
- // calling SDK method
1308
- // if calling is enabled
1309
- // if appsetting does not contain extensions then enable all
1310
- // StickerExtension.enable()...enable all extensions by default
1311
- // else if appsetting contains some extensions
1312
- // loop through extension list and call enable for each extension
1313
1337
  }
1314
1338
  static async createUser(user) {
1315
1339
  if (!CometChatUIKit.checkAuthSettings())
@@ -1433,17 +1457,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1433
1457
  *
1434
1458
  */
1435
1459
  class CometChatOngoingCallComponent {
1436
- constructor() {
1460
+ constructor(themeService) {
1461
+ this.themeService = themeService;
1437
1462
  this.ongoingCallStyle = {
1438
1463
  maxHeight: "100%",
1439
1464
  maxWidth: "100%",
1440
1465
  border: "none",
1441
1466
  borderRadius: "0",
1442
- background: "grey",
1467
+ background: "#1c2226",
1443
1468
  minHeight: "400px",
1444
1469
  minWidth: "400px",
1445
- minimizeIconTint: "white",
1446
- maximizeIconTint: "white",
1470
+ // minimizeIconTint:"white",
1471
+ // maximizeIconTint:"white",
1447
1472
  };
1448
1473
  this.resizeIconHoverText = localize("RESIZE");
1449
1474
  this.sessionID = "";
@@ -1451,14 +1476,29 @@ class CometChatOngoingCallComponent {
1451
1476
  this.maximizeIconURL = "assets/increase-size.svg";
1452
1477
  }
1453
1478
  ngOnInit() {
1479
+ this.setongoingCallStyle();
1480
+ }
1481
+ setongoingCallStyle() {
1482
+ let defaultStyle = new CallscreenStyle({
1483
+ maxHeight: "100%",
1484
+ maxWidth: "100%",
1485
+ border: "none",
1486
+ borderRadius: "0",
1487
+ background: "#1c2226",
1488
+ minHeight: "400px",
1489
+ minWidth: "400px",
1490
+ minimizeIconTint: this.themeService.theme.palette.getAccent("dark"),
1491
+ maximizeIconTint: this.themeService.theme.palette.getAccent("dark"),
1492
+ });
1493
+ this.ongoingCallStyle = { ...defaultStyle, ...this.ongoingCallStyle };
1454
1494
  }
1455
1495
  }
1456
- CometChatOngoingCallComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatOngoingCallComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1496
+ CometChatOngoingCallComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatOngoingCallComponent, deps: [{ token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
1457
1497
  CometChatOngoingCallComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: { ongoingCallStyle: "ongoingCallStyle", resizeIconHoverText: "resizeIconHoverText", sessionID: "sessionID", minimizeIconURL: "minimizeIconURL", maximizeIconURL: "maximizeIconURL", callSettingsBuilder: "callSettingsBuilder" }, ngImport: i0, template: "<cometchat-callscreen [callscreenStyle]=\"ongoingCallStyle\" [callSettingsBuilder]=\"callSettingsBuilder\" [resizeIconHoverText]=\"resizeIconHoverText\" [sessionID]=\"sessionID\" [minimizeIconURL]=\"minimizeIconURL\" [maximizeIconURL]=\"maximizeIconURL\"></cometchat-callscreen>", styles: [""] });
1458
1498
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatOngoingCallComponent, decorators: [{
1459
1499
  type: Component,
1460
1500
  args: [{ selector: "cometchat-ongoing-call", template: "<cometchat-callscreen [callscreenStyle]=\"ongoingCallStyle\" [callSettingsBuilder]=\"callSettingsBuilder\" [resizeIconHoverText]=\"resizeIconHoverText\" [sessionID]=\"sessionID\" [minimizeIconURL]=\"minimizeIconURL\" [maximizeIconURL]=\"maximizeIconURL\"></cometchat-callscreen>", styles: [""] }]
1461
- }], propDecorators: { ongoingCallStyle: [{
1501
+ }], ctorParameters: function () { return [{ type: CometChatThemeService }]; }, propDecorators: { ongoingCallStyle: [{
1462
1502
  type: Input
1463
1503
  }], resizeIconHoverText: [{
1464
1504
  type: Input
@@ -1496,18 +1536,7 @@ class CometChatOutgoingCallComponent {
1496
1536
  width: "180px",
1497
1537
  height: "180px",
1498
1538
  };
1499
- this.outgoingCallStyle = {
1500
- width: "100%",
1501
- height: "100%",
1502
- titleTextFont: "700 22px Inter",
1503
- titleTextColor: "RGB(20, 20, 20)",
1504
- subtitleTextFont: "400 15px Inter",
1505
- subtitleTextColor: "RGBA(20, 20, 20, 0.58)",
1506
- declineButtonTextFont: "400 12px Inter",
1507
- declineButtonTextColor: "RGBA(20, 20, 20, 0.58)",
1508
- declineButtonIconTint: "white",
1509
- declineButtonIconBackground: "red"
1510
- };
1539
+ this.outgoingCallStyle = {};
1511
1540
  this.buttonStyle = {
1512
1541
  height: "fit-content",
1513
1542
  width: "fit-content",
@@ -1562,6 +1591,7 @@ class CometChatOutgoingCallComponent {
1562
1591
  }
1563
1592
  }
1564
1593
  ngOnInit() {
1594
+ console.log(this.outgoingCallStyle);
1565
1595
  }
1566
1596
  playAudio() {
1567
1597
  if (this.customSoundForCalls) {
@@ -1585,11 +1615,11 @@ class CometChatOutgoingCallComponent {
1585
1615
  }
1586
1616
  setOutgoingCallStyle() {
1587
1617
  let defaultStyle = new OutgoingCallStyle({
1588
- width: "100%",
1589
- height: "100%",
1618
+ width: "360px",
1619
+ height: "581px",
1590
1620
  background: this.themeService.theme.palette.getBackground(),
1591
1621
  border: "none",
1592
- borderRadius: "0",
1622
+ borderRadius: "8px",
1593
1623
  titleTextFont: fontHelper(this.themeService.theme.typography.title1),
1594
1624
  titleTextColor: this.themeService.theme.palette.getAccent(),
1595
1625
  subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle1),
@@ -1690,6 +1720,8 @@ class CometChatCallButtonsComponent {
1690
1720
  borderRadius: "0",
1691
1721
  background: "transparent"
1692
1722
  };
1723
+ this.outgoingCallConfiguration = new OutgoingCallConfiguration({});
1724
+ this.ongoingCallConfiguration = new CallScreenConfiguration({});
1693
1725
  this.disableButtons = false;
1694
1726
  this.showOngoingCall = false;
1695
1727
  this.sessionId = "";
@@ -1790,7 +1822,7 @@ class CometChatCallButtonsComponent {
1790
1822
  if (this.activeCall?.getType() == CometChatUIKitConstants.calls.meeting) {
1791
1823
  return undefined;
1792
1824
  }
1793
- return new CometChat.CallSettingsBuilder()
1825
+ return this.ongoingCallConfiguration.callSettingsBuilder ?? new CometChat.CallSettingsBuilder()
1794
1826
  .setSessionID(this.sessionId)
1795
1827
  .enableDefaultLayout(true)
1796
1828
  .setIsAudioOnlyCall(audioOnlyCall)
@@ -1904,7 +1936,7 @@ class CometChatCallButtonsComponent {
1904
1936
  },
1905
1937
  onOutgoingCallAccepted: (call) => {
1906
1938
  this.openOngoingCallScreen(call);
1907
- },
1939
+ }
1908
1940
  }));
1909
1941
  }
1910
1942
  removeListener() {
@@ -1980,10 +2012,10 @@ class CometChatCallButtonsComponent {
1980
2012
  }
1981
2013
  }
1982
2014
  CometChatCallButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
1983
- CometChatCallButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: { user: "user", group: "group", voiceCallIconURL: "voiceCallIconURL", voiceCallIconText: "voiceCallIconText", voiceCallIconHoverText: "voiceCallIconHoverText", videoCallIconURL: "videoCallIconURL", videoCallIconText: "videoCallIconText", videoCallIconHoverText: "videoCallIconHoverText", onVoiceCallClick: "onVoiceCallClick", onVideoCallClick: "onVideoCallClick", onError: "onError", callButtonsStyle: "callButtonsStyle" }, ngImport: i0, template: "<div class=\"cc-call-buttons__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-call-buttons-buttons\">\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user\" (cc-button-clicked)=\"initiateAudioCall()\" [buttonStyle]=\"getVoiceCallButtonStyle(disableButtons)\" [text]=\"voiceCallIconText\" [hoverText]=\"voiceCallIconHoverText\" [iconURL]=\"voiceCallIconURL\"></cometchat-button>\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user || group\" (cc-button-clicked)=\"initiateVideoCall()\" [buttonStyle]=\"getVideoCallButtonStyle(disableButtons)\" [text]=\"videoCallIconText\" [hoverText]=\"videoCallIconHoverText\" [iconURL]=\"videoCallIconURL\"></cometchat-button>\n</div>\n</div>\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\" [callSettingsBuilder]=\"getCallBuilder()!\"></cometchat-ongoing-call>\n<cometchat-backdrop *ngIf=\"showOutgoingCallscreen\">\n<cometchat-outgoing-call [onCloseClicked]=\"cancelOutgoingCall\" [outgoingCallStyle]=\"outgoingCallStyle\" [call]=\"call!\"></cometchat-outgoing-call>\n</cometchat-backdrop>", styles: [".cc-call-buttons__wrapper{height:100%;width:100%}.cc-call-buttons-buttons{display:flex;gap:8px}\n"], components: [{ type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder"] }, { type: CometChatOutgoingCallComponent, selector: "cometchat-outgoing-call", inputs: ["call", "declineButtonText", "declineButtonIconURL", "customView", "onError", "disableSoundForCalls", "customSoundForCalls", "avatarStyle", "outgoingCallStyle", "onCloseClicked"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2015
+ CometChatCallButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: { user: "user", group: "group", voiceCallIconURL: "voiceCallIconURL", voiceCallIconText: "voiceCallIconText", voiceCallIconHoverText: "voiceCallIconHoverText", videoCallIconURL: "videoCallIconURL", videoCallIconText: "videoCallIconText", videoCallIconHoverText: "videoCallIconHoverText", onVoiceCallClick: "onVoiceCallClick", onVideoCallClick: "onVideoCallClick", onError: "onError", callButtonsStyle: "callButtonsStyle", outgoingCallConfiguration: "outgoingCallConfiguration", ongoingCallConfiguration: "ongoingCallConfiguration" }, ngImport: i0, template: "<div class=\"cc-call-buttons__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-call-buttons-buttons\">\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user\" (cc-button-clicked)=\"initiateAudioCall()\" [buttonStyle]=\"getVoiceCallButtonStyle(disableButtons)\" [text]=\"voiceCallIconText\" [hoverText]=\"voiceCallIconHoverText\" [iconURL]=\"voiceCallIconURL\"></cometchat-button>\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user || group\" (cc-button-clicked)=\"initiateVideoCall()\" [buttonStyle]=\"getVideoCallButtonStyle(disableButtons)\" [text]=\"videoCallIconText\" [hoverText]=\"videoCallIconHoverText\" [iconURL]=\"videoCallIconURL\"></cometchat-button>\n</div>\n</div>\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [maximizeIconURL]=\"ongoingCallConfiguration.maximizeIconURL\" [minimizeIconURL]=\"ongoingCallConfiguration.minimizeIconURL\" [ongoingCallStyle]=\"ongoingCallConfiguration.ongoingCallStyle || ongoingCallStyle\" [sessionID]=\"sessionId\" [callSettingsBuilder]=\"getCallBuilder()!\"></cometchat-ongoing-call>\n<cometchat-backdrop *ngIf=\"showOutgoingCallscreen\">\n<cometchat-outgoing-call [customSoundForCalls]=\"outgoingCallConfiguration.customSoundForCalls\" [onError]=\"outgoingCallConfiguration.onError\" [disableSoundForCalls]=\"outgoingCallConfiguration.disableSoundForCalls\" [avatarStyle]=\"outgoingCallConfiguration.avatarStyle\" [customView]=\"outgoingCallConfiguration.customView\" [declineButtonIconURL]=\"outgoingCallConfiguration.declineButtonIconURL\" [onCloseClicked]=\"outgoingCallConfiguration.onCloseClicked || cancelOutgoingCall\" [outgoingCallStyle]=\"outgoingCallConfiguration.outgoingCallStyle || outgoingCallStyle\" [call]=\"call!\"></cometchat-outgoing-call>\n</cometchat-backdrop>", styles: [".cc-call-buttons__wrapper{height:100%;width:100%}.cc-call-buttons-buttons{display:flex;gap:8px}\n"], components: [{ type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder"] }, { type: CometChatOutgoingCallComponent, selector: "cometchat-outgoing-call", inputs: ["call", "declineButtonText", "declineButtonIconURL", "customView", "onError", "disableSoundForCalls", "customSoundForCalls", "avatarStyle", "outgoingCallStyle", "onCloseClicked"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1984
2016
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallButtonsComponent, decorators: [{
1985
2017
  type: Component,
1986
- args: [{ selector: "cometchat-call-buttons", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-call-buttons__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-call-buttons-buttons\">\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user\" (cc-button-clicked)=\"initiateAudioCall()\" [buttonStyle]=\"getVoiceCallButtonStyle(disableButtons)\" [text]=\"voiceCallIconText\" [hoverText]=\"voiceCallIconHoverText\" [iconURL]=\"voiceCallIconURL\"></cometchat-button>\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user || group\" (cc-button-clicked)=\"initiateVideoCall()\" [buttonStyle]=\"getVideoCallButtonStyle(disableButtons)\" [text]=\"videoCallIconText\" [hoverText]=\"videoCallIconHoverText\" [iconURL]=\"videoCallIconURL\"></cometchat-button>\n</div>\n</div>\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\" [callSettingsBuilder]=\"getCallBuilder()!\"></cometchat-ongoing-call>\n<cometchat-backdrop *ngIf=\"showOutgoingCallscreen\">\n<cometchat-outgoing-call [onCloseClicked]=\"cancelOutgoingCall\" [outgoingCallStyle]=\"outgoingCallStyle\" [call]=\"call!\"></cometchat-outgoing-call>\n</cometchat-backdrop>", styles: [".cc-call-buttons__wrapper{height:100%;width:100%}.cc-call-buttons-buttons{display:flex;gap:8px}\n"] }]
2018
+ args: [{ selector: "cometchat-call-buttons", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-call-buttons__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-call-buttons-buttons\">\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user\" (cc-button-clicked)=\"initiateAudioCall()\" [buttonStyle]=\"getVoiceCallButtonStyle(disableButtons)\" [text]=\"voiceCallIconText\" [hoverText]=\"voiceCallIconHoverText\" [iconURL]=\"voiceCallIconURL\"></cometchat-button>\n<cometchat-button [disabled]=\"disableButtons ? true : false\" *ngIf=\"user || group\" (cc-button-clicked)=\"initiateVideoCall()\" [buttonStyle]=\"getVideoCallButtonStyle(disableButtons)\" [text]=\"videoCallIconText\" [hoverText]=\"videoCallIconHoverText\" [iconURL]=\"videoCallIconURL\"></cometchat-button>\n</div>\n</div>\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [maximizeIconURL]=\"ongoingCallConfiguration.maximizeIconURL\" [minimizeIconURL]=\"ongoingCallConfiguration.minimizeIconURL\" [ongoingCallStyle]=\"ongoingCallConfiguration.ongoingCallStyle || ongoingCallStyle\" [sessionID]=\"sessionId\" [callSettingsBuilder]=\"getCallBuilder()!\"></cometchat-ongoing-call>\n<cometchat-backdrop *ngIf=\"showOutgoingCallscreen\">\n<cometchat-outgoing-call [customSoundForCalls]=\"outgoingCallConfiguration.customSoundForCalls\" [onError]=\"outgoingCallConfiguration.onError\" [disableSoundForCalls]=\"outgoingCallConfiguration.disableSoundForCalls\" [avatarStyle]=\"outgoingCallConfiguration.avatarStyle\" [customView]=\"outgoingCallConfiguration.customView\" [declineButtonIconURL]=\"outgoingCallConfiguration.declineButtonIconURL\" [onCloseClicked]=\"outgoingCallConfiguration.onCloseClicked || cancelOutgoingCall\" [outgoingCallStyle]=\"outgoingCallConfiguration.outgoingCallStyle || outgoingCallStyle\" [call]=\"call!\"></cometchat-outgoing-call>\n</cometchat-backdrop>", styles: [".cc-call-buttons__wrapper{height:100%;width:100%}.cc-call-buttons-buttons{display:flex;gap:8px}\n"] }]
1987
2019
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { user: [{
1988
2020
  type: Input
1989
2021
  }], group: [{
@@ -2008,6 +2040,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
2008
2040
  type: Input
2009
2041
  }], callButtonsStyle: [{
2010
2042
  type: Input
2043
+ }], outgoingCallConfiguration: [{
2044
+ type: Input
2045
+ }], ongoingCallConfiguration: [{
2046
+ type: Input
2011
2047
  }] } });
2012
2048
 
2013
2049
  class CometchatListComponent {
@@ -2156,10 +2192,10 @@ class CometchatListComponent {
2156
2192
  }
2157
2193
  }
2158
2194
  CometchatListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometchatListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2159
- CometchatListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometchatListComponent, selector: "cometchat-list", inputs: { listItemView: "listItemView", onScrolledToBottom: "onScrolledToBottom", onScrolledToTop: "onScrolledToTop", list: "list", onSearch: "onSearch", searchText: "searchText", searchIconURL: "searchIconURL", listStyle: "listStyle", searchPlaceholderText: "searchPlaceholderText", hideSearch: "hideSearch", hideError: "hideError", title: "title", titleAlignment: "titleAlignment", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", state: "state", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\" [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\" (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>", styles: [".cc-list{width:100%;overflow-y:auto;overflow-x:hidden}.cc-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column}.section__header{padding:4px}.list__title{width:90%;margin:4px 0;padding-left:8px}.user__section{padding:8px}.cc-list__search-input{height:-moz-fit-content;height:fit-content;margin:0 8px}.list__header{width:100%}.list__section{margin-left:8px}.decorator__message--loading{display:block;height:24px;width:24px;margin-right:30px}.decorator__message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.list__title{margin-bottom:8px}.cc-list::-webkit-scrollbar{background:transparent;width:8px}.cc-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.error__view,.empty__view{text-align:center}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2195
+ CometchatListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometchatListComponent, selector: "cometchat-list", inputs: { listItemView: "listItemView", onScrolledToBottom: "onScrolledToBottom", onScrolledToTop: "onScrolledToTop", list: "list", onSearch: "onSearch", searchText: "searchText", searchIconURL: "searchIconURL", listStyle: "listStyle", searchPlaceholderText: "searchPlaceholderText", hideSearch: "hideSearch", hideError: "hideError", title: "title", titleAlignment: "titleAlignment", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", state: "state", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\" [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\" (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>", styles: [".cc-list{width:100%;overflow-y:auto;overflow-x:hidden}.cc-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column}.section__header{padding:4px}.list__title{width:90%;margin:4px 0;padding-left:8px}.user__section{padding:8px}.cc-list__search-input{height:-moz-fit-content;height:fit-content;margin:0 8px}.list__header{width:100%}.list__section{margin-left:8px}.decorator__message--loading{display:block;height:24px;width:24px;margin-right:30px}.decorator__message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.list__title{margin-bottom:8px}.cc-list::-webkit-scrollbar{background:transparent;width:8px}.cc-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.error__view,.empty__view{text-align:center;width:100%;text-overflow:ellipsis;text-wrap:balance}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
2160
2196
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometchatListComponent, decorators: [{
2161
2197
  type: Component,
2162
- args: [{ selector: 'cometchat-list', template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\" [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\" (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>", styles: [".cc-list{width:100%;overflow-y:auto;overflow-x:hidden}.cc-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column}.section__header{padding:4px}.list__title{width:90%;margin:4px 0;padding-left:8px}.user__section{padding:8px}.cc-list__search-input{height:-moz-fit-content;height:fit-content;margin:0 8px}.list__header{width:100%}.list__section{margin-left:8px}.decorator__message--loading{display:block;height:24px;width:24px;margin-right:30px}.decorator__message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.list__title{margin-bottom:8px}.cc-list::-webkit-scrollbar{background:transparent;width:8px}.cc-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.error__view,.empty__view{text-align:center}\n"] }]
2198
+ args: [{ selector: 'cometchat-list', template: "<div class=\"cc-list__wrapper\">\n <div class=\"list__header\" [ngStyle]=\"headerStyle()\">\n <div *ngIf=\"title\" class=\"list__title\" [ngStyle]=\"headerTitle()\"> {{title}}</div>\n <div class=\"cc-list__search-input\">\n <cometchat-search-input [searchInputStyle]=\"searchStyle\" [placeholderText]=\"searchPlaceholderText\" *ngIf=\"!hideSearch\"\n [searchIconURL]=\"searchIconURL\" (cc-search-changed)=\"searchEvent($event)\"></cometchat-search-input>\n </div>\n </div>\n <div class=\"cc-list\" #listScroll [ngStyle]=\"listStyles()\">\n <div class=\"list__top\" #top>\n </div>\n <div class=\"decorator__message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"loading__view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"iconStyle\">\n </cometchat-loader>\n <span class=\"custom__view--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"error__view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"empty__view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"custom__view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"listitem__view\" *ngFor=\"let item of list; let i = index\">\n <div class=\"list__section\" *ngIf=\"showSectionHeader\">\n <div *ngIf=\"i > 0; else elseBlock\" class=\"section__separator\">\n <div *ngIf=\"\n list[i - 1][sectionHeaderField][0].toUpperCase() !==\n list[i][sectionHeaderField][0].toUpperCase()\n \" class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{ list[i][sectionHeaderField][0].toUpperCase() }}\n </div>\n </div>\n <ng-template #elseBlock>\n <div class=\"section__header\" [ngStyle]=\"sectionHeaderStyle()\">\n {{\n list[i][sectionHeaderField][0].toUpperCase()\n }}\n </div>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"listItemView;context:{ $implicit: item }\">\n </ng-container>\n </div>\n <div class=\"list__bottom\" #bottom>\n </div>\n </div>\n</div>", styles: [".cc-list{width:100%;overflow-y:auto;overflow-x:hidden}.cc-list__wrapper{height:100%;width:100%;display:flex;flex-direction:column}.section__header{padding:4px}.list__title{width:90%;margin:4px 0;padding-left:8px}.user__section{padding:8px}.cc-list__search-input{height:-moz-fit-content;height:fit-content;margin:0 8px}.list__header{width:100%}.list__section{margin-left:8px}.decorator__message--loading{display:block;height:24px;width:24px;margin-right:30px}.decorator__message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.list__title{margin-bottom:8px}.cc-list::-webkit-scrollbar{background:transparent;width:8px}.cc-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.error__view,.empty__view{text-align:center;width:100%;text-overflow:ellipsis;text-wrap:balance}\n"] }]
2163
2199
  }], ctorParameters: function () { return []; }, propDecorators: { listScroll: [{
2164
2200
  type: ViewChild,
2165
2201
  args: ["listScroll", { static: false }]
@@ -2400,29 +2436,6 @@ class CometChatIncomingCallComponent {
2400
2436
  });
2401
2437
  this.ongoingCallStyle = { ...defaultStyle, ...this.ongoingCallStyle };
2402
2438
  };
2403
- this.startDefaultCall = () => {
2404
- let call = this.call;
2405
- const sessionId = call?.getSessionId();
2406
- const callType = call?.getType() === CometChatUIKitConstants.MessageTypes.audio ? true : false;
2407
- const showRecordingButton = true;
2408
- const callSettings = new CometChat.CallSettingsBuilder()
2409
- .setSessionID(sessionId)
2410
- .enableDefaultLayout(true)
2411
- .setMode(CometChat.CALL_MODE.DEFAULT)
2412
- .setIsAudioOnlyCall(callType)
2413
- .showRecordingButton(showRecordingButton)
2414
- .build();
2415
- const el = "";
2416
- CometChat.startCall(callSettings, el, new CometChat.OngoingCallListener({
2417
- onCallEnded: (endedCall) => {
2418
- /* Notification received here if current ongoing call is ended. */
2419
- if (endedCall.getAction() == CometChatUIKitConstants.calls.ended) {
2420
- CometChatCallEvents.ccCallEnded.next(endedCall);
2421
- }
2422
- /* hiding/closing the call screen can be done here. */
2423
- },
2424
- }));
2425
- };
2426
2439
  this.checkForActiveCallAndEndCall = () => {
2427
2440
  let call = CometChat.getActiveCall();
2428
2441
  return new Promise((resolve, reject) => {
@@ -2769,28 +2782,7 @@ class CometChatUsersComponent {
2769
2782
  this.usersStyle = {
2770
2783
  width: "100%",
2771
2784
  height: "100%",
2772
- background: "",
2773
- border: "",
2774
- borderRadius: "",
2775
- titleTextFont: "",
2776
- titleTextColor: "",
2777
- searchPlaceholderTextFont: "",
2778
- searchPlaceholderTextColor: "",
2779
- searchTextFont: "",
2780
- searchTextColor: "",
2781
- emptyStateTextFont: "",
2782
- emptyStateTextColor: "",
2783
- errorStateTextFont: "",
2784
- errorStateTextColor: "",
2785
- loadingIconTint: "",
2786
- searchIconTint: "",
2787
- searchBorder: "",
2788
- searchBorderRadius: "",
2789
- searchBackground: "",
2790
- onlineStatusColor: "",
2791
2785
  separatorColor: "rgb(222 222 222 / 46%)",
2792
- sectionHeaderTextFont: "",
2793
- sectionHeaderTextColor: ""
2794
2786
  };
2795
2787
  this.listItemStyle = {
2796
2788
  height: "100%",
@@ -2899,11 +2891,17 @@ class CometChatUsersComponent {
2899
2891
  this.ref.detectChanges();
2900
2892
  }
2901
2893
  }, (error) => {
2894
+ if (this.onError) {
2895
+ this.onError(CometChatException(error));
2896
+ }
2902
2897
  this.state = States$1.error;
2903
2898
  this.ref.detectChanges();
2904
2899
  });
2905
2900
  }
2906
2901
  catch (error) {
2902
+ if (this.onError) {
2903
+ this.onError(CometChatException(error));
2904
+ }
2907
2905
  this.state = States$1.error;
2908
2906
  this.ref.detectChanges();
2909
2907
  }
@@ -2929,7 +2927,7 @@ class CometChatUsersComponent {
2929
2927
  }
2930
2928
  catch (error) {
2931
2929
  if (this.onError) {
2932
- this.onError(error);
2930
+ this.onError(CometChatException(error));
2933
2931
  }
2934
2932
  }
2935
2933
  };
@@ -3221,6 +3219,8 @@ class CometChatAddMembersComponent {
3221
3219
  this.titleAlignmentEnum = TitleAlignment;
3222
3220
  this.selectionmodeEnum = SelectionMode$1;
3223
3221
  this.addMembersStyle = {};
3222
+ this.StatusIndicatorStyle = {};
3223
+ this.avatarStyle = {};
3224
3224
  this.actionMessagesList = [];
3225
3225
  this.addMemberButtonStyle = {
3226
3226
  height: "100%",
@@ -3451,10 +3451,10 @@ class CometChatAddMembersComponent {
3451
3451
  }
3452
3452
  }
3453
3453
  CometChatAddMembersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatAddMembersComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
3454
- CometChatAddMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: { usersRequestBuilder: "usersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", hideError: "hideError", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onBack: "onBack", onClose: "onClose", onSelect: "onSelect", buttonText: "buttonText", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", listItemStyle: "listItemStyle", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", onAddMembersButtonClick: "onAddMembersButtonClick", titleAlignment: "titleAlignment", addMembersStyle: "addMembersStyle" }, ngImport: i0, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>", styles: [".cc-add-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-back-button{position:absolute;left:8px;padding:12px 8px 8px}.cc-add-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-users{height:90%}.cc-add-members__buttons{height:10%;width:100%;display:flex;align-items:center;justify-content:center}.button__icon{display:flex;justify-content:flex-end}.cc-add-members__buttons--add{height:42px;width:100%}\n"], components: [{ type: CometChatUsersComponent, selector: "cometchat-users", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "disableUsersPresence", "listItemView", "menu", "options", "activeUser", "hideSeparator", "searchPlaceholder", "hideError", "selectionMode", "searchIconURL", "hideSearch", "title", "onError", "emptyStateView", "onSelect", "errorStateView", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "usersStyle", "listItemStyle", "statusIndicatorStyle", "avatarStyle", "onItemClick"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3454
+ CometChatAddMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: { usersRequestBuilder: "usersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", hideError: "hideError", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onBack: "onBack", onClose: "onClose", onSelect: "onSelect", buttonText: "buttonText", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", listItemStyle: "listItemStyle", showSectionHeader: "showSectionHeader", sectionHeaderField: "sectionHeaderField", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", onAddMembersButtonClick: "onAddMembersButtonClick", titleAlignment: "titleAlignment", addMembersStyle: "addMembersStyle", StatusIndicatorStyle: "StatusIndicatorStyle", avatarStyle: "avatarStyle" }, ngImport: i0, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [StatusIndicatorStyle]=\"StatusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>", styles: [".cc-add-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-back-button{position:absolute;left:8px;padding:12px 8px 8px}.cc-add-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-users{height:90%}.cc-add-members__buttons{height:10%;width:100%;display:flex;align-items:center;justify-content:center}.button__icon{display:flex;justify-content:flex-end}.cc-add-members__buttons--add{height:42px;width:100%}\n"], components: [{ type: CometChatUsersComponent, selector: "cometchat-users", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "disableUsersPresence", "listItemView", "menu", "options", "activeUser", "hideSeparator", "searchPlaceholder", "hideError", "selectionMode", "searchIconURL", "hideSearch", "title", "onError", "emptyStateView", "onSelect", "errorStateView", "loadingIconURL", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "usersStyle", "listItemStyle", "statusIndicatorStyle", "avatarStyle", "onItemClick"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3455
3455
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatAddMembersComponent, decorators: [{
3456
3456
  type: Component,
3457
- args: [{ selector: "cometchat-add-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>", styles: [".cc-add-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-back-button{position:absolute;left:8px;padding:12px 8px 8px}.cc-add-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-users{height:90%}.cc-add-members__buttons{height:10%;width:100%;display:flex;align-items:center;justify-content:center}.button__icon{display:flex;justify-content:flex-end}.cc-add-members__buttons--add{height:42px;width:100%}\n"] }]
3457
+ args: [{ selector: "cometchat-add-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-add-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-back-button\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" (cc-button-clicked)=\"backClicked()\" *ngIf=\"showBackButton\">\n\n </cometchat-button>\n </div>\n <div class=\"cc-add-members__wrapper\" [ngStyle]=\"addMembersStyles()\">\n <div class=\"cc-users\">\n <cometchat-users [searchPlaceholder]=\"searchPlaceholder\" [usersRequestBuilder]=\"usersRequestBuilder\"\n [hideSearch]=\"hideSearch\"\n [StatusIndicatorStyle]=\"StatusIndicatorStyle\"\n [avatarStyle]=\"avatarStyle\"\n [searchIconURL]=\"searchIconURL\"\n [searchRequestBuilder]=\"searchRequestBuilder\"\n [usersStyle]=\"usersStyle\"\n [subtitleView]=\"subtitleView\"\n [options]=\"options\"\n [usersRequestBuilder]=\"usersRequestBuilder\"\n [emptyStateView]=\"emptyStateView\"\n [onSelect]=\" addRemoveUsers\"\n [sectionHeaderField]=\"sectionHeaderField\"\n [loadingIconURL]=\"loadingIconURL\"\n [errorStateView]=\"errorStateView\"\n [loadingStateView]=\"loadingStateView\"\n [titleAlignment]=\"titleAlignment\"\n [showSectionHeader]=\"showSectionHeader\"\n [listItemView]=\"listItemView\"\n [menu]=\"menu\"\n [hideSeparator]=\"hideSeparator\"\n [hideError]=\"hideError\"\n [selectionMode]=\" selectionMode\"\n [title]=\"title\" >\n\n </cometchat-users>\n </div>\n <div class=\"cc-add-members__buttons\">\n <cometchat-button class=\"cc-add-members__buttons--add\" [text]=\"buttonText\" [buttonStyle]=\"addMemberButtonStyle\" (click)=\"addMembersToGroup()\" ></cometchat-button>\n\n </div>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>", styles: [".cc-add-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-back-button{position:absolute;left:8px;padding:12px 8px 8px}.cc-add-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-users{height:90%}.cc-add-members__buttons{height:10%;width:100%;display:flex;align-items:center;justify-content:center}.button__icon{display:flex;justify-content:flex-end}.cc-add-members__buttons--add{height:42px;width:100%}\n"] }]
3458
3458
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { usersRequestBuilder: [{
3459
3459
  type: Input
3460
3460
  }], searchRequestBuilder: [{
@@ -3525,6 +3525,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3525
3525
  type: Input
3526
3526
  }], addMembersStyle: [{
3527
3527
  type: Input
3528
+ }], StatusIndicatorStyle: [{
3529
+ type: Input
3530
+ }], avatarStyle: [{
3531
+ type: Input
3528
3532
  }] } });
3529
3533
 
3530
3534
  /**
@@ -3886,7 +3890,9 @@ class CometChatMessageHeaderComponent {
3886
3890
  }));
3887
3891
  }
3888
3892
  catch (error) {
3889
- console.log(error);
3893
+ if (this.onError) {
3894
+ this.onError(CometChatException(error));
3895
+ }
3890
3896
  }
3891
3897
  }
3892
3898
  removeListener() {
@@ -3899,10 +3905,10 @@ class CometChatMessageHeaderComponent {
3899
3905
  }
3900
3906
  }
3901
3907
  CometChatMessageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageHeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
3902
- CometChatMessageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: { avatarStyle: "avatarStyle", statusIndicatorStyle: "statusIndicatorStyle", messageHeaderStyle: "messageHeaderStyle", listItemStyle: "listItemStyle", subtitleView: "subtitleView", disableUsersPresence: "disableUsersPresence", disableTyping: "disableTyping", protectedGroupIcon: "protectedGroupIcon", privateGroupIcon: "privateGroupIcon", menu: "menu", user: "user", group: "group", backButtonIconURL: "backButtonIconURL", hideBackButton: "hideBackButton", listItemView: "listItemView", onError: "onError", onBack: "onBack" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\"> <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle\" (cc-button-clicked)=\"onBackClicked()\"></cometchat-button></div>\n<div class=\"cc-message-header__listitem\">\n<cometchat-list-item *ngIf=\"!listItemView;else listitem\" [avatarName]=\"user?.getName() || this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() || this.group?.getName()\" [hideSeparator]=\"true\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n<div slot=\"subtitleView\">\n<div *ngIf=\"!subtitleView; else subtitle\">\n<cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n\n</cometchat-label>\n</div>\n<ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n</ng-template>\n\n</div>\n</cometchat-list-item>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n</ng-template>\n</div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n\n </ng-container>\n </div>\n </div>\n\n", styles: [".cc-message-header__wrapper{display:flex;align-items:center;justify-content:space-between;flex-direction:row;padding:8px;box-sizing:border-box}.cc-message-header__back-button{margin-right:8px}.cc-message-header{display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.cc-message-header__listitem{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start}.cc-message-header__menu{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:flex-end;padding:12px}cometchat-list-item{width:100%}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3908
+ CometChatMessageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: { avatarStyle: "avatarStyle", statusIndicatorStyle: "statusIndicatorStyle", messageHeaderStyle: "messageHeaderStyle", listItemStyle: "listItemStyle", subtitleView: "subtitleView", disableUsersPresence: "disableUsersPresence", disableTyping: "disableTyping", protectedGroupIcon: "protectedGroupIcon", privateGroupIcon: "privateGroupIcon", menu: "menu", user: "user", group: "group", backButtonIconURL: "backButtonIconURL", hideBackButton: "hideBackButton", listItemView: "listItemView", onError: "onError", onBack: "onBack" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"hideBackButton\"> <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle\" (cc-button-clicked)=\"onBackClicked()\"></cometchat-button></div>\n<div class=\"cc-message-header__listitem\">\n<cometchat-list-item *ngIf=\"!listItemView;else listitem\" [avatarName]=\"user?.getName() || this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() || this.group?.getName()\" [hideSeparator]=\"true\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n<div slot=\"subtitleView\">\n<div *ngIf=\"!subtitleView; else subtitle\">\n<cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n\n</cometchat-label>\n</div>\n<ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n</ng-template>\n\n</div>\n</cometchat-list-item>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n</ng-template>\n</div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n\n </ng-container>\n </div>\n </div>\n\n", styles: [".cc-message-header__wrapper{display:flex;align-items:center;justify-content:space-between;flex-direction:row;padding:8px;box-sizing:border-box}.cc-message-header__back-button{margin-right:8px}.cc-message-header{display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.cc-message-header__listitem{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start}.cc-message-header__menu{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:flex-end;padding:12px}cometchat-list-item{width:100%}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3903
3909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageHeaderComponent, decorators: [{
3904
3910
  type: Component,
3905
- args: [{ selector: 'cometchat-message-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"!hideBackButton\"> <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle\" (cc-button-clicked)=\"onBackClicked()\"></cometchat-button></div>\n<div class=\"cc-message-header__listitem\">\n<cometchat-list-item *ngIf=\"!listItemView;else listitem\" [avatarName]=\"user?.getName() || this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() || this.group?.getName()\" [hideSeparator]=\"true\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n<div slot=\"subtitleView\">\n<div *ngIf=\"!subtitleView; else subtitle\">\n<cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n\n</cometchat-label>\n</div>\n<ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n</ng-template>\n\n</div>\n</cometchat-list-item>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n</ng-template>\n</div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n\n </ng-container>\n </div>\n </div>\n\n", styles: [".cc-message-header__wrapper{display:flex;align-items:center;justify-content:space-between;flex-direction:row;padding:8px;box-sizing:border-box}.cc-message-header__back-button{margin-right:8px}.cc-message-header{display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.cc-message-header__listitem{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start}.cc-message-header__menu{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:flex-end;padding:12px}cometchat-list-item{width:100%}\n"] }]
3911
+ args: [{ selector: 'cometchat-message-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-header__wrapper\" [ngStyle]=\"headerStyle()\">\n <div class=\"cc-message-header\">\n <div class=\"cc-message-header__back-button\" *ngIf=\"hideBackButton\"> <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle\" (cc-button-clicked)=\"onBackClicked()\"></cometchat-button></div>\n<div class=\"cc-message-header__listitem\">\n<cometchat-list-item *ngIf=\"!listItemView;else listitem\" [avatarName]=\"user?.getName() || this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() || this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() || this.group?.getName()\" [hideSeparator]=\"true\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n<div slot=\"subtitleView\">\n<div *ngIf=\"!subtitleView; else subtitle\">\n<cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n\n</cometchat-label>\n</div>\n<ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n\n </ng-container>\n</ng-template>\n\n</div>\n</cometchat-list-item>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"listItemView\">\n\n </ng-container>\n</ng-template>\n</div>\n </div>\n <div class=\"cc-message-header__menu\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n\n </ng-container>\n </div>\n </div>\n\n", styles: [".cc-message-header__wrapper{display:flex;align-items:center;justify-content:space-between;flex-direction:row;padding:8px;box-sizing:border-box}.cc-message-header__back-button{margin-right:8px}.cc-message-header{display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.cc-message-header__listitem{height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start}.cc-message-header__menu{width:-moz-fit-content;width:fit-content;display:flex;align-items:center;justify-content:flex-end;padding:12px}cometchat-list-item{width:100%}\n"] }]
3906
3912
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { avatarStyle: [{
3907
3913
  type: Input
3908
3914
  }], statusIndicatorStyle: [{
@@ -4012,7 +4018,7 @@ class CometChatBannedMembersComponent {
4012
4018
  constructor(ref, themeService) {
4013
4019
  this.ref = ref;
4014
4020
  this.themeService = themeService;
4015
- this.disableUsersPresence = false;
4021
+ this.disableUsersPresence = true;
4016
4022
  this.backButtonIconURL = "assets/backbutton.svg";
4017
4023
  this.closeButtonIconURL = "assets/close2x.svg";
4018
4024
  this.showBackButton = true;
@@ -4030,6 +4036,12 @@ class CometChatBannedMembersComponent {
4030
4036
  this.errorStateText = localize("SOMETHING_WRONG");
4031
4037
  this.titleAlignment = TitleAlignment.center;
4032
4038
  this.unbanIconURL = "assets/close2x.svg";
4039
+ this.statusIndicatorStyle = {
4040
+ height: "10px",
4041
+ width: "10px",
4042
+ borderRadius: "16px",
4043
+ border: ""
4044
+ };
4033
4045
  this.menuListStyle = {
4034
4046
  width: "",
4035
4047
  height: "",
@@ -4089,6 +4101,20 @@ class CometChatBannedMembersComponent {
4089
4101
  this.membersListenerId = "bannedMembers_" + new Date().getTime();
4090
4102
  this.membersList = [];
4091
4103
  this.onScrolledToBottom = null;
4104
+ /**
4105
+ * @param {CometChat.GroupMember} member
4106
+ */
4107
+ this.getStatusIndicatorColor = (member) => {
4108
+ if (!this.disableUsersPresence) {
4109
+ if (member?.getStatus() == CometChatUIKitConstants.userStatusType.online) {
4110
+ return this.bannedMembersStyle.onlineStatusColor || this.themeService.theme.palette.getSuccess();
4111
+ }
4112
+ else {
4113
+ return null;
4114
+ }
4115
+ }
4116
+ return null;
4117
+ };
4092
4118
  this.unBanMember = (member) => {
4093
4119
  CometChat.unbanGroupMember(this.group.getGuid(), member.getUid()).then(() => {
4094
4120
  CometChatGroupEvents.ccGroupMemberUnbanned.next({
@@ -4098,7 +4124,9 @@ class CometChatBannedMembersComponent {
4098
4124
  });
4099
4125
  this.updateMember(member);
4100
4126
  }).catch((err) => {
4101
- console.log(err);
4127
+ if (this.onError) {
4128
+ this.onError(err);
4129
+ }
4102
4130
  });
4103
4131
  };
4104
4132
  /**
@@ -4120,6 +4148,24 @@ class CometChatBannedMembersComponent {
4120
4148
  this.ref.detectChanges();
4121
4149
  }
4122
4150
  };
4151
+ /**
4152
+ * @param {CometChat.User} member
4153
+ */
4154
+ this.updateMemberStatus = (member) => {
4155
+ if (!this.disableUsersPresence) {
4156
+ let memberlist = [...this.bannedMembers];
4157
+ //search for user
4158
+ let userKey = memberlist.findIndex((u, k) => u.getUid() == member.getUid());
4159
+ //if found in the list, update user object
4160
+ if (userKey > -1) {
4161
+ let user = memberlist[userKey];
4162
+ user.setStatus(member.getStatus());
4163
+ memberlist.splice(userKey, 1, user);
4164
+ this.bannedMembers = [...memberlist];
4165
+ this.ref.detectChanges();
4166
+ }
4167
+ }
4168
+ };
4123
4169
  this.fetchNextBannedMembers = () => {
4124
4170
  this.onScrolledToBottom = null;
4125
4171
  if (this.bannedMembersRequest && this.bannedMembersRequest.pagination && (this.bannedMembersRequest.pagination.current_page == 0 || this.bannedMembersRequest.pagination.current_page != this.bannedMembersRequest.pagination.total_pages)) {
@@ -4139,13 +4185,17 @@ class CometChatBannedMembersComponent {
4139
4185
  this.ref.detectChanges();
4140
4186
  }
4141
4187
  }, (error) => {
4142
- console.log(error);
4188
+ if (this.onError) {
4189
+ this.onError(CometChatException(error));
4190
+ }
4143
4191
  this.state = States.error;
4144
4192
  this.ref.detectChanges();
4145
4193
  });
4146
4194
  }
4147
4195
  catch (error) {
4148
- console.log(error);
4196
+ if (this.onError) {
4197
+ this.onError(CometChatException(error));
4198
+ }
4149
4199
  this.state = States.error;
4150
4200
  this.ref.detectChanges();
4151
4201
  }
@@ -4170,7 +4220,7 @@ class CometChatBannedMembersComponent {
4170
4220
  }
4171
4221
  catch (error) {
4172
4222
  if (this.onError) {
4173
- this.onError(error);
4223
+ this.onError(CometChatException(error));
4174
4224
  }
4175
4225
  }
4176
4226
  };
@@ -4211,6 +4261,7 @@ class CometChatBannedMembersComponent {
4211
4261
  };
4212
4262
  }
4213
4263
  ngOnInit() {
4264
+ this.attachListeners();
4214
4265
  this.onScrolledToBottom = this.fetchNextBannedMembers;
4215
4266
  this.setThemeStyle();
4216
4267
  CometChat.getLoggedinUser().then((user) => {
@@ -4235,6 +4286,16 @@ class CometChatBannedMembersComponent {
4235
4286
  }
4236
4287
  attachListeners() {
4237
4288
  //Attaching User Listeners to dynamilcally update when a user comes online and goes offline
4289
+ CometChat.addUserListener(this.membersListenerId, new CometChat.UserListener({
4290
+ onUserOnline: (onlineUser) => {
4291
+ /* when someuser/friend comes online, user will be received here */
4292
+ this.updateMemberStatus(onlineUser);
4293
+ },
4294
+ onUserOffline: (offlineUser) => {
4295
+ /* when someuser/friend went offline, user will be received here */
4296
+ this.updateMemberStatus(offlineUser);
4297
+ },
4298
+ }));
4238
4299
  CometChat.addGroupListener(this.membersListenerId, new CometChat.GroupListener({
4239
4300
  onGroupMemberBanned: (message, bannedUser, bannedBy, bannedFrom) => {
4240
4301
  this.updateMember(bannedUser);
@@ -4277,6 +4338,7 @@ class CometChatBannedMembersComponent {
4277
4338
  this.setBanMembersStyle();
4278
4339
  this.setListItemStyle();
4279
4340
  this.setAvatarStyle();
4341
+ this.setStatusStyle();
4280
4342
  this.menuListStyle.background = this.themeService.theme.palette.getBackground();
4281
4343
  this.menuListStyle.iconBackground = this.themeService.theme.palette.getBackground();
4282
4344
  this.menuListStyle.iconTint = this.themeService.theme.palette.getAccent400();
@@ -4333,6 +4395,15 @@ class CometChatBannedMembersComponent {
4333
4395
  searchTextColor: this.bannedMembersStyle.searchTextColor,
4334
4396
  };
4335
4397
  }
4398
+ setStatusStyle() {
4399
+ let defaultStyle = {
4400
+ height: "12px",
4401
+ width: "12px",
4402
+ border: "none",
4403
+ borderRadius: "24px",
4404
+ };
4405
+ this.statusIndicatorStyle = { ...defaultStyle, ...this.statusIndicatorStyle };
4406
+ }
4336
4407
  setListItemStyle() {
4337
4408
  let defaultStyle = new ListItemStyle({
4338
4409
  height: "45px",
@@ -4365,10 +4436,10 @@ class CometChatBannedMembersComponent {
4365
4436
  }
4366
4437
  }
4367
4438
  CometChatBannedMembersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatBannedMembersComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
4368
- CometChatBannedMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatBannedMembersComponent, selector: "cometchat-banned-members", inputs: { bannedMembersRequestBuilder: "bannedMembersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onSelect: "onSelect", onBack: "onBack", onClose: "onClose", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", unbanIconURL: "unbanIconURL", avatarStyle: "avatarStyle", bannedMembersStyle: "bannedMembersStyle", listItemStyle: "listItemStyle" }, ngImport: i0, template: "<div class=\"cc-banned-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-banned-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\" (cc-button-clicked)=\"backClicked()\" >\n\n </cometchat-button>\n </div>\n <div class=\"cc-banned-members__wrapper\" [ngStyle]=\"membersStyles()\">\n <div class=\"cc-banned-members__menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"bannedMembers\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [title]=\"title\"\n\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-bannedMember>\n <cometchat-list-item [title]=\"bannedMember?.name\" [avatarURL]=\"bannedMember?.avatar\" [avatarName]=\"bannedMember?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-banned-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(bannedMember)\" [menuListStyle]=\"menuListStyle\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none; else changeScope\" class=\"cc-banned-members__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #changeScope>\n <div slot=\"tailView\">\n <div class=\"cc-banned-members__unban\">\n <cometchat-button [buttonStyle]=\"unbanIconStyle\" [iconURL]=\"unbanIconURL\" (click)=\"unBanMember(bannedMember)\">\n\n </cometchat-button>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-banned-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-banned-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n", styles: [".cc-banned-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-banned-members__back{position:absolute;left:8px;padding:12px 8px 8px}.cc-banned-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-banned-members__tail-view{position:relative}.cc-banned-members__menus{position:absolute;right:12px;padding:12px;cursor:pointer}.cc-banned-members__unban{display:flex;align-items:center;justify-content:flex-end;width:100px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4439
+ CometChatBannedMembersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatBannedMembersComponent, selector: "cometchat-banned-members", inputs: { bannedMembersRequestBuilder: "bannedMembersRequestBuilder", searchRequestBuilder: "searchRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", disableUsersPresence: "disableUsersPresence", menu: "menu", options: "options", backButtonIconURL: "backButtonIconURL", closeButtonIconURL: "closeButtonIconURL", showBackButton: "showBackButton", hideSeparator: "hideSeparator", selectionMode: "selectionMode", searchPlaceholder: "searchPlaceholder", searchIconURL: "searchIconURL", hideSearch: "hideSearch", title: "title", onError: "onError", onSelect: "onSelect", onBack: "onBack", onClose: "onClose", group: "group", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", unbanIconURL: "unbanIconURL", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", bannedMembersStyle: "bannedMembersStyle", listItemStyle: "listItemStyle" }, ngImport: i0, template: "<div class=\"cc-banned-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-banned-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\" (cc-button-clicked)=\"backClicked()\" >\n\n </cometchat-button>\n </div>\n <div class=\"cc-banned-members__wrapper\" [ngStyle]=\"membersStyles()\">\n <div class=\"cc-banned-members__menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"bannedMembers\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [title]=\"title\"\n\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-bannedMember>\n <cometchat-list-item [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(bannedMember)\" [title]=\"bannedMember?.name\" [avatarURL]=\"bannedMember?.avatar\" [avatarName]=\"bannedMember?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-banned-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(bannedMember)\" [menuListStyle]=\"menuListStyle\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none; else changeScope\" class=\"cc-banned-members__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #changeScope>\n <div slot=\"tailView\">\n <div class=\"cc-banned-members__unban\">\n <cometchat-button [buttonStyle]=\"unbanIconStyle\" [iconURL]=\"unbanIconURL\" (click)=\"unBanMember(bannedMember)\">\n\n </cometchat-button>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-banned-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-banned-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n", styles: [".cc-banned-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-banned-members__back{position:absolute;left:8px;padding:12px 8px 8px}.cc-banned-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-banned-members__tail-view{position:relative}.cc-banned-members__menus{position:absolute;right:12px;padding:12px;cursor:pointer}.cc-banned-members__unban{display:flex;align-items:center;justify-content:flex-end;width:100px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4369
4440
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatBannedMembersComponent, decorators: [{
4370
4441
  type: Component,
4371
- args: [{ selector: "cometchat-banned-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-banned-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-banned-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\" (cc-button-clicked)=\"backClicked()\" >\n\n </cometchat-button>\n </div>\n <div class=\"cc-banned-members__wrapper\" [ngStyle]=\"membersStyles()\">\n <div class=\"cc-banned-members__menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"bannedMembers\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [title]=\"title\"\n\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-bannedMember>\n <cometchat-list-item [title]=\"bannedMember?.name\" [avatarURL]=\"bannedMember?.avatar\" [avatarName]=\"bannedMember?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-banned-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(bannedMember)\" [menuListStyle]=\"menuListStyle\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none; else changeScope\" class=\"cc-banned-members__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #changeScope>\n <div slot=\"tailView\">\n <div class=\"cc-banned-members__unban\">\n <cometchat-button [buttonStyle]=\"unbanIconStyle\" [iconURL]=\"unbanIconURL\" (click)=\"unBanMember(bannedMember)\">\n\n </cometchat-button>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-banned-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-banned-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n", styles: [".cc-banned-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-banned-members__back{position:absolute;left:8px;padding:12px 8px 8px}.cc-banned-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-banned-members__tail-view{position:relative}.cc-banned-members__menus{position:absolute;right:12px;padding:12px;cursor:pointer}.cc-banned-members__unban{display:flex;align-items:center;justify-content:flex-end;width:100px}\n"] }]
4442
+ args: [{ selector: "cometchat-banned-members", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-banned-members\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-banned-members__back\">\n <cometchat-button [iconURL]=\"backButtonIconURL\" [buttonStyle]=\"backButtonStyle()\" *ngIf=\"showBackButton\" (cc-button-clicked)=\"backClicked()\" >\n\n </cometchat-button>\n </div>\n <div class=\"cc-banned-members__wrapper\" [ngStyle]=\"membersStyles()\">\n <div class=\"cc-banned-members__menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n </div>\n <cometchat-list [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\" [onSearch]=\"onSearch\"\n [list]=\"bannedMembers\" [searchText]=\"searchKeyword\" [searchPlaceholderText]=\"searchPlaceholder\"\n [searchIconURL]=\"searchIconURL\" [hideSearch]=\"hideSearch\" [title]=\"title\"\n\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-bannedMember>\n <cometchat-list-item [statusIndicatorStyle]=\"statusIndicatorStyle\"\n [statusIndicatorColor]=\"getStatusIndicatorColor(bannedMember)\" [title]=\"bannedMember?.name\" [avatarURL]=\"bannedMember?.avatar\" [avatarName]=\"bannedMember?.name\"\n [listItemStyle]=\"listItemStyle\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\">\n <div slot=\"subtitleView\" *ngIf=\"subtitleView\" class=\"cc-banned-members__subtitle-view\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <div slot=\"menuView\" *ngIf=\"options\">\n <cometchat-menu-list [data]=\"options(bannedMember)\" [menuListStyle]=\"menuListStyle\"></cometchat-menu-list>\n </div>\n <div slot=\"tailView\" *ngIf=\"selectionMode != selectionmodeEnum.none; else changeScope\" class=\"cc-banned-members__tail-view\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n <ng-template #changeScope>\n <div slot=\"tailView\">\n <div class=\"cc-banned-members__unban\">\n <cometchat-button [buttonStyle]=\"unbanIconStyle\" [iconURL]=\"unbanIconURL\" (click)=\"unBanMember(bannedMember)\">\n\n </cometchat-button>\n </div>\n </div>\n </ng-template>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\" class=\"cc-banned-members__selection--single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\" class=\"cc-banned-members__selection--multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(bannedMember) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n </div>\n <div class=\"cc-close-button\">\n <cometchat-button [iconURL]=\"closeButtonIconURL\" [buttonStyle]=\"closeButtonStyle()\" (cc-button-clicked)=\"closeClicked()\">\n\n </cometchat-button>\n </div>\n</div>\n", styles: [".cc-banned-members{display:flex;height:100%;width:100%;overflow:hidden}.cc-banned-members__back{position:absolute;left:8px;padding:12px 8px 8px}.cc-banned-members__wrapper{height:100%;width:100%;padding:8px}.cc-close-button{position:absolute;right:8px;padding:12px 8px 8px}.cc-banned-members__tail-view{position:relative}.cc-banned-members__menus{position:absolute;right:12px;padding:12px;cursor:pointer}.cc-banned-members__unban{display:flex;align-items:center;justify-content:flex-end;width:100px}\n"] }]
4372
4443
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { bannedMembersRequestBuilder: [{
4373
4444
  type: Input
4374
4445
  }], searchRequestBuilder: [{
@@ -4427,6 +4498,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4427
4498
  type: Input
4428
4499
  }], unbanIconURL: [{
4429
4500
  type: Input
4501
+ }], statusIndicatorStyle: [{
4502
+ type: Input
4430
4503
  }], avatarStyle: [{
4431
4504
  type: Input
4432
4505
  }], bannedMembersStyle: [{
@@ -4727,13 +4800,16 @@ class CometChatConversationsComponent {
4727
4800
  });
4728
4801
  })
4729
4802
  .catch((error) => {
4803
+ if (this.onError) {
4804
+ this.onError(error);
4805
+ }
4730
4806
  this.state = States.error;
4731
4807
  this.ref.detectChanges();
4732
4808
  });
4733
4809
  }
4734
4810
  catch (error) {
4735
4811
  if (this.onError) {
4736
- this.onError(error);
4812
+ this.onError(CometChatException(error));
4737
4813
  }
4738
4814
  }
4739
4815
  }
@@ -4785,7 +4861,7 @@ class CometChatConversationsComponent {
4785
4861
  }
4786
4862
  catch (error) {
4787
4863
  if (this.onError) {
4788
- this.onError(error);
4864
+ this.onError(CometChatException(error));
4789
4865
  }
4790
4866
  }
4791
4867
  };
@@ -4920,7 +4996,7 @@ class CometChatConversationsComponent {
4920
4996
  }
4921
4997
  catch (error) {
4922
4998
  if (this.onError) {
4923
- this.onError(error);
4999
+ this.onError(CometChatException(error));
4924
5000
  }
4925
5001
  }
4926
5002
  this.ref.detectChanges();
@@ -5053,7 +5129,7 @@ class CometChatConversationsComponent {
5053
5129
  }
5054
5130
  catch (error) {
5055
5131
  if (this.onError) {
5056
- this.onError(error);
5132
+ this.onError(CometChatException(error));
5057
5133
  }
5058
5134
  }
5059
5135
  }
@@ -5064,7 +5140,7 @@ class CometChatConversationsComponent {
5064
5140
  }
5065
5141
  catch (error) {
5066
5142
  if (this.onError) {
5067
- this.onError(error);
5143
+ this.onError(CometChatException(error));
5068
5144
  }
5069
5145
  }
5070
5146
  this.ref.detectChanges();
@@ -5258,7 +5334,7 @@ class CometChatConversationsComponent {
5258
5334
  }
5259
5335
  catch (error) {
5260
5336
  if (this.onError) {
5261
- this.onError(error);
5337
+ this.onError(CometChatException(error));
5262
5338
  }
5263
5339
  }
5264
5340
  }
@@ -5366,7 +5442,7 @@ class CometChatConversationsComponent {
5366
5442
  }
5367
5443
  catch (error) {
5368
5444
  if (this.onError) {
5369
- this.onError(error);
5445
+ this.onError(CometChatException(error));
5370
5446
  }
5371
5447
  }
5372
5448
  }
@@ -5381,7 +5457,7 @@ class CometChatConversationsComponent {
5381
5457
  }
5382
5458
  catch (error) {
5383
5459
  if (this.onError) {
5384
- this.onError(error);
5460
+ this.onError(CometChatException(error));
5385
5461
  }
5386
5462
  }
5387
5463
  }
@@ -5439,7 +5515,7 @@ class CometChatConversationsComponent {
5439
5515
  }
5440
5516
  catch (error) {
5441
5517
  if (this.onError) {
5442
- this.onError(error);
5518
+ this.onError(CometChatException(error));
5443
5519
  }
5444
5520
  this.ref.detectChanges();
5445
5521
  }
@@ -5513,7 +5589,7 @@ class CometChatConversationsComponent {
5513
5589
  }
5514
5590
  catch (error) {
5515
5591
  if (this.onError) {
5516
- this.onError(error);
5592
+ this.onError(CometChatException(error));
5517
5593
  }
5518
5594
  }
5519
5595
  this.ref.detectChanges();
@@ -5629,7 +5705,7 @@ class CometChatConversationsComponent {
5629
5705
  }
5630
5706
  catch (error) {
5631
5707
  if (this.onError) {
5632
- this.onError(error);
5708
+ this.onError(CometChatException(error));
5633
5709
  }
5634
5710
  }
5635
5711
  }
@@ -5656,7 +5732,7 @@ class CometChatConversationsComponent {
5656
5732
  }
5657
5733
  catch (error) {
5658
5734
  if (this.onError) {
5659
- this.onError(error);
5735
+ this.onError(CometChatException(error));
5660
5736
  }
5661
5737
  }
5662
5738
  }
@@ -6132,10 +6208,10 @@ class CometChatMessageListComponent {
6132
6208
  textColor: "grey"
6133
6209
  };
6134
6210
  this.imageBubbleStyle = {
6135
- height: "128px",
6136
- width: "128px",
6211
+ height: "auto",
6212
+ width: "300px",
6137
6213
  border: "none",
6138
- borderRadius: "0",
6214
+ borderRadius: "8px",
6139
6215
  background: "transparent"
6140
6216
  };
6141
6217
  this.messagesList = [];
@@ -6447,7 +6523,7 @@ class CometChatMessageListComponent {
6447
6523
  this.fetchPreviousMessages = () => {
6448
6524
  if (this.reinitialized) {
6449
6525
  if (this.messagesRequestBuilder) {
6450
- this.requestBuilder = this.messagesRequestBuilder.setMessageId(this.messagesList[0].getId()).build();
6526
+ this.requestBuilder = this.user ? this.messagesRequestBuilder.setUID(this.user?.getUid()).setMessageId(this.messagesList[0].getId()).build() : this.messagesRequestBuilder.setGUID(this.group?.getGuid()).setMessageId(this.messagesList[0].getId()).build();
6451
6527
  }
6452
6528
  else {
6453
6529
  if (this.user) {
@@ -6529,7 +6605,7 @@ class CometChatMessageListComponent {
6529
6605
  }, (error) => {
6530
6606
  this.state = States$1.error;
6531
6607
  if (this.onError) {
6532
- this.onError(error);
6608
+ this.onError(CometChatException(error));
6533
6609
  }
6534
6610
  this.ref.detectChanges();
6535
6611
  }).catch((error) => {
@@ -6542,7 +6618,7 @@ class CometChatMessageListComponent {
6542
6618
  let index = this.messagesList.length - 1;
6543
6619
  if (this.reinitialized) {
6544
6620
  if (this.messagesRequestBuilder) {
6545
- this.requestBuilder = this.messagesRequestBuilder.setMessageId(this.messagesList[index].getId()).build();
6621
+ this.requestBuilder = this.user ? this.messagesRequestBuilder.setUID(this.user?.getUid()).setMessageId(this.messagesList[index].getId()).build() : this.messagesRequestBuilder.setGUID(this.group?.getGuid()).setMessageId(this.messagesList[index].getId()).build();
6546
6622
  }
6547
6623
  else {
6548
6624
  if (this.user) {
@@ -6600,7 +6676,7 @@ class CometChatMessageListComponent {
6600
6676
  this.state = States$1.error;
6601
6677
  console.log(error);
6602
6678
  if (this.onError) {
6603
- this.onError(error);
6679
+ this.onError(CometChatException(error));
6604
6680
  }
6605
6681
  this.ref.detectChanges();
6606
6682
  }).catch((error) => {
@@ -6733,7 +6809,7 @@ class CometChatMessageListComponent {
6733
6809
  }
6734
6810
  catch (error) {
6735
6811
  if (this.onError) {
6736
- this.onError(error);
6812
+ this.onError(CometChatException(error));
6737
6813
  }
6738
6814
  }
6739
6815
  this.ref.detectChanges();
@@ -6751,8 +6827,8 @@ class CometChatMessageListComponent {
6751
6827
  message,
6752
6828
  ...messageList.slice(messageKey + 1)
6753
6829
  ];
6830
+ this.ref.detectChanges();
6754
6831
  }
6755
- this.ref.detectChanges();
6756
6832
  };
6757
6833
  /**
6758
6834
  * @param {CometChat.BaseMessage} message
@@ -6854,7 +6930,7 @@ class CometChatMessageListComponent {
6854
6930
  }
6855
6931
  catch (error) {
6856
6932
  if (this.onError) {
6857
- this.onError(error);
6933
+ this.onError(CometChatException(error));
6858
6934
  }
6859
6935
  }
6860
6936
  };
@@ -6874,7 +6950,7 @@ class CometChatMessageListComponent {
6874
6950
  }
6875
6951
  catch (error) {
6876
6952
  if (this.onError) {
6877
- this.onError(error);
6953
+ this.onError(CometChatException(error));
6878
6954
  }
6879
6955
  }
6880
6956
  };
@@ -6891,7 +6967,7 @@ class CometChatMessageListComponent {
6891
6967
  }
6892
6968
  catch (error) {
6893
6969
  if (this.onError) {
6894
- this.onError(error);
6970
+ this.onError(CometChatException(error));
6895
6971
  }
6896
6972
  }
6897
6973
  };
@@ -6947,6 +7023,11 @@ class CometChatMessageListComponent {
6947
7023
  borderRadius: this.messageListStyle.borderRadius
6948
7024
  };
6949
7025
  };
7026
+ this.listStyle = () => {
7027
+ return {
7028
+ height: this.showSmartReply ? "92%" : "100%"
7029
+ };
7030
+ };
6950
7031
  }
6951
7032
  getThreadViewStyle(message) {
6952
7033
  if ((!message.getSender() || message.getSender().getUid() === this.loggedInUser?.getUid()) && message?.getType() == CometChatUIKitConstants.MessageTypes.text) {
@@ -6983,7 +7064,6 @@ class CometChatMessageListComponent {
6983
7064
  }
6984
7065
  }
6985
7066
  ngOnChanges(changes) {
6986
- console.log(this.templates);
6987
7067
  try {
6988
7068
  if (changes[CometChatUIKitConstants.MessageReceiverType.user] || changes[CometChatUIKitConstants.MessageReceiverType.group]) {
6989
7069
  this.showEnabledExtensions();
@@ -6991,6 +7071,11 @@ class CometChatMessageListComponent {
6991
7071
  if (!this.loggedInUser) {
6992
7072
  CometChat.getLoggedinUser().then((user) => {
6993
7073
  this.loggedInUser = user;
7074
+ })
7075
+ .catch((error) => {
7076
+ if (this.onError) {
7077
+ this.onError(error);
7078
+ }
6994
7079
  });
6995
7080
  }
6996
7081
  this.messagesList = [];
@@ -7037,7 +7122,7 @@ class CometChatMessageListComponent {
7037
7122
  }
7038
7123
  catch (error) {
7039
7124
  if (this.onError) {
7040
- this.onError(error);
7125
+ this.onError(CometChatException(error));
7041
7126
  }
7042
7127
  }
7043
7128
  }
@@ -7148,11 +7233,15 @@ class CometChatMessageListComponent {
7148
7233
  .then((response) => {
7149
7234
  })
7150
7235
  .catch((error) => {
7151
- console.log(error);
7236
+ if (this.onError) {
7237
+ this.onError(error);
7238
+ }
7152
7239
  });
7153
7240
  }
7154
7241
  catch (error) {
7155
- console.log(error);
7242
+ if (this.onError) {
7243
+ this.onError(CometChatException(error));
7244
+ }
7156
7245
  }
7157
7246
  }
7158
7247
  ngOnDestroy() {
@@ -7165,7 +7254,7 @@ class CometChatMessageListComponent {
7165
7254
  }
7166
7255
  catch (error) {
7167
7256
  if (this.onError) {
7168
- this.onError(error);
7257
+ this.onError(CometChatException(error));
7169
7258
  }
7170
7259
  }
7171
7260
  }
@@ -7375,7 +7464,7 @@ class CometChatMessageListComponent {
7375
7464
  }
7376
7465
  catch (error) {
7377
7466
  if (this.onError) {
7378
- this.onError(error);
7467
+ this.onError(CometChatException(error));
7379
7468
  }
7380
7469
  }
7381
7470
  }
@@ -7401,7 +7490,7 @@ class CometChatMessageListComponent {
7401
7490
  }
7402
7491
  catch (error) {
7403
7492
  if (this.onError) {
7404
- this.onError(error);
7493
+ this.onError(CometChatException(error));
7405
7494
  }
7406
7495
  }
7407
7496
  }
@@ -7621,7 +7710,7 @@ class CometChatMessageListComponent {
7621
7710
  }
7622
7711
  catch (error) {
7623
7712
  if (this.onError) {
7624
- this.onError(error);
7713
+ this.onError(CometChatException(error));
7625
7714
  }
7626
7715
  }
7627
7716
  }
@@ -7644,7 +7733,7 @@ class CometChatMessageListComponent {
7644
7733
  }
7645
7734
  catch (error) {
7646
7735
  if (this.onError) {
7647
- this.onError(error);
7736
+ this.onError(CometChatException(error));
7648
7737
  }
7649
7738
  }
7650
7739
  }
@@ -7785,6 +7874,7 @@ class CometChatMessageListComponent {
7785
7874
  border: "none",
7786
7875
  warningTextColor: this.themeService.theme.palette.getAccent("dark"),
7787
7876
  warningTextFont: fontHelper(this.themeService.theme.typography.title2),
7877
+ borderRadius: "8px"
7788
7878
  };
7789
7879
  this.confirmDialogStyle = {
7790
7880
  confirmButtonBackground: this.themeService.theme.palette.getError(),
@@ -7826,28 +7916,23 @@ class CometChatMessageListComponent {
7826
7916
  this.state = States$1.loading;
7827
7917
  this.requestBuilder = null;
7828
7918
  if (this.user || this.group) {
7829
- if (!this.messagesRequestBuilder) {
7830
- if (this.user) {
7831
- this.requestBuilder = new CometChat.MessagesRequestBuilder()
7832
- .setUID(this.user.getUid())
7833
- .setLimit(this.limit)
7834
- .setTypes(this.types)
7835
- .setCategories(this.categories)
7836
- .hideReplies(true)
7837
- .build();
7838
- }
7839
- else {
7840
- this.requestBuilder = new CometChat.MessagesRequestBuilder()
7841
- .setGUID(this.group.getGuid())
7842
- .setLimit(this.limit)
7843
- .setTypes(this.types)
7844
- .hideReplies(true)
7845
- .setCategories(this.categories)
7846
- .build();
7847
- }
7919
+ if (this.user) {
7920
+ this.requestBuilder = this.messagesRequestBuilder ? this.messagesRequestBuilder.setUID(this.user?.getUid()).build() : new CometChat.MessagesRequestBuilder()
7921
+ .setUID(this.user.getUid())
7922
+ .setLimit(this.limit)
7923
+ .setTypes(this.types)
7924
+ .setCategories(this.categories)
7925
+ .hideReplies(true)
7926
+ .build();
7848
7927
  }
7849
7928
  else {
7850
- this.requestBuilder = this.messagesRequestBuilder.build();
7929
+ this.requestBuilder = this.messagesRequestBuilder ? this.messagesRequestBuilder.setGUID(this.group?.getGuid()).build() : new CometChat.MessagesRequestBuilder()
7930
+ .setGUID(this.group.getGuid())
7931
+ .setLimit(this.limit)
7932
+ .setTypes(this.types)
7933
+ .hideReplies(true)
7934
+ .setCategories(this.categories)
7935
+ .build();
7851
7936
  }
7852
7937
  this.fetchPreviousMessages();
7853
7938
  }
@@ -7942,7 +8027,7 @@ class CometChatMessageListComponent {
7942
8027
  }
7943
8028
  catch (error) {
7944
8029
  if (this.onError) {
7945
- this.onError(error);
8030
+ this.onError(CometChatException(error));
7946
8031
  }
7947
8032
  }
7948
8033
  }
@@ -7993,7 +8078,7 @@ class CometChatMessageListComponent {
7993
8078
  }
7994
8079
  catch (error) {
7995
8080
  if (this.onError) {
7996
- this.onError(error);
8081
+ this.onError(CometChatException(error));
7997
8082
  }
7998
8083
  }
7999
8084
  }
@@ -8032,7 +8117,7 @@ class CometChatMessageListComponent {
8032
8117
  }
8033
8118
  catch (error) {
8034
8119
  if (this.onError) {
8035
- this.onError(error);
8120
+ this.onError(CometChatException(error));
8036
8121
  }
8037
8122
  }
8038
8123
  this.ref.detectChanges();
@@ -8058,7 +8143,7 @@ class CometChatMessageListComponent {
8058
8143
  }
8059
8144
  catch (error) {
8060
8145
  if (this.onError) {
8061
- this.onError(error);
8146
+ this.onError(CometChatException(error));
8062
8147
  }
8063
8148
  }
8064
8149
  }
@@ -8085,7 +8170,7 @@ class CometChatMessageListComponent {
8085
8170
  else {
8086
8171
  this.messagesList.splice(30);
8087
8172
  }
8088
- this.requestBuilder = this.messagesRequestBuilder;
8173
+ this.requestBuilder = this.user ? this.messagesRequestBuilder.setUID(this.user.getUid()).build() : this.messagesRequestBuilder.setGUID(this.group.getGuid()).build();
8089
8174
  }
8090
8175
  else {
8091
8176
  if (this.keepRecentMessages) {
@@ -8135,7 +8220,7 @@ class CometChatMessageListComponent {
8135
8220
  }
8136
8221
  catch (error) {
8137
8222
  if (this.onError) {
8138
- this.onError(error);
8223
+ this.onError(CometChatException(error));
8139
8224
  }
8140
8225
  }
8141
8226
  this.ref.detectChanges();
@@ -8212,7 +8297,7 @@ class CometChatMessageListComponent {
8212
8297
  }
8213
8298
  catch (error) {
8214
8299
  if (this.onError) {
8215
- this.onError(error);
8300
+ this.onError(CometChatException(error));
8216
8301
  }
8217
8302
  }
8218
8303
  this.ref.detectChanges();
@@ -8274,7 +8359,7 @@ class CometChatMessageListComponent {
8274
8359
  catch (error) {
8275
8360
  this.state = States$1.error;
8276
8361
  if (this.onError) {
8277
- this.onError(error);
8362
+ this.onError(CometChatException(error));
8278
8363
  }
8279
8364
  }
8280
8365
  }
@@ -8378,9 +8463,12 @@ class CometChatMessageListComponent {
8378
8463
  this.ccShowPanel = CometChatUIEvents.ccShowPanel.subscribe((data) => {
8379
8464
  this.smartReplyConfig = data.configuration;
8380
8465
  this.smartReplyMessage = data.message;
8381
- this.enableSmartReply = true;
8382
- this.showSmartReply = true;
8383
- this.ref.detectChanges();
8466
+ const smartReplyObject = data.message?.metadata?.[SmartRepliesConstants.injected]?.extensions?.[SmartRepliesConstants.smart_reply];
8467
+ if (smartReplyObject && !smartReplyObject.error) {
8468
+ this.enableSmartReply = true;
8469
+ this.showSmartReply = true;
8470
+ this.ref.detectChanges();
8471
+ }
8384
8472
  });
8385
8473
  this.ccHidePanel = CometChatUIEvents.ccHidePanel.subscribe(() => {
8386
8474
  this.smartReplyMessage = null;
@@ -8474,10 +8562,10 @@ class CometChatMessageListComponent {
8474
8562
  }
8475
8563
  }
8476
8564
  CometChatMessageListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageListComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
8477
- CometChatMessageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: { hideError: "hideError", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", user: "user", group: "group", disableReceipt: "disableReceipt", disableSoundForMessages: "disableSoundForMessages", customSoundForMessages: "customSoundForMessages", readIcon: "readIcon", deliveredIcon: "deliveredIcon", sentIcon: "sentIcon", waitIcon: "waitIcon", errorIcon: "errorIcon", alignment: "alignment", showAvatar: "showAvatar", datePattern: "datePattern", timestampAlignment: "timestampAlignment", DateSeparatorPattern: "DateSeparatorPattern", templates: "templates", messagesRequestBuilder: "messagesRequestBuilder", newMessageIndicatorText: "newMessageIndicatorText", scrollToBottomOnNewMessages: "scrollToBottomOnNewMessages", thresholdValue: "thresholdValue", onThreadRepliesClick: "onThreadRepliesClick", headerView: "headerView", footerView: "footerView", parentMessageId: "parentMessageId", avatarStyle: "avatarStyle", backdropStyle: "backdropStyle", dateSeparatorStyle: "dateSeparatorStyle", messageListStyle: "messageListStyle", onError: "onError" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }, { propertyName: "textBubble", first: true, predicate: ["textBubble"], descendants: true }, { propertyName: "threadMessageBubble", first: true, predicate: ["threadMessageBubble"], descendants: true }, { propertyName: "fileBubble", first: true, predicate: ["fileBubble"], descendants: true }, { propertyName: "audioBubble", first: true, predicate: ["audioBubble"], descendants: true }, { propertyName: "videoBubble", first: true, predicate: ["videoBubble"], descendants: true }, { propertyName: "imageBubble", first: true, predicate: ["imageBubble"], descendants: true }, { propertyName: "stickerBubble", first: true, predicate: ["stickerBubble"], descendants: true }, { propertyName: "documentBubble", first: true, predicate: ["documentBubble"], descendants: true }, { propertyName: "whiteboardBubble", first: true, predicate: ["whiteboardBubble"], descendants: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true }, { propertyName: "directCalling", first: true, predicate: ["directCalling"], descendants: true }, { propertyName: "pollBubble", first: true, predicate: ["pollBubble"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-list__header-view\">\n<div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n</div>\n </div>\n <div class=\"cc-message-list\" #listScroll>\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"loadingStyle()\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\" *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i === 0)\">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message!.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt()))\n \">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message) \">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [leadingView]=\" showAvatar ? leadingView : null\" [bottomView]=\"enableReactions ? reactionView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\" [footerView]=\"footerView\" [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\" [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n <div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n</ng-template>\n<ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n<ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n </div>\n</ng-template>\n</ng-template>\n<ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\" *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\" >\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-button [text]=\"getThreadCount(message)\" [buttonStyle]=\"getThreadViewStyle(message)\" [iconURL]=\"threadOpenIcon\" (cc-button-clicked)=\"openThreadView(message)\">\n </cometchat-button>\n </div>\n</ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n </div>\n <div class=\"cc-message-list__footer-view\">\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n <div class=\"cc-message-list__smart-replies\" *ngIf=\"showSmartReply && getReplies() && (!UnreadCount || UnreadCount.length == 0)\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\" (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n<div class=\"cc-message-list__message-indicator\" *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\">\n <cometchat-button [text]=\"newMessageCount\" [buttonStyle]=\"unreadMessagesStyle\" (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n</div>\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble *ngIf=\"message?.type == MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n<cometchat-text-bubble *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n<link-preview [linkPreviewStyle]=\"linkPreviewStyle\" (cc-link-clicked)=\"openLinkURL($event)\" *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\" [title]=\"getLinkPreviewDetails('title',message)\" [description]=\"getLinkPreviewDetails('description',message)\" [URL]=\"getLinkPreviewDetails('url',message)\" [image]=\"getLinkPreviewDetails('image',message)\" [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n</link-preview>\n<message-translation-bubble [alignment]=\"getBubbleAlignment(message)\" *ngIf=\"isTranslated(message)\" [messageTranslationStyle]=\"setTranslationStyle(message)\" [translatedText]=\"isTranslated(message)\">\n <cometchat-text-bubble *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"></cometchat-text-bubble>\n\n</message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\" [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\" [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\" [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" > </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [videoStyle]=\"videoBubbleStyle\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\" *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\" [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" *ngIf=\"!message.getDeletedAt() && !enableImageModeration\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\" [imageStyle]=\"imageBubbleStyle\" ></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\" [buttonText]=\"whiteboardButtonText\" [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"documentIconURL\" [title]=\"documentTitle\" [buttonText]=\"documentButtonText\" [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\" [iconAlignment]=\"callBubbleAlignment\" [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\" [ccClicked]=\"startDirectCall\" [iconURL]=\"directCallIconURL\" [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\" [pollQuestion]=\"getPollBubbleData(message,'question')\" [pollId]=\"getPollBubbleData(message,'id')\"\n [loggedInUser]=\"loggedInUser\" [senderUid]=\"getPollBubbleData(message)\" [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [bottomView]=\"enableReactions ? reactionView : null\" [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\" [footerView]=\"footerView\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\" [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\" [readIcon]=\"deliveredIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n<div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n<cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n</cometchat-avatar>\n</div>\n</ng-template>\n<ng-template #bubbleHeader>\n<div *ngIf=\"getHeaderView(message);else defaultHeader\">\n<ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n</ng-container>\n</div>\n<ng-template #defaultHeader>\n<div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n<cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n<cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n</div>\n</ng-template>\n</ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<ng-template #bubbleView></ng-template>\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef [placement]=\"keyboardAlignment\">\n<cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\" slot=\"content\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\" (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\" [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\" *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\" [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;position:relative}.cc-message-list__wrapper{height:100%;width:100%;padding:8px;overflow-y:hidden}.cc-message-list__bubble-footer{display:flex;justify-content:center;align-items:center}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0}.cc-message-list__date{border-radius:10px}.cc-message-list__threadreplies{min-width:130px;width:100%}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:0%;position:absolute}.cc-message-list__footer-view{z-index:2;position:relative;width:100%}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}\n"], components: [{ type: CometChatMessageBubbleComponent, selector: "cometchat-message-bubble", inputs: ["messageBubbleStyle", "alignment", "options", "id", "leadingView", "headerView", "replyView", "contentView", "threadView", "footerView", "bottomView", "moreIconURL", "topMenuSize"] }, { type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8565
+ CometChatMessageListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: { hideError: "hideError", errorStateView: "errorStateView", loadingStateView: "loadingStateView", emptyStateView: "emptyStateView", errorStateText: "errorStateText", emptyStateText: "emptyStateText", loadingIconURL: "loadingIconURL", user: "user", group: "group", disableReceipt: "disableReceipt", disableSoundForMessages: "disableSoundForMessages", customSoundForMessages: "customSoundForMessages", readIcon: "readIcon", deliveredIcon: "deliveredIcon", sentIcon: "sentIcon", waitIcon: "waitIcon", errorIcon: "errorIcon", alignment: "alignment", showAvatar: "showAvatar", datePattern: "datePattern", timestampAlignment: "timestampAlignment", DateSeparatorPattern: "DateSeparatorPattern", templates: "templates", messagesRequestBuilder: "messagesRequestBuilder", newMessageIndicatorText: "newMessageIndicatorText", scrollToBottomOnNewMessages: "scrollToBottomOnNewMessages", thresholdValue: "thresholdValue", onThreadRepliesClick: "onThreadRepliesClick", headerView: "headerView", footerView: "footerView", parentMessageId: "parentMessageId", avatarStyle: "avatarStyle", backdropStyle: "backdropStyle", dateSeparatorStyle: "dateSeparatorStyle", messageListStyle: "messageListStyle", onError: "onError" }, viewQueries: [{ propertyName: "listScroll", first: true, predicate: ["listScroll"], descendants: true }, { propertyName: "bottom", first: true, predicate: ["bottom"], descendants: true }, { propertyName: "top", first: true, predicate: ["top"], descendants: true }, { propertyName: "textBubble", first: true, predicate: ["textBubble"], descendants: true }, { propertyName: "threadMessageBubble", first: true, predicate: ["threadMessageBubble"], descendants: true }, { propertyName: "fileBubble", first: true, predicate: ["fileBubble"], descendants: true }, { propertyName: "audioBubble", first: true, predicate: ["audioBubble"], descendants: true }, { propertyName: "videoBubble", first: true, predicate: ["videoBubble"], descendants: true }, { propertyName: "imageBubble", first: true, predicate: ["imageBubble"], descendants: true }, { propertyName: "stickerBubble", first: true, predicate: ["stickerBubble"], descendants: true }, { propertyName: "documentBubble", first: true, predicate: ["documentBubble"], descendants: true }, { propertyName: "whiteboardBubble", first: true, predicate: ["whiteboardBubble"], descendants: true }, { propertyName: "popoverRef", first: true, predicate: ["popoverRef"], descendants: true }, { propertyName: "directCalling", first: true, predicate: ["directCalling"], descendants: true }, { propertyName: "pollBubble", first: true, predicate: ["pollBubble"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-list__header-view\">\n<div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n</div>\n </div>\n <div class=\"cc-message-list\" #listScroll [ngStyle]=\"{height: showSmartReply ? '92%' : '100%'}\">\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"loadingStyle()\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\" *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i === 0)\">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message!.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt()))\n \">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message) \">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [leadingView]=\" showAvatar ? leadingView : null\" [bottomView]=\"enableReactions ? reactionView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\" [footerView]=\"footerView\" [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\" [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n <div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n</ng-template>\n<ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n<ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n </div>\n</ng-template>\n</ng-template>\n<ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\" *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\" >\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-button [text]=\"getThreadCount(message)\" [buttonStyle]=\"getThreadViewStyle(message)\" [iconURL]=\"threadOpenIcon\" (cc-button-clicked)=\"openThreadView(message)\">\n </cometchat-button>\n </div>\n</ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n\n </div>\n <div class=\"cc-message-list__message-indicator\" *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\" [ngStyle]=\"{bottom: showSmartReply || footerView ? '20%' : '10%'}\">\n <cometchat-button [text]=\"newMessageCount\" [buttonStyle]=\"unreadMessagesStyle\" (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n </div>\n <div class=\"cc-message-list__footer-view\" [ngStyle]=\"{height: showSmartReply ? '8%' : 'auto'}\">\n\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n <div class=\"cc-message-list__smart-replies\" *ngIf=\"showSmartReply && getReplies()\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\" (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble *ngIf=\"message?.type == MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n<cometchat-text-bubble *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n<link-preview [linkPreviewStyle]=\"linkPreviewStyle\" (cc-link-clicked)=\"openLinkURL($event)\" *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\" [title]=\"getLinkPreviewDetails('title',message)\" [description]=\"getLinkPreviewDetails('description',message)\" [URL]=\"getLinkPreviewDetails('url',message)\" [image]=\"getLinkPreviewDetails('image',message)\" [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n</link-preview>\n<message-translation-bubble [alignment]=\"getBubbleAlignment(message)\" *ngIf=\"isTranslated(message)\" [messageTranslationStyle]=\"setTranslationStyle(message)\" [translatedText]=\"isTranslated(message)\">\n <cometchat-text-bubble *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"></cometchat-text-bubble>\n\n</message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\" [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\" [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\" [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" > </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [videoStyle]=\"videoBubbleStyle\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\" *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\" [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" [imageStyle]=\"imageBubbleStyle\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble [imageStyle]=\"imageBubbleStyle\" (cc-image-clicked)=\"openImageInFullScreen(message)\" *ngIf=\"!message.getDeletedAt() && !enableImageModeration\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\" [imageStyle]=\"imageBubbleStyle\" ></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\" [buttonText]=\"whiteboardButtonText\" [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"documentIconURL\" [title]=\"documentTitle\" [buttonText]=\"documentButtonText\" [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\" [iconAlignment]=\"callBubbleAlignment\" [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\" [ccClicked]=\"startDirectCall\" [iconURL]=\"directCallIconURL\" [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\" [pollQuestion]=\"getPollBubbleData(message,'question')\" [pollId]=\"getPollBubbleData(message,'id')\"\n [loggedInUser]=\"loggedInUser\" [senderUid]=\"getPollBubbleData(message)\" [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [bottomView]=\"enableReactions ? reactionView : null\" [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\" [footerView]=\"footerView\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\" [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\" [readIcon]=\"deliveredIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n<div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n<cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n</cometchat-avatar>\n</div>\n</ng-template>\n<ng-template #bubbleHeader>\n<div *ngIf=\"getHeaderView(message);else defaultHeader\">\n<ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n</ng-container>\n</div>\n<ng-template #defaultHeader>\n<div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n<cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n<cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n</div>\n</ng-template>\n</ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<ng-template #bubbleView></ng-template>\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef [placement]=\"keyboardAlignment\">\n<cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\" slot=\"content\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\" (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\" [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\" *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\" [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;position:relative}.cc-message-list__wrapper{height:100%;width:100%;overflow-y:hidden}.cc-message-list__bubble-footer{display:flex;justify-content:center;align-items:center}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0;z-index:1}.cc-message-list__date{border-radius:10px}.cc-message-list__threadreplies{min-width:130px;width:100%}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:10%;position:absolute}.cc-message-list__footer-view{z-index:1;position:relative;width:100%}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}\n"], components: [{ type: CometChatMessageBubbleComponent, selector: "cometchat-message-bubble", inputs: ["messageBubbleStyle", "alignment", "options", "id", "leadingView", "headerView", "replyView", "contentView", "threadView", "footerView", "bottomView", "moreIconURL", "topMenuSize"] }, { type: CometChatOngoingCallComponent, selector: "cometchat-ongoing-call", inputs: ["ongoingCallStyle", "resizeIconHoverText", "sessionID", "minimizeIconURL", "maximizeIconURL", "callSettingsBuilder"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8478
8566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageListComponent, decorators: [{
8479
8567
  type: Component,
8480
- args: [{ selector: "cometchat-message-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-list__header-view\">\n<div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n</div>\n </div>\n <div class=\"cc-message-list\" #listScroll>\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"loadingStyle()\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\" *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i === 0)\">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message!.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt()))\n \">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message) \">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [leadingView]=\" showAvatar ? leadingView : null\" [bottomView]=\"enableReactions ? reactionView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\" [footerView]=\"footerView\" [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\" [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n <div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n</ng-template>\n<ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n<ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n </div>\n</ng-template>\n</ng-template>\n<ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\" *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\" >\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-button [text]=\"getThreadCount(message)\" [buttonStyle]=\"getThreadViewStyle(message)\" [iconURL]=\"threadOpenIcon\" (cc-button-clicked)=\"openThreadView(message)\">\n </cometchat-button>\n </div>\n</ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n </div>\n <div class=\"cc-message-list__footer-view\">\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n <div class=\"cc-message-list__smart-replies\" *ngIf=\"showSmartReply && getReplies() && (!UnreadCount || UnreadCount.length == 0)\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\" (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n<div class=\"cc-message-list__message-indicator\" *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\">\n <cometchat-button [text]=\"newMessageCount\" [buttonStyle]=\"unreadMessagesStyle\" (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n</div>\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble *ngIf=\"message?.type == MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n<cometchat-text-bubble *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n<link-preview [linkPreviewStyle]=\"linkPreviewStyle\" (cc-link-clicked)=\"openLinkURL($event)\" *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\" [title]=\"getLinkPreviewDetails('title',message)\" [description]=\"getLinkPreviewDetails('description',message)\" [URL]=\"getLinkPreviewDetails('url',message)\" [image]=\"getLinkPreviewDetails('image',message)\" [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n</link-preview>\n<message-translation-bubble [alignment]=\"getBubbleAlignment(message)\" *ngIf=\"isTranslated(message)\" [messageTranslationStyle]=\"setTranslationStyle(message)\" [translatedText]=\"isTranslated(message)\">\n <cometchat-text-bubble *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"></cometchat-text-bubble>\n\n</message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\" [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\" [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\" [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" > </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [videoStyle]=\"videoBubbleStyle\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\" *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\" [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" *ngIf=\"!message.getDeletedAt() && !enableImageModeration\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\" [imageStyle]=\"imageBubbleStyle\" ></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\" [buttonText]=\"whiteboardButtonText\" [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"documentIconURL\" [title]=\"documentTitle\" [buttonText]=\"documentButtonText\" [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\" [iconAlignment]=\"callBubbleAlignment\" [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\" [ccClicked]=\"startDirectCall\" [iconURL]=\"directCallIconURL\" [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\" [pollQuestion]=\"getPollBubbleData(message,'question')\" [pollId]=\"getPollBubbleData(message,'id')\"\n [loggedInUser]=\"loggedInUser\" [senderUid]=\"getPollBubbleData(message)\" [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [bottomView]=\"enableReactions ? reactionView : null\" [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\" [footerView]=\"footerView\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\" [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\" [readIcon]=\"deliveredIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n<div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n<cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n</cometchat-avatar>\n</div>\n</ng-template>\n<ng-template #bubbleHeader>\n<div *ngIf=\"getHeaderView(message);else defaultHeader\">\n<ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n</ng-container>\n</div>\n<ng-template #defaultHeader>\n<div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n<cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n<cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n</div>\n</ng-template>\n</ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<ng-template #bubbleView></ng-template>\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef [placement]=\"keyboardAlignment\">\n<cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\" slot=\"content\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\" (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\" [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\" *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\" [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;position:relative}.cc-message-list__wrapper{height:100%;width:100%;padding:8px;overflow-y:hidden}.cc-message-list__bubble-footer{display:flex;justify-content:center;align-items:center}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0}.cc-message-list__date{border-radius:10px}.cc-message-list__threadreplies{min-width:130px;width:100%}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:0%;position:absolute}.cc-message-list__footer-view{z-index:2;position:relative;width:100%}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}\n"] }]
8568
+ args: [{ selector: "cometchat-message-list", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-list__wrapper\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-message-list__header-view\">\n<div *ngIf=\"headerView\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n</div>\n </div>\n <div class=\"cc-message-list\" #listScroll [ngStyle]=\"{height: showSmartReply ? '92%' : '100%'}\">\n <div class=\"cc-message-list__top\" #top>\n </div>\n <div class=\"cc-message-list__decorator-message\" *ngIf=\"state == states.loading || state == states.error || state == states.empty \"\n [ngStyle]=\"messageContainerStyle()\">\n <div class=\"cc-message-list__loading-view\" *ngIf=\"state == states.loading \">\n <cometchat-loader [iconURL]=\"loadingIconURL\" [loaderStyle]=\"loadingStyle()\">\n </cometchat-loader>\n <span class=\"cc-message-list__customview--loading\" *ngIf=\"state == states.loading && loadingStateView\">\n <ng-container *ngTemplateOutlet=\"loadingStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__error-view\" *ngIf=\"state == states.error && !hideError \">\n <cometchat-label [labelStyle]=\"errorStyle()\" *ngIf=\"state == states.error && !hideError && !errorStateView\" [text]=\"errorStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--error\" *ngIf=\"state == states.error && !hideError && errorStateView\">\n <ng-container *ngTemplateOutlet=\"errorStateView\">\n </ng-container>\n </span>\n </div>\n <div class=\"cc-message-list__empty-view\" *ngIf=\"state == states.empty\">\n <cometchat-label [labelStyle]=\"emptyStyle()\" *ngIf=\"state == states.empty && !emptyStateView\" [text]=\"emptyStateText\"\n >\n </cometchat-label>\n <span class=\"cc-message-list__custom-view--empty\" *ngIf=\"state == states.empty && emptyStateView\">\n <ng-container *ngTemplateOutlet=\"emptyStateView\">\n </ng-container>\n </span>\n </div>\n </div>\n <div class=\"cc-message-list__bubble\" *ngFor=\"let message of messagesList; let i = index\">\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i === 0)\">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message!.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div class=\"cc-message-list__date-container\" *ngIf=\"(i > 0 && isDateDifferent(messagesList[i - 1]?.getSentAt(), messagesList[i]?.getSentAt()))\n \">\n <span class=\"cc-message-list__date\" >\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [pattern]=\"DateSeparatorPattern\" [dateStyle]=\"dateSeparatorStyle\"\n >\n </cometchat-date>\n </span>\n </div>\n <div *ngIf=\"getBubbleWrapper(message) \">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [leadingView]=\" showAvatar ? leadingView : null\" [bottomView]=\"enableReactions ? reactionView : null\"\n [headerView]=\"getHeaderView(message) || message?.getCategory() != MessageCategory.action && showHeaderTitle(message) ? bubbleHeader : null\" [footerView]=\"footerView\" [contentView]=\"contentView\" [threadView]=\"threadView\"\n [id]=\"message?.getId() || message?.getMuid()\" [options]=\"setMessageOptions(message)\"\n [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"setBubbleAlignment(message)\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && !message.getDeletedAt() && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"deliveredIcon\" [readIcon]=\"readIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n <div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n <cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n </cometchat-avatar>\n </div>\n</ng-template>\n<ng-template #bubbleHeader>\n <div *ngIf=\"getHeaderView(message);else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n<ng-template #defaultHeader>\n <div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n <cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n <cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n </div>\n</ng-template>\n</ng-template>\n<ng-template #threadView>\n <div class=\"cc-message-list__threadreplies\" *ngIf=\"message?.getReplyCount() && !message.getDeletedAt()\" >\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n <cometchat-button [text]=\"getThreadCount(message)\" [buttonStyle]=\"getThreadViewStyle(message)\" [iconURL]=\"threadOpenIcon\" (cc-button-clicked)=\"openThreadView(message)\">\n </cometchat-button>\n </div>\n</ng-template>\n </cometchat-message-bubble>\n </div>\n </div>\n <div class=\"cc-message-list__bottom\" #bottom>\n </div>\n\n </div>\n <div class=\"cc-message-list__message-indicator\" *ngIf=\"UnreadCount && UnreadCount.length > 0 && !isOnBottom\" [ngStyle]=\"{bottom: showSmartReply || footerView ? '20%' : '10%'}\">\n <cometchat-button [text]=\"newMessageCount\" [buttonStyle]=\"unreadMessagesStyle\" (cc-button-clicked)=\"scrollToBottom()\"></cometchat-button>\n </div>\n <div class=\"cc-message-list__footer-view\" [ngStyle]=\"{height: showSmartReply ? '8%' : 'auto'}\">\n\n <div *ngIf=\"footerView;else footer\">\n <ng-container *ngTemplateOutlet=\"footerView\">\n </ng-container>\n </div>\n <ng-template #footer>\n <div class=\"cc-message-list__smart-replies\" *ngIf=\"showSmartReply && getReplies()\">\n <smart-replies [smartReplyStyle]=\"smartReplyStyle\" [replies]=\"getReplies()\" (cc-reply-clicked)=\"sendReply($event)\" (cc-close-clicked)=\"closeSmartReply()\">\n </smart-replies>\n </div>\n </ng-template>\n </div>\n\n</div>\n<!-- default bubbles -->\n<ng-template #textBubble let-message>\n <cometchat-text-bubble *ngIf=\"message?.type == MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.message\"></cometchat-text-bubble>\n <cometchat-text-bubble *ngIf=\"message?.getDeletedAt()\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"localize('MESSAGE_IS_DELETED')\"></cometchat-text-bubble>\n<cometchat-text-bubble *ngIf=\"!isTranslated(message) && !getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n<link-preview [linkPreviewStyle]=\"linkPreviewStyle\" (cc-link-clicked)=\"openLinkURL($event)\" *ngIf=\"!message?.getDeletedAt() && getLinkPreview(message) && enableLinkPreview\" [title]=\"getLinkPreviewDetails('title',message)\" [description]=\"getLinkPreviewDetails('description',message)\" [URL]=\"getLinkPreviewDetails('url',message)\" [image]=\"getLinkPreviewDetails('image',message)\" [favIconURL]=\"getLinkPreviewDetails('favicon',message)\">\n <cometchat-text-bubble\n *ngIf=\"!isTranslated(message) && getLinkPreview(message) && !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\"\n [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"getTextMessage(message)\"></cometchat-text-bubble>\n</link-preview>\n<message-translation-bubble [alignment]=\"getBubbleAlignment(message)\" *ngIf=\"isTranslated(message)\" [messageTranslationStyle]=\"setTranslationStyle(message)\" [translatedText]=\"isTranslated(message)\">\n <cometchat-text-bubble *ngIf=\" !message?.deletedAt && message?.type != MessageTypesConstant.groupMember\" [textStyle]=\"setTextBubbleStyle(message)\" [text]=\"message?.text\"></cometchat-text-bubble>\n\n</message-translation-bubble>\n</ng-template>\n<ng-template #fileBubble let-message>\n\n <cometchat-file-bubble [fileStyle]=\"setFileBubbleStyle(message)\" [downloadIconURL]=\"downloadIconURL\" [subtitle]=\"localize('SHARED_FILE')\" [title]=\"message?.data?.attachments ? message?.data?.attachments[0]?.name: ''\" [fileURL]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\"></cometchat-file-bubble>\n</ng-template>\n<ng-template #audioBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.audio\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n <cometchat-audio-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" > </cometchat-audio-bubble>\n</ng-template>\n<ng-template #videoBubble let-message>\n <cometchat-icon-button [disabled]=\"true\" *ngIf=\"message?.category == callConstant && message?.type == MessageTypesConstant.video\" [iconURL]=\"getCallTypeIcon(message)\" [buttonStyle]=\"callStatusStyle(message)\" [text]=\"getCallActionMessage(message)\"></cometchat-icon-button>\n\n <cometchat-video-bubble *ngIf=\"!message.getDeletedAt() && message?.category != callConstant\" [videoStyle]=\"videoBubbleStyle\" [src]=\"message?.data?.attachments ? message?.data?.attachments[0]?.url : ''\" [poster]=\" getImageThumbnail(message)\"></cometchat-video-bubble>\n</ng-template>\n<ng-template #imageBubble let-message>\n <image-moderation (cc-show-dialog)=\"openWarningDialog($event)\" *ngIf=\"!message.getDeletedAt() && enableImageModeration\" [message]=\"message\" [imageModerationStyle]=\"imageModerationStyle\">\n <cometchat-image-bubble (cc-image-clicked)=\"openImageInFullScreen(message)\" [imageStyle]=\"imageBubbleStyle\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n </image-moderation>\n <cometchat-image-bubble [imageStyle]=\"imageBubbleStyle\" (cc-image-clicked)=\"openImageInFullScreen(message)\" *ngIf=\"!message.getDeletedAt() && !enableImageModeration\" [src]=\" getImageThumbnail(message)\" [placeholderImage]=\"placeholderIconURL\"></cometchat-image-bubble>\n</ng-template>\n<ng-template #customTextBubble>\n</ng-template>\n<ng-template #stickerBubble let-message>\n <cometchat-image-bubble [src]=\"getSticker(message)\" [imageStyle]=\"imageBubbleStyle\" ></cometchat-image-bubble>\n\n</ng-template>\n<ng-template #whiteboardBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"whiteboardIconURL\" [title]=\"whiteboardTitle\" [buttonText]=\"whiteboardButtonText\" [subtitle]=\"whiteboardSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #documentBubble let-message>\n <cometchat-document-bubble [hideSeparator]=\"false\" [iconAlignment]=\"documentBubbleAlignment\" [documentStyle]=\"documentBubbleStyle\" [URL]=\"getWhiteboardDocument(message)\" [ccClicked]=\"launchCollaborativeWhiteboardDocument\" [iconURL]=\"documentIconURL\" [title]=\"documentTitle\" [buttonText]=\"documentButtonText\" [subtitle]=\"documentSubitle\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #directCalling let-message>\n <cometchat-document-bubble [hideSeparator]=\"true\" [iconAlignment]=\"callBubbleAlignment\" [documentStyle]=\"getCallBubbleStyle(message)\" [URL]=\"getSessionId(message)\" [ccClicked]=\"startDirectCall\" [iconURL]=\"directCallIconURL\" [title]=\"getCallBubbleTitle(message)\" [buttonText]=\"joinCallButtonText\"></cometchat-document-bubble>\n\n</ng-template>\n<ng-template #pollBubble let-message>\n <polls-bubble [pollStyle]=\"pollBubbleStyle\" [pollQuestion]=\"getPollBubbleData(message,'question')\" [pollId]=\"getPollBubbleData(message,'id')\"\n [loggedInUser]=\"loggedInUser\" [senderUid]=\"getPollBubbleData(message)\" [metadata]=\"message?.metadata\"></polls-bubble>\n\n</ng-template>\n\n<!-- thread bubble view -->\n<ng-template #threadMessageBubble let-message>\n <div *ngIf=\"getBubbleWrapper(message)\">\n <ng-container *ngTemplateOutlet=\"getBubbleWrapper(message)\">\n </ng-container>\n </div>\n <cometchat-message-bubble *ngIf=\"!getBubbleWrapper(message)\" [bottomView]=\"enableReactions ? reactionView : null\" [leadingView]=\" showAvatar ? leadingView : null\" [headerView]=\"bubbleHeader\" [footerView]=\"footerView\"\n [contentView]=\"contentView\" [id]=\"message?.getId() || message?.getMuid()\" [messageBubbleStyle]=\"setMessageBubbleStyle(message)\" [alignment]=\"threadedAlignment\">\n <ng-template #contentView>\n <ng-container *ngTemplateOutlet=\"getContentView(message);context:{ $implicit: message }\" >\n </ng-container>\n </ng-template>\n <ng-template #reactionView>\n <reactions-view [messageObject]=\"message\" [alignment]=\"setBubbleAlignment(message)\"\n [loggedInUser]=\"loggedInUser\" [reactionsStyle]=\"reactionsStyle(message)\"></reactions-view>\n </ng-template>\n <ng-template #footerView>\n <div class=\"cc-message-list__bubble-footer\">\n <div *ngIf=\"getFooterView(message);else bubbleFooter\">\n <ng-container *ngTemplateOutlet=\"getFooterView(message);context:{ $implicit: message }\" >\n </ng-container>\n </div>\n <ng-template #bubbleFooter>\n <div class=\"cc-message-list__bubble-date\" *ngIf=\"timestampAlignment == timestampEnum.bottom && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\">\n <cometchat-date [timestamp]=\"message?.getSentAt()\" [dateStyle]=\"bubbleDateStyle\" [pattern]=\"datePattern\">\n </cometchat-date>\n </div>\n <div *ngIf=\" !message?.getDeletedAt() && !disableReceipt && (!message?.getSender() ||this.loggedInUser.getUid() == message?.getSender()?.getUid()) && message?.getCategory() != MessageCategory.action && message?.getCategory() != MessageCategory.call\" class=\"cc-message-list__receipt\">\n <cometchat-receipt [receipt]=\"getMessageReceipt(message)\" [receiptStyle]=\"receiptStyle\" [waitIcon]=\"waitIcon\" [sentIcon]=\"sentIcon\" [deliveredIcon]=\"\" [readIcon]=\"deliveredIcon\" [errorIcon]=\"errorIcon\"></cometchat-receipt>\n </div>\n </ng-template>\n </div>\n </ng-template>\n<ng-template #leadingView>\n<div *ngIf=\" message?.getCategory() != MessageCategory.action && showHeaderTitle(message)\" >\n<cometchat-avatar [name]=\"message?.getSender()?.getName()\" [style]=\"avatarStyle\" [image]=\"message?.getSender()?.getAvatar()\">\n</cometchat-avatar>\n</div>\n</ng-template>\n<ng-template #bubbleHeader>\n<div *ngIf=\"getHeaderView(message);else defaultHeader\">\n<ng-container *ngTemplateOutlet=\"getHeaderView(message);context:{ $implicit: message }\" >\n</ng-container>\n</div>\n<ng-template #defaultHeader>\n<div class=\"cc-message-list__bubble-header\" *ngIf=\"message?.getCategory() != MessageCategory.action && showHeaderTitle(message) && message?.getCategory() != MessageCategory.call\">\n<cometchat-label [text]=\"message?.getSender()?.getName()\" [labelStyle]=\"labelStyle\"></cometchat-label>\n<cometchat-date [pattern]=\"datePattern\" [timestamp]=\"message?.getSentAt()\" [style]=\"bubbleDateStyle\" *ngIf=\"timestampAlignment == timestampEnum.top\"></cometchat-date>\n</div>\n</ng-template>\n</ng-template>\n </cometchat-message-bubble>\n\n</ng-template>\n\n\n<!-- -->\n<ng-template #bubbleView></ng-template>\n<cometchat-popover [popoverStyle]=\"popoverStyle\" #popoverRef [placement]=\"keyboardAlignment\">\n<cometchat-emoji-keyboard (cc-emoji-clicked)=\"addReaction($event)\" slot=\"content\"></cometchat-emoji-keyboard>\n</cometchat-popover>\n<cometchat-backdrop *ngIf=\"openConfirmDialog\" [backdropStyle]=\"backdropStyle\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"warningText\" (cc-confirm-clicked)=\"onConfirmClick()\" [cancelButtonText]=\"cancelText\" [confirmButtonText]=\"confirmText\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"confirmDialogStyle\">\n\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<full-screen-viewer (cc-close-clicked)=\"closeImageInFullScreen()\" *ngIf=\"openFullscreenView\" [URL]=\"imageurlToOpen\" [closeIconURL]=\"closeIconURL\" [fullScreenViewerStyle]=\"fullScreenViewerStyle\">\n\n</full-screen-viewer>\n\n<!-- ongoing callscreen for direct call -->\n<cometchat-ongoing-call *ngIf=\"showOngoingCall\" [ongoingCallStyle]=\"ongoingCallStyle\" [sessionID]=\"sessionId\"></cometchat-ongoing-call>\n", styles: [".cc-message-list{height:100%;width:100%;overflow-y:auto;overflow-x:hidden;position:relative}.cc-message-list__wrapper{height:100%;width:100%;overflow-y:hidden}.cc-message-list__bubble-footer{display:flex;justify-content:center;align-items:center}.cc-message-list__date-container{text-align:center;margin:5px 0}.cc-message-list__smart-replies{height:-moz-fit-content;height:fit-content;width:100%;position:absolute;bottom:0;z-index:1}.cc-message-list__date{border-radius:10px}.cc-message-list__threadreplies{min-width:130px;width:100%}.cc-message-list__message-indicator{height:25px;display:flex;align-items:center;justify-content:center;width:100%;bottom:10%;position:absolute}.cc-message-list__footer-view{z-index:1;position:relative;width:100%}.cc-message-list__decorator-message{margin:0;line-height:30px;word-wrap:break-word;padding:0 8px;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;height:100%}.cc-message-list::-webkit-scrollbar{background:transparent;width:8px}.cc-message-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}\n"] }]
8481
8569
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { listScroll: [{
8482
8570
  type: ViewChild,
8483
8571
  args: ["listScroll", { static: false }]
@@ -8614,7 +8702,7 @@ class CometChatMessageComposerComponent {
8614
8702
  this.customSoundForMessage = "";
8615
8703
  this.disableTypingEvents = false;
8616
8704
  this.text = "";
8617
- this.placeholderText = localize("SEND_MESSAGE");
8705
+ this.placeholderText = localize("ENTER_YOUR_MESSAGE_HERE");
8618
8706
  this.attachmentIconURL = "assets/Plus.svg";
8619
8707
  this.auxiliaryButtonsAlignment = AuxiliaryButtonAlignment.right;
8620
8708
  this.parentMessageId = 0;
@@ -8701,8 +8789,8 @@ class CometChatMessageComposerComponent {
8701
8789
  boxShadow: "0px 0px 32px rgba(20, 20, 20, 0.2)",
8702
8790
  };
8703
8791
  this.stickerPopover = {
8704
- width: "100%",
8705
- height: "100%",
8792
+ width: "300px",
8793
+ height: "320px",
8706
8794
  border: "none",
8707
8795
  background: "transparent",
8708
8796
  borderRadius: "8px",
@@ -8802,6 +8890,8 @@ class CometChatMessageComposerComponent {
8802
8890
  handler(event);
8803
8891
  };
8804
8892
  this.sendSticker = (event) => {
8893
+ this.stickerButtonRef?.nativeElement?.click();
8894
+ this.showStickerKeyboard = false;
8805
8895
  let sticker = event?.detail?.stickerURL;
8806
8896
  let stickerName = event?.detail?.stickerName;
8807
8897
  if (this.stickerConfiguration?.configuration?.ccStickerClicked) {
@@ -9027,7 +9117,9 @@ class CometChatMessageComposerComponent {
9027
9117
  }
9028
9118
  }
9029
9119
  catch (error) {
9030
- this.onError(error);
9120
+ if (this.onError) {
9121
+ this.onError(CometChatException(error));
9122
+ }
9031
9123
  }
9032
9124
  return true;
9033
9125
  }
@@ -9057,7 +9149,9 @@ class CometChatMessageComposerComponent {
9057
9149
  });
9058
9150
  }
9059
9151
  catch (error) {
9060
- this.onError(error);
9152
+ if (this.onError) {
9153
+ this.onError(CometChatException(error));
9154
+ }
9061
9155
  }
9062
9156
  }
9063
9157
  getReceiverDetails() {
@@ -9098,7 +9192,9 @@ class CometChatMessageComposerComponent {
9098
9192
  }, typingInterval);
9099
9193
  }
9100
9194
  catch (error) {
9101
- this.onError(error);
9195
+ if (this.onError) {
9196
+ this.onError(CometChatException(error));
9197
+ }
9102
9198
  }
9103
9199
  }
9104
9200
  }
@@ -9113,7 +9209,9 @@ class CometChatMessageComposerComponent {
9113
9209
  this.storeTypingInterval = null;
9114
9210
  }
9115
9211
  catch (error) {
9116
- this.onError(error);
9212
+ if (this.onError) {
9213
+ this.onError(CometChatException(error));
9214
+ }
9117
9215
  }
9118
9216
  }
9119
9217
  }
@@ -9173,7 +9271,9 @@ class CometChatMessageComposerComponent {
9173
9271
  }
9174
9272
  }
9175
9273
  catch (error) {
9176
- this.onError(error);
9274
+ if (this.onError) {
9275
+ this.onError(CometChatException(error));
9276
+ }
9177
9277
  }
9178
9278
  return true;
9179
9279
  }
@@ -9194,7 +9294,9 @@ class CometChatMessageComposerComponent {
9194
9294
  reader.readAsArrayBuffer(uploadedFile);
9195
9295
  }
9196
9296
  catch (error) {
9197
- this.onError(error);
9297
+ if (this.onError) {
9298
+ this.onError(CometChatException(error));
9299
+ }
9198
9300
  }
9199
9301
  return true;
9200
9302
  }
@@ -9215,7 +9317,9 @@ class CometChatMessageComposerComponent {
9215
9317
  reader.readAsArrayBuffer(uploadedFile);
9216
9318
  }
9217
9319
  catch (error) {
9218
- this.onError(error);
9320
+ if (this.onError) {
9321
+ this.onError(CometChatException(error));
9322
+ }
9219
9323
  }
9220
9324
  return true;
9221
9325
  }
@@ -9236,7 +9340,9 @@ class CometChatMessageComposerComponent {
9236
9340
  reader.readAsArrayBuffer(uploadedFile);
9237
9341
  }
9238
9342
  catch (error) {
9239
- this.onError(error);
9343
+ if (this.onError) {
9344
+ this.onError(CometChatException(error));
9345
+ }
9240
9346
  }
9241
9347
  return true;
9242
9348
  }
@@ -9257,7 +9363,9 @@ class CometChatMessageComposerComponent {
9257
9363
  reader.readAsArrayBuffer(uploadedFile);
9258
9364
  }
9259
9365
  catch (error) {
9260
- this.onError(error);
9366
+ if (this.onError) {
9367
+ this.onError(CometChatException(error));
9368
+ }
9261
9369
  }
9262
9370
  return true;
9263
9371
  }
@@ -9283,6 +9391,7 @@ class CometChatMessageComposerComponent {
9283
9391
  return { user: null, group: null, parentMessageId: this.parentMessageId };
9284
9392
  }
9285
9393
  ngOnInit() {
9394
+ console.log(this.auxilaryButtonView);
9286
9395
  CometChat.getLoggedinUser().then((user) => {
9287
9396
  this.loggedInUser = user;
9288
9397
  }).catch((error) => {
@@ -9301,6 +9410,11 @@ class CometChatMessageComposerComponent {
9301
9410
  this.enableStickerKeyboard = false;
9302
9411
  }
9303
9412
  }
9413
+ composerWrapperStyle() {
9414
+ return {
9415
+ background: this.themeService.theme.palette.getBackground()
9416
+ };
9417
+ }
9304
9418
  setTheme() {
9305
9419
  this.setComposerStyle();
9306
9420
  this.actionsheetStyle = {
@@ -9452,10 +9566,10 @@ class CometChatMessageComposerComponent {
9452
9566
  }
9453
9567
  }
9454
9568
  CometChatMessageComposerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageComposerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
9455
- CometChatMessageComposerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: { user: "user", group: "group", disableSoundForMessages: "disableSoundForMessages", customSoundForMessage: "customSoundForMessage", disableTypingEvents: "disableTypingEvents", text: "text", placeholderText: "placeholderText", headerView: "headerView", onTextChange: "onTextChange", attachmentIconURL: "attachmentIconURL", attachmentOptions: "attachmentOptions", secondaryButtonView: "secondaryButtonView", auxilaryButtonView: "auxilaryButtonView", auxiliaryButtonsAlignment: "auxiliaryButtonsAlignment", sendButtonView: "sendButtonView", parentMessageId: "parentMessageId", hideLiveReaction: "hideLiveReaction", LiveReactionIconURL: "LiveReactionIconURL", messageComposerStyle: "messageComposerStyle", onSendButtonClick: "onSendButtonClick", onError: "onError", backdropStyle: "backdropStyle" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }, { propertyName: "emojiButtonRef", first: true, predicate: ["emojiButtonRef"], descendants: true }, { propertyName: "actionSheetRef", first: true, predicate: ["actionSheetRef"], descendants: true }, { propertyName: "stickerButtonRef", first: true, predicate: ["stickerButtonRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-composer__wrapper\" >\n <div class=\"cc-message-composer__header-view\" *ngIf=\"headerView; else messagePreview\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showStickerKeyboard\">\n <stickers-keyboard [stickerStyle]=\"stickerKeyboardStyle\" (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n </div>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\" [previewSubtitle]=\"messageToBeEdited?.getText()\" (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n<div class=\"cc-message-composer__input\">\n <cometchat-message-input (cc-message-input-entered)=\"sendMessageOnEnter($event)\" #inputRef [text]=\"text\" (cc-message-input-changed)=\"messageInputChanged($event)\" [messageInputStyle]=\"messageInputStyle\" [placeholderText]=\"placeholderText\" [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\">\n <div slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container *ngTemplateOutlet=\"secondaryButtonView\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\" >\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\" [actionSheetStyle]=\"actionsheetStyle\" (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\" (cc-button-clicked)=\"openActionSheet($event)\" [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeIconURL\" [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n <div slot=\"auxilaryView\" >\n <div *ngIf=\"auxilaryButtonView; else auxilaryView\">\n <ng-container *ngTemplateOutlet=\"auxilaryButtonView\">\n </ng-container>\n </div>\n </div>\n <div slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\" *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\" [buttonStyle]=\"sendButtonStyle\" [hoverText]=\"localize('SEND_MESSAGE')\" (cc-button-clicked)=\"customSendMethod(messageText)\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\" *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\" [hoverText]=\"localize('LIVE_REACTION')\" [buttonStyle]=\"liveReactionStyle\" (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-message-input>\n</div>\n</div>\n<ng-template #auxilaryView>\n<div class=\"cc-message-composer__auxiliary\">\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"enableStickerKeyboard\">\n <cometchat-button #stickerButtonRef (cc-button-clicked)=\"openStickerKeyboard($event)\" [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\" >\n <cometchat-emoji-keyboard slot=\"content\" [emojiKeyboardStyle]=\"emojiKeyboardStyle\" (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\" [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n</div>\n</ng-template>\n<input class=\"cc-message-composer__mediainput\" #inputElement (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\" (cc-close-clicked)=\"closeCreatePolls()\" [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:4px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9569
+ CometChatMessageComposerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: { user: "user", group: "group", disableSoundForMessages: "disableSoundForMessages", customSoundForMessage: "customSoundForMessage", disableTypingEvents: "disableTypingEvents", text: "text", placeholderText: "placeholderText", headerView: "headerView", onTextChange: "onTextChange", attachmentIconURL: "attachmentIconURL", attachmentOptions: "attachmentOptions", secondaryButtonView: "secondaryButtonView", auxilaryButtonView: "auxilaryButtonView", auxiliaryButtonsAlignment: "auxiliaryButtonsAlignment", sendButtonView: "sendButtonView", parentMessageId: "parentMessageId", hideLiveReaction: "hideLiveReaction", LiveReactionIconURL: "LiveReactionIconURL", messageComposerStyle: "messageComposerStyle", onSendButtonClick: "onSendButtonClick", onError: "onError", backdropStyle: "backdropStyle" }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true }, { propertyName: "emojiButtonRef", first: true, predicate: ["emojiButtonRef"], descendants: true }, { propertyName: "actionSheetRef", first: true, predicate: ["actionSheetRef"], descendants: true }, { propertyName: "stickerButtonRef", first: true, predicate: ["stickerButtonRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-message-composer__header-view\" *ngIf=\"headerView; else messagePreview\">\n <ng-container *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\" [previewSubtitle]=\"messageToBeEdited.getText()\" (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n<div class=\"cc-message-composer__input\">\n <cometchat-message-input (cc-message-input-entered)=\"sendMessageOnEnter($event)\" #inputRef [text]=\"text\" (cc-message-input-changed)=\"messageInputChanged($event)\" [messageInputStyle]=\"messageInputStyle\" [placeholderText]=\"placeholderText\" [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\">\n <div slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\" >\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\" [actionSheetStyle]=\"actionsheetStyle\" (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\" (cc-button-clicked)=\"openActionSheet($event)\" [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeIconURL\" [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\" *ngIf=\"auxilaryButtonView\">\n <ng-container *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"enableStickerKeyboard\">\n <cometchat-popover [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\" >\n <stickers-keyboard slot=\"content\" [stickerStyle]=\"stickerKeyboardStyle\" (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button slot=\"children\" #stickerButtonRef (cc-button-clicked)=\"openStickerKeyboard($event)\" [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\" >\n <cometchat-emoji-keyboard slot=\"content\" [emojiKeyboardStyle]=\"emojiKeyboardStyle\" (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\" [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </div>\n <div slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\" *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\" [buttonStyle]=\"sendButtonStyle\" [hoverText]=\"localize('SEND_MESSAGE')\" (cc-button-clicked)=\"customSendMethod(messageText)\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\" *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\" [hoverText]=\"localize('LIVE_REACTION')\" [buttonStyle]=\"liveReactionStyle\" (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-message-input>\n</div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\" (cc-close-clicked)=\"closeCreatePolls()\" [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:4px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}\n"], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9456
9570
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessageComposerComponent, decorators: [{
9457
9571
  type: Component,
9458
- args: [{ selector: 'cometchat-message-composer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-composer__wrapper\" >\n <div class=\"cc-message-composer__header-view\" *ngIf=\"headerView; else messagePreview\">\n <ng-container *ngTemplateOutlet=\"headerView\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showStickerKeyboard\">\n <stickers-keyboard [stickerStyle]=\"stickerKeyboardStyle\" (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n </div>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\" [previewSubtitle]=\"messageToBeEdited?.getText()\" (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n<div class=\"cc-message-composer__input\">\n <cometchat-message-input (cc-message-input-entered)=\"sendMessageOnEnter($event)\" #inputRef [text]=\"text\" (cc-message-input-changed)=\"messageInputChanged($event)\" [messageInputStyle]=\"messageInputStyle\" [placeholderText]=\"placeholderText\" [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\">\n <div slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container *ngTemplateOutlet=\"secondaryButtonView\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\" >\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\" [actionSheetStyle]=\"actionsheetStyle\" (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\" (cc-button-clicked)=\"openActionSheet($event)\" [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeIconURL\" [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n <div slot=\"auxilaryView\" >\n <div *ngIf=\"auxilaryButtonView; else auxilaryView\">\n <ng-container *ngTemplateOutlet=\"auxilaryButtonView\">\n </ng-container>\n </div>\n </div>\n <div slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\" *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\" [buttonStyle]=\"sendButtonStyle\" [hoverText]=\"localize('SEND_MESSAGE')\" (cc-button-clicked)=\"customSendMethod(messageText)\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\" *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\" [hoverText]=\"localize('LIVE_REACTION')\" [buttonStyle]=\"liveReactionStyle\" (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-message-input>\n</div>\n</div>\n<ng-template #auxilaryView>\n<div class=\"cc-message-composer__auxiliary\">\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"enableStickerKeyboard\">\n <cometchat-button #stickerButtonRef (cc-button-clicked)=\"openStickerKeyboard($event)\" [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\" >\n <cometchat-emoji-keyboard slot=\"content\" [emojiKeyboardStyle]=\"emojiKeyboardStyle\" (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\" [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n</div>\n</ng-template>\n<input class=\"cc-message-composer__mediainput\" #inputElement (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\" (cc-close-clicked)=\"closeCreatePolls()\" [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:4px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}\n"] }]
9572
+ args: [{ selector: 'cometchat-message-composer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-message-composer__wrapper\" [ngStyle]=\"composerWrapperStyle()\">\n <div class=\"cc-message-composer__header-view\" *ngIf=\"headerView; else messagePreview\">\n <ng-container *ngTemplateOutlet=\"headerView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #messagePreview>\n <div class=\"cc-message-composer__header-view\" *ngIf=\"showPreview\">\n <cometchat-preview [previewStyle]=\"previewStyle\" [previewSubtitle]=\"messageToBeEdited.getText()\" (cc-preview-close-clicked)=\"closePreview()\"> </cometchat-preview>\n </div>\n </ng-template>\n<div class=\"cc-message-composer__input\">\n <cometchat-message-input (cc-message-input-entered)=\"sendMessageOnEnter($event)\" #inputRef [text]=\"text\" (cc-message-input-changed)=\"messageInputChanged($event)\" [messageInputStyle]=\"messageInputStyle\" [placeholderText]=\"placeholderText\" [auxiliaryButtonAlignment]=\"auxiliaryButtonsAlignment\">\n <div slot=\"secondaryView\">\n <div *ngIf=\"secondaryButtonView;else secondaryButton\">\n <ng-container *ngTemplateOutlet=\"secondaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <ng-template #secondaryButton>\n <div class=\"cc-message-composer__attachbutton\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"popoverStyle\" >\n <cometchat-action-sheet slot=\"content\" [actions]=\"composerActions\" [actionSheetStyle]=\"actionsheetStyle\" (cc-actionsheet-clicked)=\"handleActions($event)\">\n </cometchat-action-sheet>\n <cometchat-button #actionSheetRef slot=\"children\" (cc-button-clicked)=\"openActionSheet($event)\" [iconURL]=\"!showActionSheetItem || (showEmojiKeyboard && !showActionSheetItem) ? attachmentIconURL : closeIconURL\" [buttonStyle]=\"attachmentButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </ng-template>\n </div>\n\n <div class=\"cc-message-composer__auxiliary\" slot=\"auxilaryView\">\n <div class=\"cc-message-composer__custom-auxiliary-view\" *ngIf=\"auxilaryButtonView\">\n <ng-container *ngTemplateOutlet=\"auxilaryButtonView;context:{ $implicit: user ?? group, composerId:composerId }\">\n </ng-container>\n </div>\n <div class=\"cc-message-composer__stickerkeyboard\" *ngIf=\"enableStickerKeyboard\">\n <cometchat-popover [popoverStyle]=\"stickerPopover\" [placement]=\"auxilaryPlacement\" >\n <stickers-keyboard slot=\"content\" [stickerStyle]=\"stickerKeyboardStyle\" (cc-sticker-clicked)=\"sendSticker($event)\">\n </stickers-keyboard>\n <cometchat-button slot=\"children\" #stickerButtonRef (cc-button-clicked)=\"openStickerKeyboard($event)\" [iconURL]=\" !showStickerKeyboard ? stickerButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n <div class=\"cc-message-composer__emojikeyboard\">\n <cometchat-popover [placement]=\"auxilaryPlacement\" [popoverStyle]=\"emojiPopover\" >\n <cometchat-emoji-keyboard slot=\"content\" [emojiKeyboardStyle]=\"emojiKeyboardStyle\" (cc-emoji-clicked)=\"appendEmoji($event)\">\n </cometchat-emoji-keyboard>\n <cometchat-button #emojiButtonRef slot=\"children\" (cc-button-clicked)=\"openEmojiKeyboard($event)\" [iconURL]=\" !showEmojiKeyboard || (!showEmojiKeyboard && showActionSheetItem) ? emojiButtonIconURL : closeIconURL\" [buttonStyle]=\"emojiButtonStyle\"></cometchat-button>\n </cometchat-popover>\n </div>\n </div>\n <div slot=\"primaryView\">\n <div *ngIf=\"sendButtonView;else sendButton\">\n </div>\n <ng-template #sendButton>\n <div class=\"cc-message-composer__sendbutton\" *ngIf=\"showSendButton || hideLiveReaction\">\n <cometchat-button [iconURL]=\"sendButtonIconURL\" [buttonStyle]=\"sendButtonStyle\" [hoverText]=\"localize('SEND_MESSAGE')\" (cc-button-clicked)=\"customSendMethod(messageText)\"></cometchat-button>\n </div>\n <div class=\"cc-message-composer__livereaction\" *ngIf=\"!hideLiveReaction && !showSendButton\">\n <cometchat-button [iconURL]=\"LiveReactionIconURL\" [hoverText]=\"localize('LIVE_REACTION')\" [buttonStyle]=\"liveReactionStyle\" (cc-button-clicked)=\"sendReaction()\"></cometchat-button>\n </div>\n </ng-template>\n </div>\n </cometchat-message-input>\n</div>\n</div>\n\n<input class=\"cc-message-composer__mediainput\" #inputElement (change)=\"inputChangeHandler($event)\" />\n<cometchat-backdrop *ngIf=\"showCreatePolls\" [backdropStyle]=\"backdropStyle\">\n <create-poll [user]=\"user\" [group]=\"group\" (cc-close-clicked)=\"closeCreatePolls()\" [createPollStyle]=\"createPollStyle\"></create-poll>\n</cometchat-backdrop>", styles: [".cc-message-composer__sendbutton,.cc-message-composer__livereaction{margin:0 5px}.cc-message-composer__wrapper{height:100%;width:100%;position:relative;padding:4px}.cc-message-composer__header-view{height:-moz-fit-content;height:fit-content;width:100%;bottom:120%}.cc-message-composer__mediainput{display:none}.cc-message-composer__auxiliary{display:flex;gap:8px}\n"] }]
9459
9573
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { inputElementRef: [{
9460
9574
  type: ViewChild,
9461
9575
  args: ["inputElement", { static: false }]
@@ -9657,7 +9771,7 @@ class CometChatThreadedMessagesComponent {
9657
9771
  }
9658
9772
  catch (error) {
9659
9773
  if (this.onError) {
9660
- this.onError(error);
9774
+ this.onError(CometChatException(error));
9661
9775
  }
9662
9776
  }
9663
9777
  }
@@ -9697,7 +9811,7 @@ class CometChatThreadedMessagesComponent {
9697
9811
  }
9698
9812
  catch (error) {
9699
9813
  if (this.onError) {
9700
- this.onError(error);
9814
+ this.onError(CometChatException(error));
9701
9815
  }
9702
9816
  }
9703
9817
  }
@@ -9779,10 +9893,10 @@ class CometChatThreadedMessagesComponent {
9779
9893
  }
9780
9894
  }
9781
9895
  CometChatThreadedMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatThreadedMessagesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
9782
- CometChatThreadedMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: { onClose: "onClose", onError: "onError", parentMessage: "parentMessage", title: "title", closeIconURL: "closeIconURL", bubbleView: "bubbleView", messageActionView: "messageActionView", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessagesStyle: "threadedMessagesStyle" }, viewQueries: [{ propertyName: "messageComposerRef", first: true, predicate: ["messageComposerRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messageListRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-threaded-messages__header\">\n<div class=\"cc-threaded-messages__title\">\n<cometchat-label [text]=\"title\" [labelStyle]=\"titleStyle\"></cometchat-label>\n</div>\n<div class=\"cc-threaded-messages__close\">\n<cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\" (cc-button-clicked)=\"closeView()\"></cometchat-button>\n</div>\n</div>\n<div class=\"cc-threaded-messages__bubble-view\">\n <ng-container *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n</div>\n<div class=\"cc-threaded-messages__action-view\">\n <ng-container *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\" [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n</div>\n<div class=\"cc-threaded-messages__list\">\n <cometchat-message-list #messageListRef [parentMessageId]=\"parentMessage!.getId()\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.messageTypes\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-threaded-messages__composer\">\n <cometchat-message-composer #messageComposerRef [parentMessageId]=\"parentMessage!.getId()\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n</div>\n </div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:-moz-fit-content;width:fit-content}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"], components: [{ type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9896
+ CometChatThreadedMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: { onClose: "onClose", onError: "onError", parentMessage: "parentMessage", title: "title", closeIconURL: "closeIconURL", bubbleView: "bubbleView", messageActionView: "messageActionView", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessagesStyle: "threadedMessagesStyle" }, viewQueries: [{ propertyName: "messageComposerRef", first: true, predicate: ["messageComposerRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messageListRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-threaded-messages__header\">\n<div class=\"cc-threaded-messages__title\">\n<cometchat-label [text]=\"title\" [labelStyle]=\"titleStyle\"></cometchat-label>\n</div>\n<div class=\"cc-threaded-messages__close\">\n<cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\" (cc-button-clicked)=\"closeView()\"></cometchat-button>\n</div>\n</div>\n<div class=\"cc-threaded-messages__bubble-view\">\n <ng-container *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n</div>\n<div class=\"cc-threaded-messages__action-view\">\n <ng-container *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\" [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n</div>\n<div class=\"cc-threaded-messages__list\">\n <cometchat-message-list #messageListRef [parentMessageId]=\"parentMessage!.getId()\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.templates\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-threaded-messages__composer\">\n <cometchat-message-composer #messageComposerRef [parentMessageId]=\"parentMessage!.getId()\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n</div>\n </div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:-moz-fit-content;width:fit-content}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"], components: [{ type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9783
9897
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatThreadedMessagesComponent, decorators: [{
9784
9898
  type: Component,
9785
- args: [{ selector: "cometchat-threaded-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-threaded-messages__header\">\n<div class=\"cc-threaded-messages__title\">\n<cometchat-label [text]=\"title\" [labelStyle]=\"titleStyle\"></cometchat-label>\n</div>\n<div class=\"cc-threaded-messages__close\">\n<cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\" (cc-button-clicked)=\"closeView()\"></cometchat-button>\n</div>\n</div>\n<div class=\"cc-threaded-messages__bubble-view\">\n <ng-container *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n</div>\n<div class=\"cc-threaded-messages__action-view\">\n <ng-container *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\" [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n</div>\n<div class=\"cc-threaded-messages__list\">\n <cometchat-message-list #messageListRef [parentMessageId]=\"parentMessage!.getId()\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.messageTypes\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-threaded-messages__composer\">\n <cometchat-message-composer #messageComposerRef [parentMessageId]=\"parentMessage!.getId()\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n</div>\n </div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:-moz-fit-content;width:fit-content}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"] }]
9899
+ args: [{ selector: "cometchat-threaded-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-threaded-messages__wrapper\" [ngStyle]=\"wrapperStyle()\">\n<div class=\"cc-threaded-messages__header\">\n<div class=\"cc-threaded-messages__title\">\n<cometchat-label [text]=\"title\" [labelStyle]=\"titleStyle\"></cometchat-label>\n</div>\n<div class=\"cc-threaded-messages__close\">\n<cometchat-button [iconURL]=\"closeIconURL\" [buttonStyle]=\"buttonStyle\" (cc-button-clicked)=\"closeView()\"></cometchat-button>\n</div>\n</div>\n<div class=\"cc-threaded-messages__bubble-view\">\n <ng-container *ngTemplateOutlet=\"bubbleView; context:{ $implicit: parentMessage }\">\n </ng-container>\n</div>\n<div class=\"cc-threaded-messages__action-view\">\n <ng-container *ngTemplateOutlet=\"messageActionView; context:{ $implicit: parentMessage }\">\n </ng-container>\n <cometchat-button *ngIf=\"!messageActionView\" [text]=\"getThreadCount()\" [buttonStyle]=\"actionButtonStyle\"></cometchat-button>\n</div>\n<div class=\"cc-threaded-messages__list\">\n <cometchat-message-list #messageListRef [parentMessageId]=\"parentMessage!.getId()\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.templates\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder || requestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-threaded-messages__composer\">\n <cometchat-message-composer #messageComposerRef [parentMessageId]=\"parentMessage!.getId()\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n</div>\n </div>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-threaded-messages__wrapper{display:flex;flex-direction:column;height:100%;overflow-y:auto}.cc-threaded-messages__header{height:8%;width:100%;display:flex;padding:16px;align-items:flex-start}.cc-threaded-messages__close{display:flex;align-items:center}.cc-threaded-messages__title{display:flex;align-items:center;justify-content:center;width:100%}.cc-threaded-messages__bubble-view{width:-moz-fit-content;width:fit-content}.cc-threaded-messages__header{flex:0 0 auto}.cc-threaded-messages__list{flex:1 1 auto;min-height:65%}.cc-threaded-messages__composer{flex:0 0 auto;min-height:80px}\n"] }]
9786
9900
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { messageComposerRef: [{
9787
9901
  type: ViewChild,
9788
9902
  args: ["messageComposerRef", { static: false }]
@@ -10049,13 +10163,17 @@ class CometChatGroupMembersComponent {
10049
10163
  this.ref.detectChanges();
10050
10164
  }
10051
10165
  }, (error) => {
10052
- console.log(error);
10166
+ if (this.onError) {
10167
+ this.onError(CometChatException(error));
10168
+ }
10053
10169
  this.state = States.error;
10054
10170
  this.ref.detectChanges();
10055
10171
  });
10056
10172
  }
10057
10173
  catch (error) {
10058
- console.log(error);
10174
+ if (this.onError) {
10175
+ this.onError(CometChatException(error));
10176
+ }
10059
10177
  this.state = States.error;
10060
10178
  this.ref.detectChanges();
10061
10179
  }
@@ -10829,14 +10947,10 @@ class CometChatDetailsComponent {
10829
10947
  this.onError = (error) => {
10830
10948
  console.log(error);
10831
10949
  };
10832
- this.leaveButtonText = localize("TRANSFER_OWNERSHIP");
10833
- this.cancelButtonText = localize("CANCEL");
10834
- this.confirmDialogMessage = localize("TRANSFER_CONFIRM");
10835
- this.addMembersConfiguration = new AddMembersConfiguration({});
10836
- this.bannedMembersConfiguration = new BannedMembersConfiguration({});
10837
- this.groupMembersConfiguration = new GroupMembersConfiguration({});
10838
- this.transferOwnershipConfiguration = new TransferOwnershipConfiguration({});
10839
- this.leaveDialogStyle = {
10950
+ this.leaveGroupConfirmButtonText = localize("LEAVE_GROUP");
10951
+ this.leaveGroupCancelButtonText = localize("CANCEL");
10952
+ this.leaveGroupDialogMessage = localize("LEAVE_CONFIRM");
10953
+ this.leaveGroupDialogStyle = {
10840
10954
  confirmButtonBackground: "RGB(51, 153, 255)",
10841
10955
  cancelButtonBackground: "RGBA(20, 20, 20, 0.06)",
10842
10956
  confirmButtonTextColor: "white",
@@ -10849,14 +10963,32 @@ class CometChatDetailsComponent {
10849
10963
  messageTextColor: "RGBA(20, 20, 20, 0.58)",
10850
10964
  background: "white",
10851
10965
  border: "1px solid #F2F2F2",
10852
- height: "220px",
10966
+ height: "180px",
10853
10967
  width: "360px"
10854
10968
  };
10855
- this.backiconurl = "assets/backbutton.svg";
10856
- this.statusIndicatorStyle = {
10857
- height: "10px",
10858
- width: "10px",
10859
- borderRadius: "16px",
10969
+ this.deleteGroupConfirmButtonText = localize("DELETE");
10970
+ this.deleteGroupDialogMessage = localize("DELETE_CONFIRM");
10971
+ this.deleteGroupCancelButtonText = localize("CANCEL");
10972
+ this.deleteGroupDialogStyle = {
10973
+ height: "180px",
10974
+ width: "360px"
10975
+ };
10976
+ this.transferOwnershipConfirmButtonText = localize("TRANSFER_OWNERSHIP");
10977
+ this.transferOwnershipDialogMessage = localize("TRANSFER_CONFIRM");
10978
+ this.transferOwnershipCancelButtonText = localize("CANCEL");
10979
+ this.transferOwnershipDialogStyle = {
10980
+ height: "180px",
10981
+ width: "360px"
10982
+ };
10983
+ this.addMembersConfiguration = new AddMembersConfiguration({});
10984
+ this.bannedMembersConfiguration = new BannedMembersConfiguration({});
10985
+ this.groupMembersConfiguration = new GroupMembersConfiguration({});
10986
+ this.transferOwnershipConfiguration = new TransferOwnershipConfiguration({});
10987
+ this.backiconurl = "assets/backbutton.svg";
10988
+ this.statusIndicatorStyle = {
10989
+ height: "10px",
10990
+ width: "10px",
10991
+ borderRadius: "16px",
10860
10992
  border: ""
10861
10993
  };
10862
10994
  this.backdropStyle = {
@@ -10874,8 +11006,7 @@ class CometChatDetailsComponent {
10874
11006
  width: "100%",
10875
11007
  height: "100%",
10876
11008
  border: "",
10877
- borderRadius: "",
10878
- padding: "0 100px"
11009
+ borderRadius: ""
10879
11010
  };
10880
11011
  this.listItemStyle = {
10881
11012
  height: "100%",
@@ -10889,10 +11020,7 @@ class CometChatDetailsComponent {
10889
11020
  hoverBackground: "transparent",
10890
11021
  separatorColor: "rgb(222 222 222 / 46%)"
10891
11022
  };
10892
- this.leaveGroupText = localize("LEAVE_GROUP");
10893
- this.leaveGroupMessage = localize("LEAVE_CONFIRM");
10894
- this.transferText = localize("TRANSFER_OWNERSHIP");
10895
- this.transferConfirm = localize("TRANSFER_CONFIRM");
11023
+ this.showTransferDialog = false;
10896
11024
  this.defaultTemplate = [];
10897
11025
  this.loggedInUser = null;
10898
11026
  this.openViewMembersPage = false;
@@ -10928,6 +11056,7 @@ class CometChatDetailsComponent {
10928
11056
  height: "1px",
10929
11057
  width: "100%"
10930
11058
  };
11059
+ this.deleteGroupModal = false;
10931
11060
  this.subtitleText = "";
10932
11061
  this.userListenerId = "userlist_" + new Date().getTime();
10933
11062
  this.checkStatusType = () => {
@@ -11013,7 +11142,6 @@ class CometChatDetailsComponent {
11013
11142
  };
11014
11143
  };
11015
11144
  }
11016
- //
11017
11145
  getTitleStyle() {
11018
11146
  return {
11019
11147
  textFont: this.detailsStyle.titleTextFont || fontHelper(this.themeService.theme.typography.title1),
@@ -11024,6 +11152,7 @@ class CometChatDetailsComponent {
11024
11152
  return option?.customView;
11025
11153
  }
11026
11154
  ngOnChanges(changes) {
11155
+ console.log(this.detailsStyle);
11027
11156
  if (changes["user"] || changes["group"]) {
11028
11157
  if (this.loggedInUser) {
11029
11158
  this.getTemplate();
@@ -11164,7 +11293,9 @@ class CometChatDetailsComponent {
11164
11293
  }
11165
11294
  }
11166
11295
  catch (error) {
11167
- console.log(error);
11296
+ if (this.onError) {
11297
+ this.onError(CometChatException(error));
11298
+ }
11168
11299
  }
11169
11300
  }
11170
11301
  getSectionHeaderStyle(template) {
@@ -11204,41 +11335,42 @@ class CometChatDetailsComponent {
11204
11335
  this.leaveGroup();
11205
11336
  break;
11206
11337
  case CometChatUIKitConstants.GroupOptions.delete:
11207
- this.deleteGroup();
11338
+ this.showDeleteDialog();
11208
11339
  break;
11209
11340
  default:
11210
11341
  break;
11211
11342
  }
11212
11343
  }
11213
- onLeaveClick() {
11344
+ onTransferClick() {
11214
11345
  if (this.group.getOwner() == this.loggedInUser?.getUid()) {
11215
11346
  this.openTransferOwnershipModal = true;
11216
11347
  this.confirmLeaveGroupModal = false;
11348
+ this.showTransferDialog = false;
11217
11349
  }
11218
- else {
11219
- CometChat.leaveGroup(this.group.getGuid())
11220
- .then((response) => {
11221
- this.group.setMembersCount(this.group.getMembersCount() - 1);
11222
- this.group.setHasJoined(false);
11223
- this.updateSubtitle();
11224
- this.ref.detectChanges();
11225
- this.openTransferOwnershipModal = false;
11226
- this.confirmLeaveGroupModal = false;
11227
- if (this.onClose) {
11228
- this.onClose();
11229
- }
11230
- CometChatGroupEvents.ccGroupLeft.next({
11231
- userLeft: this.loggedInUser,
11232
- leftGroup: this.group,
11233
- message: this.createUserLeftAction(this.loggedInUser, CometChatUIKitConstants.groupMemberAction.LEFT)
11234
- });
11235
- })
11236
- .catch((error) => {
11237
- if (this.onError) {
11238
- this.onError(error);
11239
- }
11350
+ }
11351
+ onLeaveClick() {
11352
+ CometChat.leaveGroup(this.group.getGuid())
11353
+ .then((response) => {
11354
+ this.group.setMembersCount(this.group.getMembersCount() - 1);
11355
+ this.group.setHasJoined(false);
11356
+ this.updateSubtitle();
11357
+ this.ref.detectChanges();
11358
+ this.openTransferOwnershipModal = false;
11359
+ this.confirmLeaveGroupModal = false;
11360
+ if (this.onClose) {
11361
+ this.onClose();
11362
+ }
11363
+ CometChatGroupEvents.ccGroupLeft.next({
11364
+ userLeft: this.loggedInUser,
11365
+ leftGroup: this.group,
11366
+ message: this.createUserLeftAction(this.loggedInUser, CometChatUIKitConstants.groupMemberAction.LEFT)
11240
11367
  });
11241
- }
11368
+ })
11369
+ .catch((error) => {
11370
+ if (this.onError) {
11371
+ this.onError(error);
11372
+ }
11373
+ });
11242
11374
  }
11243
11375
  createActionMessage(actionOn, action) {
11244
11376
  let actionMessage = new CometChat.Action(this.group.getGuid(), CometChatUIKitConstants.MessageTypes.groupMember, CometChatUIKitConstants.MessageReceiverType.group, CometChatUIKitConstants.MessageCategory.action);
@@ -11271,6 +11403,8 @@ class CometChatDetailsComponent {
11271
11403
  }
11272
11404
  onCancelClick() {
11273
11405
  this.confirmLeaveGroupModal = false;
11406
+ this.deleteGroupModal = false;
11407
+ this.showTransferDialog = false;
11274
11408
  }
11275
11409
  blockUser() {
11276
11410
  // block user
@@ -11307,18 +11441,22 @@ class CometChatDetailsComponent {
11307
11441
  }
11308
11442
  leaveGroup() {
11309
11443
  if (this.group.getOwner() == this.loggedInUser?.getUid()) {
11310
- this.leaveButtonText = this.transferText;
11311
- this.confirmDialogMessage = this.transferConfirm;
11444
+ this.showTransferDialog = true;
11445
+ this.confirmLeaveGroupModal = false;
11312
11446
  }
11313
11447
  else {
11314
- this.leaveButtonText = this.leaveGroupText;
11315
- this.confirmDialogMessage = this.leaveGroupMessage;
11448
+ this.showTransferDialog = false;
11316
11449
  }
11317
11450
  this.confirmLeaveGroupModal = true;
11318
11451
  this.ref.detectChanges();
11319
11452
  }
11453
+ showDeleteDialog() {
11454
+ this.deleteGroupModal = true;
11455
+ }
11320
11456
  deleteGroup() {
11457
+ this.deleteGroupModal = false;
11321
11458
  CometChat.deleteGroup(this.group?.getGuid()).then(() => {
11459
+ this.deleteGroupModal = false;
11322
11460
  CometChatGroupEvents.ccGroupDeleted.next(this.group);
11323
11461
  if (this.onClose) {
11324
11462
  this.onClose();
@@ -11369,7 +11507,26 @@ class CometChatDetailsComponent {
11369
11507
  border: `1px solid ${this.themeService.theme.palette.getAccent200()}`,
11370
11508
  borderRadius: "8px"
11371
11509
  });
11372
- this.leaveDialogStyle = { ...defaultStyle, ...this.leaveDialogStyle };
11510
+ let defaultDeleteDialogStyle = new ConfirmDialogStyle({
11511
+ confirmButtonBackground: this.themeService.theme.palette.getError(),
11512
+ cancelButtonBackground: this.themeService.theme.palette.getSecondary(),
11513
+ confirmButtonTextColor: this.themeService.theme.palette.getAccent900("light"),
11514
+ confirmButtonTextFont: fontHelper(this.themeService.theme.typography.text2),
11515
+ cancelButtonTextColor: this.themeService.theme.palette.getAccent900("dark"),
11516
+ cancelButtonTextFont: fontHelper(this.themeService.theme.typography.text2),
11517
+ titleFont: fontHelper(this.themeService.theme.typography.title1),
11518
+ titleColor: this.themeService.theme.palette.getAccent(),
11519
+ messageTextFont: fontHelper(this.themeService.theme.typography.subtitle2),
11520
+ messageTextColor: this.themeService.theme.palette.getAccent600(),
11521
+ background: this.themeService.theme.palette.getBackground(),
11522
+ height: "100%",
11523
+ width: "350px",
11524
+ border: `1px solid ${this.themeService.theme.palette.getAccent200()}`,
11525
+ borderRadius: "8px"
11526
+ });
11527
+ this.leaveGroupDialogStyle = { ...defaultStyle, ...this.leaveGroupDialogStyle };
11528
+ this.transferOwnershipDialogStyle = { ...defaultStyle, ...this.transferOwnershipDialogStyle };
11529
+ this.deleteGroupDialogStyle = { ...defaultDeleteDialogStyle, ...this.deleteGroupDialogStyle };
11373
11530
  }
11374
11531
  setListItemStyle() {
11375
11532
  let defaultStyle = new ListItemStyle({
@@ -11431,10 +11588,10 @@ class CometChatDetailsComponent {
11431
11588
  }
11432
11589
  }
11433
11590
  CometChatDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
11434
- CometChatDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatDetailsComponent, selector: "cometchat-details", inputs: { group: "group", user: "user", title: "title", closeButtonIconURL: "closeButtonIconURL", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", data: "data", disableUsersPresence: "disableUsersPresence", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", onError: "onError", onClose: "onClose", leaveButtonText: "leaveButtonText", cancelButtonText: "cancelButtonText", confirmDialogMessage: "confirmDialogMessage", addMembersConfiguration: "addMembersConfiguration", bannedMembersConfiguration: "bannedMembersConfiguration", groupMembersConfiguration: "groupMembersConfiguration", transferOwnershipConfiguration: "transferOwnershipConfiguration", leaveDialogStyle: "leaveDialogStyle", statusIndicatorStyle: "statusIndicatorStyle", backdropStyle: "backdropStyle", avatarStyle: "avatarStyle", detailsStyle: "detailsStyle", listItemStyle: "listItemStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-details__section-list\" *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\" (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"addMembersConfiguration.listItemStyle\"\n [addMembersStyle]=\"addMembersConfiguration.addMembersStyle\"\n [avatarStyle]=\"addMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"addMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"addMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"addMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"addMembersConfiguration.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration.emptyStateView\"\n [onSelect]=\"addMembersConfiguration.onSelect\"\n [onError]=\"addMembersConfiguration.onError\"\n [hideError]=\"addMembersConfiguration.hideError\"\n [hideSearch]=\"addMembersConfiguration.hideSearch\"\n [searchIconURL]=\"addMembersConfiguration.searchIconURL\"\n [selectionMode]=\"addMembersConfiguration.selectionMode\"\n [hideSeparator]=\"addMembersConfiguration.hideSeparator\"\n [showBackButton]=\"addMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"addMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"addMembersConfiguration.closeButtonIconURL\"\n [options]=\"addMembersConfiguration.options\"\n [menu]=\"addMembersConfiguration.menu\"\n [disableUsersPresence]=\"addMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"addMembersConfiguration.subtitleView\"\n [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration.onClose ||onCloseClick\"\n [onBack]=\"addMembersConfiguration.onBack || addMembers\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"onCloseClick\" [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\" [onClose]=\" groupMembersConfiguration.onClose || onCloseClick\" [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\" [confirmButtonText]=\"leaveButtonText\" (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"leaveDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"], components: [{ type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "hideError", "searchIconURL", "hideSearch", "title", "onError", "onBack", "onClose", "onSelect", "buttonText", "group", "emptyStateView", "errorStateView", "loadingIconURL", "listItemStyle", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "onAddMembersButtonClick", "titleAlignment", "addMembersStyle"] }, { type: CometChatBannedMembersComponent, selector: "cometchat-banned-members", inputs: ["bannedMembersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onSelect", "onBack", "onClose", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "unbanIconURL", "avatarStyle", "bannedMembersStyle", "listItemStyle"] }, { type: 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"] }, { type: CometChatTransferOwnershipComponent, selector: "cometchat-transfer-ownership", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "options", "closeButtonIconURL", "hideSeparator", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onClose", "onTransferOwnership", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "statusIndicatorStyle", "transferOwnershipStyle", "transferButtonText", "cancelButtonText", "avatarStyle", "groupMemberStyle", "listItemStyle", "titleAlignment"] }], 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"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11591
+ CometChatDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatDetailsComponent, selector: "cometchat-details", inputs: { group: "group", user: "user", title: "title", closeButtonIconURL: "closeButtonIconURL", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", data: "data", disableUsersPresence: "disableUsersPresence", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", onError: "onError", onClose: "onClose", leaveGroupConfirmButtonText: "leaveGroupConfirmButtonText", leaveGroupCancelButtonText: "leaveGroupCancelButtonText", leaveGroupDialogMessage: "leaveGroupDialogMessage", leaveGroupDialogStyle: "leaveGroupDialogStyle", deleteGroupConfirmButtonText: "deleteGroupConfirmButtonText", deleteGroupDialogMessage: "deleteGroupDialogMessage", deleteGroupCancelButtonText: "deleteGroupCancelButtonText", deleteGroupDialogStyle: "deleteGroupDialogStyle", transferOwnershipConfirmButtonText: "transferOwnershipConfirmButtonText", transferOwnershipDialogMessage: "transferOwnershipDialogMessage", transferOwnershipCancelButtonText: "transferOwnershipCancelButtonText", transferOwnershipDialogStyle: "transferOwnershipDialogStyle", addMembersConfiguration: "addMembersConfiguration", bannedMembersConfiguration: "bannedMembersConfiguration", groupMembersConfiguration: "groupMembersConfiguration", transferOwnershipConfiguration: "transferOwnershipConfiguration", statusIndicatorStyle: "statusIndicatorStyle", backdropStyle: "backdropStyle", avatarStyle: "avatarStyle", detailsStyle: "detailsStyle", listItemStyle: "listItemStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-details__section-list\" *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\" (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"addMembersConfiguration.listItemStyle\"\n [addMembersStyle]=\"addMembersConfiguration.addMembersStyle\"\n [avatarStyle]=\"addMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"addMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"addMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"addMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"addMembersConfiguration.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration.emptyStateView\"\n [onSelect]=\"addMembersConfiguration.onSelect\"\n [onError]=\"addMembersConfiguration.onError\"\n [hideError]=\"addMembersConfiguration.hideError\"\n [hideSearch]=\"addMembersConfiguration.hideSearch\"\n [searchIconURL]=\"addMembersConfiguration.searchIconURL\"\n [selectionMode]=\"addMembersConfiguration.selectionMode\"\n [hideSeparator]=\"addMembersConfiguration.hideSeparator\"\n [showBackButton]=\"addMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"addMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"addMembersConfiguration.closeButtonIconURL\"\n [options]=\"addMembersConfiguration.options\"\n [menu]=\"addMembersConfiguration.menu\"\n [disableUsersPresence]=\"addMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"addMembersConfiguration.subtitleView\"\n [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration.onClose ||onCloseClick\"\n [onBack]=\"addMembersConfiguration.onBack || addMembers\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"onCloseClick\" [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\" [onClose]=\" groupMembersConfiguration.onClose || onCloseClick\" [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"leaveGroupDialogMessage\" [cancelButtonText]=\"leaveGroupCancelButtonText\" [confirmButtonText]=\"leaveGroupConfirmButtonText\" (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"leaveGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"showTransferDialog\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"transferOwnershipDialogMessage\" [cancelButtonText]=\"transferOwnershipCancelButtonText\" [confirmButtonText]=\"transferOwnershipConfirmButtonText\" (cc-confirm-clicked)=\"onTransferClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"transferOwnershipDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"deleteGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"deleteGroupDialogMessage\" [cancelButtonText]=\"deleteGroupCancelButtonText\" [confirmButtonText]=\"deleteGroupConfirmButtonText\" (cc-confirm-clicked)=\"deleteGroup()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"deleteGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"], components: [{ type: CometChatAddMembersComponent, selector: "cometchat-add-members", inputs: ["usersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "hideError", "searchIconURL", "hideSearch", "title", "onError", "onBack", "onClose", "onSelect", "buttonText", "group", "emptyStateView", "errorStateView", "loadingIconURL", "listItemStyle", "showSectionHeader", "sectionHeaderField", "loadingStateView", "emptyStateText", "errorStateText", "onAddMembersButtonClick", "titleAlignment", "addMembersStyle", "StatusIndicatorStyle", "avatarStyle"] }, { type: CometChatBannedMembersComponent, selector: "cometchat-banned-members", inputs: ["bannedMembersRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "menu", "options", "backButtonIconURL", "closeButtonIconURL", "showBackButton", "hideSeparator", "selectionMode", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onSelect", "onBack", "onClose", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "unbanIconURL", "statusIndicatorStyle", "avatarStyle", "bannedMembersStyle", "listItemStyle"] }, { type: 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"] }, { type: CometChatTransferOwnershipComponent, selector: "cometchat-transfer-ownership", inputs: ["groupMemberRequestBuilder", "searchRequestBuilder", "subtitleView", "listItemView", "disableUsersPresence", "options", "closeButtonIconURL", "hideSeparator", "searchPlaceholder", "searchIconURL", "hideSearch", "title", "onError", "onClose", "onTransferOwnership", "group", "emptyStateView", "errorStateView", "loadingIconURL", "loadingStateView", "emptyStateText", "errorStateText", "statusIndicatorStyle", "transferOwnershipStyle", "transferButtonText", "cancelButtonText", "avatarStyle", "groupMemberStyle", "listItemStyle", "titleAlignment"] }], 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"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11435
11592
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatDetailsComponent, decorators: [{
11436
11593
  type: Component,
11437
- args: [{ selector: "cometchat-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-details__section-list\" *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\" (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"addMembersConfiguration.listItemStyle\"\n [addMembersStyle]=\"addMembersConfiguration.addMembersStyle\"\n [avatarStyle]=\"addMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"addMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"addMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"addMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"addMembersConfiguration.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration.emptyStateView\"\n [onSelect]=\"addMembersConfiguration.onSelect\"\n [onError]=\"addMembersConfiguration.onError\"\n [hideError]=\"addMembersConfiguration.hideError\"\n [hideSearch]=\"addMembersConfiguration.hideSearch\"\n [searchIconURL]=\"addMembersConfiguration.searchIconURL\"\n [selectionMode]=\"addMembersConfiguration.selectionMode\"\n [hideSeparator]=\"addMembersConfiguration.hideSeparator\"\n [showBackButton]=\"addMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"addMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"addMembersConfiguration.closeButtonIconURL\"\n [options]=\"addMembersConfiguration.options\"\n [menu]=\"addMembersConfiguration.menu\"\n [disableUsersPresence]=\"addMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"addMembersConfiguration.subtitleView\"\n [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration.onClose ||onCloseClick\"\n [onBack]=\"addMembersConfiguration.onBack || addMembers\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"onCloseClick\" [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\" [onClose]=\" groupMembersConfiguration.onClose || onCloseClick\" [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"confirmDialogMessage\" [cancelButtonText]=\"cancelButtonText\" [confirmButtonText]=\"leaveButtonText\" (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"leaveDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"] }]
11594
+ args: [{ selector: "cometchat-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-details__section-list\" *ngIf=\"defaultTemplate && defaultTemplate.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of defaultTemplate\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"getSectionHeaderStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\" (click)=\"onOptionClick(option)\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>\n<div class=\"cc-details__view\" *ngIf=\"openAddMembersPage\">\n <cometchat-add-members\n [titleAlignment]=\"addMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"addMembersConfiguration.listItemStyle\"\n [addMembersStyle]=\"addMembersConfiguration.addMembersStyle\"\n [avatarStyle]=\"addMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"addMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"addMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"addMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"addMembersConfiguration.errorStateView\"\n [emptyStateView]=\"addMembersConfiguration.emptyStateView\"\n [onSelect]=\"addMembersConfiguration.onSelect\"\n [onError]=\"addMembersConfiguration.onError\"\n [hideError]=\"addMembersConfiguration.hideError\"\n [hideSearch]=\"addMembersConfiguration.hideSearch\"\n [searchIconURL]=\"addMembersConfiguration.searchIconURL\"\n [selectionMode]=\"addMembersConfiguration.selectionMode\"\n [hideSeparator]=\"addMembersConfiguration.hideSeparator\"\n [showBackButton]=\"addMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"addMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"addMembersConfiguration.closeButtonIconURL\"\n [options]=\"addMembersConfiguration.options\"\n [menu]=\"addMembersConfiguration.menu\"\n [disableUsersPresence]=\"addMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"addMembersConfiguration.subtitleView\"\n [group]=\"group\"\n [selectionMode]=\"selectionmodeEnum\"\n [onClose]=\"addMembersConfiguration.onClose ||onCloseClick\"\n [onBack]=\"addMembersConfiguration.onBack || addMembers\">\n </cometchat-add-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openBannedMembersPage\">\n <cometchat-banned-members\n [titleAlignment]=\"bannedMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"bannedMembersConfiguration.listItemStyle\"\n [bannedMembersStyle]=\"bannedMembersConfiguration.bannedMembersStyle\"\n [avatarStyle]=\"bannedMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"bannedMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"bannedMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"bannedMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"bannedMembersConfiguration.errorStateView\"\n [emptyStateView]=\"bannedMembersConfiguration.emptyStateView\"\n [onSelect]=\"bannedMembersConfiguration.onSelect\"\n [onError]=\"bannedMembersConfiguration.onError\"\n [hideError]=\"bannedMembersConfiguration.hideError\"\n [hideSearch]=\"bannedMembersConfiguration.hideSearch\"\n [searchIconURL]=\"bannedMembersConfiguration.searchIconURL\"\n [selectionMode]=\"bannedMembersConfiguration.selectionMode\"\n [hideSeparator]=\"bannedMembersConfiguration.hideSeparator\"\n [showBackButton]=\"bannedMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"bannedMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"bannedMembersConfiguration.closeButtonIconURL\"\n [options]=\"bannedMembersConfiguration.options\"\n [menu]=\"bannedMembersConfiguration.menu\"\n [disableUsersPresence]=\"bannedMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"bannedMembersConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"onCloseClick\" [onBack]=\"bannedMembersConfiguration.onBack || bannedMembers\">\n </cometchat-banned-members>\n</div>\n<div class=\"cc-details__view\" *ngIf=\"openViewMembersPage\">\n <cometchat-group-members\n [titleAlignment]=\"groupMembersConfiguration.titleAlignment\"\n [listItemStyle]=\"groupMembersConfiguration.listItemStyle\"\n [groupMembersStyle]=\"groupMembersConfiguration.groupMembersStyle\"\n [avatarStyle]=\"groupMembersConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"groupMembersConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"groupMembersConfiguration.loadingStateView\"\n [loadingIconURL]=\"groupMembersConfiguration.loadingIconURL\"\n [errorStateView]=\"groupMembersConfiguration.errorStateView\"\n [emptyStateView]=\"groupMembersConfiguration.emptyStateView\"\n [onSelect]=\"groupMembersConfiguration.onSelect\"\n [onError]=\"groupMembersConfiguration.onError\"\n [hideError]=\"groupMembersConfiguration.hideError\"\n [hideSearch]=\"groupMembersConfiguration.hideSearch\"\n [searchIconURL]=\"groupMembersConfiguration.searchIconURL\"\n [selectionMode]=\"groupMembersConfiguration.selectionMode\"\n [backdropStyle]=\"groupMembersConfiguration.backdropStyle\"\n [hideSeparator]=\"groupMembersConfiguration.hideSeparator\"\n [showBackButton]=\"groupMembersConfiguration.showBackButton\"\n [backButtonIconURL]=\"groupMembersConfiguration.backButtonIconURL\"\n [closeButtonIconURL]=\"groupMembersConfiguration.closeButtonIconURL\"\n [options]=\"groupMembersConfiguration.options\"\n [menu]=\"groupMembersConfiguration.menu\"\n [disableUsersPresence]=\"groupMembersConfiguration.disableUsersPresence\"\n [subtitleView]=\"groupMembersConfiguration.subtitleView\"\n [groupScopeStyle]=\"groupMembersConfiguration.groupScopeStyle\"\n [group]=\"group\" [onClose]=\" groupMembersConfiguration.onClose || onCloseClick\" [onBack]=\"groupMembersConfiguration.onBack || viewMembers\">\n </cometchat-group-members>\n</div>\n\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"confirmLeaveGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"leaveGroupDialogMessage\" [cancelButtonText]=\"leaveGroupCancelButtonText\" [confirmButtonText]=\"leaveGroupConfirmButtonText\" (cc-confirm-clicked)=\"onLeaveClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"leaveGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"showTransferDialog\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"transferOwnershipDialogMessage\" [cancelButtonText]=\"transferOwnershipCancelButtonText\" [confirmButtonText]=\"transferOwnershipConfirmButtonText\" (cc-confirm-clicked)=\"onTransferClick()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"transferOwnershipDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"openTransferOwnershipModal\">\n <cometchat-transfer-ownership\n [transferOwnershipStyle]=\"transferOwnershipConfiguration.transferOwnershipStyle\"\n [onTransferOwnership]=\"transferOwnershipConfiguration.onTransferOwnership\"\n [titleAlignment]=\"transferOwnershipConfiguration.titleAlignment\"\n [listItemStyle]=\"transferOwnershipConfiguration.listItemStyle\"\n [avatarStyle]=\"transferOwnershipConfiguration.avatarStyle\"\n [statusIndicatorStyle]=\"transferOwnershipConfiguration.statusIndicatorStyle\"\n [loadingStateView]=\"transferOwnershipConfiguration.loadingStateView\"\n [loadingIconURL]=\"transferOwnershipConfiguration.loadingIconURL\"\n [errorStateView]=\"transferOwnershipConfiguration.errorStateView\"\n [emptyStateView]=\"transferOwnershipConfiguration.emptyStateView\"\n [onError]=\"transferOwnershipConfiguration.onError\"\n [hideSearch]=\"transferOwnershipConfiguration.hideSearch\"\n [searchIconURL]=\"transferOwnershipConfiguration.searchIconURL\"\n [hideSeparator]=\"transferOwnershipConfiguration.hideSeparator\"\n [closeButtonIconURL]=\"transferOwnershipConfiguration.closeButtonIconURL\"\n [options]=\"transferOwnershipConfiguration.options\"\n [disableUsersPresence]=\"transferOwnershipConfiguration.disableUsersPresence\"\n [subtitleView]=\"transferOwnershipConfiguration.subtitleView\"\n [group]=\"group\" [onClose]=\"transferOwnershipConfiguration.onClose || openTransferOwnership\">\n </cometchat-transfer-ownership>\n</cometchat-backdrop>\n<cometchat-backdrop [backdropStyle]=\"backdropStyle\" *ngIf=\"deleteGroupModal\">\n <cometchat-confirm-dialog [title]=\"''\" [messageText]=\"deleteGroupDialogMessage\" [cancelButtonText]=\"deleteGroupCancelButtonText\" [confirmButtonText]=\"deleteGroupConfirmButtonText\" (cc-confirm-clicked)=\"deleteGroup()\" (cc-cancel-clicked)=\"onCancelClick()\" [confirmDialogStyle]=\"deleteGroupDialogStyle\">\n </cometchat-confirm-dialog>\n</cometchat-backdrop>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%}.cc-details__profile{margin-bottom:50px;height:8%}.cc-details__section-list{height:84%;width:100%;overflow-y:auto;overflow-x:hidden}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;padding-left:6px;height:5%}.cc-details__options-wrapper{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.cc-details__option{display:flex;flex-direction:column;justify-content:space-evenly;min-height:50px}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__section-list::-webkit-scrollbar{background:transparent;width:8px}.cc-details__section-list::-webkit-scrollbar-thumb{background:#e8e5e5;border-radius:8px}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"] }]
11438
11595
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { group: [{
11439
11596
  type: Input
11440
11597
  }], user: [{
@@ -11461,11 +11618,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11461
11618
  type: Input
11462
11619
  }], onClose: [{
11463
11620
  type: Input
11464
- }], leaveButtonText: [{
11621
+ }], leaveGroupConfirmButtonText: [{
11465
11622
  type: Input
11466
- }], cancelButtonText: [{
11623
+ }], leaveGroupCancelButtonText: [{
11467
11624
  type: Input
11468
- }], confirmDialogMessage: [{
11625
+ }], leaveGroupDialogMessage: [{
11626
+ type: Input
11627
+ }], leaveGroupDialogStyle: [{
11628
+ type: Input
11629
+ }], deleteGroupConfirmButtonText: [{
11630
+ type: Input
11631
+ }], deleteGroupDialogMessage: [{
11632
+ type: Input
11633
+ }], deleteGroupCancelButtonText: [{
11634
+ type: Input
11635
+ }], deleteGroupDialogStyle: [{
11636
+ type: Input
11637
+ }], transferOwnershipConfirmButtonText: [{
11638
+ type: Input
11639
+ }], transferOwnershipDialogMessage: [{
11640
+ type: Input
11641
+ }], transferOwnershipCancelButtonText: [{
11642
+ type: Input
11643
+ }], transferOwnershipDialogStyle: [{
11469
11644
  type: Input
11470
11645
  }], addMembersConfiguration: [{
11471
11646
  type: Input
@@ -11475,8 +11650,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11475
11650
  type: Input
11476
11651
  }], transferOwnershipConfiguration: [{
11477
11652
  type: Input
11478
- }], leaveDialogStyle: [{
11479
- type: Input
11480
11653
  }], statusIndicatorStyle: [{
11481
11654
  type: Input
11482
11655
  }], backdropStyle: [{
@@ -11752,7 +11925,7 @@ class CometChatMessagesComponent {
11752
11925
  }
11753
11926
  catch (error) {
11754
11927
  if (this.onError) {
11755
- this.onError(error);
11928
+ this.onError(CometChatException(error));
11756
11929
  }
11757
11930
  }
11758
11931
  }
@@ -11818,10 +11991,10 @@ class CometChatMessagesComponent {
11818
11991
  }
11819
11992
  }
11820
11993
  CometChatMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessagesComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
11821
- CometChatMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessagesComponent, selector: "cometchat-messages", inputs: { user: "user", group: "group", hideMessageComposer: "hideMessageComposer", disableTyping: "disableTyping", messageHeaderConfiguration: "messageHeaderConfiguration", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessageConfiguration: "threadedMessageConfiguration", detailsConfiguration: "detailsConfiguration", customSoundForIncomingMessages: "customSoundForIncomingMessages", customSoundForOutgoingMessages: "customSoundForOutgoingMessages", disableSoundForMessages: "disableSoundForMessages", messagesStyle: "messagesStyle", messageHeaderView: "messageHeaderView", messageComposerView: "messageComposerView", messageListView: "messageListView", hideMessageHeader: "hideMessageHeader", hideDetails: "hideDetails", auxiliaryMenu: "auxiliaryMenu" }, viewQueries: [{ propertyName: "messageComposerRef", first: true, predicate: ["messageComposerRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messageListRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-messages__wrapper\">\n<div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n<div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\" class=\"cc-messages__header-customview\">\n <ng-container *ngTemplateOutlet=\"messageHeaderView\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\" [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\" [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\" [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\" [menu]=\"headerMenu\" [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\" [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\" [onError]=\"messageHeaderConfiguration.onError\" [onBack]=\"messageHeaderConfiguration.onBack\" [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\" [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\"\n >\n </cometchat-message-header>\n </ng-template>\n</div>\n<div class=\"cc-messages__list\">\n <cometchat-message-list #messageListRef [disableSoundForMessages]=\"disableSoundForMessages\" [customSoundForMessages]=\"customSoundForIncomingMessages\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.messageTypes\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [backdropStyle]=\"messageListConfiguration.backdropStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-messages__composer\" *ngIf=\"!hideMessageComposer\">\n <div *ngIf=\"messageComposerView; else customComposerView\" class=\"cc-messages__composer--customview\">\n <ng-container *ngTemplateOutlet=\"messageComposerView\">\n </ng-container>\n </div>\n <ng-template #customComposerView>\n <cometchat-message-composer #messageComposerRef [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n </ng-template>\n</div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\" [reactionIconURL]=\"reactionName\"></cometchat-live-reaction>\n</div>\n<div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n<cometchat-threaded-messages [onClose]=\"closeThreadView\" [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\" [messageActionView]=\"threadedMessageConfiguration.messageActionView\" [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\" [onError]=\"threadedMessageConfiguration.onError\" [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\" [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"></cometchat-threaded-messages>\n</div>\n<div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details [backdropStyle]=\"detailsConfiguration.backdropStyle\" [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\" [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\" [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\" [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\" [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"detailsConfiguration.listItemStyle\" [detailsStyle]=\"detailsConfiguration.detailsStyle\" [avatarStyle]=\"detailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\" [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\" [data]=\"detailsConfiguration.data\" [customProfileView]=\"detailsConfiguration.customProfileView\" [subtitleView]=\"detailsConfiguration.subtitleView\" [hideProfile]=\"detailsConfiguration.hideProfile\" [onError]=\"detailsConfiguration.onError\" [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\" [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n<div class=\"cc-messages__auxiliarymenu\" *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container *ngTemplateOutlet=\"getAuxilaryView()\">\n </ng-container>\n</div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\" videoCallIconText=\"\" [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\" [buttonStyle]=\"detailsButtonStyle\" (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{height:6%;width:100%}.cc-messages__list{height:84%;width:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{height:6%;width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"], components: [{ type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: ["avatarStyle", "statusIndicatorStyle", "messageHeaderStyle", "listItemStyle", "subtitleView", "disableUsersPresence", "disableTyping", "protectedGroupIcon", "privateGroupIcon", "menu", "user", "group", "backButtonIconURL", "hideBackButton", "listItemView", "onError", "onBack"] }, { type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle"] }, { type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: ["onClose", "onError", "parentMessage", "title", "closeIconURL", "bubbleView", "messageActionView", "messageListConfiguration", "messageComposerConfiguration", "threadedMessagesStyle"] }, { type: CometChatDetailsComponent, selector: "cometchat-details", inputs: ["group", "user", "title", "closeButtonIconURL", "hideProfile", "subtitleView", "customProfileView", "data", "disableUsersPresence", "privateGroupIcon", "protectedGroupIcon", "onError", "onClose", "leaveButtonText", "cancelButtonText", "confirmDialogMessage", "addMembersConfiguration", "bannedMembersConfiguration", "groupMembersConfiguration", "transferOwnershipConfiguration", "leaveDialogStyle", "statusIndicatorStyle", "backdropStyle", "avatarStyle", "detailsStyle", "listItemStyle"] }, { type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle"] }], 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 });
11994
+ CometChatMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatMessagesComponent, selector: "cometchat-messages", inputs: { user: "user", group: "group", hideMessageComposer: "hideMessageComposer", disableTyping: "disableTyping", messageHeaderConfiguration: "messageHeaderConfiguration", messageListConfiguration: "messageListConfiguration", messageComposerConfiguration: "messageComposerConfiguration", threadedMessageConfiguration: "threadedMessageConfiguration", detailsConfiguration: "detailsConfiguration", customSoundForIncomingMessages: "customSoundForIncomingMessages", customSoundForOutgoingMessages: "customSoundForOutgoingMessages", disableSoundForMessages: "disableSoundForMessages", messagesStyle: "messagesStyle", messageHeaderView: "messageHeaderView", messageComposerView: "messageComposerView", messageListView: "messageListView", hideMessageHeader: "hideMessageHeader", hideDetails: "hideDetails", auxiliaryMenu: "auxiliaryMenu" }, viewQueries: [{ propertyName: "messageComposerRef", first: true, predicate: ["messageComposerRef"], descendants: true }, { propertyName: "messageListRef", first: true, predicate: ["messageListRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-messages__wrapper\">\n<div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n<div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\" class=\"cc-messages__header-customview\">\n <ng-container *ngTemplateOutlet=\"messageHeaderView\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\" [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\" [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\" [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\" [menu]=\"headerMenu\" [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\" [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\" [onError]=\"messageHeaderConfiguration.onError\" [onBack]=\"messageHeaderConfiguration.onBack\" [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\" [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\"\n >\n </cometchat-message-header>\n </ng-template>\n</div>\n<div class=\"cc-messages__list\">\n <cometchat-message-list #messageListRef [disableSoundForMessages]=\"disableSoundForMessages\" [customSoundForMessages]=\"customSoundForIncomingMessages\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [templates]=\"messageListConfiguration.templates\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [backdropStyle]=\"messageListConfiguration.backdropStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-messages__composer\" *ngIf=\"!hideMessageComposer\">\n <div *ngIf=\"messageComposerView; else customComposerView\" class=\"cc-messages__composer--customview\">\n <ng-container *ngTemplateOutlet=\"messageComposerView\">\n </ng-container>\n </div>\n <ng-template #customComposerView>\n <cometchat-message-composer #messageComposerRef [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n </ng-template>\n</div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\" [reactionIconURL]=\"reactionName\"></cometchat-live-reaction>\n</div>\n<div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n<cometchat-threaded-messages [onClose]=\"closeThreadView\" [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\" [messageActionView]=\"threadedMessageConfiguration.messageActionView\" [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\" [onError]=\"threadedMessageConfiguration.onError\" [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\" [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"></cometchat-threaded-messages>\n</div>\n<div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details [backdropStyle]=\"detailsConfiguration.backdropStyle\" [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\" [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\" [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\" [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\" [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"detailsConfiguration.listItemStyle\" [detailsStyle]=\"detailsConfiguration.detailsStyle\" [avatarStyle]=\"detailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\" [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\" [data]=\"detailsConfiguration.data\" [customProfileView]=\"detailsConfiguration.customProfileView\" [subtitleView]=\"detailsConfiguration.subtitleView\" [hideProfile]=\"detailsConfiguration.hideProfile\" [onError]=\"detailsConfiguration.onError\" [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\" [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n<div class=\"cc-messages__auxiliarymenu\" *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container *ngTemplateOutlet=\"getAuxilaryView()\">\n </ng-container>\n</div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\" videoCallIconText=\"\" [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\" [buttonStyle]=\"detailsButtonStyle\" (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{height:6%;width:100%}.cc-messages__list{height:80%;width:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{height:6%;width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"], components: [{ type: CometChatMessageHeaderComponent, selector: "cometchat-message-header", inputs: ["avatarStyle", "statusIndicatorStyle", "messageHeaderStyle", "listItemStyle", "subtitleView", "disableUsersPresence", "disableTyping", "protectedGroupIcon", "privateGroupIcon", "menu", "user", "group", "backButtonIconURL", "hideBackButton", "listItemView", "onError", "onBack"] }, { type: CometChatMessageListComponent, selector: "cometchat-message-list", inputs: ["hideError", "errorStateView", "loadingStateView", "emptyStateView", "errorStateText", "emptyStateText", "loadingIconURL", "user", "group", "disableReceipt", "disableSoundForMessages", "customSoundForMessages", "readIcon", "deliveredIcon", "sentIcon", "waitIcon", "errorIcon", "alignment", "showAvatar", "datePattern", "timestampAlignment", "DateSeparatorPattern", "templates", "messagesRequestBuilder", "newMessageIndicatorText", "scrollToBottomOnNewMessages", "thresholdValue", "onThreadRepliesClick", "headerView", "footerView", "parentMessageId", "avatarStyle", "backdropStyle", "dateSeparatorStyle", "messageListStyle", "onError"] }, { type: CometChatMessageComposerComponent, selector: "cometchat-message-composer", inputs: ["user", "group", "disableSoundForMessages", "customSoundForMessage", "disableTypingEvents", "text", "placeholderText", "headerView", "onTextChange", "attachmentIconURL", "attachmentOptions", "secondaryButtonView", "auxilaryButtonView", "auxiliaryButtonsAlignment", "sendButtonView", "parentMessageId", "hideLiveReaction", "LiveReactionIconURL", "messageComposerStyle", "onSendButtonClick", "onError", "backdropStyle"] }, { type: CometChatThreadedMessagesComponent, selector: "cometchat-threaded-messages", inputs: ["onClose", "onError", "parentMessage", "title", "closeIconURL", "bubbleView", "messageActionView", "messageListConfiguration", "messageComposerConfiguration", "threadedMessagesStyle"] }, { type: CometChatDetailsComponent, selector: "cometchat-details", inputs: ["group", "user", "title", "closeButtonIconURL", "hideProfile", "subtitleView", "customProfileView", "data", "disableUsersPresence", "privateGroupIcon", "protectedGroupIcon", "onError", "onClose", "leaveGroupConfirmButtonText", "leaveGroupCancelButtonText", "leaveGroupDialogMessage", "leaveGroupDialogStyle", "deleteGroupConfirmButtonText", "deleteGroupDialogMessage", "deleteGroupCancelButtonText", "deleteGroupDialogStyle", "transferOwnershipConfirmButtonText", "transferOwnershipDialogMessage", "transferOwnershipCancelButtonText", "transferOwnershipDialogStyle", "addMembersConfiguration", "bannedMembersConfiguration", "groupMembersConfiguration", "transferOwnershipConfiguration", "statusIndicatorStyle", "backdropStyle", "avatarStyle", "detailsStyle", "listItemStyle"] }, { type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle", "outgoingCallConfiguration", "ongoingCallConfiguration"] }], 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 });
11822
11995
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatMessagesComponent, decorators: [{
11823
11996
  type: Component,
11824
- args: [{ selector: "cometchat-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-messages__wrapper\">\n<div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n<div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\" class=\"cc-messages__header-customview\">\n <ng-container *ngTemplateOutlet=\"messageHeaderView\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\" [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\" [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\" [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\" [menu]=\"headerMenu\" [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\" [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\" [onError]=\"messageHeaderConfiguration.onError\" [onBack]=\"messageHeaderConfiguration.onBack\" [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\" [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\"\n >\n </cometchat-message-header>\n </ng-template>\n</div>\n<div class=\"cc-messages__list\">\n <cometchat-message-list #messageListRef [disableSoundForMessages]=\"disableSoundForMessages\" [customSoundForMessages]=\"customSoundForIncomingMessages\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [messageTypes]=\"messageListConfiguration.messageTypes\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [backdropStyle]=\"messageListConfiguration.backdropStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-messages__composer\" *ngIf=\"!hideMessageComposer\">\n <div *ngIf=\"messageComposerView; else customComposerView\" class=\"cc-messages__composer--customview\">\n <ng-container *ngTemplateOutlet=\"messageComposerView\">\n </ng-container>\n </div>\n <ng-template #customComposerView>\n <cometchat-message-composer #messageComposerRef [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n </ng-template>\n</div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\" [reactionIconURL]=\"reactionName\"></cometchat-live-reaction>\n</div>\n<div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n<cometchat-threaded-messages [onClose]=\"closeThreadView\" [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\" [messageActionView]=\"threadedMessageConfiguration.messageActionView\" [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\" [onError]=\"threadedMessageConfiguration.onError\" [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\" [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"></cometchat-threaded-messages>\n</div>\n<div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details [backdropStyle]=\"detailsConfiguration.backdropStyle\" [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\" [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\" [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\" [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\" [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"detailsConfiguration.listItemStyle\" [detailsStyle]=\"detailsConfiguration.detailsStyle\" [avatarStyle]=\"detailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\" [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\" [data]=\"detailsConfiguration.data\" [customProfileView]=\"detailsConfiguration.customProfileView\" [subtitleView]=\"detailsConfiguration.subtitleView\" [hideProfile]=\"detailsConfiguration.hideProfile\" [onError]=\"detailsConfiguration.onError\" [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\" [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n<div class=\"cc-messages__auxiliarymenu\" *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container *ngTemplateOutlet=\"getAuxilaryView()\">\n </ng-container>\n</div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\" videoCallIconText=\"\" [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\" [buttonStyle]=\"detailsButtonStyle\" (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{height:6%;width:100%}.cc-messages__list{height:84%;width:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{height:6%;width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"] }]
11997
+ args: [{ selector: "cometchat-messages", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-messages__wrapper\">\n<div class=\"cc-messages\" [ngStyle]=\"chatListStyle()\" *ngIf=\"user || group\">\n<div class=\"cc-messages__header\" *ngIf=\"!hideMessageHeader\">\n <div *ngIf=\"messageHeaderView; else customHeaderView\" class=\"cc-messages__header-customview\">\n <ng-container *ngTemplateOutlet=\"messageHeaderView\">\n </ng-container>\n </div>\n <ng-template #customHeaderView>\n <cometchat-message-header [user]=\"user\" [group]=\"group\" [subtitleView]=\"messageHeaderConfiguration.subtitleView\"\n [disableUsersPresence]=\"messageHeaderConfiguration.disableUsersPresence\" [protectedGroupIcon]=\"messageHeaderConfiguration.protectedGroupIcon\" [privateGroupIcon]=\"messageHeaderConfiguration.privateGroupIcon\" [menu]=\"headerMenu\" [messageHeaderStyle]=\"messageHeaderConfiguration.messageHeaderStyle\"\n [backButtonIconURL]=\"messageHeaderConfiguration.backButtonIconURL\" [hideBackButton]=\"messageHeaderConfiguration.hideBackButton\" [onError]=\"messageHeaderConfiguration.onError\" [onBack]=\"messageHeaderConfiguration.onBack\" [listItemStyle]=\"messageHeaderConfiguration.listItemStyle\" [statusIndicatorStyle]=\"messageHeaderConfiguration.statusIndicatorStyle\"\n [avatarStyle]=\"messageHeaderConfiguration.avatarStyle\"\n >\n </cometchat-message-header>\n </ng-template>\n</div>\n<div class=\"cc-messages__list\">\n <cometchat-message-list #messageListRef [disableSoundForMessages]=\"disableSoundForMessages\" [customSoundForMessages]=\"customSoundForIncomingMessages\" [emptyStateView]=\"messageListConfiguration.emptyStateView\" [loadingStateView]=\"messageListConfiguration.loadingStateView\" [user]=\"user\" [group]=\"group\"\n [errorStateView]=\"messageListConfiguration.errorStateView\" [disableReceipt]=\"messageListConfiguration.disableReceipt\" [readIcon]=\"messageListConfiguration.readIcon\" [deliveredIcon]=\"messageListConfiguration.deliveredIcon\" [sentIcon]=\"messageListConfiguration.sentIcon\" [waitIcon]=\"messageListConfiguration.waitIcon\"\n [errorIcon]=\"messageListConfiguration.errorIcon\" [alignment]=\"messageListConfiguration.alignment\" [showAvatar]=\"messageListConfiguration.showAvatar\" [datePattern]=\"messageListConfiguration.datePattern\" [timestampAlignment]=\"messageListConfiguration.timestampAlignment\" [DateSeparatorPattern]=\"messageListConfiguration.DateSeparatorPattern\"\n [templates]=\"messageListConfiguration.templates\" [messagesRequestBuilder]=\"messageListConfiguration.messagesRequestBuilder\" [thresholdValue]=\"messageListConfiguration.thresholdValue\" [onThreadRepliesClick]=\"messageListConfiguration.onThreadRepliesClick || openThreadView\" [headerView]=\"messageListConfiguration.headerView\" [footerView]=\"messageListConfiguration.footerView\"\n [avatarStyle]=\"messageListConfiguration.avatarStyle\" [backdropStyle]=\"messageListConfiguration.backdropStyle\" [dateSeparatorStyle]=\"messageListConfiguration.dateSeparatorStyle\" [messageListStyle]=\"messageListConfiguration.messageListStyle\" [onError]=\"messageListConfiguration.onError\"\n >\n </cometchat-message-list>\n</div>\n<div class=\"cc-messages__composer\" *ngIf=\"!hideMessageComposer\">\n <div *ngIf=\"messageComposerView; else customComposerView\" class=\"cc-messages__composer--customview\">\n <ng-container *ngTemplateOutlet=\"messageComposerView\">\n </ng-container>\n </div>\n <ng-template #customComposerView>\n <cometchat-message-composer #messageComposerRef [disableSoundForMessages]=\"disableSoundForMessages\"\n [customSoundForMessages]=\"customSoundForOutgoingMessages\"\n [user]=\"user\" [group]=\"group\" [text]=\"messageComposerConfiguration.text\" [headerView]=\"messageComposerConfiguration.headerView\" [onTextChange]=\"messageComposerConfiguration.onTextChange\" [attachmentIconURL]=\"messageComposerConfiguration.attachmentIconURL\"\n [attachmentOptions]=\"messageComposerConfiguration.attachmentOptions\" [secondaryButtonView]=\"messageComposerConfiguration.secondaryButtonView\" [auxilaryButtonView]=\"messageComposerConfiguration.auxilaryButtonView\" [auxiliaryButtonsAlignment]=\"messageComposerConfiguration.auxiliaryButtonsAlignment\"\n [sendButtonView]=\"messageComposerConfiguration.sendButtonView\" [hideLiveReaction]=\"messageComposerConfiguration.hideLiveReaction\" [LiveReactionIconURL]=\"messageComposerConfiguration.LiveReactionIconURL\" [messageComposerStyle]=\"messageComposerConfiguration.messageComposerStyle\" [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\"\n [onSendButtonClick]=\"messageComposerConfiguration.onSendButtonClick\" [onError]=\"messageComposerConfiguration.onError\"\n >\n </cometchat-message-composer>\n </ng-template>\n</div>\n </div>\n <div class=\"cc-messages__livereaction\">\n <cometchat-live-reaction *ngIf=\"liveReaction\" [reactionIconURL]=\"reactionName\"></cometchat-live-reaction>\n</div>\n<div *ngIf=\"openThreadedMessages\" class=\"cc-messages__threadedmessages\">\n<cometchat-threaded-messages [onClose]=\"closeThreadView\" [threadedMessagesStyle]=\"threadedMessageConfiguration.threadedMessagesStyle\" [messageActionView]=\"threadedMessageConfiguration.messageActionView\" [closeIconURL]=\"threadedMessageConfiguration.closeIconURL\" [onError]=\"threadedMessageConfiguration.onError\" [bubbleView]=\"threadedMessageConfiguration.bubbleView || parentBubbleView\" [parentMessage]=\"threadMessageObject\" [user]=\"user\" [group]=\"group\"></cometchat-threaded-messages>\n</div>\n<div *ngIf=\"openDetails\" class=\"cc-messages__details\">\n <cometchat-details [backdropStyle]=\"detailsConfiguration.backdropStyle\" [transferOwnershipConfiguration]=\"detailsConfiguration.transferOwnershipConfiguration\" [groupMembersConfiguration]=\"detailsConfiguration.groupMembersConfiguration\" [bannedMembersConfiguration]=\"detailsConfiguration.bannedMembersConfiguration\" [addMembersConfiguration]=\"detailsConfiguration.addMembersConfiguration\" [onClose]=\"detailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"detailsConfiguration.listItemStyle\" [detailsStyle]=\"detailsConfiguration.detailsStyle\" [avatarStyle]=\"detailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"detailsConfiguration.statusIndicatorStyle\" [leaveDialogStyle]=\"detailsConfiguration.leaveDialogStyle\" [data]=\"detailsConfiguration.data\" [customProfileView]=\"detailsConfiguration.customProfileView\" [subtitleView]=\"detailsConfiguration.subtitleView\" [hideProfile]=\"detailsConfiguration.hideProfile\" [onError]=\"detailsConfiguration.onError\" [closeButtonIconURL]=\"detailsConfiguration.closeButtonIconURL\" [user]=\"user\" [group]=\"group\"></cometchat-details>\n </div>\n</div>\n<ng-template #headerMenu>\n <div class=\"cc-messages__headermenu\">\n<div class=\"cc-messages__auxiliarymenu\" *ngIf=\"getAuxilaryView(); else elseBlock\">\n <ng-container *ngTemplateOutlet=\"getAuxilaryView()\">\n </ng-container>\n</div>\n <ng-template #elseBlock>\n <cometchat-call-buttons *ngIf=\"enableCalling\" voiceCallIconText=\"\" videoCallIconText=\"\" [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsStyle\">\n </cometchat-call-buttons>\n </ng-template>\n <cometchat-button *ngIf=\"!hideDetails\" [iconURL]=\"infoIconStyle\" [buttonStyle]=\"detailsButtonStyle\" (cc-button-clicked)=\"openDetailsPage()\"></cometchat-button>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-messages__wrapper{position:relative;height:100%;width:100%}.cc-messages{display:flex;flex-direction:column;position:relative;height:100%;width:100%;box-sizing:border-box;justify-content:space-between}.cc-messages__headermenu{display:flex;justify-content:center;align-items:center}.cc-messages__threadedmessages,.cc-messages__details{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-messages__header{height:6%;width:100%}.cc-messages__list{height:80%;width:100%}cometchat-threaded-messages{height:100%;display:flex}.cc-messages__composer{height:6%;width:100%;display:flex;flex-direction:column;justify-content:flex-end}\n"] }]
11825
11998
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { messageComposerRef: [{
11826
11999
  type: ViewChild,
11827
12000
  args: ["messageComposerRef", { static: false }]
@@ -11938,11 +12111,13 @@ class CometChatConversationsWithMessagesComponent {
11938
12111
  if (changes["isMobileView"]) {
11939
12112
  if (this.isMobileView) {
11940
12113
  this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;
12114
+ this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 8px";
11941
12115
  this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
11942
12116
  this.messagesConfiguration = { ...this.messagesConfiguration };
11943
12117
  }
11944
12118
  else if (!this.isMobileView) {
11945
12119
  this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;
12120
+ this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 100px";
11946
12121
  this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
11947
12122
  this.messagesConfiguration = { ...this.messagesConfiguration };
11948
12123
  }
@@ -12383,29 +12558,7 @@ class CometChatGroupsComponent {
12383
12558
  this.groupsStyle = {
12384
12559
  width: "100%",
12385
12560
  height: "100%",
12386
- background: "",
12387
- border: "",
12388
- borderRadius: "",
12389
- titleTextFont: "",
12390
- titleTextColor: "",
12391
- subTitleTextFont: "",
12392
- subTitleTextColor: "",
12393
- searchPlaceholderTextFont: "",
12394
- searchPlaceholderTextColor: "",
12395
- searchTextFont: "",
12396
- searchTextColor: "",
12397
- emptyStateTextFont: "",
12398
- emptyStateTextColor: "",
12399
- errorStateTextFont: "",
12400
- errorStateTextColor: "",
12401
- loadingIconTint: "",
12402
- searchIconTint: "",
12403
- searchBorder: "",
12404
- searchBorderRadius: "",
12405
- searchBackground: "",
12406
- separatorColor: "rgb(222 222 222 / 46%)",
12407
- privateGroupIconBackground: "",
12408
- passwordGroupIconBackground: "",
12561
+ separatorColor: "rgb(222 222 222 / 46%)"
12409
12562
  };
12410
12563
  this.listItemStyle = {};
12411
12564
  this.listStyle = {};
@@ -12458,11 +12611,17 @@ class CometChatGroupsComponent {
12458
12611
  this.ref.detectChanges();
12459
12612
  }
12460
12613
  }, (error) => {
12614
+ if (this.onError) {
12615
+ this.onError(CometChatException(error));
12616
+ }
12461
12617
  this.state = States.error;
12462
12618
  this.ref.detectChanges();
12463
12619
  });
12464
12620
  }
12465
12621
  catch (error) {
12622
+ if (this.onError) {
12623
+ this.onError(CometChatException(error));
12624
+ }
12466
12625
  this.state = States.error;
12467
12626
  this.ref.detectChanges();
12468
12627
  }
@@ -12518,7 +12677,7 @@ class CometChatGroupsComponent {
12518
12677
  }
12519
12678
  catch (error) {
12520
12679
  if (this.onError) {
12521
- this.onError(error);
12680
+ this.onError(CometChatException(error));
12522
12681
  }
12523
12682
  }
12524
12683
  };
@@ -13120,6 +13279,7 @@ class CometChatGroupsWithMessagesComponent {
13120
13279
  if (changes["isMobileView"]) {
13121
13280
  if (this.isMobileView) {
13122
13281
  this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;
13282
+ this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 8px";
13123
13283
  this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
13124
13284
  this.messagesConfiguration = { ...this.messagesConfiguration };
13125
13285
  this.joinGroupConfiguration.messageHeaderConfiguration.hideBackButton = false;
@@ -13128,6 +13288,7 @@ class CometChatGroupsWithMessagesComponent {
13128
13288
  }
13129
13289
  else if (!this.isMobileView) {
13130
13290
  this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;
13291
+ this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 100px";
13131
13292
  this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
13132
13293
  this.messagesConfiguration = { ...this.messagesConfiguration };
13133
13294
  this.joinGroupConfiguration.messageHeaderConfiguration.hideBackButton = true;
@@ -13447,11 +13608,13 @@ class CometChatUsersWithMessagesComponent {
13447
13608
  ngOnChanges(changes) {
13448
13609
  if (changes["isMobileView"]) {
13449
13610
  if (this.isMobileView) {
13611
+ this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 8px";
13450
13612
  this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = false;
13451
13613
  this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
13452
13614
  this.messagesConfiguration = { ...this.messagesConfiguration };
13453
13615
  }
13454
13616
  else if (!this.isMobileView) {
13617
+ this.messagesConfiguration.detailsConfiguration.detailsStyle.padding = "0 100px";
13455
13618
  this.messagesConfiguration.messageHeaderConfiguration.hideBackButton = true;
13456
13619
  this.messagesConfiguration.messageHeaderConfiguration = { ...this.messagesConfiguration.messageHeaderConfiguration };
13457
13620
  this.messagesConfiguration = { ...this.messagesConfiguration };
@@ -13574,6 +13737,1158 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13574
13737
  }]
13575
13738
  }] });
13576
13739
 
13740
+ class CometChatTabsComponent {
13741
+ constructor(ref) {
13742
+ this.ref = ref;
13743
+ this.tabAlignment = TabAlignment.bottom;
13744
+ this.tabsStyle = {};
13745
+ this.tabs = [];
13746
+ this.openViewOnCLick = (tabItem) => {
13747
+ this.childView = null;
13748
+ let index = this.tabs.findIndex((item) => item.id === tabItem.id);
13749
+ if (index > -1) {
13750
+ this.activeTab = tabItem;
13751
+ this.childView = this.tabs[index].childView;
13752
+ this.ref.detectChanges();
13753
+ }
13754
+ };
13755
+ }
13756
+ ngOnInit() {
13757
+ }
13758
+ getButtonStyle(tab) {
13759
+ const { style = {} } = tab || {};
13760
+ const { id } = this.activeTab || {};
13761
+ const active = id === tab?.id;
13762
+ return {
13763
+ background: active ? style.activeBackground ?? style.background : style.background,
13764
+ buttonTextFont: active ? style.activeTitleTextFont ?? style.titleTextFont : style.titleTextFont,
13765
+ buttonTextColor: active ? style.activeTitleTextColor ?? style.titleTextColor : style.titleTextColor,
13766
+ buttonIconTint: active ? style.activeIconTint ?? style.iconTint : style.iconTint,
13767
+ height: style.height,
13768
+ width: style.width,
13769
+ border: style.border,
13770
+ borderRadius: style.borderRadius,
13771
+ gap: "0",
13772
+ padding: "0",
13773
+ };
13774
+ }
13775
+ getTabsStyle() {
13776
+ const position = (() => {
13777
+ switch (this.tabAlignment) {
13778
+ case TabAlignment.top:
13779
+ case TabAlignment.left:
13780
+ return {
13781
+ top: "0",
13782
+ left: "0",
13783
+ };
13784
+ case TabAlignment.bottom:
13785
+ return {
13786
+ bottom: "0",
13787
+ left: "0",
13788
+ };
13789
+ default:
13790
+ return {
13791
+ top: "0",
13792
+ right: "0",
13793
+ };
13794
+ }
13795
+ })();
13796
+ const { background } = this.tabsStyle ?? {};
13797
+ return {
13798
+ background,
13799
+ ...position,
13800
+ };
13801
+ }
13802
+ getTabsPlacement() {
13803
+ let alignment = this.tabAlignment == TabAlignment.top || this.tabAlignment == TabAlignment.bottom ? "row" : "column";
13804
+ return {
13805
+ display: "flex",
13806
+ flexDirection: alignment
13807
+ };
13808
+ }
13809
+ }
13810
+ CometChatTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTabsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13811
+ CometChatTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatTabsComponent, selector: "cometchat-tabs", inputs: { tabAlignment: "tabAlignment", tabsStyle: "tabsStyle", tabs: "tabs" }, ngImport: i0, template: "<div class=\"cc-tabs-wrapper\">\n <div class=\"cc-child-view\" *ngIf=\"childView\">\n <ng-container [ngTemplateOutlet]=\"childView\" >\n\n </ng-container>\n </div>\n <div class=\"cc-tabs\" [ngStyle]=\"getTabsStyle()\">\n <cometchat-draggable [draggableStyle]=\"tabsStyle\">\n <div class=\"cc__tab-item\" [ngStyle]=\"getTabsPlacement()\">\n <cometchat-icon-button [alignment]=\"'column'\" *ngFor=\"let tab of tabs\" [iconURL]=\"tab.iconURL\" [text]=\"tab.title\" [buttonStyle]=\"getButtonStyle(tab)\" (cc-button-clicked)=\"openViewOnCLick(tab)\"></cometchat-icon-button>\n </div>\n </cometchat-draggable>\n </div>\n</div>\n", styles: [".cc-tabs-wrapper{height:100%;width:100%;display:flex;flex-direction:column;justify-content:flex-end}.cc-child-view{height:100%;width:100%}.cc-tabs{height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;position:absolute}.cc__tab-item{display:flex}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13812
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTabsComponent, decorators: [{
13813
+ type: Component,
13814
+ args: [{ selector: 'cometchat-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-tabs-wrapper\">\n <div class=\"cc-child-view\" *ngIf=\"childView\">\n <ng-container [ngTemplateOutlet]=\"childView\" >\n\n </ng-container>\n </div>\n <div class=\"cc-tabs\" [ngStyle]=\"getTabsStyle()\">\n <cometchat-draggable [draggableStyle]=\"tabsStyle\">\n <div class=\"cc__tab-item\" [ngStyle]=\"getTabsPlacement()\">\n <cometchat-icon-button [alignment]=\"'column'\" *ngFor=\"let tab of tabs\" [iconURL]=\"tab.iconURL\" [text]=\"tab.title\" [buttonStyle]=\"getButtonStyle(tab)\" (cc-button-clicked)=\"openViewOnCLick(tab)\"></cometchat-icon-button>\n </div>\n </cometchat-draggable>\n </div>\n</div>\n", styles: [".cc-tabs-wrapper{height:100%;width:100%;display:flex;flex-direction:column;justify-content:flex-end}.cc-child-view{height:100%;width:100%}.cc-tabs{height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;position:absolute}.cc__tab-item{display:flex}\n"] }]
13815
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabAlignment: [{
13816
+ type: Input
13817
+ }], tabsStyle: [{
13818
+ type: Input
13819
+ }], tabs: [{
13820
+ type: Input
13821
+ }] } });
13822
+
13823
+ /**
13824
+ *
13825
+ * CometChatCallHistory is a wrapper component which renders callhistory of the loggedinuser using CometChatListItem && CometChatList.
13826
+ *
13827
+ * @version 1.0.0
13828
+ * @author CometChatTeam
13829
+ * @copyright © 2022 CometChat Inc.
13830
+ *
13831
+ */
13832
+ class CometChatCallHistoryComponent {
13833
+ constructor(ref, themeService) {
13834
+ this.ref = ref;
13835
+ this.themeService = themeService;
13836
+ this.hideSeparator = false;
13837
+ this.selectionMode = SelectionMode$1.none;
13838
+ this.hideError = false;
13839
+ this.title = localize("CALLS");
13840
+ this.onError = (error) => {
13841
+ console.log(error);
13842
+ };
13843
+ this.loadingIconURL = "assets/Spinner.svg";
13844
+ this.datePattern = DatePatterns.DayDateTime;
13845
+ this.emptyStateText = localize("NO_callS_FOUND");
13846
+ this.errorStateText = localize("SOMETHING_WRONG");
13847
+ this.titleAlignment = TitleAlignment.left;
13848
+ this.avatarStyle = {
13849
+ borderRadius: "16px",
13850
+ width: "32px",
13851
+ height: "32px",
13852
+ };
13853
+ this.dateStyle = {};
13854
+ this.callHistoryStyle = {
13855
+ width: "100%",
13856
+ height: "100%",
13857
+ background: "",
13858
+ border: "",
13859
+ borderRadius: "",
13860
+ titleTextFont: "",
13861
+ titleTextColor: "",
13862
+ subtitleTextFont: "",
13863
+ subtitleTextColor: "",
13864
+ emptyStateTextFont: "",
13865
+ emptyStateTextColor: "",
13866
+ errorStateTextFont: "",
13867
+ errorStateTextColor: "",
13868
+ loadingIconTint: "",
13869
+ separatorColor: "rgb(222 222 222 / 46%)",
13870
+ };
13871
+ this.listItemStyle = {};
13872
+ this.selectionmodeEnum = SelectionMode$1;
13873
+ this.state = States.loading;
13874
+ this.listStyle = {};
13875
+ this.limit = 30;
13876
+ this.callsList = [];
13877
+ this.callsListenerId = "callsList_" + new Date().getTime();
13878
+ this.loggedInUser = null;
13879
+ this.onScrolledToBottom = null;
13880
+ this.iconStyle = {
13881
+ height: "16px",
13882
+ width: "16px",
13883
+ iconTint: "RGBA(20, 20, 20, 0.68)"
13884
+ };
13885
+ this.fetchNextcallList = () => {
13886
+ this.onScrolledToBottom = null;
13887
+ this.state = States.loading;
13888
+ this.ref.detectChanges();
13889
+ try {
13890
+ this.callsRequest.fetchPrevious().then((callList) => {
13891
+ if (callList?.length > 0) {
13892
+ this.onScrolledToBottom = this.fetchNextcallList;
13893
+ this.ref.detectChanges();
13894
+ }
13895
+ if ((callList.length <= 0 && this.callsList?.length <= 0) || (callList.length === 0 && this.callsList?.length <= 0)) {
13896
+ this.state = States.empty;
13897
+ this.ref.detectChanges();
13898
+ }
13899
+ else {
13900
+ this.state = States.loaded;
13901
+ this.callsList = [...this.callsList, ...callList.reverse()];
13902
+ this.ref.detectChanges();
13903
+ }
13904
+ }, (error) => {
13905
+ if (this.onError) {
13906
+ this.onError(CometChatException(error));
13907
+ }
13908
+ this.state = States.error;
13909
+ this.ref.detectChanges();
13910
+ }).catch((error) => {
13911
+ if (this.onError) {
13912
+ this.onError(error);
13913
+ }
13914
+ });
13915
+ }
13916
+ catch (error) {
13917
+ this.state = States.error;
13918
+ this.ref.detectChanges();
13919
+ if (this.onError) {
13920
+ this.onError(CometChatException(error));
13921
+ }
13922
+ }
13923
+ };
13924
+ /**
13925
+ * @param {CometChat.Call} call
13926
+ */
13927
+ this.onClick = (call) => {
13928
+ if (this.onItemClick) {
13929
+ this.onItemClick(call);
13930
+ }
13931
+ };
13932
+ /**
13933
+ * @param {CometChat.Call} call
13934
+ */
13935
+ /**
13936
+ * @param {CometChat.Call} call
13937
+ */
13938
+ this.getActiveCall = (call) => {
13939
+ if (this.selectionMode == SelectionMode$1.none || !this.selectionMode) {
13940
+ if (call.getId() == this.activeCall?.getId()) {
13941
+ return true;
13942
+ }
13943
+ else {
13944
+ return false;
13945
+ }
13946
+ }
13947
+ else {
13948
+ return false;
13949
+ }
13950
+ };
13951
+ this.callStyle = () => {
13952
+ return {
13953
+ height: this.callHistoryStyle.height,
13954
+ width: this.callHistoryStyle.width,
13955
+ background: this.callHistoryStyle.background,
13956
+ border: this.callHistoryStyle.border,
13957
+ borderRadius: this.callHistoryStyle.borderRadius
13958
+ };
13959
+ };
13960
+ this.subtitleStyle = () => {
13961
+ return {
13962
+ font: this.callHistoryStyle.subtitleTextFont,
13963
+ color: this.callHistoryStyle.subtitleTextColor
13964
+ };
13965
+ };
13966
+ this.state = States.loading;
13967
+ }
13968
+ ngOnInit() {
13969
+ this.setThemeStyle();
13970
+ CometChat.getLoggedinUser().then((user) => {
13971
+ this.loggedInUser = user;
13972
+ this.callsRequest = this.getRequestBuilder();
13973
+ this.fetchNextcallList();
13974
+ this.attachListeners();
13975
+ this.subscribeToEvents();
13976
+ }).catch((error) => {
13977
+ if (this.onError) {
13978
+ this.onError(error);
13979
+ }
13980
+ });
13981
+ this.state = States.loading;
13982
+ }
13983
+ callMenuOption(event, call) {
13984
+ let onClick = event?.detail?.data?.onClick;
13985
+ if (onClick) {
13986
+ onClick(call);
13987
+ }
13988
+ }
13989
+ subscribeToEvents() {
13990
+ this.ccCallAccepted = CometChatCallEvents.ccCallAccepted.subscribe((call) => {
13991
+ this.addCall(call);
13992
+ });
13993
+ this.ccCallRejected = CometChatCallEvents.ccCallRejected.subscribe((call) => {
13994
+ this.addCall(call);
13995
+ });
13996
+ this.ccOutgoingCall = CometChatCallEvents.ccOutgoingCall.subscribe((call) => {
13997
+ this.addCall(call);
13998
+ });
13999
+ this.ccCallEnded = CometChatCallEvents.ccCallEnded.subscribe((call) => {
14000
+ if (call) {
14001
+ this.addCall(call);
14002
+ }
14003
+ });
14004
+ }
14005
+ unsubscribeToEvents() {
14006
+ this.ccCallAccepted?.unsubscribe();
14007
+ this.ccCallRejected?.unsubscribe();
14008
+ this.ccOutgoingCall?.unsubscribe();
14009
+ this.ccCallEnded?.unsubscribe();
14010
+ }
14011
+ ngOnDestroy() {
14012
+ this.callsRequest = null;
14013
+ this.ref.detach();
14014
+ this.removeListener();
14015
+ this.unsubscribeToEvents();
14016
+ }
14017
+ /**
14018
+ * @param {CometChat.Call} call
14019
+ */
14020
+ /**
14021
+ * @param {CometChat.Call} call
14022
+ */
14023
+ attachListeners() {
14024
+ CometChat.addCallListener(this.callsListenerId, new CometChat.CallListener({
14025
+ onIncomingCallReceived: (call) => {
14026
+ this.addCall(call);
14027
+ },
14028
+ onIncomingCallCancelled: (call) => {
14029
+ this.addCall(call);
14030
+ },
14031
+ onOutgoingCallAccepted: (call) => {
14032
+ this.addCall(call);
14033
+ },
14034
+ onOutgoingCallRejected: (call) => {
14035
+ this.addCall(call);
14036
+ },
14037
+ }));
14038
+ }
14039
+ removeListener() {
14040
+ CometChat.removeCallListener(this.callsListenerId);
14041
+ }
14042
+ getSubtitle(call) {
14043
+ return CallingDetailsUtils.getCallStatus(call, this.loggedInUser);
14044
+ }
14045
+ getCallTypeIcon(call) {
14046
+ if (call.getType() == CometChatUIKitConstants.MessageTypes.audio) {
14047
+ return "assets/Audio-Call.svg";
14048
+ }
14049
+ else {
14050
+ return "VideoCallIcon";
14051
+ }
14052
+ }
14053
+ getCallerName(call) {
14054
+ if (CallingDetailsUtils.isSentByMe(call, this.loggedInUser)) {
14055
+ return call.getReceiver().getName();
14056
+ }
14057
+ return call.getSender().getName();
14058
+ }
14059
+ getRequestBuilder() {
14060
+ if (this.messageRequestBuilder) {
14061
+ return this.messageRequestBuilder
14062
+ .build();
14063
+ }
14064
+ else {
14065
+ return new CometChat.MessagesRequestBuilder()
14066
+ .setLimit(this.limit)
14067
+ .setTypes([CometChatUIKitConstants.MessageTypes.audio, CometChatUIKitConstants.MessageTypes.video])
14068
+ .setCategories([CometChatUIKitConstants.MessageCategory.call])
14069
+ .build();
14070
+ }
14071
+ }
14072
+ /**
14073
+ * addcall
14074
+ * @param call
14075
+ */
14076
+ addCall(call) {
14077
+ this.callsList.unshift(call);
14078
+ this.ref.detectChanges();
14079
+ }
14080
+ setThemeStyle() {
14081
+ this.iconStyle.iconTint = this.themeService.theme.palette.getAccent600();
14082
+ this.setAvatarStyle();
14083
+ this.setDateStyle();
14084
+ this.setCallsStyle();
14085
+ this.listStyle = {
14086
+ titleTextFont: this.callHistoryStyle.titleTextFont,
14087
+ titleTextColor: this.callHistoryStyle.titleTextColor,
14088
+ emptyStateTextFont: this.callHistoryStyle.emptyStateTextFont,
14089
+ emptyStateTextColor: this.callHistoryStyle.emptyStateTextColor,
14090
+ errorStateTextFont: this.callHistoryStyle.errorStateTextFont,
14091
+ errorStateTextColor: this.callHistoryStyle.errorStateTextColor,
14092
+ loadingIconTint: this.callHistoryStyle.loadingIconTint,
14093
+ separatorColor: this.callHistoryStyle.separatorColor,
14094
+ };
14095
+ }
14096
+ setAvatarStyle() {
14097
+ let defaultStyle = new AvatarStyle({
14098
+ borderRadius: "24px",
14099
+ width: "36px",
14100
+ height: "36px",
14101
+ border: "none",
14102
+ backgroundColor: this.themeService.theme.palette.getAccent700(),
14103
+ nameTextColor: this.themeService.theme.palette.getAccent900(),
14104
+ backgroundSize: "cover",
14105
+ nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),
14106
+ outerViewBorder: "",
14107
+ outerViewBorderSpacing: "",
14108
+ });
14109
+ this.avatarStyle = { ...defaultStyle, ...this.avatarStyle };
14110
+ }
14111
+ setDateStyle() {
14112
+ let defaultStyle = new DateStyle({
14113
+ textFont: fontHelper(this.themeService.theme.typography.caption2),
14114
+ textColor: this.themeService.theme.palette.getAccent600(),
14115
+ background: "transparent"
14116
+ });
14117
+ this.dateStyle = { ...defaultStyle, ...this.dateStyle };
14118
+ }
14119
+ getListItemStyle(call) {
14120
+ let defaultStyle = new ListItemStyle({
14121
+ height: "45px",
14122
+ width: "100%",
14123
+ background: this.themeService.theme.palette.getBackground(),
14124
+ activeBackground: this.themeService.theme.palette.getAccent100(),
14125
+ borderRadius: "0",
14126
+ titleFont: fontHelper(this.themeService.theme.typography.title2),
14127
+ titleColor: CallingDetailsUtils.isMissedCall(call, this.loggedInUser) ? this.themeService.theme.palette.getError() : this.themeService.theme.palette.getAccent(),
14128
+ border: "none",
14129
+ separatorColor: this.themeService.theme.palette.getAccent200(),
14130
+ hoverBackground: this.themeService.theme.palette.getAccent50()
14131
+ });
14132
+ return { ...defaultStyle, ...this.listItemStyle };
14133
+ }
14134
+ setCallsStyle() {
14135
+ let defaultStyle = new CallHistoryStyle({
14136
+ subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),
14137
+ subtitleTextColor: this.themeService.theme.palette.getAccent600(),
14138
+ background: this.themeService.theme.palette.getBackground(),
14139
+ border: `1px solid ${this.themeService.theme.palette.getAccent50()}`,
14140
+ titleTextFont: fontHelper(this.themeService.theme.typography.title1),
14141
+ titleTextColor: this.themeService.theme.palette.getAccent(),
14142
+ emptyStateTextFont: fontHelper(this.themeService.theme.typography.title1),
14143
+ emptyStateTextColor: this.themeService.theme.palette.getAccent600(),
14144
+ errorStateTextFont: fontHelper(this.themeService.theme.typography.title1),
14145
+ errorStateTextColor: this.themeService.theme.palette.getAccent600(),
14146
+ loadingIconTint: this.themeService.theme.palette.getAccent600(),
14147
+ separatorColor: this.themeService.theme.palette.getAccent400(),
14148
+ });
14149
+ this.callHistoryStyle = { ...this.callHistoryStyle, ...defaultStyle };
14150
+ }
14151
+ }
14152
+ CometChatCallHistoryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
14153
+ CometChatCallHistoryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallHistoryComponent, selector: "cometchat-call-history", inputs: { messageRequestBuilder: "messageRequestBuilder", subtitleView: "subtitleView", listItemView: "listItemView", menu: "menu", options: "options", activeCall: "activeCall", hideSeparator: "hideSeparator", selectionMode: "selectionMode", hideError: "hideError", title: "title", onError: "onError", onSelect: "onSelect", emptyStateView: "emptyStateView", errorStateView: "errorStateView", loadingIconURL: "loadingIconURL", datePattern: "datePattern", loadingStateView: "loadingStateView", emptyStateText: "emptyStateText", errorStateText: "errorStateText", titleAlignment: "titleAlignment", avatarStyle: "avatarStyle", dateStyle: "dateStyle", callHistoryStyle: "callHistoryStyle", listItemStyle: "listItemStyle", onItemClick: "onItemClick" }, ngImport: i0, template: "<div class=\"cc-call-history\" [ngStyle]=\"callStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n</div>\n <cometchat-list [hideSearch]=\"true\" [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\"\n [list]=\"callsList\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-call>\n <cometchat-list-item [title]=\"getCallerName(call)\" [avatarURL]=\"call?.avatar\" [avatarName]=\"getCallerName(call)\"\n [listItemStyle]=\"getListItemStyle(call)\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(call)\" [isActive]=\"getActiveCall(call)\">\n <div slot=\"subtitleView\" class=\"cc-call-history__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-call-history__subtitle-view\">\n <div class=\"cc-call__icon\">\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"getCallTypeIcon(call)\"></cometchat-icon>\n </div>\n <div class=\"cc-call__type\">\n {{getSubtitle(call)}}\n </div>\n </div>\n </ng-template>\n <div slot=\"menuView\" class=\"cc-call-history__options\" *ngIf=\"options\">\n <cometchat-menu-list (cc-menu-clicked)=\"callMenuOption($event,call)\" [data]=\"options(call)\">\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" class=\"cc-call-history__tail-view\">\n <div class=\"tail__view\" *ngIf=\"selectionMode == selectionmodeEnum.none\">\n <div class=\"cc-call-history__date\">\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.sentAt\" [pattern]=\"datePattern\"></cometchat-date>\n </div>\n </div>\n <div class=\"cc-call-history__selection-view\" *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(call) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(call) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n</div>", styles: [".cc-call-history{height:100%;width:100%;box-sizing:border-box;padding-bottom:24px}.cc-call-history__tail-view{position:relative}.cc-menus{position:absolute;right:12px;top:6px}.cc-call-history__subtitle-view{display:flex;align-items:center;justify-content:flex-start;gap:6px}\n"], components: [{ type: CometchatListComponent, selector: "cometchat-list", inputs: ["listItemView", "onScrolledToBottom", "onScrolledToTop", "list", "onSearch", "searchText", "searchIconURL", "listStyle", "searchPlaceholderText", "hideSearch", "hideError", "title", "titleAlignment", "errorStateView", "loadingStateView", "emptyStateView", "state", "errorStateText", "emptyStateText", "loadingIconURL", "showSectionHeader", "sectionHeaderField"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryComponent, decorators: [{
14155
+ type: Component,
14156
+ args: [{ selector: "cometchat-call-history", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-call-history\" [ngStyle]=\"callStyle()\">\n <div class=\"cc-menus\" *ngIf=\"menu\">\n <ng-container *ngTemplateOutlet=\"menu\">\n </ng-container>\n</div>\n <cometchat-list [hideSearch]=\"true\" [listItemView]=\"listItemView ? listItemView : listItem\" [onScrolledToBottom]=\"onScrolledToBottom\"\n [list]=\"callsList\" [hideError]=\"hideError\" [title]=\"title\"\n [emptyStateText]=\"emptyStateText\" [loadingIconURL]=\"loadingIconURL\"\n [titleAlignment]=\"titleAlignment\" [loadingStateView]=\"loadingStateView\" [emptyStateView]=\"emptyStateView\"\n [errorStateText]=\"errorStateText\" [errorStateView]=\"errorStateView\" [listStyle]=\"listStyle\" [state]=\"state\">\n </cometchat-list>\n <ng-template #listItem let-call>\n <cometchat-list-item [title]=\"getCallerName(call)\" [avatarURL]=\"call?.avatar\" [avatarName]=\"getCallerName(call)\"\n [listItemStyle]=\"getListItemStyle(call)\" [avatarStyle]=\"avatarStyle\"\n [hideSeparator]=\"hideSeparator\" (cc-listitem-clicked)=\"onClick(call)\" [isActive]=\"getActiveCall(call)\">\n <div slot=\"subtitleView\" class=\"cc-call-history__subtitle-view\" *ngIf=\"subtitleView;else groupSubtitle\">\n <ng-container *ngTemplateOutlet=\"subtitleView\">\n </ng-container>\n </div>\n <ng-template #groupSubtitle>\n <div slot=\"subtitleView\" [ngStyle]=\"subtitleStyle()\" class=\"cc-call-history__subtitle-view\">\n <div class=\"cc-call__icon\">\n <cometchat-icon [iconStyle]=\"iconStyle\" [URL]=\"getCallTypeIcon(call)\"></cometchat-icon>\n </div>\n <div class=\"cc-call__type\">\n {{getSubtitle(call)}}\n </div>\n </div>\n </ng-template>\n <div slot=\"menuView\" class=\"cc-call-history__options\" *ngIf=\"options\">\n <cometchat-menu-list (cc-menu-clicked)=\"callMenuOption($event,call)\" [data]=\"options(call)\">\n </cometchat-menu-list>\n </div>\n <div slot=\"tailView\" class=\"cc-call-history__tail-view\">\n <div class=\"tail__view\" *ngIf=\"selectionMode == selectionmodeEnum.none\">\n <div class=\"cc-call-history__date\">\n <cometchat-date [dateStyle]=\"dateStyle\" [timestamp]=\"call?.sentAt\" [pattern]=\"datePattern\"></cometchat-date>\n </div>\n </div>\n <div class=\"cc-call-history__selection-view\" *ngIf=\"selectionMode != selectionmodeEnum.none\">\n <ng-container *ngTemplateOutlet=\"tailView\">\n </ng-container>\n </div>\n </div>\n </cometchat-list-item>\n <ng-template #tailView>\n <div *ngIf=\"selectionMode == selectionmodeEnum.single\">\n <cometchat-radio-button (cc-radio-button-changed)=\"onSelect ? onSelect(call) : null\"></cometchat-radio-button>\n </div>\n <div *ngIf=\"selectionMode == selectionmodeEnum.multiple\">\n <cometchat-checkbox (cc-checkbox-changed)=\"onSelect ? onSelect(call) : null\"></cometchat-checkbox>\n </div>\n </ng-template>\n </ng-template>\n</div>", styles: [".cc-call-history{height:100%;width:100%;box-sizing:border-box;padding-bottom:24px}.cc-call-history__tail-view{position:relative}.cc-menus{position:absolute;right:12px;top:6px}.cc-call-history__subtitle-view{display:flex;align-items:center;justify-content:flex-start;gap:6px}\n"] }]
14157
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { messageRequestBuilder: [{
14158
+ type: Input
14159
+ }], subtitleView: [{
14160
+ type: Input
14161
+ }], listItemView: [{
14162
+ type: Input
14163
+ }], menu: [{
14164
+ type: Input
14165
+ }], options: [{
14166
+ type: Input
14167
+ }], activeCall: [{
14168
+ type: Input
14169
+ }], hideSeparator: [{
14170
+ type: Input
14171
+ }], selectionMode: [{
14172
+ type: Input
14173
+ }], hideError: [{
14174
+ type: Input
14175
+ }], title: [{
14176
+ type: Input
14177
+ }], onError: [{
14178
+ type: Input
14179
+ }], onSelect: [{
14180
+ type: Input
14181
+ }], emptyStateView: [{
14182
+ type: Input
14183
+ }], errorStateView: [{
14184
+ type: Input
14185
+ }], loadingIconURL: [{
14186
+ type: Input
14187
+ }], datePattern: [{
14188
+ type: Input
14189
+ }], loadingStateView: [{
14190
+ type: Input
14191
+ }], emptyStateText: [{
14192
+ type: Input
14193
+ }], errorStateText: [{
14194
+ type: Input
14195
+ }], titleAlignment: [{
14196
+ type: Input
14197
+ }], avatarStyle: [{
14198
+ type: Input
14199
+ }], dateStyle: [{
14200
+ type: Input
14201
+ }], callHistoryStyle: [{
14202
+ type: Input
14203
+ }], listItemStyle: [{
14204
+ type: Input
14205
+ }], onItemClick: [{
14206
+ type: Input
14207
+ }] } });
14208
+
14209
+ /**
14210
+ *
14211
+ * CometChatCallDetailsComponent renders details of user or group.
14212
+ *
14213
+ * @version 1.0.0
14214
+ * @author CometChatTeam
14215
+ * @copyright © 2022 CometChat Inc.
14216
+ *
14217
+ */
14218
+ class CometChatCallDetailsComponent {
14219
+ constructor(ref, themeService) {
14220
+ this.ref = ref;
14221
+ this.themeService = themeService;
14222
+ this.title = localize("CALL_DETAILS");
14223
+ this.closeButtonIconURL = "assets/close2x.svg";
14224
+ this.hideProfile = false;
14225
+ this.disableUsersPresence = false;
14226
+ this.privateGroupIcon = "assets/Private.svg";
14227
+ this.protectedGroupIcon = "assets/Locked.svg";
14228
+ this.onError = (error) => {
14229
+ console.log(error);
14230
+ };
14231
+ this.data = [];
14232
+ this.statusIndicatorStyle = {
14233
+ height: "10px",
14234
+ width: "10px",
14235
+ borderRadius: "16px",
14236
+ border: ""
14237
+ };
14238
+ this.avatarStyle = {
14239
+ borderRadius: "16px",
14240
+ width: "28px",
14241
+ height: "28px",
14242
+ border: "none",
14243
+ };
14244
+ this.callDetailsStyle = {
14245
+ width: "100%",
14246
+ height: "100%",
14247
+ padding: "0 100px"
14248
+ };
14249
+ this.callButtonsConfiguration = new CallButtonsConfiguration({});
14250
+ this.listItemStyle = {
14251
+ height: "100%",
14252
+ width: "100%",
14253
+ background: "",
14254
+ activeBackground: "transparent",
14255
+ borderRadius: "grey",
14256
+ titleFont: "600 15px Inter",
14257
+ titleColor: "black",
14258
+ border: "",
14259
+ hoverBackground: "transparent",
14260
+ separatorColor: "rgb(222 222 222 / 46%)"
14261
+ };
14262
+ this.messagesList = [];
14263
+ this.loggedInUser = null;
14264
+ this.statusColor = {
14265
+ private: "",
14266
+ password: "#F7A500",
14267
+ public: ""
14268
+ };
14269
+ this.closeButtonStyle = {
14270
+ height: "24px",
14271
+ width: "24px",
14272
+ border: "none",
14273
+ borderRadius: "0",
14274
+ background: "transparent",
14275
+ buttonIconTint: this.callDetailsStyle.closeButtonIconTint || this.themeService.theme.palette.getPrimary()
14276
+ };
14277
+ this.buttonStyle = {
14278
+ height: "100%",
14279
+ width: "100%",
14280
+ border: "none",
14281
+ borderRadius: "0",
14282
+ background: "transparent",
14283
+ buttonTextColor: this.themeService.theme.palette.getPrimary() || "rgba(51, 153, 255)",
14284
+ buttonTextFont: "500 16px Inter"
14285
+ };
14286
+ this.dividerStyle = {
14287
+ background: "rgb(222 222 222 / 46%)",
14288
+ height: "1px",
14289
+ width: "100%"
14290
+ };
14291
+ this.subtitleText = "";
14292
+ this.userListenerId = "userlist_" + new Date().getTime();
14293
+ this.limit = 5;
14294
+ this.types = [];
14295
+ this.categories = [];
14296
+ this.checkStatusType = () => {
14297
+ return this.user && !this.disableUsersPresence ? this.statusColor[this.user?.getStatus()] : this.statusColor[this.group?.getType()];
14298
+ };
14299
+ this.onCloseClick = () => {
14300
+ if (this.onClose) {
14301
+ this.onClose();
14302
+ }
14303
+ };
14304
+ this.subtitleStyle = () => {
14305
+ if (this.user && this.user.getStatus() == CometChatUIKitConstants.userStatusType.online) {
14306
+ return {
14307
+ textFont: this.callDetailsStyle.subtitleTextFont,
14308
+ textColor: this.themeService.theme.palette.getPrimary()
14309
+ };
14310
+ }
14311
+ else {
14312
+ return {
14313
+ textFont: this.callDetailsStyle.subtitleTextFont,
14314
+ textColor: this.callDetailsStyle.subtitleTextColor
14315
+ };
14316
+ }
14317
+ };
14318
+ /**
14319
+ * @param {CometChat.Group} group
14320
+ */
14321
+ this.getGroupIcon = (group) => {
14322
+ let status;
14323
+ if (group) {
14324
+ switch (group.getType()) {
14325
+ case CometChatUIKitConstants.GroupTypes.password:
14326
+ status = this.protectedGroupIcon;
14327
+ break;
14328
+ case CometChatUIKitConstants.GroupTypes.private:
14329
+ status = this.privateGroupIcon;
14330
+ break;
14331
+ default:
14332
+ status = null;
14333
+ break;
14334
+ }
14335
+ }
14336
+ return status;
14337
+ };
14338
+ this.getTemplateOptions = (template) => {
14339
+ if (template.options) {
14340
+ return template.options(this.user, this.group, template.id);
14341
+ }
14342
+ else
14343
+ return [];
14344
+ };
14345
+ this.wrapperStyle = () => {
14346
+ return {
14347
+ width: this.callDetailsStyle.width,
14348
+ height: this.callDetailsStyle.height,
14349
+ border: this.callDetailsStyle.border,
14350
+ borderRadius: this.callDetailsStyle.borderRadius,
14351
+ background: this.callDetailsStyle.background,
14352
+ };
14353
+ };
14354
+ this.marginStyle = () => {
14355
+ return {
14356
+ padding: this.callDetailsStyle?.padding
14357
+ };
14358
+ };
14359
+ }
14360
+ //
14361
+ getTitleStyle() {
14362
+ return {
14363
+ textFont: this.callDetailsStyle.titleTextFont || fontHelper(this.themeService.theme.typography.title1),
14364
+ textColor: this.callDetailsStyle.titleTextColor || this.themeService.theme.palette.getAccent()
14365
+ };
14366
+ }
14367
+ ngOnChanges(changes) {
14368
+ if (changes["user"] || changes["group"]) {
14369
+ this.updateSubtitle();
14370
+ }
14371
+ }
14372
+ removeListener() {
14373
+ CometChat.removeUserListener(this.userListenerId);
14374
+ }
14375
+ ngOnDestroy() {
14376
+ this.removeListener();
14377
+ if (this.onClose) {
14378
+ this.onClose();
14379
+ }
14380
+ this.unsubscribeToEvents();
14381
+ }
14382
+ ngOnInit() {
14383
+ this.setThemeStyle();
14384
+ this.subscribeToEvents();
14385
+ this.statusColor.online = this.callDetailsStyle.onlineStatusColor || this.themeService.theme.palette.getSuccess();
14386
+ this.attachListeners();
14387
+ this.updateSubtitle();
14388
+ }
14389
+ /**
14390
+ * Compares two dates and sets Date on a a new day
14391
+ */
14392
+ /**
14393
+ * @param {number} firstDate
14394
+ * @param {number} secondDate
14395
+ */
14396
+ isDateDifferent(firstDate, secondDate) {
14397
+ let firstDateObj, secondDateObj;
14398
+ firstDateObj = new Date(firstDate * 1000);
14399
+ secondDateObj = new Date(secondDate * 1000);
14400
+ return firstDateObj.getDate() !== secondDateObj.getDate() ||
14401
+ firstDateObj.getMonth() !== secondDateObj.getMonth() ||
14402
+ firstDateObj.getFullYear() !== secondDateObj.getFullYear();
14403
+ }
14404
+ subscribeToEvents() {
14405
+ this.ccGroupMemberAdded = CometChatGroupEvents.ccGroupMemberAdded.subscribe((item) => {
14406
+ this.group = item?.userAddedIn;
14407
+ this.group = item?.userAddedIn;
14408
+ this.updateSubtitle();
14409
+ this.ref.detectChanges();
14410
+ });
14411
+ this.ccGroupMemberJoined = CometChatGroupEvents.ccGroupMemberJoined.subscribe((item) => {
14412
+ this.group = item?.joinedGroup;
14413
+ this.updateSubtitle();
14414
+ this.ref.detectChanges();
14415
+ });
14416
+ this.ccGroupMemberKicked = CometChatGroupEvents.ccGroupMemberKicked.subscribe((item) => {
14417
+ this.group = item?.kickedFrom;
14418
+ this.updateSubtitle();
14419
+ this.ref.detectChanges();
14420
+ });
14421
+ this.ccGroupMemberBanned = CometChatGroupEvents.ccGroupMemberBanned.subscribe((item) => {
14422
+ this.group = item?.kickedFrom;
14423
+ this.updateSubtitle();
14424
+ this.ref.detectChanges();
14425
+ });
14426
+ this.ccOwnershipChanged = CometChatGroupEvents.ccOwnershipChanged.subscribe((item) => {
14427
+ this.group = item?.group;
14428
+ this.updateSubtitle();
14429
+ this.ref.detectChanges();
14430
+ });
14431
+ }
14432
+ unsubscribeToEvents() {
14433
+ this.ccGroupMemberAdded?.unsubscribe();
14434
+ this.ccGroupMemberJoined?.unsubscribe();
14435
+ this.ccGroupMemberKicked?.unsubscribe();
14436
+ this.ccGroupMemberBanned?.unsubscribe();
14437
+ this.ccOwnershipChanged?.unsubscribe();
14438
+ }
14439
+ updateSubtitle() {
14440
+ const count = this.group?.getMembersCount();
14441
+ const membersText = localize(count > 1 ? "MEMBERS" : "MEMBER");
14442
+ this.subtitleText = this.user ? this.user.getStatus() : `${count} ${membersText}`;
14443
+ this.ref.detectChanges();
14444
+ }
14445
+ getButtonStyle(option) {
14446
+ return {
14447
+ height: "100%",
14448
+ width: "100%",
14449
+ border: "none",
14450
+ borderRadius: "0",
14451
+ buttonTextFont: option?.titleFont,
14452
+ buttonTextColor: option?.titleColor,
14453
+ background: option?.backgroundColor || "transparent"
14454
+ };
14455
+ }
14456
+ checkGroupType() {
14457
+ let image = "";
14458
+ if (this.group) {
14459
+ switch (this.group?.getType()) {
14460
+ case CometChatUIKitConstants.GroupTypes.password:
14461
+ image = this.protectedGroupIcon;
14462
+ break;
14463
+ case CometChatUIKitConstants.GroupTypes.private:
14464
+ image = this.privateGroupIcon;
14465
+ break;
14466
+ default:
14467
+ image = "";
14468
+ break;
14469
+ }
14470
+ }
14471
+ return image;
14472
+ }
14473
+ updateUserStatus(user) {
14474
+ if (this.user && this.user.getUid() && this.user.getUid() === user.getUid()) {
14475
+ this.user.setStatus(user.getStatus());
14476
+ this.updateSubtitle();
14477
+ }
14478
+ // this.ref.detectChanges();
14479
+ }
14480
+ attachListeners() {
14481
+ try {
14482
+ if (!this.disableUsersPresence) {
14483
+ CometChat.addUserListener(this.userListenerId, new CometChat.UserListener({
14484
+ onUserOnline: (onlineUser) => {
14485
+ /* when someuser/friend comes online, user will be received here */
14486
+ this.updateUserStatus(onlineUser);
14487
+ },
14488
+ onUserOffline: (offlineUser) => {
14489
+ /* when someuser/friend went offline, user will be received here */
14490
+ this.updateUserStatus(offlineUser);
14491
+ },
14492
+ }));
14493
+ }
14494
+ }
14495
+ catch (error) {
14496
+ if (this.onError) {
14497
+ this.onError(CometChatException(error));
14498
+ }
14499
+ }
14500
+ }
14501
+ getSectionHeaderStyle() {
14502
+ return {
14503
+ textFont: "500 15px Inter",
14504
+ textColor: "lightgrey"
14505
+ };
14506
+ }
14507
+ getCallStatusStyleStyle() {
14508
+ return {
14509
+ textFont: "400 15px Inter",
14510
+ textColor: "black"
14511
+ };
14512
+ }
14513
+ getDateStyle() {
14514
+ return {
14515
+ textFont: "400 15px Inter",
14516
+ textColor: "lightgrey"
14517
+ };
14518
+ }
14519
+ onCloseDetails() {
14520
+ if (this.onClose) {
14521
+ this.onClose();
14522
+ }
14523
+ }
14524
+ /**
14525
+ * @param {CometChat.Group} group
14526
+ */
14527
+ getStatusIndicatorColor(group) {
14528
+ return this.statusColor[group?.getType()];
14529
+ }
14530
+ getCustomOptionView(option) {
14531
+ return option?.customView;
14532
+ }
14533
+ showDataSectionStyle(template) {
14534
+ return {
14535
+ textFont: template.titleFont,
14536
+ textColor: template.titleColor
14537
+ };
14538
+ }
14539
+ setThemeStyle() {
14540
+ this.setDetailsStyle();
14541
+ this.setAvatarStyle();
14542
+ this.setStatusStyle();
14543
+ this.setListItemStyle();
14544
+ this.statusColor.private = this.callDetailsStyle.privateGroupIconBackground;
14545
+ this.statusColor.online = this.callDetailsStyle.onlineStatusColor;
14546
+ this.statusColor.password = this.callDetailsStyle.passwordGroupIconBackground;
14547
+ }
14548
+ setListItemStyle() {
14549
+ let defaultStyle = new ListItemStyle({
14550
+ height: "45px",
14551
+ width: "100%",
14552
+ background: this.themeService.theme.palette.getBackground(),
14553
+ activeBackground: "transparent",
14554
+ borderRadius: "0",
14555
+ titleFont: fontHelper(this.themeService.theme.typography.title2),
14556
+ titleColor: this.themeService.theme.palette.getAccent(),
14557
+ border: "none",
14558
+ separatorColor: this.themeService.theme.palette.getAccent200(),
14559
+ hoverBackground: "transparent"
14560
+ });
14561
+ this.listItemStyle = { ...defaultStyle, ...this.listItemStyle };
14562
+ }
14563
+ setAvatarStyle() {
14564
+ let defaultStyle = new AvatarStyle({
14565
+ borderRadius: "24px",
14566
+ width: "36px",
14567
+ height: "36px",
14568
+ border: "none",
14569
+ backgroundColor: this.themeService.theme.palette.getAccent700(),
14570
+ nameTextColor: this.themeService.theme.palette.getAccent900(),
14571
+ backgroundSize: "cover",
14572
+ nameTextFont: fontHelper(this.themeService.theme.typography.subtitle1),
14573
+ outerViewBorder: "",
14574
+ outerViewBorderSpacing: "",
14575
+ });
14576
+ this.avatarStyle = { ...defaultStyle, ...this.avatarStyle };
14577
+ }
14578
+ setStatusStyle() {
14579
+ let defaultStyle = {
14580
+ height: "12px",
14581
+ width: "12px",
14582
+ border: "none",
14583
+ borderRadius: "24px",
14584
+ };
14585
+ this.statusIndicatorStyle = { ...defaultStyle, ...this.statusIndicatorStyle };
14586
+ }
14587
+ setDetailsStyle() {
14588
+ let defaultStyle = new DetailsStyle({
14589
+ background: this.themeService.theme.palette.getBackground(),
14590
+ border: `1px solid ${this.themeService.theme.palette.getAccent50()}`,
14591
+ titleTextFont: fontHelper(this.themeService.theme.typography.title1),
14592
+ titleTextColor: this.themeService.theme.palette.getAccent(),
14593
+ onlineStatusColor: this.themeService.theme.palette.getSuccess(),
14594
+ privateGroupIconBackground: this.themeService.theme.palette.getSuccess(),
14595
+ passwordGroupIconBackground: "RGB(247, 165, 0)",
14596
+ closeButtonIconTint: this.themeService.theme.palette.getPrimary(),
14597
+ width: "100%",
14598
+ height: "100%",
14599
+ borderRadius: "",
14600
+ subtitleTextFont: fontHelper(this.themeService.theme.typography.subtitle2),
14601
+ subtitleTextColor: this.themeService.theme.palette.getAccent600(),
14602
+ padding: "0 100px"
14603
+ });
14604
+ this.callDetailsStyle = { ...defaultStyle, ...this.callDetailsStyle };
14605
+ }
14606
+ }
14607
+ CometChatCallDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallDetailsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
14608
+ CometChatCallDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallDetailsComponent, selector: "cometchat-call-details", inputs: { group: "group", user: "user", title: "title", closeButtonIconURL: "closeButtonIconURL", hideProfile: "hideProfile", subtitleView: "subtitleView", customProfileView: "customProfileView", disableUsersPresence: "disableUsersPresence", privateGroupIcon: "privateGroupIcon", protectedGroupIcon: "protectedGroupIcon", onError: "onError", data: "data", onClose: "onClose", statusIndicatorStyle: "statusIndicatorStyle", avatarStyle: "avatarStyle", callDetailsStyle: "callDetailsStyle", callButtonsConfiguration: "callButtonsConfiguration", listItemStyle: "listItemStyle" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-calldetails_primary-section\" *ngIf=\"!data || data.length == 0\">\n <cometchat-call-buttons [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsConfiguration.callButtonsStyle\" [onVideoCallClick]=\"callButtonsConfiguration.onVideoCallClick\" [onVoiceCallClick]=\"callButtonsConfiguration.onVoiceCallClick\" [videoCallIconURL]=\"callButtonsConfiguration.videoCallIconURL\" [voiceCallIconURL]=\"callButtonsConfiguration.voiceCallIconURL\" ></cometchat-call-buttons>\n\n</div>\n<div class=\"cc-details__section-list\" *ngIf=\"data && data.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of data\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"showDataSectionStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%;min-height:220px}.cc-details__profile{margin-bottom:16px;height:8%}.cc-calldetails_primary-section{height:84%;width:100%;overflow-y:auto;overflow-x:hidden;margin-left:24px;margin-bottom:24px}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;height:5%}.cc-details__options{margin:8px 0;display:flex;flex-direction:row;gap:10px;align-items:center}.cc-calldetails__date-container{margin:8px 0}.cc-details__option{display:flex;flex-direction:row;justify-content:flex-start;gap:16px;align-items:center}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"], components: [{ type: CometChatCallButtonsComponent, selector: "cometchat-call-buttons", inputs: ["user", "group", "voiceCallIconURL", "voiceCallIconText", "voiceCallIconHoverText", "videoCallIconURL", "videoCallIconText", "videoCallIconHoverText", "onVoiceCallClick", "onVideoCallClick", "onError", "callButtonsStyle", "outgoingCallConfiguration", "ongoingCallConfiguration"] }], 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"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallDetailsComponent, decorators: [{
14610
+ type: Component,
14611
+ args: [{ selector: "cometchat-call-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-details__wrapper\" *ngIf=\"user || group\" [ngStyle]=\"wrapperStyle()\">\n <div class=\"cc-details__header\">\n <cometchat-label [text]=\"title\" [labelStyle]=\"getTitleStyle()\"></cometchat-label>\n <cometchat-button [iconURL]=\"closeButtonIconURL\" class=\"cc-details__close-button\" [buttonStyle]=\"closeButtonStyle\" (cc-button-clicked)=\"onCloseDetails()\"></cometchat-button>\n </div>\n<div class=\"cc-details\" [ngStyle]=\"marginStyle()\">\n <div class=\"cc-details__profile\" *ngIf=\"!hideProfile\">\n <cometchat-list-item *ngIf=\"!customProfileView;else listitem\" [avatarName]=\"user?.getName() ?? this.group?.getName()\" [avatarURL]=\"this.user?.getAvatar() ?? this.group?.getIcon()\" [listItemStyle]=\"listItemStyle\"\n [statusIndicatorColor]=\"checkStatusType()\" [statusIndicatorIcon]=\"checkGroupType()\" [title]=\"this.user?.getName() ?? this.group?.getName()\" [hideSeparator]=\"false\"\n [statusIndicatorStyle]=\"statusIndicatorStyle\" [avatarStyle]=\"avatarStyle\">\n <div slot=\"subtitleView\">\n <div *ngIf=\"!subtitleView; else subtitle\">\n <cometchat-label [text]=\"subtitleText\" [labelStyle]=\"subtitleStyle()\">\n </cometchat-label>\n </div>\n <ng-template #subtitle>\n <ng-container *ngTemplateOutlet=\"subtitleView;context:{ $implicit: user ?? group }\">\n </ng-container>\n </ng-template>\n </div>\n </cometchat-list-item>\n </div>\n<div class=\"cc-calldetails_primary-section\" *ngIf=\"!data || data.length == 0\">\n <cometchat-call-buttons [user]=\"user\" [group]=\"group\" [callButtonsStyle]=\"callButtonsConfiguration.callButtonsStyle\" [onVideoCallClick]=\"callButtonsConfiguration.onVideoCallClick\" [onVoiceCallClick]=\"callButtonsConfiguration.onVoiceCallClick\" [videoCallIconURL]=\"callButtonsConfiguration.videoCallIconURL\" [voiceCallIconURL]=\"callButtonsConfiguration.voiceCallIconURL\" ></cometchat-call-buttons>\n\n</div>\n<div class=\"cc-details__section-list\" *ngIf=\"data && data.length > 0\">\n <div class=\"cc-details__section\" *ngFor=\"let item of data\" >\n <div class=\"cc-details__section-separator\" *ngIf=\"item.title\">\n <cometchat-label [text]=\"item.title\" [labelStyle]=\"showDataSectionStyle(item)\"></cometchat-label>\n </div>\n <div class=\"cc-details__options-wrapper\" *ngIf=\"getTemplateOptions(item)\">\n<div class=\"cc-details__options\"*ngFor=\"let option of getTemplateOptions(item)\" >\n<div class=\"cc-details__option\" *ngIf=\"!getCustomOptionView(option);else customView\">\n <div class=\"cc-details__option-title\" >\n <cometchat-button [text]=\"option.title\" [buttonStyle]=\"getButtonStyle(option)\"></cometchat-button>\n <div class=\"cc-details__option-tail\" *ngIf=\"option?.tail\">\n <ng-container *ngTemplateOutlet=\"option?.tail\"></ng-container>\n </div>\n </div>\n <cometchat-divider [dividerStyle]=\"dividerStyle\"></cometchat-divider>\n</div>\n<ng-template #customView>\n <ng-container *ngTemplateOutlet=\"getCustomOptionView(option)\" >\n </ng-container>\n</ng-template>\n</div>\n </div>\n </div>\n</div>\n</div>\n</div>\n<ng-template #listitem>\n <ng-container *ngTemplateOutlet=\"customProfileView\">\n </ng-container>\n</ng-template>", styles: ["*{box-sizing:border-box;margin:0;padding:0}.cc-details__wrapper{padding:8px;border-radius:5px;height:100%;min-height:220px}.cc-details__profile{margin-bottom:16px;height:8%}.cc-calldetails_primary-section{height:84%;width:100%;overflow-y:auto;overflow-x:hidden;margin-left:24px;margin-bottom:24px}.cc-details__header{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.cc-details__close-button{position:absolute;right:20px}.cc-details__section{margin-bottom:32px}.cc-details__section-separator{margin-bottom:16px;height:5%}.cc-details__options{margin:8px 0;display:flex;flex-direction:row;gap:10px;align-items:center}.cc-calldetails__date-container{margin:8px 0}.cc-details__option{display:flex;flex-direction:row;justify-content:flex-start;gap:16px;align-items:center}.cc-details__option-title{padding-bottom:12px;display:flex;align-items:center;justify-content:space-between}.cc-details__view{position:absolute;top:0;left:0;height:100%;width:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;max-width:100%;z-index:1}.cc-details__leavedialog,.cc-details__transferownership{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:-moz-fit-content;height:fit-content;width:100%;z-index:2}\n"] }]
14612
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { group: [{
14613
+ type: Input
14614
+ }], user: [{
14615
+ type: Input
14616
+ }], title: [{
14617
+ type: Input
14618
+ }], closeButtonIconURL: [{
14619
+ type: Input
14620
+ }], hideProfile: [{
14621
+ type: Input
14622
+ }], subtitleView: [{
14623
+ type: Input
14624
+ }], customProfileView: [{
14625
+ type: Input
14626
+ }], disableUsersPresence: [{
14627
+ type: Input
14628
+ }], privateGroupIcon: [{
14629
+ type: Input
14630
+ }], protectedGroupIcon: [{
14631
+ type: Input
14632
+ }], onError: [{
14633
+ type: Input
14634
+ }], data: [{
14635
+ type: Input
14636
+ }], onClose: [{
14637
+ type: Input
14638
+ }], statusIndicatorStyle: [{
14639
+ type: Input
14640
+ }], avatarStyle: [{
14641
+ type: Input
14642
+ }], callDetailsStyle: [{
14643
+ type: Input
14644
+ }], callButtonsConfiguration: [{
14645
+ type: Input
14646
+ }], listItemStyle: [{
14647
+ type: Input
14648
+ }] } });
14649
+
14650
+ /**
14651
+ *
14652
+ * CometChatCallHistoryWithDetailsComponent is a wrapper component for CometChatCallDetailsComponent and CometChatCallHistorycomponent to show history and details of calls in one screen
14653
+ *
14654
+ * @version 1.0.0
14655
+ * @author CometChatTeam
14656
+ * @copyright © 2022 CometChat Inc.
14657
+ *
14658
+ */
14659
+ class CometChatCallHistoryWithDetailsComponent {
14660
+ constructor(elementRef, ref, themeService) {
14661
+ this.elementRef = elementRef;
14662
+ this.ref = ref;
14663
+ this.themeService = themeService;
14664
+ this.isMobileView = false;
14665
+ this.messageText = localize("NO_CALLS_SELECTED");
14666
+ this.callHistoryWithDetailsStyle = {};
14667
+ this.callDetailsConfiguration = new CallDetailsConfiguration({});
14668
+ this.callHistoryConfiguration = new CallHistoryConfiguration({});
14669
+ this.onError = (error) => {
14670
+ console.log(error);
14671
+ };
14672
+ this.labelStyle = {
14673
+ background: "transparent",
14674
+ textFont: "700 22px Inter",
14675
+ textColor: "rgba(20, 20, 20, 0.33)"
14676
+ };
14677
+ this.closeDetailsPage = () => {
14678
+ this.activeCall = null;
14679
+ this.user = null;
14680
+ this.group = null;
14681
+ this.ref.detectChanges();
14682
+ };
14683
+ this.onBack = () => {
14684
+ this.user = null;
14685
+ this.group = null;
14686
+ this.activeCall = null;
14687
+ };
14688
+ this.onItemClick = (call) => {
14689
+ this.call = call;
14690
+ this.setActiveChat();
14691
+ };
14692
+ this.emptyMessageStyle = () => {
14693
+ return {
14694
+ background: this.callHistoryWithDetailsStyle.background || this.themeService.theme.palette.getBackground(),
14695
+ height: this.callHistoryWithDetailsStyle.height,
14696
+ width: `calc(${this.callHistoryWithDetailsStyle.width} - 280px)`,
14697
+ border: this.callHistoryWithDetailsStyle.border,
14698
+ borderRadius: this.callHistoryWithDetailsStyle.borderRadius,
14699
+ };
14700
+ };
14701
+ this.chatsWrapperStyles = () => {
14702
+ return {
14703
+ height: this.callHistoryWithDetailsStyle.height,
14704
+ width: this.callHistoryWithDetailsStyle.width,
14705
+ border: this.callHistoryWithDetailsStyle.border,
14706
+ borderRadius: this.callHistoryWithDetailsStyle.borderRadius,
14707
+ background: this.callHistoryWithDetailsStyle.background || this.themeService.theme.palette.getBackground(),
14708
+ };
14709
+ };
14710
+ }
14711
+ ngOnChanges(changes) {
14712
+ if (changes["user"] || changes["group"]) {
14713
+ this.setActiveChat();
14714
+ }
14715
+ }
14716
+ setWithDetailsStyle() {
14717
+ let defaultStyle = new WithDetailsStyle({
14718
+ width: "100%",
14719
+ height: "100%",
14720
+ background: this.themeService.theme.palette.getBackground(),
14721
+ borderRadius: "none",
14722
+ border: "none",
14723
+ messageTextColor: this.themeService.theme.palette.getAccent600(),
14724
+ messageTextFont: fontHelper(this.themeService.theme.typography.title1),
14725
+ });
14726
+ this.callHistoryWithDetailsStyle = {
14727
+ ...defaultStyle,
14728
+ ...this.callHistoryWithDetailsStyle
14729
+ };
14730
+ this.labelStyle.textFont = this.callHistoryWithDetailsStyle.messageTextFont;
14731
+ this.labelStyle.textColor = this.callHistoryWithDetailsStyle.messageTextColor;
14732
+ }
14733
+ setActiveChat() {
14734
+ this.activeCall = this.call;
14735
+ if (this.call.getSender().getUid() == this.loggedInUser?.getUid()) {
14736
+ if (this.call.getReceiverType() == CometChatUIKitConstants.MessageReceiverType.user) {
14737
+ this.user = this.call.getReceiver();
14738
+ this.group = null;
14739
+ }
14740
+ else {
14741
+ this.user = null;
14742
+ this.group = this.call.getReceiver();
14743
+ }
14744
+ }
14745
+ else {
14746
+ this.user = this.call.getSender();
14747
+ }
14748
+ }
14749
+ ngOnInit() {
14750
+ this.setWithDetailsStyle();
14751
+ CometChat.getLoggedinUser()
14752
+ .then((user) => {
14753
+ this.loggedInUser = user;
14754
+ })
14755
+ .catch((error) => {
14756
+ if (this.onError) {
14757
+ this.onError(error);
14758
+ }
14759
+ });
14760
+ }
14761
+ }
14762
+ CometChatCallHistoryWithDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryWithDetailsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: CometChatThemeService }], target: i0.ɵɵFactoryTarget.Component });
14763
+ CometChatCallHistoryWithDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CometChatCallHistoryWithDetailsComponent, selector: "cometchat-call-history-with-details", inputs: { call: "call", isMobileView: "isMobileView", messageText: "messageText", callHistoryWithDetailsStyle: "callHistoryWithDetailsStyle", callDetailsConfiguration: "callDetailsConfiguration", callHistoryConfiguration: "callHistoryConfiguration", onError: "onError" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cc-with-details__wrapper\" [ngStyle]=\"chatsWrapperStyles()\" >\n <div class=\"cc-with-details__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-call-history\n #conversationRef\n [activeCall]=\"activeCall\"\n [onItemClick]=\"callHistoryConfiguration.onItemClick || onItemClick\"\n [conversationsStyle]=\"callHistoryConfiguration.callHistoryStyle\"\n [subtitleView]=\"callHistoryConfiguration.subtitleView\"\n [options]=\"callHistoryConfiguration.options\"\n [conversationsRequestBuilder]=\"callHistoryConfiguration.messageRequestBuilder\"\n [emptyStateView]=\"callHistoryConfiguration.emptyStateView\"\n [onSelect]=\"callHistoryConfiguration.onSelect\"\n [loadingIconURL]=\"callHistoryConfiguration.loadingIconURL\"\n [errorStateView]=\"callHistoryConfiguration.errorStateView\"\n [loadingStateView]=\"callHistoryConfiguration.loadingStateView\"\n [titleAlignment]=\"callHistoryConfiguration.titleAlignment\"\n [listItemView]=\"callHistoryConfiguration.listItemView\"\n [menu]=\"callHistoryConfiguration.menu\"\n [hideSeparator]=\"callHistoryConfiguration.hideSeparator\"\n [hideError]=\"callHistoryConfiguration.hideError\"\n [selectionMode]=\"callHistoryConfiguration.selectionMode\"\n [listItemStyle]=\"callHistoryConfiguration.listItemStyle\"\n [avatarStyle]=\"callHistoryConfiguration.avatarStyle\"\n ></cometchat-call-history>\n </div>\n <div class=\"cc-with-details__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"user || group\">\n <!--call details Screen-->\n <cometchat-call-details\n #messagesRef\n [user]=\"user!\"\n [group]=\"group!\"\n [callDetailsStyle]=\"callDetailsConfiguration.callDetailsStyle\"\n [callButtonsConfiguration]=\"callDetailsConfiguration.callButtonsConfiguration\"\n [onClose]=\"callDetailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"callDetailsConfiguration.listItemStyle\" [avatarStyle]=\"callDetailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"callDetailsConfiguration.statusIndicatorStyle\" [customProfileView]=\"callDetailsConfiguration.customProfileView\" [subtitleView]=\"callDetailsConfiguration.subtitleView\" [hideProfile]=\"callDetailsConfiguration.hideProfile\" [onError]=\"callDetailsConfiguration.onError\" [closeButtonIconURL]=\"callDetailsConfiguration.closeButtonIconURL\"\n >\n </cometchat-call-details>\n <!--call details Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user && !group\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n", styles: [".cc-with-details__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box}.cc-with-details__sidebar{width:280px;height:100%;position:relative}.cc-with-details__main{width:calc(100% - 280px);height:100%}.mobile{width:100%!important;height:100%;position:absolute}.cc-decorator__message--empty{display:flex;justify-content:center;align-items:center}\n"], components: [{ type: CometChatCallHistoryComponent, selector: "cometchat-call-history", inputs: ["messageRequestBuilder", "subtitleView", "listItemView", "menu", "options", "activeCall", "hideSeparator", "selectionMode", "hideError", "title", "onError", "onSelect", "emptyStateView", "errorStateView", "loadingIconURL", "datePattern", "loadingStateView", "emptyStateText", "errorStateText", "titleAlignment", "avatarStyle", "dateStyle", "callHistoryStyle", "listItemStyle", "onItemClick"] }, { type: CometChatCallDetailsComponent, selector: "cometchat-call-details", inputs: ["group", "user", "title", "closeButtonIconURL", "hideProfile", "subtitleView", "customProfileView", "disableUsersPresence", "privateGroupIcon", "protectedGroupIcon", "onError", "data", "onClose", "statusIndicatorStyle", "avatarStyle", "callDetailsStyle", "callButtonsConfiguration", "listItemStyle"] }], directives: [{ type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryWithDetailsComponent, decorators: [{
14765
+ type: Component,
14766
+ args: [{ selector: "cometchat-call-history-with-details", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"cc-with-details__wrapper\" [ngStyle]=\"chatsWrapperStyles()\" >\n <div class=\"cc-with-details__sidebar\" [ngClass]=\"{mobile : isMobileView}\">\n <cometchat-call-history\n #conversationRef\n [activeCall]=\"activeCall\"\n [onItemClick]=\"callHistoryConfiguration.onItemClick || onItemClick\"\n [conversationsStyle]=\"callHistoryConfiguration.callHistoryStyle\"\n [subtitleView]=\"callHistoryConfiguration.subtitleView\"\n [options]=\"callHistoryConfiguration.options\"\n [conversationsRequestBuilder]=\"callHistoryConfiguration.messageRequestBuilder\"\n [emptyStateView]=\"callHistoryConfiguration.emptyStateView\"\n [onSelect]=\"callHistoryConfiguration.onSelect\"\n [loadingIconURL]=\"callHistoryConfiguration.loadingIconURL\"\n [errorStateView]=\"callHistoryConfiguration.errorStateView\"\n [loadingStateView]=\"callHistoryConfiguration.loadingStateView\"\n [titleAlignment]=\"callHistoryConfiguration.titleAlignment\"\n [listItemView]=\"callHistoryConfiguration.listItemView\"\n [menu]=\"callHistoryConfiguration.menu\"\n [hideSeparator]=\"callHistoryConfiguration.hideSeparator\"\n [hideError]=\"callHistoryConfiguration.hideError\"\n [selectionMode]=\"callHistoryConfiguration.selectionMode\"\n [listItemStyle]=\"callHistoryConfiguration.listItemStyle\"\n [avatarStyle]=\"callHistoryConfiguration.avatarStyle\"\n ></cometchat-call-history>\n </div>\n <div class=\"cc-with-details__main\" [ngClass]=\"{mobile : isMobileView}\" *ngIf=\"user || group\">\n <!--call details Screen-->\n <cometchat-call-details\n #messagesRef\n [user]=\"user!\"\n [group]=\"group!\"\n [callDetailsStyle]=\"callDetailsConfiguration.callDetailsStyle\"\n [callButtonsConfiguration]=\"callDetailsConfiguration.callButtonsConfiguration\"\n [onClose]=\"callDetailsConfiguration.onClose || closeDetailsPage\" [listItemStyle]=\"callDetailsConfiguration.listItemStyle\" [avatarStyle]=\"callDetailsConfiguration.avatarStyle\" [statusIndicatorStyle]=\"callDetailsConfiguration.statusIndicatorStyle\" [customProfileView]=\"callDetailsConfiguration.customProfileView\" [subtitleView]=\"callDetailsConfiguration.subtitleView\" [hideProfile]=\"callDetailsConfiguration.hideProfile\" [onError]=\"callDetailsConfiguration.onError\" [closeButtonIconURL]=\"callDetailsConfiguration.closeButtonIconURL\"\n >\n </cometchat-call-details>\n <!--call details Screen ENDS-->\n </div>\n <div class=\"cc-decorator__message--empty\" *ngIf=\"!user && !group\" [ngStyle]=\"emptyMessageStyle()\">\n <cometchat-label [text]=\"messageText\" [labelStyle]=\"labelStyle\"></cometchat-label>\n </div>\n", styles: [".cc-with-details__wrapper{display:flex;height:100%;width:100%;box-sizing:border-box}.cc-with-details__sidebar{width:280px;height:100%;position:relative}.cc-with-details__main{width:calc(100% - 280px);height:100%}.mobile{width:100%!important;height:100%;position:absolute}.cc-decorator__message--empty{display:flex;justify-content:center;align-items:center}\n"] }]
14767
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: CometChatThemeService }]; }, propDecorators: { call: [{
14768
+ type: Input
14769
+ }], isMobileView: [{
14770
+ type: Input
14771
+ }], messageText: [{
14772
+ type: Input
14773
+ }], callHistoryWithDetailsStyle: [{
14774
+ type: Input
14775
+ }], callDetailsConfiguration: [{
14776
+ type: Input
14777
+ }], callHistoryConfiguration: [{
14778
+ type: Input
14779
+ }], onError: [{
14780
+ type: Input
14781
+ }] } });
14782
+
14783
+ class CometChatCallHistory {
14784
+ }
14785
+ CometChatCallHistory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistory, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14786
+ CometChatCallHistory.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistory, declarations: [CometChatCallHistoryComponent], imports: [CommonModule,
14787
+ CometChatList], exports: [CometChatCallHistoryComponent] });
14788
+ CometChatCallHistory.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistory, imports: [[
14789
+ CommonModule,
14790
+ CometChatList,
14791
+ ]] });
14792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistory, decorators: [{
14793
+ type: NgModule,
14794
+ args: [{
14795
+ declarations: [CometChatCallHistoryComponent],
14796
+ imports: [
14797
+ CommonModule,
14798
+ CometChatList,
14799
+ ],
14800
+ exports: [CometChatCallHistoryComponent],
14801
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
14802
+ }]
14803
+ }] });
14804
+
14805
+ class CometChatCallDetails {
14806
+ }
14807
+ CometChatCallDetails.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallDetails, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14808
+ CometChatCallDetails.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallDetails, declarations: [CometChatCallDetailsComponent], imports: [CommonModule,
14809
+ CometChatCallButtons,
14810
+ CometChatList], exports: [CometChatCallDetailsComponent] });
14811
+ CometChatCallDetails.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallDetails, imports: [[
14812
+ CommonModule,
14813
+ CometChatCallButtons,
14814
+ CometChatList
14815
+ ]] });
14816
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallDetails, decorators: [{
14817
+ type: NgModule,
14818
+ args: [{
14819
+ declarations: [CometChatCallDetailsComponent],
14820
+ imports: [
14821
+ CommonModule,
14822
+ CometChatCallButtons,
14823
+ CometChatList
14824
+ ],
14825
+ exports: [CometChatCallDetailsComponent],
14826
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
14827
+ }]
14828
+ }] });
14829
+
14830
+ class CometChatCallHistoryWithDetails {
14831
+ }
14832
+ CometChatCallHistoryWithDetails.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryWithDetails, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14833
+ CometChatCallHistoryWithDetails.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryWithDetails, declarations: [CometChatCallHistoryWithDetailsComponent], imports: [CommonModule,
14834
+ CometChatCallHistory,
14835
+ CometChatCallDetails,
14836
+ BrowserModule,
14837
+ BrowserAnimationsModule], exports: [CometChatCallHistoryWithDetailsComponent] });
14838
+ CometChatCallHistoryWithDetails.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryWithDetails, imports: [[
14839
+ CommonModule,
14840
+ CometChatCallHistory,
14841
+ CometChatCallDetails,
14842
+ BrowserModule,
14843
+ BrowserAnimationsModule,
14844
+ ]] });
14845
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatCallHistoryWithDetails, decorators: [{
14846
+ type: NgModule,
14847
+ args: [{
14848
+ declarations: [CometChatCallHistoryWithDetailsComponent],
14849
+ imports: [
14850
+ CommonModule,
14851
+ CometChatCallHistory,
14852
+ CometChatCallDetails,
14853
+ BrowserModule,
14854
+ BrowserAnimationsModule,
14855
+ ],
14856
+ exports: [CometChatCallHistoryWithDetailsComponent],
14857
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
14858
+ }]
14859
+ }] });
14860
+
14861
+ class CometChatTabs {
14862
+ }
14863
+ CometChatTabs.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTabs, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14864
+ CometChatTabs.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTabs, declarations: [CometChatTabsComponent], imports: [CommonModule,
14865
+ CometChatConversationsWithMessages,
14866
+ CometChatUsersWithMessages,
14867
+ CometChatGroupsWithMessages,
14868
+ CometChatCallHistoryWithDetails], exports: [CometChatTabsComponent] });
14869
+ CometChatTabs.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTabs, imports: [[
14870
+ CommonModule,
14871
+ CometChatConversationsWithMessages,
14872
+ CometChatUsersWithMessages,
14873
+ CometChatGroupsWithMessages,
14874
+ CometChatCallHistoryWithDetails
14875
+ ]] });
14876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CometChatTabs, decorators: [{
14877
+ type: NgModule,
14878
+ args: [{
14879
+ declarations: [CometChatTabsComponent],
14880
+ imports: [
14881
+ CommonModule,
14882
+ CometChatConversationsWithMessages,
14883
+ CometChatUsersWithMessages,
14884
+ CometChatGroupsWithMessages,
14885
+ CometChatCallHistoryWithDetails
14886
+ ],
14887
+ exports: [CometChatTabsComponent],
14888
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
14889
+ }]
14890
+ }] });
14891
+
13577
14892
  /*
13578
14893
  * Public API Surface of angular-chat-ui-kit
13579
14894
  */
@@ -13582,5 +14897,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13582
14897
  * Generated bundle index. Do not edit.
13583
14898
  */
13584
14899
 
13585
- export { CallingExtension, CallingExtensionDecorator, ChatConfigurator, CollaborativeDocumentExtension, CollaborativeDocumentExtensionDecorator, CollaborativeWhiteBoardExtension, CollaborativeWhiteBoardExtensionDecorator, CometChatAddMembers, CometChatAddMembersComponent, CometChatBannedMembers, CometChatBannedMembersComponent, CometChatCallButtons, CometChatCallButtonsComponent, CometChatConversations, CometChatConversationsComponent, CometChatConversationsWithMessages, CometChatConversationsWithMessagesComponent, CometChatDetails, CometChatDetailsComponent, CometChatGroupMembers, CometChatGroupMembersComponent, CometChatGroups, CometChatGroupsComponent, CometChatGroupsWithMessages, CometChatGroupsWithMessagesComponent, CometChatIncomingCall, CometChatIncomingCallComponent, CometChatList, CometChatMessageBubble, CometChatMessageBubbleComponent, CometChatMessageComposer, CometChatMessageComposerComponent, CometChatMessageHeader, CometChatMessageHeaderComponent, CometChatMessageList, CometChatMessageListComponent, CometChatMessages, CometChatMessagesComponent, CometChatOngoingCall, CometChatOngoingCallComponent, CometChatOutgoingCall, CometChatOutgoingCallComponent, CometChatThemeService, CometChatThreadedMessages, CometChatThreadedMessagesComponent, CometChatTransferOwnership, CometChatTransferOwnershipComponent, CometChatUIKit, CometChatUsers, CometChatUsersComponent, CometChatUsersWithMessages, CometChatUsersWithMessagesComponent, CometchatListComponent, DataSource, DataSourceDecorator, ExtensionsDataSource, ImageModerationExtension, ImageModerationExtensionDecorator, LinkPreviewExtension, LinkPreviewExtensionDecorator, MessageTranslationExtension, MessageTranslationExtensionDecorator, MessageUtils, PollsExtension, PollsExtensionDecorator, ReactionExtension, ReactionExtensionDecorator, SmartReplyExtension, SmartReplyExtensionDecorator, StickersExtension, StickersExtensionDecorator, TextModeratorExtension, TextModeratorExtensionDecorator, ThumbnailGenerationExtension, ThumbnailGenerationExtensionDecorator };
14900
+ export { CallingExtension, CallingExtensionDecorator, ChatConfigurator, CollaborativeDocumentExtension, CollaborativeDocumentExtensionDecorator, CollaborativeWhiteBoardExtension, CollaborativeWhiteBoardExtensionDecorator, CometChatAddMembers, CometChatAddMembersComponent, CometChatBannedMembers, CometChatBannedMembersComponent, CometChatCallButtons, CometChatCallButtonsComponent, CometChatConversations, CometChatConversationsComponent, CometChatConversationsWithMessages, CometChatConversationsWithMessagesComponent, CometChatDetails, CometChatDetailsComponent, CometChatGroupMembers, CometChatGroupMembersComponent, CometChatGroups, CometChatGroupsComponent, CometChatGroupsWithMessages, CometChatGroupsWithMessagesComponent, CometChatIncomingCall, CometChatIncomingCallComponent, CometChatList, CometChatMessageBubble, CometChatMessageBubbleComponent, CometChatMessageComposer, CometChatMessageComposerComponent, CometChatMessageHeader, CometChatMessageHeaderComponent, CometChatMessageList, CometChatMessageListComponent, CometChatMessages, CometChatMessagesComponent, CometChatOngoingCall, CometChatOngoingCallComponent, CometChatOutgoingCall, CometChatOutgoingCallComponent, CometChatTabs, CometChatTabsComponent, CometChatThemeService, CometChatThreadedMessages, CometChatThreadedMessagesComponent, CometChatTransferOwnership, CometChatTransferOwnershipComponent, CometChatUIKit, CometChatUsers, CometChatUsersComponent, CometChatUsersWithMessages, CometChatUsersWithMessagesComponent, CometchatListComponent, DataSource, DataSourceDecorator, ExtensionsDataSource, ImageModerationExtension, ImageModerationExtensionDecorator, LinkPreviewExtension, LinkPreviewExtensionDecorator, MessageTranslationExtension, MessageTranslationExtensionDecorator, MessageUtils, PollsExtension, PollsExtensionDecorator, ReactionExtension, ReactionExtensionDecorator, SmartReplyExtension, SmartReplyExtensionDecorator, StickersExtension, StickersExtensionDecorator, TextModeratorExtension, TextModeratorExtensionDecorator, ThumbnailGenerationExtension, ThumbnailGenerationExtensionDecorator };
13586
14901
  //# sourceMappingURL=cometchat-chat-uikit-angular.mjs.map