skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
syncfusion/angular-ui-components-skills288 installs

syncfusion-angular-chat-ui

Implement the Syncfusion Angular Chat UI component. Use this skill whenever users need to implement messaging, real-time conversations, file attachments, typing indicators, user mentions, or bot integrations (Dialogflow, Microsoft Bot Framework) in Angular applications. Essential for customer support chatbots, team messaging apps, AI-powered assistants, and collaborative communication interfaces.

How do I install this agent skill?

npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-chat-ui
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubfail

    The skill provides legitimate documentation and implementation guides for Syncfusion's Angular Chat UI component, including strong security guidance for developers.

  • Socketwarn

    1 alert: gptAnomaly

  • Snykpass

    Risk: LOW · No issues

  • ZeroLeakspass

    1 finding · Score: 86/100

What does this agent skill do?

Syncfusion Angular Chat UI Component

Component Overview

The Syncfusion Angular Chat UI component provides a complete, feature-rich solution for building conversational interfaces in Angular applications. It enables real-time messaging, user presence indicators, file attachments, typing indicators, and seamless integration with bot frameworks and AI services.

Key Capabilities:

  • Message Management - Configure messages with text, rich templates, media, replies, pinning, and forwarding
  • User System - Define current user, presence status, avatars with custom styling and mentions
  • Appearance Control - Customize width, height, placeholder, CSS classes, compact mode, and suggestions
  • Header & Footer - Control visibility, titles, icons, custom templates, and header toolbar with actions
  • Events & Interactions - Handle message send, typing indicators, toolbar actions (copy, reply, pin, delete)
  • Templates - Customize empty chat, messages, time breaks, typing indicators, and suggestion items
  • File Attachments - Enable uploads with type/size restrictions, drag-and-drop, custom paths, attachment click events
  • Methods - Programmatically add/update messages, scroll to bottom, scroll to specific message, focus input
  • Globalization - Support multiple languages (i18n), RTL text direction, and locale-based formatting
  • Advanced Features - Load on demand, state persistence, mentions, message status, time breaks, bot integrations

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and package setup (Ivy vs ngcc)
  • Setup Angular environment with Angular CLI
  • Basic component initialization
  • Configuring messages and users
  • CSS imports and theme configuration
  • Running the application

Messages and Users

📄 Read: references/messages-and-users.md

  • Message configuration and properties (text, id, author, timestamp)
  • User models and avatars
  • Defining current user with unique identifier
  • Avatar URLs and custom background colors
  • User presence status (online, offline, away, busy)
  • Message pinning for important messages
  • Enhanced MessageReplyModel with complete interface documentation
  • Reply with attachments and timestamp formatting
  • Dynamic reply creation patterns
  • Message forwarding
  • Compact mode for group conversations
  • Markdown message support

Appearance and Layout

📄 Read: references/appearance-and-layout.md

  • Placeholder text customization
  • Width and height properties
  • CSS class customization for styling
  • Compact mode configuration
  • Auto-scroll to bottom behavior
  • Suggestions display for quick replies

Header and Footer

📄 Read: references/header-and-footer.md

  • Header visibility control
  • Header text (title) configuration
  • Header icon customization with CSS classes
  • Header toolbar with custom actions (call, video, settings, profile)
  • ToolbarSettingsModel configuration with items and itemClicked event
  • Footer visibility and control
  • Footer template for custom layouts

Events and Interactions

📄 Read: references/events-and-interactions.md

  • Component lifecycle events (created)
  • Message send event handling
  • User typing event and typing indicators
  • Message toolbar configuration
  • Complete ToolbarItemModel properties (align, cssClass, disabled, iconCss, tabIndex, template, text, tooltip, type, visible)
  • Toolbar items customization (copy, reply, pin, delete, forward)
  • Item click event handling
  • Toolbar width configuration
  • Before/after attachment events
  • Header toolbar vs message toolbar differences

Templates and Content

📄 Read: references/templates-and-content.md

  • Message template customization
  • Empty chat template for initial state
  • Time break template for date separators
  • Message status and delivery icons
  • Timestamp display and visibility
  • Timestamp format customization (dd/MM/yyyy hh:mm a)
  • Suggestion template customization with context variables (index, suggestion)
  • Advanced suggestion examples (category-based, search-highlighted, icon-based)
  • Typing indicator template

Attachments and File Handling

📄 Read: references/attachments-and-file-handling.md

  • Enable file attachment support
  • Attachment settings configuration
  • Server endpoints (saveUrl, removeUrl)
  • File type restrictions and filters
  • File size limits (default 30MB)
  • SaveFormat enum (Blob vs Base64) with advantages and use cases
  • Custom storage paths with path property for CDN/cloud storage
  • Drag-and-drop file upload
  • Maximum file count restrictions
  • File preview templates
  • Attachment templates
  • attachmentClick event for custom file interactions (preview, download, metadata)
  • attachedFile property for pre-populating messages with files
  • Upload event handling (success, failure)

Methods and Programmatic Control

📄 Read: references/methods-and-programmatic-control.md

  • addMessage() - Add new messages programmatically
  • updateMessage() - Edit existing messages
  • scrollToBottom() - Scroll to latest messages
  • scrollToMessage(messageId) - Navigate to specific message (pinned messages, search results, deep linking)
  • focus() - Set focus to chat input programmatically (auto-focus, modal close, command execution)
  • ViewChild component access
  • Accessing chat instance for direct control

Globalization and Localization

📄 Read: references/globalization-and-localization.md

  • Localization (L10n) and i18n support
  • Typing indicator translations
  • Multiple language support
  • Right-to-Left (RTL) layout for Arabic, Hebrew, Persian
  • Locale configuration
  • Language-specific string customization

Advanced Features

📄 Read: references/advanced-features.md

  • State persistence with enablePersistence (localStorage, cross-tab sync, browser refresh protection)
  • Custom persistence implementations for sensitive data
  • Load on demand for large message histories (1000+ messages)
  • Mention integration with @character
  • Trigger character customization
  • Predefined mentions in messages
  • mentionSelect event handling
  • Message status tracking (sent, delivered, read)
  • Time breaks between messages for date organization

Bot Integrations

📄 Read: references/bot-integrations.md

  • Google Dialogflow integration for AI conversations
  • Microsoft Bot Framework integration with Azure
  • Direct Line API configuration
  • Token server setup for security
  • Backend API configuration
  • Secure credential handling
  • Bot response message handling
  • Session management

Quick Start Example

Here's a minimal example to get started:

import { Component } from '@angular/core';
import { ChatUIModule } from '@syncfusion/ej2-angular-interactive-chat';
import { UserModel } from '@syncfusion/ej2-interactive-chat';

@Component({
  imports: [ChatUIModule],
  standalone: true,
  selector: 'app-root',
  template: `
    <div id="chatui" ejs-chatui 
         [user]="currentUserModel" 
         headerText="TeamSync Professionals">
      <e-messages>
        <e-message text="Hi, how are you?" [author]="currentUserModel"></e-message>
        <e-message text="Great! How can I help?" [author]="michaleUserModel"></e-message>
      </e-messages>
    </div>
  `,
  styles: [`
    #chatui {
      height: 500px;
      width: 100%;
    }
  `]
})
export class AppComponent {
  public currentUserModel: UserModel = { user: 'Albert', id: 'user1' };
  public michaleUserModel: UserModel = { user: 'Michale', id: 'user2' };
}

Installation:

npm install @syncfusion/ej2-angular-interactive-chat

CSS Import (src/styles.css):

@import "../node_modules/@syncfusion/ej2-material3-theme/styles/chat-ui/index.css";

Key Components and Props

Core Component:

  • <ejs-chatui> - Main chat container
    • [user] - Current user model (UserModel)
    • [messages] - Message collection
    • headerText - Header title
    • [headerToolbar] - Header toolbar with custom actions
    • [height] / [width] - Dimensions
    • [enableAttachments] - File upload support
    • [enablePersistence] - State persistence across sessions
    • [enableRtl] - Right-to-left layout
    • [attachmentSettings] - File upload configuration
    • [messageToolbarSettings] - Message-level toolbar
    • [suggestions] - Quick reply suggestions
    • [suggestionTemplate] - Custom suggestion rendering

Message Element:

  • <e-message> - Individual message
    • text - Message content
    • [author] - User who sent message
    • [timeStamp] - Message timestamp
    • [timeStampFormat] - Custom timestamp format
    • [isPinned] - Pin importance
    • [replyTo] - Thread context (MessageReplyModel)
    • [isForwarded] - Forwarded indicator
    • [attachedFile] - Pre-populated file attachments (FileInfo)
    • [status] - Message delivery status (MessageStatusModel)
    • [mentionUsers] - Users mentioned in message

User Model Properties:

  • id - Unique user identifier
  • user - Display name
  • avatarUrl - Avatar image
  • avatarBgColor - Avatar background color
  • statusIconCss - Presence status icon

Common Use Cases

1. Customer Support Chat

  • Configure header with support team name
  • Enable file attachments for screenshots/documents
  • Use message status for delivery tracking
  • Integrate with Dialogflow for AI-powered responses

2. Team Messaging App

  • Multiple users with presence status
  • Mention teammates with @mentions
  • Pin important decisions/announcements
  • Use timestamp format for timezone support

3. AI Assistant

  • Integrate with Microsoft Bot Framework or Dialogflow
  • Show typing indicator while bot responds
  • Suggest quick replies with suggestions array
  • Handle bot-specific message formatting

4. Load Performance

  • Enable load on demand for 1000+ message conversations
  • Implement auto-scroll for smooth scrolling
  • Use compact mode to reduce vertical space
  • Lazy load attachments and media

5. Internationalization (i18n)

  • Provide localized typing indicators ("X is typing")
  • Enable RTL for Arabic/Hebrew/Persian users
  • Customize date/time format per locale
  • Translate button labels and placeholders

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/syncfusion/angular-ui-components-skills/syncfusion-angular-chat-ui">View syncfusion-angular-chat-ui on skillZs</a>