vdb-ai-chat 1.0.6 → 1.0.8

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 (71) hide show
  1. package/dist/chat-widget.js +1 -1
  2. package/lib/commonjs/api.js +51 -12
  3. package/lib/commonjs/api.js.map +1 -1
  4. package/lib/commonjs/components/BetaNotice.js +13 -12
  5. package/lib/commonjs/components/BetaNotice.js.map +1 -1
  6. package/lib/commonjs/components/ChatInput.js +59 -49
  7. package/lib/commonjs/components/ChatInput.js.map +1 -1
  8. package/lib/commonjs/components/ChatWidget.js +74 -61
  9. package/lib/commonjs/components/ChatWidget.js.map +1 -1
  10. package/lib/commonjs/components/MessageBubble.js +67 -52
  11. package/lib/commonjs/components/MessageBubble.js.map +1 -1
  12. package/lib/commonjs/components/MessageMetaRow.js +50 -31
  13. package/lib/commonjs/components/MessageMetaRow.js.map +1 -1
  14. package/lib/commonjs/components/ProductsListView.js +232 -153
  15. package/lib/commonjs/components/ProductsListView.js.map +1 -1
  16. package/lib/commonjs/components/SuggestionsRow.js +27 -24
  17. package/lib/commonjs/components/SuggestionsRow.js.map +1 -1
  18. package/lib/commonjs/components/utils.js +15 -4
  19. package/lib/commonjs/components/utils.js.map +1 -1
  20. package/lib/commonjs/contexts/ThemeProvider.js +80 -0
  21. package/lib/commonjs/contexts/ThemeProvider.js.map +1 -0
  22. package/lib/commonjs/contexts/utils.js +142 -0
  23. package/lib/commonjs/contexts/utils.js.map +1 -0
  24. package/lib/module/api.js +51 -12
  25. package/lib/module/api.js.map +1 -1
  26. package/lib/module/components/BetaNotice.js +14 -13
  27. package/lib/module/components/BetaNotice.js.map +1 -1
  28. package/lib/module/components/ChatInput.js +61 -50
  29. package/lib/module/components/ChatInput.js.map +1 -1
  30. package/lib/module/components/ChatWidget.js +78 -63
  31. package/lib/module/components/ChatWidget.js.map +1 -1
  32. package/lib/module/components/MessageBubble.js +69 -52
  33. package/lib/module/components/MessageBubble.js.map +1 -1
  34. package/lib/module/components/MessageMetaRow.js +52 -32
  35. package/lib/module/components/MessageMetaRow.js.map +1 -1
  36. package/lib/module/components/ProductsListView.js +234 -154
  37. package/lib/module/components/ProductsListView.js.map +1 -1
  38. package/lib/module/components/SuggestionsRow.js +29 -25
  39. package/lib/module/components/SuggestionsRow.js.map +1 -1
  40. package/lib/module/components/utils.js +17 -3
  41. package/lib/module/components/utils.js.map +1 -1
  42. package/lib/module/contexts/ThemeProvider.js +75 -0
  43. package/lib/module/contexts/ThemeProvider.js.map +1 -0
  44. package/lib/module/contexts/utils.js +136 -0
  45. package/lib/module/contexts/utils.js.map +1 -0
  46. package/lib/typescript/api.d.ts.map +1 -1
  47. package/lib/typescript/components/BetaNotice.d.ts.map +1 -1
  48. package/lib/typescript/components/ChatInput.d.ts.map +1 -1
  49. package/lib/typescript/components/ChatWidget.d.ts.map +1 -1
  50. package/lib/typescript/components/MessageBubble.d.ts +1 -1
  51. package/lib/typescript/components/MessageBubble.d.ts.map +1 -1
  52. package/lib/typescript/components/MessageMetaRow.d.ts.map +1 -1
  53. package/lib/typescript/components/ProductsListView.d.ts.map +1 -1
  54. package/lib/typescript/components/SuggestionsRow.d.ts.map +1 -1
  55. package/lib/typescript/components/utils.d.ts.map +1 -1
  56. package/lib/typescript/contexts/ThemeProvider.d.ts +7 -0
  57. package/lib/typescript/contexts/ThemeProvider.d.ts.map +1 -0
  58. package/lib/typescript/contexts/utils.d.ts +136 -0
  59. package/lib/typescript/contexts/utils.d.ts.map +1 -0
  60. package/package.json +6 -2
  61. package/src/api.ts +58 -21
  62. package/src/components/BetaNotice.tsx +15 -13
  63. package/src/components/ChatInput.tsx +63 -62
  64. package/src/components/ChatWidget.tsx +238 -206
  65. package/src/components/MessageBubble.tsx +113 -74
  66. package/src/components/MessageMetaRow.tsx +80 -50
  67. package/src/components/ProductsListView.tsx +243 -184
  68. package/src/components/SuggestionsRow.tsx +40 -25
  69. package/src/components/utils.ts +24 -8
  70. package/src/contexts/ThemeProvider.tsx +87 -0
  71. package/src/contexts/utils.ts +135 -0
@@ -7,6 +7,8 @@ exports.default = exports.MessageMetaRow = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _utils = require("./utils");
10
+ var _native = _interopRequireWildcard(require("styled-components/native"));
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
13
  let ImageComponent = _reactNative.Image;
12
14
  if (_reactNative.Platform.OS !== "web") {
@@ -18,11 +20,9 @@ if (_reactNative.Platform.OS !== "web") {
18
20
  const MessageMetaRow = ({
19
21
  message,
20
22
  priceMode,
21
- handleFeedbackAction,
22
- onReloadResults,
23
- reloading,
24
- hasResults
23
+ handleFeedbackAction
25
24
  }) => {
25
+ const theme = (0, _native.useTheme)();
26
26
  const isUser = message.role === "user";
27
27
  const [conversationId, setConversationId] = _react.default.useState(null);
28
28
  _react.default.useEffect(() => {
@@ -38,12 +38,14 @@ const MessageMetaRow = ({
38
38
  style: [styles.rowContainer, isUser ? styles.alignRight : styles.alignLeft]
39
39
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
40
40
  style: styles.timeContainer
41
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
42
- style: styles.timeText
41
+ }, /*#__PURE__*/_react.default.createElement(TimeText, {
42
+ theme: theme
43
43
  }, (0, _utils.formatToTime)(message.createdAt))), canFeedback ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
44
44
  style: styles.likeDislikeContainer
45
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
46
- style: state => [styles.borderButton, state?.hovered && styles.borderButtonHover, message.reaction === _utils.FeedbackAction.LIKE && styles.borderButtonLike],
45
+ }, /*#__PURE__*/_react.default.createElement(LikeButton, {
46
+ type: "like",
47
+ style: state => [state?.hovered && styles.borderButtonHover],
48
+ reaction: message.reaction,
47
49
  onPress: () => handleFeedbackAction(_utils.FeedbackAction.LIKE, String(conversationId), message.id),
48
50
  disabled: !canFeedback
49
51
  }, /*#__PURE__*/_react.default.createElement(ImageComponent, {
@@ -54,10 +56,12 @@ const MessageMetaRow = ({
54
56
  style: {
55
57
  width: 20,
56
58
  height: 20,
57
- tintColor: message.reaction === _utils.FeedbackAction.LIKE ? "#00B140" : "#020001"
59
+ tintColor: message.reaction === _utils.FeedbackAction.LIKE ? theme["success-01"] || "#00B140" : theme["core-05"] || "#020001"
58
60
  }
59
- })), /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
60
- style: state => [styles.borderButton, state?.hovered && styles.borderButtonHover, message.reaction === _utils.FeedbackAction.DISLIKE && styles.borderButtonDislike],
61
+ })), /*#__PURE__*/_react.default.createElement(LikeButton, {
62
+ type: "dislike",
63
+ style: state => [state?.hovered && styles.borderButtonHover],
64
+ reaction: message.reaction,
61
65
  onPress: () => handleFeedbackAction(_utils.FeedbackAction.DISLIKE, String(conversationId), message.id),
62
66
  disabled: !canFeedback
63
67
  }, /*#__PURE__*/_react.default.createElement(ImageComponent, {
@@ -68,11 +72,45 @@ const MessageMetaRow = ({
68
72
  style: {
69
73
  width: 20,
70
74
  height: 20,
71
- tintColor: message.reaction === _utils.FeedbackAction.DISLIKE ? "#D0021B" : "#020001"
75
+ tintColor: message.reaction === _utils.FeedbackAction.DISLIKE ? theme["error-01"] || "#D0021B" : theme["core-05"] || "#020001"
72
76
  }
73
77
  }))) : null);
74
78
  };
75
79
  exports.MessageMetaRow = MessageMetaRow;
80
+ const LikeButton = _native.default.Pressable`
81
+ border-width: 1;
82
+ border-radius: 8px;
83
+ padding-horizontal: 4px;
84
+ padding-vertical: 4px;
85
+ ${({
86
+ reaction,
87
+ type
88
+ }) => reaction === _utils.FeedbackAction.LIKE && type === "like" ? (0, _native.css)`
89
+ background-color: ${({
90
+ theme
91
+ }) => theme["success-02"] || "#DBFFE4"};
92
+ border-color: ${({
93
+ theme
94
+ }) => theme["success-01"] || "#00B140"};
95
+ ` : reaction === _utils.FeedbackAction.DISLIKE && type === "dislike" ? (0, _native.css)`
96
+ background-color: ${({
97
+ theme
98
+ }) => theme["error-02"] || "#FFE2E0"};
99
+ border-color: ${({
100
+ theme
101
+ }) => theme["error-01"] || "#D0021B"};
102
+ ` : (0, _native.css)`
103
+ border-color: ${({
104
+ theme
105
+ }) => theme["core-03"] || "#D5D5DC"};
106
+ `}
107
+ `;
108
+ const TimeText = _native.default.Text`
109
+ font-size: 12px;
110
+ color: ${({
111
+ theme
112
+ }) => theme["core-06"] || "#666"};
113
+ `;
76
114
  const styles = _reactNative.StyleSheet.create({
77
115
  rowContainer: {
78
116
  flexDirection: "row",
@@ -96,27 +134,8 @@ const styles = _reactNative.StyleSheet.create({
96
134
  timeContainer: {
97
135
  margin: 0
98
136
  },
99
- borderButton: {
100
- borderWidth: 1,
101
- borderColor: "#D5D5DC",
102
- borderRadius: 8,
103
- paddingHorizontal: 4,
104
- paddingVertical: 4
105
- },
106
137
  borderButtonHover: {
107
138
  backgroundColor: "#EDEDF2"
108
- },
109
- borderButtonLike: {
110
- backgroundColor: "#DBFFE4",
111
- borderColor: "#00B140"
112
- },
113
- borderButtonDislike: {
114
- backgroundColor: "#FFE2E0",
115
- borderColor: "#D0021B"
116
- },
117
- timeText: {
118
- fontSize: 12,
119
- color: "#666"
120
139
  }
121
140
  });
122
141
  var _default = exports.default = MessageMetaRow;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","e","__esModule","default","ImageComponent","Image","Platform","OS","ExpoImage","MessageMetaRow","message","priceMode","handleFeedbackAction","onReloadResults","reloading","hasResults","isUser","role","conversationId","setConversationId","React","useState","useEffect","fetchId","id","fetchConversationId","isValidMessageId","length","startsWith","canFeedback","isLoading","createElement","View","style","styles","rowContainer","alignRight","alignLeft","timeContainer","Text","timeText","formatToTime","createdAt","likeDislikeContainer","Pressable","state","borderButton","hovered","borderButtonHover","reaction","FeedbackAction","LIKE","borderButtonLike","onPress","String","disabled","source","uri","resizeMode","width","height","tintColor","DISLIKE","borderButtonDislike","exports","StyleSheet","create","flexDirection","justifyContent","alignItems","gap","marginHorizontal","marginTop","marginBottom","alignSelf","margin","borderWidth","borderColor","borderRadius","paddingHorizontal","paddingVertical","backgroundColor","fontSize","color","_default"],"sourceRoot":"../../../src","sources":["components/MessageMetaRow.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_native","_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","MessageMetaRow","message","priceMode","handleFeedbackAction","theme","useTheme","isUser","role","conversationId","setConversationId","React","useState","useEffect","fetchId","id","fetchConversationId","isValidMessageId","length","startsWith","canFeedback","isLoading","createElement","View","style","styles","rowContainer","alignRight","alignLeft","timeContainer","TimeText","formatToTime","createdAt","likeDislikeContainer","LikeButton","type","state","hovered","borderButtonHover","reaction","onPress","FeedbackAction","LIKE","String","disabled","source","uri","resizeMode","width","height","tintColor","DISLIKE","exports","styled","Pressable","css","Text","StyleSheet","create","flexDirection","justifyContent","alignItems","gap","marginHorizontal","marginTop","marginBottom","alignSelf","margin","backgroundColor","_default"],"sourceRoot":"../../../src","sources":["components/MessageMetaRow.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _utils = require("./utils");
10
+ var _native = _interopRequireWildcard(require("styled-components/native"));
10
11
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
12
  let ImageComponent = _reactNative.Image;
12
13
  if (_reactNative.Platform.OS !== "web") {
@@ -17,6 +18,171 @@ if (_reactNative.Platform.OS !== "web") {
17
18
  // expo-image not installed, use React Native Image
18
19
  }
19
20
  }
21
+
22
+ // Token configuration for diamond details display
23
+
24
+ const DIAMOND_TOKENS = [
25
+ // Row 1: Basic specs
26
+ {
27
+ type: "field",
28
+ field: "shape_long",
29
+ style: "primary"
30
+ }, {
31
+ type: "fieldWithSuffix",
32
+ field: "size",
33
+ style: "secondary",
34
+ suffix: "ct",
35
+ showCurrencyIf: "price_per_carat"
36
+ }, {
37
+ type: "field",
38
+ field: "color",
39
+ style: "primary"
40
+ }, {
41
+ type: "field",
42
+ field: "clarity_short",
43
+ style: "primary"
44
+ }, {
45
+ type: "separator"
46
+ }, {
47
+ type: "group",
48
+ items: [{
49
+ type: "field",
50
+ field: "cut_short",
51
+ style: "primary"
52
+ }, {
53
+ type: "field",
54
+ field: "polish_short",
55
+ style: "primary",
56
+ prefix: "/"
57
+ }, {
58
+ type: "field",
59
+ field: "symmetry_short",
60
+ style: "primary",
61
+ prefix: "/"
62
+ }]
63
+ }, {
64
+ type: "separator"
65
+ }, {
66
+ type: "field",
67
+ field: "fluorescence_intensity_short",
68
+ style: "primary"
69
+ }, {
70
+ type: "separator"
71
+ }, {
72
+ type: "field",
73
+ field: "lab_short",
74
+ style: "primary"
75
+ }, {
76
+ type: "separator"
77
+ }, {
78
+ type: "field",
79
+ field: "discount_percent",
80
+ style: "secondary",
81
+ format: "percent"
82
+ },
83
+ // Row 2: Measurements & Pricing
84
+ {
85
+ type: "lineBreak"
86
+ }, {
87
+ type: "field",
88
+ field: "depth_percent",
89
+ style: "secondary",
90
+ prefix: "D",
91
+ format: "percent"
92
+ }, {
93
+ type: "separator"
94
+ }, {
95
+ type: "field",
96
+ field: "table_percent",
97
+ style: "secondary",
98
+ prefix: "T",
99
+ format: "percent"
100
+ }, {
101
+ type: "separator"
102
+ }, {
103
+ type: "field",
104
+ field: "measurement",
105
+ style: "secondary"
106
+ }, {
107
+ type: "separator"
108
+ }, {
109
+ type: "priceField",
110
+ field: "price_per_carat",
111
+ style: "secondary",
112
+ suffix: "PC"
113
+ }, {
114
+ type: "priceField",
115
+ field: "total_sales_price",
116
+ style: "secondary",
117
+ prefix: " ="
118
+ }];
119
+ const renderToken = (token, item, userCurrency, index) => {
120
+ const TextView = token.style === "secondary" ? TextStyleTwo : TextStyleOne;
121
+ const currency = userCurrency || "$";
122
+ const theme = (0, _native.useTheme)();
123
+ switch (token.type) {
124
+ case "separator":
125
+ return /*#__PURE__*/_react.default.createElement(TextView, {
126
+ key: index,
127
+ theme: theme
128
+ }, "·");
129
+ case "lineBreak":
130
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
131
+ key: index,
132
+ style: styles.lineBreak
133
+ });
134
+ case "field":
135
+ {
136
+ let value = item[token.field] ?? "-";
137
+ if (token.format === "percent" && value !== "-") {
138
+ value = `${value}%`;
139
+ }
140
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
141
+ key: index
142
+ }, token.prefix && /*#__PURE__*/_react.default.createElement(TextView, {
143
+ theme: theme
144
+ }, token.prefix), /*#__PURE__*/_react.default.createElement(TextView, {
145
+ theme: theme
146
+ }, value));
147
+ }
148
+ case "fieldWithSuffix":
149
+ {
150
+ const value = item[token.field] ?? "-";
151
+ const showSuffix = token.showCurrencyIf ? item[token.showCurrencyIf] : true;
152
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
153
+ key: index,
154
+ style: styles.rowCenter
155
+ }, /*#__PURE__*/_react.default.createElement(TextView, {
156
+ theme: theme
157
+ }, value), showSuffix && token.suffix && /*#__PURE__*/_react.default.createElement(TextView, {
158
+ theme: theme
159
+ }, token.suffix));
160
+ }
161
+ case "priceField":
162
+ {
163
+ const value = item[token.field];
164
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
165
+ key: index,
166
+ style: styles.rowCenter
167
+ }, token.prefix && /*#__PURE__*/_react.default.createElement(TextView, {
168
+ theme: theme
169
+ }, token.prefix), value && /*#__PURE__*/_react.default.createElement(TextView, {
170
+ theme: theme
171
+ }, currency), /*#__PURE__*/_react.default.createElement(TextView, {
172
+ theme: theme
173
+ }, value ?? "-"), token.suffix && /*#__PURE__*/_react.default.createElement(TextView, {
174
+ theme: theme
175
+ }, token.suffix));
176
+ }
177
+ case "group":
178
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
179
+ key: index,
180
+ style: styles.rowCenter
181
+ }, token.items?.map((subToken, subIndex) => renderToken(subToken, item, userCurrency, subIndex)));
182
+ default:
183
+ return null;
184
+ }
185
+ };
20
186
  const ProductsListViewComponent = ({
21
187
  data,
22
188
  totalResults,
@@ -25,6 +191,7 @@ const ProductsListViewComponent = ({
25
191
  item
26
192
  }) => {
27
193
  if (!data || !data.length) return null;
194
+ const theme = (0, _native.useTheme)();
28
195
  const [userCurrency, setUserCurrency] = (0, _react.useState)(null);
29
196
  (0, _react.useEffect)(() => {
30
197
  const fetchCurrency = async () => {
@@ -33,118 +200,29 @@ const ProductsListViewComponent = ({
33
200
  };
34
201
  fetchCurrency();
35
202
  }, []);
36
- return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
37
- style: styles.wrapper
203
+ return /*#__PURE__*/_react.default.createElement(Wrapper, {
204
+ theme: theme
38
205
  }, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
39
206
  showsVerticalScrollIndicator: false,
40
207
  contentContainerStyle: styles.listContent
41
- }, data.map((item, index) => /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
42
- key: item.id,
43
- onPress: () => onItemPress?.(item)
208
+ }, data.map((dataItem, index) => /*#__PURE__*/_react.default.createElement(_reactNative.Pressable, {
209
+ key: dataItem.id,
210
+ onPress: () => onItemPress?.(dataItem)
44
211
  // @ts-ignore - hovered is available on web
45
212
  ,
46
213
  style: ({
47
214
  hovered
48
215
  }) => [styles.itemContainer, hovered && styles.itemHover]
49
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
216
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
50
217
  style: styles.left
51
218
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
52
219
  style: styles.serialContainer
53
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
54
- style: styles.serial
55
- }, index + 1, ".")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
220
+ }, /*#__PURE__*/_react.default.createElement(Serial, null, index + 1, ".")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
56
221
  style: styles.tokens
57
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
58
- style: styles.textStyleOne
59
- }, item.shape_long ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
60
- style: {
61
- flexDirection: "row",
62
- alignItems: "center"
63
- }
64
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
65
- style: styles.textStyleTwo
66
- }, item.size ?? "-"), item.price_per_carat ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
67
- style: styles.textStyleOne
68
- }, "ct") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
69
- style: styles.textStyleOne
70
- }, item.color ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
71
- style: styles.textStyleOne
72
- }, item.clarity_short ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
73
- style: styles.textStyleOne
74
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
75
- style: {
76
- flexDirection: "row",
77
- alignItems: "center"
78
- }
79
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
80
- style: styles.textStyleOne
81
- }, item.cut_short ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
82
- style: styles.textStyleOne
83
- }, "/"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
84
- style: styles.textStyleOne
85
- }, item.polish_short ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
86
- style: styles.textStyleOne
87
- }, "/"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
88
- style: styles.textStyleOne
89
- }, item.symmetry_short ?? "-")), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
90
- style: styles.textStyleOne
91
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
92
- style: styles.textStyleOne
93
- }, item.fluorescence_intensity_short ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
94
- style: styles.textStyleOne
95
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
96
- style: styles.textStyleOne
97
- }, item.lab_short ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
98
- style: styles.textStyleOne
99
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
100
- style: styles.textStyleTwo
101
- }, item.discount_percent ? item.discount_percent + "%" : "-"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
102
- style: styles.lineBreak
103
- }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
104
- style: styles.textStyleOne
105
- }, "D"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
106
- style: styles.textStyleTwo
107
- }, item.depth_percent ? item.depth_percent + "%" : "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
108
- style: styles.textStyleOne
109
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
110
- style: styles.textStyleOne
111
- }, "T"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
112
- style: styles.textStyleTwo
113
- }, item.table_percent ? item.table_percent + "%" : "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
114
- style: styles.textStyleOne
115
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
116
- style: styles.textStyleTwo
117
- }, item.measurement ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
118
- style: styles.textStyleOne
119
- }, "·"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
120
- style: {
121
- flexDirection: "row",
122
- alignItems: "center"
123
- }
124
- }, item.price_per_carat ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
125
- style: styles.textStyleTwo
126
- }, userCurrency ? userCurrency : "$") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
127
- style: styles.textStyleTwo
128
- }, item.price_per_carat ?? "-"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
129
- style: styles.textStyleOne
130
- }, "PC")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
131
- style: {
132
- flexDirection: "row",
133
- alignItems: "center"
134
- }
135
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
136
- style: styles.textStyleOne
137
- }, " ="), item.total_sales_price ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
138
- style: styles.textStyleTwo
139
- }, userCurrency ? userCurrency : "$") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
140
- style: styles.textStyleTwo
141
- }, item.total_sales_price ?? "-")))))))), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
142
- style: styles.button,
222
+ }, DIAMOND_TOKENS.map((token, tokenIndex) => renderToken(token, dataItem, userCurrency, tokenIndex))))))), /*#__PURE__*/_react.default.createElement(ButtonView, {
143
223
  activeOpacity: 0.8,
144
224
  onPress: () => onViewAll(item)
145
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
146
- style: styles.buttonText
147
- }, `View All ${totalResults} Results`), /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
225
+ }, /*#__PURE__*/_react.default.createElement(ButtonText, null, `View All ${totalResults} Results`), /*#__PURE__*/_react.default.createElement(ImageComponent, {
148
226
  source: {
149
227
  uri: "https://cdn.vdbapp.com/ai/chat-widget/assets/img/right.svg"
150
228
  },
@@ -152,24 +230,66 @@ const ProductsListViewComponent = ({
152
230
  style: {
153
231
  width: 20,
154
232
  height: 20,
155
- tintColor: "#fff"
233
+ tintColor: theme["primary-cont"] || "#ffffff"
156
234
  }
157
235
  })));
158
236
  };
237
+ const Wrapper = _native.default.View`
238
+ padding-horizontal: 8px;
239
+ `;
240
+ const Serial = _native.default.Text`
241
+ font-size: 13px;
242
+ color: ${({
243
+ theme
244
+ }) => theme["core-05"] || "#020001"};
245
+ font-weight: 500;
246
+ `;
247
+ const TextStyleOne = _native.default.Text`
248
+ font-size: 13px;
249
+ color: ${({
250
+ theme
251
+ }) => theme["core-06"] || "#4F4E57"};
252
+ font-weight: 400;
253
+ font-family: "Roboto";
254
+ font-style: normal;
255
+ `;
256
+ const TextStyleTwo = _native.default.Text`
257
+ font-size: 13px;
258
+ color: ${({
259
+ theme
260
+ }) => theme["core-05"] || "#020001"};
261
+ font-weight: 500;
262
+ font-family: "Roboto";
263
+ font-style: normal;
264
+ `;
265
+ const ButtonView = _native.default.TouchableOpacity`
266
+ margin-top: 12px;
267
+ margin-horizontal: 12px;
268
+ align-self: center;
269
+ padding-horizontal: 16px;
270
+ padding-vertical: 6px;
271
+ background-color: ${({
272
+ theme
273
+ }) => theme["primary-bg-static"] || "#292735"};
274
+ border-radius: 8px;
275
+ align-items: center;
276
+ gap: 16px;
277
+ width: 100%;
278
+ flex-direction: row;
279
+ justify-content: center;
280
+ align-content: center;
281
+ `;
282
+ const ButtonText = _native.default.Text`
283
+ color: ${({
284
+ theme
285
+ }) => theme["primary-cont"] || "#ffffff"};
286
+ font-size: 14px;
287
+ font-weight: 600;
288
+ `;
159
289
  const styles = _reactNative.StyleSheet.create({
160
- wrapper: {
161
- paddingHorizontal: 8
162
- },
163
290
  listContent: {
164
291
  gap: 8
165
292
  },
166
- row: {
167
- flexDirection: "row",
168
- justifyContent: "space-between",
169
- alignItems: "center",
170
- paddingVertical: 6,
171
- backgroundColor: "#fff"
172
- },
173
293
  left: {
174
294
  flexDirection: "row",
175
295
  alignItems: "flex-start",
@@ -191,30 +311,9 @@ const styles = _reactNative.StyleSheet.create({
191
311
  width: "100%",
192
312
  height: 0
193
313
  },
194
- serial: {
195
- fontSize: 13,
196
- color: "#020001",
197
- fontWeight: "500"
198
- },
199
- textStyleOne: {
200
- fontFamily: "Roboto",
201
- fontSize: 13,
202
- fontStyle: "normal",
203
- fontWeight: "400",
204
- color: "#4F4E57"
205
- },
206
- textStyleTwo: {
207
- fontFamily: "Roboto",
208
- fontSize: 13,
209
- fontStyle: "normal",
210
- fontWeight: "500",
211
- color: "#020001"
212
- },
213
- price: {
214
- fontSize: 13,
215
- fontWeight: "500",
216
- color: "#020001",
217
- textAlign: "left"
314
+ rowCenter: {
315
+ flexDirection: "row",
316
+ alignItems: "center"
218
317
  },
219
318
  priceContainer: {
220
319
  alignItems: "flex-start",
@@ -225,26 +324,6 @@ const styles = _reactNative.StyleSheet.create({
225
324
  },
226
325
  itemHover: {
227
326
  backgroundColor: "#EDEDF2"
228
- },
229
- button: {
230
- marginTop: 12,
231
- marginHorizontal: 12,
232
- alignSelf: "center",
233
- paddingHorizontal: 16,
234
- paddingVertical: 6,
235
- backgroundColor: "#292735",
236
- borderRadius: 8,
237
- alignItems: "center",
238
- gap: 16,
239
- width: "100%",
240
- flexDirection: "row",
241
- justifyContent: "center",
242
- alignContent: "center"
243
- },
244
- buttonText: {
245
- color: "#fff",
246
- fontSize: 14,
247
- fontWeight: "600"
248
327
  }
249
328
  });
250
329
  const ProductsListView = /*#__PURE__*/(0, _react.memo)(ProductsListViewComponent);