vdb-ai-chat 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) 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/50.chat-widget.js +1 -0
  5. package/dist/521.chat-widget.js +1 -0
  6. package/dist/538.chat-widget.js +1 -1
  7. package/dist/572.chat-widget.js +1 -0
  8. package/dist/694.chat-widget.js +1 -0
  9. package/dist/chat-widget.js +1 -1
  10. package/lib/commonjs/api.js +4 -3
  11. package/lib/commonjs/api.js.map +1 -1
  12. package/lib/commonjs/components/BetaNotice.js +38 -0
  13. package/lib/commonjs/components/BetaNotice.js.map +1 -0
  14. package/lib/commonjs/components/ChatHeader.js +27 -20
  15. package/lib/commonjs/components/ChatHeader.js.map +1 -1
  16. package/lib/commonjs/components/ChatInput.js +20 -21
  17. package/lib/commonjs/components/ChatInput.js.map +1 -1
  18. package/lib/commonjs/components/ChatWidget.js +165 -92
  19. package/lib/commonjs/components/ChatWidget.js.map +1 -1
  20. package/lib/commonjs/components/LazyProductsFetcher.js +47 -0
  21. package/lib/commonjs/components/LazyProductsFetcher.js.map +1 -0
  22. package/lib/commonjs/components/MessageBubble.js +26 -90
  23. package/lib/commonjs/components/MessageBubble.js.map +1 -1
  24. package/lib/commonjs/components/MessageMetaRow.js +113 -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 +50 -27
  33. package/lib/commonjs/components/SuggestionsRow.js.map +1 -1
  34. package/lib/commonjs/components/utils.js +4 -3
  35. package/lib/commonjs/components/utils.js.map +1 -1
  36. package/lib/commonjs/hooks/useInViewport.js +42 -0
  37. package/lib/commonjs/hooks/useInViewport.js.map +1 -0
  38. package/lib/commonjs/index.web.js +86 -29
  39. package/lib/commonjs/index.web.js.map +1 -1
  40. package/lib/commonjs/theme.js +4 -4
  41. package/lib/commonjs/theme.js.map +1 -1
  42. package/lib/module/api.js +4 -3
  43. package/lib/module/api.js.map +1 -1
  44. package/lib/module/components/BetaNotice.js +30 -0
  45. package/lib/module/components/BetaNotice.js.map +1 -0
  46. package/lib/module/components/ChatHeader.js +27 -20
  47. package/lib/module/components/ChatHeader.js.map +1 -1
  48. package/lib/module/components/ChatInput.js +20 -21
  49. package/lib/module/components/ChatInput.js.map +1 -1
  50. package/lib/module/components/ChatWidget.js +166 -93
  51. package/lib/module/components/ChatWidget.js.map +1 -1
  52. package/lib/module/components/LazyProductsFetcher.js +40 -0
  53. package/lib/module/components/LazyProductsFetcher.js.map +1 -0
  54. package/lib/module/components/MessageBubble.js +26 -92
  55. package/lib/module/components/MessageBubble.js.map +1 -1
  56. package/lib/module/components/MessageMetaRow.js +105 -0
  57. package/lib/module/components/MessageMetaRow.js.map +1 -0
  58. package/lib/module/components/ProductsGrid.js +133 -0
  59. package/lib/module/components/ProductsGrid.js.map +1 -0
  60. package/lib/module/components/ProductsList.js +21 -126
  61. package/lib/module/components/ProductsList.js.map +1 -1
  62. package/lib/module/components/ProductsListView.js +132 -0
  63. package/lib/module/components/ProductsListView.js.map +1 -0
  64. package/lib/module/components/SuggestionsRow.js +51 -28
  65. package/lib/module/components/SuggestionsRow.js.map +1 -1
  66. package/lib/module/components/utils.js +4 -3
  67. package/lib/module/components/utils.js.map +1 -1
  68. package/lib/module/hooks/useInViewport.js +36 -0
  69. package/lib/module/hooks/useInViewport.js.map +1 -0
  70. package/lib/module/index.web.js +86 -29
  71. package/lib/module/index.web.js.map +1 -1
  72. package/lib/module/theme.js +4 -4
  73. package/lib/module/theme.js.map +1 -1
  74. package/lib/typescript/api.d.ts.map +1 -1
  75. package/lib/typescript/components/BetaNotice.d.ts +5 -0
  76. package/lib/typescript/components/BetaNotice.d.ts.map +1 -0
  77. package/lib/typescript/components/ChatHeader.d.ts +5 -2
  78. package/lib/typescript/components/ChatHeader.d.ts.map +1 -1
  79. package/lib/typescript/components/ChatInput.d.ts.map +1 -1
  80. package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
  81. package/lib/typescript/components/LazyProductsFetcher.d.ts +9 -0
  82. package/lib/typescript/components/LazyProductsFetcher.d.ts.map +1 -0
  83. package/lib/typescript/components/MessageBubble.d.ts +7 -3
  84. package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
  85. package/lib/typescript/components/MessageMetaRow.d.ts +14 -0
  86. package/lib/typescript/components/MessageMetaRow.d.ts.map +1 -0
  87. package/lib/typescript/components/ProductsGrid.d.ts +10 -0
  88. package/lib/typescript/components/ProductsGrid.d.ts.map +1 -0
  89. package/lib/typescript/components/ProductsList.d.ts +4 -2
  90. package/lib/typescript/components/ProductsList.d.ts.map +1 -1
  91. package/lib/typescript/components/ProductsListView.d.ts +10 -0
  92. package/lib/typescript/components/ProductsListView.d.ts.map +1 -0
  93. package/lib/typescript/components/SuggestionsRow.d.ts +2 -0
  94. package/lib/typescript/components/SuggestionsRow.d.ts.map +1 -1
  95. package/lib/typescript/components/utils.d.ts +1 -0
  96. package/lib/typescript/components/utils.d.ts.map +1 -1
  97. package/lib/typescript/hooks/useInViewport.d.ts +5 -0
  98. package/lib/typescript/hooks/useInViewport.d.ts.map +1 -0
  99. package/lib/typescript/index.web.d.ts +1 -1
  100. package/lib/typescript/index.web.d.ts.map +1 -1
  101. package/lib/typescript/types.d.ts +3 -1
  102. package/lib/typescript/types.d.ts.map +1 -1
  103. package/package.json +1 -1
  104. package/src/api.ts +4 -3
  105. package/src/components/BetaNotice.tsx +32 -0
  106. package/src/components/ChatHeader.tsx +32 -18
  107. package/src/components/ChatInput.tsx +23 -21
  108. package/src/components/ChatWidget.tsx +249 -159
  109. package/src/components/LazyProductsFetcher.tsx +41 -0
  110. package/src/components/MessageBubble.tsx +46 -148
  111. package/src/components/MessageMetaRow.tsx +199 -0
  112. package/src/components/ProductsGrid.tsx +163 -0
  113. package/src/components/ProductsList.tsx +20 -146
  114. package/src/components/ProductsListView.tsx +149 -0
  115. package/src/components/SuggestionsRow.tsx +61 -32
  116. package/src/components/utils.ts +6 -4
  117. package/src/hooks/useInViewport.ts +38 -0
  118. package/src/index.web.tsx +87 -32
  119. package/src/theme.ts +4 -4
  120. package/src/types.ts +3 -2
  121. package/dist/751.chat-widget.js +0 -1
  122. package/lib/commonjs/contexts/SegmentClientContext.js +0 -19
  123. package/lib/commonjs/contexts/SegmentClientContext.js.map +0 -1
  124. package/lib/module/contexts/SegmentClientContext.js +0 -10
  125. package/lib/module/contexts/SegmentClientContext.js.map +0 -1
  126. package/lib/typescript/contexts/SegmentClientContext.d.ts +0 -9
  127. package/lib/typescript/contexts/SegmentClientContext.d.ts.map +0 -1
  128. package/src/contexts/SegmentClientContext.tsx +0 -20
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_react","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ImageComponent","Image","Platform","OS","ExpoImage","ProductsListComponent","data","onViewAll","onItemPress","length","createElement","View","style","styles","wrapper","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","listContent","map","item","TouchableOpacity","key","id","onPress","card","image_thumb_url","image","source","uri","content","Text","numberOfLines","title","short_title","price","total_sales_price","button","activeOpacity","buttonText","StyleSheet","create","paddingHorizontal","marginHorizontal","marginBottom","paddingTop","paddingBottom","backgroundColor","borderRadius","borderWidth","borderColor","elevation","shadowColor","shadowOpacity","shadowOffset","width","height","shadowRadius","gap","paddingVertical","overflow","borderBottomWidth","borderBottomColor","padding","fontSize","color","fontWeight","marginTop","alignSelf","alignItems","ProductsList","memo","_default","exports"],"sourceRoot":"../../../src","sources":["components/ProductsList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_ProductsGrid","_ProductsListView","e","__esModule","default","ProductsList","data","onViewAll","onItemPress","variant","totalResults","length","createElement","_default","exports"],"sourceRoot":"../../../src","sources":["components/ProductsList.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUlD,MAAMG,YAAyC,GAAGA,CAAC;EACjDC,IAAI;EACJC,SAAS;EACTC,WAAW;EACXC,OAAO,GAAG,MAAM;EAChBC;AACF,CAAC,KAAK;EACJ,IAAI,CAACJ,IAAI,IAAI,CAACA,IAAI,CAACK,MAAM,EAAE,OAAO,IAAI;EACtC,IAAIF,OAAO,KAAK,MAAM,EAAE;IACtB,oBACEZ,MAAA,CAAAO,OAAA,CAAAQ,aAAA,CAACX,iBAAA,CAAAG,OAAgB;MACfE,IAAI,EAAEA,IAAK;MACXC,SAAS,EAAEA,SAAU;MACrBC,WAAW,EAAEA,WAAY;MACzBE,YAAY,EAAEA;IAAa,CAC5B,CAAC;EAEN;EACA,oBACEb,MAAA,CAAAO,OAAA,CAAAQ,aAAA,CAACZ,aAAA,CAAAI,OAAY;IAACE,IAAI,EAAEA,IAAK;IAACC,SAAS,EAAEA,SAAU;IAACC,WAAW,EAAEA,WAAY;IAACE,YAAY,EAAEA;EAAa,CAAE,CAAC;AAE5G,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEaC,YAAY","ignoreList":[]}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ 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); }
10
+ let ImageComponent = _reactNative.Image;
11
+ if (_reactNative.Platform.OS !== "web") {
12
+ try {
13
+ const ExpoImage = require("expo-image").Image;
14
+ if (ExpoImage) ImageComponent = ExpoImage;
15
+ } catch {
16
+ // expo-image not installed, use React Native Image
17
+ }
18
+ }
19
+ const ProductsListViewComponent = ({
20
+ data,
21
+ totalResults,
22
+ onViewAll,
23
+ onItemPress
24
+ }) => {
25
+ if (!data || !data.length) return null;
26
+ const [priceWidth, setPriceWidth] = (0, _react.useState)(0);
27
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
28
+ style: styles.wrapper
29
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
30
+ showsVerticalScrollIndicator: false,
31
+ contentContainerStyle: styles.listContent
32
+ }, data.map((item, index) => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
33
+ key: item.id,
34
+ onPress: () => onItemPress?.(item),
35
+ activeOpacity: 0.8
36
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
37
+ style: styles.row
38
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
39
+ style: styles.left
40
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
41
+ style: styles.serial
42
+ }, index + 1, "."), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
43
+ numberOfLines: 1,
44
+ ellipsizeMode: "tail",
45
+ style: styles.title
46
+ }, item.short_title)), item.total_sales_price ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
47
+ style: [styles.priceContainer, priceWidth ? {
48
+ width: priceWidth
49
+ } : null]
50
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
51
+ style: styles.price,
52
+ onLayout: e => {
53
+ const w = e.nativeEvent.layout.width;
54
+ if (w > priceWidth) setPriceWidth(w);
55
+ }
56
+ }, "$", item.total_sales_price)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null))))), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
57
+ style: styles.button,
58
+ activeOpacity: 0.8,
59
+ onPress: onViewAll
60
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
61
+ style: styles.buttonText
62
+ }, `View All ${totalResults} Results`), /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
63
+ source: {
64
+ uri: "https://cdn.vdbapp.com/ai/chat-widget/assets/img/right.svg"
65
+ },
66
+ resizeMode: "contain",
67
+ style: {
68
+ width: 20,
69
+ height: 20,
70
+ tintColor: "#fff"
71
+ }
72
+ })));
73
+ };
74
+ const styles = _reactNative.StyleSheet.create({
75
+ wrapper: {
76
+ paddingHorizontal: 8
77
+ },
78
+ listContent: {
79
+ // No extra padding/margins
80
+ },
81
+ row: {
82
+ flexDirection: "row",
83
+ justifyContent: "space-between",
84
+ alignItems: "center",
85
+ paddingVertical: 6,
86
+ backgroundColor: "#fff"
87
+ },
88
+ left: {
89
+ flexDirection: "row",
90
+ alignItems: "center",
91
+ gap: 4,
92
+ flex: 1,
93
+ minWidth: 0
94
+ },
95
+ serial: {
96
+ fontSize: 13,
97
+ color: "#020001",
98
+ fontWeight: "500"
99
+ },
100
+ title: {
101
+ flexShrink: 1,
102
+ fontSize: 13,
103
+ color: "#3378F6",
104
+ fontWeight: "500"
105
+ },
106
+ price: {
107
+ fontSize: 13,
108
+ fontWeight: "500",
109
+ color: "#020001",
110
+ textAlign: "left"
111
+ },
112
+ priceContainer: {
113
+ alignItems: "flex-start",
114
+ justifyContent: "center"
115
+ },
116
+ button: {
117
+ marginTop: 12,
118
+ marginHorizontal: 12,
119
+ alignSelf: "center",
120
+ paddingHorizontal: 16,
121
+ paddingVertical: 6,
122
+ backgroundColor: "#292735",
123
+ borderRadius: 8,
124
+ alignItems: "center",
125
+ gap: 16,
126
+ width: "100%",
127
+ flexDirection: "row",
128
+ justifyContent: "center",
129
+ alignContent: "center"
130
+ },
131
+ buttonText: {
132
+ color: "#fff",
133
+ fontSize: 14,
134
+ fontWeight: "600"
135
+ }
136
+ });
137
+ const ProductsListView = /*#__PURE__*/(0, _react.memo)(ProductsListViewComponent);
138
+ var _default = exports.default = ProductsListView;
139
+ //# sourceMappingURL=ProductsListView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ImageComponent","Image","Platform","OS","ExpoImage","ProductsListViewComponent","data","totalResults","onViewAll","onItemPress","length","priceWidth","setPriceWidth","useState","createElement","View","style","styles","wrapper","ScrollView","showsVerticalScrollIndicator","contentContainerStyle","listContent","map","item","index","TouchableOpacity","key","id","onPress","activeOpacity","row","left","Text","serial","numberOfLines","ellipsizeMode","title","short_title","total_sales_price","priceContainer","width","price","onLayout","w","nativeEvent","layout","Fragment","button","buttonText","source","uri","resizeMode","height","tintColor","StyleSheet","create","paddingHorizontal","flexDirection","justifyContent","alignItems","paddingVertical","backgroundColor","gap","flex","minWidth","fontSize","color","fontWeight","flexShrink","textAlign","marginTop","marginHorizontal","alignSelf","borderRadius","alignContent","ProductsListView","memo","_default","exports"],"sourceRoot":"../../../src","sources":["components/ProductsListView.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,49 +9,72 @@ var _reactNative = require("react-native");
9
9
  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); }
10
10
  const SuggestionsRowComponent = ({
11
11
  suggestions,
12
- onSelect
12
+ onSelect,
13
+ variant = "default"
13
14
  }) => {
14
15
  if (!suggestions.length) return null;
15
- return /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
16
- horizontal: true,
17
- showsHorizontalScrollIndicator: false,
18
- contentContainerStyle: styles.container
19
- }, suggestions.map(s => /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
20
- key: s,
21
- style: styles.chip,
16
+ const ScrollViewComponent = variant === "inline" ? _reactNative.View : _reactNative.ScrollView;
17
+ return /*#__PURE__*/_react.default.createElement(ScrollViewComponent, {
18
+ showsVerticalScrollIndicator: false,
19
+ contentContainerStyle: [styles.container, variant === "inline" && styles.containerInline],
20
+ style: [styles.scroll, variant === "inline" && styles.scrollInline]
21
+ }, suggestions.map((s, index) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
22
+ key: `${s}-${index}`,
23
+ style: [styles.chip, variant === "inline" && styles.chipInline],
22
24
  onPress: () => onSelect(s),
23
25
  activeOpacity: 0.75
24
26
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
25
27
  style: styles.chipText
26
- }, s))));
28
+ }, s)), index < suggestions.length - 1 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
29
+ style: styles.spacer
30
+ }))));
27
31
  };
28
32
  const styles = _reactNative.StyleSheet.create({
33
+ scroll: {
34
+ maxWidth: "80%",
35
+ alignSelf: "flex-start",
36
+ paddingHorizontal: 8
37
+ },
38
+ scrollInline: {
39
+ maxWidth: "100%",
40
+ alignSelf: "stretch",
41
+ paddingHorizontal: 0
42
+ },
29
43
  container: {
30
- paddingHorizontal: 12,
31
- paddingBottom: 8,
32
- flexDirection: "row",
33
- gap: 10
44
+ paddingVertical: 0,
45
+ flexDirection: "column",
46
+ justifyContent: "center",
47
+ alignItems: "center",
48
+ gap: 4,
49
+ alignSelf: "stretch"
50
+ // backgroundColor: "#EDEDF2",
51
+ },
52
+ containerInline: {
53
+ // inside bubble, rely on bubble background
54
+ gap: 6
34
55
  },
35
56
  chip: {
36
- backgroundColor: "#ffffff",
37
- paddingHorizontal: 16,
38
- paddingVertical: 8,
39
- borderRadius: 18,
40
- // Modern soft shadow (Material 3 / iOS style)
41
- shadowColor: "#000",
42
- shadowOpacity: 0.07,
43
- shadowRadius: 4,
44
- shadowOffset: {
45
- width: 0,
46
- height: 2
47
- },
48
- elevation: 2
57
+ backgroundColor: "#EDEDF2",
58
+ borderRadius: 6,
59
+ paddingHorizontal: 8,
60
+ paddingVertical: 6,
61
+ width: "100%",
62
+ alignSelf: "stretch",
63
+ justifyContent: "center",
64
+ alignItems: "flex-start"
65
+ },
66
+ chipInline: {
67
+ backgroundColor: "#FFFFFF"
49
68
  },
50
69
  chipText: {
51
70
  fontSize: 14,
52
71
  color: "#1A1A1A",
53
72
  fontWeight: "500",
54
- letterSpacing: 0.3
73
+ textAlign: "left"
74
+ },
75
+ spacer: {
76
+ width: 4,
77
+ height: 4
55
78
  }
56
79
  });
57
80
  const SuggestionsRow = /*#__PURE__*/(0, _react.memo)(SuggestionsRowComponent);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SuggestionsRowComponent","suggestions","onSelect","length","createElement","ScrollView","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","styles","container","map","s","TouchableOpacity","key","style","chip","onPress","activeOpacity","Text","chipText","StyleSheet","create","paddingHorizontal","paddingBottom","flexDirection","gap","backgroundColor","paddingVertical","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","fontSize","color","fontWeight","letterSpacing","SuggestionsRow","memo","_default","exports"],"sourceRoot":"../../../src","sources":["components/SuggestionsRow.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SuggestionsRowComponent","suggestions","onSelect","variant","length","ScrollViewComponent","View","ScrollView","createElement","showsVerticalScrollIndicator","contentContainerStyle","styles","container","containerInline","style","scroll","scrollInline","map","s","index","Fragment","TouchableOpacity","key","chip","chipInline","onPress","activeOpacity","Text","chipText","spacer","StyleSheet","create","maxWidth","alignSelf","paddingHorizontal","paddingVertical","flexDirection","justifyContent","alignItems","gap","backgroundColor","borderRadius","width","fontSize","color","fontWeight","textAlign","height","SuggestionsRow","memo","_default","exports"],"sourceRoot":"../../../src","sources":["components/SuggestionsRow.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMsB,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAStB,MAAMkB,uBAAsD,GAAGA,CAAC;EAC9DC,WAAW;EACXC,QAAQ;EACRC,OAAO,GAAG;AACZ,CAAC,KAAK;EACJ,IAAI,CAACF,WAAW,CAACG,MAAM,EAAE,OAAO,IAAI;EACpC,MAAMC,mBAAmB,GAAGF,OAAO,KAAK,QAAQ,GAAGG,iBAAI,GAAGC,uBAAU;EACpE,oBACE9B,MAAA,CAAAc,OAAA,CAAAiB,aAAA,CAACH,mBAAmB;IAClBI,4BAA4B,EAAE,KAAM;IACpCC,qBAAqB,EAAE,CACrBC,MAAM,CAACC,SAAS,EAChBT,OAAO,KAAK,QAAQ,IAAIQ,MAAM,CAACE,eAAe,CAC9C;IACFC,KAAK,EAAE,CAACH,MAAM,CAACI,MAAM,EAAEZ,OAAO,KAAK,QAAQ,IAAIQ,MAAM,CAACK,YAAY;EAAE,GAEnEf,WAAW,CAACgB,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,kBACxB1C,MAAA,CAAAc,OAAA,CAAAiB,aAAA,CAAA/B,MAAA,CAAAc,OAAA,CAAA6B,QAAA,qBACE3C,MAAA,CAAAc,OAAA,CAAAiB,aAAA,CAAC5B,YAAA,CAAAyC,gBAAgB;IACfC,GAAG,EAAE,GAAGJ,CAAC,IAAIC,KAAK,EAAG;IACrBL,KAAK,EAAE,CAACH,MAAM,CAACY,IAAI,EAAEpB,OAAO,KAAK,QAAQ,IAAIQ,MAAM,CAACa,UAAU,CAAE;IAChEC,OAAO,EAAEA,CAAA,KAAMvB,QAAQ,CAACgB,CAAC,CAAE;IAC3BQ,aAAa,EAAE;EAAK,gBAEpBjD,MAAA,CAAAc,OAAA,CAAAiB,aAAA,CAAC5B,YAAA,CAAA+C,IAAI;IAACb,KAAK,EAAEH,MAAM,CAACiB;EAAS,GAAEV,CAAQ,CACvB,CAAC,EAClBC,KAAK,GAAGlB,WAAW,CAACG,MAAM,GAAG,CAAC,iBAAI3B,MAAA,CAAAc,OAAA,CAAAiB,aAAA,CAAC5B,YAAA,CAAA0B,IAAI;IAACQ,KAAK,EAAEH,MAAM,CAACkB;EAAO,CAAE,CAChE,CACH,CACkB,CAAC;AAE1B,CAAC;AAED,MAAMlB,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/BhB,MAAM,EAAE;IACNiB,QAAQ,EAAE,KAAK;IACfC,SAAS,EAAE,YAAY;IACvBC,iBAAiB,EAAE;EACrB,CAAC;EACDlB,YAAY,EAAE;IACZgB,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAE,SAAS;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDtB,SAAS,EAAE;IACTuB,eAAe,EAAE,CAAC;IAClBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,CAAC;IACNN,SAAS,EAAE;IACX;EACF,CAAC;EACDpB,eAAe,EAAE;IACf;IACA0B,GAAG,EAAE;EACP,CAAC;EAEDhB,IAAI,EAAE;IACJiB,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,CAAC;IACfP,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBO,KAAK,EAAE,MAAM;IACbT,SAAS,EAAE,SAAS;IACpBI,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDd,UAAU,EAAE;IACVgB,eAAe,EAAE;EACnB,CAAC;EAEDZ,QAAQ,EAAE;IACRe,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE,SAAS;IAChBC,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb,CAAC;EACDjB,MAAM,EAAE;IACNa,KAAK,EAAE,CAAC;IACRK,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,MAAMC,cAAc,gBAAG,IAAAC,WAAI,EAACjD,uBAAuB,CAAC;AAAC,IAAAkD,QAAA,GAAAC,OAAA,CAAA5D,OAAA,GACtCyD,cAAc","ignoreList":[]}
@@ -28,9 +28,10 @@ const fetchConversationId = async _priceMode => {
28
28
  const conversations = await _storage.Storage.getJSON("vdbchat_conversations", {});
29
29
  if (!conversations) return null;
30
30
  let priceMode = _priceMode;
31
- if (!priceMode) {
32
- const userData = await _storage.Storage.getJSON("userData", {});
33
- priceMode = userData?.price_mode || "";
31
+ if (priceMode === undefined) {
32
+ const userInfo = await _storage.Storage.getJSON("persist:userInfo", {});
33
+ const userData = userInfo?.user;
34
+ priceMode = String(userData?.price_mode) || "";
34
35
  }
35
36
  return conversations[priceMode]?.conversation_id || null;
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_storage","require","formatToTime","timestamp","date","Date","hours","getHours","minutes","getMinutes","ampm","mins","FeedbackAction","exports","fetchConversationId","_priceMode","conversations","Storage","getJSON","priceMode","userData","price_mode","conversation_id","getUserDetails","stored","user","JSON","parse","DeviceType","getDeviceType","platform","WEB","IOS","ANDROID","AnalyticsEventNames"],"sourceRoot":"../../../src","sources":["components/utils.ts"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEO,SAASC,YAAYA,CAACC,SAAiB,EAAU;EACtD,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,SAAS,CAAC;EAEhC,IAAIG,KAAK,GAAGF,IAAI,CAACG,QAAQ,CAAC,CAAC;EAC3B,MAAMC,OAAO,GAAGJ,IAAI,CAACK,UAAU,CAAC,CAAC;EACjC,MAAMC,IAAI,GAAGJ,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;EAEtCA,KAAK,GAAGA,KAAK,GAAG,EAAE;EAClBA,KAAK,GAAGA,KAAK,GAAGA,KAAK,GAAG,EAAE,CAAC,CAAC;;EAE5B,MAAMK,IAAI,GAAGH,OAAO,GAAG,EAAE,GAAG,IAAIA,OAAO,EAAE,GAAGA,OAAO;EAEnD,OAAO,GAAGF,KAAK,IAAIK,IAAI,IAAID,IAAI,EAAE;AACnC;AAAC,IAEWE,cAAc,GAAAC,OAAA,CAAAD,cAAA,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAMnB,MAAME,mBAAmB,GAAG,MACjCC,UAAkB,IACS;EAC3B,MAAMC,aAAa,GAAG,MAAMC,gBAAO,CAACC,OAAO,CACzC,uBAAuB,EACvB,CAAC,CACH,CAAC;EACD,IAAI,CAACF,aAAa,EAAE,OAAO,IAAI;EAE/B,IAAIG,SAAS,GAAGJ,UAAU;EAC1B,IAAI,CAACI,SAAS,EAAE;IACd,MAAMC,QAAQ,GAAG,MAAMH,gBAAO,CAACC,OAAO,CACpC,UAAU,EACV,CAAC,CACH,CAAC;IACDC,SAAS,GAAGC,QAAQ,EAAEC,UAAU,IAAI,EAAE;EACxC;EACA,OAAOL,aAAa,CAACG,SAAS,CAAC,EAAEG,eAAe,IAAI,IAAI;AAC1D,CAAC;AAACT,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAcK,MAAMS,cAAc,GAAG,MAAAA,CAAA,KAAyC;EACrE,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMP,gBAAO,CAACC,OAAO,CAClC,kBAAkB,EAClB,CAAC,CACH,CAAC;IACD,IAAI,CAACM,MAAM,EAAEC,IAAI,EAAE,OAAO,IAAI;;IAE9B;IACA,IAAI,OAAOD,MAAM,CAACC,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI;QACF,OAAOC,IAAI,CAACC,KAAK,CAACH,MAAM,CAACC,IAAI,CAAC;MAChC,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF;IAEA,OAAOD,MAAM,CAACC,IAAI;EACpB,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC;AAACZ,OAAA,CAAAU,cAAA,GAAAA,cAAA;AAAA,IAEUK,UAAU,GAAAf,OAAA,CAAAe,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMf,MAAMC,aAAa,GAAIC,QAAiB,IAAK;EAClD,QAAQA,QAAQ;IACd,KAAKF,UAAU,CAACG,GAAG;MACjB,OAAO,CAAC;IACV,KAAKH,UAAU,CAACI,GAAG;MACjB,OAAO,CAAC;IACV,KAAKJ,UAAU,CAACK,OAAO;MACrB,OAAO,CAAC;IACV;MACE,OAAO,CAAC;EACZ;AACF,CAAC;AAACpB,OAAA,CAAAgB,aAAA,GAAAA,aAAA;AAAA,IAEUK,mBAAmB,GAAArB,OAAA,CAAAqB,mBAAA,0BAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAA,OAAnBA,mBAAmB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_storage","require","formatToTime","timestamp","date","Date","hours","getHours","minutes","getMinutes","ampm","mins","FeedbackAction","exports","fetchConversationId","_priceMode","conversations","Storage","getJSON","priceMode","undefined","userInfo","userData","user","String","price_mode","conversation_id","getUserDetails","stored","JSON","parse","DeviceType","getDeviceType","platform","WEB","IOS","ANDROID","AnalyticsEventNames"],"sourceRoot":"../../../src","sources":["components/utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useInViewport = useInViewport;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ function useInViewport() {
10
+ const ref = (0, _react.useRef)(null);
11
+ const [inView, setInView] = (0, _react.useState)(false);
12
+ (0, _react.useEffect)(() => {
13
+ // On native, treat as in view to avoid DOM-specific code
14
+ if (_reactNative.Platform.OS !== "web") {
15
+ setInView(true);
16
+ return;
17
+ }
18
+ const node = ref.current;
19
+ if (!node || typeof IntersectionObserver === "undefined") {
20
+ // Fallback: consider it in view so functionality still works
21
+ setInView(true);
22
+ return;
23
+ }
24
+ const observer = new IntersectionObserver(entries => {
25
+ const entry = entries[0];
26
+ setInView(entry.isIntersecting);
27
+ }, {
28
+ root: null,
29
+ rootMargin: "0px",
30
+ threshold: 0.1
31
+ });
32
+ observer.observe(node);
33
+ return () => {
34
+ observer.disconnect();
35
+ };
36
+ }, []);
37
+ return {
38
+ ref,
39
+ inView
40
+ };
41
+ }
42
+ //# sourceMappingURL=useInViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","useInViewport","ref","useRef","inView","setInView","useState","useEffect","Platform","OS","node","current","IntersectionObserver","observer","entries","entry","isIntersecting","root","rootMargin","threshold","observe","disconnect"],"sourceRoot":"../../../src","sources":["hooks/useInViewport.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,SAASE,aAAaA,CAAA,EAA0B;EACrD,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAW,IAAI,CAAC;EAClC,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE3C,IAAAC,gBAAS,EAAC,MAAM;IACd;IACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBJ,SAAS,CAAC,IAAI,CAAC;MACf;IACF;IAEA,MAAMK,IAAI,GAAGR,GAAG,CAACS,OAAoC;IACrD,IAAI,CAACD,IAAI,IAAI,OAAOE,oBAAoB,KAAK,WAAW,EAAE;MACxD;MACAP,SAAS,CAAC,IAAI,CAAC;MACf;IACF;IAEA,MAAMQ,QAAQ,GAAG,IAAID,oBAAoB,CACtCE,OAAO,IAAK;MACX,MAAMC,KAAK,GAAGD,OAAO,CAAC,CAAC,CAAC;MACxBT,SAAS,CAACU,KAAK,CAACC,cAAc,CAAC;IACjC,CAAC,EACD;MAAEC,IAAI,EAAE,IAAI;MAAEC,UAAU,EAAE,KAAK;MAAEC,SAAS,EAAE;IAAI,CAClD,CAAC;IAEDN,QAAQ,CAACO,OAAO,CAACV,IAAI,CAAC;IAEtB,OAAO,MAAM;MACXG,QAAQ,CAACQ,UAAU,CAAC,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IAAEnB,GAAG;IAAEE;EAAO,CAAC;AACxB","ignoreList":[]}
@@ -4,47 +4,104 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.renderChatApp = renderChatApp;
7
- var React = _interopRequireWildcard(require("react"));
8
- var _client = require("react-dom/client");
7
+ var _react = _interopRequireDefault(require("react"));
9
8
  var _reactNative = require("react-native");
10
- var _ChatWidget = require("./components/ChatWidget");
9
+ var _client = require("react-dom/client");
11
10
  var _analyticsNext = require("@segment/analytics-next");
12
11
  var _AnalyticsClientContext = require("./contexts/AnalyticsClientContext");
13
- 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); }
14
- function renderChatApp(domElement, apiUrl, theme, onClose, onClearChat, segmentWriteKey) {
12
+ var _ChatWidget = require("./components/ChatWidget");
13
+ var _utils = require("./components/utils");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function renderChatApp(domElement, apiUrl, theme, onClose, onClearChat, segmentWriteKey, onViewAllPress, onItemPress, isBetaMode) {
15
16
  const root = (0, _client.createRoot)(domElement);
16
- let analyticsClient;
17
+
18
+ // Bridge to parent RN WebView / browser
19
+ const sendToParent = (type, payload) => {
20
+ const msg = {
21
+ source: "vdb-ai-chat",
22
+ type,
23
+ payload
24
+ };
25
+ const json = JSON.stringify(msg);
26
+
27
+ // RN WebView bridge
28
+ const rnwv = window.ReactNativeWebView;
29
+ if (rnwv?.postMessage) {
30
+ rnwv.postMessage(json);
31
+ } else {
32
+ // Browser/iframe
33
+ try {
34
+ window.parent?.postMessage(msg, "*");
35
+ } catch {}
36
+ try {
37
+ window.dispatchEvent(new CustomEvent("vdb-ai-event", {
38
+ detail: msg
39
+ }));
40
+ } catch {}
41
+ }
42
+ };
43
+ const handleViewAll = (url, payload) => {
44
+ onViewAllPress?.(url, payload);
45
+ sendToParent("ai_view_all", {
46
+ url,
47
+ payload
48
+ });
49
+ onClose?.();
50
+ };
51
+ const handleItemPress = (url, item) => {
52
+ onItemPress?.(url, item);
53
+ sendToParent("ai_item_click", {
54
+ url,
55
+ item
56
+ });
57
+ onClose?.();
58
+ };
59
+
60
+ // Build base content and render immediately
61
+ const content = /*#__PURE__*/_react.default.createElement(_reactNative.View, {
62
+ style: styles.root
63
+ }, /*#__PURE__*/_react.default.createElement(_ChatWidget.ChatWidget, {
64
+ apiUrl: apiUrl,
65
+ theme: theme,
66
+ onClose: onClose,
67
+ onClearChat: onClearChat,
68
+ onViewAllPress: handleViewAll,
69
+ onItemPress: handleItemPress,
70
+ isBetaMode: isBetaMode
71
+ }));
72
+ root.render(content);
17
73
  if (_reactNative.Platform.OS === "web" && segmentWriteKey) {
18
74
  try {
19
- const client = new _analyticsNext.Analytics({
20
- writeKey: segmentWriteKey
75
+ const isEdge = typeof navigator !== "undefined" && (navigator.userAgent.includes("Edg") || navigator.userAgent.includes("Edge"));
76
+ const clientPromise = _analyticsNext.AnalyticsBrowser.load({
77
+ writeKey: segmentWriteKey,
78
+ trackAppLifecycleEvents: false,
79
+ flushAt: isEdge ? 1 : 10,
80
+ flushInterval: 10000,
81
+ maxBatchSize: isEdge ? 1 : 10
21
82
  });
22
- analyticsClient = client;
23
- window.analytics = client;
24
- client.track("AI Chat: Widget Loaded", {
25
- userAgent: typeof navigator !== "undefined" ? navigator.userAgent : ""
26
- }).then?.(() => {
27
- // eslint-disable-next-line no-console
28
- console.log("Segment: Widget Loaded event sent");
83
+ clientPromise.then(async ([client]) => {
84
+ client?.debug?.(true);
85
+ window.analytics = client;
86
+ client.page?.();
87
+ try {
88
+ const user = await (0, _utils.getUserDetails)();
89
+ const userId = user?.id;
90
+ if (userId) client.identify(userId);
91
+ } catch {}
92
+ const contentWithAnalytics = /*#__PURE__*/_react.default.createElement(_AnalyticsClientContext.AnalyticsClientProvider, {
93
+ client: client
94
+ }, content);
95
+ root.render(contentWithAnalytics);
29
96
  }).catch(e => {
30
- console.warn("Segment track failed", e);
97
+ // eslint-disable-next-line no-console
98
+ console.error("[Segment] init failed", e);
31
99
  });
32
100
  } catch (e) {
33
- console.warn("Segment analytics load failed", e);
101
+ // eslint-disable-next-line no-console
102
+ console.error("[Segment] init failed", e);
34
103
  }
35
104
  }
36
- const content = /*#__PURE__*/React.createElement(_reactNative.View, {
37
- style: styles.root
38
- }, /*#__PURE__*/React.createElement(_ChatWidget.ChatWidget, {
39
- apiUrl: apiUrl,
40
- theme: theme,
41
- onClose: onClose,
42
- onClearChat: onClearChat
43
- }));
44
- const contentWithAnalytics = analyticsClient ? /*#__PURE__*/React.createElement(_AnalyticsClientContext.AnalyticsClientProvider, {
45
- client: analyticsClient
46
- }, content) : content;
47
- root.render(contentWithAnalytics);
48
105
  }
49
106
  const styles = _reactNative.StyleSheet.create({
50
107
  root: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_client","_reactNative","_ChatWidget","_analyticsNext","_AnalyticsClientContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","renderChatApp","domElement","apiUrl","theme","onClose","onClearChat","segmentWriteKey","root","createRoot","analyticsClient","Platform","OS","client","Analytics","writeKey","window","analytics","track","userAgent","navigator","then","console","log","catch","warn","content","createElement","View","style","styles","ChatWidget","contentWithAnalytics","AnalyticsClientProvider","render","StyleSheet","create","flex","height","width"],"sourceRoot":"../../src","sources":["index.web.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_client","_analyticsNext","_AnalyticsClientContext","_ChatWidget","_utils","e","__esModule","default","renderChatApp","domElement","apiUrl","theme","onClose","onClearChat","segmentWriteKey","onViewAllPress","onItemPress","isBetaMode","root","createRoot","sendToParent","type","payload","msg","source","json","JSON","stringify","rnwv","window","ReactNativeWebView","postMessage","parent","dispatchEvent","CustomEvent","detail","handleViewAll","url","handleItemPress","item","content","createElement","View","style","styles","ChatWidget","render","Platform","OS","isEdge","navigator","userAgent","includes","clientPromise","AnalyticsBrowser","load","writeKey","trackAppLifecycleEvents","flushAt","flushInterval","maxBatchSize","then","client","debug","analytics","page","user","getUserDetails","userId","id","identify","contentWithAnalytics","AnalyticsClientProvider","catch","console","error","StyleSheet","create","flex","height","width"],"sourceRoot":"../../src","sources":["index.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,14 +9,14 @@ const defaultTheme = exports.defaultTheme = {
9
9
  primaryColor: "#0b93f6",
10
10
  backgroundColor: "#ffffff",
11
11
  inputColor: "#FFF",
12
- inputBackgroundColor: "#f5f5f5",
12
+ inputBackgroundColor: "#FFFFFF",
13
13
  inputBorderRadius: 8,
14
14
  inputTextColor: "#000000",
15
- userBubbleColor: "#804195",
15
+ userBubbleColor: "#4F4E57",
16
16
  userTextColor: "#ffffff",
17
- botBubbleColor: "#e5e5ea",
17
+ botBubbleColor: "#EDEDF2",
18
18
  botTextColor: "#000000",
19
- borderRadius: 18,
19
+ borderRadius: 8,
20
20
  fontFamily: undefined,
21
21
  fontSize: 16
22
22
  };
@@ -1 +1 @@
1
- {"version":3,"names":["defaultTheme","exports","primaryColor","backgroundColor","inputColor","inputBackgroundColor","inputBorderRadius","inputTextColor","userBubbleColor","userTextColor","botBubbleColor","botTextColor","borderRadius","fontFamily","undefined","fontSize","mergeTheme","overrides"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;AAEO,MAAMA,YAAuB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrCE,YAAY,EAAE,SAAS;EACvBC,eAAe,EAAE,SAAS;EAC1BC,UAAU,EAAE,MAAM;EAClBC,oBAAoB,EAAE,SAAS;EAC/BC,iBAAiB,EAAE,CAAC;EACpBC,cAAc,EAAE,SAAS;EACzBC,eAAe,EAAE,SAAS;EAC1BC,aAAa,EAAE,SAAS;EACxBC,cAAc,EAAE,SAAS;EACzBC,YAAY,EAAE,SAAS;EACvBC,YAAY,EAAE,EAAE;EAChBC,UAAU,EAAEC,SAAS;EACrBC,QAAQ,EAAE;AACZ,CAAC;AAEM,SAASC,UAAUA,CAACC,SAA8B,EAAa;EACpE,OAAO;IAAE,GAAGjB,YAAY;IAAE,IAAIiB,SAAS,IAAI,CAAC,CAAC;EAAE,CAAC;AAClD","ignoreList":[]}
1
+ {"version":3,"names":["defaultTheme","exports","primaryColor","backgroundColor","inputColor","inputBackgroundColor","inputBorderRadius","inputTextColor","userBubbleColor","userTextColor","botBubbleColor","botTextColor","borderRadius","fontFamily","undefined","fontSize","mergeTheme","overrides"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;AAEO,MAAMA,YAAuB,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrCE,YAAY,EAAE,SAAS;EACvBC,eAAe,EAAE,SAAS;EAC1BC,UAAU,EAAE,MAAM;EAClBC,oBAAoB,EAAE,SAAS;EAC/BC,iBAAiB,EAAE,CAAC;EACpBC,cAAc,EAAE,SAAS;EACzBC,eAAe,EAAE,SAAS;EAC1BC,aAAa,EAAE,SAAS;EACxBC,cAAc,EAAE,SAAS;EACzBC,YAAY,EAAE,SAAS;EACvBC,YAAY,EAAE,CAAC;EACfC,UAAU,EAAEC,SAAS;EACrBC,QAAQ,EAAE;AACZ,CAAC;AAEM,SAASC,UAAUA,CAACC,SAA8B,EAAa;EACpE,OAAO;IAAE,GAAGjB,YAAY;IAAE,IAAIiB,SAAS,IAAI,CAAC,CAAC;EAAE,CAAC;AAClD","ignoreList":[]}
package/lib/module/api.js CHANGED
@@ -29,13 +29,14 @@ export function normaliseMessages(raw) {
29
29
  text: String(m.content ?? m.text ?? ""),
30
30
  createdAt: typeof m.created_at === "string" ? Date.parse(m.created_at) : typeof m.createdAt === "number" ? m.createdAt : Date.now(),
31
31
  search_payload: m.search_payload,
32
+ reaction: String(m.reaction ?? "0"),
32
33
  suggestions: Array.isArray(m.suggestions) ? m.suggestions : undefined
33
34
  }));
34
35
  }
35
36
  export async function fetchInitialMessages(apiUrl, _params, priceMode) {
36
37
  const conversations = await Storage.getJSON("vdbchat_conversations", {});
37
38
  const storedId = conversations?.[priceMode ?? ""]?.conversation_id ?? null;
38
- if (!priceMode) return;
39
+ if (priceMode === undefined) return;
39
40
  const body = {};
40
41
  if (storedId) {
41
42
  body.conversation_id = Number.isNaN(Number(storedId)) ? storedId : Number(storedId);
@@ -63,7 +64,7 @@ export async function fetchInitialMessages(apiUrl, _params, priceMode) {
63
64
  export async function sendUserMessage(apiUrl, userMessage, _params, _history, priceMode) {
64
65
  const conversations = await Storage.getJSON("vdbchat_conversations", {});
65
66
  const storedId = conversations?.[priceMode]?.conversation_id ?? null;
66
- if (!priceMode) {
67
+ if (priceMode === undefined) {
67
68
  return null;
68
69
  }
69
70
  const body = {
@@ -93,7 +94,7 @@ export async function sendUserMessage(apiUrl, userMessage, _params, _history, pr
93
94
  export async function clearChatHistory(apiUrl, priceMode) {
94
95
  const conversations = await Storage.getJSON("vdbchat_conversations", {});
95
96
  const storedId = conversations?.[priceMode]?.conversation_id ?? null;
96
- if (!storedId || !priceMode) return;
97
+ if (!storedId || priceMode === undefined) return;
97
98
  const url = new URL(apiUrl);
98
99
  url.searchParams.set("conversation_id", storedId);
99
100
  const res = await fetch(url.toString(), {