# CustomTemplatesService

A central location for registering your custom templates to override parts of the chat application.

For code examples to the different customizations see our [customizations example application](https://github.com/GetStream/stream-chat-angular/tree/master/projects/customizations-example), specifically the [AppComponent](https://github.com/GetStream/stream-chat-angular/tree/master/projects/customizations-example/src/app) (see [README](https://github.com/GetStream/stream-chat-angular/blob/master/README.md#customization-examples) for instructions on how to start the application).

You can find the type definitions of the context that is provided for each template [on GitHub](https://github.com/GetStream/stream-chat-angular/blob/master/projects/stream-chat-angular/src/lib/types.ts)

## Type parameters

| Name | Type                                                              |
| :--- | :---------------------------------------------------------------- |
| `T`  | extends `DefaultStreamChatGenerics` = `DefaultStreamChatGenerics` |

## Properties

### attachmentActionsTemplate$

**attachmentActionsTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how attachment actions are displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:281](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L281)

---

### attachmentListTemplate$

**attachmentListTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentListContext>>`

The template used to display attachments of a [message](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/) (instead of the [default attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:114](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L114)

---

### attachmentPreviewListTemplate$

**attachmentPreviewListTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentPreviewListContext>>`

The template used to display attachments in the [message input](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageInputComponent) component (instead of the [default attachment preview](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentPreviewListComponent))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:121](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L121)

---

### avatarTemplate$

**avatarTemplate$**: `BehaviorSubject<undefined | TemplateRef<AvatarContext>>`

The template used to display avatars for channels and users (instead of the [default avatar](https://getstream.io/chat/docs/sdk/angular/v5/components/AvatarComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:128](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L128)

---

### cardAttachmentTemplate$

**cardAttachmentTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how a card attachment is displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:275](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L275)

---

### channelActionsTemplate$

**channelActionsTemplate$**: `BehaviorSubject<undefined | TemplateRef<ChannelActionsContext<DefaultStreamChatGenerics>>>`

The template for channel actions displayed in the [channel header](https://getstream.io/chat/docs/sdk/angular/v5/components/ChannelHeaderComponent/) (by default no channel action is displayed)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:107](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L107)

---

### channelHeaderInfoTemplate$

**channelHeaderInfoTemplate$**: `BehaviorSubject<undefined | TemplateRef<ChannelHeaderInfoContext<DefaultStreamChatGenerics>>>`

The template used to display additional information about a channel under the channel name inside the [channel header component](https://getstream.io/chat/docs/sdk/angular/v5/components/ChannelHeaderComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:232](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L232)

---

### channelPreviewInfoTemplate$

**channelPreviewInfoTemplate$**: `BehaviorSubject<undefined | TemplateRef<ChannelPreviewInfoContext<DefaultStreamChatGenerics>>>`

Template used to display the channel information inside the [channel list item](https://getstream.io/chat/docs/sdk/angular/v5/components/ChannelPreviewComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:334](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L334)

---

### channelPreviewTemplate$

**channelPreviewTemplate$**: `BehaviorSubject<undefined | TemplateRef<ChannelPreviewContext<DefaultStreamChatGenerics>>>`

Template used to display an item in the [channel list](https://getstream.io/chat/docs/sdk/angular/v5/components/ChannelListComponent/) (instead of the default [channal list item](https://getstream.io/chat/docs/sdk/angular/v5/components/ChannelPreviewComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:72](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L72)

---

### commandAutocompleteItemTemplate$

**commandAutocompleteItemTemplate$**: `BehaviorSubject<undefined | TemplateRef<CommandAutocompleteListItemContext>>`

The autocomplete list item template for commands (used in the [`AutocompleteTextareaComponent`](https://getstream.io/chat/docs/sdk/angular/v5/components/AutocompleteTextareaComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:65](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L65)

---

### customAttachmentListTemplate$

**customAttachmentListTemplate$**: `BehaviorSubject<undefined | TemplateRef<CustomAttachmentListContext<DefaultStreamChatGenerics>>>`

The template used to display custom attachments in the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:346](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L346)

---

### customAttachmentPreviewListTemplate$

**customAttachmentPreviewListTemplate$**: `BehaviorSubject<undefined | TemplateRef<CustomAttachmentPreviewListContext<DefaultStreamChatGenerics>>>`

The template used to display custom attachment previews in the [message input component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageInputComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:340](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L340)

---

### customAttachmentUploadTemplate$

**customAttachmentUploadTemplate$**: `BehaviorSubject<undefined | TemplateRef<CustomAttachmentUploadContext>>`

The template used for displaying file upload/attachment selector inside the [message input](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageInputComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:239](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L239)

---

### customMessageMetadataInsideBubbleTemplate$

**customMessageMetadataInsideBubbleTemplate$**: `BehaviorSubject<undefined | TemplateRef<CustomMetadataContext<DefaultStreamChatGenerics>>>`

Template to display custom metadata inside the message bubble of the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

To properly position your template you should override the `grid-template-areas` of the `.str-chat__message-inner` selector

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:360](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L360)

---

### customMessageMetadataTemplate$

**customMessageMetadataTemplate$**: `BehaviorSubject<undefined | TemplateRef<CustomMetadataContext<T>>>`

Template to display custom metadata inside [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:225](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L225)

---

### dateSeparatorTemplate$

**dateSeparatorTemplate$**: `BehaviorSubject<undefined | TemplateRef<DateSeparatorContext>>`

The template used to display the date separator inside the [message list](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:293](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L293)

---

### deliveredStatusTemplate$

**deliveredStatusTemplate$**: `BehaviorSubject<undefined | TemplateRef<DeliveredStatusContext>>`

The template used for displaying the delivered state of the message inside the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

Displayed for the last message sent by the current user, if the message isn't yet read by anyone

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:200](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L200)

---

### emojiPickerTemplate$

**emojiPickerTemplate$**: `BehaviorSubject<undefined | TemplateRef<EmojiPickerContext>>`

The template for [emoji picker](https://getstream.io/chat/docs/sdk/angular/v5/code-examples/emoji-picker)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:86](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L86)

---

### emptyMainMessageListPlaceholder$

**emptyMainMessageListPlaceholder$**: `BehaviorSubject<undefined | TemplateRef<void>>`

The template to show if the main message list is empty

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:315](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L315)

---

### emptyThreadMessageListPlaceholder$

**emptyThreadMessageListPlaceholder$**: `BehaviorSubject<undefined | TemplateRef<void>>`

The template to show if the thread message list is empty

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:321](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L321)

---

### fileAttachmentTemplate$

**fileAttachmentTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how a file attachment is displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:269](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L269)

---

### galleryAttachmentTemplate$

**galleryAttachmentTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how image gallery is displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:263](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L263)

---

### iconTemplate$

**iconTemplate$**: `BehaviorSubject<undefined | TemplateRef<IconContext>>`

Template for displaying icons (instead of the [default icon component](https://getstream.io/chat/docs/sdk/angular/v5/components/IconComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:135](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L135)

---

### imageAttachmentTemplate$

**imageAttachmentTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how a single image attachment is displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:245](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L245)

---

### loadingIndicatorTemplate$

**loadingIndicatorTemplate$**: `BehaviorSubject<undefined | TemplateRef<void>>`

Template for displaying the loading indicator (instead of the [default loading indicator](https://getstream.io/chat/docs/sdk/angular/v5/components/LoadingIndicatorComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:142](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L142)

---

### mentionAutocompleteItemTemplate$

**mentionAutocompleteItemTemplate$**: `BehaviorSubject<undefined | TemplateRef<MentionAutcompleteListItemContext>>`

The autocomplete list item template for mentioning users (used in the [`AutocompleteTextareaComponent`](https://getstream.io/chat/docs/sdk/angular/v5/components/AutocompleteTextareaComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:59](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L59)

---

### mentionTemplate$

**mentionTemplate$**: `BehaviorSubject<undefined | TemplateRef<MentionTemplateContext>>`

The template used for displaying a [mention inside a message](https://getstream.io/chat/docs/sdk/angular/v5/code-examples/mention-actions/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:79](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L79)

---

### messageActionsBoxItemTemplate$

**messageActionsBoxItemTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageActionBoxItemContext<DefaultStreamChatGenerics>>>`

The template used for displaying an item in the [message actions box](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageActionsBoxComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:156](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L156)

---

### messageActionsBoxTemplate$

**messageActionsBoxTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageActionsBoxContext<DefaultStreamChatGenerics>>>`

Template for displaying the message actions box (instead of the [default message actions box](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageActionsBoxComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:149](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L149)

---

### messageBlockedTemplate$

**messageBlockedTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageBlockedContext>>`

The template used to display blocked messages that have been removed by moderation policies instead of the default [message blocked component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageBlockedComponent/)

The template has no effect if you're using a custom `messageTemplate$`

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:375](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L375)

---

### messageBouncePromptTemplate$

**messageBouncePromptTemplate$**: `BehaviorSubject<undefined | TemplateRef<void>>`

The template used to display the [message bounce prompt](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageBouncePromptComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:327](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L327)

---

### messageReactionsSelectorTemplate$

**messageReactionsSelectorTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageReactionsSelectorContext>>`

The template used to display the reactions of a [message](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/), and the selector to add a reaction to a message (instead of the [default message reactions component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageReactionsComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:170](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L170)

---

### messageReactionsTemplate$

**messageReactionsTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageReactionsContext>>`

The template used to display the reactions of a [message](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/), and the selector to add a reaction to a message (instead of the [default message reactions component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageReactionsComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:163](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L163)

---

### messageTemplate$

**messageTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageContext>>`

The template used to display a message in the [message list](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageListComponent/) (instead of the [default message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:100](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L100)

---

### messageTextTemplate$

**messageTextTemplate$**: `BehaviorSubject<undefined | TemplateRef<MessageTextContext>>`

Template to display the text content inside the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/). The default component is [stream-message-text](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageTextComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:366](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L366)

---

### modalTemplate$

**modalTemplate$**: `BehaviorSubject<undefined | TemplateRef<ModalContext>>`

The template used to display a modal window (instead of the [default modal](https://getstream.io/chat/docs/sdk/angular/v5/components/ModalComponent/))

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:177](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L177)

---

### newMessagesIndicatorTemplate$

**newMessagesIndicatorTemplate$**: `BehaviorSubject<undefined | TemplateRef<UnreadMessagesIndicatorContext>>`

The template used to display unread messages indicator inside the [message list](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageListComponent/) when the channel is opened

This UI element is used to separate unread messages from read messages

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:301](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L301)

---

### newMessagesNotificationTemplate$

**newMessagesNotificationTemplate$**: `BehaviorSubject<undefined | TemplateRef<UnreadMessagesNotificationContext>>`

The template used to display unread messages notification inside the [message list](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageListComponent/) when the channel is opened

Users can use this notification to jump to the first unread message when it's clicked

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:309](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L309)

---

### notificationTemplate$

**notificationTemplate$**: `BehaviorSubject<undefined | TemplateRef<NotificationContext>>`

The template used to override the [default notification component](https://getstream.io/chat/docs/sdk/angular/v5/components/NotificationComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:184](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L184)

---

### readStatusTemplate$

**readStatusTemplate$**: `BehaviorSubject<undefined | TemplateRef<ReadStatusContext>>`

The template used for displaying the sent state of the message inside the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

Displayed for the last message sent by the current user, if the message is read at least by one user

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:218](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L218)

---

### sendingStatusTemplate$

**sendingStatusTemplate$**: `BehaviorSubject<undefined | TemplateRef<SendingStatusContext>>`

The template used for displaying the sending state of the message inside the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

Displayed for the last message sent by the current user, if the message is currently being sent

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:209](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L209)

---

### systemMessageTemplate$

**systemMessageTemplate$**: `BehaviorSubject<undefined | TemplateRef<SystemMessageContext>>`

The template used to display [system messages](https://getstream.io/chat/docs/javascript/silent-messages/) indise the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:287](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L287)

---

### threadHeaderTemplate$

**threadHeaderTemplate$**: `BehaviorSubject<undefined | TemplateRef<ThreadHeaderContext>>`

The template used for header of a [thread](https://getstream.io/chat/docs/sdk/angular/v5/components/ThreadComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:191](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L191)

---

### threadLinkButton$

**threadLinkButton$**: `BehaviorSubject<undefined | TemplateRef<ThreadReplyButtonContext<DefaultStreamChatGenerics>>>`

The template used to display the number of thread replies inside the [message component](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:352](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L352)

---

### typingIndicatorTemplate$

**typingIndicatorTemplate$**: `BehaviorSubject<undefined | TemplateRef<TypingIndicatorContext>>`

The typing indicator template used in the [message list](https://getstream.io/chat/docs/sdk/angular/v5/components/MessageListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:93](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L93)

---

### videoAttachmentTemplate$

**videoAttachmentTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how a video attachment is displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/)

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:257](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L257)

---

### voiceRecordingAttachmentTemplate$

**voiceRecordingAttachmentTemplate$**: `BehaviorSubject<undefined | TemplateRef<AttachmentContext>>`

The template that can be used to override how a voice recording attachment is displayed inside the [attachment list](https://getstream.io/chat/docs/sdk/angular/v5/components/AttachmentListComponent/), by default the [voice recording component](https://getstream.io/chat/docs/sdk/angular/v5/components/VoiceRecordingComponent/) is used

#### Defined in

[projects/stream-chat-angular/src/lib/custom-templates.service.ts:251](https://github.com/GetStream/stream-chat-angular/blob/d65326c9379c93c53babc4e0ffe54519dd0712a9/projects/stream-chat-angular/src/lib/custom-templates.service.ts#L251)


---

This page was last updated at 2026-08-13T00:26:07.517Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/angular/v5/services/CustomTemplatesService/](https://getstream.io/chat/docs/sdk/angular/v5/services/CustomTemplatesService/).