vdb-ai-chat 1.0.22 → 1.0.23
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/chat-widget.js +1 -1
- package/lib/commonjs/components/ChatWidget.js +3 -1
- package/lib/commonjs/components/ChatWidget.js.map +1 -1
- package/lib/commonjs/components/ProductsList.js +2 -0
- package/lib/commonjs/components/ProductsList.js.map +1 -1
- package/lib/commonjs/components/ProductsListView.js +8 -7
- package/lib/commonjs/components/ProductsListView.js.map +1 -1
- package/lib/commonjs/components/utils.js +39 -4
- package/lib/commonjs/components/utils.js.map +1 -1
- package/lib/module/components/ChatWidget.js +3 -1
- package/lib/module/components/ChatWidget.js.map +1 -1
- package/lib/module/components/ProductsList.js +2 -0
- package/lib/module/components/ProductsList.js.map +1 -1
- package/lib/module/components/ProductsListView.js +9 -8
- package/lib/module/components/ProductsListView.js.map +1 -1
- package/lib/module/components/utils.js +35 -2
- package/lib/module/components/utils.js.map +1 -1
- package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
- package/lib/typescript/components/ProductsList.d.ts +1 -0
- package/lib/typescript/components/ProductsList.d.ts.map +1 -1
- package/lib/typescript/components/ProductsListView.d.ts +1 -0
- package/lib/typescript/components/ProductsListView.d.ts.map +1 -1
- package/lib/typescript/components/utils.d.ts +13 -3
- package/lib/typescript/components/utils.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +1 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ChatWidget.tsx +2 -0
- package/src/components/ProductsList.tsx +3 -0
- package/src/components/ProductsListView.tsx +12 -6
- package/src/components/utils.ts +78 -3
- package/src/types.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,eAAO,MAAM,WAAW,mCAA2B,CAAC;AAEpD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAatD;AAED,oBAAY,cAAc;IACxB,IAAI,MAAM;IACV,OAAO,MAAM;IACb,KAAK,MAAM;CACZ;AAcD,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,KACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAqBvB,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAInE,CAAC;AAEF,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,OAAO,CAMrD,CAAC;AAGF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAI/D;AAGD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,OAAO,UAgBrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,cAAc,QAAa,OAAO,CAAC,WAAW,GAAG,IAAI,CAqBjE,CAAC;AAEF,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,cAW9C,CAAC;AAEF,oBAAY,mBAAmB;IAC7B,aAAa,0BAA0B;IACvC,aAAa,0BAA0B;IACvC,YAAY,oBAAoB;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,7 @@ export interface ChatWidgetProps {
|
|
|
46
46
|
/** When true, shows beta labels and disclaimer. */
|
|
47
47
|
isBetaMode?: boolean;
|
|
48
48
|
activeProductType?: string;
|
|
49
|
+
trackAnalyticsEvent?: (eventName: string, eventData: Record<string, any>) => void;
|
|
49
50
|
}
|
|
50
51
|
export interface ChatWidgetRef {
|
|
51
52
|
clearChat: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC;AAExC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,uFAAuF;IACvF,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACvD,mDAAmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -68,6 +68,7 @@ export const ChatWidget = forwardRef<ChatWidgetRef, ChatWidgetProps>(
|
|
|
68
68
|
onItemPress: onItemPressProp,
|
|
69
69
|
isBetaMode: isBetaModeProp,
|
|
70
70
|
activeProductType,
|
|
71
|
+
trackAnalyticsEvent,
|
|
71
72
|
},
|
|
72
73
|
ref
|
|
73
74
|
) => {
|
|
@@ -1005,6 +1006,7 @@ export const ChatWidget = forwardRef<ChatWidgetRef, ChatWidgetProps>(
|
|
|
1005
1006
|
item={item}
|
|
1006
1007
|
showMoreResults={() => handleShowMoreResults(item.id, item.search_payload)}
|
|
1007
1008
|
showLessResults={() => handleShowLessResults(item.id, item.search_payload)}
|
|
1009
|
+
trackAnalyticsEvent={trackAnalyticsEvent}
|
|
1008
1010
|
currentPage={searchResultsPages[item.id] || 1}
|
|
1009
1011
|
isLoadingMore={loadingMoreResults.has(item.id)}
|
|
1010
1012
|
/>
|
|
@@ -11,6 +11,7 @@ interface ProductsListProps {
|
|
|
11
11
|
item: any;
|
|
12
12
|
showMoreResults?: () => void;
|
|
13
13
|
showLessResults?: () => void;
|
|
14
|
+
trackAnalyticsEvent?: (eventName: string, eventData: Record<string, any>) => void;
|
|
14
15
|
currentPage?: number;
|
|
15
16
|
isLoadingMore?: boolean;
|
|
16
17
|
}
|
|
@@ -24,6 +25,7 @@ const ProductsList: React.FC<ProductsListProps> = ({
|
|
|
24
25
|
item,
|
|
25
26
|
showMoreResults,
|
|
26
27
|
showLessResults,
|
|
28
|
+
trackAnalyticsEvent,
|
|
27
29
|
currentPage = 1,
|
|
28
30
|
isLoadingMore = false,
|
|
29
31
|
}) => {
|
|
@@ -39,6 +41,7 @@ const ProductsList: React.FC<ProductsListProps> = ({
|
|
|
39
41
|
item={item}
|
|
40
42
|
showMoreResults={showMoreResults}
|
|
41
43
|
showLessResults={showLessResults}
|
|
44
|
+
trackAnalyticsEvent={trackAnalyticsEvent}
|
|
42
45
|
currentPage={currentPage}
|
|
43
46
|
isLoadingMore={isLoadingMore}
|
|
44
47
|
/>
|
|
@@ -11,15 +11,16 @@ import {
|
|
|
11
11
|
getUserCurrencySymbol,
|
|
12
12
|
formatPriceValue,
|
|
13
13
|
roundUpPrices,
|
|
14
|
-
AnalyticsEventNames,
|
|
15
14
|
ProductCategory,
|
|
16
15
|
ButtonCategory,
|
|
17
16
|
ButtonType,
|
|
17
|
+
AIEventNames,
|
|
18
|
+
AIEventTypes,
|
|
19
|
+
colorStringForShort,
|
|
18
20
|
} from "./utils";
|
|
19
21
|
import { useTheme } from "styled-components/native";
|
|
20
22
|
import { DefaultTheme } from "styled-components/native";
|
|
21
23
|
import styled from "styled-components/native";
|
|
22
|
-
import { useUserAnalytics } from "../hooks/useAnalytics";
|
|
23
24
|
import Button from "./Button";
|
|
24
25
|
|
|
25
26
|
let ImageComponent: typeof Image = Image;
|
|
@@ -38,6 +39,7 @@ interface ProductsListViewProps {
|
|
|
38
39
|
onItemPress?: (item: any) => void;
|
|
39
40
|
showMoreResults?: () => void;
|
|
40
41
|
showLessResults?: () => void;
|
|
42
|
+
trackAnalyticsEvent?: (eventName: string, eventData: Record<string, any>) => void;
|
|
41
43
|
currentPage?: number;
|
|
42
44
|
isLoadingMore?: boolean;
|
|
43
45
|
item: any;
|
|
@@ -50,6 +52,7 @@ const ProductsListViewComponent: React.FC<ProductsListViewProps> = ({
|
|
|
50
52
|
onItemPress,
|
|
51
53
|
showMoreResults,
|
|
52
54
|
showLessResults,
|
|
55
|
+
trackAnalyticsEvent,
|
|
53
56
|
currentPage = 1,
|
|
54
57
|
isLoadingMore = false,
|
|
55
58
|
item,
|
|
@@ -58,7 +61,6 @@ const ProductsListViewComponent: React.FC<ProductsListViewProps> = ({
|
|
|
58
61
|
const theme = useTheme();
|
|
59
62
|
const [userCurrency, setUserCurrency] = useState<string | null>(null);
|
|
60
63
|
const [shouldRound, setShouldRound] = useState<boolean>(false);
|
|
61
|
-
const { trackEvent } = useUserAnalytics();
|
|
62
64
|
const payload = item?.search_payload;
|
|
63
65
|
const isLabgrown =
|
|
64
66
|
typeof payload.lab_grown === "string"
|
|
@@ -83,12 +85,16 @@ const ProductsListViewComponent: React.FC<ProductsListViewProps> = ({
|
|
|
83
85
|
|
|
84
86
|
const handleItemPress = (dataItem: any) => {
|
|
85
87
|
onItemPress?.(dataItem);
|
|
86
|
-
|
|
88
|
+
// trackAnalyticsEvent?.(AIEventNames.AI_CHAT_WIDGET, {
|
|
89
|
+
// action: AIEventTypes.PRODUCT_PREVIEW_CLICKED,
|
|
90
|
+
// });
|
|
87
91
|
};
|
|
88
92
|
|
|
89
93
|
const handleViewAllPress = (item: any) => {
|
|
90
94
|
onViewAll?.(item);
|
|
91
|
-
|
|
95
|
+
// trackAnalyticsEvent?.(AIEventNames.AI_CHAT_WIDGET, {
|
|
96
|
+
// action: AIEventTypes.SHOW_ALL_RESULTS_CLICKED,
|
|
97
|
+
// });
|
|
92
98
|
};
|
|
93
99
|
|
|
94
100
|
return (
|
|
@@ -115,7 +121,7 @@ const ProductsListViewComponent: React.FC<ProductsListViewProps> = ({
|
|
|
115
121
|
{/* Carat */}
|
|
116
122
|
<TextStyleBold>{`${dataItem.size ?? "-"}ct`}</TextStyleBold>
|
|
117
123
|
{/* Color */}
|
|
118
|
-
<TextStyleBold>{`${dataItem
|
|
124
|
+
<TextStyleBold>{`${colorStringForShort(true, dataItem) ?? "-"}`}</TextStyleBold>
|
|
119
125
|
{/* Clarity */}
|
|
120
126
|
<TextStyleBold>{`${dataItem.clarity_short ?? "-"}`}</TextStyleBold>
|
|
121
127
|
{/* LAB */}
|
package/src/components/utils.ts
CHANGED
|
@@ -166,9 +166,19 @@ export const getDeviceType = (platform?: string) => {
|
|
|
166
166
|
export enum AnalyticsEventNames {
|
|
167
167
|
WIDGET_OPENED = "ai_chat_widget_opened",
|
|
168
168
|
WIDGET_CLOSED = "ai_chat_widget_closed",
|
|
169
|
-
CHAT_CLEARED = "ai_chat_cleared"
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
CHAT_CLEARED = "ai_chat_cleared"
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export enum AIEventNames {
|
|
173
|
+
AI_CHAT_WIDGET = "ai_chat_widget",
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export enum AIEventTypes {
|
|
177
|
+
WIDGET_OPENED = "widget_opened",
|
|
178
|
+
WIDGET_CLOSED = "widget_closed",
|
|
179
|
+
CHAT_CLEARED = "chat_cleared",
|
|
180
|
+
PRODUCT_PREVIEW_CLICKED = "product_preview_clicked",
|
|
181
|
+
SHOW_ALL_RESULTS_CLICKED = "show_all_results_clicked",
|
|
172
182
|
}
|
|
173
183
|
|
|
174
184
|
export const isIpad = () => {
|
|
@@ -1006,3 +1016,68 @@ export const getStyleForCategory = (
|
|
|
1006
1016
|
hover: "primary-bg-hover",
|
|
1007
1017
|
};
|
|
1008
1018
|
};
|
|
1019
|
+
|
|
1020
|
+
export const isInvalidFancyColorOvertone = (
|
|
1021
|
+
fancyColorOvertoneLong?: string
|
|
1022
|
+
) => {
|
|
1023
|
+
const invalidFancyColorOvertoneArray = ["Champagne", "Cognac", "Chameleon"];
|
|
1024
|
+
if (fancyColorOvertoneLong) {
|
|
1025
|
+
return invalidFancyColorOvertoneArray.includes(fancyColorOvertoneLong);
|
|
1026
|
+
}
|
|
1027
|
+
};
|
|
1028
|
+
|
|
1029
|
+
|
|
1030
|
+
export const colorStringForShort = (isShort: boolean, itemDetail?: any) => {
|
|
1031
|
+
let colorString = null;
|
|
1032
|
+
|
|
1033
|
+
if (isShort) {
|
|
1034
|
+
if (isInvalidFancyColorOvertone(itemDetail?.fancy_color_overtone_long)) {
|
|
1035
|
+
colorString = itemDetail?.is_fancy
|
|
1036
|
+
? `${
|
|
1037
|
+
itemDetail?.fancy_color_intensity_short || itemDetail?.color || ""
|
|
1038
|
+
} ${itemDetail?.fancy_color_short || ""}(${
|
|
1039
|
+
itemDetail?.fancy_color_overtone_long || ""
|
|
1040
|
+
})`
|
|
1041
|
+
: `${itemDetail?.fancy_color_long || itemDetail?.color || ""}`;
|
|
1042
|
+
} else {
|
|
1043
|
+
colorString = itemDetail?.is_fancy
|
|
1044
|
+
? `${
|
|
1045
|
+
itemDetail?.fancy_color_intensity_short ||
|
|
1046
|
+
itemDetail?.fancy_color_intensity ||
|
|
1047
|
+
""
|
|
1048
|
+
} ${itemDetail?.fancy_color_overtone_short || ""}${
|
|
1049
|
+
itemDetail?.fancy_color_short || ""
|
|
1050
|
+
}`
|
|
1051
|
+
: `${itemDetail?.fancy_color_long || itemDetail?.color || ""}`;
|
|
1052
|
+
}
|
|
1053
|
+
} else {
|
|
1054
|
+
if (isInvalidFancyColorOvertone(itemDetail?.fancy_color_overtone_long)) {
|
|
1055
|
+
colorString = itemDetail?.is_fancy
|
|
1056
|
+
? [
|
|
1057
|
+
itemDetail?.fancy_color_intensity_long ||
|
|
1058
|
+
itemDetail?.fancy_color_intensity,
|
|
1059
|
+
itemDetail?.fancy_color_long,
|
|
1060
|
+
itemDetail?.fancy_color_overtone_long
|
|
1061
|
+
? `(${itemDetail.fancy_color_overtone_long})`
|
|
1062
|
+
: null,
|
|
1063
|
+
]
|
|
1064
|
+
.filter(Boolean)
|
|
1065
|
+
.join(" ")
|
|
1066
|
+
: itemDetail?.fancy_color_long || itemDetail?.color || "";
|
|
1067
|
+
} else {
|
|
1068
|
+
colorString = itemDetail?.is_fancy
|
|
1069
|
+
? [
|
|
1070
|
+
itemDetail?.fancy_color_intensity_long ||
|
|
1071
|
+
itemDetail?.fancy_color_intensity,
|
|
1072
|
+
itemDetail?.fancy_color_overtone_long,
|
|
1073
|
+
itemDetail?.fancy_color_long,
|
|
1074
|
+
]
|
|
1075
|
+
.filter(Boolean)
|
|
1076
|
+
.join(" ")
|
|
1077
|
+
: itemDetail?.fancy_color_long || itemDetail?.color || "";
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
return colorString === "" ? "-" : colorString;
|
|
1082
|
+
};
|
|
1083
|
+
|
package/src/types.ts
CHANGED
|
@@ -50,6 +50,7 @@ export interface ChatWidgetProps {
|
|
|
50
50
|
/** When true, shows beta labels and disclaimer. */
|
|
51
51
|
isBetaMode?: boolean;
|
|
52
52
|
activeProductType?: string;
|
|
53
|
+
trackAnalyticsEvent?: (eventName: string, eventData: Record<string, any>) => void;
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
export interface ChatWidgetRef {
|