vdb-ai-chat 1.0.1 → 1.0.2
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/dist/10.chat-widget.js +2 -0
- package/dist/10.chat-widget.js.LICENSE.txt +1 -0
- package/dist/104.chat-widget.js +1 -0
- package/dist/50.chat-widget.js +1 -0
- package/dist/521.chat-widget.js +1 -0
- package/dist/538.chat-widget.js +1 -1
- package/dist/572.chat-widget.js +1 -0
- package/dist/694.chat-widget.js +1 -0
- package/dist/chat-widget.js +1 -1
- package/lib/commonjs/api.js +4 -3
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/BetaNotice.js +38 -0
- package/lib/commonjs/components/BetaNotice.js.map +1 -0
- package/lib/commonjs/components/ChatHeader.js +27 -20
- package/lib/commonjs/components/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/ChatInput.js +21 -21
- package/lib/commonjs/components/ChatInput.js.map +1 -1
- package/lib/commonjs/components/ChatWidget.js +119 -72
- package/lib/commonjs/components/ChatWidget.js.map +1 -1
- package/lib/commonjs/components/MessageBubble.js +26 -90
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/MessageMetaRow.js +135 -0
- package/lib/commonjs/components/MessageMetaRow.js.map +1 -0
- package/lib/commonjs/components/ProductsGrid.js +139 -0
- package/lib/commonjs/components/ProductsGrid.js.map +1 -0
- package/lib/commonjs/components/ProductsList.js +22 -126
- package/lib/commonjs/components/ProductsList.js.map +1 -1
- package/lib/commonjs/components/ProductsListView.js +139 -0
- package/lib/commonjs/components/ProductsListView.js.map +1 -0
- package/lib/commonjs/components/SuggestionsRow.js +41 -23
- package/lib/commonjs/components/SuggestionsRow.js.map +1 -1
- package/lib/commonjs/components/utils.js +4 -3
- package/lib/commonjs/components/utils.js.map +1 -1
- package/lib/commonjs/index.web.js +86 -29
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/theme.js +4 -4
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/module/api.js +4 -3
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/BetaNotice.js +30 -0
- package/lib/module/components/BetaNotice.js.map +1 -0
- package/lib/module/components/ChatHeader.js +27 -20
- package/lib/module/components/ChatHeader.js.map +1 -1
- package/lib/module/components/ChatInput.js +21 -21
- package/lib/module/components/ChatInput.js.map +1 -1
- package/lib/module/components/ChatWidget.js +120 -73
- package/lib/module/components/ChatWidget.js.map +1 -1
- package/lib/module/components/MessageBubble.js +26 -92
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/components/MessageMetaRow.js +127 -0
- package/lib/module/components/MessageMetaRow.js.map +1 -0
- package/lib/module/components/ProductsGrid.js +133 -0
- package/lib/module/components/ProductsGrid.js.map +1 -0
- package/lib/module/components/ProductsList.js +21 -126
- package/lib/module/components/ProductsList.js.map +1 -1
- package/lib/module/components/ProductsListView.js +132 -0
- package/lib/module/components/ProductsListView.js.map +1 -0
- package/lib/module/components/SuggestionsRow.js +41 -23
- package/lib/module/components/SuggestionsRow.js.map +1 -1
- package/lib/module/components/utils.js +4 -3
- package/lib/module/components/utils.js.map +1 -1
- package/lib/module/index.web.js +86 -29
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/theme.js +4 -4
- package/lib/module/theme.js.map +1 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/BetaNotice.d.ts +5 -0
- package/lib/typescript/components/BetaNotice.d.ts.map +1 -0
- package/lib/typescript/components/ChatHeader.d.ts +5 -2
- package/lib/typescript/components/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/ChatInput.d.ts.map +1 -1
- package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
- package/lib/typescript/components/MessageBubble.d.ts +7 -3
- package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/components/MessageMetaRow.d.ts +14 -0
- package/lib/typescript/components/MessageMetaRow.d.ts.map +1 -0
- package/lib/typescript/components/ProductsGrid.d.ts +10 -0
- package/lib/typescript/components/ProductsGrid.d.ts.map +1 -0
- package/lib/typescript/components/ProductsList.d.ts +4 -2
- package/lib/typescript/components/ProductsList.d.ts.map +1 -1
- package/lib/typescript/components/ProductsListView.d.ts +10 -0
- package/lib/typescript/components/ProductsListView.d.ts.map +1 -0
- package/lib/typescript/components/SuggestionsRow.d.ts +2 -0
- package/lib/typescript/components/SuggestionsRow.d.ts.map +1 -1
- package/lib/typescript/components/utils.d.ts +1 -0
- package/lib/typescript/components/utils.d.ts.map +1 -1
- package/lib/typescript/index.web.d.ts +1 -1
- package/lib/typescript/index.web.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +3 -1
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api.ts +4 -3
- package/src/components/BetaNotice.tsx +32 -0
- package/src/components/ChatHeader.tsx +32 -18
- package/src/components/ChatInput.tsx +20 -21
- package/src/components/ChatWidget.tsx +258 -220
- package/src/components/MessageBubble.tsx +44 -149
- package/src/components/MessageMetaRow.tsx +199 -0
- package/src/components/ProductsGrid.tsx +163 -0
- package/src/components/ProductsList.tsx +20 -146
- package/src/components/ProductsListView.tsx +149 -0
- package/src/components/SuggestionsRow.tsx +45 -21
- package/src/components/utils.ts +6 -4
- package/src/index.web.tsx +87 -32
- package/src/theme.ts +4 -4
- package/src/types.ts +3 -2
- package/dist/751.chat-widget.js +0 -1
- package/lib/commonjs/contexts/SegmentClientContext.js +0 -19
- package/lib/commonjs/contexts/SegmentClientContext.js.map +0 -1
- package/lib/module/contexts/SegmentClientContext.js +0 -10
- package/lib/module/contexts/SegmentClientContext.js.map +0 -1
- package/lib/typescript/contexts/SegmentClientContext.d.ts +0 -9
- package/lib/typescript/contexts/SegmentClientContext.d.ts.map +0 -1
- package/src/contexts/SegmentClientContext.tsx +0 -20
|
@@ -8,10 +8,11 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _ChatInput = require("./ChatInput");
|
|
10
10
|
var _MessageBubble = require("./MessageBubble");
|
|
11
|
+
var _MessageMetaRow = _interopRequireDefault(require("./MessageMetaRow"));
|
|
11
12
|
var _theme = require("../theme");
|
|
12
13
|
var _api = require("../api");
|
|
13
14
|
var _ChatHeader = _interopRequireDefault(require("./ChatHeader"));
|
|
14
|
-
var
|
|
15
|
+
var _BetaNotice = _interopRequireDefault(require("./BetaNotice"));
|
|
15
16
|
var _ProductsList = _interopRequireDefault(require("./ProductsList"));
|
|
16
17
|
var _utils = require("./utils");
|
|
17
18
|
var _useAnalytics = require("../hooks/useAnalytics");
|
|
@@ -20,7 +21,6 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
20
21
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
21
22
|
const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
22
23
|
apiUrl,
|
|
23
|
-
userId: userIdProp,
|
|
24
24
|
userToken: userTokenProp,
|
|
25
25
|
priceMode: priceModeProp,
|
|
26
26
|
modalHeight,
|
|
@@ -30,7 +30,8 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
30
30
|
onClose,
|
|
31
31
|
onClearChat,
|
|
32
32
|
onViewAllPress,
|
|
33
|
-
onItemPress: onItemPressProp
|
|
33
|
+
onItemPress: onItemPressProp,
|
|
34
|
+
isBetaMode: isBetaModeProp
|
|
34
35
|
}, ref) => {
|
|
35
36
|
const [messages, setMessages] = (0, _react.useState)(initialMessages);
|
|
36
37
|
const [input, setInput] = (0, _react.useState)("");
|
|
@@ -42,8 +43,6 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
42
43
|
const [productsByMsg, setProductsByMsg] = (0, _react.useState)({});
|
|
43
44
|
const [reloadLoadingIds, setReloadLoadingIds] = (0, _react.useState)(new Set());
|
|
44
45
|
const [priceMode, setPriceMode] = (0, _react.useState)(priceModeProp || null);
|
|
45
|
-
const [conversationId, setConversationId] = (0, _react.useState)(null);
|
|
46
|
-
const [userId, setUserId] = (0, _react.useState)(userIdProp || "");
|
|
47
46
|
const [userToken, setUserToken] = (0, _react.useState)(userTokenProp || "");
|
|
48
47
|
const scrollRef = (0, _react.useRef)(null);
|
|
49
48
|
const inputRef = (0, _react.useRef)(null);
|
|
@@ -51,16 +50,11 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
51
50
|
const {
|
|
52
51
|
_identify
|
|
53
52
|
} = (0, _useAnalytics.useUserAnalytics)();
|
|
53
|
+
const betaActive = Boolean(isBetaModeProp);
|
|
54
54
|
// Load user auth data from storage on mount
|
|
55
55
|
(0, _react.useEffect)(() => {
|
|
56
56
|
const loadAuthData = async () => {
|
|
57
57
|
try {
|
|
58
|
-
if (!userIdProp) {
|
|
59
|
-
const userData = await _storage.Storage.getJSON("userData", {});
|
|
60
|
-
if (userData?.id) {
|
|
61
|
-
setUserId(userData.id);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
58
|
if (!userTokenProp) {
|
|
65
59
|
const token = await _storage.Storage.getItem("token");
|
|
66
60
|
if (token) {
|
|
@@ -72,7 +66,7 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
72
66
|
}
|
|
73
67
|
};
|
|
74
68
|
loadAuthData();
|
|
75
|
-
}, [
|
|
69
|
+
}, [userTokenProp]);
|
|
76
70
|
const onViewAll = (0, _react.useCallback)(() => {
|
|
77
71
|
const searchPayload = JSON.stringify(assistantResponse?.search_payload);
|
|
78
72
|
const payload = assistantResponse?.search_payload;
|
|
@@ -100,10 +94,10 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
100
94
|
window.open(deepLinkUrl, "_parent");
|
|
101
95
|
}
|
|
102
96
|
}, [apiUrl, priceMode, onItemPressProp]);
|
|
103
|
-
const hasAuth = (0, _react.useMemo)(() => Boolean(
|
|
97
|
+
const hasAuth = (0, _react.useMemo)(() => Boolean(userToken), [userToken]);
|
|
104
98
|
const apiParams = (0, _react.useMemo)(() => ({
|
|
105
|
-
conversationId: userToken
|
|
106
|
-
}), [
|
|
99
|
+
conversationId: userToken
|
|
100
|
+
}), [userToken]);
|
|
107
101
|
const handleFeedbackAction = (0, _react.useCallback)(async (action, conversation_id, message_id) => {
|
|
108
102
|
try {
|
|
109
103
|
// Use functional update to get current messages without dependency
|
|
@@ -136,7 +130,21 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
136
130
|
try {
|
|
137
131
|
const initial = await (0, _api.fetchInitialMessages)(apiUrl, apiParams, priceMode);
|
|
138
132
|
if (!cancelled) {
|
|
139
|
-
|
|
133
|
+
const normalised = (0, _api.normaliseMessages)(initial).reverse();
|
|
134
|
+
if (normalised.length === 0) {
|
|
135
|
+
const initialAssistant = {
|
|
136
|
+
id: "",
|
|
137
|
+
role: "assistant",
|
|
138
|
+
text: "Hello! How can I help you today?",
|
|
139
|
+
createdAt: Date.now(),
|
|
140
|
+
isLoading: false,
|
|
141
|
+
suggestions: ["Search Natural Diamonds", "Search Lab-Grown Diamonds"],
|
|
142
|
+
reaction: "0"
|
|
143
|
+
};
|
|
144
|
+
setMessages([initialAssistant]);
|
|
145
|
+
} else {
|
|
146
|
+
setMessages(normalised);
|
|
147
|
+
}
|
|
140
148
|
}
|
|
141
149
|
} catch (error) {
|
|
142
150
|
console.error("Failed to fetch initial messages", error);
|
|
@@ -164,6 +172,7 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
164
172
|
role: "assistant",
|
|
165
173
|
text: "Thinking",
|
|
166
174
|
createdAt: Date.now(),
|
|
175
|
+
reaction: "0",
|
|
167
176
|
isLoading: true
|
|
168
177
|
};
|
|
169
178
|
setMessages(prev => [...prev, userMessage, loadingMessage]);
|
|
@@ -203,10 +212,10 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
203
212
|
inputRef.current?.focus();
|
|
204
213
|
return;
|
|
205
214
|
}
|
|
206
|
-
setProductsByMsg({
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
});
|
|
215
|
+
setProductsByMsg(prev => ({
|
|
216
|
+
...prev,
|
|
217
|
+
[latestAssistant.id]: productsResult
|
|
218
|
+
}));
|
|
210
219
|
}
|
|
211
220
|
setLoadingMessageId(null);
|
|
212
221
|
setMessages(prev => prev.map(msg => msg.id === loadingId ? {
|
|
@@ -284,7 +293,7 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
284
293
|
(0, _react.useEffect)(() => {
|
|
285
294
|
_reactNative.DeviceEventEmitter.addListener("clearChat", handleClearChat);
|
|
286
295
|
_reactNative.DeviceEventEmitter.addListener("changePriceMode", data => changePriceMode(data.priceMode));
|
|
287
|
-
changePriceMode(
|
|
296
|
+
changePriceMode();
|
|
288
297
|
identifySegmentUser();
|
|
289
298
|
return () => {
|
|
290
299
|
_reactNative.DeviceEventEmitter.removeAllListeners("clearChat");
|
|
@@ -292,37 +301,24 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
292
301
|
};
|
|
293
302
|
}, []);
|
|
294
303
|
const changePriceMode = async _priceMode => {
|
|
295
|
-
// Priority: passed argument > prop > storage
|
|
296
304
|
if (!_priceMode && priceModeProp) {
|
|
297
305
|
_priceMode = priceModeProp;
|
|
298
306
|
}
|
|
299
307
|
if (!_priceMode) {
|
|
300
|
-
|
|
308
|
+
let userData = await _storage.Storage.getJSON("persist:userInfo", {
|
|
309
|
+
user: undefined
|
|
310
|
+
});
|
|
311
|
+
userData = userData && userData.user ? JSON.parse(userData.user) : {};
|
|
301
312
|
_priceMode = userData?.price_mode;
|
|
302
313
|
}
|
|
303
|
-
setPriceMode(_priceMode
|
|
314
|
+
setPriceMode(_priceMode === undefined ? null : String(_priceMode));
|
|
304
315
|
};
|
|
305
|
-
|
|
306
|
-
// Update conversationId when priceMode changes
|
|
307
|
-
(0, _react.useEffect)(() => {
|
|
308
|
-
const loadConversationId = async () => {
|
|
309
|
-
if (!priceMode) {
|
|
310
|
-
setConversationId(null);
|
|
311
|
-
return;
|
|
312
|
-
}
|
|
313
|
-
const conversations = await _storage.Storage.getJSON("vdbchat_conversations", {});
|
|
314
|
-
const storedId = conversations?.[priceMode]?.conversation_id ?? null;
|
|
315
|
-
setConversationId(storedId ? String(storedId) : null);
|
|
316
|
-
};
|
|
317
|
-
loadConversationId();
|
|
318
|
-
}, [priceMode, messages]); // Re-fetch when messages change (new conversation might be created)
|
|
319
|
-
|
|
320
316
|
const handleClearChat = (0, _react.useCallback)(async () => {
|
|
321
317
|
try {
|
|
322
318
|
const conversations = await _storage.Storage.getJSON("vdbchat_conversations", {});
|
|
323
|
-
const storedId = conversations
|
|
319
|
+
const storedId = conversations ? conversations[priceMode]?.conversation_id : null;
|
|
324
320
|
if (storedId && priceMode) {
|
|
325
|
-
const updatedConversations = conversations
|
|
321
|
+
const updatedConversations = conversations ?? {};
|
|
326
322
|
delete updatedConversations[priceMode];
|
|
327
323
|
await _storage.Storage.setJSON("vdbchat_conversations", updatedConversations);
|
|
328
324
|
}
|
|
@@ -335,30 +331,39 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
335
331
|
setTypingMessageId(null);
|
|
336
332
|
setTypingFullText("");
|
|
337
333
|
const fresh = await (0, _api.fetchInitialMessages)(apiUrl, undefined, priceMode);
|
|
338
|
-
|
|
334
|
+
{
|
|
335
|
+
const normalised = (0, _api.normaliseMessages)(fresh).reverse();
|
|
336
|
+
if (normalised.length === 0) {
|
|
337
|
+
const initialAssistant = {
|
|
338
|
+
id: "",
|
|
339
|
+
role: "assistant",
|
|
340
|
+
text: "Hello! How can I help you today?",
|
|
341
|
+
createdAt: Date.now(),
|
|
342
|
+
isLoading: false,
|
|
343
|
+
suggestions: ["Search Natural Diamonds", "Search Lab-Grown Diamonds"],
|
|
344
|
+
reaction: "0"
|
|
345
|
+
};
|
|
346
|
+
setMessages([initialAssistant]);
|
|
347
|
+
} else {
|
|
348
|
+
setMessages(normalised);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
339
351
|
onClearChat?.();
|
|
340
352
|
} catch (err) {
|
|
353
|
+
// eslint-disable-next-line no-console
|
|
341
354
|
console.error("Failed to clear chat", err);
|
|
342
355
|
}
|
|
343
|
-
}, [apiUrl,
|
|
344
|
-
|
|
345
|
-
// Expose clearChat method via ref for external use (React Native)
|
|
346
|
-
(0, _react.useImperativeHandle)(ref, () => ({
|
|
347
|
-
clearChat: handleClearChat
|
|
348
|
-
}), [handleClearChat]);
|
|
356
|
+
}, [apiUrl, priceMode]);
|
|
349
357
|
|
|
350
358
|
// "Thinking..." dot animation while waiting for the API
|
|
351
359
|
(0, _react.useEffect)(() => {
|
|
352
|
-
if (!loadingMessageId || typingMessageId)
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
360
|
+
if (!loadingMessageId || typingMessageId) return;
|
|
355
361
|
let step = 0;
|
|
356
362
|
const base = "Thinking";
|
|
357
|
-
const msgId = loadingMessageId;
|
|
358
363
|
const interval = setInterval(() => {
|
|
359
364
|
step = (step + 1) % 3;
|
|
360
365
|
const dots = ".".repeat(step + 1);
|
|
361
|
-
setMessages(prev => prev.map(msg => msg.id ===
|
|
366
|
+
setMessages(prev => prev.map(msg => msg.id === loadingMessageId && msg.isLoading ? {
|
|
362
367
|
...msg,
|
|
363
368
|
text: `${base}${dots}`
|
|
364
369
|
} : msg));
|
|
@@ -368,6 +373,11 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
368
373
|
};
|
|
369
374
|
}, [loadingMessageId, typingMessageId]);
|
|
370
375
|
|
|
376
|
+
// Expose clearChat method via ref for external use (React Native)
|
|
377
|
+
(0, _react.useImperativeHandle)(ref, () => ({
|
|
378
|
+
clearChat: handleClearChat
|
|
379
|
+
}), [handleClearChat]);
|
|
380
|
+
|
|
371
381
|
// Typewriter-style animation for assistant reply once it arrives
|
|
372
382
|
const typingIndexRef = (0, _react.useRef)(0);
|
|
373
383
|
(0, _react.useEffect)(() => {
|
|
@@ -407,17 +417,25 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
407
417
|
}]
|
|
408
418
|
}, _reactNative.Platform.OS === "web" && /*#__PURE__*/_react.default.createElement(_ChatHeader.default, {
|
|
409
419
|
onClose: onClose,
|
|
410
|
-
onClearChat: handleClearChat
|
|
411
|
-
|
|
420
|
+
onClearChat: handleClearChat,
|
|
421
|
+
isBetaMode: betaActive
|
|
422
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.KeyboardAvoidingView, {
|
|
423
|
+
style: {
|
|
424
|
+
flex: 1
|
|
425
|
+
},
|
|
426
|
+
behavior: _reactNative.Platform.OS === "ios" ? "padding" : "height",
|
|
427
|
+
keyboardVerticalOffset: -16
|
|
428
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
|
|
412
429
|
ref: scrollRef,
|
|
430
|
+
keyboardShouldPersistTaps: "handled",
|
|
413
431
|
style: modalHeight ? {
|
|
414
432
|
height: modalHeight,
|
|
415
|
-
backgroundColor: "#
|
|
433
|
+
backgroundColor: "#FFFFFF"
|
|
416
434
|
} : {
|
|
417
|
-
backgroundColor: "#
|
|
435
|
+
backgroundColor: "#FFFFFF"
|
|
418
436
|
},
|
|
419
437
|
contentContainerStyle: {
|
|
420
|
-
backgroundColor: theme?.listContentBackgroundColor || "#
|
|
438
|
+
backgroundColor: theme?.listContentBackgroundColor || "#FFFFFF",
|
|
421
439
|
...styles.listContent,
|
|
422
440
|
justifyContent: messages.length === 0 ? "center" : "flex-end",
|
|
423
441
|
minHeight: modalHeight ? modalHeight : undefined
|
|
@@ -435,26 +453,42 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
435
453
|
const ordered = [...messages];
|
|
436
454
|
return ordered.map((item, index) => {
|
|
437
455
|
const isLatest = index === ordered.length - 1;
|
|
456
|
+
const hasDiamonds = Boolean(productsByMsg[item.id]?.response?.body?.diamonds && productsByMsg[item.id]?.response?.body?.diamonds.length > 0);
|
|
438
457
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
439
|
-
key: item.id + index
|
|
458
|
+
key: item.id + index,
|
|
459
|
+
style: {
|
|
460
|
+
gap: 12
|
|
461
|
+
}
|
|
440
462
|
}, /*#__PURE__*/_react.default.createElement(_MessageBubble.MessageBubble, {
|
|
441
463
|
message: item,
|
|
442
464
|
theme: theme,
|
|
443
|
-
|
|
465
|
+
priceMode: priceMode,
|
|
444
466
|
handleFeedbackAction: handleFeedbackAction,
|
|
445
467
|
onReloadResults: handleReloadResults,
|
|
446
468
|
reloading: reloadLoadingIds.has(item.id),
|
|
447
|
-
hasResults:
|
|
448
|
-
|
|
449
|
-
|
|
469
|
+
hasResults: hasDiamonds,
|
|
470
|
+
totalResults: productsByMsg[item.id]?.response?.header?.total_diamonds_found || 0,
|
|
471
|
+
shownResults: productsByMsg[item.id]?.response?.body?.diamonds.length || 0,
|
|
472
|
+
onSuggestionSelect: handleSuggestionSelect,
|
|
473
|
+
isLatest: isLatest,
|
|
474
|
+
isTyping: typingMessageId === item.id
|
|
475
|
+
}), item.role === "assistant" && hasDiamonds && /*#__PURE__*/_react.default.createElement(_ProductsList.default, {
|
|
476
|
+
data: productsByMsg[item.id]?.response?.body?.diamonds || [],
|
|
477
|
+
totalResults: productsByMsg[item.id]?.response?.header?.total_diamonds_found || 0,
|
|
450
478
|
onViewAll: onViewAll,
|
|
451
479
|
onItemPress: onItemPress
|
|
452
|
-
}),
|
|
453
|
-
|
|
454
|
-
|
|
480
|
+
}), /*#__PURE__*/_react.default.createElement(_MessageMetaRow.default, {
|
|
481
|
+
message: item,
|
|
482
|
+
priceMode: priceMode || "",
|
|
483
|
+
handleFeedbackAction: handleFeedbackAction,
|
|
484
|
+
onReloadResults: handleReloadResults,
|
|
485
|
+
reloading: reloadLoadingIds.has(item.id),
|
|
486
|
+
hasResults: hasDiamonds
|
|
455
487
|
}));
|
|
456
488
|
});
|
|
457
|
-
})()), /*#__PURE__*/_react.default.createElement(
|
|
489
|
+
})()), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
490
|
+
style: styles.bottomContainer
|
|
491
|
+
}, /*#__PURE__*/_react.default.createElement(_ChatInput.ChatInput, {
|
|
458
492
|
value: input,
|
|
459
493
|
onChangeText: setInput,
|
|
460
494
|
onSend: handleSend,
|
|
@@ -462,7 +496,9 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
462
496
|
placeholder: placeholder,
|
|
463
497
|
theme: theme,
|
|
464
498
|
inputRef: inputRef
|
|
465
|
-
})
|
|
499
|
+
}), /*#__PURE__*/_react.default.createElement(_BetaNotice.default, {
|
|
500
|
+
active: betaActive
|
|
501
|
+
}))));
|
|
466
502
|
});
|
|
467
503
|
ChatWidget.displayName = "ChatWidget";
|
|
468
504
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -483,12 +519,23 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
483
519
|
padding: 16,
|
|
484
520
|
alignItems: "center",
|
|
485
521
|
justifyContent: "center",
|
|
486
|
-
backgroundColor: "#
|
|
522
|
+
backgroundColor: "#FFFFFF"
|
|
487
523
|
},
|
|
488
524
|
emptyText: {
|
|
489
|
-
fontSize:
|
|
490
|
-
fontWeight: "
|
|
491
|
-
color: "#
|
|
525
|
+
fontSize: 13,
|
|
526
|
+
fontWeight: "400",
|
|
527
|
+
color: "#4F4E57"
|
|
528
|
+
},
|
|
529
|
+
bottomContainer: {
|
|
530
|
+
paddingVertical: 12,
|
|
531
|
+
paddingHorizontal: 16,
|
|
532
|
+
borderTopColor: "#E0E0E0",
|
|
533
|
+
borderTopWidth: 1,
|
|
534
|
+
flexDirection: "column",
|
|
535
|
+
justifyContent: "space-between",
|
|
536
|
+
alignItems: "center",
|
|
537
|
+
alignSelf: "stretch",
|
|
538
|
+
gap: 12
|
|
492
539
|
}
|
|
493
540
|
});
|
|
494
541
|
//# sourceMappingURL=ChatWidget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChatInput","_MessageBubble","_theme","_api","_ChatHeader","_interopRequireDefault","_SuggestionsRow","_ProductsList","_utils","_useAnalytics","_storage","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatWidget","exports","forwardRef","apiUrl","userId","userIdProp","userToken","userTokenProp","priceMode","priceModeProp","modalHeight","theme","themeOverrides","initialMessages","placeholder","onClose","onClearChat","onViewAllPress","onItemPress","onItemPressProp","ref","messages","setMessages","useState","input","setInput","loading","setLoading","loadingMessageId","setLoadingMessageId","typingMessageId","setTypingMessageId","typingFullText","setTypingFullText","assistantResponse","setAssistantResponse","undefined","productsByMsg","setProductsByMsg","reloadLoadingIds","setReloadLoadingIds","Set","setPriceMode","conversationId","setConversationId","setUserId","setUserToken","scrollRef","useRef","inputRef","useMemo","mergeTheme","_identify","useUserAnalytics","useEffect","loadAuthData","userData","Storage","getJSON","id","token","getItem","console","error","onViewAll","useCallback","searchPayload","JSON","stringify","search_payload","payload","domain","split","deepLinkUrl","lab_grown","Platform","OS","window","open","item","type","hasAuth","Boolean","apiParams","handleFeedbackAction","action","conversation_id","message_id","currentReaction","prev","msg","find","m","reaction","nextAction","FeedbackAction","UNSET","res","handleFeedbackActionApi","ok","map","status","cancelled","load","initial","fetchInitialMessages","normaliseMessages","reverse","length","sendMessage","rawText","trimmed","trim","userMessage","Date","now","role","text","createdAt","loadingId","loadingMessage","isLoading","historyForApi","updatedMessages","sendUserMessage","normalised","latestAssistant","keys","productsResult","getProducts","hasDiamonds","response","body","Array","isArray","diamonds","noResultsText","suggestions","current","focus","messageId","data","setTimeout","err","identifySegmentUser","user","getUserDetails","email","then","handleSend","handleSuggestionSelect","value","handleReloadResults","add","next","delete","DeviceEventEmitter","addListener","handleClearChat","changePriceMode","removeAllListeners","_priceMode","price_mode","loadConversationId","conversations","storedId","String","updatedConversations","setJSON","fresh","useImperativeHandle","clearChat","step","base","msgId","interval","setInterval","dots","repeat","clearInterval","typingIndexRef","total","finalMsgId","fullText","currentIndex","slice","createElement","View","style","styles","container","backgroundColor","ScrollView","height","contentContainerStyle","listContentBackgroundColor","listContent","justifyContent","minHeight","onContentSizeChange","scrollToEnd","animated","emptyContainer","Text","emptyText","formatToTime","ordered","index","isLatest","key","MessageBubble","message","onReloadResults","reloading","hasResults","onSelect","ChatInput","onChangeText","onSend","disabled","displayName","StyleSheet","create","flex","width","paddingVertical","flexGrow","alignItems","padding","fontSize","fontWeight","color"],"sourceRoot":"../../../src","sources":["components/ChatWidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChatInput","_MessageBubble","_MessageMetaRow","_interopRequireDefault","_theme","_api","_ChatHeader","_BetaNotice","_ProductsList","_utils","_useAnalytics","_storage","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChatWidget","exports","forwardRef","apiUrl","userToken","userTokenProp","priceMode","priceModeProp","modalHeight","theme","themeOverrides","initialMessages","placeholder","onClose","onClearChat","onViewAllPress","onItemPress","onItemPressProp","isBetaMode","isBetaModeProp","ref","messages","setMessages","useState","input","setInput","loading","setLoading","loadingMessageId","setLoadingMessageId","typingMessageId","setTypingMessageId","typingFullText","setTypingFullText","assistantResponse","setAssistantResponse","undefined","productsByMsg","setProductsByMsg","reloadLoadingIds","setReloadLoadingIds","Set","setPriceMode","setUserToken","scrollRef","useRef","inputRef","useMemo","mergeTheme","_identify","useUserAnalytics","betaActive","Boolean","useEffect","loadAuthData","token","Storage","getItem","console","error","onViewAll","useCallback","searchPayload","JSON","stringify","search_payload","payload","domain","split","deepLinkUrl","lab_grown","Platform","OS","window","open","item","type","id","hasAuth","apiParams","conversationId","handleFeedbackAction","action","conversation_id","message_id","currentReaction","prev","msg","find","m","reaction","nextAction","FeedbackAction","UNSET","res","handleFeedbackActionApi","ok","map","status","cancelled","load","initial","fetchInitialMessages","normalised","normaliseMessages","reverse","length","initialAssistant","role","text","createdAt","Date","now","isLoading","suggestions","sendMessage","rawText","trimmed","trim","userMessage","loadingId","loadingMessage","historyForApi","updatedMessages","sendUserMessage","latestAssistant","keys","productsResult","getProducts","hasDiamonds","response","body","Array","isArray","diamonds","noResultsText","current","focus","setTimeout","err","identifySegmentUser","user","getUserDetails","userId","email","then","handleSend","handleSuggestionSelect","value","handleReloadResults","add","next","delete","DeviceEventEmitter","addListener","handleClearChat","data","changePriceMode","removeAllListeners","_priceMode","userData","getJSON","parse","price_mode","String","conversations","storedId","updatedConversations","setJSON","fresh","step","base","interval","setInterval","dots","repeat","clearInterval","useImperativeHandle","clearChat","typingIndexRef","total","finalMsgId","fullText","currentIndex","slice","createElement","View","style","styles","container","backgroundColor","KeyboardAvoidingView","flex","behavior","keyboardVerticalOffset","ScrollView","keyboardShouldPersistTaps","height","contentContainerStyle","listContentBackgroundColor","listContent","justifyContent","minHeight","onContentSizeChange","scrollToEnd","animated","emptyContainer","Text","emptyText","formatToTime","ordered","index","isLatest","key","gap","MessageBubble","message","onReloadResults","reloading","hasResults","totalResults","header","total_diamonds_found","shownResults","onSuggestionSelect","isTyping","bottomContainer","ChatInput","onChangeText","onSend","disabled","active","displayName","StyleSheet","create","width","paddingVertical","flexGrow","alignItems","padding","fontSize","fontWeight","color","paddingHorizontal","borderTopColor","borderTopWidth","flexDirection","alignSelf"],"sourceRoot":"../../../src","sources":["components/ChatWidget.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,38 +6,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.MessageBubble = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var
|
|
9
|
+
var _SuggestionsRow = _interopRequireDefault(require("./SuggestionsRow"));
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
11
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
-
// Use expo-image on native if available, fallback to RN Image
|
|
12
|
-
let ImageComponent = _reactNative.Image;
|
|
13
|
-
if (_reactNative.Platform.OS !== "web") {
|
|
14
|
-
try {
|
|
15
|
-
const ExpoImage = require("expo-image").Image;
|
|
16
|
-
if (ExpoImage) ImageComponent = ExpoImage;
|
|
17
|
-
} catch {
|
|
18
|
-
// expo-image not installed, use React Native Image
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
12
|
const MessageBubbleComponent = ({
|
|
22
13
|
message,
|
|
23
14
|
theme,
|
|
24
|
-
|
|
15
|
+
priceMode,
|
|
25
16
|
handleFeedbackAction,
|
|
26
17
|
onReloadResults,
|
|
27
18
|
reloading,
|
|
28
|
-
hasResults
|
|
19
|
+
hasResults,
|
|
20
|
+
totalResults,
|
|
21
|
+
shownResults,
|
|
22
|
+
onSuggestionSelect,
|
|
23
|
+
isLatest,
|
|
24
|
+
isTyping
|
|
29
25
|
}) => {
|
|
30
26
|
const isUser = message.role === "user";
|
|
31
|
-
const isValidMessageId = typeof message.id === "string" && message.id.length > 0 && !message.id.startsWith("bot-loading-");
|
|
32
|
-
const canFeedback = message.role === "assistant" && !message.isLoading && isValidMessageId && !!conversationId;
|
|
33
27
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
34
28
|
style: [styles.container, isUser ? styles.alignRight : styles.alignLeft]
|
|
35
29
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
36
30
|
style: [styles.bubble, {
|
|
37
31
|
backgroundColor: isUser ? theme.userBubbleColor : theme.botBubbleColor,
|
|
38
|
-
borderRadius: theme.borderRadius ||
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
borderRadius: theme.borderRadius || 8,
|
|
33
|
+
borderBottomRightRadius: isUser ? 0 : theme.borderRadius,
|
|
34
|
+
borderBottomLeftRadius: isUser ? theme.borderRadius : 0
|
|
41
35
|
}]
|
|
42
36
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
43
37
|
style: [styles.text, {
|
|
@@ -45,61 +39,13 @@ const MessageBubbleComponent = ({
|
|
|
45
39
|
fontFamily: theme.fontFamily,
|
|
46
40
|
fontSize: theme.fontSize
|
|
47
41
|
}]
|
|
48
|
-
}, message.text || ""
|
|
49
|
-
style: styles.
|
|
50
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
alignItems: "center",
|
|
56
|
-
gap: 6
|
|
57
|
-
}
|
|
58
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
|
|
59
|
-
size: "small",
|
|
60
|
-
color: "#1a73e8"
|
|
61
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
62
|
-
style: {
|
|
63
|
-
fontSize: 12,
|
|
64
|
-
color: "#1a73e8",
|
|
65
|
-
textDecorationLine: "underline"
|
|
66
|
-
}
|
|
67
|
-
}, "Loading\u2026")) : /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
68
|
-
onPress: () => onReloadResults?.(message),
|
|
69
|
-
disabled: reloading
|
|
70
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
71
|
-
style: {
|
|
72
|
-
fontSize: 12,
|
|
73
|
-
color: "#1a73e8",
|
|
74
|
-
textDecorationLine: "underline"
|
|
75
|
-
}
|
|
76
|
-
}, "Reload Results"))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
77
|
-
style: styles.likeDislikeContainer
|
|
78
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
79
|
-
onPress: () => handleFeedbackAction(_utils.FeedbackAction.LIKE, String(conversationId), message.id),
|
|
80
|
-
disabled: !canFeedback
|
|
81
|
-
}, /*#__PURE__*/_react.default.createElement(ImageComponent, {
|
|
82
|
-
source: {
|
|
83
|
-
uri: message.reaction === _utils.FeedbackAction.LIKE ? "https://cdn.vdbapp.com/ai/chat-widget/assets/img/like-filled.svg" : "https://cdn.vdbapp.com/ai/chat-widget/assets/img/like.svg"
|
|
84
|
-
},
|
|
85
|
-
resizeMode: "contain",
|
|
86
|
-
style: {
|
|
87
|
-
width: 16,
|
|
88
|
-
height: 16
|
|
89
|
-
}
|
|
90
|
-
})), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
91
|
-
onPress: () => handleFeedbackAction(_utils.FeedbackAction.DISLIKE, String(conversationId), message.id),
|
|
92
|
-
disabled: !canFeedback
|
|
93
|
-
}, /*#__PURE__*/_react.default.createElement(ImageComponent, {
|
|
94
|
-
source: {
|
|
95
|
-
uri: message.reaction === _utils.FeedbackAction.DISLIKE ? "https://cdn.vdbapp.com/ai/chat-widget/assets/img/dislike-filled.svg" : "https://cdn.vdbapp.com/ai/chat-widget/assets/img/dislike.svg"
|
|
96
|
-
},
|
|
97
|
-
resizeMode: "contain",
|
|
98
|
-
style: {
|
|
99
|
-
width: 16,
|
|
100
|
-
height: 16
|
|
101
|
-
}
|
|
102
|
-
})))));
|
|
42
|
+
}, message.text || "", message.role === "assistant" && hasResults && typeof totalResults === "number" ? ` Found ${Number(totalResults).toLocaleString()} diamonds (showing first ${shownResults})` : null), message.role === "assistant" && Array.isArray(message.suggestions) && message.suggestions.length > 0 && isLatest && !isTyping && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
43
|
+
style: styles.suggestionsWrapper
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement(_SuggestionsRow.default, {
|
|
45
|
+
suggestions: message.suggestions,
|
|
46
|
+
onSelect: v => onSuggestionSelect?.(v),
|
|
47
|
+
variant: "inline"
|
|
48
|
+
}))));
|
|
103
49
|
};
|
|
104
50
|
|
|
105
51
|
// Memoize to prevent re-renders when parent re-renders
|
|
@@ -107,21 +53,9 @@ const MessageBubble = exports.MessageBubble = /*#__PURE__*/(0, _react.memo)(Mess
|
|
|
107
53
|
const styles = _reactNative.StyleSheet.create({
|
|
108
54
|
container: {
|
|
109
55
|
paddingHorizontal: 8,
|
|
110
|
-
marginVertical:
|
|
56
|
+
marginVertical: 0,
|
|
111
57
|
width: "100%"
|
|
112
58
|
},
|
|
113
|
-
rowContainer: {
|
|
114
|
-
flexDirection: "row",
|
|
115
|
-
justifyContent: "space-between",
|
|
116
|
-
alignItems: "center",
|
|
117
|
-
gap: 12,
|
|
118
|
-
marginTop: 8,
|
|
119
|
-
marginBottom: 8
|
|
120
|
-
},
|
|
121
|
-
likeDislikeContainer: {
|
|
122
|
-
flexDirection: "row",
|
|
123
|
-
gap: 12
|
|
124
|
-
},
|
|
125
59
|
alignRight: {
|
|
126
60
|
alignItems: "flex-end"
|
|
127
61
|
},
|
|
@@ -136,11 +70,13 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
136
70
|
text: {
|
|
137
71
|
lineHeight: 20
|
|
138
72
|
},
|
|
139
|
-
|
|
140
|
-
fontSize: 12,
|
|
141
|
-
color: "#666",
|
|
73
|
+
resultsInfo: {
|
|
142
74
|
marginTop: 4,
|
|
143
|
-
|
|
75
|
+
fontSize: 12,
|
|
76
|
+
color: "#666"
|
|
77
|
+
},
|
|
78
|
+
suggestionsWrapper: {
|
|
79
|
+
marginTop: 8
|
|
144
80
|
}
|
|
145
81
|
});
|
|
146
82
|
//# sourceMappingURL=MessageBubble.js.map
|