stream-chat-angular 5.0.0-v5.9 → 5.1.0

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 (122) hide show
  1. package/assets/i18n/en.d.ts +1 -0
  2. package/assets/version.d.ts +1 -1
  3. package/esm2020/assets/i18n/en.mjs +3 -2
  4. package/esm2020/assets/version.mjs +2 -2
  5. package/esm2020/lib/attachment-list/attachment-list.component.mjs +3 -3
  6. package/esm2020/lib/attachment-preview-list/attachment-preview-list.component.mjs +3 -3
  7. package/esm2020/lib/attachment.service.mjs +103 -7
  8. package/esm2020/lib/avatar/avatar.component.mjs +6 -9
  9. package/esm2020/lib/avatar-placeholder/avatar-placeholder.component.mjs +3 -11
  10. package/esm2020/lib/channel/channel.component.mjs +5 -6
  11. package/esm2020/lib/channel-header/channel-header.component.mjs +3 -3
  12. package/esm2020/lib/channel-list/channel-list.component.mjs +6 -7
  13. package/esm2020/lib/channel-preview/channel-preview.component.mjs +3 -3
  14. package/esm2020/lib/channel-query.mjs +77 -0
  15. package/esm2020/lib/channel.service.mjs +184 -137
  16. package/esm2020/lib/chat-client.service.mjs +33 -11
  17. package/esm2020/lib/custom-templates.service.mjs +6 -10
  18. package/esm2020/lib/icon/icon.component.mjs +3 -7
  19. package/esm2020/lib/icon-placeholder/icon-placeholder.component.mjs +4 -7
  20. package/esm2020/lib/loading-indicator/loading-indicator.component.mjs +6 -22
  21. package/esm2020/lib/loading-indicator-placeholder/loading-indicator-placeholder.component.mjs +5 -23
  22. package/esm2020/lib/message/message.component.mjs +129 -16
  23. package/esm2020/lib/message-actions-box/message-actions-box.component.mjs +39 -14
  24. package/esm2020/lib/message-actions.service.mjs +68 -4
  25. package/esm2020/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.mjs +16 -6
  26. package/esm2020/lib/message-input/message-input.component.mjs +76 -74
  27. package/esm2020/lib/message-input/textarea/textarea.component.mjs +13 -1
  28. package/esm2020/lib/message-list/message-list.component.mjs +201 -201
  29. package/esm2020/lib/message-reactions/message-reactions.component.mjs +7 -78
  30. package/esm2020/lib/message-reactions-selector/message-reactions-selector.component.mjs +61 -0
  31. package/esm2020/lib/modal/modal.component.mjs +1 -1
  32. package/esm2020/lib/stream-chat.module.mjs +8 -8
  33. package/esm2020/lib/thread/thread.component.mjs +3 -3
  34. package/esm2020/lib/types.mjs +1 -1
  35. package/esm2020/lib/virtualized-list.service.mjs +271 -0
  36. package/esm2020/lib/virtualized-message-list.service.mjs +73 -0
  37. package/esm2020/lib/voice-recording/voice-recording.component.mjs +4 -4
  38. package/esm2020/public-api.mjs +5 -2
  39. package/fesm2015/stream-chat-angular.mjs +3207 -2533
  40. package/fesm2015/stream-chat-angular.mjs.map +1 -1
  41. package/fesm2020/stream-chat-angular.mjs +3144 -2479
  42. package/fesm2020/stream-chat-angular.mjs.map +1 -1
  43. package/lib/attachment.service.d.ts +11 -4
  44. package/lib/avatar/avatar.component.d.ts +4 -7
  45. package/lib/avatar-placeholder/avatar-placeholder.component.d.ts +1 -5
  46. package/lib/channel-list/channel-list.component.d.ts +1 -1
  47. package/lib/channel-query.d.ts +26 -0
  48. package/lib/channel.service.d.ts +81 -58
  49. package/lib/chat-client.service.d.ts +7 -3
  50. package/lib/custom-templates.service.d.ts +8 -12
  51. package/lib/icon/icon.component.d.ts +2 -6
  52. package/lib/icon-placeholder/icon-placeholder.component.d.ts +1 -5
  53. package/lib/loading-indicator/loading-indicator.component.d.ts +1 -10
  54. package/lib/loading-indicator-placeholder/loading-indicator-placeholder.component.d.ts +1 -11
  55. package/lib/message/message.component.d.ts +31 -9
  56. package/lib/message-actions-box/message-actions-box.component.d.ts +11 -6
  57. package/lib/message-actions.service.d.ts +3 -2
  58. package/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.d.ts +1 -0
  59. package/lib/message-input/message-input.component.d.ts +19 -7
  60. package/lib/message-input/textarea/textarea.component.d.ts +1 -0
  61. package/lib/message-list/message-list.component.d.ts +16 -17
  62. package/lib/message-reactions/message-reactions.component.d.ts +6 -30
  63. package/lib/message-reactions-selector/message-reactions-selector.component.d.ts +35 -0
  64. package/lib/stream-chat.module.d.ts +5 -5
  65. package/lib/types.d.ts +35 -29
  66. package/lib/virtualized-list.service.d.ts +58 -0
  67. package/lib/virtualized-message-list.service.d.ts +15 -0
  68. package/package.json +5 -5
  69. package/public-api.d.ts +4 -1
  70. package/src/assets/assets/EmojiOneColor.woff2 +0 -0
  71. package/src/assets/assets/NotoColorEmoji-flags.woff2 +0 -0
  72. package/src/assets/assets/Poweredby_100px-White_VertText.png +0 -0
  73. package/src/assets/assets/icons/stream-chat-icons.eot +0 -0
  74. package/src/assets/assets/icons/stream-chat-icons.svg +46 -0
  75. package/src/assets/assets/icons/stream-chat-icons.ttf +0 -0
  76. package/src/assets/assets/icons/stream-chat-icons.woff +0 -0
  77. package/src/assets/assets/icons/stream-chat-icons.woff2 +0 -0
  78. package/src/assets/assets/str-chat__reaction-list-sprite@1x.png +0 -0
  79. package/src/assets/assets/str-chat__reaction-list-sprite@2x.png +0 -0
  80. package/src/assets/assets/str-chat__reaction-list-sprite@3x.png +0 -0
  81. package/src/assets/i18n/en.ts +2 -1
  82. package/src/assets/styles/css/index.css +2 -2
  83. package/src/assets/styles/css/index.layout.css +2 -2
  84. package/src/assets/styles/scss/AttachmentList/AttachmentList-layout.scss +74 -12
  85. package/src/assets/styles/scss/AttachmentList/AttachmentList-theme.scss +52 -0
  86. package/src/assets/styles/scss/AttachmentPreviewList/AttachmentPreviewList-layout.scss +24 -9
  87. package/src/assets/styles/scss/AttachmentPreviewList/AttachmentPreviewList-theme.scss +29 -0
  88. package/src/assets/styles/scss/AudioRecorder/AudioRecorder-layout.scss +89 -0
  89. package/src/assets/styles/scss/AudioRecorder/AudioRecorder-theme.scss +51 -0
  90. package/src/assets/styles/scss/Autocomplete/Autocomplete-layout.scss +1 -1
  91. package/src/assets/styles/scss/Avatar/Avatar-layout.scss +46 -0
  92. package/src/assets/styles/scss/Channel/Channel-layout.scss +1 -0
  93. package/src/assets/styles/scss/Channel/Channel-theme.scss +1 -0
  94. package/src/assets/styles/scss/ChannelList/ChannelList-layout.scss +2 -2
  95. package/src/assets/styles/scss/ChannelList/ChannelList-theme.scss +4 -2
  96. package/src/assets/styles/scss/ChannelPreview/ChannelPreview-layout.scss +2 -0
  97. package/src/assets/styles/scss/ChannelPreview/ChannelPreview-theme.scss +1 -0
  98. package/src/assets/styles/scss/EditMessageForm/EditMessageForm-theme.scss +9 -9
  99. package/src/assets/styles/scss/Icon/Icon-layout.scss +87 -0
  100. package/src/assets/styles/scss/Icon/Icon-theme.scss +13 -0
  101. package/src/assets/styles/scss/ImageCarousel/ImageCarousel-layout.scss +1 -0
  102. package/src/assets/styles/scss/ImageCarousel/ImageCarousel-theme.scss +1 -0
  103. package/src/assets/styles/scss/LoadingIndicator/LoadingIndicator-layout.scss +26 -1
  104. package/src/assets/styles/scss/LoadingIndicator/LoadingIndicator-theme.scss +6 -4
  105. package/src/assets/styles/scss/Message/Message-layout.scss +45 -6
  106. package/src/assets/styles/scss/Message/Message-theme.scss +6 -0
  107. package/src/assets/styles/scss/MessageInput/MessageInput-layout.scss +33 -1
  108. package/src/assets/styles/scss/MessageInput/MessageInput-theme.scss +65 -2
  109. package/src/assets/styles/scss/MessageList/MessageList-theme.scss +2 -0
  110. package/src/assets/styles/scss/MessageReactions/MessageReactionsSelector-layout.scss +18 -0
  111. package/src/assets/styles/scss/MessageReactions/MessageReactionsSelector-theme.scss +5 -0
  112. package/src/assets/styles/scss/Modal/Modal-layout.scss +1 -0
  113. package/src/assets/styles/scss/Modal/Modal-theme.scss +6 -0
  114. package/src/assets/styles/scss/_base.scss +4 -2
  115. package/src/assets/styles/scss/_emoji-replacement.scss +4 -2
  116. package/src/assets/styles/scss/_icons.scss +24 -2
  117. package/src/assets/styles/scss/_variables.scss +2 -0
  118. package/src/assets/styles/scss/index.layout.scss +2 -0
  119. package/src/assets/styles/scss/index.scss +2 -0
  120. package/src/assets/version.ts +1 -1
  121. package/esm2020/lib/edit-message-form/edit-message-form.component.mjs +0 -83
  122. package/lib/edit-message-form/edit-message-form.component.d.ts +0 -31
@@ -3,13 +3,17 @@ import { Attachment } from 'stream-chat';
3
3
  import { ChannelService } from './channel.service';
4
4
  import { NotificationService } from './notification.service';
5
5
  import { AttachmentUpload, DefaultStreamChatGenerics } from './types';
6
+ import { ChatClientService } from './chat-client.service';
6
7
  import * as i0 from "@angular/core";
7
8
  /**
8
9
  * The `AttachmentService` manages the uploads of a message input.
10
+ *
11
+ * You can read more about [uploads](https://getstream.io/chat/docs/javascript/file_uploads/?language=javascript&q=size) in the Stream API documentation. You can use Stream's API or the dashboard to customize the [file](https://getstream.io/chat/docs/javascript/app_setting_overview/?language=javascript&q=size#file-uploads) and [image upload](https://getstream.io/chat/docs/javascript/app_setting_overview/?language=javascript&q=size#image-uploads) configuration.
9
12
  */
10
13
  export declare class AttachmentService<T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> {
11
14
  private channelService;
12
15
  private notificationService;
16
+ private chatClientService;
13
17
  /**
14
18
  * Emits the number of uploads in progress.
15
19
  */
@@ -20,17 +24,18 @@ export declare class AttachmentService<T extends DefaultStreamChatGenerics = Def
20
24
  attachmentUploads$: Observable<AttachmentUpload[]>;
21
25
  private attachmentUploadInProgressCounterSubject;
22
26
  private attachmentUploadsSubject;
23
- constructor(channelService: ChannelService, notificationService: NotificationService);
27
+ private appSettings;
28
+ constructor(channelService: ChannelService, notificationService: NotificationService, chatClientService: ChatClientService);
24
29
  /**
25
30
  * Resets the attachments uploads (for example after the message with the attachments sent successfully)
26
31
  */
27
32
  resetAttachmentUploads(): void;
28
33
  /**
29
34
  * Uploads the selected files, and creates preview for image files. The result is propagated throught the `attachmentUploads$` stream.
30
- * @param fileList The files selected by the user
31
- * @returns A promise with the result
35
+ * @param fileList The files selected by the user, if you have Blobs instead of Files, you can convert them with this method: https://developer.mozilla.org/en-US/docs/Web/API/File/File
36
+ * @returns A promise with true or false. If false is returned the upload was canceled because of a client side error. The error is emitted via the `NotificationService`.
32
37
  */
33
- filesSelected(fileList: FileList | null): Promise<void>;
38
+ filesSelected(fileList: FileList | File[] | null): Promise<boolean | undefined>;
34
39
  /**
35
40
  * You can add custom `image`, `video` and `file` attachments using this method.
36
41
  *
@@ -61,6 +66,8 @@ export declare class AttachmentService<T extends DefaultStreamChatGenerics = Def
61
66
  createFromAttachments(attachments: Attachment<T>[]): void;
62
67
  private createPreview;
63
68
  private uploadAttachments;
69
+ private areAttachmentsHaveValidExtension;
70
+ private areAttachmentsHaveValidSize;
64
71
  static ɵfac: i0.ɵɵFactoryDeclaration<AttachmentService<any>, never>;
65
72
  static ɵprov: i0.ɵɵInjectableDeclaration<AttachmentService<any>>;
66
73
  }
@@ -1,4 +1,4 @@
1
- import { AfterViewInit, ChangeDetectorRef, NgZone, OnChanges, OnInit, SimpleChanges } from '@angular/core';
1
+ import { AfterViewInit, ChangeDetectorRef, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { Channel, User } from 'stream-chat';
3
3
  import { ChatClientService } from '../chat-client.service';
4
4
  import { AvatarLocation, AvatarType, DefaultStreamChatGenerics } from '../types';
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  /**
7
7
  * The `Avatar` component displays the provided image, with fallback to the first letter of the optional name input.
8
8
  */
9
- export declare class AvatarComponent implements OnChanges, OnInit, OnChanges, AfterViewInit {
9
+ export declare class AvatarComponent implements OnChanges, OnInit, OnChanges, AfterViewInit, OnDestroy {
10
10
  private chatClientService;
11
11
  private ngZone;
12
12
  private cdRef;
@@ -18,10 +18,6 @@ export declare class AvatarComponent implements OnChanges, OnInit, OnChanges, Af
18
18
  * The URL of the image to be displayed. If the image can't be displayed the first letter of the name input is displayed.
19
19
  */
20
20
  imageUrl: string | undefined;
21
- /**
22
- * The size in pixels of the avatar image.
23
- */
24
- size: number;
25
21
  /**
26
22
  * The location the avatar will be displayed in
27
23
  */
@@ -57,11 +53,12 @@ export declare class AvatarComponent implements OnChanges, OnInit, OnChanges, Af
57
53
  constructor(chatClientService: ChatClientService, ngZone: NgZone, cdRef: ChangeDetectorRef);
58
54
  ngOnInit(): void;
59
55
  ngOnChanges(changes: SimpleChanges): void;
56
+ ngOnDestroy(): void;
60
57
  private setFallbackChannelImage;
61
58
  private setInitials;
62
59
  private updateIsOnlineSubscription;
63
60
  ngAfterViewInit(): void;
64
61
  private getOtherMemberIfOneToOneChannel;
65
62
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarComponent, never>;
66
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "stream-avatar", never, { "name": "name"; "imageUrl": "imageUrl"; "size": "size"; "location": "location"; "channel": "channel"; "user": "user"; "type": "type"; "showOnlineIndicator": "showOnlineIndicator"; "initialsType": "initialsType"; }, {}, never, never, false, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarComponent, "stream-avatar", never, { "name": "name"; "imageUrl": "imageUrl"; "location": "location"; "channel": "channel"; "user": "user"; "type": "type"; "showOnlineIndicator": "showOnlineIndicator"; "initialsType": "initialsType"; }, {}, never, never, false, never>;
67
64
  }
@@ -16,10 +16,6 @@ export declare class AvatarPlaceholderComponent implements OnChanges {
16
16
  * The URL of the image to be displayed. If the image can't be displayed the first letter of the name input is displayed.
17
17
  */
18
18
  imageUrl: string | undefined;
19
- /**
20
- * The size in pixels of the avatar image.
21
- */
22
- size: number;
23
19
  /**
24
20
  * The location the avatar will be displayed in
25
21
  */
@@ -48,5 +44,5 @@ export declare class AvatarPlaceholderComponent implements OnChanges {
48
44
  constructor(customTemplatesService: CustomTemplatesService);
49
45
  ngOnChanges(): void;
50
46
  static ɵfac: i0.ɵɵFactoryDeclaration<AvatarPlaceholderComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<AvatarPlaceholderComponent, "stream-avatar-placeholder", never, { "name": "name"; "imageUrl": "imageUrl"; "size": "size"; "location": "location"; "channel": "channel"; "user": "user"; "type": "type"; "initialsType": "initialsType"; "showOnlineIndicator": "showOnlineIndicator"; }, {}, never, never, false, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<AvatarPlaceholderComponent, "stream-avatar-placeholder", never, { "name": "name"; "imageUrl": "imageUrl"; "location": "location"; "channel": "channel"; "user": "user"; "type": "type"; "initialsType": "initialsType"; "showOnlineIndicator": "showOnlineIndicator"; }, {}, never, never, false, never>;
52
48
  }
@@ -25,7 +25,7 @@ export declare class ChannelListComponent implements OnDestroy {
25
25
  constructor(channelService: ChannelService, customTemplatesService: CustomTemplatesService, themeService: ThemeService);
26
26
  ngOnDestroy(): void;
27
27
  loadMoreChannels(): Promise<void>;
28
- trackByChannelId(index: number, item: Channel<DefaultStreamChatGenerics>): string;
28
+ trackByChannelId(_: number, item: Channel<DefaultStreamChatGenerics>): string;
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<ChannelListComponent, never>;
30
30
  static ɵcmp: i0.ɵɵComponentDeclaration<ChannelListComponent, "stream-channel-list", never, {}, {}, never, ["[channel-list-top]", "[channel-list-bottom]"], false, never>;
31
31
  }
@@ -0,0 +1,26 @@
1
+ import { Channel, ChannelFilters, ChannelOptions, ChannelSort } from 'stream-chat';
2
+ import { ChannelService } from './channel.service';
3
+ import { ChannelQueryResult, ChannelQueryType, DefaultStreamChatGenerics, NextPageConfiguration } from './types';
4
+ import { ChatClientService } from './chat-client.service';
5
+ /**
6
+ * This class allows you to make paginated channel query requests.
7
+ */
8
+ export declare class ChannelQuery<T extends DefaultStreamChatGenerics = DefaultStreamChatGenerics> {
9
+ private chatService;
10
+ private channelService;
11
+ private filters;
12
+ private sort;
13
+ private options;
14
+ /**
15
+ * By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method.
16
+ *
17
+ * The method will be called with the result of the latest channel query.
18
+ *
19
+ * You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method.
20
+ */
21
+ customPaginator?: (channelQueryResult: Channel<T>[]) => NextPageConfiguration;
22
+ private nextPageConfiguration?;
23
+ constructor(chatService: ChatClientService<T>, channelService: ChannelService<T>, filters: ChannelFilters<T>, sort?: ChannelSort<T>, options?: ChannelOptions);
24
+ query(queryType: ChannelQueryType): Promise<ChannelQueryResult<T>>;
25
+ setNextPageConfiguration(channelQueryResult: Channel<T>[]): void;
26
+ }
@@ -1,9 +1,9 @@
1
1
  import { NgZone } from '@angular/core';
2
2
  import { BehaviorSubject, Observable } from 'rxjs';
3
- import { Attachment, Channel, ChannelFilters, ChannelOptions, ChannelResponse, ChannelSort, Event, FormatMessageResponse, MessageResponse, QueryChannelAPIResponse, ReactionResponse, UserResponse } from 'stream-chat';
3
+ import { Attachment, Channel, ChannelFilters, ChannelOptions, ChannelResponse, ChannelSort, Event, FormatMessageResponse, MessageResponse, ReactionResponse, UserResponse } from 'stream-chat';
4
4
  import { ChatClientService, ClientEvent } from './chat-client.service';
5
5
  import { NotificationService } from './notification.service';
6
- import { AttachmentUpload, ChannelQueryState, DefaultStreamChatGenerics, MessageInput, MessageReactionType, NextPageConfiguration, StreamMessage } from './types';
6
+ import { AttachmentUpload, ChannelQueryResult, ChannelQueryState, ChannelQueryType, DefaultStreamChatGenerics, MessageInput, MessageReactionType, NextPageConfiguration, StreamMessage } from './types';
7
7
  import * as i0 from "@angular/core";
8
8
  /**
9
9
  * The `ChannelService` provides data and interaction for the channel list and message list.
@@ -22,25 +22,6 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
22
22
  * :::important
23
23
  * If you want to subscribe to channel events, you need to manually reenter Angular's change detection zone, our [Change detection guide](../concepts/change-detection.mdx) explains this in detail.
24
24
  * :::
25
- *
26
- * Apart from pagination, the channel list is also updated on the following events:
27
- *
28
- * | Event type | Default behavior | Custom handler to override |
29
- * | ----------------------------------- | ------------------------------------------------------------------ | --------------------------------------------- |
30
- * | `channel.deleted` | Remove channel from the list | `customChannelDeletedHandler` |
31
- * | `channel.hidden` | Remove channel from the list | `customChannelHiddenHandler` |
32
- * | `channel.truncated` | Updates the channel | `customChannelTruncatedHandler` |
33
- * | `channel.updated` | Updates the channel | `customChannelUpdatedHandler` |
34
- * | `channel.visible` | Adds the channel to the list | `customChannelVisibleHandler` |
35
- * | `message.new` | Moves the channel to top of the list | `customNewMessageHandler` |
36
- * | `notification.added_to_channel` | Adds the new channel to the top of the list and starts watching it | `customAddedToChannelNotificationHandler` |
37
- * | `notification.message_new` | Adds the new channel to the top of the list and starts watching it | `customNewMessageNotificationHandler` |
38
- * | `notification.removed_from_channel` | Removes the channel from the list | `customRemovedFromChannelNotificationHandler` |
39
- *
40
- * It's important to note that filters don't apply to updates to the list from events.
41
- *
42
- * Our platform documentation covers the topic of [channel events](https://getstream.io/chat/docs/javascript/event_object/?language=javascript#events) in depth.
43
- *
44
25
  */
45
26
  channels$: Observable<Channel<T>[] | undefined>;
46
27
  /**
@@ -122,40 +103,58 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
122
103
  activeChannelUnreadCount?: number;
123
104
  /**
124
105
  * Custom event handler to call if a new message received from a channel that is not being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
106
+ *
107
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
125
108
  */
126
- customNewMessageNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void) => void;
109
+ customNewMessageNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void) => void;
127
110
  /**
128
- * Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
111
+ * Custom event handler to call when the user is added to a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
112
+ *
113
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
129
114
  */
130
- customAddedToChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void) => void;
115
+ customAddedToChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void) => void;
131
116
  /**
132
- * Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
117
+ * Custom event handler to call when the user is removed from a channel, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
118
+ *
119
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
133
120
  */
134
- customRemovedFromChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void) => void;
121
+ customRemovedFromChannelNotificationHandler?: (clientEvent: ClientEvent, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void) => void;
135
122
  /**
136
- * Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
123
+ * Custom event handler to call when a channel is deleted, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
124
+ *
125
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
137
126
  */
138
- customChannelDeletedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
127
+ customChannelDeletedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
139
128
  /**
140
- * Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
129
+ * Custom event handler to call when a channel is updated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
130
+ *
131
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
141
132
  */
142
- customChannelUpdatedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
133
+ customChannelUpdatedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage[]) => void, threadListSetter: (messages: StreamMessage[]) => void, parentMessageSetter: (message: StreamMessage | undefined) => void) => void;
143
134
  /**
144
- * Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
135
+ * Custom event handler to call when a channel is truncated, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
136
+ *
137
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
145
138
  */
146
- customChannelTruncatedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
139
+ customChannelTruncatedHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
147
140
  /**
148
- * Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
141
+ * Custom event handler to call when a channel becomes hidden, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
142
+ *
143
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
149
144
  */
150
- customChannelHiddenHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
145
+ customChannelHiddenHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
151
146
  /**
152
- * Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
147
+ * Custom event handler to call when a channel becomes visible, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
148
+ *
149
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
153
150
  */
154
- customChannelVisibleHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
151
+ customChannelVisibleHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
155
152
  /**
156
- * Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels)
153
+ * Custom event handler to call if a new message received from a channel that is being watched, provide an event handler if you want to override the [default channel list ordering](./ChannelService.mdx/#channels).
154
+ *
155
+ * If you're adding a new channel, make sure that it's a [watched](https://getstream.io/chat/docs/javascript/watch_channel/?language=javascript) channel.
157
156
  */
158
- customNewMessageHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: (Channel<T> | ChannelResponse<T>)[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
157
+ customNewMessageHandler?: (event: Event, channel: Channel<T>, channelListSetter: (channels: Channel<T>[], shouldStopWatchingRemovedChannels?: boolean) => void, messageListSetter: (messages: StreamMessage<T>[]) => void, threadListSetter: (messages: StreamMessage<T>[]) => void, parentMessageSetter: (message: StreamMessage<T> | undefined) => void) => void;
159
158
  /**
160
159
  * You can override the default file upload request - you can use this to upload files to your own CDN
161
160
  */
@@ -189,17 +188,10 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
189
188
  */
190
189
  beforeUpdateMessage?: (message: StreamMessage<T>) => StreamMessage<T> | Promise<StreamMessage<T>>;
191
190
  /**
192
- * By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method.
193
- *
194
- * The method will be called with the result of the latest channel query.
195
- *
196
- * You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method.
197
- */
198
- customPaginator?: (channelQueryResult: Channel<T>[]) => NextPageConfiguration;
199
- /**
200
- * internal
191
+ * @internal
201
192
  */
202
193
  static readonly MAX_MESSAGE_REACTIONS_TO_FETCH = 1200;
194
+ messagePageSize: number;
203
195
  private channelsSubject;
204
196
  private activeChannelSubject;
205
197
  private activeChannelMessagesSubject;
@@ -211,10 +203,7 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
211
203
  private activeThreadMessagesSubject;
212
204
  private jumpToMessageSubject;
213
205
  private latestMessageDateByUserByChannelsSubject;
214
- private filters;
215
- private sort;
216
- private options;
217
- private readonly messagePageSize;
206
+ private readonly attachmentMaxSizeFallbackInMB;
218
207
  private messageToQuoteSubject;
219
208
  private usersTypingInChannelSubject;
220
209
  private usersTypingInThreadSubject;
@@ -223,12 +212,13 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
223
212
  private clientEventsSubscription;
224
213
  private isStateRecoveryInProgress;
225
214
  private channelQueryStateSubject;
215
+ private channelQuery?;
216
+ private _customPaginator;
226
217
  private channelListSetter;
227
218
  private messageListSetter;
228
219
  private threadListSetter;
229
220
  private parentMessageSetter;
230
221
  private dismissErrorNotification?;
231
- private nextPageConfiguration?;
232
222
  private areReadEventsPaused;
233
223
  constructor(chatClientService: ChatClientService<T>, ngZone: NgZone, notificationService: NotificationService);
234
224
  /**
@@ -239,6 +229,14 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
239
229
  * If set to false, read events won't be sent as new messages are received. If set to true active channel (if any) will immediately be marked as read.
240
230
  */
241
231
  set shouldMarkActiveChannelAsRead(shouldMarkActiveChannelAsRead: boolean);
232
+ /**
233
+ * By default the SDK uses an offset based pagination, you can change/extend this by providing your own custom paginator method.
234
+ *
235
+ * The method will be called with the result of the latest channel query.
236
+ *
237
+ * You can return either an offset, or a filter using the [`$lte`/`$gte` operator](https://getstream.io/chat/docs/javascript/query_syntax_operators/). If you return a filter, it will be merged with the filter provided for the `init` method.
238
+ */
239
+ set customPaginator(paginator: ((channelQueryResult: Channel<T>[]) => NextPageConfiguration) | undefined);
242
240
  /**
243
241
  * Sets the given `channel` as active and marks it as read.
244
242
  * If the channel wasn't previously part of the channel, it will be added to the beginning of the list.
@@ -259,21 +257,33 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
259
257
  * Loads the next page of messages of the active channel. The page size can be set in the [query option](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript#query-options) object.
260
258
  * @param direction
261
259
  */
262
- loadMoreMessages(direction?: 'older' | 'newer'): false | Promise<QueryChannelAPIResponse<T>> | undefined;
260
+ loadMoreMessages(direction?: 'older' | 'newer'): false | Promise<import("stream-chat").QueryChannelAPIResponse<T>> | undefined;
263
261
  /**
264
262
  * Loads the next page of messages of the active thread. The page size can be set in the [query option](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript#query-options) object.
265
263
  * @param direction
266
264
  */
267
- loadMoreThreadReplies(direction?: 'older' | 'newer'): Promise<void>;
265
+ loadMoreThreadReplies(direction?: 'older' | 'newer'): false | Promise<void>;
268
266
  /**
269
267
  * Queries the channels with the given filters, sorts and options. More info about [channel querying](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript) can be found in the platform documentation. By default the first channel in the list will be set as active channel and will be marked as read.
270
268
  * @param filters
271
269
  * @param sort
272
270
  * @param options
273
- * @param shouldSetActiveChannel Decides if the first channel in the result should be made as an active channel, or no channel should be marked as active
271
+ * @param shouldSetActiveChannel Decides if the first channel in the result should be made as an active channel or not.
274
272
  * @returns the list of channels found by the query
275
273
  */
276
274
  init(filters: ChannelFilters<T>, sort?: ChannelSort<T>, options?: ChannelOptions, shouldSetActiveChannel?: boolean): Promise<Channel<T>[]>;
275
+ /**
276
+ * Queries the channels with the given query function. More info about [channel querying](https://getstream.io/chat/docs/javascript/query_channels/?language=javascript) can be found in the platform documentation.
277
+ * @param query
278
+ * @param options
279
+ * @param options.shouldSetActiveChannel The `shouldSetActiveChannel` specifies if the first channel in the result should be selected as the active channel or not. Default is `true`.
280
+ * @param options.messagePageSize How many messages should we load? The default is 25
281
+ * @returns the channels that were loaded
282
+ */
283
+ initWithCustomQuery(query: (queryType: ChannelQueryType) => Promise<ChannelQueryResult<T>>, options?: {
284
+ shouldSetActiveChannel: boolean;
285
+ messagePageSize: number;
286
+ }): Promise<Channel<T>[]>;
277
287
  /**
278
288
  * Resets the `activeChannel$`, `channels$` and `activeChannelMessages$` Observables. Useful when disconnecting a chat user, use in combination with [`disconnectUser`](./ChatClientService.mdx/#disconnectuser).
279
289
  */
@@ -425,6 +435,12 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
425
435
  * @param channel
426
436
  */
427
437
  addChannel(channel: Channel<T>): void;
438
+ /**
439
+ *
440
+ * @param cid
441
+ * @param shouldStopWatching
442
+ */
443
+ removeChannel(cid: string, shouldStopWatching?: boolean): void;
428
444
  private sendMessageRequest;
429
445
  /**
430
446
  * Jumps to the selected message inside the message list, if the message is not yet loaded, it'll load the message (and it's surroundings) from the API.
@@ -432,6 +448,10 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
432
448
  * @param parentMessageId The ID of the parent message if we want to load a thread message
433
449
  */
434
450
  jumpToMessage(messageId: string, parentMessageId?: string): Promise<void>;
451
+ /**
452
+ * Clears the currently selected message to jump
453
+ */
454
+ clearMessageJump(): void;
435
455
  /**
436
456
  * Pins the given message in the channel
437
457
  * @param message
@@ -446,8 +466,7 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
446
466
  private handleRemovedFromChannelNotification;
447
467
  private handleNewMessageNotification;
448
468
  private handleAddedToChannelNotification;
449
- private addChannelsFromNotification;
450
- private removeChannelsFromChannelList;
469
+ private addChannelFromNotification;
451
470
  private watchForActiveChannelEvents;
452
471
  /**
453
472
  * Call this method if user started typing in the active channel
@@ -471,6 +490,10 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
471
490
  * The current active channel messages
472
491
  */
473
492
  get activeChannelMessages(): (StreamMessage<T> | MessageResponse<T> | FormatMessageResponse<T>)[];
493
+ /**
494
+ * The current thread replies
495
+ */
496
+ get activeChannelThreadReplies(): (StreamMessage<T> | MessageResponse<T> | FormatMessageResponse<T>)[];
474
497
  /**
475
498
  * Get the last 1200 reactions of a message in the current active channel. If you need to fetch more reactions please use the [following endpoint](https://getstream.io/chat/docs/javascript/send_reaction/?language=javascript#paginating-reactions).
476
499
  * @param messageId
@@ -504,7 +527,7 @@ export declare class ChannelService<T extends DefaultStreamChatGenerics = Defaul
504
527
  private updateLatestMessages;
505
528
  private setChannelState;
506
529
  private markRead;
507
- private setNextPageConfiguration;
530
+ private _init;
508
531
  static ɵfac: i0.ɵɵFactoryDeclaration<ChannelService<any>, never>;
509
532
  static ɵprov: i0.ɵɵInjectableDeclaration<ChannelService<any>>;
510
533
  }
@@ -1,6 +1,6 @@
1
1
  import { NgZone } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- import { Channel, ChannelResponse, ConnectAPIResponse, OwnUserResponse, StreamChatOptions, UserResponse } from 'stream-chat';
3
+ import { Channel, ConnectAPIResponse, OwnUserResponse, StreamChatOptions, UserResponse } from 'stream-chat';
4
4
  import { AppSettings, Event, StreamChat, TokenOrProvider } from 'stream-chat';
5
5
  import { NotificationService } from './notification.service';
6
6
  import { DefaultStreamChatGenerics } from './types';
@@ -37,7 +37,7 @@ export declare class ChatClientService<T extends DefaultStreamChatGenerics = Def
37
37
  /**
38
38
  * Emits the list of pending invites of the user. It emits every pending invitation during initialization and then extends the list when a new invite is received. More information can be found in the [channel invitations](../code-examples/channel-invites.mdx) guide.
39
39
  */
40
- pendingInvites$: Observable<(ChannelResponse<T> | Channel<T>)[]>;
40
+ pendingInvites$: Observable<Channel<T>[]>;
41
41
  /**
42
42
  * Emits the current chat user
43
43
  */
@@ -48,6 +48,8 @@ export declare class ChatClientService<T extends DefaultStreamChatGenerics = Def
48
48
  private pendingInvitesSubject;
49
49
  private userSubject;
50
50
  private subscriptions;
51
+ private trackPendingChannelInvites;
52
+ private appSettingsPromise?;
51
53
  constructor(ngZone: NgZone, notificationService: NotificationService);
52
54
  /**
53
55
  * Creates a [`StreamChat`](https://github.com/GetStream/stream-chat-js/blob/668b3e5521339f4e14fc657834531b4c8bf8176b/src/client.ts#L124) instance using the provided `apiKey`, and connects a user with the given meta data and token. More info about [connecting users](https://getstream.io/chat/docs/javascript/init_and_users/?language=javascript) can be found in the platform documentation.
@@ -61,7 +63,9 @@ export declare class ChatClientService<T extends DefaultStreamChatGenerics = Def
61
63
  * </ul>
62
64
  * @param clientOptions Setting to provide to the Stream client instance
63
65
  */
64
- init(apiKey: string, userOrId: string | OwnUserResponse<T> | UserResponse<T> | undefined, userTokenOrProvider: TokenOrProvider, clientOptions?: StreamChatOptions): ConnectAPIResponse<T>;
66
+ init(apiKey: string, userOrId: string | OwnUserResponse<T> | UserResponse<T> | undefined, userTokenOrProvider: TokenOrProvider, clientOptions?: StreamChatOptions & {
67
+ trackPendingChannelInvites?: boolean;
68
+ }): ConnectAPIResponse<T>;
65
69
  /**
66
70
  * Disconnects the current user, and closes the WebSocket connection. Useful when disconnecting a chat user, use in combination with [`reset`](./ChannelService.mdx/#reset).
67
71
  */
@@ -1,6 +1,6 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
- import { AttachmentContext, AttachmentListContext, AttachmentPreviewListContext, AvatarContext, ChannelActionsContext, ChannelHeaderInfoContext, ChannelPreviewContext, ChannelPreviewInfoContext, CommandAutocompleteListItemContext, CustomAttachmentUploadContext, CustomMetadataContext, DateSeparatorContext, DefaultStreamChatGenerics, DeliveredStatusContext, EmojiPickerContext, IconContext, LoadingIndicatorContext, MentionAutcompleteListItemContext, MentionTemplateContext, MessageActionBoxItemContext, MessageActionsBoxContext, MessageContext, MessageInputContext, MessageReactionsContext, ModalContext, NotificationContext, ReadStatusContext, SendingStatusContext, SystemMessageContext, ThreadHeaderContext, TypingIndicatorContext, UnreadMessagesIndicatorContext, UnreadMessagesNotificationContext } from './types';
3
+ import { AttachmentContext, AttachmentListContext, AttachmentPreviewListContext, AvatarContext, ChannelActionsContext, ChannelHeaderInfoContext, ChannelPreviewContext, ChannelPreviewInfoContext, CommandAutocompleteListItemContext, CustomAttachmentUploadContext, CustomMetadataContext, DateSeparatorContext, DefaultStreamChatGenerics, DeliveredStatusContext, EmojiPickerContext, IconContext, MentionAutcompleteListItemContext, MentionTemplateContext, MessageActionBoxItemContext, MessageActionsBoxContext, MessageContext, MessageReactionsContext, MessageReactionsSelectorContext, ModalContext, NotificationContext, ReadStatusContext, SendingStatusContext, SystemMessageContext, ThreadHeaderContext, TypingIndicatorContext, UnreadMessagesIndicatorContext, UnreadMessagesNotificationContext } from './types';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * A central location for registering your custom templates to override parts of the chat application.
@@ -23,11 +23,6 @@ export declare class CustomTemplatesService<T extends DefaultStreamChatGenerics
23
23
  *
24
24
  */
25
25
  channelPreviewTemplate$: BehaviorSubject<TemplateRef<ChannelPreviewContext<DefaultStreamChatGenerics>> | undefined>;
26
- /**
27
- * The message input template used when editing a message (instead of the [default message input](../components/MessageInputComponent.mdx))
28
- *
29
- */
30
- messageInputTemplate$: BehaviorSubject<TemplateRef<MessageInputContext> | undefined>;
31
26
  /**
32
27
  * The template used for displaying a [mention inside a message](../code-examples/mention-actions.mdx)
33
28
  *
@@ -77,12 +72,12 @@ export declare class CustomTemplatesService<T extends DefaultStreamChatGenerics
77
72
  * Template for displaying the loading indicator (instead of the [default loading indicator](../components/LoadingIndicatorComponent.mdx))
78
73
  *
79
74
  */
80
- loadingIndicatorTemplate$: BehaviorSubject<TemplateRef<LoadingIndicatorContext> | undefined>;
75
+ loadingIndicatorTemplate$: BehaviorSubject<TemplateRef<void> | undefined>;
81
76
  /**
82
77
  * Template for displaying the message actions box (instead of the [default message actions box](../components/MessageActionsBoxComponent.mdx))
83
78
  *
84
79
  */
85
- messageActionsBoxTemplate$: BehaviorSubject<TemplateRef<MessageActionsBoxContext> | undefined>;
80
+ messageActionsBoxTemplate$: BehaviorSubject<TemplateRef<MessageActionsBoxContext<DefaultStreamChatGenerics>> | undefined>;
86
81
  /**
87
82
  * The template used for displaying an item in the [message actions box](../components/MessageActionsBoxComponent.mdx)
88
83
  *
@@ -93,6 +88,11 @@ export declare class CustomTemplatesService<T extends DefaultStreamChatGenerics
93
88
  *
94
89
  */
95
90
  messageReactionsTemplate$: BehaviorSubject<TemplateRef<MessageReactionsContext> | undefined>;
91
+ /**
92
+ * The template used to display the reactions of a [message](../components/MessageComponent.mdx), and the selector to add a reaction to a message (instead of the [default message reactions component](../components/MessageReactionsComponent.mdx))
93
+ *
94
+ */
95
+ messageReactionsSelectorTemplate$: BehaviorSubject<TemplateRef<MessageReactionsSelectorContext> | undefined>;
96
96
  /**
97
97
  * The template used to display a modal window (instead of the [default modal](../components/ModalComponent.mdx))
98
98
  *
@@ -200,10 +200,6 @@ export declare class CustomTemplatesService<T extends DefaultStreamChatGenerics
200
200
  * The template to show if the thread message list is empty
201
201
  */
202
202
  emptyThreadMessageListPlaceholder$: BehaviorSubject<TemplateRef<void> | undefined>;
203
- /**
204
- * The template used to display the [edit message form](../components/EditMessageFormComponent.mdx)
205
- */
206
- editMessageFormTemplate$: BehaviorSubject<TemplateRef<void> | undefined>;
207
203
  /**
208
204
  * The template used to display the [message bounce prompt](../components/MessageBouncePromptComponent.mdx)
209
205
  */
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- export declare type Icon = 'action-icon' | 'delivered-icon' | 'read-icon' | 'reaction-icon' | 'connection-error' | 'send' | 'file-upload' | 'retry' | 'close' | 'file' | 'audio-file' | 'reply' | 'close-no-outline' | 'reply-in-thread' | 'arrow-left' | 'arrow-right' | 'menu' | 'arrow-up' | 'arrow-down' | 'chat-bubble' | 'attach' | 'unspecified-filetype' | 'download' | 'error' | 'play' | 'pause';
2
+ export declare type Icon = 'action' | 'delivered' | 'read' | 'reaction' | 'send' | 'retry' | 'close' | 'audio-file' | 'reply-in-thread' | 'arrow-left' | 'arrow-up' | 'arrow-down' | 'arrow-right' | 'chat-bubble' | 'attach' | 'unspecified-filetype' | 'download' | 'error' | 'play' | 'pause';
3
3
  /**
4
4
  * The `Icon` component can be used to display different icons (i. e. message delivered icon).
5
5
  */
@@ -8,11 +8,7 @@ export declare class IconComponent {
8
8
  * The icon to display, the list of [supported icons](https://github.com/GetStream/stream-chat-angular/tree/master/projects/stream-chat-angular/src/lib/icon/icon.component.ts) can be found on GitHub.
9
9
  */
10
10
  icon: Icon | undefined;
11
- /**
12
- * The size of the icon (in pixels)
13
- */
14
- size: number | undefined;
15
11
  constructor();
16
12
  static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "stream-icon", never, { "icon": "icon"; "size": "size"; }, {}, never, never, false, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "stream-icon", never, { "icon": "icon"; }, {}, never, never, false, never>;
18
14
  }
@@ -12,13 +12,9 @@ export declare class IconPlaceholderComponent implements OnChanges {
12
12
  * The icon to display, the list of [supported icons](https://github.com/GetStream/stream-chat-angular/tree/master/projects/stream-chat-angular/src/lib/icon/icon.component.ts) can be found on GitHub.
13
13
  */
14
14
  icon: Icon | undefined;
15
- /**
16
- * The size of the icon (in pixels)
17
- */
18
- size: number | undefined;
19
15
  iconContext: IconContext;
20
16
  constructor(customTemplatesService: CustomTemplatesService);
21
17
  ngOnChanges(): void;
22
18
  static ɵfac: i0.ɵɵFactoryDeclaration<IconPlaceholderComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<IconPlaceholderComponent, "stream-icon-placeholder", never, { "icon": "icon"; "size": "size"; }, {}, never, never, false, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconPlaceholderComponent, "stream-icon-placeholder", never, { "icon": "icon"; }, {}, never, never, false, never>;
24
20
  }
@@ -3,16 +3,7 @@ import * as i0 from "@angular/core";
3
3
  * The `LoadingIndicator` component displays a spinner to indicate that an action is in progress.
4
4
  */
5
5
  export declare class LoadingIndicatorComponent {
6
- /**
7
- * The size of the indicator (in pixels)
8
- */
9
- size: number;
10
- /**
11
- * The color of the indicator
12
- */
13
- color: string;
14
- linearGradientId: string;
15
6
  constructor();
16
7
  static ɵfac: i0.ɵɵFactoryDeclaration<LoadingIndicatorComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadingIndicatorComponent, "stream-loading-indicator", never, { "size": "size"; "color": "color"; }, {}, never, never, false, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoadingIndicatorComponent, "stream-loading-indicator", never, {}, {}, never, never, false, never>;
18
9
  }
@@ -1,21 +1,11 @@
1
1
  import { CustomTemplatesService } from '../custom-templates.service';
2
- import { LoadingIndicatorContext } from '../types';
3
2
  import * as i0 from "@angular/core";
4
3
  /**
5
4
  * The `LoadingInficatorPlaceholder` component displays the [default loading indicator](./LoadingIndicatorComponent.mdx) unless a [custom template](../services/CustomTemplatesService.mdx) is provided. This component is used by the SDK internally, you likely won't need to use it.
6
5
  */
7
6
  export declare class LoadingIndicatorPlaceholderComponent {
8
7
  customTemplatesService: CustomTemplatesService;
9
- /**
10
- * The size of the indicator (in pixels)
11
- */
12
- size: number;
13
- /**
14
- * The color of the indicator
15
- */
16
- color: string;
17
8
  constructor(customTemplatesService: CustomTemplatesService);
18
- getLoadingIndicatorContext(): LoadingIndicatorContext;
19
9
  static ɵfac: i0.ɵɵFactoryDeclaration<LoadingIndicatorPlaceholderComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadingIndicatorPlaceholderComponent, "stream-loading-indicator-placeholder", never, { "size": "size"; "color": "color"; }, {}, never, never, false, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<LoadingIndicatorPlaceholderComponent, "stream-loading-indicator-placeholder", never, {}, {}, never, never, false, never>;
21
11
  }