@yext/chat-ui-react
TypeScript icon, indicating that this package has built-in type declarations

0.11.4 • Public • Published

chat-ui-react

A library of React Components for powering Yext Chat integrations.

See the full documentation here.

Getting Started

Install the library through NPM:

npm install @yext/chat-ui-react

Once the library and its peer dependencies are installed, our React Components should be nested inside the ChatHeadlessProvider. ChatHeadlessProvider requires a HeadlessConfig object with the appropriate credentials and configurations:

import {
  ChatHeadlessProvider,
  HeadlessConfig,
} from "@yext/chat-headless-react";
import { ChatPanel } from "@yext/chat-ui-react";

const config: HeadlessConfig = {
  apiKey: "<apiKey>",
  botId: "<botId>",
};

function App() {
  return (
    <ChatHeadlessProvider config={config}>
      <ChatPanel />
    </ChatHeadlessProvider>
  );
}

export default App;

Styling

default styling

Tailwind

The component library utilizes Tailwind styling by default. Please make sure that your application's tailwind configuration includes the following:

  • The content field should contain the path to the location of the @yext/chat-ui-react library (e.g., node_modules/@yext/chat-ui-react/lib/**/*.{js,jsx})
  • The default theme should be extended with the custom styling used by the components specified here.

CSS bundle

For projects that do not use Tailwind, a css bundle is exported as part of this package. To use it, you can import the file @yext/chat-ui-react/bundle.css into your normal CSS flow.

Example for Yext Pages:

/* index.css */
@import "@yext/chat-ui-react/bundle.css";

The CSS bundle is scoped to the target class .yext-chat, which is automatically included as a wrapper div in both ChatPanel and ChatPopUp.

custom styling

Projects that use Tailwind may pass Tailwind classnames into the Chat components using the customCssClasses prop:

const customCssClasses: ChatPanelCssClasses = {
  container: "bg-blue-300"
}
<ChatPanel customCssClasses={customCssClasses}>

Projects that don't use Tailwind may target the default styleless classnames added into the html elements within the Chat components and add their own css styling:

.yext-chat-panel__container {
  background-color: blue;
}

Alternatively, user may provide their own classnames using the customCssClasses prop and target that instead

Package Sidebar

Install

npm i @yext/chat-ui-react

Weekly Downloads

322

Version

0.11.4

License

BSD-3-Clause

Unpacked Size

576 kB

Total Files

246

Last publish

Collaborators

  • bajohnson-yext
  • sre-ops
  • tarun-revalla-yext
  • ejaffee1
  • alapre
  • mkouzel
  • kgerner-yext
  • sahilvaidya
  • fondriest
  • mgdunn2
  • deepakyext
  • rpope-yext
  • johnnguyen
  • tsayyapureddi
  • yext-bot
  • souravkumar
  • anguyenyext
  • gargsi
  • manash-rauta
  • saivythik
  • scheerla
  • a_ashwik
  • slapshot-bot
  • ataing
  • ttanushree
  • abhishekbajpai
  • tpotla
  • nbramblett
  • emilyzhang777
  • sscott24
  • dsurducan
  • afriedman00
  • lilwang
  • dgurland
  • htamirepi
  • ajgist
  • emilyfranklin
  • bryanreed
  • dlsgusrn7577
  • paigep
  • petya182
  • zhengzhi
  • jballschneider
  • jknutsonn
  • jamesyang14
  • jfromm
  • tobyko
  • lymarrie
  • mkilpatrick
  • baigel1
  • dkang3021
  • mleifer
  • pmomesso
  • eefi
  • jaredhood
  • jrhoads
  • apavlick
  • yext_eng_npm
  • benmcginnis
  • kunal-p
  • tmeyer2115
  • mbowman
  • jronkin_yext
  • svc_jenkins_consulting_yext
  • cblair_yext
  • willgorick
  • bhaines-yext
  • rconsalo
  • tritpham
  • sharvey
  • npatel94
  • johncho92
  • canderson_yext
  • ssaunders
  • rpope
  • eal172
  • peteros
  • ytruong