parlant-chat-react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +178 -0
  3. package/dist/App.d.ts +46 -0
  4. package/dist/App.d.ts.map +1 -0
  5. package/dist/components/chat/Chat.d.ts +17 -0
  6. package/dist/components/chat/Chat.d.ts.map +1 -0
  7. package/dist/components/chat/footer/ChatFooter.d.ts +8 -0
  8. package/dist/components/chat/footer/ChatFooter.d.ts.map +1 -0
  9. package/dist/components/chat/header/ChatHeader.d.ts +11 -0
  10. package/dist/components/chat/header/ChatHeader.d.ts.map +1 -0
  11. package/dist/components/chat/input/ChatInput.d.ts +11 -0
  12. package/dist/components/chat/input/ChatInput.d.ts.map +1 -0
  13. package/dist/components/chat/message/Message.d.ts +12 -0
  14. package/dist/components/chat/message/Message.d.ts.map +1 -0
  15. package/dist/components/chat/message-list/MessageList.d.ts +24 -0
  16. package/dist/components/chat/message-list/MessageList.d.ts.map +1 -0
  17. package/dist/components/ui/Button.d.ts +12 -0
  18. package/dist/components/ui/Button.d.ts.map +1 -0
  19. package/dist/components/ui/Markdown.d.ts +8 -0
  20. package/dist/components/ui/Markdown.d.ts.map +1 -0
  21. package/dist/components/ui/Popover.d.ts +7 -0
  22. package/dist/components/ui/Popover.d.ts.map +1 -0
  23. package/dist/components/ui/Textarea.d.ts +6 -0
  24. package/dist/components/ui/Textarea.d.ts.map +1 -0
  25. package/dist/icons/send.svg +3 -0
  26. package/dist/index-Dx2Omwgo.js +6508 -0
  27. package/dist/index-Dx2Omwgo.js.map +1 -0
  28. package/dist/index-DyClDvPO.js +40040 -0
  29. package/dist/index-DyClDvPO.js.map +1 -0
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/parlant-chat-react.css +10 -0
  33. package/dist/parlant-chat-react.js +5 -0
  34. package/dist/parlant-chat-react.js.map +1 -0
  35. package/dist/parlant-chat-react.umd.cjs +147 -0
  36. package/dist/parlant-chat-react.umd.cjs.map +1 -0
  37. package/dist/parlant-logo.png +0 -0
  38. package/dist/theme.d.ts +8 -0
  39. package/dist/theme.d.ts.map +1 -0
  40. package/dist/types/index.d.ts +1 -0
  41. package/dist/utils/object.d.ts +2 -0
  42. package/dist/utils/object.d.ts.map +1 -0
  43. package/dist/utils/utils.d.ts +4 -0
  44. package/dist/utils/utils.d.ts.map +1 -0
  45. package/package.json +75 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,178 @@
1
+ # parlant-chat-react
2
+
3
+ <!-- ![Build Status](https://img.shields.io/github/actions/workflow/status/menachembrich/parlant-chat-react/ci.yml?branch=main)
4
+ ![License](https://img.shields.io/github/license/menachembrich/parlant-chat-react)
5
+ ![npm version](https://img.shields.io/npm/v/parlant-chat-react) -->
6
+
7
+ A flexible and customizable React chat component for integrating Parlant agents seamlessly into your website.
8
+
9
+ ## Installation
10
+
11
+ ```bash
12
+ npm install parlant-chat-react
13
+ # or
14
+ yarn add parlant-chat-react
15
+ ```
16
+
17
+ ## Quick Start
18
+
19
+ Here's how to quickly add the chat component to your React application:
20
+
21
+ ```jsx
22
+ import React from 'react';
23
+ import ParlantChatbox from 'parlant-chat-react';
24
+
25
+ function App() {
26
+ return (
27
+ <div>
28
+ <h1>My Application</h1>
29
+ <ParlantChatbox
30
+ agentId="AGENT_ID"
31
+ server="PARLANT_SERVER_URL"
32
+ />
33
+ </div>
34
+ );
35
+ }
36
+
37
+ export default App;
38
+ ```
39
+
40
+ ## Usage Examples
41
+
42
+ ### Basic Embedded Chat
43
+
44
+ Add a chat interface directly in your page layout:
45
+
46
+ ```jsx
47
+ <ParlantChatbox
48
+ agentId="AGENT_ID"
49
+ server="PARLANT_SERVER_URL"
50
+ />
51
+ ```
52
+
53
+ ### Popup Chat
54
+
55
+ Display the chat as a popup that can be toggled with a button:
56
+
57
+ ```jsx
58
+ <ParlantChatbox
59
+ float
60
+ agentId="AGENT_ID"
61
+ server="PARLANT_SERVER_URL"
62
+ />
63
+ ```
64
+
65
+ ### Customized Popup Button
66
+
67
+ Use a custom button component:
68
+
69
+ ```jsx
70
+ import { Send } from 'lucide-react';
71
+
72
+ <ParlantChatbox
73
+ float
74
+ agentId="AGENT_ID"
75
+ server="PARLANT_SERVER_URL"
76
+ popupButton={<Send color="white" size={24} />}
77
+ />
78
+ ```
79
+
80
+ ### Advanced Styling
81
+
82
+ Apply custom class names to various parts of the chat:
83
+
84
+ ```jsx
85
+ <ParlantChatbox
86
+ agentId="AGENT_ID"
87
+ server="PARLANT_SERVER_URL"
88
+ classNames={{
89
+ chatboxWrapper: "my-chatbox-wrapper-class",
90
+ chatbox: "my-chatbox-class",
91
+ messagesArea: "my-messages-class",
92
+ agentMessage: "agent-bubble",
93
+ customerMessage: "customer-bubble",
94
+ textarea: "my-input-class",
95
+ popupButton: "my-button-class",
96
+ popupButtonIcon: "my-icon-class",
97
+ chatDescription: "my-description-class",
98
+ bottomLine: "my-footer-class"
99
+ }}
100
+ />
101
+ ```
102
+
103
+ ### Custom Component Replacement
104
+
105
+ Replace default UI components with your own:
106
+
107
+ ```jsx
108
+ <ParlantChatbox
109
+ agentId="AGENT_ID"
110
+ server="PARLANT_SERVER_URL"
111
+ components={{
112
+ popupButton: ({ toggleChatOpen }) => (
113
+ <button onClick={toggleChatOpen}>Chat with us</button>
114
+ ),
115
+ agentMessage: ({ message }) => (
116
+ <div>
117
+ <p>{message.data.message}</p>
118
+ <span>Agent</span>
119
+ </div>
120
+ ),
121
+ customerMessage: ({ message }) => (
122
+ <div>
123
+ <p>{message.data.message}</p>
124
+ <span>You</span>
125
+ </div>
126
+ ),
127
+ header: ({ changeIsExpanded }) => (
128
+ <div>
129
+ <h2>Custom Header</h2>
130
+ <button onClick={changeIsExpanded}>Toggle Expanded</button>
131
+ </div>
132
+ )
133
+ }}
134
+ />
135
+ ```
136
+
137
+ ## Props
138
+
139
+ | Prop | Type | Required | Default | Description |
140
+ |------------------------|----------------|----------|---------|-----------------------------------------------------------------------------|
141
+ | `server` | string | Yes | - | API endpoint for chat communication |
142
+ | `sessionId` | string | No | - | Unique identifier for an existing chat session |
143
+ | `titleFn` | function | No | - | Function that returns a string to generate dynamic chat session titles |
144
+ | `agentId` | string | No | - | Unique identifier for creating a new chat session with a specific agent |
145
+ | `agentName` | string | No | - | Name of the chat agent |
146
+ | `agentAvatar` | JSX.Element | No | - | Custom avatar for the agent |
147
+ | `chatDescription` | string | No | - | Description text shown at the top of the chat |
148
+ | `float` | boolean | No | `false` | Whether to display as a popup chat |
149
+ | `popupButton` | JSX.Element | No | - | Custom button element for popup mode |
150
+ | `sendIcon` | JSX.Element | No | - | Custom send message icon |
151
+ | `classNames` | object | No | - | Custom CSS class names for styling |
152
+ | `components` | object | No | - | Custom React components to replace defaults |
153
+ | `onPopupButtonClick` | function | No | - | Callback fired when the popup button is clicked (in popup mode) |
154
+ | `agentOpeningMessage` | string | No | - | Message shown as the first message from the agent when starting a session |
155
+
156
+ ### ClassNames Object Properties
157
+
158
+ | Property | Description |
159
+ |-------------------------|------------------------------------|
160
+ | `chatboxWrapper` | Wrapper around the main chatbox |
161
+ | `chatbox` | Main chat container |
162
+ | `messagesArea` | Messages list container |
163
+ | `agentMessage` | Agent message bubble |
164
+ | `customerMessage` | Customer message bubble |
165
+ | `textarea` | Message input field |
166
+ | `popupButton` | Popup toggle button |
167
+ | `popupButtonIcon` | Icon in the popup button |
168
+ | `chatDescription` | Chat description container |
169
+ | `bottomLine` | Footer of the chat |
170
+
171
+ ### Components Object Properties
172
+
173
+ | Property | Description | Props Passed |
174
+ |------------------|----------------------------------|-------------------------------|
175
+ | `popupButton` | Custom popup button component | `{ toggleChatOpen }` |
176
+ | `agentMessage` | Custom agent message component | `{ message }` |
177
+ | `customerMessage`| Custom customer message component| `{ message }` |
178
+ | `header` | Custom header component | `{ changeIsExpanded }` |
package/dist/App.d.ts ADDED
@@ -0,0 +1,46 @@
1
+ import { JSX, ReactElement } from 'react';
2
+ import { MessageInterface } from './components/chat/Chat';
3
+ interface MessageComponentProps {
4
+ message: MessageInterface;
5
+ className?: string;
6
+ }
7
+ interface PopupButtonComponentProps {
8
+ toggleChatOpen: () => void;
9
+ }
10
+ export interface ChatProps {
11
+ server: string;
12
+ sessionId?: string;
13
+ agentName?: string;
14
+ agentAvatar?: JSX.Element;
15
+ chatDescription?: string;
16
+ float?: boolean;
17
+ onPopupButtonClick?: () => void;
18
+ agentOpeningMessage?: string;
19
+ titleFn?: () => string;
20
+ popupButton?: JSX.Element;
21
+ sendIcon?: JSX.Element;
22
+ agentId?: string;
23
+ classNames?: {
24
+ chatboxWrapper?: string;
25
+ chatbox?: string;
26
+ messagesArea?: string;
27
+ agentMessage?: string;
28
+ customerMessage?: string;
29
+ textarea?: string;
30
+ popupButton?: string;
31
+ popupButtonIcon?: string;
32
+ chatDescription?: string;
33
+ bottomLine?: string;
34
+ };
35
+ components?: {
36
+ popupButton?: (props: PopupButtonComponentProps) => ReactElement;
37
+ agentMessage?: (props: MessageComponentProps) => ReactElement;
38
+ customerMessage?: (props: MessageComponentProps) => ReactElement;
39
+ header?: ({ changeIsExpanded }: {
40
+ changeIsExpanded: () => void;
41
+ }) => ReactElement;
42
+ };
43
+ }
44
+ declare const Chatbot: ({ server, titleFn, agentId, sessionId, agentName, agentAvatar, onPopupButtonClick, agentOpeningMessage, chatDescription, float, popupButton, components, sendIcon, classNames }: ChatProps) => JSX.Element;
45
+ export default Chatbot;
46
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAE,YAAY,EAAC,MAAM,OAAO,CAAC;AAG7C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAiD7D,UAAU,qBAAqB;IAC9B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,yBAAyB;IAClC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,YAAY,CAAC;QACjE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,YAAY,CAAC;QAC9D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,YAAY,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,EAAC,gBAAgB,EAAC,EAAE;YAAC,gBAAgB,EAAE,MAAM,IAAI,CAAA;SAAC,KAAK,YAAY,CAAC;KAC9E,CAAC;CACF;AAID,QAAA,MAAM,OAAO,oLAA2L,SAAS,KAAG,GAAG,CAAC,OA+FvN,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { Event, EventCreationParams } from 'parlant-client/src/api';
2
+ import { JSX } from 'react';
3
+ import { ChatProps } from '../../App';
4
+ export interface MessageInterface extends Event {
5
+ status: string | null;
6
+ error?: string;
7
+ }
8
+ export declare const createEmptyPendingMessage: () => Partial<Event & {
9
+ serverStatus: string;
10
+ }>;
11
+ export declare const getInitialMessages: (agentOpeningMessage?: string) => MessageInterface[];
12
+ declare const Chat: ({ server, sessionId, agentId, agentName, agentAvatar, components, agentOpeningMessage, sendIcon, createSession, classNames, float, changeIsExpanded, chatDescription }: ChatProps & {
13
+ changeIsExpanded?: () => void;
14
+ createSession: (message: EventCreationParams) => void;
15
+ }) => JSX.Element;
16
+ export default Chat;
17
+ //# sourceMappingURL=Chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/Chat.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAQ,KAAK,EAAE,mBAAmB,EAAU,MAAM,wBAAwB,CAAC;AAEvF,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AA2BrC,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAOD,eAAO,MAAM,yBAAyB,QAAO,OAAO,CAAC,KAAK,GAAG;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,CAUjF,CAAC;AAEH,eAAO,MAAM,kBAAkB,yBAA0B,MAAM,KAAG,gBAAgB,EAiBjF,CAAA;AAED,QAAA,MAAM,IAAI,2KAA0K,SAAS,GAAG;IAAC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,aAAa,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAA;CAAC,KAAG,GAAG,CAAC,OA+K5R,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'react';
2
+ interface ChatFooterProps {
3
+ showInfo?: string;
4
+ className?: string;
5
+ }
6
+ declare const ChatFooter: ({ showInfo, className }: ChatFooterProps) => JSX.Element;
7
+ export default ChatFooter;
8
+ //# sourceMappingURL=ChatFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/footer/ChatFooter.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4CD,QAAA,MAAM,UAAU,4BAA6B,eAAe,KAAG,GAAG,CAAC,OA6BlE,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { JSX } from 'react';
2
+ interface ChatHeaderProps {
3
+ agentName?: string;
4
+ agentAvatar?: JSX.Element;
5
+ changeIsExpanded: () => void;
6
+ isExpanded?: boolean;
7
+ className?: string;
8
+ }
9
+ declare const ChatHeader: ({ agentName, agentAvatar, changeIsExpanded, isExpanded, className }: ChatHeaderProps) => JSX.Element;
10
+ export default ChatHeader;
11
+ //# sourceMappingURL=ChatHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/header/ChatHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,UAAU,eAAe;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0DD,QAAA,MAAM,UAAU,wEAMb,eAAe,KAAG,GAAG,CAAC,OA+BxB,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { JSX } from 'react';
2
+ interface ChatInputProps {
3
+ onSendMessage: (message: string) => Promise<void>;
4
+ sendIcon?: JSX.Element;
5
+ className?: string;
6
+ float?: boolean;
7
+ focusTrigger?: boolean;
8
+ }
9
+ declare const ChatInput: ({ onSendMessage, sendIcon, className, float, focusTrigger, }: ChatInputProps) => JSX.Element;
10
+ export default ChatInput;
11
+ //# sourceMappingURL=ChatInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/input/ChatInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAOjC,UAAU,cAAc;IACtB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA+ED,QAAA,MAAM,SAAS,iEAMZ,cAAc,KAAG,GAAG,CAAC,OAsEvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { MessageInterface } from '../Chat';
2
+ import { JSX } from 'react';
3
+ interface MessageProps {
4
+ message: MessageInterface;
5
+ agentName?: string;
6
+ agentAvatar?: JSX.Element;
7
+ isSameSourceAsPrevious?: boolean;
8
+ className?: string;
9
+ }
10
+ declare const Message: ({ message, agentName, agentAvatar, className, isSameSourceAsPrevious }: MessageProps) => JSX.Element;
11
+ export default Message;
12
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/message/Message.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAsI/B,UAAU,YAAY;IACrB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,OAAO,2EAA0E,YAAY,KAAG,GAAG,CAAC,OAyCzG,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { JSX } from 'react';
2
+ import { MessageInterface } from '../Chat';
3
+ import { default as Message } from '../message/Message';
4
+ interface MessageListProps {
5
+ messages: MessageInterface[];
6
+ showInfo?: string;
7
+ agentName?: string;
8
+ agentAvatar?: JSX.Element;
9
+ components?: {
10
+ customerMessage?: typeof Message;
11
+ agentMessage?: typeof Message;
12
+ };
13
+ classNames?: {
14
+ messagesArea?: string;
15
+ customerMessage?: string;
16
+ agentMessage?: string;
17
+ chatDescription?: string;
18
+ };
19
+ chatDescription?: string;
20
+ isExpanded?: boolean;
21
+ }
22
+ declare const MessageList: ({ messages, showInfo, agentName, agentAvatar, components, isExpanded, classNames, chatDescription, }: MessageListProps) => JSX.Element;
23
+ export default MessageList;
24
+ //# sourceMappingURL=MessageList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/message-list/MessageList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,OAAO,MAAM,mCAAmC,CAAC;AAKxD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE;QACX,eAAe,CAAC,EAAE,OAAO,OAAO,CAAC;QACjC,YAAY,CAAC,EAAE,OAAO,OAAO,CAAC;KAC/B,CAAC;IACF,UAAU,CAAC,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA4ED,QAAA,MAAM,WAAW,yGASd,gBAAgB,KAAG,GAAG,CAAC,OA6DzB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as React from 'react';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "outline" | "link" | "default" | "destructive" | "secondary" | "ghost" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
+ } & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button, buttonVariants };
12
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,cAAc;;;mFA2BnB,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAC;AAIF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'react';
2
+ interface MarkdownProps {
3
+ children: string;
4
+ className?: string;
5
+ }
6
+ declare const Markdown: ({ children, className }: MarkdownProps) => JSX.Element;
7
+ export default Markdown;
8
+ //# sourceMappingURL=Markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Markdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAgBjC,UAAU,aAAa;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,QAAQ,4BAA6B,aAAa,KAAG,GAAG,CAAC,OAmC9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+ declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
4
+ declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ export { Popover, PopoverTrigger, PopoverContent };
7
+ //# sourceMappingURL=Popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAkC5D,QAAA,MAAM,OAAO,yCAAwB,CAAC;AAEtC,QAAA,MAAM,cAAc,gHAA2B,CAAC;AAEhD,QAAA,MAAM,cAAc,gKA+BnB,CAAC;AAIF,OAAO,EAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ }
4
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
+ export { Textarea };
6
+ //# sourceMappingURL=Textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAoB/B,MAAM,WAAW,aACf,SAAQ,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC;CAAG;AAE9D,QAAA,MAAM,QAAQ,2FAWb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ <svg width="23" height="21" viewBox="0 0 23 21" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M0.533203 0.333373L22.5332 10.3334L0.533202 20.3334L2.40554 12.3334L9.42682 10.3334L2.40554 8.33337L0.533203 0.333373Z" fill="#282828"/>
3
+ </svg>