vdb-ai-chat 1.0.0 → 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.
Files changed (132) hide show
  1. package/dist/10.chat-widget.js +2 -0
  2. package/dist/10.chat-widget.js.LICENSE.txt +1 -0
  3. package/dist/104.chat-widget.js +1 -0
  4. package/dist/248.chat-widget.js +1 -0
  5. package/dist/50.chat-widget.js +1 -0
  6. package/dist/521.chat-widget.js +1 -0
  7. package/dist/538.chat-widget.js +1 -0
  8. package/dist/572.chat-widget.js +1 -0
  9. package/dist/694.chat-widget.js +1 -0
  10. package/dist/chat-widget.js +1 -1
  11. package/dist/chat-widget.js.LICENSE.txt +2 -0
  12. package/lib/commonjs/api.js +6 -8
  13. package/lib/commonjs/api.js.map +1 -1
  14. package/lib/commonjs/components/BetaNotice.js +38 -0
  15. package/lib/commonjs/components/BetaNotice.js.map +1 -0
  16. package/lib/commonjs/components/ChatHeader.js +41 -21
  17. package/lib/commonjs/components/ChatHeader.js.map +1 -1
  18. package/lib/commonjs/components/ChatInput.js +21 -21
  19. package/lib/commonjs/components/ChatInput.js.map +1 -1
  20. package/lib/commonjs/components/ChatWidget.js +162 -90
  21. package/lib/commonjs/components/ChatWidget.js.map +1 -1
  22. package/lib/commonjs/components/MessageBubble.js +28 -68
  23. package/lib/commonjs/components/MessageBubble.js.map +1 -1
  24. package/lib/commonjs/components/MessageMetaRow.js +135 -0
  25. package/lib/commonjs/components/MessageMetaRow.js.map +1 -0
  26. package/lib/commonjs/components/ProductsGrid.js +139 -0
  27. package/lib/commonjs/components/ProductsGrid.js.map +1 -0
  28. package/lib/commonjs/components/ProductsList.js +22 -126
  29. package/lib/commonjs/components/ProductsList.js.map +1 -1
  30. package/lib/commonjs/components/ProductsListView.js +139 -0
  31. package/lib/commonjs/components/ProductsListView.js.map +1 -0
  32. package/lib/commonjs/components/SuggestionsRow.js +41 -23
  33. package/lib/commonjs/components/SuggestionsRow.js.map +1 -1
  34. package/lib/commonjs/components/utils.js +50 -4
  35. package/lib/commonjs/components/utils.js.map +1 -1
  36. package/lib/commonjs/contexts/AnalyticsClientContext.js +19 -0
  37. package/lib/commonjs/contexts/AnalyticsClientContext.js.map +1 -0
  38. package/lib/commonjs/hooks/useAnalytics.js +158 -0
  39. package/lib/commonjs/hooks/useAnalytics.js.map +1 -0
  40. package/lib/commonjs/index.web.js +91 -8
  41. package/lib/commonjs/index.web.js.map +1 -1
  42. package/lib/commonjs/storage.js +5 -5
  43. package/lib/commonjs/storage.js.map +1 -1
  44. package/lib/commonjs/theme.js +4 -4
  45. package/lib/commonjs/theme.js.map +1 -1
  46. package/lib/module/api.js +6 -8
  47. package/lib/module/api.js.map +1 -1
  48. package/lib/module/components/BetaNotice.js +30 -0
  49. package/lib/module/components/BetaNotice.js.map +1 -0
  50. package/lib/module/components/ChatHeader.js +41 -21
  51. package/lib/module/components/ChatHeader.js.map +1 -1
  52. package/lib/module/components/ChatInput.js +21 -21
  53. package/lib/module/components/ChatInput.js.map +1 -1
  54. package/lib/module/components/ChatWidget.js +164 -92
  55. package/lib/module/components/ChatWidget.js.map +1 -1
  56. package/lib/module/components/MessageBubble.js +28 -70
  57. package/lib/module/components/MessageBubble.js.map +1 -1
  58. package/lib/module/components/MessageMetaRow.js +127 -0
  59. package/lib/module/components/MessageMetaRow.js.map +1 -0
  60. package/lib/module/components/ProductsGrid.js +133 -0
  61. package/lib/module/components/ProductsGrid.js.map +1 -0
  62. package/lib/module/components/ProductsList.js +21 -126
  63. package/lib/module/components/ProductsList.js.map +1 -1
  64. package/lib/module/components/ProductsListView.js +132 -0
  65. package/lib/module/components/ProductsListView.js.map +1 -0
  66. package/lib/module/components/SuggestionsRow.js +41 -23
  67. package/lib/module/components/SuggestionsRow.js.map +1 -1
  68. package/lib/module/components/utils.js +46 -3
  69. package/lib/module/components/utils.js.map +1 -1
  70. package/lib/module/contexts/AnalyticsClientContext.js +10 -0
  71. package/lib/module/contexts/AnalyticsClientContext.js.map +1 -0
  72. package/lib/module/hooks/useAnalytics.js +146 -0
  73. package/lib/module/hooks/useAnalytics.js.map +1 -0
  74. package/lib/module/index.native.js +5 -5
  75. package/lib/module/index.web.js +89 -6
  76. package/lib/module/index.web.js.map +1 -1
  77. package/lib/module/storage.js +6 -6
  78. package/lib/module/storage.js.map +1 -1
  79. package/lib/module/theme.js +4 -4
  80. package/lib/module/theme.js.map +1 -1
  81. package/lib/typescript/api.d.ts +1 -1
  82. package/lib/typescript/api.d.ts.map +1 -1
  83. package/lib/typescript/components/BetaNotice.d.ts +5 -0
  84. package/lib/typescript/components/BetaNotice.d.ts.map +1 -0
  85. package/lib/typescript/components/ChatHeader.d.ts +5 -2
  86. package/lib/typescript/components/ChatHeader.d.ts.map +1 -1
  87. package/lib/typescript/components/ChatInput.d.ts.map +1 -1
  88. package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
  89. package/lib/typescript/components/MessageBubble.d.ts +9 -3
  90. package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
  91. package/lib/typescript/components/MessageMetaRow.d.ts +14 -0
  92. package/lib/typescript/components/MessageMetaRow.d.ts.map +1 -0
  93. package/lib/typescript/components/ProductsGrid.d.ts +10 -0
  94. package/lib/typescript/components/ProductsGrid.d.ts.map +1 -0
  95. package/lib/typescript/components/ProductsList.d.ts +4 -2
  96. package/lib/typescript/components/ProductsList.d.ts.map +1 -1
  97. package/lib/typescript/components/ProductsListView.d.ts +10 -0
  98. package/lib/typescript/components/ProductsListView.d.ts.map +1 -0
  99. package/lib/typescript/components/SuggestionsRow.d.ts +2 -0
  100. package/lib/typescript/components/SuggestionsRow.d.ts.map +1 -1
  101. package/lib/typescript/components/utils.d.ts +24 -0
  102. package/lib/typescript/components/utils.d.ts.map +1 -1
  103. package/lib/typescript/contexts/AnalyticsClientContext.d.ts +9 -0
  104. package/lib/typescript/contexts/AnalyticsClientContext.d.ts.map +1 -0
  105. package/lib/typescript/hooks/useAnalytics.d.ts +36 -0
  106. package/lib/typescript/hooks/useAnalytics.d.ts.map +1 -0
  107. package/lib/typescript/index.native.d.ts +5 -5
  108. package/lib/typescript/index.web.d.ts +1 -1
  109. package/lib/typescript/index.web.d.ts.map +1 -1
  110. package/lib/typescript/storage.d.ts.map +1 -1
  111. package/lib/typescript/types.d.ts +4 -2
  112. package/lib/typescript/types.d.ts.map +1 -1
  113. package/package.json +13 -3
  114. package/src/api.ts +26 -14
  115. package/src/components/BetaNotice.tsx +32 -0
  116. package/src/components/ChatHeader.tsx +43 -18
  117. package/src/components/ChatInput.tsx +20 -21
  118. package/src/components/ChatWidget.tsx +282 -219
  119. package/src/components/MessageBubble.tsx +48 -111
  120. package/src/components/MessageMetaRow.tsx +199 -0
  121. package/src/components/ProductsGrid.tsx +163 -0
  122. package/src/components/ProductsList.tsx +20 -144
  123. package/src/components/ProductsListView.tsx +149 -0
  124. package/src/components/SuggestionsRow.tsx +45 -21
  125. package/src/components/utils.ts +66 -5
  126. package/src/contexts/AnalyticsClientContext.tsx +20 -0
  127. package/src/hooks/useAnalytics.tsx +176 -0
  128. package/src/index.native.tsx +5 -5
  129. package/src/index.web.tsx +92 -4
  130. package/src/storage.ts +16 -13
  131. package/src/theme.ts +4 -4
  132. package/src/types.ts +4 -3
@@ -8,18 +8,19 @@ 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 _SuggestionsRow = _interopRequireDefault(require("./SuggestionsRow"));
15
+ var _BetaNotice = _interopRequireDefault(require("./BetaNotice"));
15
16
  var _ProductsList = _interopRequireDefault(require("./ProductsList"));
16
17
  var _utils = require("./utils");
18
+ var _useAnalytics = require("../hooks/useAnalytics");
17
19
  var _storage = require("../storage");
18
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
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); }
20
22
  const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
21
23
  apiUrl,
22
- userId: userIdProp,
23
24
  userToken: userTokenProp,
24
25
  priceMode: priceModeProp,
25
26
  modalHeight,
@@ -29,7 +30,8 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
29
30
  onClose,
30
31
  onClearChat,
31
32
  onViewAllPress,
32
- onItemPress: onItemPressProp
33
+ onItemPress: onItemPressProp,
34
+ isBetaMode: isBetaModeProp
33
35
  }, ref) => {
34
36
  const [messages, setMessages] = (0, _react.useState)(initialMessages);
35
37
  const [input, setInput] = (0, _react.useState)("");
@@ -38,25 +40,21 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
38
40
  const [typingMessageId, setTypingMessageId] = (0, _react.useState)(null);
39
41
  const [typingFullText, setTypingFullText] = (0, _react.useState)("");
40
42
  const [assistantResponse, setAssistantResponse] = (0, _react.useState)(undefined);
41
- const [products, setProducts] = (0, _react.useState)(null);
43
+ const [productsByMsg, setProductsByMsg] = (0, _react.useState)({});
44
+ const [reloadLoadingIds, setReloadLoadingIds] = (0, _react.useState)(new Set());
42
45
  const [priceMode, setPriceMode] = (0, _react.useState)(priceModeProp || null);
43
- const [conversationId, setConversationId] = (0, _react.useState)(null);
44
- const [userId, setUserId] = (0, _react.useState)(userIdProp || "");
45
46
  const [userToken, setUserToken] = (0, _react.useState)(userTokenProp || "");
46
47
  const scrollRef = (0, _react.useRef)(null);
47
48
  const inputRef = (0, _react.useRef)(null);
48
49
  const theme = (0, _react.useMemo)(() => (0, _theme.mergeTheme)(themeOverrides), [themeOverrides]);
49
-
50
+ const {
51
+ _identify
52
+ } = (0, _useAnalytics.useUserAnalytics)();
53
+ const betaActive = Boolean(isBetaModeProp);
50
54
  // Load user auth data from storage on mount
51
55
  (0, _react.useEffect)(() => {
52
56
  const loadAuthData = async () => {
53
57
  try {
54
- if (!userIdProp) {
55
- const userData = await _storage.Storage.getJSON("userData", {});
56
- if (userData?.id) {
57
- setUserId(userData.id);
58
- }
59
- }
60
58
  if (!userTokenProp) {
61
59
  const token = await _storage.Storage.getItem("token");
62
60
  if (token) {
@@ -68,10 +66,10 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
68
66
  }
69
67
  };
70
68
  loadAuthData();
71
- }, [userIdProp, userTokenProp]);
69
+ }, [userTokenProp]);
72
70
  const onViewAll = (0, _react.useCallback)(() => {
73
- const searchPayload = JSON.stringify(assistantResponse?.agent_response?.payload);
74
- const payload = assistantResponse?.agent_response?.payload;
71
+ const searchPayload = JSON.stringify(assistantResponse?.search_payload);
72
+ const payload = assistantResponse?.search_payload;
75
73
  if (!payload) return;
76
74
  const domain = apiUrl.split("v3");
77
75
  const deepLinkUrl = `${domain[0]}webapp/${payload.lab_grown === "true" ? "lab-grown-diamonds" : "natural-diamonds"}/search?priceMode=${priceMode}&productType=${payload.lab_grown === "true" ? "lab_grown_diamond" : "diamond"}&fromNewFilterScreen=false&filterSplitStep=1&sectionName=Single%20Stones&breadCrumbLabel=Stone%20Search&enterSecondFlow=false&saved_search=${searchPayload}`;
@@ -96,10 +94,10 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
96
94
  window.open(deepLinkUrl, "_parent");
97
95
  }
98
96
  }, [apiUrl, priceMode, onItemPressProp]);
99
- const hasAuth = (0, _react.useMemo)(() => Boolean(userId || userToken), [userId, userToken]);
97
+ const hasAuth = (0, _react.useMemo)(() => Boolean(userToken), [userToken]);
100
98
  const apiParams = (0, _react.useMemo)(() => ({
101
- conversationId: userToken || userId
102
- }), [userId, userToken]);
99
+ conversationId: userToken
100
+ }), [userToken]);
103
101
  const handleFeedbackAction = (0, _react.useCallback)(async (action, conversation_id, message_id) => {
104
102
  try {
105
103
  // Use functional update to get current messages without dependency
@@ -132,7 +130,21 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
132
130
  try {
133
131
  const initial = await (0, _api.fetchInitialMessages)(apiUrl, apiParams, priceMode);
134
132
  if (!cancelled) {
135
- setMessages((0, _api.normaliseMessages)(initial).reverse());
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
+ }
136
148
  }
137
149
  } catch (error) {
138
150
  console.error("Failed to fetch initial messages", error);
@@ -148,9 +160,6 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
148
160
  const sendMessage = (0, _react.useCallback)(async rawText => {
149
161
  const trimmed = rawText.trim();
150
162
  if (!trimmed || loading) return;
151
- if (products) {
152
- setProducts(null);
153
- }
154
163
  const userMessage = {
155
164
  id: `user-${Date.now()}`,
156
165
  role: "user",
@@ -163,6 +172,7 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
163
172
  role: "assistant",
164
173
  text: "Thinking",
165
174
  createdAt: Date.now(),
175
+ reaction: "0",
166
176
  isLoading: true
167
177
  };
168
178
  setMessages(prev => [...prev, userMessage, loadingMessage]);
@@ -184,15 +194,14 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
184
194
  setAssistantResponse(latestAssistant);
185
195
  if (latestAssistant?.text) {
186
196
  // If there is an agent_response, try to fetch products first
187
- if (latestAssistant?.agent_response && typeof latestAssistant.agent_response === "object" && Object.keys(latestAssistant.agent_response).length > 0) {
188
- const productsResult = await (0, _api.getProducts)(latestAssistant.agent_response.payload);
197
+ if (latestAssistant?.search_payload && typeof latestAssistant.search_payload === "object" && Object.keys(latestAssistant.search_payload).length > 0) {
198
+ const productsResult = await (0, _api.getProducts)(latestAssistant.search_payload);
189
199
  const hasDiamonds = productsResult && productsResult.response && productsResult.response.body && Array.isArray(productsResult.response.body.diamonds) && productsResult.response.body.diamonds.length > 0;
190
200
  if (!hasDiamonds) {
191
201
  const noResultsText = "No results found for your search. Try adjusting your filters or query.";
192
202
  setLoadingMessageId(null);
193
203
  setTypingMessageId(null);
194
204
  setTypingFullText("");
195
- setProducts(null);
196
205
  setMessages(prev => prev.map(msg => msg.id === loadingId ? {
197
206
  ...msg,
198
207
  id: latestAssistant?.id ?? msg.id,
@@ -203,10 +212,10 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
203
212
  inputRef.current?.focus();
204
213
  return;
205
214
  }
206
- setProducts({
207
- messageId: latestAssistant.id,
208
- data: productsResult
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 ? {
@@ -240,7 +249,17 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
240
249
  setLoadingMessageId(null);
241
250
  inputRef.current?.focus();
242
251
  }
243
- }, [apiUrl, loading, messages, apiParams, hasAuth, priceMode, products]);
252
+ }, [apiUrl, loading, messages, apiParams, hasAuth, priceMode, productsByMsg]);
253
+ const identifySegmentUser = async () => {
254
+ const user = await (0, _utils.getUserDetails)();
255
+ const userId = user?.id;
256
+ const email = JSON.stringify(user?.email) ?? undefined;
257
+ if (userId) {
258
+ _identify(`${userId}`, {
259
+ email: email
260
+ }).then();
261
+ }
262
+ };
244
263
  const handleSend = (0, _react.useCallback)(async () => {
245
264
  const trimmed = input.trim();
246
265
  if (!trimmed) return;
@@ -251,94 +270,100 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
251
270
  sendMessage(value);
252
271
  }, [sendMessage]);
253
272
  const handleReloadResults = (0, _react.useCallback)(async msg => {
273
+ const id = msg.id;
254
274
  try {
255
- const payload = msg?.agent_response?.payload;
256
- if (!payload) return;
275
+ setReloadLoadingIds(prev => new Set(prev).add(id));
276
+ const payload = msg?.search_payload;
277
+ if (!payload || Object.keys(payload).length === 0) return;
257
278
  const productsResult = await (0, _api.getProducts)(payload);
258
- setProducts({
259
- messageId: msg.id,
260
- data: productsResult
261
- });
279
+ setProductsByMsg(prev => ({
280
+ ...prev,
281
+ [id]: productsResult
282
+ }));
262
283
  } catch (e) {
263
284
  console.error("Reload results failed", e);
285
+ } finally {
286
+ setReloadLoadingIds(prev => {
287
+ const next = new Set(prev);
288
+ next.delete(id);
289
+ return next;
290
+ });
264
291
  }
265
292
  }, []);
266
293
  (0, _react.useEffect)(() => {
267
294
  _reactNative.DeviceEventEmitter.addListener("clearChat", handleClearChat);
268
295
  _reactNative.DeviceEventEmitter.addListener("changePriceMode", data => changePriceMode(data.priceMode));
269
- changePriceMode(undefined);
296
+ changePriceMode();
297
+ identifySegmentUser();
270
298
  return () => {
271
299
  _reactNative.DeviceEventEmitter.removeAllListeners("clearChat");
272
300
  _reactNative.DeviceEventEmitter.removeAllListeners("changePriceMode");
273
301
  };
274
302
  }, []);
275
303
  const changePriceMode = async _priceMode => {
276
- // Priority: passed argument > prop > storage
277
304
  if (!_priceMode && priceModeProp) {
278
305
  _priceMode = priceModeProp;
279
306
  }
280
307
  if (!_priceMode) {
281
- const userData = await _storage.Storage.getJSON("userData", {});
308
+ let userData = await _storage.Storage.getJSON("persist:userInfo", {
309
+ user: undefined
310
+ });
311
+ userData = userData && userData.user ? JSON.parse(userData.user) : {};
282
312
  _priceMode = userData?.price_mode;
283
313
  }
284
- setPriceMode(_priceMode || null);
314
+ setPriceMode(_priceMode === undefined ? null : String(_priceMode));
285
315
  };
286
-
287
- // Update conversationId when priceMode changes
288
- (0, _react.useEffect)(() => {
289
- const loadConversationId = async () => {
290
- if (!priceMode) {
291
- setConversationId(null);
292
- return;
293
- }
294
- const conversations = await _storage.Storage.getJSON("vdbchat_conversations", {});
295
- const storedId = conversations?.[priceMode]?.conversation_id ?? null;
296
- setConversationId(storedId ? String(storedId) : null);
297
- };
298
- loadConversationId();
299
- }, [priceMode, messages]); // Re-fetch when messages change (new conversation might be created)
300
-
301
316
  const handleClearChat = (0, _react.useCallback)(async () => {
302
317
  try {
303
318
  const conversations = await _storage.Storage.getJSON("vdbchat_conversations", {});
304
- const storedId = conversations?.[priceMode]?.conversation_id ?? null;
319
+ const storedId = conversations ? conversations[priceMode]?.conversation_id : null;
305
320
  if (storedId && priceMode) {
306
- const updatedConversations = conversations || {};
321
+ const updatedConversations = conversations ?? {};
307
322
  delete updatedConversations[priceMode];
308
323
  await _storage.Storage.setJSON("vdbchat_conversations", updatedConversations);
309
324
  }
310
325
  setMessages([]);
311
326
  setAssistantResponse(undefined);
312
- setProducts(null);
327
+ setProductsByMsg({});
328
+ setReloadLoadingIds(new Set());
313
329
  setLoading(false);
314
330
  setLoadingMessageId(null);
315
331
  setTypingMessageId(null);
316
332
  setTypingFullText("");
317
333
  const fresh = await (0, _api.fetchInitialMessages)(apiUrl, undefined, priceMode);
318
- setMessages((0, _api.normaliseMessages)(fresh).reverse());
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
+ }
319
351
  onClearChat?.();
320
352
  } catch (err) {
353
+ // eslint-disable-next-line no-console
321
354
  console.error("Failed to clear chat", err);
322
355
  }
323
- }, [apiUrl, onClearChat, priceMode]);
324
-
325
- // Expose clearChat method via ref for external use (React Native)
326
- (0, _react.useImperativeHandle)(ref, () => ({
327
- clearChat: handleClearChat
328
- }), [handleClearChat]);
356
+ }, [apiUrl, priceMode]);
329
357
 
330
358
  // "Thinking..." dot animation while waiting for the API
331
359
  (0, _react.useEffect)(() => {
332
- if (!loadingMessageId || typingMessageId) {
333
- return;
334
- }
360
+ if (!loadingMessageId || typingMessageId) return;
335
361
  let step = 0;
336
362
  const base = "Thinking";
337
- const msgId = loadingMessageId;
338
363
  const interval = setInterval(() => {
339
364
  step = (step + 1) % 3;
340
365
  const dots = ".".repeat(step + 1);
341
- setMessages(prev => prev.map(msg => msg.id === msgId && msg.isLoading ? {
366
+ setMessages(prev => prev.map(msg => msg.id === loadingMessageId && msg.isLoading ? {
342
367
  ...msg,
343
368
  text: `${base}${dots}`
344
369
  } : msg));
@@ -348,6 +373,11 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
348
373
  };
349
374
  }, [loadingMessageId, typingMessageId]);
350
375
 
376
+ // Expose clearChat method via ref for external use (React Native)
377
+ (0, _react.useImperativeHandle)(ref, () => ({
378
+ clearChat: handleClearChat
379
+ }), [handleClearChat]);
380
+
351
381
  // Typewriter-style animation for assistant reply once it arrives
352
382
  const typingIndexRef = (0, _react.useRef)(0);
353
383
  (0, _react.useEffect)(() => {
@@ -387,14 +417,25 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
387
417
  }]
388
418
  }, _reactNative.Platform.OS === "web" && /*#__PURE__*/_react.default.createElement(_ChatHeader.default, {
389
419
  onClose: onClose,
390
- onClearChat: handleClearChat
391
- }), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
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, {
392
429
  ref: scrollRef,
430
+ keyboardShouldPersistTaps: "handled",
393
431
  style: modalHeight ? {
394
- height: modalHeight
395
- } : undefined,
432
+ height: modalHeight,
433
+ backgroundColor: "#FFFFFF"
434
+ } : {
435
+ backgroundColor: "#FFFFFF"
436
+ },
396
437
  contentContainerStyle: {
397
- backgroundColor: theme?.listContentBackgroundColor || "#f5f5f5",
438
+ backgroundColor: theme?.listContentBackgroundColor || "#FFFFFF",
398
439
  ...styles.listContent,
399
440
  justifyContent: messages.length === 0 ? "center" : "flex-end",
400
441
  minHeight: modalHeight ? modalHeight : undefined
@@ -412,24 +453,42 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
412
453
  const ordered = [...messages];
413
454
  return ordered.map((item, index) => {
414
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);
415
457
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
416
- key: item.id + index
458
+ key: item.id + index,
459
+ style: {
460
+ gap: 12
461
+ }
417
462
  }, /*#__PURE__*/_react.default.createElement(_MessageBubble.MessageBubble, {
418
463
  message: item,
419
464
  theme: theme,
420
- conversationId: conversationId,
465
+ priceMode: priceMode,
421
466
  handleFeedbackAction: handleFeedbackAction,
422
- onReloadResults: handleReloadResults
423
- }), item.role === "assistant" && products && products.messageId === item.id && /*#__PURE__*/_react.default.createElement(_ProductsList.default, {
424
- data: products?.data?.response?.body?.diamonds,
467
+ onReloadResults: handleReloadResults,
468
+ reloading: reloadLoadingIds.has(item.id),
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,
425
478
  onViewAll: onViewAll,
426
479
  onItemPress: onItemPress
427
- }), item.role === "assistant" && item.suggestions && item.suggestions.length > 0 && isLatest && /*#__PURE__*/_react.default.createElement(_SuggestionsRow.default, {
428
- suggestions: item.suggestions || [],
429
- onSelect: handleSuggestionSelect
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
430
487
  }));
431
488
  });
432
- })()), /*#__PURE__*/_react.default.createElement(_ChatInput.ChatInput, {
489
+ })()), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
490
+ style: styles.bottomContainer
491
+ }, /*#__PURE__*/_react.default.createElement(_ChatInput.ChatInput, {
433
492
  value: input,
434
493
  onChangeText: setInput,
435
494
  onSend: handleSend,
@@ -437,7 +496,9 @@ const ChatWidget = exports.ChatWidget = /*#__PURE__*/(0, _react.forwardRef)(({
437
496
  placeholder: placeholder,
438
497
  theme: theme,
439
498
  inputRef: inputRef
440
- }));
499
+ }), /*#__PURE__*/_react.default.createElement(_BetaNotice.default, {
500
+ active: betaActive
501
+ }))));
441
502
  });
442
503
  ChatWidget.displayName = "ChatWidget";
443
504
  const styles = _reactNative.StyleSheet.create({
@@ -458,12 +519,23 @@ const styles = _reactNative.StyleSheet.create({
458
519
  padding: 16,
459
520
  alignItems: "center",
460
521
  justifyContent: "center",
461
- backgroundColor: "#f5f5f5"
522
+ backgroundColor: "#FFFFFF"
462
523
  },
463
524
  emptyText: {
464
- fontSize: 14,
465
- fontWeight: "500",
466
- color: "#666666"
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
467
539
  }
468
540
  });
469
541
  //# sourceMappingURL=ChatWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_ChatInput","_MessageBubble","_theme","_api","_ChatHeader","_interopRequireDefault","_SuggestionsRow","_ProductsList","_utils","_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","products","setProducts","setPriceMode","conversationId","setConversationId","setUserId","setUserToken","scrollRef","useRef","inputRef","useMemo","mergeTheme","useEffect","loadAuthData","userData","Storage","getJSON","id","token","getItem","console","error","onViewAll","useCallback","searchPayload","JSON","stringify","agent_response","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","handleSend","handleSuggestionSelect","value","handleReloadResults","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","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":[]}