@instockng/storefront-ui 1.0.113 → 1.0.114

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 (216) hide show
  1. package/dist/components/AssistantDrawer.d.ts.map +1 -1
  2. package/dist/index100.mjs +8 -67
  3. package/dist/index101.mjs +71 -83
  4. package/dist/index102.mjs +3 -28
  5. package/dist/index103.mjs +2 -9
  6. package/dist/index104.mjs +78 -70
  7. package/dist/index105.mjs +53 -3
  8. package/dist/index106.mjs +6 -2
  9. package/dist/index107.mjs +4 -82
  10. package/dist/index108.mjs +176 -51
  11. package/dist/index109.mjs +53 -6
  12. package/dist/index110.mjs +69 -5
  13. package/dist/index111.mjs +37 -179
  14. package/dist/index112.mjs +41 -51
  15. package/dist/index113.mjs +2 -69
  16. package/dist/index115.mjs +1 -1
  17. package/dist/index116.mjs +1 -1
  18. package/dist/index117.mjs +6 -6
  19. package/dist/index118.mjs +4 -4
  20. package/dist/index119.mjs +3 -3
  21. package/dist/index120.mjs +1 -1
  22. package/dist/index121.mjs +1 -1
  23. package/dist/index122.mjs +1 -1
  24. package/dist/index123.mjs +2 -2
  25. package/dist/index124.mjs +2 -2
  26. package/dist/index125.mjs +3 -3
  27. package/dist/index126.mjs +1 -1
  28. package/dist/index127.mjs +3 -3
  29. package/dist/index128.mjs +2 -2
  30. package/dist/index129.mjs +2 -2
  31. package/dist/index130.mjs +1 -1
  32. package/dist/index131.mjs +3 -3
  33. package/dist/index132.mjs +1 -1
  34. package/dist/index133.mjs +1 -1
  35. package/dist/index134.mjs +3 -3
  36. package/dist/index135.mjs +2 -2
  37. package/dist/index136.mjs +4 -4
  38. package/dist/index137.mjs +1 -1
  39. package/dist/index138.mjs +3 -3
  40. package/dist/index139.mjs +4 -4
  41. package/dist/index140.mjs +1 -1
  42. package/dist/index141.mjs +1 -1
  43. package/dist/index142.mjs +1 -1
  44. package/dist/index143.mjs +1 -1
  45. package/dist/index144.mjs +1 -1
  46. package/dist/index145.mjs +1 -1
  47. package/dist/index146.mjs +1 -1
  48. package/dist/index147.mjs +2 -2
  49. package/dist/index148.mjs +3 -3
  50. package/dist/index151.mjs +1 -1
  51. package/dist/index153.mjs +21 -2
  52. package/dist/index154.mjs +56 -2
  53. package/dist/index155.mjs +29 -2
  54. package/dist/index156.mjs +7 -2
  55. package/dist/index157.mjs +50 -16
  56. package/dist/index158.mjs +6 -32
  57. package/dist/index159.mjs +11 -37
  58. package/dist/index160.mjs +7 -18
  59. package/dist/index161.mjs +28 -18
  60. package/dist/index162.mjs +2 -2
  61. package/dist/index163.mjs +70 -20
  62. package/dist/index164.mjs +163 -42
  63. package/dist/index166.mjs +2 -30
  64. package/dist/index167.mjs +2 -18
  65. package/dist/index168.mjs +2 -2
  66. package/dist/index169.mjs +18 -2
  67. package/dist/index170.mjs +32 -2
  68. package/dist/index171.mjs +38 -2
  69. package/dist/index172.mjs +13 -67
  70. package/dist/index173.mjs +18 -2
  71. package/dist/index174.mjs +2 -53
  72. package/dist/index175.mjs +20 -2
  73. package/dist/index176.mjs +39 -29
  74. package/dist/index177.mjs +2 -152
  75. package/dist/index178.mjs +30 -2
  76. package/dist/index179.mjs +18 -2
  77. package/dist/index180.mjs +2 -19
  78. package/dist/index181.mjs +2 -2
  79. package/dist/index182.mjs +2 -2
  80. package/dist/index183.mjs +2 -26
  81. package/dist/index184.mjs +72 -2
  82. package/dist/index185.mjs +2 -2
  83. package/dist/index186.mjs +49 -20
  84. package/dist/index187.mjs +2 -23
  85. package/dist/index188.mjs +36 -2
  86. package/dist/index189.mjs +152 -2
  87. package/dist/index190.mjs +2 -2
  88. package/dist/index191.mjs +2 -23
  89. package/dist/index192.mjs +19 -2
  90. package/dist/index193.mjs +2 -23
  91. package/dist/index195.mjs +26 -2
  92. package/dist/index196.mjs +2 -2
  93. package/dist/index197.mjs +2 -23
  94. package/dist/index198.mjs +24 -2
  95. package/dist/index199.mjs +15 -15
  96. package/dist/index200.mjs +2 -2
  97. package/dist/index201.mjs +2 -2
  98. package/dist/index202.mjs +2 -2
  99. package/dist/index203.mjs +23 -2
  100. package/dist/index204.mjs +2 -2
  101. package/dist/index205.mjs +23 -2
  102. package/dist/index206.mjs +2 -2
  103. package/dist/index207.mjs +2 -2
  104. package/dist/index208.mjs +2 -127
  105. package/dist/index209.mjs +23 -2
  106. package/dist/index210.mjs +2 -74
  107. package/dist/index211.mjs +20 -71
  108. package/dist/index212.mjs +2 -21
  109. package/dist/index213.mjs +2 -56
  110. package/dist/index214.mjs +2 -29
  111. package/dist/index215.mjs +2 -7
  112. package/dist/index216.mjs +2 -52
  113. package/dist/index217.mjs +2 -6
  114. package/dist/index218.mjs +2 -12
  115. package/dist/index219.mjs +2 -7
  116. package/dist/index22.mjs +139 -128
  117. package/dist/index220.mjs +127 -28
  118. package/dist/index221.mjs +2 -2
  119. package/dist/index222.mjs +73 -69
  120. package/dist/index223.mjs +71 -164
  121. package/dist/index224.mjs +31 -2
  122. package/dist/index225.mjs +11 -2
  123. package/dist/index226.mjs +4 -2
  124. package/dist/index227.mjs +4 -2
  125. package/dist/index228.mjs +13 -2
  126. package/dist/index229.mjs +7 -2
  127. package/dist/index230.mjs +12 -2
  128. package/dist/index231.mjs +5 -2
  129. package/dist/index232.mjs +33 -244
  130. package/dist/index233.mjs +31 -2
  131. package/dist/index234.mjs +27 -32
  132. package/dist/index235.mjs +59 -63
  133. package/dist/index236.mjs +2 -25
  134. package/dist/index237.mjs +2 -2
  135. package/dist/index238.mjs +2 -2
  136. package/dist/index239.mjs +2 -37
  137. package/dist/index241.mjs +2 -2
  138. package/dist/index242.mjs +108 -2
  139. package/dist/index244.mjs +2 -2
  140. package/dist/index245.mjs +2 -2
  141. package/dist/index246.mjs +2 -2
  142. package/dist/index247.mjs +233 -97
  143. package/dist/index249.mjs +33 -2
  144. package/dist/index250.mjs +65 -2
  145. package/dist/index251.mjs +25 -2
  146. package/dist/index253.mjs +37 -2
  147. package/dist/index254.mjs +2 -4
  148. package/dist/index255.mjs +2 -13
  149. package/dist/index256.mjs +2 -7
  150. package/dist/index257.mjs +2 -31
  151. package/dist/index258.mjs +2 -11
  152. package/dist/index259.mjs +2 -4
  153. package/dist/index260.mjs +2 -4
  154. package/dist/index261.mjs +2 -12
  155. package/dist/index262.mjs +2 -5
  156. package/dist/index263.mjs +2 -33
  157. package/dist/index264.mjs +2 -31
  158. package/dist/index265.mjs +2 -28
  159. package/dist/index266.mjs +4 -61
  160. package/dist/index267.mjs +3 -2
  161. package/dist/index268.mjs +2 -2
  162. package/dist/index269.mjs +2 -18
  163. package/dist/index270.mjs +16 -46
  164. package/dist/index271.mjs +13 -2
  165. package/dist/index272.mjs +6 -2
  166. package/dist/index273.mjs +30 -2
  167. package/dist/index274.mjs +2 -91
  168. package/dist/index275.mjs +2 -2
  169. package/dist/index276.mjs +18 -2
  170. package/dist/index277.mjs +47 -3
  171. package/dist/index278.mjs +2 -2
  172. package/dist/index279.mjs +2 -2
  173. package/dist/index280.mjs +2 -17
  174. package/dist/index281.mjs +2 -13
  175. package/dist/index282.mjs +91 -6
  176. package/dist/index283.mjs +2 -30
  177. package/dist/index43.mjs +1 -1
  178. package/dist/index44.mjs +1 -1
  179. package/dist/index45.mjs +1 -1
  180. package/dist/index46.mjs +1 -1
  181. package/dist/index47.mjs +1 -1
  182. package/dist/index48.mjs +2 -2
  183. package/dist/index50.mjs +1 -1
  184. package/dist/index54.mjs +3 -3
  185. package/dist/index58.mjs +1 -1
  186. package/dist/index63.mjs +17 -17
  187. package/dist/index64.mjs +2 -2
  188. package/dist/index65.mjs +1 -1
  189. package/dist/index66.mjs +1 -1
  190. package/dist/index67.mjs +1 -1
  191. package/dist/index68.mjs +1 -1
  192. package/dist/index69.mjs +1 -1
  193. package/dist/index70.mjs +1 -1
  194. package/dist/index71.mjs +1 -1
  195. package/dist/index72.mjs +1 -1
  196. package/dist/index73.mjs +1 -1
  197. package/dist/index74.mjs +1 -1
  198. package/dist/index75.mjs +1 -1
  199. package/dist/index76.mjs +1 -1
  200. package/dist/index77.mjs +1 -1
  201. package/dist/index78.mjs +1 -1
  202. package/dist/index79.mjs +20 -21
  203. package/dist/index80.mjs +24 -2
  204. package/dist/index82.mjs +4 -22
  205. package/dist/index83.mjs +2 -75
  206. package/dist/index84.mjs +74 -14
  207. package/dist/index85.mjs +14 -62
  208. package/dist/index86.mjs +62 -4
  209. package/dist/index94.mjs +235 -2
  210. package/dist/index95.mjs +6 -37
  211. package/dist/index96.mjs +130 -39
  212. package/dist/index97.mjs +62 -229
  213. package/dist/index98.mjs +86 -5
  214. package/dist/index99.mjs +26 -131
  215. package/package.json +1 -1
  216. package/src/components/AssistantDrawer.tsx +20 -1
package/dist/index99.mjs CHANGED
@@ -1,137 +1,32 @@
1
1
  'use client';
2
- import d from "./index97.mjs";
3
- import U from "./index212.mjs";
4
- import q from "./index213.mjs";
5
- import R from "./index214.mjs";
6
- import w from "./index100.mjs";
7
- import A from "./index215.mjs";
8
- import m from "./index216.mjs";
9
- import T from "./index111.mjs";
10
- const i = m.validators;
11
- class k {
12
- constructor(t) {
13
- this.defaults = t || {}, this.interceptors = {
14
- request: new q(),
15
- response: new q()
16
- };
17
- }
18
- /**
19
- * Dispatch a request
20
- *
21
- * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
22
- * @param {?Object} config
23
- *
24
- * @returns {Promise} The Promise to be fulfilled
25
- */
26
- async request(t, e) {
27
- try {
28
- return await this._request(t, e);
29
- } catch (r) {
30
- if (r instanceof Error) {
31
- let o = {};
32
- Error.captureStackTrace ? Error.captureStackTrace(o) : o = new Error();
33
- const s = o.stack ? o.stack.replace(/^.+\n/, "") : "";
34
- try {
35
- r.stack ? s && !String(r.stack).endsWith(s.replace(/^.+\n.+\n/, "")) && (r.stack += `
36
- ` + s) : r.stack = s;
37
- } catch {
38
- }
39
- }
40
- throw r;
41
- }
42
- }
43
- _request(t, e) {
44
- typeof t == "string" ? (e = e || {}, e.url = t) : e = t || {}, e = w(this.defaults, e);
45
- const { transitional: r, paramsSerializer: o, headers: s } = e;
46
- r !== void 0 && m.assertOptions(r, {
47
- silentJSONParsing: i.transitional(i.boolean),
48
- forcedJSONParsing: i.transitional(i.boolean),
49
- clarifyTimeoutError: i.transitional(i.boolean)
50
- }, !1), o != null && (d.isFunction(o) ? e.paramsSerializer = {
51
- serialize: o
52
- } : m.assertOptions(o, {
53
- encode: i.function,
54
- serialize: i.function
55
- }, !0)), e.allowAbsoluteUrls !== void 0 || (this.defaults.allowAbsoluteUrls !== void 0 ? e.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls : e.allowAbsoluteUrls = !0), m.assertOptions(e, {
56
- baseUrl: i.spelling("baseURL"),
57
- withXsrfToken: i.spelling("withXSRFToken")
58
- }, !0), e.method = (e.method || this.defaults.method || "get").toLowerCase();
59
- let f = s && d.merge(
60
- s.common,
61
- s[e.method]
62
- );
63
- s && d.forEach(
64
- ["delete", "get", "head", "post", "put", "patch", "common"],
65
- (a) => {
66
- delete s[a];
67
- }
68
- ), e.headers = T.concat(f, s);
69
- const h = [];
70
- let b = !0;
71
- this.interceptors.request.forEach(function(n) {
72
- typeof n.runWhen == "function" && n.runWhen(e) === !1 || (b = b && n.synchronous, h.unshift(n.fulfilled, n.rejected));
73
- });
74
- const c = [];
75
- this.interceptors.response.forEach(function(n) {
76
- c.push(n.fulfilled, n.rejected);
77
- });
78
- let u, l = 0, p;
79
- if (!b) {
80
- const a = [R.bind(this), void 0];
81
- for (a.unshift(...h), a.push(...c), p = a.length, u = Promise.resolve(e); l < p; )
82
- u = u.then(a[l++], a[l++]);
83
- return u;
84
- }
85
- p = h.length;
86
- let y = e;
87
- for (; l < p; ) {
88
- const a = h[l++], n = h[l++];
89
- try {
90
- y = a(y);
91
- } catch (S) {
92
- n.call(this, S);
93
- break;
94
- }
95
- }
96
- try {
97
- u = R.call(this, y);
98
- } catch (a) {
99
- return Promise.reject(a);
100
- }
101
- for (l = 0, p = c.length; l < p; )
102
- u = u.then(c[l++], c[l++]);
103
- return u;
2
+ import u from "./index94.mjs";
3
+ function f(e) {
4
+ return u.matchAll(/\w+|\[(\w*)]/g, e).map((o) => o[0] === "[]" ? "" : o[1] || o[0]);
5
+ }
6
+ function y(e) {
7
+ const o = {}, r = Object.keys(e);
8
+ let i;
9
+ const n = r.length;
10
+ let c;
11
+ for (i = 0; i < n; i++)
12
+ c = r[i], o[c] = e[c];
13
+ return o;
14
+ }
15
+ function m(e) {
16
+ function o(r, i, n, c) {
17
+ let s = r[c++];
18
+ if (s === "__proto__") return !0;
19
+ const t = Number.isFinite(+s), l = c >= r.length;
20
+ return s = !s && u.isArray(n) ? n.length : s, l ? (u.hasOwnProp(n, s) ? n[s] = [n[s], i] : n[s] = i, !t) : ((!n[s] || !u.isObject(n[s])) && (n[s] = []), o(r, i, n[s], c) && u.isArray(n[s]) && (n[s] = y(n[s])), !t);
104
21
  }
105
- getUri(t) {
106
- t = w(this.defaults, t);
107
- const e = A(t.baseURL, t.url, t.allowAbsoluteUrls);
108
- return U(e, t.params, t.paramsSerializer);
22
+ if (u.isFormData(e) && u.isFunction(e.entries)) {
23
+ const r = {};
24
+ return u.forEachEntry(e, (i, n) => {
25
+ o(f(i), n, r, 0);
26
+ }), r;
109
27
  }
28
+ return null;
110
29
  }
111
- d.forEach(["delete", "get", "head", "options"], function(t) {
112
- k.prototype[t] = function(e, r) {
113
- return this.request(w(r || {}, {
114
- method: t,
115
- url: e,
116
- data: (r || {}).data
117
- }));
118
- };
119
- });
120
- d.forEach(["post", "put", "patch"], function(t) {
121
- function e(r) {
122
- return function(s, f, h) {
123
- return this.request(w(h || {}, {
124
- method: t,
125
- headers: r ? {
126
- "Content-Type": "multipart/form-data"
127
- } : {},
128
- url: s,
129
- data: f
130
- }));
131
- };
132
- }
133
- k.prototype[t] = e(), k.prototype[t + "Form"] = e(!0);
134
- });
135
30
  export {
136
- k as default
31
+ m as default
137
32
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instockng/storefront-ui",
3
- "version": "1.0.113",
3
+ "version": "1.0.114",
4
4
  "description": "Pre-built UI components for OMS e-commerce sites",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,7 +32,8 @@ function renderMarkdown(text: string): string {
32
32
  function cleanSignals(text: string): string {
33
33
  return text
34
34
  .replace(/\s*PRODUCTS:[\w\-,]*\s*/g, '')
35
- .replace(/\s*CONTACT_SUPPORT\s*/gi, '');
35
+ .replace(/\s*CONTACT_SUPPORT\s*/gi, '')
36
+ .replace(/\s*SUGGESTIONS:[^\n]*\s*/g, '');
36
37
  }
37
38
 
38
39
  type ChatMessage = {
@@ -40,6 +41,7 @@ type ChatMessage = {
40
41
  content: string;
41
42
  products?: RecommendedProduct[];
42
43
  whatsapp?: boolean;
44
+ suggestions?: string[];
43
45
  };
44
46
 
45
47
  type RecommendedProduct = {
@@ -121,6 +123,7 @@ export function AssistantDrawer({
121
123
  content: parsed.answer || last.content,
122
124
  products: parsed.products?.length > 0 ? parsed.products : undefined,
123
125
  whatsapp: parsed.whatsapp || false,
126
+ suggestions: parsed.suggestions?.length > 0 ? parsed.suggestions : undefined,
124
127
  };
125
128
  }
126
129
  return updated;
@@ -402,6 +405,22 @@ export function AssistantDrawer({
402
405
  Chat on WhatsApp
403
406
  </a>
404
407
  )}
408
+
409
+ {/* Follow-up suggestion chips */}
410
+ {msg.suggestions && msg.suggestions.length > 0 && !isStreaming && i === messages.length - 1 && (
411
+ <div className="flex flex-wrap gap-2">
412
+ {msg.suggestions.map((suggestion, si) => (
413
+ <button
414
+ key={si}
415
+ type="button"
416
+ onClick={() => sendMessage(suggestion)}
417
+ className="rounded-full border border-gray-200 bg-gray-50 px-3 py-1.5 text-xs text-gray-700 hover:bg-gray-100 hover:border-gray-300 transition-colors text-left"
418
+ >
419
+ {suggestion}
420
+ </button>
421
+ ))}
422
+ </div>
423
+ )}
405
424
  </div>
406
425
  )}
407
426
  </div>