Getting Started with the KendoReact Conversational UIPremium
This guide provides essential information about using the KendoReact Conversational UI package and Chat component—you will learn how to install the Conversational UI package, add a Chat component to your project, style the component, and activate your license.
After completing this guide, you will be able to reproduce the following example.
Before You Begin
npm create vite@latest my-app -- --template react
This guide requires that you have basic knowledge of React and TypeScript, and that you have already created a blank React project.
You can speed up the development of your KendoReact application with the Kendo UI Template Wizard for Visual Studio Code.
Install the Component
npm i @progress/kendo-react-conversational-ui
Importing the Component
After installing the package, import the Chat component in your React app. To enable message sending functionality, also import the Message entity.
In the src/App.js
file of your React project, import the Chat
component from the Conversational UI package:
// ES2015 module syntax
import { Chat, Message } from "@progress/kendo-react-conversational-ui";
// CommonJS format
const { Chat, Message } = require('@progress/kendo-react-conversational-ui');
Using the Component
- Add the required Chat entities: a
user
,bot
, andinitialMessages
.
const user = {
id: 1,
avatarUrl: 'assets/dropdowns/contacts/RICSU.jpg',
avatarAltText: 'KendoReact Conversational UI RICSU'
};
const bot = { id: 0 };
const initialMessages: Message[] = [
{
id: 1,
author: bot,
timestamp: new Date(),
text: 'Hello, This is the KendoReact Chat component.'
}
];
- Set the component messages and configure the updating of the messages collection in the state.
const App = () => {
const [messages, setMessages] = React.useState(initialMessages);
const addNewMessage = (event) => {
setMessages([...messages, event.message]);
};
...
- Add the component's markup and set the messages, authorId, and message sending handler. Optionally, configure placeholder text and the height of the Chat component.
return (
<div>
<Chat
messages={messages}
authorId={user.id}
onSendMessage={addNewMessage}
placeholder={'Type a message...'}
width={400}
height={600}
className="k-m-auto"
/>
</div>
);
-
To style the Chat, install and import the Default theme, which is one of the three beautiful themes for KendoReact.
2.1. Install the Default theme package.
shnpm i @progress/kendo-theme-default
2.2. Import the CSS file from the package in
src/App.js
. Add this import before your existingApp.css
import.jsximport '@progress/kendo-theme-default/dist/all.css';
-
Build and run the application by typing the following command in the root folder of your project:
shnpm start
-
Navigate to http://localhost:3000 to see the KendoReact Chat component on the page.
Activating Your License Key
Important: The KendoReact Conversational UI is a premium component that requires a license key file to be installed in your project. This applies to both trial and commercial usage:
- Trial usage: Start a free trial and download a trial license key file
- Commercial usage: Purchase a license and download a commercial license key file
Without a valid license key file, the component will display licensing warnings and watermarks.
Follow the instructions on the KendoReact My License page to download and install your license key file. You can skip this step if your application already contains a KendoReact license file.
Dependencies
The Conversational UI package requires you to install the following peer dependencies in your application:
Package Name | Description |
---|---|
react 16.8.2* | Contains the functionality necessary to define React components. |
react-dom | Contains the React renderer for the web. |
@progress/kendo-licensing | Contains the internal infrastructure related to licensing. |
@progress/kendo-react-buttons | Contains the KendoReact Buttons components. |
@progress/kendo-react-intl | Contains the KendoReact Internationalization package that applies the desired cultures by providing services and pipes for the parsing and formatting of dates and numbers. |
@progress/kendo-svg-icons | Contains the KendoReact SVG icons. |
Suggested Links
- Binding the Chat to data
- Displaying suggested actions in the Chat
- Customizing messages by using Templates
- API Reference of the Chat