agentsclimarketplace

Syncfusion vue chat ui

Skill syncfusion/vue-ui-components-skills/skills/syncfusion-vue-chat-ui

This repository contains agent prompts for creating skills and organizing AI agent capabilities.

Install
npx -y skills add syncfusion/vue-ui-components-skills --skill syncfusion-vue-chat-ui

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Implement the Syncfusion Vue Chat UI component for Vue chat interfaces, messaging applications, conversational UI, chat widgets, real-time messaging, user-to-user communication, bot integrations, customer support chat, collaborative messaging, instant messaging features, chat rooms, or when user mentions "chat ui", "chat component", "messaging interface", "conversation view", or @syncfusion/ej2-vue-interactive-chat package.

SKILL.md

8.4 KB, as published. Nobody here has run it

Syncfusion Vue Chat UI Component

The Syncfusion Vue Chat UI component provides a modern, feature-rich interface for building conversational applications. It supports real-time messaging, user avatars, typing indicators, file attachments, message replies, mentions, timestamps, and bot integrations.

Component Overview

The Vue Chat UI component (ejs-chatui) provides:

  • Message Management: Add, update, and display messages with rich metadata (author, timestamp, status)
  • User System: Define current user and other participants with avatars, names, and status indicators
  • Interactive Features: Message replies, pinning, forwarding, toolbar actions, and @mentions
  • File Attachments: Upload, preview, and display files with drag-and-drop support
  • Templates: Customize messages, suggestions, empty states, typing indicators, attachments, and time breaks
  • Events: Handle message sending, user typing, attachment uploads, mention selection, and toolbar clicks
  • Accessibility: Built-in WCAG compliance, keyboard navigation, and RTL support
  • Bot Integration: Connect with Microsoft Bot Framework and Dialogflow

Package: @syncfusion/ej2-vue-interactive-chat
Vue Support: Vue 3 Dependencies: Base, Inputs, Navigations, Buttons, Popups, Dropdowns, Splitbuttons

Documentation and Navigation Guide

Getting Started

πŸ“„ Read: references/getting-started.md

  • Installation and package setup (@syncfusion/ej2-vue-interactive-chat)
  • Basic Chat UI implementation
  • CSS imports and Material3 theme configuration
  • Component registration and first render
  • Defining messages with <e-messages> and <e-message> directives
  • Setting up current user

Messages Configuration

πŸ“„ Read: references/messages.md

  • Message model structure (text, author, timestamp, id)
  • Adding messages with <e-message> selector
  • Message properties: isPinned, isForwarded, replyTo
  • Message status with icons and tooltips
  • Attached files in messages
  • Mention users in message text
  • Message IDs for tracking and updates

Users and Avatars

πŸ“„ Read: references/users.md

  • User model configuration (id, user, avatarUrl)
  • Current user vs other participants
  • Avatar display (URL or initials fallback)
  • Avatar background colors customization
  • Status icons with cssClass
  • Typing users list and indicators
  • User CSS class customization

Appearance and Styling

πŸ“„ Read: references/appearance.md

  • Component dimensions (height, width)
  • CSS class customization with cssClass property
  • RTL (right-to-left) support
  • Compact mode layout (all messages left-aligned)
  • Empty chat template for no messages
  • Persistence across page reloads
  • Theming with Material3, Bootstrap, Fabric

Header and Footer Configuration

πŸ“„ Read: references/header-footer.md

  • Header text and icon configuration
  • Header toolbar settings and items
  • Toolbar item configuration (text, icon, tooltip, align)
  • Show/hide header with showHeader property
  • Show/hide footer with showFooter property
  • Footer template customization
  • Placeholder text for input textarea
  • Toolbar item click events

Timestamps and Time Breaks

πŸ“„ Read: references/timestamps-timebreaks.md

  • Show/hide timestamps with showTimeStamp
  • Timestamp format customization
  • Time breaks for date-based grouping
  • Custom time break templates
  • Localization and culture-specific formats
  • Per-message timestamp formats

Advanced Features

πŸ“„ Read: references/advanced-features.md

  • @Mention functionality with trigger character
  • Mention users list and suggestion popup
  • File attachments configuration (saveUrl, allowed types, max size)
  • Drag-and-drop attachments
  • Message toolbar (Reply, Pin, Delete, Copy, Forward)
  • Message toolbar customization and events
  • Load on demand for message history
  • Auto scroll to bottom for new messages
  • Suggestions above input textarea

Templates

πŸ“„ Read: references/templates.md

  • Message template for custom message rendering
  • Suggestion template for suggestion items
  • Typing users template for typing indicators
  • Empty chat template for no messages state
  • Footer template for custom footer
  • Attachment template for file display in footer
  • Preview template for attachment previews
  • Time break template for date separators
  • Template context data (message, index, suggestion)

Events and Methods

πŸ“„ Read: references/events-methods.md

  • created event (component initialization)
  • messageSend event (before message sent)
  • userTyping event (typing indicators)
  • mentionSelect event (mention selection)
  • Attachment events (beforeUpload, success, failure, removed)
  • Toolbar item click events (header and message toolbars)
  • addMessage() method to append messages
  • updateMessage() method to modify messages
  • scrollToBottom() method for navigation
  • scrollToMessage() method to scroll to specific message
  • focus() method for input textarea

Bot Integrations

πŸ“„ Read: references/bot-integrations.md

  • Integration with Microsoft Bot Framework
  • Integration with Google Dialogflow
  • Bot message handling and responses
  • Connecting to bot services
  • Sample bot conversation flows
  • Handling bot-initiated messages

Quick Start

Basic Chat UI

<template>
  <div id="container" style="height: 400px; width: 500px;">
    <ejs-chatui :user="currentUser">
      <e-messages>
        <e-message 
          :author="currentUser" 
          text="Hello! How can I help you today?"
        ></e-message>
        <e-message 
          :author="supportUser" 
          text="Hi! I need assistance with my order."
        ></e-message>
      </e-messages>
    </ejs-chatui>
  </div>
</template>

<script setup>
import { 
  ChatUIComponent as EjsChatui, 
  MessagesDirective as EMessages, 
  MessageDirective as EMessage 
} from "@syncfusion/ej2-vue-interactive-chat";

const currentUser = {
  id: "user1",
  user: "Albert",
  avatarUrl: "./albert.png"
};

const supportUser = {
  id: "user2",
  user: "Support Agent",
  avatarUrl: "./support.png"
};
</script>

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

Common Patterns

Dynamic Message Handling

<script setup>
import { ref } from 'vue';
import { ChatUIComponent as EjsChatui } from "@syncfusion/ej2-vue-interactive-chat";

const chatRef = ref(null);

// Add message dynamically
const sendMessage = (text) => {
  chatRef.value.addMessage({
    text: text,
    author: currentUser,
    timestamp: new Date()
  });
};

// Handle message send event
const onMessageSend = (args) => {
  console.log('Message sent:', args.message);
  // Send to backend or bot service
};
</script>

<template>
  <ejs-chatui 
    ref="chatRef"
    :user="currentUser"
    :messageSend="onMessageSend"
  ></ejs-chatui>
</template>

Message Replies and Threading

<e-message 
  :author="currentUser" 
  text="I've completed the review."
  :replyTo="{
    messageID: 'msg-123',
    text: 'Can you review the document?',
    user: otherUser,
    timestamp: new Date('2026-03-27T10:00:00')
  }"
></e-message>

File Attachments

<ejs-chatui 
  :user="currentUser"
  :enableAttachments="true"
  :attachmentSettings="{
    saveUrl: 'https://api.example.com/upload',
    allowedFileTypes: '.jpg,.png,.pdf,.docx',
    maxFileSize: 5242880,
    maximumCount: 3
  }"
  :beforeAttachmentUpload="handleBeforeUpload"
  :attachmentUploadSuccess="handleUploadSuccess"
></ejs-chatui>

@Mentions

<ejs-chatui 
  :user="currentUser"
  mentionTriggerChar="@"
  :mentionUsers="[
    { id: 'u1', user: 'Alice' },
    { id: 'u2', user: 'Bob' },
    { id: 'u3', user: 'Charlie' }
  ]"
  :mentionSelect="handleMentionSelect"
></ejs-chatui>

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.