MCPcopy Index your code
hub / github.com/Detaysoft/react-chat-elements

github.com/Detaysoft/react-chat-elements @v12.0.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v12.0.8 ↗ · + Follow
193 symbols 394 edges 68 files 0 documented · 0% 1 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

npm Github pre-)release

react-chat-elements

Reactjs chat elements

NOTE: this package not support react-native anymore.

Full Documentation, Changelog

Install

npm install react-chat-elements --save

Imports

// RCE CSS
import 'react-chat-elements/dist/main.css'
// MessageBox component
import { MessageBox } from 'react-chat-elements'

Components

  1. ChatItem
  2. MessageBox
  3. SystemMessage
  4. MessageList
  5. ChatList
  6. Input
  7. Button
  8. Popup
  9. SideBar
  10. Navbar
  11. Dropdown
  12. Avatar
  13. LocationMessage
  14. SpotifyMessage
  15. MeetingItem
  16. MeetingList
  17. MeetingLink

ChatItem Component

chatitem-photo

import { ChatItem } from 'react-chat-elements'
;<ChatItem
  avatar={'https://facebook.github.io/react/img/logo.svg'}
  alt={'Reactjs'}
  title={'Facebook'}
  subtitle={'What are you doing?'}
  date={new Date()}
  unread={0}
/>

ChatItem props

prop default type description
avatar none string ChatItem avatar photo url
avatarFlexible false boolean flexible ChatItem avatar photo
alt none string ChatItem avatar photo alt text
title none string ChatItem title
subtitle none string ChatItem subtitle
date none date ChatItem date
dateString none string ChatItem represents dateString or timeagojs(now, date)
unread 0 int ChatItem unread count
onClick none function ChatItem on click
onContextMenu none function ChatItem on context menu
statusColor none color ChatItem status color
statusColorType badge string ChatItem status color type (encircle, badge)
statusText none color ChatItem status text
lazyLoadingImage none image path lazy loading image
muted false bool chat mute info
showMute false bool chat mute button visibilty
showVideoCall false bool chat video call button visibilty
onClickMute none function mute button
onClickVideoCall none function video call button

MessageBox Component

file photo text location video audio
file-message photo-message text-message location-message
import { MessageBox } from 'react-chat-elements'
;<MessageBox
  position={'left'}
  type={'photo'}
  text={'react.svg'}
  data={{
    uri: 'https://facebook.github.io/react/img/logo.svg',
    status: {
      click: false,
      loading: 0,
    },
  }}
/>

MessageBox props

prop default type description
id i (index) string message box id
position left string message box position
type text string message type (text, photo, file, location, spotify, video, audio)
text none string message text
title none string message title
titleColor none string(color) message title color
data {} object message data
date new Date() Date message date
dateString none string message represents dateString or timeagojs(now, date)
onClick none function message on click (message(object) is returned)
onOpen none function message on open (file or photo) (message(object) is returned)
onDownload none function message on download (file or photo) (message(object) is returned)
onLoad none function message on load photo
onPhotoError none function message on error photo
onTitleClick none function message title on click event
onForwardClick none function message forward on click event
onReplyClick none function message reply on click event
onMeetingMessageClick none function meeting message on click event
onMeetingTitleClick none function meeting title message on click event
onMeetingVideoLinkClick none function meeting video link message on click event
onReplyMessageClick none function reply message on click event
onRemoveMessageClick none function message remove on click event
onMeetingMoreSelect none function message list item onMeetingMoreSelect event, gets 3 parameters: message item, index of item, event
onMeetingLinkClick none function meeting link on click event
onContextMenu none function message contextmenu click event
forwarded none boolean message forward icon
replyButton none boolean message reply icon
removeButton none boolean message remove icon
status none string message status info (waiting, sent, received, read)
notch true boolean message box notch
avatar none url message box avatar url
renderAddCmp none function (component) adding custom components to message box
copiableDate false boolean message box date text copiable
focus false boolean used in message focus feature in MessageList component, makes style of the component focused
onMessageFocused none function makes focus value false after the message becomes focus
reply none object reply data
retracted none boolean message deleted or retracted

Reply Message Component

import { MessageBox } from 'react-chat-elements'
;<MessageBox
  reply={{
    photoURL: 'https://facebook.github.io/react/img/logo.svg',
    title: 'elit magna',
    titleColor: '#8717ae',
    message: 'Aliqua amet incididunt id nostrud',
  }}
  onReplyMessageClick={() => console.log('reply clicked!')}
  position={'left'}
  type={'text'}
  text={'Tempor duis do voluptate enim duis velit veniam aute ullamco dolore duis irure.'}
/>

reply-message

MeetingMessage Component

```javascript import { MeetingMessage } from 'react-chat-elements'

<MeetingMessage subject={'New Release'} title={'in ullamco'} date={new Date()} collapseTitle={'Commodo aliquip'} participants={[ { id: '1', title: 'Facebook', }, . . . ]} dataSource={[ { id: '1', avatar: 'https://facebook.github.io/react/img/logo.svg', message: 'Lorem ipsum dolor sit amet.', title: 'Elit magna', avatarFlexible: true, date: new Date(),

Extension points exported contracts — how you extend this code

IChatItemProps (Interface)
(no doc)
src/type.d.ts
HTMLAttributes (Interface)
(no doc)
src/declaration.d.ts
ILetterItem (Interface)
(no doc)
src/type.d.ts
IChatListProps (Interface)
(no doc)
src/type.d.ts
IDefaultProps (Interface)
(no doc)
src/type.d.ts
IMessage (Interface)
(no doc)
src/type.d.ts

Core symbols most depended-on inside this repo

token
called by 45
example/utils/common.ts
photo
called by 25
example/utils/common.ts
getRandomColor
called by 19
example/utils/common.ts
photo
called by 2
example/components/ChatListExample.tsx
clearRef
called by 2
example/components/MessageListExample.tsx
addMessage
called by 2
example/components/MessageListExample.tsx
getBottom
called by 2
src/MessageList/MessageList.tsx
buildURL
called by 2
src/LocationMessage/LocationMessage.tsx

Shape

Function 95
Class 50
Interface 48

Languages

TypeScript100%

Modules by API surface

src/type.d.ts97 symbols
src/MessageList/MessageList.tsx19 symbols
src/ChatItem/ChatItem.tsx8 symbols
src/MeetingList/MeetingList.tsx7 symbols
src/ChatList/ChatList.tsx6 symbols
src/Avatar/Avatar.tsx5 symbols
example/components/MessageListExample.tsx5 symbols
src/MeetingMessage/MeetingMessage.tsx4 symbols
example/utils/common.ts4 symbols
src/LocationMessage/LocationMessage.tsx3 symbols
src/Input/Input.tsx3 symbols
example/components/ChatListExample.tsx3 symbols

Used by 1 indexed graphs manifest dependencies, hub-wide

For agents

$ claude mcp add react-chat-elements \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact