@aigentyc/chat-sdk 0.1.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.
- package/LICENSE +21 -0
- package/README.md +156 -0
- package/dist/JsonRenderResult-Ftw4AKwb.d.cts +18 -0
- package/dist/JsonRenderResult-Ftw4AKwb.d.ts +18 -0
- package/dist/JsonRenderResult-GQOYPLVH.cjs +15 -0
- package/dist/JsonRenderResult-GQOYPLVH.cjs.map +1 -0
- package/dist/JsonRenderResult-ZFJ6VWMS.js +6 -0
- package/dist/JsonRenderResult-ZFJ6VWMS.js.map +1 -0
- package/dist/SlotsContext-CBtt36al.d.ts +148 -0
- package/dist/SlotsContext-CHvISDJT.d.cts +148 -0
- package/dist/VisualizationRenderer-FNFYNN66.js +5 -0
- package/dist/VisualizationRenderer-FNFYNN66.js.map +1 -0
- package/dist/VisualizationRenderer-VKMZXRUX.cjs +20 -0
- package/dist/VisualizationRenderer-VKMZXRUX.cjs.map +1 -0
- package/dist/ai-elements.cjs +4608 -0
- package/dist/ai-elements.cjs.map +1 -0
- package/dist/ai-elements.d.cts +897 -0
- package/dist/ai-elements.d.ts +897 -0
- package/dist/ai-elements.js +4363 -0
- package/dist/ai-elements.js.map +1 -0
- package/dist/chunk-3MP2EGEJ.cjs +270 -0
- package/dist/chunk-3MP2EGEJ.cjs.map +1 -0
- package/dist/chunk-3RW7O444.js +26 -0
- package/dist/chunk-3RW7O444.js.map +1 -0
- package/dist/chunk-42ARGQXE.js +51 -0
- package/dist/chunk-42ARGQXE.js.map +1 -0
- package/dist/chunk-4FBVV64J.js +257 -0
- package/dist/chunk-4FBVV64J.js.map +1 -0
- package/dist/chunk-4QT25AXI.js +21 -0
- package/dist/chunk-4QT25AXI.js.map +1 -0
- package/dist/chunk-525KS5HM.cjs +30 -0
- package/dist/chunk-525KS5HM.cjs.map +1 -0
- package/dist/chunk-5F3O3ZJH.js +299 -0
- package/dist/chunk-5F3O3ZJH.js.map +1 -0
- package/dist/chunk-5QSXB6UL.cjs +259 -0
- package/dist/chunk-5QSXB6UL.cjs.map +1 -0
- package/dist/chunk-5T4FJ2SR.js +664 -0
- package/dist/chunk-5T4FJ2SR.js.map +1 -0
- package/dist/chunk-7BNYTOTE.cjs +67 -0
- package/dist/chunk-7BNYTOTE.cjs.map +1 -0
- package/dist/chunk-AWAJOSFP.cjs +96 -0
- package/dist/chunk-AWAJOSFP.cjs.map +1 -0
- package/dist/chunk-BKDV2H6Z.js +224 -0
- package/dist/chunk-BKDV2H6Z.js.map +1 -0
- package/dist/chunk-FQN6OBGN.cjs +171 -0
- package/dist/chunk-FQN6OBGN.cjs.map +1 -0
- package/dist/chunk-FYPJSHCL.js +190 -0
- package/dist/chunk-FYPJSHCL.js.map +1 -0
- package/dist/chunk-J2H6MLQF.cjs +680 -0
- package/dist/chunk-J2H6MLQF.cjs.map +1 -0
- package/dist/chunk-J2K7EJYP.cjs +198 -0
- package/dist/chunk-J2K7EJYP.cjs.map +1 -0
- package/dist/chunk-JI5KCSOI.cjs +23 -0
- package/dist/chunk-JI5KCSOI.cjs.map +1 -0
- package/dist/chunk-JOO6C3XT.cjs +44 -0
- package/dist/chunk-JOO6C3XT.cjs.map +1 -0
- package/dist/chunk-KBGPBUTI.cjs +78 -0
- package/dist/chunk-KBGPBUTI.cjs.map +1 -0
- package/dist/chunk-MT2AMINB.js +75 -0
- package/dist/chunk-MT2AMINB.js.map +1 -0
- package/dist/chunk-MZQKGNWF.js +4 -0
- package/dist/chunk-MZQKGNWF.js.map +1 -0
- package/dist/chunk-NG7OTWXQ.cjs +226 -0
- package/dist/chunk-NG7OTWXQ.cjs.map +1 -0
- package/dist/chunk-NPJKLYLV.js +68 -0
- package/dist/chunk-NPJKLYLV.js.map +1 -0
- package/dist/chunk-NW2ESHRV.js +685 -0
- package/dist/chunk-NW2ESHRV.js.map +1 -0
- package/dist/chunk-NWF735F5.js +1631 -0
- package/dist/chunk-NWF735F5.js.map +1 -0
- package/dist/chunk-NYQSM3EB.cjs +305 -0
- package/dist/chunk-NYQSM3EB.cjs.map +1 -0
- package/dist/chunk-OU7OROOE.cjs +1643 -0
- package/dist/chunk-OU7OROOE.cjs.map +1 -0
- package/dist/chunk-PS3U7T37.js +42 -0
- package/dist/chunk-PS3U7T37.js.map +1 -0
- package/dist/chunk-Q7T3VAJV.cjs +687 -0
- package/dist/chunk-Q7T3VAJV.cjs.map +1 -0
- package/dist/chunk-QYCEHFAB.js +265 -0
- package/dist/chunk-QYCEHFAB.js.map +1 -0
- package/dist/chunk-RPDJXB3U.js +676 -0
- package/dist/chunk-RPDJXB3U.js.map +1 -0
- package/dist/chunk-UKEL7FWS.js +64 -0
- package/dist/chunk-UKEL7FWS.js.map +1 -0
- package/dist/chunk-VS3NZ7FX.js +164 -0
- package/dist/chunk-VS3NZ7FX.js.map +1 -0
- package/dist/chunk-WZLWAVSS.cjs +73 -0
- package/dist/chunk-WZLWAVSS.cjs.map +1 -0
- package/dist/chunk-X5YEOOPK.cjs +758 -0
- package/dist/chunk-X5YEOOPK.cjs.map +1 -0
- package/dist/chunk-X7R334SB.cjs +5 -0
- package/dist/chunk-X7R334SB.cjs.map +1 -0
- package/dist/chunk-XXNDL5SJ.cjs +432 -0
- package/dist/chunk-XXNDL5SJ.cjs.map +1 -0
- package/dist/chunk-YQELMJW5.js +429 -0
- package/dist/chunk-YQELMJW5.js.map +1 -0
- package/dist/components.cjs +551 -0
- package/dist/components.cjs.map +1 -0
- package/dist/components.d.cts +181 -0
- package/dist/components.d.ts +181 -0
- package/dist/components.js +483 -0
- package/dist/components.js.map +1 -0
- package/dist/core.cjs +283 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.d.cts +455 -0
- package/dist/core.d.ts +455 -0
- package/dist/core.js +241 -0
- package/dist/core.js.map +1 -0
- package/dist/hooks.cjs +324 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.cts +163 -0
- package/dist/hooks.d.ts +163 -0
- package/dist/hooks.js +277 -0
- package/dist/hooks.js.map +1 -0
- package/dist/i18n.cjs +26 -0
- package/dist/i18n.cjs.map +1 -0
- package/dist/i18n.d.cts +50 -0
- package/dist/i18n.d.ts +50 -0
- package/dist/i18n.js +5 -0
- package/dist/i18n.js.map +1 -0
- package/dist/index.cjs +466 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +80 -0
- package/dist/index.d.ts +80 -0
- package/dist/index.js +438 -0
- package/dist/index.js.map +1 -0
- package/dist/interaction-tracker-D9P1Oq4j.d.cts +83 -0
- package/dist/interaction-tracker-D9P1Oq4j.d.ts +83 -0
- package/dist/json-render.cjs +23 -0
- package/dist/json-render.cjs.map +1 -0
- package/dist/json-render.d.cts +857 -0
- package/dist/json-render.d.ts +857 -0
- package/dist/json-render.js +6 -0
- package/dist/json-render.js.map +1 -0
- package/dist/live-chat-transport-4XLOIPOE.js +4 -0
- package/dist/live-chat-transport-4XLOIPOE.js.map +1 -0
- package/dist/live-chat-transport-ALVRGWX7.cjs +13 -0
- package/dist/live-chat-transport-ALVRGWX7.cjs.map +1 -0
- package/dist/select-B4l9yoyn.d.cts +99 -0
- package/dist/select-B4l9yoyn.d.ts +99 -0
- package/dist/styles.css +2 -0
- package/dist/theme.cjs +18 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.cts +55 -0
- package/dist/theme.d.ts +55 -0
- package/dist/theme.js +5 -0
- package/dist/theme.js.map +1 -0
- package/dist/tools.cjs +32 -0
- package/dist/tools.cjs.map +1 -0
- package/dist/tools.d.cts +117 -0
- package/dist/tools.d.ts +117 -0
- package/dist/tools.js +11 -0
- package/dist/tools.js.map +1 -0
- package/dist/types-DKJ_-nbG.d.cts +349 -0
- package/dist/types-DKJ_-nbG.d.ts +349 -0
- package/dist/ui.cjs +667 -0
- package/dist/ui.cjs.map +1 -0
- package/dist/ui.d.cts +95 -0
- package/dist/ui.d.ts +95 -0
- package/dist/ui.js +414 -0
- package/dist/ui.js.map +1 -0
- package/package.json +255 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Q as QuestionConfig } from './types-DKJ_-nbG.cjs';
|
|
3
|
+
import * as React$1 from 'react';
|
|
4
|
+
import { FileUIPart } from 'ai';
|
|
5
|
+
|
|
6
|
+
interface ChatInterfaceProps {
|
|
7
|
+
/** Allow per-instance overrides of any context value */
|
|
8
|
+
isOpen?: boolean;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
onNewConversation?: () => void;
|
|
11
|
+
logoUrl?: string;
|
|
12
|
+
questions?: QuestionConfig[];
|
|
13
|
+
pageQuestions?: QuestionConfig[];
|
|
14
|
+
footerText?: string;
|
|
15
|
+
welcomeTitle?: string;
|
|
16
|
+
welcomeSubtitle?: string;
|
|
17
|
+
hideWelcomeHeader?: boolean;
|
|
18
|
+
showFirstMessage?: boolean;
|
|
19
|
+
hideHeader?: boolean;
|
|
20
|
+
pendingMessage?: string | null;
|
|
21
|
+
onPendingMessageConsumed?: () => void;
|
|
22
|
+
pageUrl?: string;
|
|
23
|
+
pageTitle?: string;
|
|
24
|
+
pageContextLoading?: boolean;
|
|
25
|
+
pageWelcomeTitle?: string;
|
|
26
|
+
pageWelcomeSubtitle?: string;
|
|
27
|
+
questionsLayout?: "vertical" | "horizontal";
|
|
28
|
+
questionsLayoutMobile?: "vertical" | "horizontal";
|
|
29
|
+
}
|
|
30
|
+
declare function ChatInterface(props: ChatInterfaceProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
interface ChatHeaderProps {
|
|
33
|
+
isWelcome?: boolean;
|
|
34
|
+
onNewConversation?: () => void;
|
|
35
|
+
onClose?: () => void;
|
|
36
|
+
clientName?: string;
|
|
37
|
+
logoUrl?: string;
|
|
38
|
+
cartCount?: number;
|
|
39
|
+
onCartClick?: () => void;
|
|
40
|
+
}
|
|
41
|
+
declare const ChatHeader: React$1.NamedExoticComponent<ChatHeaderProps>;
|
|
42
|
+
|
|
43
|
+
interface ChatInputProps {
|
|
44
|
+
value: string;
|
|
45
|
+
onChange: (value: string) => void;
|
|
46
|
+
onSubmit: (value: string) => void;
|
|
47
|
+
isProcessing?: boolean;
|
|
48
|
+
placeholder?: string;
|
|
49
|
+
}
|
|
50
|
+
declare const ChatInput: React$1.NamedExoticComponent<ChatInputProps>;
|
|
51
|
+
|
|
52
|
+
interface ChatInputWithAttachmentsProps {
|
|
53
|
+
value: string;
|
|
54
|
+
onChange: (value: string) => void;
|
|
55
|
+
onSubmit: (text: string, attachments?: FileUIPart[]) => void;
|
|
56
|
+
isProcessing?: boolean;
|
|
57
|
+
placeholder?: string;
|
|
58
|
+
}
|
|
59
|
+
declare function ChatInputWithAttachments({ value, onChange, onSubmit, isProcessing, placeholder, }: ChatInputWithAttachmentsProps): react_jsx_runtime.JSX.Element;
|
|
60
|
+
|
|
61
|
+
interface ChatFooterProps {
|
|
62
|
+
footerText?: string;
|
|
63
|
+
}
|
|
64
|
+
declare function ChatFooter({ footerText }: ChatFooterProps): react_jsx_runtime.JSX.Element;
|
|
65
|
+
|
|
66
|
+
interface WelcomePageProps {
|
|
67
|
+
onSelectCategory: (category: string, hideMessage?: boolean) => void;
|
|
68
|
+
isProcessing?: boolean;
|
|
69
|
+
clientName?: string;
|
|
70
|
+
isOpen?: boolean;
|
|
71
|
+
questions?: QuestionConfig[];
|
|
72
|
+
welcomeTitle?: string;
|
|
73
|
+
welcomeSubtitle?: string;
|
|
74
|
+
hideWelcomeHeader?: boolean;
|
|
75
|
+
loading?: boolean;
|
|
76
|
+
questionsLayout?: "vertical" | "horizontal";
|
|
77
|
+
questionsLayoutMobile?: "vertical" | "horizontal";
|
|
78
|
+
}
|
|
79
|
+
declare function WelcomePage({ onSelectCategory, isProcessing, isOpen, clientName, questions, welcomeTitle, welcomeSubtitle, hideWelcomeHeader, loading, questionsLayout, questionsLayoutMobile, }: WelcomePageProps): react_jsx_runtime.JSX.Element;
|
|
80
|
+
|
|
81
|
+
interface QuickQuestionsProps {
|
|
82
|
+
questions: QuestionConfig[];
|
|
83
|
+
onSelect: (query: string) => void;
|
|
84
|
+
isProcessing?: boolean;
|
|
85
|
+
/** A key that changes when the page changes, so we can re-show dismissed questions */
|
|
86
|
+
pageKey?: string;
|
|
87
|
+
}
|
|
88
|
+
declare function QuickQuestions({ questions, onSelect, isProcessing, pageKey }: QuickQuestionsProps): react_jsx_runtime.JSX.Element | null;
|
|
89
|
+
|
|
90
|
+
interface ChatDrawerProps {
|
|
91
|
+
defaultOpen?: boolean;
|
|
92
|
+
open?: boolean;
|
|
93
|
+
onOpenChange?: (open: boolean) => void;
|
|
94
|
+
trigger?: React.ReactNode;
|
|
95
|
+
hideTrigger?: boolean;
|
|
96
|
+
}
|
|
97
|
+
declare function ChatDrawer({ defaultOpen, open: controlledOpen, onOpenChange, trigger, hideTrigger, }: ChatDrawerProps): react_jsx_runtime.JSX.Element;
|
|
98
|
+
|
|
99
|
+
interface SystemMessageProps {
|
|
100
|
+
message: string;
|
|
101
|
+
type?: string;
|
|
102
|
+
}
|
|
103
|
+
declare function SystemMessage({ message, type }: SystemMessageProps): react_jsx_runtime.JSX.Element;
|
|
104
|
+
|
|
105
|
+
interface VisitorIdentityFormProps {
|
|
106
|
+
onSubmit: (name: string, email: string) => void;
|
|
107
|
+
onCancel: () => void;
|
|
108
|
+
}
|
|
109
|
+
declare function VisitorIdentityForm({ onSubmit, onCancel }: VisitorIdentityFormProps): react_jsx_runtime.JSX.Element;
|
|
110
|
+
|
|
111
|
+
interface LiveChatHeaderProps {
|
|
112
|
+
operatorName: string;
|
|
113
|
+
onEndChat: () => void;
|
|
114
|
+
}
|
|
115
|
+
declare function LiveChatHeader({ operatorName, onEndChat }: LiveChatHeaderProps): react_jsx_runtime.JSX.Element;
|
|
116
|
+
|
|
117
|
+
interface QueueBannerProps {
|
|
118
|
+
position: number;
|
|
119
|
+
onCancel: () => void;
|
|
120
|
+
}
|
|
121
|
+
declare function LiveChatQueueBanner({ position, onCancel }: QueueBannerProps): react_jsx_runtime.JSX.Element;
|
|
122
|
+
|
|
123
|
+
interface SatisfactionRatingProps {
|
|
124
|
+
onSubmit: (rating: "positive" | "negative", comment?: string) => void;
|
|
125
|
+
onSkip: () => void;
|
|
126
|
+
}
|
|
127
|
+
declare function SatisfactionRating({ onSubmit, onSkip }: SatisfactionRatingProps): react_jsx_runtime.JSX.Element;
|
|
128
|
+
|
|
129
|
+
interface FloatingButtonProps {
|
|
130
|
+
onClick: () => void;
|
|
131
|
+
position: "bottom-right" | "bottom-left" | "top-right" | "top-left";
|
|
132
|
+
positionMobile?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
|
|
133
|
+
greeting?: string;
|
|
134
|
+
isOpen?: boolean;
|
|
135
|
+
greetingOffsetX?: string;
|
|
136
|
+
greetingOffsetY?: string;
|
|
137
|
+
buttonOffsetXMobile?: string;
|
|
138
|
+
buttonOffsetYMobile?: string;
|
|
139
|
+
buttonOffsetXDesktop?: string;
|
|
140
|
+
buttonOffsetYDesktop?: string;
|
|
141
|
+
buttonIconUrl?: string;
|
|
142
|
+
buttonImageUrl?: string;
|
|
143
|
+
buttonImageUrlMobile?: string;
|
|
144
|
+
buttonWidth?: string;
|
|
145
|
+
buttonHeight?: string;
|
|
146
|
+
buttonIconSize?: string;
|
|
147
|
+
buttonWidthMobile?: string;
|
|
148
|
+
buttonHeightMobile?: string;
|
|
149
|
+
buttonIconSizeMobile?: string;
|
|
150
|
+
buttonBgColor?: string;
|
|
151
|
+
buttonBorderRadius?: string;
|
|
152
|
+
greetingMaxWidth?: string;
|
|
153
|
+
zIndex?: number;
|
|
154
|
+
hideGreeting?: boolean;
|
|
155
|
+
}
|
|
156
|
+
declare function FloatingButton({ onClick, position, positionMobile, greeting, isOpen, greetingOffsetX, greetingOffsetY, buttonOffsetXMobile, buttonOffsetYMobile, buttonOffsetXDesktop, buttonOffsetYDesktop, buttonIconUrl, buttonImageUrl, buttonImageUrlMobile, buttonWidth, buttonHeight, buttonIconSize, buttonWidthMobile, buttonHeightMobile, buttonIconSizeMobile, buttonBgColor, buttonBorderRadius, greetingMaxWidth, zIndex, hideGreeting, }: FloatingButtonProps): react_jsx_runtime.JSX.Element;
|
|
157
|
+
|
|
158
|
+
interface CartDrawerProps {
|
|
159
|
+
storeOrigin: string;
|
|
160
|
+
isOpen: boolean;
|
|
161
|
+
onClose: () => void;
|
|
162
|
+
onCartUpdate?: (count: number) => void;
|
|
163
|
+
}
|
|
164
|
+
declare function CartDrawer({ storeOrigin, isOpen, onClose, onCartUpdate }: CartDrawerProps): react_jsx_runtime.JSX.Element | null;
|
|
165
|
+
|
|
166
|
+
interface LiveChatPanelProps {
|
|
167
|
+
isWidgetOpen: boolean;
|
|
168
|
+
isRightSide: boolean;
|
|
169
|
+
zIndex: number;
|
|
170
|
+
}
|
|
171
|
+
/** Desktop side panel — only renders when viewport is wide enough (>1200px) */
|
|
172
|
+
declare function LiveChatPanel({ isWidgetOpen, isRightSide, zIndex }: LiveChatPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
173
|
+
|
|
174
|
+
interface PreviewEmbedPanelProps {
|
|
175
|
+
isOpen: boolean;
|
|
176
|
+
isRightSide: boolean;
|
|
177
|
+
zIndex: number;
|
|
178
|
+
}
|
|
179
|
+
declare function PreviewEmbedPanel({ isOpen, isRightSide, zIndex }: PreviewEmbedPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
180
|
+
|
|
181
|
+
export { CartDrawer, ChatDrawer, ChatFooter, ChatHeader, ChatInput, ChatInputWithAttachments, ChatInterface, FloatingButton, LiveChatHeader, LiveChatPanel, LiveChatQueueBanner, PreviewEmbedPanel, QuickQuestions, SatisfactionRating, SystemMessage, VisitorIdentityForm, WelcomePage };
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Q as QuestionConfig } from './types-DKJ_-nbG.js';
|
|
3
|
+
import * as React$1 from 'react';
|
|
4
|
+
import { FileUIPart } from 'ai';
|
|
5
|
+
|
|
6
|
+
interface ChatInterfaceProps {
|
|
7
|
+
/** Allow per-instance overrides of any context value */
|
|
8
|
+
isOpen?: boolean;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
onNewConversation?: () => void;
|
|
11
|
+
logoUrl?: string;
|
|
12
|
+
questions?: QuestionConfig[];
|
|
13
|
+
pageQuestions?: QuestionConfig[];
|
|
14
|
+
footerText?: string;
|
|
15
|
+
welcomeTitle?: string;
|
|
16
|
+
welcomeSubtitle?: string;
|
|
17
|
+
hideWelcomeHeader?: boolean;
|
|
18
|
+
showFirstMessage?: boolean;
|
|
19
|
+
hideHeader?: boolean;
|
|
20
|
+
pendingMessage?: string | null;
|
|
21
|
+
onPendingMessageConsumed?: () => void;
|
|
22
|
+
pageUrl?: string;
|
|
23
|
+
pageTitle?: string;
|
|
24
|
+
pageContextLoading?: boolean;
|
|
25
|
+
pageWelcomeTitle?: string;
|
|
26
|
+
pageWelcomeSubtitle?: string;
|
|
27
|
+
questionsLayout?: "vertical" | "horizontal";
|
|
28
|
+
questionsLayoutMobile?: "vertical" | "horizontal";
|
|
29
|
+
}
|
|
30
|
+
declare function ChatInterface(props: ChatInterfaceProps): react_jsx_runtime.JSX.Element;
|
|
31
|
+
|
|
32
|
+
interface ChatHeaderProps {
|
|
33
|
+
isWelcome?: boolean;
|
|
34
|
+
onNewConversation?: () => void;
|
|
35
|
+
onClose?: () => void;
|
|
36
|
+
clientName?: string;
|
|
37
|
+
logoUrl?: string;
|
|
38
|
+
cartCount?: number;
|
|
39
|
+
onCartClick?: () => void;
|
|
40
|
+
}
|
|
41
|
+
declare const ChatHeader: React$1.NamedExoticComponent<ChatHeaderProps>;
|
|
42
|
+
|
|
43
|
+
interface ChatInputProps {
|
|
44
|
+
value: string;
|
|
45
|
+
onChange: (value: string) => void;
|
|
46
|
+
onSubmit: (value: string) => void;
|
|
47
|
+
isProcessing?: boolean;
|
|
48
|
+
placeholder?: string;
|
|
49
|
+
}
|
|
50
|
+
declare const ChatInput: React$1.NamedExoticComponent<ChatInputProps>;
|
|
51
|
+
|
|
52
|
+
interface ChatInputWithAttachmentsProps {
|
|
53
|
+
value: string;
|
|
54
|
+
onChange: (value: string) => void;
|
|
55
|
+
onSubmit: (text: string, attachments?: FileUIPart[]) => void;
|
|
56
|
+
isProcessing?: boolean;
|
|
57
|
+
placeholder?: string;
|
|
58
|
+
}
|
|
59
|
+
declare function ChatInputWithAttachments({ value, onChange, onSubmit, isProcessing, placeholder, }: ChatInputWithAttachmentsProps): react_jsx_runtime.JSX.Element;
|
|
60
|
+
|
|
61
|
+
interface ChatFooterProps {
|
|
62
|
+
footerText?: string;
|
|
63
|
+
}
|
|
64
|
+
declare function ChatFooter({ footerText }: ChatFooterProps): react_jsx_runtime.JSX.Element;
|
|
65
|
+
|
|
66
|
+
interface WelcomePageProps {
|
|
67
|
+
onSelectCategory: (category: string, hideMessage?: boolean) => void;
|
|
68
|
+
isProcessing?: boolean;
|
|
69
|
+
clientName?: string;
|
|
70
|
+
isOpen?: boolean;
|
|
71
|
+
questions?: QuestionConfig[];
|
|
72
|
+
welcomeTitle?: string;
|
|
73
|
+
welcomeSubtitle?: string;
|
|
74
|
+
hideWelcomeHeader?: boolean;
|
|
75
|
+
loading?: boolean;
|
|
76
|
+
questionsLayout?: "vertical" | "horizontal";
|
|
77
|
+
questionsLayoutMobile?: "vertical" | "horizontal";
|
|
78
|
+
}
|
|
79
|
+
declare function WelcomePage({ onSelectCategory, isProcessing, isOpen, clientName, questions, welcomeTitle, welcomeSubtitle, hideWelcomeHeader, loading, questionsLayout, questionsLayoutMobile, }: WelcomePageProps): react_jsx_runtime.JSX.Element;
|
|
80
|
+
|
|
81
|
+
interface QuickQuestionsProps {
|
|
82
|
+
questions: QuestionConfig[];
|
|
83
|
+
onSelect: (query: string) => void;
|
|
84
|
+
isProcessing?: boolean;
|
|
85
|
+
/** A key that changes when the page changes, so we can re-show dismissed questions */
|
|
86
|
+
pageKey?: string;
|
|
87
|
+
}
|
|
88
|
+
declare function QuickQuestions({ questions, onSelect, isProcessing, pageKey }: QuickQuestionsProps): react_jsx_runtime.JSX.Element | null;
|
|
89
|
+
|
|
90
|
+
interface ChatDrawerProps {
|
|
91
|
+
defaultOpen?: boolean;
|
|
92
|
+
open?: boolean;
|
|
93
|
+
onOpenChange?: (open: boolean) => void;
|
|
94
|
+
trigger?: React.ReactNode;
|
|
95
|
+
hideTrigger?: boolean;
|
|
96
|
+
}
|
|
97
|
+
declare function ChatDrawer({ defaultOpen, open: controlledOpen, onOpenChange, trigger, hideTrigger, }: ChatDrawerProps): react_jsx_runtime.JSX.Element;
|
|
98
|
+
|
|
99
|
+
interface SystemMessageProps {
|
|
100
|
+
message: string;
|
|
101
|
+
type?: string;
|
|
102
|
+
}
|
|
103
|
+
declare function SystemMessage({ message, type }: SystemMessageProps): react_jsx_runtime.JSX.Element;
|
|
104
|
+
|
|
105
|
+
interface VisitorIdentityFormProps {
|
|
106
|
+
onSubmit: (name: string, email: string) => void;
|
|
107
|
+
onCancel: () => void;
|
|
108
|
+
}
|
|
109
|
+
declare function VisitorIdentityForm({ onSubmit, onCancel }: VisitorIdentityFormProps): react_jsx_runtime.JSX.Element;
|
|
110
|
+
|
|
111
|
+
interface LiveChatHeaderProps {
|
|
112
|
+
operatorName: string;
|
|
113
|
+
onEndChat: () => void;
|
|
114
|
+
}
|
|
115
|
+
declare function LiveChatHeader({ operatorName, onEndChat }: LiveChatHeaderProps): react_jsx_runtime.JSX.Element;
|
|
116
|
+
|
|
117
|
+
interface QueueBannerProps {
|
|
118
|
+
position: number;
|
|
119
|
+
onCancel: () => void;
|
|
120
|
+
}
|
|
121
|
+
declare function LiveChatQueueBanner({ position, onCancel }: QueueBannerProps): react_jsx_runtime.JSX.Element;
|
|
122
|
+
|
|
123
|
+
interface SatisfactionRatingProps {
|
|
124
|
+
onSubmit: (rating: "positive" | "negative", comment?: string) => void;
|
|
125
|
+
onSkip: () => void;
|
|
126
|
+
}
|
|
127
|
+
declare function SatisfactionRating({ onSubmit, onSkip }: SatisfactionRatingProps): react_jsx_runtime.JSX.Element;
|
|
128
|
+
|
|
129
|
+
interface FloatingButtonProps {
|
|
130
|
+
onClick: () => void;
|
|
131
|
+
position: "bottom-right" | "bottom-left" | "top-right" | "top-left";
|
|
132
|
+
positionMobile?: "bottom-right" | "bottom-left" | "top-right" | "top-left";
|
|
133
|
+
greeting?: string;
|
|
134
|
+
isOpen?: boolean;
|
|
135
|
+
greetingOffsetX?: string;
|
|
136
|
+
greetingOffsetY?: string;
|
|
137
|
+
buttonOffsetXMobile?: string;
|
|
138
|
+
buttonOffsetYMobile?: string;
|
|
139
|
+
buttonOffsetXDesktop?: string;
|
|
140
|
+
buttonOffsetYDesktop?: string;
|
|
141
|
+
buttonIconUrl?: string;
|
|
142
|
+
buttonImageUrl?: string;
|
|
143
|
+
buttonImageUrlMobile?: string;
|
|
144
|
+
buttonWidth?: string;
|
|
145
|
+
buttonHeight?: string;
|
|
146
|
+
buttonIconSize?: string;
|
|
147
|
+
buttonWidthMobile?: string;
|
|
148
|
+
buttonHeightMobile?: string;
|
|
149
|
+
buttonIconSizeMobile?: string;
|
|
150
|
+
buttonBgColor?: string;
|
|
151
|
+
buttonBorderRadius?: string;
|
|
152
|
+
greetingMaxWidth?: string;
|
|
153
|
+
zIndex?: number;
|
|
154
|
+
hideGreeting?: boolean;
|
|
155
|
+
}
|
|
156
|
+
declare function FloatingButton({ onClick, position, positionMobile, greeting, isOpen, greetingOffsetX, greetingOffsetY, buttonOffsetXMobile, buttonOffsetYMobile, buttonOffsetXDesktop, buttonOffsetYDesktop, buttonIconUrl, buttonImageUrl, buttonImageUrlMobile, buttonWidth, buttonHeight, buttonIconSize, buttonWidthMobile, buttonHeightMobile, buttonIconSizeMobile, buttonBgColor, buttonBorderRadius, greetingMaxWidth, zIndex, hideGreeting, }: FloatingButtonProps): react_jsx_runtime.JSX.Element;
|
|
157
|
+
|
|
158
|
+
interface CartDrawerProps {
|
|
159
|
+
storeOrigin: string;
|
|
160
|
+
isOpen: boolean;
|
|
161
|
+
onClose: () => void;
|
|
162
|
+
onCartUpdate?: (count: number) => void;
|
|
163
|
+
}
|
|
164
|
+
declare function CartDrawer({ storeOrigin, isOpen, onClose, onCartUpdate }: CartDrawerProps): react_jsx_runtime.JSX.Element | null;
|
|
165
|
+
|
|
166
|
+
interface LiveChatPanelProps {
|
|
167
|
+
isWidgetOpen: boolean;
|
|
168
|
+
isRightSide: boolean;
|
|
169
|
+
zIndex: number;
|
|
170
|
+
}
|
|
171
|
+
/** Desktop side panel — only renders when viewport is wide enough (>1200px) */
|
|
172
|
+
declare function LiveChatPanel({ isWidgetOpen, isRightSide, zIndex }: LiveChatPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
173
|
+
|
|
174
|
+
interface PreviewEmbedPanelProps {
|
|
175
|
+
isOpen: boolean;
|
|
176
|
+
isRightSide: boolean;
|
|
177
|
+
zIndex: number;
|
|
178
|
+
}
|
|
179
|
+
declare function PreviewEmbedPanel({ isOpen, isRightSide, zIndex }: PreviewEmbedPanelProps): react_jsx_runtime.JSX.Element | null;
|
|
180
|
+
|
|
181
|
+
export { CartDrawer, ChatDrawer, ChatFooter, ChatHeader, ChatInput, ChatInputWithAttachments, ChatInterface, FloatingButton, LiveChatHeader, LiveChatPanel, LiveChatQueueBanner, PreviewEmbedPanel, QuickQuestions, SatisfactionRating, SystemMessage, VisitorIdentityForm, WelcomePage };
|