@orion-ds/react 2.0.1 → 2.0.3
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.
- package/AI_COMPONENTS.md +68 -1
- package/AI_QUICKREF.md +1 -1
- package/README.md +14 -0
- package/dist/components/AlertDialog/AlertDialog.d.ts +28 -0
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -0
- package/dist/components/AlertDialog/AlertDialog.types.d.ts +95 -0
- package/dist/components/AlertDialog/AlertDialog.types.d.ts.map +1 -0
- package/dist/components/AlertDialog/index.d.ts +21 -0
- package/dist/components/AlertDialog/index.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.d.ts +22 -0
- package/dist/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.types.d.ts +79 -0
- package/dist/components/Calendar/Calendar.types.d.ts.map +1 -0
- package/dist/components/Calendar/index.d.ts +14 -0
- package/dist/components/Calendar/index.d.ts.map +1 -0
- package/dist/components/Chart/Chart.d.ts +44 -0
- package/dist/components/Chart/Chart.d.ts.map +1 -0
- package/dist/components/Chart/Chart.types.d.ts +117 -0
- package/dist/components/Chart/Chart.types.d.ts.map +1 -0
- package/dist/components/Chart/index.d.ts +22 -0
- package/dist/components/Chart/index.d.ts.map +1 -0
- package/dist/components/Chat/Chat.d.ts +45 -0
- package/dist/components/Chat/Chat.d.ts.map +1 -0
- package/dist/components/Chat/Chat.types.d.ts +392 -0
- package/dist/components/Chat/Chat.types.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatAttachment.d.ts +10 -0
- package/dist/components/Chat/components/ChatAttachment.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatAudioPlayer.d.ts +9 -0
- package/dist/components/Chat/components/ChatAudioPlayer.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatCodeBlock.d.ts +10 -0
- package/dist/components/Chat/components/ChatCodeBlock.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatFileUpload.d.ts +9 -0
- package/dist/components/Chat/components/ChatFileUpload.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatHeader.d.ts +9 -0
- package/dist/components/Chat/components/ChatHeader.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatImagePreview.d.ts +9 -0
- package/dist/components/Chat/components/ChatImagePreview.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatInput.d.ts +10 -0
- package/dist/components/Chat/components/ChatInput.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatLightbox.d.ts +9 -0
- package/dist/components/Chat/components/ChatLightbox.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatMarkdown.d.ts +10 -0
- package/dist/components/Chat/components/ChatMarkdown.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatMessage.d.ts +10 -0
- package/dist/components/Chat/components/ChatMessage.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatMessages.d.ts +10 -0
- package/dist/components/Chat/components/ChatMessages.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatSidebar.d.ts +10 -0
- package/dist/components/Chat/components/ChatSidebar.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatTypingIndicator.d.ts +14 -0
- package/dist/components/Chat/components/ChatTypingIndicator.d.ts.map +1 -0
- package/dist/components/Chat/components/ChatVoiceRecorder.d.ts +9 -0
- package/dist/components/Chat/components/ChatVoiceRecorder.d.ts.map +1 -0
- package/dist/components/Chat/components/index.d.ts +18 -0
- package/dist/components/Chat/components/index.d.ts.map +1 -0
- package/dist/components/Chat/hooks/index.d.ts +12 -0
- package/dist/components/Chat/hooks/index.d.ts.map +1 -0
- package/dist/components/Chat/hooks/useAutoScroll.d.ts +24 -0
- package/dist/components/Chat/hooks/useAutoScroll.d.ts.map +1 -0
- package/dist/components/Chat/hooks/useChatInput.d.ts +43 -0
- package/dist/components/Chat/hooks/useChatInput.d.ts.map +1 -0
- package/dist/components/Chat/hooks/useStreamingText.d.ts +22 -0
- package/dist/components/Chat/hooks/useStreamingText.d.ts.map +1 -0
- package/dist/components/Chat/hooks/useVoiceRecorder.d.ts +31 -0
- package/dist/components/Chat/hooks/useVoiceRecorder.d.ts.map +1 -0
- package/dist/components/Chat/index.d.ts +28 -0
- package/dist/components/Chat/index.d.ts.map +1 -0
- package/dist/components/Chat/utils.d.ts +16 -0
- package/dist/components/Chat/utils.d.ts.map +1 -0
- package/dist/components/Command/Command.d.ts +35 -0
- package/dist/components/Command/Command.d.ts.map +1 -0
- package/dist/components/Command/Command.types.d.ts +155 -0
- package/dist/components/Command/Command.types.d.ts.map +1 -0
- package/dist/components/Command/index.d.ts +21 -0
- package/dist/components/Command/index.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +17 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.types.d.ts +80 -0
- package/dist/components/DatePicker/DatePicker.types.d.ts.map +1 -0
- package/dist/components/DatePicker/index.d.ts +14 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/docs/DocComponents.d.ts +60 -0
- package/dist/docs/DocComponents.d.ts.map +1 -0
- package/dist/index.cjs +99 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +65584 -19306
- package/dist/index.mjs.map +1 -1
- package/dist/react.css +1 -1
- package/dist/sections/Chat/ChatSection.d.ts +22 -0
- package/dist/sections/Chat/ChatSection.d.ts.map +1 -0
- package/dist/sections/Chat/index.d.ts +19 -0
- package/dist/sections/Chat/index.d.ts.map +1 -0
- package/dist/sections/index.d.ts +2 -0
- package/dist/sections/index.d.ts.map +1 -1
- package/dist/styles.css +65 -57
- package/dist/templates/app/ChatPageTemplate/ChatPageTemplate.d.ts +21 -0
- package/dist/templates/app/ChatPageTemplate/ChatPageTemplate.d.ts.map +1 -0
- package/dist/templates/app/ChatPageTemplate/index.d.ts +19 -0
- package/dist/templates/app/ChatPageTemplate/index.d.ts.map +1 -0
- package/dist/templates/app/index.d.ts +2 -0
- package/dist/templates/app/index.d.ts.map +1 -1
- package/package.json +8 -2
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Component Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the Orion Chat component - an AI-first chat interface
|
|
5
|
+
* with multimodal support (text, images, audio, files, code).
|
|
6
|
+
*/
|
|
7
|
+
import type { HTMLAttributes, ReactNode, TextareaHTMLAttributes, RefObject } from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* Message role types
|
|
10
|
+
*/
|
|
11
|
+
export type ChatRole = 'user' | 'assistant' | 'system';
|
|
12
|
+
/**
|
|
13
|
+
* Message delivery status
|
|
14
|
+
*/
|
|
15
|
+
export type MessageStatus = 'sending' | 'sent' | 'error' | 'streaming';
|
|
16
|
+
/**
|
|
17
|
+
* Attachment types for multimodal support
|
|
18
|
+
*/
|
|
19
|
+
export type AttachmentType = 'image' | 'audio' | 'file' | 'code';
|
|
20
|
+
/**
|
|
21
|
+
* Message reaction types (feedback)
|
|
22
|
+
*/
|
|
23
|
+
export type MessageReaction = 'like' | 'dislike';
|
|
24
|
+
/**
|
|
25
|
+
* Base attachment interface
|
|
26
|
+
*/
|
|
27
|
+
export interface ChatAttachment {
|
|
28
|
+
/** Unique identifier for the attachment */
|
|
29
|
+
id: string;
|
|
30
|
+
/** Type of attachment */
|
|
31
|
+
type: AttachmentType;
|
|
32
|
+
/** Display name for the attachment */
|
|
33
|
+
name: string;
|
|
34
|
+
/** URL for media files (images, audio, etc.) */
|
|
35
|
+
url?: string;
|
|
36
|
+
/** Content for code blocks */
|
|
37
|
+
content?: string;
|
|
38
|
+
/** Programming language for syntax highlighting */
|
|
39
|
+
language?: string;
|
|
40
|
+
/** MIME type of the file */
|
|
41
|
+
mimeType?: string;
|
|
42
|
+
/** File size in bytes */
|
|
43
|
+
size?: number;
|
|
44
|
+
/** Audio duration in seconds */
|
|
45
|
+
duration?: number;
|
|
46
|
+
/** Thumbnail URL for images */
|
|
47
|
+
thumbnail?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Chat message structure
|
|
51
|
+
*/
|
|
52
|
+
export interface ChatMessage {
|
|
53
|
+
/** Unique identifier for the message */
|
|
54
|
+
id: string;
|
|
55
|
+
/** Message sender role */
|
|
56
|
+
role: ChatRole;
|
|
57
|
+
/** Message content (supports Markdown) */
|
|
58
|
+
content: string;
|
|
59
|
+
/** Timestamp of the message */
|
|
60
|
+
timestamp?: Date;
|
|
61
|
+
/** Message delivery status */
|
|
62
|
+
status?: MessageStatus;
|
|
63
|
+
/** Attached files, images, audio, or code */
|
|
64
|
+
attachments?: ChatAttachment[];
|
|
65
|
+
/** Whether the message is currently streaming */
|
|
66
|
+
isStreaming?: boolean;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Conversation for sidebar listing
|
|
70
|
+
*/
|
|
71
|
+
export interface ChatConversation {
|
|
72
|
+
/** Unique identifier for the conversation */
|
|
73
|
+
id: string;
|
|
74
|
+
/** Conversation title */
|
|
75
|
+
title: string;
|
|
76
|
+
/** Preview of the last message */
|
|
77
|
+
preview?: string;
|
|
78
|
+
/** Last update timestamp */
|
|
79
|
+
updatedAt: Date;
|
|
80
|
+
/** Total number of messages */
|
|
81
|
+
messageCount?: number;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Voice recorder state interface
|
|
85
|
+
*/
|
|
86
|
+
export interface VoiceRecorderState {
|
|
87
|
+
/** Whether currently recording */
|
|
88
|
+
isRecording: boolean;
|
|
89
|
+
/** Recording duration in seconds */
|
|
90
|
+
duration: number;
|
|
91
|
+
/** Recorded audio blob */
|
|
92
|
+
audioBlob?: Blob;
|
|
93
|
+
/** Recording error */
|
|
94
|
+
error?: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Main Chat container props
|
|
98
|
+
*/
|
|
99
|
+
export interface ChatProps extends HTMLAttributes<HTMLDivElement> {
|
|
100
|
+
/** Chat content (compound components) */
|
|
101
|
+
children?: ReactNode;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Chat Header props
|
|
105
|
+
*/
|
|
106
|
+
export interface ChatHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
107
|
+
/** Title displayed in the header */
|
|
108
|
+
title?: string;
|
|
109
|
+
/** Subtitle or description */
|
|
110
|
+
subtitle?: string;
|
|
111
|
+
/** Avatar or icon to display */
|
|
112
|
+
avatar?: ReactNode;
|
|
113
|
+
/** Actions (buttons, menu) on the right side */
|
|
114
|
+
actions?: ReactNode;
|
|
115
|
+
/** Custom content */
|
|
116
|
+
children?: ReactNode;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Chat Messages container props
|
|
120
|
+
*/
|
|
121
|
+
export interface ChatMessagesProps extends HTMLAttributes<HTMLDivElement> {
|
|
122
|
+
/** Message content */
|
|
123
|
+
children?: ReactNode;
|
|
124
|
+
/** Reference for scroll control */
|
|
125
|
+
scrollRef?: RefObject<HTMLDivElement>;
|
|
126
|
+
/** Enable auto-scroll to latest message */
|
|
127
|
+
autoScroll?: boolean;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Individual chat message props
|
|
131
|
+
*/
|
|
132
|
+
export interface ChatMessageProps extends HTMLAttributes<HTMLDivElement> {
|
|
133
|
+
/** Message sender role */
|
|
134
|
+
role: ChatRole;
|
|
135
|
+
/** Message content (supports Markdown) */
|
|
136
|
+
content: string;
|
|
137
|
+
/** Timestamp of the message */
|
|
138
|
+
timestamp?: Date;
|
|
139
|
+
/** Message delivery status */
|
|
140
|
+
status?: MessageStatus;
|
|
141
|
+
/** Attached files, images, audio, or code */
|
|
142
|
+
attachments?: ChatAttachment[];
|
|
143
|
+
/** Custom avatar element */
|
|
144
|
+
avatar?: ReactNode;
|
|
145
|
+
/** Whether to show the avatar (defaults to false) */
|
|
146
|
+
showAvatar?: boolean;
|
|
147
|
+
/** Action buttons (copy, regenerate, etc.) */
|
|
148
|
+
actions?: ReactNode;
|
|
149
|
+
/** Whether the message is streaming */
|
|
150
|
+
isStreaming?: boolean;
|
|
151
|
+
/** Callback when an image attachment is clicked */
|
|
152
|
+
onImageClick?: (attachment: ChatAttachment) => void;
|
|
153
|
+
/** Callback to retry sending a failed message */
|
|
154
|
+
onRetry?: () => void;
|
|
155
|
+
/** Current reaction on this message */
|
|
156
|
+
reaction?: MessageReaction;
|
|
157
|
+
/** Callback when user reacts to a message */
|
|
158
|
+
onReaction?: (reaction: MessageReaction) => void;
|
|
159
|
+
/** Custom content instead of default rendering */
|
|
160
|
+
children?: ReactNode;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Chat input props
|
|
164
|
+
*/
|
|
165
|
+
export interface ChatInputProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onSubmit'> {
|
|
166
|
+
/** Callback when message is sent */
|
|
167
|
+
onSend?: (message: string, attachments?: File[]) => void;
|
|
168
|
+
/** Allow file attachments (images, files) */
|
|
169
|
+
allowAttachments?: boolean;
|
|
170
|
+
/** Allow voice recording */
|
|
171
|
+
allowVoiceRecording?: boolean;
|
|
172
|
+
/** Allow audio file upload */
|
|
173
|
+
allowAudioUpload?: boolean;
|
|
174
|
+
/** Whether input is disabled */
|
|
175
|
+
disabled?: boolean;
|
|
176
|
+
/** Maximum character count */
|
|
177
|
+
maxLength?: number;
|
|
178
|
+
/** Accepted file types for upload */
|
|
179
|
+
acceptedFileTypes?: string[];
|
|
180
|
+
/** Whether a message is being sent */
|
|
181
|
+
isLoading?: boolean;
|
|
182
|
+
/** Pending attachments to display */
|
|
183
|
+
pendingAttachments?: File[];
|
|
184
|
+
/** Callback to remove a pending attachment */
|
|
185
|
+
onRemoveAttachment?: (index: number) => void;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Typing indicator props
|
|
189
|
+
*/
|
|
190
|
+
export interface ChatTypingIndicatorProps extends HTMLAttributes<HTMLDivElement> {
|
|
191
|
+
/** Label text (default: "Assistant is typing") */
|
|
192
|
+
label?: string;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Code block props
|
|
196
|
+
*/
|
|
197
|
+
export interface ChatCodeBlockProps extends HTMLAttributes<HTMLDivElement> {
|
|
198
|
+
/** Code content */
|
|
199
|
+
code: string;
|
|
200
|
+
/** Programming language for syntax highlighting */
|
|
201
|
+
language?: string;
|
|
202
|
+
/** Show line numbers */
|
|
203
|
+
showLineNumbers?: boolean;
|
|
204
|
+
/** Show copy button */
|
|
205
|
+
showCopyButton?: boolean;
|
|
206
|
+
/** Maximum height before scrolling */
|
|
207
|
+
maxHeight?: string;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Markdown renderer props
|
|
211
|
+
*/
|
|
212
|
+
export interface ChatMarkdownProps extends HTMLAttributes<HTMLDivElement> {
|
|
213
|
+
/** Markdown content to render */
|
|
214
|
+
content: string;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Image preview props
|
|
218
|
+
*/
|
|
219
|
+
export interface ChatImagePreviewProps extends HTMLAttributes<HTMLDivElement> {
|
|
220
|
+
/** Image source URL */
|
|
221
|
+
src: string;
|
|
222
|
+
/** Alt text for accessibility */
|
|
223
|
+
alt?: string;
|
|
224
|
+
/** Thumbnail URL (optional, uses src if not provided) */
|
|
225
|
+
thumbnail?: string;
|
|
226
|
+
/** Callback when image is clicked */
|
|
227
|
+
onClick?: () => void;
|
|
228
|
+
/** Enable lightbox on click */
|
|
229
|
+
enableLightbox?: boolean;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Audio player props
|
|
233
|
+
*/
|
|
234
|
+
export interface ChatAudioPlayerProps extends HTMLAttributes<HTMLDivElement> {
|
|
235
|
+
/** Audio source URL */
|
|
236
|
+
src: string;
|
|
237
|
+
/** Duration in seconds (optional, auto-detected if not provided) */
|
|
238
|
+
duration?: number;
|
|
239
|
+
/** Audio title/name */
|
|
240
|
+
title?: string;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Voice recorder props
|
|
244
|
+
*/
|
|
245
|
+
export interface ChatVoiceRecorderProps extends HTMLAttributes<HTMLDivElement> {
|
|
246
|
+
/** Callback when recording is complete */
|
|
247
|
+
onRecordingComplete?: (blob: Blob) => void;
|
|
248
|
+
/** Callback when recording is cancelled */
|
|
249
|
+
onCancel?: () => void;
|
|
250
|
+
/** Maximum recording duration in seconds */
|
|
251
|
+
maxDuration?: number;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* File upload zone props
|
|
255
|
+
*/
|
|
256
|
+
export interface ChatFileUploadProps extends HTMLAttributes<HTMLDivElement> {
|
|
257
|
+
/** Callback when files are selected */
|
|
258
|
+
onFilesSelected?: (files: File[]) => void;
|
|
259
|
+
/** Accepted file types */
|
|
260
|
+
accept?: string[];
|
|
261
|
+
/** Allow multiple files */
|
|
262
|
+
multiple?: boolean;
|
|
263
|
+
/** Maximum file size in bytes */
|
|
264
|
+
maxSize?: number;
|
|
265
|
+
/** Custom upload button content */
|
|
266
|
+
children?: ReactNode;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Attachment preview props (unified)
|
|
270
|
+
*/
|
|
271
|
+
export interface ChatAttachmentPreviewProps extends HTMLAttributes<HTMLDivElement> {
|
|
272
|
+
/** Attachment data */
|
|
273
|
+
attachment: ChatAttachment;
|
|
274
|
+
/** Show remove button */
|
|
275
|
+
removable?: boolean;
|
|
276
|
+
/** Callback when remove is clicked */
|
|
277
|
+
onRemove?: () => void;
|
|
278
|
+
/** Callback when attachment is clicked */
|
|
279
|
+
onClick?: () => void;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Chat sidebar props
|
|
283
|
+
*/
|
|
284
|
+
export interface ChatSidebarProps extends HTMLAttributes<HTMLDivElement> {
|
|
285
|
+
/** List of conversations */
|
|
286
|
+
conversations?: ChatConversation[];
|
|
287
|
+
/** Currently active conversation ID */
|
|
288
|
+
activeConversationId?: string;
|
|
289
|
+
/** Callback when a conversation is selected */
|
|
290
|
+
onSelectConversation?: (id: string) => void;
|
|
291
|
+
/** Callback when new conversation is created */
|
|
292
|
+
onNewConversation?: () => void;
|
|
293
|
+
/** Callback when a conversation is deleted */
|
|
294
|
+
onDeleteConversation?: (id: string) => void;
|
|
295
|
+
/** Callback when search query changes */
|
|
296
|
+
onSearch?: (query: string) => void;
|
|
297
|
+
/** Custom header content */
|
|
298
|
+
header?: ReactNode;
|
|
299
|
+
/** Custom footer content */
|
|
300
|
+
footer?: ReactNode;
|
|
301
|
+
/** Whether sidebar is collapsed (mobile) */
|
|
302
|
+
collapsed?: boolean;
|
|
303
|
+
/** Callback when collapse state changes */
|
|
304
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* ChatSection props (sidebar + chat)
|
|
308
|
+
*/
|
|
309
|
+
export interface ChatSectionProps extends HTMLAttributes<HTMLDivElement> {
|
|
310
|
+
/** List of conversations for sidebar */
|
|
311
|
+
conversations?: ChatConversation[];
|
|
312
|
+
/** Currently active conversation ID */
|
|
313
|
+
activeConversationId?: string;
|
|
314
|
+
/** Messages for the active conversation */
|
|
315
|
+
messages?: ChatMessage[];
|
|
316
|
+
/** Callback when a message is sent */
|
|
317
|
+
onSendMessage?: (message: string, attachments?: File[]) => void;
|
|
318
|
+
/** Callback when a conversation is selected */
|
|
319
|
+
onSelectConversation?: (id: string) => void;
|
|
320
|
+
/** Callback when new conversation is created */
|
|
321
|
+
onNewConversation?: () => void;
|
|
322
|
+
/** Callback when a conversation is deleted */
|
|
323
|
+
onDeleteConversation?: (id: string) => void;
|
|
324
|
+
/** Whether assistant is typing */
|
|
325
|
+
isTyping?: boolean;
|
|
326
|
+
/** Whether message is being sent */
|
|
327
|
+
isLoading?: boolean;
|
|
328
|
+
/** Chat header configuration */
|
|
329
|
+
header?: {
|
|
330
|
+
title?: string;
|
|
331
|
+
subtitle?: string;
|
|
332
|
+
avatar?: ReactNode;
|
|
333
|
+
actions?: ReactNode;
|
|
334
|
+
};
|
|
335
|
+
/** Input configuration */
|
|
336
|
+
inputConfig?: {
|
|
337
|
+
placeholder?: string;
|
|
338
|
+
allowAttachments?: boolean;
|
|
339
|
+
allowVoiceRecording?: boolean;
|
|
340
|
+
maxLength?: number;
|
|
341
|
+
};
|
|
342
|
+
/** Hide sidebar (full-width chat) */
|
|
343
|
+
hideSidebar?: boolean;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* ChatPageTemplate props (full page layout)
|
|
347
|
+
*/
|
|
348
|
+
export interface ChatPageTemplateProps extends HTMLAttributes<HTMLDivElement> {
|
|
349
|
+
/** List of conversations */
|
|
350
|
+
conversations?: ChatConversation[];
|
|
351
|
+
/** Currently active conversation ID */
|
|
352
|
+
activeConversationId?: string;
|
|
353
|
+
/** Callback when a conversation is selected */
|
|
354
|
+
onSelectConversation?: (id: string) => void;
|
|
355
|
+
/** Callback when new conversation is created */
|
|
356
|
+
onNewConversation?: () => void;
|
|
357
|
+
/** Callback when a conversation is deleted */
|
|
358
|
+
onDeleteConversation?: (id: string) => void;
|
|
359
|
+
/** Messages for the active conversation */
|
|
360
|
+
messages?: ChatMessage[];
|
|
361
|
+
/** Callback when a message is sent */
|
|
362
|
+
onSendMessage?: (message: string, attachments?: File[]) => void;
|
|
363
|
+
/** Whether assistant is typing */
|
|
364
|
+
isTyping?: boolean;
|
|
365
|
+
/** Whether message is being sent */
|
|
366
|
+
isLoading?: boolean;
|
|
367
|
+
/** User information for header */
|
|
368
|
+
user?: {
|
|
369
|
+
name: string;
|
|
370
|
+
avatar?: string;
|
|
371
|
+
};
|
|
372
|
+
/** Callback when user logs out */
|
|
373
|
+
onLogout?: () => void;
|
|
374
|
+
/** Custom logo element */
|
|
375
|
+
logo?: ReactNode;
|
|
376
|
+
/** Chat input configuration */
|
|
377
|
+
inputConfig?: ChatSectionProps['inputConfig'];
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Image lightbox props
|
|
381
|
+
*/
|
|
382
|
+
export interface ChatLightboxProps extends HTMLAttributes<HTMLDivElement> {
|
|
383
|
+
/** Image source URL */
|
|
384
|
+
src: string;
|
|
385
|
+
/** Alt text for accessibility */
|
|
386
|
+
alt?: string;
|
|
387
|
+
/** Whether lightbox is open */
|
|
388
|
+
isOpen: boolean;
|
|
389
|
+
/** Callback when lightbox is closed */
|
|
390
|
+
onClose: () => void;
|
|
391
|
+
}
|
|
392
|
+
//# sourceMappingURL=Chat.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chat.types.d.ts","sourceRoot":"","sources":["../../../src/components/Chat/Chat.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatAttachment Component
|
|
3
|
+
*
|
|
4
|
+
* Unified attachment preview component that renders the appropriate
|
|
5
|
+
* display based on attachment type (image, audio, file, code).
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatAttachmentPreviewProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatAttachment: React.FC<ChatAttachmentPreviewProps>;
|
|
10
|
+
//# sourceMappingURL=ChatAttachment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatAttachment.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatAttachment.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,0BAA0B,EAAkB,MAAM,eAAe,CAAC;AAqBhF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA0H/D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatAudioPlayer Component
|
|
3
|
+
*
|
|
4
|
+
* Audio playback controls with progress tracking and keyboard navigation.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { ChatAudioPlayerProps } from '../Chat.types';
|
|
8
|
+
export declare const ChatAudioPlayer: React.FC<ChatAudioPlayerProps>;
|
|
9
|
+
//# sourceMappingURL=ChatAudioPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatAudioPlayer.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatAudioPlayer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAI1D,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAwK1D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatCodeBlock Component
|
|
3
|
+
*
|
|
4
|
+
* Syntax-highlighted code block with copy functionality
|
|
5
|
+
* and theme-aware highlighting.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatCodeBlockProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatCodeBlock: React.FC<ChatCodeBlockProps>;
|
|
10
|
+
//# sourceMappingURL=ChatCodeBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatCodeBlock.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatCodeBlock.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAIrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAwBxD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAgGtD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatFileUpload Component
|
|
3
|
+
*
|
|
4
|
+
* File upload zone with drag-and-drop support.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { ChatFileUploadProps } from '../Chat.types';
|
|
8
|
+
export declare const ChatFileUpload: React.FC<ChatFileUploadProps>;
|
|
9
|
+
//# sourceMappingURL=ChatFileUpload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatFileUpload.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatFileUpload.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIzD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6JxD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatHeader Component
|
|
3
|
+
*
|
|
4
|
+
* Header bar with title, avatar, and action buttons.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { ChatHeaderProps } from '../Chat.types';
|
|
8
|
+
export declare const ChatHeader: React.FC<ChatHeaderProps>;
|
|
9
|
+
//# sourceMappingURL=ChatHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatHeader.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA6ChD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatImagePreview Component
|
|
3
|
+
*
|
|
4
|
+
* Displays image attachments with thumbnail and lightbox support.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { ChatImagePreviewProps } from '../Chat.types';
|
|
8
|
+
export declare const ChatImagePreview: React.FC<ChatImagePreviewProps>;
|
|
9
|
+
//# sourceMappingURL=ChatImagePreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatImagePreview.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatImagePreview.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI3D,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2E5D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatInput Component
|
|
3
|
+
*
|
|
4
|
+
* Multi-line input with attachment support, voice recording,
|
|
5
|
+
* and send functionality.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatInputProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatInput: React.ForwardRefExoticComponent<ChatInputProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
10
|
+
//# sourceMappingURL=ChatInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatInput.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAcpD,eAAO,MAAM,SAAS,4FA4OrB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatLightbox Component
|
|
3
|
+
*
|
|
4
|
+
* Full-screen image viewer with keyboard navigation and focus trap.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { ChatLightboxProps } from '../Chat.types';
|
|
8
|
+
export declare const ChatLightbox: React.FC<ChatLightboxProps>;
|
|
9
|
+
//# sourceMappingURL=ChatLightbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatLightbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatLightbox.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyFpD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatMarkdown Component
|
|
3
|
+
*
|
|
4
|
+
* Markdown renderer with support for GFM (tables, strikethrough, etc.)
|
|
5
|
+
* and custom code block rendering.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatMarkdownProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatMarkdown: React.FC<ChatMarkdownProps>;
|
|
10
|
+
//# sourceMappingURL=ChatMarkdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMarkdown.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMarkdown.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIvD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8DpD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatMessage Component
|
|
3
|
+
*
|
|
4
|
+
* Individual message bubble with support for text, markdown,
|
|
5
|
+
* attachments, reactions, retry, and various states.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatMessageProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatMessage: React.FC<ChatMessageProps>;
|
|
10
|
+
//# sourceMappingURL=ChatMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMessage.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AA6BtD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2LlD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatMessages Component
|
|
3
|
+
*
|
|
4
|
+
* Scrollable container for chat messages with auto-scroll support
|
|
5
|
+
* and accessibility features.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatMessagesProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatMessages: React.ForwardRefExoticComponent<ChatMessagesProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
//# sourceMappingURL=ChatMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatMessages.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAKvD,eAAO,MAAM,YAAY,0FAkDxB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatSidebar Component
|
|
3
|
+
*
|
|
4
|
+
* Sidebar with conversation history, search, and management actions.
|
|
5
|
+
* Conversations are grouped by date (Today, Yesterday, Previous 7 days, etc.)
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ChatSidebarProps } from '../Chat.types';
|
|
9
|
+
export declare const ChatSidebar: React.FC<ChatSidebarProps>;
|
|
10
|
+
//# sourceMappingURL=ChatSidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatSidebar.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatSidebar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,eAAe,CAAC;AAwExE,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAyPlD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatTypingIndicator Component
|
|
3
|
+
*
|
|
4
|
+
* Circular processing indicator shown before content generation begins.
|
|
5
|
+
* Intentionally abstract — communicates activity without representing
|
|
6
|
+
* specific progress, reducing temporal expectations.
|
|
7
|
+
*
|
|
8
|
+
* Renders in assistant-message layout so the transition to streaming
|
|
9
|
+
* content feels seamless. Avatar hidden by default, matching ChatMessage.
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import type { ChatTypingIndicatorProps } from '../Chat.types';
|
|
13
|
+
export declare const ChatTypingIndicator: React.FC<ChatTypingIndicatorProps>;
|
|
14
|
+
//# sourceMappingURL=ChatTypingIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatTypingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatTypingIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAoBlE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatVoiceRecorder Component
|
|
3
|
+
*
|
|
4
|
+
* Voice recording UI with waveform visualization.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import type { ChatVoiceRecorderProps } from '../Chat.types';
|
|
8
|
+
export declare const ChatVoiceRecorder: React.FC<ChatVoiceRecorderProps>;
|
|
9
|
+
//# sourceMappingURL=ChatVoiceRecorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatVoiceRecorder.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/ChatVoiceRecorder.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAK5D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmJ9D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Component - Sub-components
|
|
3
|
+
*/
|
|
4
|
+
export { ChatMessage } from './ChatMessage';
|
|
5
|
+
export { ChatMessages } from './ChatMessages';
|
|
6
|
+
export { ChatInput } from './ChatInput';
|
|
7
|
+
export { ChatHeader } from './ChatHeader';
|
|
8
|
+
export { ChatTypingIndicator } from './ChatTypingIndicator';
|
|
9
|
+
export { ChatCodeBlock } from './ChatCodeBlock';
|
|
10
|
+
export { ChatMarkdown } from './ChatMarkdown';
|
|
11
|
+
export { ChatImagePreview } from './ChatImagePreview';
|
|
12
|
+
export { ChatAudioPlayer } from './ChatAudioPlayer';
|
|
13
|
+
export { ChatVoiceRecorder } from './ChatVoiceRecorder';
|
|
14
|
+
export { ChatFileUpload } from './ChatFileUpload';
|
|
15
|
+
export { ChatAttachment } from './ChatAttachment';
|
|
16
|
+
export { ChatLightbox } from './ChatLightbox';
|
|
17
|
+
export { ChatSidebar } from './ChatSidebar';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Chat/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|