@instockng/storefront-ui 1.0.106 → 1.0.108
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/components/AssistantDrawer.d.ts +22 -0
- package/dist/components/AssistantDrawer.d.ts.map +1 -0
- package/dist/components/ProductAssistantChips.d.ts +13 -0
- package/dist/components/ProductAssistantChips.d.ts.map +1 -0
- package/dist/contexts/AssistantContext.d.ts +19 -0
- package/dist/contexts/AssistantContext.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +144 -138
- package/dist/index10.mjs +103 -73
- package/dist/index100.mjs +53 -68
- package/dist/index101.mjs +6 -37
- package/dist/index102.mjs +4 -42
- package/dist/index103.mjs +179 -2
- package/dist/index104.mjs +53 -6
- package/dist/index105.mjs +69 -1134
- package/dist/index106.mjs +2 -20
- package/dist/index107.mjs +5 -54
- package/dist/index108.mjs +1126 -25
- package/dist/index109.mjs +20 -2
- package/dist/index11.mjs +74 -190
- package/dist/index110.mjs +55 -2
- package/dist/index111.mjs +33 -2
- package/dist/index112.mjs +2 -28
- package/dist/index113.mjs +2 -18
- package/dist/index114.mjs +2 -215
- package/dist/index115.mjs +26 -178
- package/dist/index116.mjs +10 -14
- package/dist/index117.mjs +209 -17
- package/dist/index118.mjs +173 -26
- package/dist/index119.mjs +17 -151
- package/dist/index12.mjs +172 -107
- package/dist/index120.mjs +12 -9
- package/dist/index121.mjs +24 -22
- package/dist/index122.mjs +148 -76
- package/dist/index123.mjs +13 -31
- package/dist/index124.mjs +24 -138
- package/dist/index125.mjs +78 -49
- package/dist/index126.mjs +32 -17
- package/dist/index127.mjs +139 -21
- package/dist/index128.mjs +51 -19
- package/dist/index129.mjs +16 -18
- package/dist/index13.mjs +127 -98
- package/dist/index130.mjs +18 -12
- package/dist/index131.mjs +15 -14
- package/dist/index132.mjs +17 -13
- package/dist/index133.mjs +14 -58
- package/dist/index134.mjs +15 -11
- package/dist/index135.mjs +14 -32
- package/dist/index136.mjs +57 -16
- package/dist/index137.mjs +11 -27
- package/dist/index138.mjs +31 -19
- package/dist/index139.mjs +17 -12
- package/dist/index14.mjs +94 -90
- package/dist/index140.mjs +27 -14
- package/dist/index141.mjs +20 -40
- package/dist/index142.mjs +11 -15
- package/dist/index143.mjs +17 -264
- package/dist/index144.mjs +40 -63
- package/dist/index145.mjs +22 -7
- package/dist/index146.mjs +268 -2
- package/dist/index147.mjs +70 -2
- package/dist/index148.mjs +7 -32
- package/dist/index149.mjs +2 -2
- package/dist/index15.mjs +84 -149
- package/dist/index150.mjs +2 -21
- package/dist/index151.mjs +31 -54
- package/dist/index152.mjs +2 -29
- package/dist/index153.mjs +20 -6
- package/dist/index154.mjs +53 -49
- package/dist/index155.mjs +29 -6
- package/dist/index156.mjs +6 -11
- package/dist/index157.mjs +49 -4
- package/dist/index158.mjs +5 -27
- package/dist/index159.mjs +12 -2
- package/dist/index16.mjs +157 -203
- package/dist/index160.mjs +6 -69
- package/dist/index161.mjs +27 -166
- package/dist/index162.mjs +2 -2
- package/dist/index163.mjs +70 -2
- package/dist/index164.mjs +167 -2
- package/dist/index165.mjs +2 -2
- package/dist/index166.mjs +2 -18
- package/dist/index167.mjs +2 -32
- package/dist/index168.mjs +2 -38
- package/dist/index169.mjs +11 -11
- package/dist/index17.mjs +198 -107
- package/dist/index170.mjs +25 -11
- package/dist/index171.mjs +38 -2
- package/dist/index172.mjs +11 -13
- package/dist/index173.mjs +11 -39
- package/dist/index174.mjs +2 -2
- package/dist/index175.mjs +15 -25
- package/dist/index176.mjs +39 -11
- package/dist/index178.mjs +30 -2
- package/dist/index179.mjs +18 -2
- package/dist/index18.mjs +97 -130
- package/dist/index181.mjs +2 -72
- package/dist/index182.mjs +2 -2
- package/dist/index183.mjs +2 -53
- package/dist/index184.mjs +72 -2
- package/dist/index185.mjs +2 -36
- package/dist/index186.mjs +38 -137
- package/dist/index187.mjs +2 -2
- package/dist/index188.mjs +36 -2
- package/dist/index189.mjs +147 -14
- package/dist/index19.mjs +140 -87
- package/dist/index191.mjs +2 -2
- package/dist/index192.mjs +10 -17
- package/dist/index193.mjs +2 -2
- package/dist/index194.mjs +2 -2
- package/dist/index195.mjs +18 -16
- package/dist/index196.mjs +2 -23
- package/dist/index197.mjs +2 -2
- package/dist/index198.mjs +24 -2
- package/dist/index199.mjs +23 -2
- package/dist/index2.mjs +30 -16
- package/dist/index20.mjs +82 -708
- package/dist/index200.mjs +2 -23
- package/dist/index201.mjs +2 -2
- package/dist/index202.mjs +2 -23
- package/dist/index203.mjs +23 -2
- package/dist/index204.mjs +2 -2
- package/dist/index205.mjs +23 -2
- package/dist/index206.mjs +2 -23
- package/dist/index207.mjs +2 -2
- package/dist/index208.mjs +2 -23
- package/dist/index209.mjs +23 -2
- package/dist/index21.mjs +718 -54
- package/dist/index210.mjs +2 -2
- package/dist/index211.mjs +23 -2
- package/dist/index212.mjs +2 -2
- package/dist/index213.mjs +2 -2
- package/dist/index215.mjs +2 -2
- package/dist/index216.mjs +2 -2
- package/dist/index217.mjs +2 -127
- package/dist/index218.mjs +2 -2
- package/dist/index219.mjs +2 -74
- package/dist/index22.mjs +263 -62
- package/dist/index220.mjs +123 -70
- package/dist/index221.mjs +2 -13
- package/dist/index222.mjs +74 -7
- package/dist/index223.mjs +73 -30
- package/dist/index224.mjs +30 -10
- package/dist/index225.mjs +10 -3
- package/dist/index226.mjs +3 -3
- package/dist/index227.mjs +3 -11
- package/dist/index228.mjs +13 -5
- package/dist/index229.mjs +7 -33
- package/dist/index23.mjs +44 -23
- package/dist/index230.mjs +11 -30
- package/dist/index231.mjs +5 -28
- package/dist/index232.mjs +33 -61
- package/dist/index233.mjs +31 -2
- package/dist/index234.mjs +28 -2
- package/dist/index235.mjs +61 -2
- package/dist/index236.mjs +2 -2
- package/dist/index237.mjs +108 -2
- package/dist/index238.mjs +2 -2
- package/dist/index239.mjs +2 -2
- package/dist/index24.mjs +55 -104
- package/dist/index240.mjs +2 -2
- package/dist/index241.mjs +2 -108
- package/dist/index242.mjs +2 -2
- package/dist/index244.mjs +2 -37
- package/dist/index245.mjs +2 -2
- package/dist/index246.mjs +2 -244
- package/dist/index247.mjs +37 -2
- package/dist/index248.mjs +2 -33
- package/dist/index249.mjs +2 -65
- package/dist/index25.mjs +62 -42
- package/dist/index250.mjs +243 -24
- package/dist/index251.mjs +2 -2
- package/dist/index252.mjs +33 -2
- package/dist/index253.mjs +65 -2
- package/dist/index254.mjs +25 -2
- package/dist/index255.mjs +2 -2
- package/dist/index256.mjs +2 -2
- package/dist/index257.mjs +2 -2
- package/dist/index259.mjs +2 -2
- package/dist/index26.mjs +22 -40
- package/dist/index260.mjs +2 -2
- package/dist/index261.mjs +2 -4
- package/dist/index262.mjs +2 -2
- package/dist/index263.mjs +2 -2
- package/dist/index264.mjs +4 -3
- package/dist/index265.mjs +2 -2
- package/dist/index266.mjs +2 -2
- package/dist/index267.mjs +3 -17
- package/dist/index268.mjs +2 -13
- package/dist/index269.mjs +2 -6
- package/dist/index27.mjs +107 -87
- package/dist/index270.mjs +17 -30
- package/dist/index271.mjs +13 -2
- package/dist/index272.mjs +6 -2
- package/dist/index273.mjs +29 -17
- package/dist/index274.mjs +2 -47
- package/dist/index275.mjs +2 -2
- package/dist/index276.mjs +18 -2
- package/dist/index277.mjs +47 -2
- package/dist/index278.mjs +2 -2
- package/dist/index279.mjs +2 -91
- package/dist/index28.mjs +42 -32
- package/dist/index280.mjs +2 -2
- package/dist/index282.mjs +91 -2
- package/dist/index283.mjs +2 -2
- package/dist/index284.mjs +5 -0
- package/dist/index285.mjs +5 -0
- package/dist/index286.mjs +5 -0
- package/dist/index29.mjs +42 -9
- package/dist/index3.mjs +7 -7
- package/dist/index30.mjs +84 -17
- package/dist/index31.mjs +29 -35
- package/dist/index32.mjs +8 -39
- package/dist/index33.mjs +21 -125
- package/dist/index34.mjs +35 -46
- package/dist/index35.mjs +38 -9
- package/dist/index36.mjs +121 -6
- package/dist/index37.mjs +49 -123
- package/dist/index38.mjs +11 -28
- package/dist/index39.mjs +11 -91
- package/dist/index4.mjs +34 -101
- package/dist/index40.mjs +121 -123
- package/dist/index41.mjs +28 -11
- package/dist/index42.mjs +91 -35
- package/dist/index43.mjs +116 -37
- package/dist/index44.mjs +9 -9
- package/dist/index45.mjs +33 -121
- package/dist/index46.mjs +42 -385
- package/dist/index47.mjs +10 -24
- package/dist/index48.mjs +122 -31
- package/dist/index49.mjs +388 -27
- package/dist/index5.mjs +92 -102
- package/dist/index50.mjs +24 -6
- package/dist/index51.mjs +30 -1431
- package/dist/index52.mjs +26 -68
- package/dist/index53.mjs +7 -2
- package/dist/index54.mjs +1425 -52
- package/dist/index55.mjs +69 -50
- package/dist/index56.mjs +2 -33
- package/dist/index57.mjs +59 -14
- package/dist/index58.mjs +47 -2259
- package/dist/index59.mjs +33 -36
- package/dist/index6.mjs +111 -15
- package/dist/index60.mjs +14 -43
- package/dist/index61.mjs +2256 -96
- package/dist/index62.mjs +36 -81
- package/dist/index63.mjs +43 -18
- package/dist/index64.mjs +102 -128
- package/dist/index65.mjs +45 -89
- package/dist/index66.mjs +15 -75
- package/dist/index67.mjs +84 -130
- package/dist/index68.mjs +84 -66
- package/dist/index69.mjs +69 -26
- package/dist/index7.mjs +15 -195
- package/dist/index70.mjs +138 -58
- package/dist/index71.mjs +82 -56
- package/dist/index72.mjs +28 -55
- package/dist/index73.mjs +79 -46
- package/dist/index74.mjs +58 -112
- package/dist/index75.mjs +47 -54
- package/dist/index76.mjs +60 -22
- package/dist/index77.mjs +135 -2
- package/dist/index78.mjs +68 -21
- package/dist/index79.mjs +4 -152
- package/dist/index8.mjs +136 -190
- package/dist/index80.mjs +23 -4
- package/dist/index81.mjs +2 -75
- package/dist/index82.mjs +153 -15
- package/dist/index83.mjs +21 -61
- package/dist/index84.mjs +69 -229
- package/dist/index85.mjs +15 -6
- package/dist/index86.mjs +55 -126
- package/dist/index87.mjs +33 -64
- package/dist/index88.mjs +40 -84
- package/dist/index89.mjs +229 -23
- package/dist/index9.mjs +240 -99
- package/dist/index90.mjs +5 -8
- package/dist/index91.mjs +125 -66
- package/dist/index92.mjs +67 -3
- package/dist/index93.mjs +87 -2
- package/dist/index94.mjs +24 -78
- package/dist/index95.mjs +7 -52
- package/dist/index96.mjs +74 -5
- package/dist/index97.mjs +3 -4
- package/dist/index98.mjs +2 -179
- package/dist/index99.mjs +79 -49
- package/dist/providers/StorefrontProvider.d.ts +3 -1
- package/dist/providers/StorefrontProvider.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/components/AssistantDrawer.stories.tsx +90 -0
- package/src/components/AssistantDrawer.tsx +426 -0
- package/src/components/ProductAssistantChips.stories.tsx +42 -0
- package/src/components/ProductAssistantChips.tsx +64 -0
- package/src/contexts/AssistantContext.tsx +62 -0
- package/src/index.ts +11 -0
- package/src/providers/StorefrontProvider.tsx +17 -2
package/dist/index210.mjs
CHANGED
package/dist/index211.mjs
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
import { __exports as r } from "./index262.mjs";
|
|
3
|
+
import { __require as s } from "./index130.mjs";
|
|
4
|
+
var a;
|
|
5
|
+
function _() {
|
|
6
|
+
return a ? r : (a = 1, function(t) {
|
|
7
|
+
Object.defineProperty(t, "__esModule", {
|
|
8
|
+
value: !0
|
|
9
|
+
}), Object.defineProperty(t, "addPathSuffix", {
|
|
10
|
+
enumerable: !0,
|
|
11
|
+
get: function() {
|
|
12
|
+
return n;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
const i = s();
|
|
16
|
+
function n(e, u) {
|
|
17
|
+
if (!e.startsWith("/") || !u)
|
|
18
|
+
return e;
|
|
19
|
+
const { pathname: f, query: d, hash: o } = (0, i.parsePath)(e);
|
|
20
|
+
return "" + f + u + d + o;
|
|
21
|
+
}
|
|
22
|
+
}(r), r);
|
|
23
|
+
}
|
|
3
24
|
export {
|
|
4
|
-
|
|
25
|
+
_ as __require
|
|
5
26
|
};
|
package/dist/index212.mjs
CHANGED
package/dist/index213.mjs
CHANGED
package/dist/index215.mjs
CHANGED
package/dist/index216.mjs
CHANGED
package/dist/index217.mjs
CHANGED
|
@@ -1,130 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
import S from "./index261.mjs";
|
|
4
|
-
var _;
|
|
5
|
-
function $() {
|
|
6
|
-
return _ ? b.exports : (_ = 1, (() => {
|
|
7
|
-
var O = { 154: (t, m, n) => {
|
|
8
|
-
var i = n(781), u = ["write", "end", "destroy"], f = ["resume", "pause"], l = ["data", "close"], c = Array.prototype.slice;
|
|
9
|
-
t.exports = s;
|
|
10
|
-
function r(o, a) {
|
|
11
|
-
if (o.forEach)
|
|
12
|
-
return o.forEach(a);
|
|
13
|
-
for (var e = 0; e < o.length; e++)
|
|
14
|
-
a(o[e], e);
|
|
15
|
-
}
|
|
16
|
-
function s(o, a) {
|
|
17
|
-
var e = new i(), d = !1;
|
|
18
|
-
return r(u, x), r(f, z), r(l, E), a.on("end", F), o.on("drain", function() {
|
|
19
|
-
e.emit("drain");
|
|
20
|
-
}), o.on("error", w), a.on("error", w), e.writable = o.writable, e.readable = a.readable, e;
|
|
21
|
-
function x(p) {
|
|
22
|
-
e[p] = h;
|
|
23
|
-
function h() {
|
|
24
|
-
return o[p].apply(o, arguments);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function z(p) {
|
|
28
|
-
e[p] = h;
|
|
29
|
-
function h() {
|
|
30
|
-
e.emit(p);
|
|
31
|
-
var y = a[p];
|
|
32
|
-
if (y)
|
|
33
|
-
return y.apply(a, arguments);
|
|
34
|
-
a.emit(p);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function E(p) {
|
|
38
|
-
a.on(p, h);
|
|
39
|
-
function h() {
|
|
40
|
-
var y = c.call(arguments);
|
|
41
|
-
y.unshift(p), e.emit.apply(e, y);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function F() {
|
|
45
|
-
if (!d) {
|
|
46
|
-
d = !0;
|
|
47
|
-
var p = c.call(arguments);
|
|
48
|
-
p.unshift("end"), e.emit.apply(e, p);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
function w(p) {
|
|
52
|
-
e.emit("error", p);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}, 349: (t, m, n) => {
|
|
56
|
-
const i = n(147), u = n(781), f = n(796), l = n(154), c = n(530), r = (s) => Object.assign({ level: 9 }, s);
|
|
57
|
-
t.exports = (s, o) => s ? c(f.gzip)(s, r(o)).then((a) => a.length).catch((a) => 0) : Promise.resolve(0), t.exports.sync = (s, o) => f.gzipSync(s, r(o)).length, t.exports.stream = (s) => {
|
|
58
|
-
const o = new u.PassThrough(), a = new u.PassThrough(), e = l(o, a);
|
|
59
|
-
let d = 0;
|
|
60
|
-
const x = f.createGzip(r(s)).on("data", (z) => {
|
|
61
|
-
d += z.length;
|
|
62
|
-
}).on("error", () => {
|
|
63
|
-
e.gzipSize = 0;
|
|
64
|
-
}).on("end", () => {
|
|
65
|
-
e.gzipSize = d, e.emit("gzip-size", d), a.end();
|
|
66
|
-
});
|
|
67
|
-
return o.pipe(x), o.pipe(a, { end: !1 }), e;
|
|
68
|
-
}, t.exports.file = (s, o) => new Promise((a, e) => {
|
|
69
|
-
const d = i.createReadStream(s);
|
|
70
|
-
d.on("error", e);
|
|
71
|
-
const x = d.pipe(t.exports.stream(o));
|
|
72
|
-
x.on("error", e), x.on("gzip-size", a);
|
|
73
|
-
}), t.exports.fileSync = (s, o) => t.exports.sync(i.readFileSync(s), o);
|
|
74
|
-
}, 530: (t) => {
|
|
75
|
-
const m = (n, i) => function(...u) {
|
|
76
|
-
const f = i.promiseModule;
|
|
77
|
-
return new f((l, c) => {
|
|
78
|
-
i.multiArgs ? u.push((...r) => {
|
|
79
|
-
i.errorFirst ? r[0] ? c(r) : (r.shift(), l(r)) : l(r);
|
|
80
|
-
}) : i.errorFirst ? u.push((r, s) => {
|
|
81
|
-
r ? c(r) : l(s);
|
|
82
|
-
}) : u.push(l), n.apply(this, u);
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
t.exports = (n, i) => {
|
|
86
|
-
i = Object.assign({ exclude: [/.+(Sync|Stream)$/], errorFirst: !0, promiseModule: Promise }, i);
|
|
87
|
-
const u = typeof n;
|
|
88
|
-
if (!(n !== null && (u === "object" || u === "function")))
|
|
89
|
-
throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${n === null ? "null" : u}\``);
|
|
90
|
-
const f = (c) => {
|
|
91
|
-
const r = (s) => typeof s == "string" ? c === s : s.test(c);
|
|
92
|
-
return i.include ? i.include.some(r) : !i.exclude.some(r);
|
|
93
|
-
};
|
|
94
|
-
let l;
|
|
95
|
-
u === "function" ? l = function(...c) {
|
|
96
|
-
return i.excludeMain ? n(...c) : m(n, i).apply(this, c);
|
|
97
|
-
} : l = Object.create(Object.getPrototypeOf(n));
|
|
98
|
-
for (const c in n) {
|
|
99
|
-
const r = n[c];
|
|
100
|
-
l[c] = typeof r == "function" && f(c) ? m(r, i) : r;
|
|
101
|
-
}
|
|
102
|
-
return l;
|
|
103
|
-
};
|
|
104
|
-
}, 147: (t) => {
|
|
105
|
-
t.exports = S;
|
|
106
|
-
}, 781: (t) => {
|
|
107
|
-
t.exports = S;
|
|
108
|
-
}, 796: (t) => {
|
|
109
|
-
t.exports = S;
|
|
110
|
-
} }, v = {};
|
|
111
|
-
function g(t) {
|
|
112
|
-
var m = v[t];
|
|
113
|
-
if (m !== void 0)
|
|
114
|
-
return m.exports;
|
|
115
|
-
var n = v[t] = { exports: {} }, i = !0;
|
|
116
|
-
try {
|
|
117
|
-
O[t](n, n.exports, g), i = !1;
|
|
118
|
-
} finally {
|
|
119
|
-
i && delete v[t];
|
|
120
|
-
}
|
|
121
|
-
return n.exports;
|
|
122
|
-
}
|
|
123
|
-
typeof g < "u" && (g.ab = __dirname + "/");
|
|
124
|
-
var j = g(349);
|
|
125
|
-
b.exports = j;
|
|
126
|
-
})(), b.exports);
|
|
127
|
-
}
|
|
2
|
+
var o = {};
|
|
128
3
|
export {
|
|
129
|
-
|
|
4
|
+
o as __exports
|
|
130
5
|
};
|
package/dist/index218.mjs
CHANGED
package/dist/index219.mjs
CHANGED
|
@@ -1,77 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @license React
|
|
5
|
-
* react-is.production.js
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the MIT license found in the
|
|
10
|
-
* LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/
|
|
12
|
-
var R;
|
|
13
|
-
function d() {
|
|
14
|
-
if (R) return e;
|
|
15
|
-
R = 1;
|
|
16
|
-
var l = Symbol.for("react.transitional.element"), T = Symbol.for("react.portal"), n = Symbol.for("react.fragment"), o = Symbol.for("react.strict_mode"), f = Symbol.for("react.profiler"), s = Symbol.for("react.consumer"), i = Symbol.for("react.context"), u = Symbol.for("react.forward_ref"), a = Symbol.for("react.suspense"), E = Symbol.for("react.suspense_list"), c = Symbol.for("react.memo"), _ = Symbol.for("react.lazy"), S = Symbol.for("react.offscreen"), C = Symbol.for("react.client.reference");
|
|
17
|
-
function t(r) {
|
|
18
|
-
if (typeof r == "object" && r !== null) {
|
|
19
|
-
var m = r.$$typeof;
|
|
20
|
-
switch (m) {
|
|
21
|
-
case l:
|
|
22
|
-
switch (r = r.type, r) {
|
|
23
|
-
case n:
|
|
24
|
-
case f:
|
|
25
|
-
case o:
|
|
26
|
-
case a:
|
|
27
|
-
case E:
|
|
28
|
-
return r;
|
|
29
|
-
default:
|
|
30
|
-
switch (r = r && r.$$typeof, r) {
|
|
31
|
-
case i:
|
|
32
|
-
case u:
|
|
33
|
-
case _:
|
|
34
|
-
case c:
|
|
35
|
-
return r;
|
|
36
|
-
case s:
|
|
37
|
-
return r;
|
|
38
|
-
default:
|
|
39
|
-
return m;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
case T:
|
|
43
|
-
return m;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return e.ContextConsumer = s, e.ContextProvider = i, e.Element = l, e.ForwardRef = u, e.Fragment = n, e.Lazy = _, e.Memo = c, e.Portal = T, e.Profiler = f, e.StrictMode = o, e.Suspense = a, e.SuspenseList = E, e.isContextConsumer = function(r) {
|
|
48
|
-
return t(r) === s;
|
|
49
|
-
}, e.isContextProvider = function(r) {
|
|
50
|
-
return t(r) === i;
|
|
51
|
-
}, e.isElement = function(r) {
|
|
52
|
-
return typeof r == "object" && r !== null && r.$$typeof === l;
|
|
53
|
-
}, e.isForwardRef = function(r) {
|
|
54
|
-
return t(r) === u;
|
|
55
|
-
}, e.isFragment = function(r) {
|
|
56
|
-
return t(r) === n;
|
|
57
|
-
}, e.isLazy = function(r) {
|
|
58
|
-
return t(r) === _;
|
|
59
|
-
}, e.isMemo = function(r) {
|
|
60
|
-
return t(r) === c;
|
|
61
|
-
}, e.isPortal = function(r) {
|
|
62
|
-
return t(r) === T;
|
|
63
|
-
}, e.isProfiler = function(r) {
|
|
64
|
-
return t(r) === f;
|
|
65
|
-
}, e.isStrictMode = function(r) {
|
|
66
|
-
return t(r) === o;
|
|
67
|
-
}, e.isSuspense = function(r) {
|
|
68
|
-
return t(r) === a;
|
|
69
|
-
}, e.isSuspenseList = function(r) {
|
|
70
|
-
return t(r) === E;
|
|
71
|
-
}, e.isValidElementType = function(r) {
|
|
72
|
-
return typeof r == "string" || typeof r == "function" || r === n || r === f || r === o || r === a || r === E || r === S || typeof r == "object" && r !== null && (r.$$typeof === _ || r.$$typeof === c || r.$$typeof === i || r.$$typeof === s || r.$$typeof === u || r.$$typeof === C || r.getModuleId !== void 0);
|
|
73
|
-
}, e.typeOf = t, e;
|
|
74
|
-
}
|
|
2
|
+
var o = {};
|
|
75
3
|
export {
|
|
76
|
-
|
|
4
|
+
o as __exports
|
|
77
5
|
};
|
package/dist/index22.mjs
CHANGED
|
@@ -1,65 +1,266 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
))
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
));
|
|
57
|
-
|
|
2
|
+
import { jsxs as l, jsx as r } from "react/jsx-runtime";
|
|
3
|
+
import { useState as m, useRef as b, useCallback as V, useEffect as N } from "react";
|
|
4
|
+
import { createPortal as O } from "react-dom";
|
|
5
|
+
import { Sparkles as Q, X as ee, Loader2 as te, Send as re } from "lucide-react";
|
|
6
|
+
import { cn as k, formatCurrency as se } from "./index30.mjs";
|
|
7
|
+
import { useHideBodyOverflow as ne } from "./index53.mjs";
|
|
8
|
+
function me({
|
|
9
|
+
isOpen: c,
|
|
10
|
+
onClose: y,
|
|
11
|
+
apiUrl: T,
|
|
12
|
+
brandSlug: C,
|
|
13
|
+
productSlug: I,
|
|
14
|
+
initialQuestion: x,
|
|
15
|
+
assistantName: $ = "AI Assistant",
|
|
16
|
+
className: X,
|
|
17
|
+
disablePortal: G = !1
|
|
18
|
+
}) {
|
|
19
|
+
const [u, d] = m([]), [w, S] = m(""), [f, D] = m(!1), [J, h] = m(null), [L, P] = m(!1), [K, W] = m(!1), q = b(null), F = b(null), E = b(!1), M = b([]);
|
|
20
|
+
M.current = u, ne(c);
|
|
21
|
+
const z = V((e, a) => {
|
|
22
|
+
if (e === "token")
|
|
23
|
+
d((s) => {
|
|
24
|
+
const o = [...s], t = o[o.length - 1];
|
|
25
|
+
return (t == null ? void 0 : t.role) === "assistant" && (o[o.length - 1] = { ...t, content: t.content + a }), o;
|
|
26
|
+
});
|
|
27
|
+
else if (e === "done")
|
|
28
|
+
try {
|
|
29
|
+
const s = JSON.parse(a);
|
|
30
|
+
d((o) => {
|
|
31
|
+
var i;
|
|
32
|
+
const t = [...o], n = t[t.length - 1];
|
|
33
|
+
return (n == null ? void 0 : n.role) === "assistant" && (t[t.length - 1] = {
|
|
34
|
+
...n,
|
|
35
|
+
content: s.answer || n.content,
|
|
36
|
+
products: ((i = s.products) == null ? void 0 : i.length) > 0 ? s.products : void 0
|
|
37
|
+
}), t;
|
|
38
|
+
});
|
|
39
|
+
} catch {
|
|
40
|
+
}
|
|
41
|
+
else if (e === "error")
|
|
42
|
+
try {
|
|
43
|
+
const s = JSON.parse(a);
|
|
44
|
+
h(s.message || "An error occurred");
|
|
45
|
+
} catch {
|
|
46
|
+
h("An error occurred");
|
|
47
|
+
}
|
|
48
|
+
}, []), v = b(), B = V(
|
|
49
|
+
async (e) => {
|
|
50
|
+
var o;
|
|
51
|
+
if (!e.trim()) return;
|
|
52
|
+
h(null);
|
|
53
|
+
const a = { role: "user", content: e }, s = M.current.map((t) => ({
|
|
54
|
+
role: t.role,
|
|
55
|
+
content: t.content
|
|
56
|
+
}));
|
|
57
|
+
d((t) => [...t, a]), S(""), D(!0), d((t) => [...t, { role: "assistant", content: "" }]);
|
|
58
|
+
try {
|
|
59
|
+
const t = await fetch(`${T}/v1/assistant/ask`, {
|
|
60
|
+
method: "POST",
|
|
61
|
+
headers: { "Content-Type": "application/json" },
|
|
62
|
+
body: JSON.stringify({
|
|
63
|
+
question: e,
|
|
64
|
+
brandSlug: C,
|
|
65
|
+
productSlug: I,
|
|
66
|
+
history: s
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
if (!t.ok) {
|
|
70
|
+
const g = await t.json().catch(() => ({}));
|
|
71
|
+
throw new Error(
|
|
72
|
+
((o = g == null ? void 0 : g.error) == null ? void 0 : o.message) || `Request failed (${t.status})`
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
if (!t.body) throw new Error("No response body");
|
|
76
|
+
const n = t.body.getReader(), i = new TextDecoder();
|
|
77
|
+
let A = "", j = "";
|
|
78
|
+
for (; ; ) {
|
|
79
|
+
const { done: g, value: Z } = await n.read();
|
|
80
|
+
if (g) break;
|
|
81
|
+
A += i.decode(Z, { stream: !0 });
|
|
82
|
+
const U = A.split(`
|
|
83
|
+
`);
|
|
84
|
+
A = U.pop() || "";
|
|
85
|
+
for (const p of U) {
|
|
86
|
+
if (p.trim() === "") {
|
|
87
|
+
j = "";
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (p.trimStart().startsWith("event:"))
|
|
91
|
+
j = p.trimStart().slice(6).trim();
|
|
92
|
+
else if (p.trimStart().startsWith("data:")) {
|
|
93
|
+
const R = p.trimStart().slice(5), _ = R.startsWith(" ") ? R.slice(1) : R;
|
|
94
|
+
z(j || "token", _);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
} catch (t) {
|
|
99
|
+
h(t.message || "Something went wrong"), d((n) => {
|
|
100
|
+
const i = n[n.length - 1];
|
|
101
|
+
return (i == null ? void 0 : i.role) === "assistant" && !i.content ? n.slice(0, -1) : n;
|
|
102
|
+
});
|
|
103
|
+
} finally {
|
|
104
|
+
D(!1);
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
[T, C, I, z]
|
|
108
|
+
);
|
|
109
|
+
v.current = B, N(() => {
|
|
110
|
+
if (c)
|
|
111
|
+
W(!0), requestAnimationFrame(() => {
|
|
112
|
+
requestAnimationFrame(() => {
|
|
113
|
+
P(!0);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
else {
|
|
117
|
+
P(!1);
|
|
118
|
+
const e = setTimeout(() => {
|
|
119
|
+
W(!1), d([]), S(""), h(null), E.current = !1;
|
|
120
|
+
}, 300);
|
|
121
|
+
return () => clearTimeout(e);
|
|
122
|
+
}
|
|
123
|
+
}, [c]), N(() => {
|
|
124
|
+
c && x && !E.current && (E.current = !0, x.trim() ? setTimeout(() => {
|
|
125
|
+
var e;
|
|
126
|
+
return (e = v.current) == null ? void 0 : e.call(v, x);
|
|
127
|
+
}, 100) : setTimeout(() => {
|
|
128
|
+
var e;
|
|
129
|
+
return (e = F.current) == null ? void 0 : e.focus();
|
|
130
|
+
}, 350));
|
|
131
|
+
}, [c, x]), N(() => {
|
|
132
|
+
var e;
|
|
133
|
+
(e = q.current) == null || e.scrollIntoView({ behavior: "smooth" });
|
|
134
|
+
}, [u]), N(() => {
|
|
135
|
+
const e = (a) => {
|
|
136
|
+
a.key === "Escape" && c && y();
|
|
137
|
+
};
|
|
138
|
+
if (c)
|
|
139
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
140
|
+
}, [c, y]);
|
|
141
|
+
const Y = (e) => {
|
|
142
|
+
e.preventDefault(), w.trim() && B(w.trim());
|
|
143
|
+
};
|
|
144
|
+
if (!K) return null;
|
|
145
|
+
const H = /* @__PURE__ */ l(
|
|
146
|
+
"div",
|
|
147
|
+
{
|
|
148
|
+
className: k(
|
|
149
|
+
"fixed inset-0 z-50 transition-opacity duration-300",
|
|
150
|
+
L ? "opacity-100" : "opacity-0"
|
|
151
|
+
),
|
|
152
|
+
children: [
|
|
153
|
+
/* @__PURE__ */ r(
|
|
154
|
+
"div",
|
|
155
|
+
{
|
|
156
|
+
className: "absolute inset-0 bg-black/40 backdrop-blur-sm",
|
|
157
|
+
onClick: y
|
|
158
|
+
}
|
|
159
|
+
),
|
|
160
|
+
/* @__PURE__ */ l(
|
|
161
|
+
"div",
|
|
162
|
+
{
|
|
163
|
+
className: k(
|
|
164
|
+
"absolute bg-white flex flex-col transition-transform duration-300 ease-out",
|
|
165
|
+
// Mobile: bottom sheet
|
|
166
|
+
"inset-x-0 bottom-0 top-[10vh] rounded-t-2xl",
|
|
167
|
+
// Desktop: right side drawer
|
|
168
|
+
"sm:inset-y-0 sm:right-0 sm:left-auto sm:w-[420px] sm:max-w-full sm:rounded-t-none sm:rounded-l-2xl",
|
|
169
|
+
// Animation
|
|
170
|
+
L ? "translate-y-0 sm:translate-x-0" : "translate-y-full sm:translate-y-0 sm:translate-x-full",
|
|
171
|
+
X
|
|
172
|
+
),
|
|
173
|
+
children: [
|
|
174
|
+
/* @__PURE__ */ l("div", { className: "flex items-center justify-between border-b border-gray-200 px-4 py-3 flex-shrink-0", children: [
|
|
175
|
+
/* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
|
|
176
|
+
/* @__PURE__ */ r(Q, { className: "h-5 w-5 text-orange-500" }),
|
|
177
|
+
/* @__PURE__ */ r("span", { className: "font-semibold text-gray-900", children: $ }),
|
|
178
|
+
/* @__PURE__ */ r("span", { className: "text-xs text-gray-400 bg-gray-100 rounded px-1.5 py-0.5", children: "beta" })
|
|
179
|
+
] }),
|
|
180
|
+
/* @__PURE__ */ r(
|
|
181
|
+
"button",
|
|
182
|
+
{
|
|
183
|
+
type: "button",
|
|
184
|
+
onClick: y,
|
|
185
|
+
className: "p-2 text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded-lg transition-colors",
|
|
186
|
+
"aria-label": "Close",
|
|
187
|
+
children: /* @__PURE__ */ r(ee, { className: "h-5 w-5" })
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
] }),
|
|
191
|
+
/* @__PURE__ */ l("div", { className: "flex-1 overflow-y-auto p-4 space-y-4 min-h-0", children: [
|
|
192
|
+
u.length === 0 && !f && /* @__PURE__ */ r("div", { className: "text-center text-gray-400 text-sm py-8", children: "Ask me anything about our products!" }),
|
|
193
|
+
u.map((e, a) => /* @__PURE__ */ r("div", { children: e.role === "user" ? /* @__PURE__ */ r("div", { className: "flex justify-end", children: /* @__PURE__ */ r("div", { className: "bg-gray-800 text-white rounded-2xl rounded-br-sm px-4 py-2 max-w-[80%] text-sm", children: e.content }) }) : /* @__PURE__ */ l("div", { className: "space-y-3", children: [
|
|
194
|
+
/* @__PURE__ */ l("div", { className: "text-sm text-gray-800 leading-relaxed whitespace-pre-wrap", children: [
|
|
195
|
+
e.content,
|
|
196
|
+
f && a === u.length - 1 && /* @__PURE__ */ r("span", { className: "inline-block w-1.5 h-4 bg-gray-400 animate-pulse ml-0.5 align-text-bottom" })
|
|
197
|
+
] }),
|
|
198
|
+
e.products && e.products.length > 0 && /* @__PURE__ */ r("div", { className: "space-y-2", children: e.products.map((s) => /* @__PURE__ */ l(
|
|
199
|
+
"a",
|
|
200
|
+
{
|
|
201
|
+
href: `/product/${s.slug}`,
|
|
202
|
+
className: "flex items-center gap-3 w-full rounded-xl border border-gray-200 p-2 hover:bg-gray-50 transition-colors text-left no-underline",
|
|
203
|
+
children: [
|
|
204
|
+
s.thumbnailUrl ? /* @__PURE__ */ r(
|
|
205
|
+
"img",
|
|
206
|
+
{
|
|
207
|
+
src: s.thumbnailUrl,
|
|
208
|
+
alt: s.name,
|
|
209
|
+
className: "h-16 w-16 rounded-lg object-cover flex-shrink-0"
|
|
210
|
+
}
|
|
211
|
+
) : /* @__PURE__ */ r("div", { className: "h-16 w-16 rounded-lg bg-gray-100 flex-shrink-0" }),
|
|
212
|
+
/* @__PURE__ */ l("div", { className: "min-w-0", children: [
|
|
213
|
+
/* @__PURE__ */ r("p", { className: "text-sm font-medium text-gray-900 line-clamp-2", children: s.name }),
|
|
214
|
+
/* @__PURE__ */ r("p", { className: "text-sm font-semibold text-blue-600", children: se(s.price) })
|
|
215
|
+
] })
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
s.slug
|
|
219
|
+
)) })
|
|
220
|
+
] }) }, a)),
|
|
221
|
+
J && /* @__PURE__ */ r("div", { className: "rounded-lg bg-red-50 border border-red-200 p-3 text-sm text-red-700", children: J }),
|
|
222
|
+
/* @__PURE__ */ r("div", { ref: q })
|
|
223
|
+
] }),
|
|
224
|
+
/* @__PURE__ */ r("div", { className: "border-t border-gray-200 p-3 flex-shrink-0", children: /* @__PURE__ */ l("form", { onSubmit: Y, className: "flex items-center gap-2", children: [
|
|
225
|
+
/* @__PURE__ */ r(
|
|
226
|
+
"input",
|
|
227
|
+
{
|
|
228
|
+
ref: F,
|
|
229
|
+
type: "text",
|
|
230
|
+
value: w,
|
|
231
|
+
onChange: (e) => S(e.target.value),
|
|
232
|
+
placeholder: `Ask ${$} a question`,
|
|
233
|
+
disabled: f,
|
|
234
|
+
className: k(
|
|
235
|
+
"flex-1 rounded-full border border-gray-300 px-4 py-2.5 text-sm",
|
|
236
|
+
"focus:border-blue-400 focus:outline-none focus:ring-2 focus:ring-blue-400/30",
|
|
237
|
+
"disabled:opacity-50"
|
|
238
|
+
)
|
|
239
|
+
}
|
|
240
|
+
),
|
|
241
|
+
/* @__PURE__ */ r(
|
|
242
|
+
"button",
|
|
243
|
+
{
|
|
244
|
+
type: "submit",
|
|
245
|
+
disabled: !w.trim() || f,
|
|
246
|
+
className: k(
|
|
247
|
+
"flex h-10 w-10 items-center justify-center rounded-full",
|
|
248
|
+
"bg-gray-800 text-white",
|
|
249
|
+
"hover:bg-gray-700 transition-colors",
|
|
250
|
+
"disabled:opacity-40 disabled:cursor-not-allowed"
|
|
251
|
+
),
|
|
252
|
+
children: f ? /* @__PURE__ */ r(te, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ r(re, { className: "h-4 w-4" })
|
|
253
|
+
}
|
|
254
|
+
)
|
|
255
|
+
] }) })
|
|
256
|
+
]
|
|
257
|
+
}
|
|
258
|
+
)
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
);
|
|
262
|
+
return G ? H : O(H, document.body);
|
|
263
|
+
}
|
|
58
264
|
export {
|
|
59
|
-
|
|
60
|
-
m as CardContent,
|
|
61
|
-
l as CardDescription,
|
|
62
|
-
n as CardFooter,
|
|
63
|
-
i as CardHeader,
|
|
64
|
-
c as CardTitle
|
|
265
|
+
me as AssistantDrawer
|
|
65
266
|
};
|