@instockng/storefront-ui 1.0.18 → 1.0.20
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/OrderConfirmation.d.ts +1 -1
- package/dist/components/OrderConfirmation.d.ts.map +1 -1
- package/dist/components/ShoppingCart.d.ts.map +1 -1
- package/dist/contexts/CartContext.d.ts +2 -2
- package/dist/contexts/CartContext.d.ts.map +1 -1
- package/dist/fetchers.d.ts +19 -0
- package/dist/fetchers.d.ts.map +1 -0
- package/dist/hooks/usePageTracking.d.ts +40 -0
- package/dist/hooks/usePageTracking.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +101 -92
- package/dist/index10.mjs +149 -624
- package/dist/index100.mjs +22 -33
- package/dist/index101.mjs +22 -30
- package/dist/index102.mjs +32 -27
- package/dist/index103.mjs +152 -57
- package/dist/index104.mjs +20 -3
- package/dist/index105.mjs +31 -2
- package/dist/index106.mjs +84 -2
- package/dist/index107.mjs +37 -16
- package/dist/index108.mjs +144 -12
- package/dist/index109.mjs +55 -6
- package/dist/index11.mjs +94 -56
- package/dist/index110.mjs +23 -30
- package/dist/index111.mjs +30 -0
- package/dist/index112.mjs +26 -0
- package/dist/index113.mjs +28 -0
- package/dist/index114.mjs +24 -0
- package/dist/index115.mjs +25 -0
- package/dist/index116.mjs +24 -0
- package/dist/index117.mjs +68 -0
- package/dist/index118.mjs +21 -0
- package/dist/index119.mjs +42 -0
- package/dist/index12.mjs +645 -62
- package/dist/index120.mjs +27 -0
- package/dist/index121.mjs +37 -0
- package/dist/index122.mjs +30 -0
- package/dist/index123.mjs +22 -0
- package/dist/index124.mjs +24 -0
- package/dist/index125.mjs +50 -0
- package/dist/index126.mjs +26 -0
- package/dist/index127.mjs +271 -0
- package/dist/index128.mjs +73 -0
- package/dist/index129.mjs +11 -0
- package/dist/index13.mjs +50 -14
- package/dist/index130.mjs +5 -0
- package/dist/index131.mjs +5 -0
- package/dist/index132.mjs +36 -0
- package/dist/index133.mjs +5 -0
- package/dist/index134.mjs +24 -0
- package/dist/index135.mjs +59 -0
- package/dist/index136.mjs +32 -0
- package/dist/index137.mjs +10 -0
- package/dist/index138.mjs +55 -0
- package/dist/index139.mjs +9 -0
- package/dist/index14.mjs +62 -115
- package/dist/index140.mjs +15 -0
- package/dist/index141.mjs +10 -0
- package/dist/index142.mjs +31 -0
- package/dist/index143.mjs +5 -0
- package/dist/index144.mjs +73 -0
- package/dist/index145.mjs +170 -0
- package/dist/index146.mjs +5 -0
- package/dist/index147.mjs +5 -0
- package/dist/index148.mjs +5 -0
- package/dist/index149.mjs +5 -0
- package/dist/index15.mjs +23 -41
- package/dist/index150.mjs +21 -0
- package/dist/index151.mjs +35 -0
- package/dist/index152.mjs +41 -0
- package/dist/index153.mjs +21 -0
- package/dist/index154.mjs +21 -0
- package/dist/index155.mjs +5 -0
- package/dist/index156.mjs +23 -0
- package/dist/index157.mjs +49 -0
- package/dist/index158.mjs +5 -0
- package/dist/index159.mjs +33 -0
- package/dist/index16.mjs +115 -42
- package/dist/index160.mjs +21 -0
- package/dist/index161.mjs +5 -0
- package/dist/index162.mjs +5 -0
- package/dist/index163.mjs +5 -0
- package/dist/index164.mjs +5 -0
- package/dist/index165.mjs +75 -0
- package/dist/index166.mjs +5 -0
- package/dist/index167.mjs +56 -0
- package/dist/index168.mjs +5 -0
- package/dist/index169.mjs +39 -0
- package/dist/index17.mjs +42 -42
- package/dist/index170.mjs +155 -0
- package/dist/index171.mjs +5 -0
- package/dist/index172.mjs +5 -0
- package/dist/index173.mjs +22 -0
- package/dist/index174.mjs +5 -0
- package/dist/index175.mjs +5 -0
- package/dist/index176.mjs +29 -0
- package/dist/index177.mjs +5 -0
- package/dist/index178.mjs +5 -0
- package/dist/index179.mjs +27 -0
- package/dist/index18.mjs +41 -31
- package/dist/index180.mjs +26 -0
- package/dist/index181.mjs +5 -0
- package/dist/index182.mjs +5 -0
- package/dist/index183.mjs +5 -0
- package/dist/index184.mjs +26 -0
- package/dist/index185.mjs +5 -0
- package/dist/index186.mjs +26 -0
- package/dist/index187.mjs +5 -0
- package/dist/index188.mjs +5 -0
- package/dist/index189.mjs +5 -0
- package/dist/index19.mjs +40 -7
- package/dist/index190.mjs +26 -0
- package/dist/index191.mjs +5 -0
- package/dist/index192.mjs +26 -0
- package/dist/index193.mjs +5 -0
- package/dist/index194.mjs +5 -0
- package/dist/index195.mjs +5 -0
- package/dist/index196.mjs +5 -0
- package/dist/index197.mjs +5 -0
- package/dist/index198.mjs +5 -0
- package/dist/index199.mjs +5 -0
- package/dist/index2.mjs +31 -12
- package/dist/index20.mjs +27 -17
- package/dist/index200.mjs +5 -0
- package/dist/index201.mjs +130 -0
- package/dist/index202.mjs +5 -0
- package/dist/index203.mjs +77 -0
- package/dist/index204.mjs +77 -0
- package/dist/index205.mjs +5 -0
- package/dist/index206.mjs +111 -0
- package/dist/index207.mjs +5 -0
- package/dist/index208.mjs +5 -0
- package/dist/index209.mjs +5 -0
- package/dist/index21.mjs +6 -29
- package/dist/index210.mjs +5 -0
- package/dist/index211.mjs +5 -0
- package/dist/index212.mjs +5 -0
- package/dist/index213.mjs +5 -0
- package/dist/index214.mjs +5 -0
- package/dist/index215.mjs +5 -0
- package/dist/index216.mjs +40 -0
- package/dist/index217.mjs +5 -0
- package/dist/index218.mjs +5 -0
- package/dist/index219.mjs +247 -0
- package/dist/index22.mjs +20 -18
- package/dist/index220.mjs +5 -0
- package/dist/index221.mjs +36 -0
- package/dist/index222.mjs +68 -0
- package/dist/index223.mjs +28 -0
- package/dist/index224.mjs +5 -0
- package/dist/index225.mjs +5 -0
- package/dist/index226.mjs +5 -0
- package/dist/index227.mjs +5 -0
- package/dist/index228.mjs +5 -0
- package/dist/index229.mjs +5 -0
- package/dist/index23.mjs +32 -87
- package/dist/index230.mjs +5 -0
- package/dist/index231.mjs +5 -0
- package/dist/index232.mjs +5 -0
- package/dist/index233.mjs +7 -0
- package/dist/index234.mjs +34 -0
- package/dist/index235.mjs +14 -0
- package/dist/index236.mjs +7 -0
- package/dist/index237.mjs +7 -0
- package/dist/index238.mjs +16 -0
- package/dist/index239.mjs +10 -0
- package/dist/index24.mjs +12 -12
- package/dist/index240.mjs +15 -0
- package/dist/index241.mjs +8 -0
- package/dist/index242.mjs +36 -0
- package/dist/index243.mjs +34 -0
- package/dist/index244.mjs +31 -0
- package/dist/index245.mjs +64 -0
- package/dist/index246.mjs +5 -0
- package/dist/index247.mjs +5 -0
- package/dist/index248.mjs +5 -0
- package/dist/index249.mjs +5 -0
- package/dist/index25.mjs +85 -8
- package/dist/index250.mjs +21 -0
- package/dist/index251.mjs +50 -0
- package/dist/index252.mjs +5 -0
- package/dist/index253.mjs +5 -0
- package/dist/index254.mjs +5 -0
- package/dist/index255.mjs +5 -0
- package/dist/index256.mjs +94 -0
- package/dist/index257.mjs +5 -0
- package/dist/index258.mjs +6 -0
- package/dist/index259.mjs +5 -0
- package/dist/index26.mjs +20 -97
- package/dist/index260.mjs +5 -0
- package/dist/index261.mjs +20 -0
- package/dist/index262.mjs +16 -0
- package/dist/index263.mjs +9 -0
- package/dist/index264.mjs +33 -0
- package/dist/index265.mjs +5 -0
- package/dist/index266.mjs +5 -0
- package/dist/index267.mjs +5 -0
- package/dist/index27.mjs +11 -18
- package/dist/index28.mjs +11 -65
- package/dist/index29.mjs +94 -89
- package/dist/index3.mjs +117 -97
- package/dist/index30.mjs +20 -19
- package/dist/index31.mjs +65 -19
- package/dist/index32.mjs +93 -8
- package/dist/index33.mjs +18 -1432
- package/dist/index34.mjs +19 -2
- package/dist/index35.mjs +10 -56
- package/dist/index36.mjs +9 -49
- package/dist/index37.mjs +103 -33
- package/dist/index38.mjs +24 -14
- package/dist/index39.mjs +1411 -2241
- package/dist/index4.mjs +83 -197
- package/dist/index40.mjs +2 -36
- package/dist/index41.mjs +56 -43
- package/dist/index42.mjs +50 -98
- package/dist/index43.mjs +33 -97
- package/dist/index44.mjs +13 -79
- package/dist/index45.mjs +2255 -69
- package/dist/index46.mjs +36 -95
- package/dist/index47.mjs +43 -80
- package/dist/index48.mjs +99 -79
- package/dist/index49.mjs +93 -15
- package/dist/index5.mjs +15 -108
- package/dist/index50.mjs +77 -14
- package/dist/index51.mjs +58 -44
- package/dist/index52.mjs +63 -93
- package/dist/index53.mjs +51 -99
- package/dist/index54.mjs +78 -4
- package/dist/index55.mjs +18 -22
- package/dist/index56.mjs +17 -74
- package/dist/index57.mjs +63 -15
- package/dist/index58.mjs +121 -59
- package/dist/index59.mjs +129 -34
- package/dist/index6.mjs +190 -73
- package/dist/index60.mjs +22 -41
- package/dist/index61.mjs +2 -235
- package/dist/index62.mjs +152 -5
- package/dist/index63.mjs +21 -132
- package/dist/index64.mjs +73 -66
- package/dist/index65.mjs +14 -86
- package/dist/index66.mjs +59 -25
- package/dist/index67.mjs +4 -8
- package/dist/index68.mjs +2 -75
- package/dist/index69.mjs +5 -3
- package/dist/index7.mjs +97 -85
- package/dist/index70.mjs +1134 -2
- package/dist/index71.mjs +19 -82
- package/dist/index72.mjs +54 -53
- package/dist/index73.mjs +32 -5
- package/dist/index74.mjs +2 -5
- package/dist/index75.mjs +223 -167
- package/dist/index76.mjs +6 -53
- package/dist/index77.mjs +133 -68
- package/dist/index78.mjs +67 -3
- package/dist/index79.mjs +87 -2
- package/dist/index8.mjs +78 -162
- package/dist/index80.mjs +25 -17
- package/dist/index81.mjs +8 -55
- package/dist/index82.mjs +74 -28
- package/dist/index83.mjs +3 -6
- package/dist/index84.mjs +2 -52
- package/dist/index85.mjs +83 -6
- package/dist/index86.mjs +53 -11
- package/dist/index87.mjs +6 -7
- package/dist/index88.mjs +5 -28
- package/dist/index89.mjs +179 -2
- package/dist/index9.mjs +90 -90
- package/dist/index90.mjs +49 -66
- package/dist/index91.mjs +68 -166
- package/dist/index92.mjs +34 -31
- package/dist/index93.mjs +42 -10
- package/dist/index94.mjs +2 -4
- package/dist/index95.mjs +2 -4
- package/dist/index96.mjs +28 -13
- package/dist/index97.mjs +18 -7
- package/dist/index98.mjs +214 -11
- package/dist/index99.mjs +179 -4
- package/dist/providers/MetaPixelProvider.d.ts +98 -0
- package/dist/providers/MetaPixelProvider.d.ts.map +1 -0
- package/dist/providers/StorefrontProvider.d.ts +1 -0
- package/dist/providers/StorefrontProvider.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -4
- package/src/components/OrderConfirmation.tsx +0 -2
- package/src/components/ShoppingCart.tsx +12 -1
- package/src/contexts/CartContext.tsx +30 -5
- package/src/fetchers.ts +33 -0
- package/src/hooks/usePageTracking.ts +72 -0
- package/src/index.ts +5 -0
- package/src/providers/MetaPixelProvider.tsx +239 -0
- package/src/providers/StorefrontProvider.tsx +29 -3
package/dist/index64.mjs
CHANGED
|
@@ -1,71 +1,78 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function
|
|
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
|
-
|
|
2
|
+
function c(e) {
|
|
3
|
+
this._maxSize = e, this.clear();
|
|
4
|
+
}
|
|
5
|
+
c.prototype.clear = function() {
|
|
6
|
+
this._size = 0, this._values = /* @__PURE__ */ Object.create(null);
|
|
7
|
+
};
|
|
8
|
+
c.prototype.get = function(e) {
|
|
9
|
+
return this._values[e];
|
|
10
|
+
};
|
|
11
|
+
c.prototype.set = function(e, t) {
|
|
12
|
+
return this._size >= this._maxSize && this.clear(), e in this._values || this._size++, this._values[e] = t;
|
|
13
|
+
};
|
|
14
|
+
var d = /[^.^\]^[]+|(?=\[\]|\.\.)/g, C = /^\d+$/, m = /^\d/, A = /[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g, x = /^\s*(['"]?)(.*?)(\1)\s*$/, h = 512, E = new c(h), v = new c(h), g = new c(h), I = {
|
|
15
|
+
Cache: c,
|
|
16
|
+
split: l,
|
|
17
|
+
normalizePath: f,
|
|
18
|
+
setter: function(e) {
|
|
19
|
+
var t = f(e);
|
|
20
|
+
return v.get(e) || v.set(e, function(s, n) {
|
|
21
|
+
for (var r = 0, o = t.length, u = s; r < o - 1; ) {
|
|
22
|
+
var a = t[r];
|
|
23
|
+
if (a === "__proto__" || a === "constructor" || a === "prototype")
|
|
24
|
+
return s;
|
|
25
|
+
u = u[t[r++]];
|
|
26
|
+
}
|
|
27
|
+
u[t[r]] = n;
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
getter: function(e, t) {
|
|
31
|
+
var i = f(e);
|
|
32
|
+
return g.get(e) || g.set(e, function(n) {
|
|
33
|
+
for (var r = 0, o = i.length; r < o; )
|
|
34
|
+
if (n != null || !t) n = n[i[r++]];
|
|
35
|
+
else return;
|
|
36
|
+
return n;
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
join: function(e) {
|
|
40
|
+
return e.reduce(function(t, i) {
|
|
41
|
+
return t + (_(i) || C.test(i) ? "[" + i + "]" : (t ? "." : "") + i);
|
|
42
|
+
}, "");
|
|
43
|
+
},
|
|
44
|
+
forEach: function(e, t, i) {
|
|
45
|
+
y(Array.isArray(e) ? e : l(e), t, i);
|
|
32
46
|
}
|
|
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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
validateStatus: m,
|
|
62
|
-
headers: (t, e, r) => l(c(t), c(e), r, !0)
|
|
63
|
-
};
|
|
64
|
-
return i.forEach(Object.keys({ ...s, ...f }), function(e) {
|
|
65
|
-
const r = g[e] || l, o = r(s[e], f[e], e);
|
|
66
|
-
i.isUndefined(o) && r !== m || (u[e] = o);
|
|
67
|
-
}), u;
|
|
47
|
+
};
|
|
48
|
+
function f(e) {
|
|
49
|
+
return E.get(e) || E.set(
|
|
50
|
+
e,
|
|
51
|
+
l(e).map(function(t) {
|
|
52
|
+
return t.replace(x, "$2");
|
|
53
|
+
})
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
function l(e) {
|
|
57
|
+
return e.match(d) || [""];
|
|
58
|
+
}
|
|
59
|
+
function y(e, t, i) {
|
|
60
|
+
var s = e.length, n, r, o, u;
|
|
61
|
+
for (r = 0; r < s; r++)
|
|
62
|
+
n = e[r], n && (S(n) && (n = '"' + n + '"'), u = _(n), o = !u && /^\d+$/.test(n), t.call(i, n, u, o, r, e));
|
|
63
|
+
}
|
|
64
|
+
function _(e) {
|
|
65
|
+
return typeof e == "string" && e && ["'", '"'].indexOf(e.charAt(0)) !== -1;
|
|
66
|
+
}
|
|
67
|
+
function z(e) {
|
|
68
|
+
return e.match(m) && !e.match(C);
|
|
69
|
+
}
|
|
70
|
+
function G(e) {
|
|
71
|
+
return A.test(e);
|
|
72
|
+
}
|
|
73
|
+
function S(e) {
|
|
74
|
+
return !_(e) && (z(e) || G(e));
|
|
68
75
|
}
|
|
69
76
|
export {
|
|
70
|
-
|
|
77
|
+
I as p
|
|
71
78
|
};
|
package/dist/index65.mjs
CHANGED
|
@@ -1,90 +1,18 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
throw n;
|
|
16
|
-
}
|
|
17
|
-
return (e || JSON.stringify)(i);
|
|
18
|
-
}
|
|
19
|
-
const l = {
|
|
20
|
-
transitional: u,
|
|
21
|
-
adapter: ["xhr", "http", "fetch"],
|
|
22
|
-
transformRequest: [function(r, e) {
|
|
23
|
-
const n = e.getContentType() || "", s = n.indexOf("application/json") > -1, f = t.isObject(r);
|
|
24
|
-
if (f && t.isHTMLForm(r) && (r = new FormData(r)), t.isFormData(r))
|
|
25
|
-
return s ? JSON.stringify(O(r)) : r;
|
|
26
|
-
if (t.isArrayBuffer(r) || t.isBuffer(r) || t.isStream(r) || t.isFile(r) || t.isBlob(r) || t.isReadableStream(r))
|
|
27
|
-
return r;
|
|
28
|
-
if (t.isArrayBufferView(r))
|
|
29
|
-
return r.buffer;
|
|
30
|
-
if (t.isURLSearchParams(r))
|
|
31
|
-
return e.setContentType("application/x-www-form-urlencoded;charset=utf-8", !1), r.toString();
|
|
32
|
-
let o;
|
|
33
|
-
if (f) {
|
|
34
|
-
if (n.indexOf("application/x-www-form-urlencoded") > -1)
|
|
35
|
-
return h(r, this.formSerializer).toString();
|
|
36
|
-
if ((o = t.isFileList(r)) || n.indexOf("multipart/form-data") > -1) {
|
|
37
|
-
const p = this.env && this.env.FormData;
|
|
38
|
-
return S(
|
|
39
|
-
o ? { "files[]": r } : r,
|
|
40
|
-
p && new p(),
|
|
41
|
-
this.formSerializer
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return f || s ? (e.setContentType("application/json", !1), y(r)) : r;
|
|
46
|
-
}],
|
|
47
|
-
transformResponse: [function(r) {
|
|
48
|
-
const e = this.transitional || l.transitional, n = e && e.forcedJSONParsing, s = this.responseType === "json";
|
|
49
|
-
if (t.isResponse(r) || t.isReadableStream(r))
|
|
50
|
-
return r;
|
|
51
|
-
if (r && t.isString(r) && (n && !this.responseType || s)) {
|
|
52
|
-
const m = !(e && e.silentJSONParsing) && s;
|
|
53
|
-
try {
|
|
54
|
-
return JSON.parse(r, this.parseReviver);
|
|
55
|
-
} catch (o) {
|
|
56
|
-
if (m)
|
|
57
|
-
throw o.name === "SyntaxError" ? c.from(o, c.ERR_BAD_RESPONSE, this, null, this.response) : o;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return r;
|
|
61
|
-
}],
|
|
62
|
-
/**
|
|
63
|
-
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
|
64
|
-
* timeout is not created.
|
|
65
|
-
*/
|
|
66
|
-
timeout: 0,
|
|
67
|
-
xsrfCookieName: "XSRF-TOKEN",
|
|
68
|
-
xsrfHeaderName: "X-XSRF-TOKEN",
|
|
69
|
-
maxContentLength: -1,
|
|
70
|
-
maxBodyLength: -1,
|
|
71
|
-
env: {
|
|
72
|
-
FormData: a.classes.FormData,
|
|
73
|
-
Blob: a.classes.Blob
|
|
74
|
-
},
|
|
75
|
-
validateStatus: function(r) {
|
|
76
|
-
return r >= 200 && r < 300;
|
|
77
|
-
},
|
|
78
|
-
headers: {
|
|
79
|
-
common: {
|
|
80
|
-
Accept: "application/json, text/plain, */*",
|
|
81
|
-
"Content-Type": void 0
|
|
82
|
-
}
|
|
83
|
-
}
|
|
2
|
+
const c = /[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g, x = (u) => u.match(c) || [], d = (u) => u[0].toUpperCase() + u.slice(1), a = (u, f) => x(u).join(f).toLowerCase(), b = (u) => x(u).reduce(
|
|
3
|
+
(f, e) => `${f}${f ? e[0].toUpperCase() + e.slice(1).toLowerCase() : e.toLowerCase()}`,
|
|
4
|
+
""
|
|
5
|
+
), s = (u) => d(b(u)), t = (u) => a(u, "_"), o = (u) => a(u, "-"), n = (u) => d(a(u, " ")), r = (u) => x(u).map(d).join(" ");
|
|
6
|
+
var C = {
|
|
7
|
+
words: x,
|
|
8
|
+
upperFirst: d,
|
|
9
|
+
camelCase: b,
|
|
10
|
+
pascalCase: s,
|
|
11
|
+
snakeCase: t,
|
|
12
|
+
kebabCase: o,
|
|
13
|
+
sentenceCase: n,
|
|
14
|
+
titleCase: r
|
|
84
15
|
};
|
|
85
|
-
t.forEach(["delete", "get", "head", "post", "put", "patch"], (i) => {
|
|
86
|
-
l.headers[i] = {};
|
|
87
|
-
});
|
|
88
16
|
export {
|
|
89
|
-
|
|
17
|
+
C as t
|
|
90
18
|
};
|
package/dist/index66.mjs
CHANGED
|
@@ -1,32 +1,66 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
import { getDefaultExportFromCjs as d } from "./index60.mjs";
|
|
3
|
+
import { __module as v } from "./index94.mjs";
|
|
4
|
+
v.exports = function(n) {
|
|
5
|
+
return g(m(n), n);
|
|
6
|
+
};
|
|
7
|
+
v.exports.array = g;
|
|
8
|
+
function g(n, r) {
|
|
9
|
+
var t = n.length, e = new Array(t), o = {}, u = t, c = y(r), f = E(n);
|
|
10
|
+
for (r.forEach(function(a) {
|
|
11
|
+
if (!f.has(a[0]) || !f.has(a[1]))
|
|
12
|
+
throw new Error("Unknown node. There is an unknown node in the supplied edges.");
|
|
13
|
+
}); u--; )
|
|
14
|
+
o[u] || l(n[u], u, /* @__PURE__ */ new Set());
|
|
15
|
+
return e;
|
|
16
|
+
function l(a, s, i) {
|
|
17
|
+
if (i.has(a)) {
|
|
18
|
+
var w;
|
|
19
|
+
try {
|
|
20
|
+
w = ", node was:" + JSON.stringify(a);
|
|
21
|
+
} catch {
|
|
22
|
+
w = "";
|
|
23
|
+
}
|
|
24
|
+
throw new Error("Cyclic dependency" + w);
|
|
25
|
+
}
|
|
26
|
+
if (!f.has(a))
|
|
27
|
+
throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: " + JSON.stringify(a));
|
|
28
|
+
if (!o[s]) {
|
|
29
|
+
o[s] = !0;
|
|
30
|
+
var h = c.get(a) || /* @__PURE__ */ new Set();
|
|
31
|
+
if (h = Array.from(h), s = h.length) {
|
|
32
|
+
i.add(a);
|
|
33
|
+
do {
|
|
34
|
+
var p = h[--s];
|
|
35
|
+
l(p, f.get(p), i);
|
|
36
|
+
} while (s);
|
|
37
|
+
i.delete(a);
|
|
38
|
+
}
|
|
39
|
+
e[--t] = a;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
14
42
|
}
|
|
15
|
-
function m(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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);
|
|
43
|
+
function m(n) {
|
|
44
|
+
for (var r = /* @__PURE__ */ new Set(), t = 0, e = n.length; t < e; t++) {
|
|
45
|
+
var o = n[t];
|
|
46
|
+
r.add(o[0]), r.add(o[1]);
|
|
21
47
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
48
|
+
return Array.from(r);
|
|
49
|
+
}
|
|
50
|
+
function y(n) {
|
|
51
|
+
for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++) {
|
|
52
|
+
var o = n[t];
|
|
53
|
+
r.has(o[0]) || r.set(o[0], /* @__PURE__ */ new Set()), r.has(o[1]) || r.set(o[1], /* @__PURE__ */ new Set()), r.get(o[0]).add(o[1]);
|
|
27
54
|
}
|
|
28
|
-
return
|
|
55
|
+
return r;
|
|
56
|
+
}
|
|
57
|
+
function E(n) {
|
|
58
|
+
for (var r = /* @__PURE__ */ new Map(), t = 0, e = n.length; t < e; t++)
|
|
59
|
+
r.set(n[t], t);
|
|
60
|
+
return r;
|
|
29
61
|
}
|
|
62
|
+
var k = v.exports;
|
|
63
|
+
const A = /* @__PURE__ */ d(k);
|
|
30
64
|
export {
|
|
31
|
-
|
|
65
|
+
A as default
|
|
32
66
|
};
|
package/dist/index67.mjs
CHANGED
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
r.call(this, o ?? "canceled", r.ERR_CANCELED, t, e), this.name = "CanceledError";
|
|
2
|
+
import { useQuery as e } from "@tanstack/react-query";
|
|
3
|
+
function n(r) {
|
|
4
|
+
return e(r);
|
|
6
5
|
}
|
|
7
|
-
i.inherits(l, r, {
|
|
8
|
-
__CANCEL__: !0
|
|
9
|
-
});
|
|
10
6
|
export {
|
|
11
|
-
|
|
7
|
+
n as useQueryUnwrapped
|
|
12
8
|
};
|
package/dist/index68.mjs
CHANGED
|
@@ -1,78 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
class c {
|
|
4
|
-
constructor(e) {
|
|
5
|
-
if (typeof e != "function")
|
|
6
|
-
throw new TypeError("executor must be a function.");
|
|
7
|
-
let t;
|
|
8
|
-
this.promise = new Promise(function(r) {
|
|
9
|
-
t = r;
|
|
10
|
-
});
|
|
11
|
-
const s = this;
|
|
12
|
-
this.promise.then((n) => {
|
|
13
|
-
if (!s._listeners) return;
|
|
14
|
-
let r = s._listeners.length;
|
|
15
|
-
for (; r-- > 0; )
|
|
16
|
-
s._listeners[r](n);
|
|
17
|
-
s._listeners = null;
|
|
18
|
-
}), this.promise.then = (n) => {
|
|
19
|
-
let r;
|
|
20
|
-
const o = new Promise((i) => {
|
|
21
|
-
s.subscribe(i), r = i;
|
|
22
|
-
}).then(n);
|
|
23
|
-
return o.cancel = function() {
|
|
24
|
-
s.unsubscribe(r);
|
|
25
|
-
}, o;
|
|
26
|
-
}, e(function(r, o, i) {
|
|
27
|
-
s.reason || (s.reason = new u(r, o, i), t(s.reason));
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Throws a `CanceledError` if cancellation has been requested.
|
|
32
|
-
*/
|
|
33
|
-
throwIfRequested() {
|
|
34
|
-
if (this.reason)
|
|
35
|
-
throw this.reason;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Subscribe to the cancel signal
|
|
39
|
-
*/
|
|
40
|
-
subscribe(e) {
|
|
41
|
-
if (this.reason) {
|
|
42
|
-
e(this.reason);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this._listeners ? this._listeners.push(e) : this._listeners = [e];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Unsubscribe from the cancel signal
|
|
49
|
-
*/
|
|
50
|
-
unsubscribe(e) {
|
|
51
|
-
if (!this._listeners)
|
|
52
|
-
return;
|
|
53
|
-
const t = this._listeners.indexOf(e);
|
|
54
|
-
t !== -1 && this._listeners.splice(t, 1);
|
|
55
|
-
}
|
|
56
|
-
toAbortSignal() {
|
|
57
|
-
const e = new AbortController(), t = (s) => {
|
|
58
|
-
e.abort(s);
|
|
59
|
-
};
|
|
60
|
-
return this.subscribe(t), e.signal.unsubscribe = () => this.unsubscribe(t), e.signal;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
|
64
|
-
* cancels the `CancelToken`.
|
|
65
|
-
*/
|
|
66
|
-
static source() {
|
|
67
|
-
let e;
|
|
68
|
-
return {
|
|
69
|
-
token: new c(function(n) {
|
|
70
|
-
e = n;
|
|
71
|
-
}),
|
|
72
|
-
cancel: e
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
2
|
+
var r = { exports: {} };
|
|
76
3
|
export {
|
|
77
|
-
|
|
4
|
+
r as __module
|
|
78
5
|
};
|
package/dist/index69.mjs
CHANGED
package/dist/index7.mjs
CHANGED
|
@@ -1,101 +1,113 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
import { jsxs as s, jsx as t, Fragment as u } from "react/jsx-runtime";
|
|
3
|
+
import { useState as f } from "react";
|
|
4
|
+
import { Card as P, CardContent as S, CardFooter as j } from "./index14.mjs";
|
|
5
|
+
import { Button as I } from "./index13.mjs";
|
|
6
|
+
import { Badge as p } from "./index15.mjs";
|
|
7
|
+
import { Package as O, ShoppingCart as q } from "lucide-react";
|
|
8
|
+
import { cn as g, formatCurrency as h } from "./index19.mjs";
|
|
9
|
+
function D({
|
|
10
|
+
product: r,
|
|
11
|
+
onAddToCart: o,
|
|
12
|
+
showStock: b = !0,
|
|
13
|
+
className: x,
|
|
14
|
+
imageClassName: N,
|
|
15
|
+
disableAddToCart: v = !1,
|
|
16
|
+
isAddingToCart: n = !1,
|
|
17
|
+
onClick: i
|
|
11
18
|
}) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
c(!1);
|
|
21
|
-
}
|
|
22
|
-
}, [e.id, d]), b = f(async () => {
|
|
23
|
-
n(!0);
|
|
24
|
-
try {
|
|
25
|
-
await o(e.id);
|
|
26
|
-
} catch (l) {
|
|
27
|
-
console.error("Failed to remove item:", l);
|
|
28
|
-
}
|
|
29
|
-
n(!1);
|
|
30
|
-
}, [e.id, o]);
|
|
31
|
-
return /* @__PURE__ */ t(
|
|
32
|
-
"div",
|
|
19
|
+
var d;
|
|
20
|
+
const [c, y] = f(
|
|
21
|
+
((d = r.variants[0]) == null ? void 0 : d.id) || ""
|
|
22
|
+
), [m, k] = f(1), a = r.variants.find((e) => e.id === c), C = r.variants.length > 1, l = a ? a.stock === void 0 || a.stock > 0 : !1, w = (e) => {
|
|
23
|
+
e.stopPropagation(), a && o && o(a.id, m);
|
|
24
|
+
};
|
|
25
|
+
return /* @__PURE__ */ s(
|
|
26
|
+
P,
|
|
33
27
|
{
|
|
34
28
|
className: g(
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
29
|
+
"group overflow-hidden transition-all hover:shadow-lg",
|
|
30
|
+
i && "cursor-pointer",
|
|
31
|
+
x
|
|
38
32
|
),
|
|
33
|
+
onClick: i,
|
|
39
34
|
children: [
|
|
40
|
-
/* @__PURE__ */
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
35
|
+
/* @__PURE__ */ s("div", { className: "relative aspect-square overflow-hidden bg-gray-100", children: [
|
|
36
|
+
r.imageUrl ? /* @__PURE__ */ t(
|
|
37
|
+
"img",
|
|
38
|
+
{
|
|
39
|
+
src: r.imageUrl,
|
|
40
|
+
alt: r.name,
|
|
41
|
+
className: g(
|
|
42
|
+
"h-full w-full object-cover transition-transform group-hover:scale-105",
|
|
43
|
+
N
|
|
44
|
+
)
|
|
45
|
+
}
|
|
46
|
+
) : /* @__PURE__ */ t("div", { className: "flex h-full w-full items-center justify-center", children: /* @__PURE__ */ t(O, { className: "h-16 w-16 text-gray-400" }) }),
|
|
47
|
+
!l && /* @__PURE__ */ t(p, { className: "absolute right-2 top-2 bg-red-600", children: "Out of Stock" }),
|
|
48
|
+
b && l && (a == null ? void 0 : a.stock) !== void 0 && a.stock < 10 && /* @__PURE__ */ s(p, { className: "absolute right-2 top-2 bg-orange-600", children: [
|
|
49
|
+
"Only ",
|
|
50
|
+
a.stock,
|
|
51
|
+
" left"
|
|
52
|
+
] })
|
|
53
|
+
] }),
|
|
54
|
+
/* @__PURE__ */ s(S, { className: "p-4", children: [
|
|
55
|
+
/* @__PURE__ */ t("h3", { className: "mb-1 font-semibold line-clamp-2", children: r.name }),
|
|
56
|
+
r.description && /* @__PURE__ */ t("p", { className: "mb-2 text-sm text-gray-600 line-clamp-2", children: r.description }),
|
|
57
|
+
C && /* @__PURE__ */ s("div", { className: "mb-3", children: [
|
|
58
|
+
/* @__PURE__ */ t("label", { className: "mb-1 block text-xs font-medium text-gray-700", children: "Select Option" }),
|
|
59
|
+
/* @__PURE__ */ t(
|
|
60
|
+
"select",
|
|
56
61
|
{
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
value: c,
|
|
63
|
+
onChange: (e) => {
|
|
64
|
+
e.stopPropagation(), y(e.target.value);
|
|
65
|
+
},
|
|
66
|
+
className: "w-full rounded-md border border-gray-300 px-2 py-1 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500",
|
|
67
|
+
onClick: (e) => e.stopPropagation(),
|
|
68
|
+
children: r.variants.map((e) => /* @__PURE__ */ s("option", { value: e.id, children: [
|
|
69
|
+
e.name,
|
|
70
|
+
" - ",
|
|
71
|
+
h(e.price)
|
|
72
|
+
] }, e.id))
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
] }),
|
|
76
|
+
/* @__PURE__ */ t("div", { className: "mb-3 text-2xl font-bold text-blue-600", children: a && h(a.price) }),
|
|
77
|
+
/* @__PURE__ */ s("div", { className: "flex items-center gap-2", children: [
|
|
78
|
+
/* @__PURE__ */ t("label", { className: "text-xs font-medium text-gray-700", children: "Qty:" }),
|
|
79
|
+
/* @__PURE__ */ t(
|
|
80
|
+
"input",
|
|
81
|
+
{
|
|
82
|
+
type: "number",
|
|
83
|
+
min: "1",
|
|
84
|
+
max: (a == null ? void 0 : a.stock) || 999,
|
|
85
|
+
value: m,
|
|
86
|
+
onChange: (e) => {
|
|
87
|
+
e.stopPropagation(), k(Math.max(1, parseInt(e.target.value) || 1));
|
|
88
|
+
},
|
|
89
|
+
onClick: (e) => e.stopPropagation(),
|
|
90
|
+
className: "w-20 rounded-md border border-gray-300 px-2 py-1 text-sm focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500"
|
|
62
91
|
}
|
|
63
92
|
)
|
|
64
|
-
] }) }),
|
|
65
|
-
/* @__PURE__ */ t("div", { className: "flex items-center justify-between mt-2", children: [
|
|
66
|
-
/* @__PURE__ */ t("div", { className: "inline-flex items-center overflow-hidden rounded-full bg-gray-200 text-gray-700", children: [
|
|
67
|
-
/* @__PURE__ */ a(
|
|
68
|
-
"button",
|
|
69
|
-
{
|
|
70
|
-
"aria-label": "Decrease quantity",
|
|
71
|
-
onClick: () => u(e.quantity - 1),
|
|
72
|
-
disabled: r || e.quantity <= 1 || s,
|
|
73
|
-
className: "flex h-8 w-8 items-center justify-center transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:opacity-50",
|
|
74
|
-
children: "−"
|
|
75
|
-
}
|
|
76
|
-
),
|
|
77
|
-
/* @__PURE__ */ a("span", { className: "px-3 text-base font-medium select-none", children: e.quantity }),
|
|
78
|
-
/* @__PURE__ */ a(
|
|
79
|
-
"button",
|
|
80
|
-
{
|
|
81
|
-
"aria-label": "Increase quantity",
|
|
82
|
-
onClick: () => u(e.quantity + 1),
|
|
83
|
-
disabled: r || s,
|
|
84
|
-
className: "flex h-8 w-8 items-center justify-center transition-colors hover:bg-gray-300 disabled:cursor-not-allowed disabled:opacity-50",
|
|
85
|
-
children: "+"
|
|
86
|
-
}
|
|
87
|
-
)
|
|
88
|
-
] }),
|
|
89
|
-
/* @__PURE__ */ t("div", { className: "text-right", children: [
|
|
90
|
-
/* @__PURE__ */ a("p", { className: "text-base font-medium", children: m(e.subtotal) }),
|
|
91
|
-
e.basePrice !== e.finalPrice && /* @__PURE__ */ a("p", { className: "text-xs text-[#DC143C] line-through", children: m(e.basePrice * e.quantity) })
|
|
92
|
-
] })
|
|
93
93
|
] })
|
|
94
|
-
] })
|
|
94
|
+
] }),
|
|
95
|
+
/* @__PURE__ */ t(j, { className: "p-4 pt-0", children: /* @__PURE__ */ t(
|
|
96
|
+
I,
|
|
97
|
+
{
|
|
98
|
+
onClick: w,
|
|
99
|
+
disabled: v || !l || n,
|
|
100
|
+
className: "w-full",
|
|
101
|
+
children: n ? /* @__PURE__ */ t(u, { children: "Adding..." }) : /* @__PURE__ */ s(u, { children: [
|
|
102
|
+
/* @__PURE__ */ t(q, { className: "mr-2 h-4 w-4" }),
|
|
103
|
+
"Add to Cart"
|
|
104
|
+
] })
|
|
105
|
+
}
|
|
106
|
+
) })
|
|
95
107
|
]
|
|
96
108
|
}
|
|
97
109
|
);
|
|
98
110
|
}
|
|
99
111
|
export {
|
|
100
|
-
|
|
112
|
+
D as ProductCard
|
|
101
113
|
};
|