@instockng/storefront-ui 1.0.105 → 1.0.107

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 (304) hide show
  1. package/dist/components/AssistantDrawer.d.ts +24 -0
  2. package/dist/components/AssistantDrawer.d.ts.map +1 -0
  3. package/dist/components/Checkout.d.ts.map +1 -1
  4. package/dist/components/ProductAssistantChips.d.ts +13 -0
  5. package/dist/components/ProductAssistantChips.d.ts.map +1 -0
  6. package/dist/components/SearchAssistantTrigger.d.ts +12 -0
  7. package/dist/components/SearchAssistantTrigger.d.ts.map +1 -0
  8. package/dist/hooks/usePaystackPayment.d.ts +1 -0
  9. package/dist/hooks/usePaystackPayment.d.ts.map +1 -1
  10. package/dist/index.d.ts +6 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.mjs +127 -121
  13. package/dist/index10.mjs +3 -3
  14. package/dist/index100.mjs +8 -3
  15. package/dist/index101.mjs +75 -2
  16. package/dist/index102.mjs +3 -82
  17. package/dist/index103.mjs +2 -54
  18. package/dist/index104.mjs +82 -5
  19. package/dist/index105.mjs +53 -4
  20. package/dist/index106.mjs +5 -178
  21. package/dist/index107.mjs +5 -53
  22. package/dist/index108.mjs +178 -68
  23. package/dist/index109.mjs +50 -34
  24. package/dist/index11.mjs +5 -5
  25. package/dist/index110.mjs +69 -43
  26. package/dist/index111.mjs +2 -2
  27. package/dist/index112.mjs +35 -26
  28. package/dist/index113.mjs +42 -17
  29. package/dist/index114.mjs +2 -215
  30. package/dist/index115.mjs +26 -178
  31. package/dist/index116.mjs +10 -14
  32. package/dist/index117.mjs +209 -17
  33. package/dist/index118.mjs +173 -26
  34. package/dist/index119.mjs +17 -151
  35. package/dist/index12.mjs +4 -4
  36. package/dist/index120.mjs +13 -10
  37. package/dist/index121.mjs +24 -22
  38. package/dist/index122.mjs +148 -76
  39. package/dist/index123.mjs +13 -31
  40. package/dist/index124.mjs +24 -138
  41. package/dist/index125.mjs +78 -49
  42. package/dist/index126.mjs +32 -17
  43. package/dist/index127.mjs +139 -21
  44. package/dist/index128.mjs +51 -19
  45. package/dist/index129.mjs +16 -18
  46. package/dist/index13.mjs +3 -3
  47. package/dist/index130.mjs +18 -12
  48. package/dist/index131.mjs +15 -14
  49. package/dist/index132.mjs +17 -13
  50. package/dist/index133.mjs +14 -58
  51. package/dist/index134.mjs +15 -11
  52. package/dist/index135.mjs +14 -32
  53. package/dist/index136.mjs +57 -16
  54. package/dist/index137.mjs +11 -27
  55. package/dist/index138.mjs +31 -19
  56. package/dist/index139.mjs +17 -12
  57. package/dist/index14.mjs +1 -1
  58. package/dist/index140.mjs +27 -14
  59. package/dist/index141.mjs +20 -40
  60. package/dist/index142.mjs +11 -15
  61. package/dist/index143.mjs +17 -264
  62. package/dist/index144.mjs +40 -63
  63. package/dist/index145.mjs +22 -7
  64. package/dist/index146.mjs +268 -2
  65. package/dist/index147.mjs +70 -2
  66. package/dist/index148.mjs +7 -32
  67. package/dist/index149.mjs +2 -2
  68. package/dist/index15.mjs +1 -1
  69. package/dist/index150.mjs +2 -2
  70. package/dist/index151.mjs +33 -2
  71. package/dist/index152.mjs +2 -2
  72. package/dist/index153.mjs +21 -2
  73. package/dist/index154.mjs +54 -16
  74. package/dist/index155.mjs +28 -31
  75. package/dist/index156.mjs +6 -37
  76. package/dist/index157.mjs +50 -16
  77. package/dist/index158.mjs +6 -18
  78. package/dist/index159.mjs +12 -2
  79. package/dist/index16.mjs +6 -6
  80. package/dist/index160.mjs +7 -20
  81. package/dist/index161.mjs +28 -46
  82. package/dist/index162.mjs +2 -2
  83. package/dist/index163.mjs +69 -29
  84. package/dist/index164.mjs +164 -15
  85. package/dist/index165.mjs +2 -2
  86. package/dist/index166.mjs +2 -2
  87. package/dist/index167.mjs +2 -2
  88. package/dist/index168.mjs +18 -2
  89. package/dist/index169.mjs +26 -66
  90. package/dist/index17.mjs +4 -4
  91. package/dist/index170.mjs +38 -2
  92. package/dist/index171.mjs +13 -48
  93. package/dist/index172.mjs +18 -2
  94. package/dist/index173.mjs +2 -36
  95. package/dist/index174.mjs +16 -148
  96. package/dist/index175.mjs +46 -2
  97. package/dist/index176.mjs +2 -2
  98. package/dist/index177.mjs +26 -15
  99. package/dist/index178.mjs +18 -2
  100. package/dist/index179.mjs +2 -2
  101. package/dist/index18.mjs +5 -5
  102. package/dist/index180.mjs +2 -26
  103. package/dist/index181.mjs +2 -2
  104. package/dist/index182.mjs +2 -2
  105. package/dist/index183.mjs +67 -19
  106. package/dist/index184.mjs +2 -23
  107. package/dist/index185.mjs +53 -2
  108. package/dist/index186.mjs +2 -2
  109. package/dist/index187.mjs +36 -2
  110. package/dist/index188.mjs +146 -17
  111. package/dist/index189.mjs +2 -2
  112. package/dist/index19.mjs +3 -3
  113. package/dist/index190.mjs +2 -23
  114. package/dist/index191.mjs +19 -2
  115. package/dist/index192.mjs +2 -2
  116. package/dist/index193.mjs +2 -2
  117. package/dist/index194.mjs +18 -15
  118. package/dist/index196.mjs +2 -23
  119. package/dist/index197.mjs +24 -2
  120. package/dist/index198.mjs +23 -2
  121. package/dist/index199.mjs +2 -2
  122. package/dist/index2.mjs +2 -2
  123. package/dist/index20.mjs +91 -90
  124. package/dist/index200.mjs +2 -2
  125. package/dist/index201.mjs +2 -2
  126. package/dist/index202.mjs +23 -2
  127. package/dist/index203.mjs +2 -2
  128. package/dist/index204.mjs +23 -2
  129. package/dist/index205.mjs +2 -127
  130. package/dist/index206.mjs +2 -2
  131. package/dist/index207.mjs +2 -74
  132. package/dist/index208.mjs +20 -71
  133. package/dist/index209.mjs +2 -21
  134. package/dist/index21.mjs +256 -51
  135. package/dist/index210.mjs +21 -54
  136. package/dist/index211.mjs +2 -29
  137. package/dist/index212.mjs +2 -7
  138. package/dist/index213.mjs +2 -52
  139. package/dist/index214.mjs +2 -6
  140. package/dist/index215.mjs +2 -12
  141. package/dist/index216.mjs +2 -7
  142. package/dist/index217.mjs +2 -28
  143. package/dist/index218.mjs +2 -2
  144. package/dist/index219.mjs +125 -68
  145. package/dist/index22.mjs +45 -62
  146. package/dist/index220.mjs +2 -167
  147. package/dist/index221.mjs +74 -2
  148. package/dist/index222.mjs +74 -2
  149. package/dist/index223.mjs +2 -2
  150. package/dist/index224.mjs +13 -2
  151. package/dist/index225.mjs +7 -2
  152. package/dist/index226.mjs +12 -2
  153. package/dist/index227.mjs +4 -107
  154. package/dist/index228.mjs +33 -2
  155. package/dist/index229.mjs +31 -2
  156. package/dist/index23.mjs +22 -22
  157. package/dist/index230.mjs +28 -2
  158. package/dist/index231.mjs +61 -2
  159. package/dist/index232.mjs +30 -36
  160. package/dist/index233.mjs +11 -2
  161. package/dist/index234.mjs +3 -243
  162. package/dist/index235.mjs +4 -2
  163. package/dist/index236.mjs +2 -33
  164. package/dist/index237.mjs +2 -65
  165. package/dist/index238.mjs +2 -25
  166. package/dist/index239.mjs +2 -2
  167. package/dist/index24.mjs +55 -104
  168. package/dist/index241.mjs +2 -2
  169. package/dist/index242.mjs +2 -2
  170. package/dist/index243.mjs +2 -2
  171. package/dist/index244.mjs +108 -2
  172. package/dist/index246.mjs +2 -2
  173. package/dist/index247.mjs +37 -2
  174. package/dist/index248.mjs +2 -2
  175. package/dist/index249.mjs +2 -4
  176. package/dist/index25.mjs +62 -42
  177. package/dist/index250.mjs +244 -2
  178. package/dist/index252.mjs +32 -30
  179. package/dist/index253.mjs +64 -10
  180. package/dist/index254.mjs +24 -3
  181. package/dist/index255.mjs +2 -4
  182. package/dist/index256.mjs +2 -13
  183. package/dist/index257.mjs +2 -7
  184. package/dist/index258.mjs +2 -12
  185. package/dist/index259.mjs +2 -5
  186. package/dist/index26.mjs +22 -40
  187. package/dist/index260.mjs +2 -33
  188. package/dist/index261.mjs +2 -31
  189. package/dist/index262.mjs +2 -28
  190. package/dist/index263.mjs +4 -61
  191. package/dist/index264.mjs +2 -2
  192. package/dist/index265.mjs +2 -2
  193. package/dist/index266.mjs +2 -18
  194. package/dist/index267.mjs +2 -47
  195. package/dist/index268.mjs +2 -2
  196. package/dist/index269.mjs +18 -2
  197. package/dist/index27.mjs +107 -87
  198. package/dist/index270.mjs +47 -2
  199. package/dist/index271.mjs +2 -2
  200. package/dist/index272.mjs +2 -91
  201. package/dist/index273.mjs +2 -2
  202. package/dist/index274.mjs +2 -3
  203. package/dist/index275.mjs +91 -2
  204. package/dist/index276.mjs +2 -2
  205. package/dist/index277.mjs +3 -17
  206. package/dist/index278.mjs +2 -13
  207. package/dist/index279.mjs +2 -6
  208. package/dist/index28.mjs +42 -32
  209. package/dist/index280.mjs +17 -30
  210. package/dist/index281.mjs +13 -2
  211. package/dist/index282.mjs +6 -2
  212. package/dist/index283.mjs +30 -2
  213. package/dist/index284.mjs +5 -0
  214. package/dist/index285.mjs +5 -0
  215. package/dist/index286.mjs +5 -0
  216. package/dist/index29.mjs +42 -9
  217. package/dist/index3.mjs +4 -4
  218. package/dist/index30.mjs +84 -17
  219. package/dist/index31.mjs +29 -35
  220. package/dist/index32.mjs +8 -39
  221. package/dist/index33.mjs +21 -125
  222. package/dist/index34.mjs +35 -46
  223. package/dist/index35.mjs +38 -9
  224. package/dist/index36.mjs +121 -6
  225. package/dist/index37.mjs +49 -123
  226. package/dist/index38.mjs +11 -28
  227. package/dist/index39.mjs +11 -91
  228. package/dist/index4.mjs +1 -1
  229. package/dist/index40.mjs +121 -123
  230. package/dist/index41.mjs +28 -11
  231. package/dist/index42.mjs +91 -35
  232. package/dist/index43.mjs +116 -37
  233. package/dist/index44.mjs +9 -9
  234. package/dist/index45.mjs +33 -121
  235. package/dist/index46.mjs +42 -385
  236. package/dist/index47.mjs +10 -24
  237. package/dist/index48.mjs +122 -31
  238. package/dist/index49.mjs +388 -27
  239. package/dist/index5.mjs +1 -1
  240. package/dist/index50.mjs +24 -6
  241. package/dist/index51.mjs +30 -1431
  242. package/dist/index52.mjs +26 -68
  243. package/dist/index53.mjs +7 -2
  244. package/dist/index54.mjs +1425 -52
  245. package/dist/index55.mjs +69 -50
  246. package/dist/index56.mjs +2 -33
  247. package/dist/index57.mjs +59 -14
  248. package/dist/index58.mjs +47 -2259
  249. package/dist/index59.mjs +33 -36
  250. package/dist/index6.mjs +1 -1
  251. package/dist/index60.mjs +14 -43
  252. package/dist/index61.mjs +2256 -96
  253. package/dist/index62.mjs +36 -81
  254. package/dist/index63.mjs +43 -18
  255. package/dist/index64.mjs +102 -128
  256. package/dist/index65.mjs +45 -89
  257. package/dist/index66.mjs +15 -75
  258. package/dist/index67.mjs +84 -130
  259. package/dist/index68.mjs +84 -66
  260. package/dist/index69.mjs +69 -26
  261. package/dist/index7.mjs +6 -6
  262. package/dist/index70.mjs +138 -58
  263. package/dist/index71.mjs +82 -56
  264. package/dist/index72.mjs +28 -55
  265. package/dist/index73.mjs +79 -46
  266. package/dist/index74.mjs +58 -112
  267. package/dist/index75.mjs +47 -54
  268. package/dist/index76.mjs +60 -22
  269. package/dist/index77.mjs +135 -2
  270. package/dist/index78.mjs +66 -149
  271. package/dist/index79.mjs +21 -20
  272. package/dist/index8.mjs +6 -6
  273. package/dist/index80.mjs +2 -75
  274. package/dist/index81.mjs +153 -15
  275. package/dist/index82.mjs +21 -61
  276. package/dist/index83.mjs +74 -4
  277. package/dist/index84.mjs +15 -2
  278. package/dist/index85.mjs +62 -5
  279. package/dist/index86.mjs +4 -1133
  280. package/dist/index87.mjs +2 -20
  281. package/dist/index88.mjs +5 -54
  282. package/dist/index89.mjs +1126 -25
  283. package/dist/index9.mjs +4 -4
  284. package/dist/index90.mjs +20 -2
  285. package/dist/index91.mjs +55 -2
  286. package/dist/index92.mjs +29 -231
  287. package/dist/index93.mjs +2 -6
  288. package/dist/index94.mjs +228 -127
  289. package/dist/index95.mjs +4 -66
  290. package/dist/index96.mjs +124 -77
  291. package/dist/index97.mjs +65 -26
  292. package/dist/index98.mjs +84 -6
  293. package/dist/index99.mjs +26 -72
  294. package/dist/styles.css +1 -1
  295. package/package.json +2 -1
  296. package/src/components/AssistantDrawer.stories.tsx +140 -0
  297. package/src/components/AssistantDrawer.tsx +430 -0
  298. package/src/components/Checkout.tsx +1 -0
  299. package/src/components/ProductAssistantChips.stories.tsx +42 -0
  300. package/src/components/ProductAssistantChips.tsx +64 -0
  301. package/src/components/SearchAssistantTrigger.stories.tsx +35 -0
  302. package/src/components/SearchAssistantTrigger.tsx +41 -0
  303. package/src/hooks/usePaystackPayment.ts +1 -0
  304. package/src/index.ts +10 -0
package/dist/index280.mjs CHANGED
@@ -1,33 +1,20 @@
1
1
  'use client';
2
- import r from "./index92.mjs";
3
- import c from "./index216.mjs";
4
- const p = c.hasStandardBrowserEnv ? (
5
- // Standard browser envs support document.cookie
6
- {
7
- write(e, t, n, i, s, u) {
8
- const o = [e + "=" + encodeURIComponent(t)];
9
- r.isNumber(n) && o.push("expires=" + new Date(n).toGMTString()), r.isString(i) && o.push("path=" + i), r.isString(s) && o.push("domain=" + s), u === !0 && o.push("secure"), document.cookie = o.join("; ");
10
- },
11
- read(e) {
12
- const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
13
- return t ? decodeURIComponent(t[3]) : null;
14
- },
15
- remove(e) {
16
- this.write(e, "", Date.now() - 864e5);
17
- }
18
- }
19
- ) : (
20
- // Non-standard browser env (web workers, react-native) lack needed support.
21
- {
22
- write() {
23
- },
24
- read() {
25
- return null;
26
- },
27
- remove() {
28
- }
29
- }
30
- );
2
+ function y(t, n) {
3
+ t = t || 10;
4
+ const c = new Array(t), o = new Array(t);
5
+ let e = 0, r = 0, i;
6
+ return n = n !== void 0 ? n : 1e3, function(h) {
7
+ const d = Date.now(), a = o[r];
8
+ i || (i = d), c[e] = h, o[e] = d;
9
+ let f = r, u = 0;
10
+ for (; f !== e; )
11
+ u += c[f++], f = f % t;
12
+ if (e = (e + 1) % t, e === r && (r = (r + 1) % t), d - i < n)
13
+ return;
14
+ const w = a && d - a;
15
+ return w ? Math.round(u * 1e3 / w) : void 0;
16
+ };
17
+ }
31
18
  export {
32
- p as default
19
+ y as default
33
20
  };
package/dist/index281.mjs CHANGED
@@ -1,5 +1,16 @@
1
1
  'use client';
2
- var o = { exports: {} };
2
+ function h(r, a) {
3
+ let s = 0, u = 1e3 / a, e, t;
4
+ const n = (l, o = Date.now()) => {
5
+ s = o, e = null, t && (clearTimeout(t), t = null), r(...l);
6
+ };
7
+ return [(...l) => {
8
+ const o = Date.now(), i = o - s;
9
+ i >= u ? n(l, o) : (e = l, t || (t = setTimeout(() => {
10
+ t = null, n(e);
11
+ }, u - i)));
12
+ }, () => e && n(e)];
13
+ }
3
14
  export {
4
- o as __module
15
+ h as default
5
16
  };
package/dist/index282.mjs CHANGED
@@ -1,5 +1,9 @@
1
1
  'use client';
2
- var e = {};
2
+ import o from "./index160.mjs";
3
+ const n = o.hasStandardBrowserEnv ? /* @__PURE__ */ ((r, e) => (t) => (t = new URL(t, o.origin), r.protocol === t.protocol && r.host === t.host && (e || r.port === t.port)))(
4
+ new URL(o.origin),
5
+ o.navigator && /(msie|trident)/i.test(o.navigator.userAgent)
6
+ ) : () => !0;
3
7
  export {
4
- e as __exports
8
+ n as default
5
9
  };
package/dist/index283.mjs CHANGED
@@ -1,5 +1,33 @@
1
1
  'use client';
2
- var e = {};
2
+ import r from "./index94.mjs";
3
+ import c from "./index160.mjs";
4
+ const p = c.hasStandardBrowserEnv ? (
5
+ // Standard browser envs support document.cookie
6
+ {
7
+ write(e, t, n, i, s, u) {
8
+ const o = [e + "=" + encodeURIComponent(t)];
9
+ r.isNumber(n) && o.push("expires=" + new Date(n).toGMTString()), r.isString(i) && o.push("path=" + i), r.isString(s) && o.push("domain=" + s), u === !0 && o.push("secure"), document.cookie = o.join("; ");
10
+ },
11
+ read(e) {
12
+ const t = document.cookie.match(new RegExp("(^|;\\s*)(" + e + ")=([^;]*)"));
13
+ return t ? decodeURIComponent(t[3]) : null;
14
+ },
15
+ remove(e) {
16
+ this.write(e, "", Date.now() - 864e5);
17
+ }
18
+ }
19
+ ) : (
20
+ // Non-standard browser env (web workers, react-native) lack needed support.
21
+ {
22
+ write() {
23
+ },
24
+ read() {
25
+ return null;
26
+ },
27
+ remove() {
28
+ }
29
+ }
30
+ );
3
31
  export {
4
- e as __exports
32
+ p as default
5
33
  };
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ var e = {};
3
+ export {
4
+ e as __exports
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ var e = {};
3
+ export {
4
+ e as __exports
5
+ };
@@ -0,0 +1,5 @@
1
+ 'use client';
2
+ var o = { exports: {} };
3
+ export {
4
+ o as __module
5
+ };
package/dist/index29.mjs CHANGED
@@ -1,12 +1,45 @@
1
1
  'use client';
2
- import { useApiClientContext as n } from "./index28.mjs";
3
- function i() {
4
- const { baseURL: t, getAuthToken: e } = n();
5
- return {
6
- baseURL: t,
7
- getAuthToken: e
8
- };
9
- }
2
+ import { jsxs as s, jsx as r } from "react/jsx-runtime";
3
+ import g from "react";
4
+ import { cn as l } from "./index30.mjs";
5
+ const u = g.forwardRef(
6
+ ({
7
+ label: t,
8
+ error: e,
9
+ className: a,
10
+ containerClassName: c,
11
+ required: m,
12
+ disabled: o,
13
+ children: n,
14
+ ...i
15
+ }, d) => /* @__PURE__ */ s("div", { className: l("w-full", c), children: [
16
+ t && /* @__PURE__ */ s("label", { className: "mb-1.5 block text-sm font-medium text-gray-700", children: [
17
+ t,
18
+ m && /* @__PURE__ */ r("span", { className: "ml-1 text-red-600", children: "*" })
19
+ ] }),
20
+ /* @__PURE__ */ r(
21
+ "select",
22
+ {
23
+ ref: d,
24
+ disabled: o,
25
+ className: l(
26
+ "w-full rounded-lg border px-3 py-2.5 text-sm transition-colors",
27
+ "focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",
28
+ "appearance-none bg-white",
29
+ `bg-[url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E")] bg-no-repeat bg-[right_0.75rem_center]`,
30
+ "pr-10",
31
+ e ? "border-red-500 focus:border-red-500 focus:ring-red-500" : "border-gray-300 focus:border-blue-500",
32
+ o && "bg-gray-50 text-gray-500 cursor-not-allowed",
33
+ a
34
+ ),
35
+ ...i,
36
+ children: n
37
+ }
38
+ ),
39
+ e && /* @__PURE__ */ r("p", { className: "mt-1.5 text-sm text-red-600", role: "alert", children: e })
40
+ ] })
41
+ );
42
+ u.displayName = "FormSelect";
10
43
  export {
11
- i as useApiConfig
44
+ u as FormSelect
12
45
  };
package/dist/index3.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use client';
2
2
  import { jsxs as pt, jsx as It } from "react/jsx-runtime";
3
3
  import { createContext as kt, useState as P, useRef as R, useEffect as f, useCallback as c, useContext as ht } from "react";
4
- import "./index28.mjs";
5
- import { queryKeys as O } from "./index37.mjs";
6
- import { useGetCart as wt, useCreateCart as yt, useAddCartItem as vt, useUpdateCartItem as Tt, useRemoveCartItem as At, useApplyDiscount as Dt, useRemoveDiscount as Mt, useUpdateCart as gt, useCheckoutCart as Et, useInitiateCheckout as xt } from "./index40.mjs";
4
+ import "./index31.mjs";
5
+ import { queryKeys as O } from "./index40.mjs";
6
+ import { useGetCart as wt, useCreateCart as yt, useAddCartItem as vt, useUpdateCartItem as Tt, useRemoveCartItem as At, useApplyDiscount as Dt, useRemoveDiscount as Mt, useUpdateCart as gt, useCheckoutCart as Et, useInitiateCheckout as xt } from "./index43.mjs";
7
7
  import { useQueryClient as Pt } from "@tanstack/react-query";
8
8
  import { ShoppingCart as Rt } from "./index16.mjs";
9
9
  import { useMetaPixel as St } from "./index4.mjs";
10
10
  import { useTikTokPixel as _t } from "./index5.mjs";
11
- import { getFbCookies as $, getTikTokCookies as G, generateClientEventId as bt } from "./index27.mjs";
11
+ import { getFbCookies as $, getTikTokCookies as G, generateClientEventId as bt } from "./index30.mjs";
12
12
  const l = "oms_cart_id", H = kt(null);
13
13
  function Gt({ children: C, brandSlug: i, initialCartId: p, shoppingCartProps: Y }) {
14
14
  const [t, u] = P(p || null), [I, y] = P(!1), [z, B] = P(!1), S = R(!1), _ = R(!1), v = R(!1), b = Pt(), { trackAddToCart: T, trackInitiateCheckout: A } = St(), { trackAddToCart: D, trackInitiateCheckout: M } = _t();
package/dist/index30.mjs CHANGED
@@ -1,25 +1,92 @@
1
1
  'use client';
2
- import "./index59.mjs";
3
- import r from "./index60.mjs";
4
- let e = null;
2
+ import { clsx as u } from "./index60.mjs";
3
+ import { twMerge as a } from "./index61.mjs";
4
+ function g(...t) {
5
+ return a(u(t));
6
+ }
7
+ function m(t) {
8
+ return new Intl.NumberFormat("en-NG", {
9
+ style: "currency",
10
+ currency: "NGN",
11
+ minimumFractionDigits: 0,
12
+ maximumFractionDigits: 0
13
+ }).format(t);
14
+ }
5
15
  function p(t) {
6
- return e = r.create({
7
- baseURL: t.baseURL,
8
- headers: {
9
- "Content-Type": "application/json"
16
+ return (typeof t == "string" ? new Date(t) : t).toLocaleDateString("en-US", {
17
+ year: "numeric",
18
+ month: "long",
19
+ day: "numeric"
20
+ });
21
+ }
22
+ function b(t) {
23
+ return (typeof t == "string" ? new Date(t) : t).toLocaleString("en-US", {
24
+ year: "numeric",
25
+ month: "long",
26
+ day: "numeric",
27
+ hour: "2-digit",
28
+ minute: "2-digit"
29
+ });
30
+ }
31
+ function f(t, e) {
32
+ if (!e) return 0;
33
+ let n = 0;
34
+ const o = Object.keys(e).map(Number).sort((r, c) => c - r);
35
+ for (const r of o)
36
+ if (t >= r) {
37
+ n = e[r];
38
+ break;
10
39
  }
11
- }), e.interceptors.response.use((i) => i, (i) => (t.onError && t.onError(i), Promise.reject(i))), e;
40
+ return n;
41
+ }
42
+ function y(t, e, n) {
43
+ if (e === 1) return t;
44
+ const r = (100 - f(e, n)) / 100;
45
+ return Math.round(t * e * r);
46
+ }
47
+ function w(t) {
48
+ return {
49
+ pending: "bg-yellow-100 text-yellow-800",
50
+ shipped: "bg-blue-100 text-blue-800",
51
+ delivered: "bg-green-100 text-green-800",
52
+ cancelled: "bg-red-100 text-red-800",
53
+ refunded: "bg-purple-100 text-purple-800",
54
+ prospect: "bg-orange-100 text-orange-800"
55
+ }[t] || "bg-gray-100 text-gray-800";
56
+ }
57
+ function i(t) {
58
+ var o;
59
+ if (typeof document > "u") return;
60
+ const n = `; ${document.cookie}`.split(`; ${t}=`);
61
+ if (n.length === 2) return (o = n.pop()) == null ? void 0 : o.split(";").shift();
62
+ }
63
+ function l(t) {
64
+ return typeof window > "u" ? void 0 : new URLSearchParams(window.location.search).get(t) || void 0;
65
+ }
66
+ function x() {
67
+ return {
68
+ fbc: i("_fbc"),
69
+ fbp: i("_fbp")
70
+ };
12
71
  }
13
- function l() {
14
- if (!e)
15
- throw new Error("API client not initialized. Make sure to wrap your app with ApiClientProvider.");
16
- return e;
72
+ function h() {
73
+ return {
74
+ ttp: i("_ttp"),
75
+ ttclid: l("ttclid")
76
+ };
17
77
  }
18
- function a() {
19
- e = null;
78
+ function k(t, e, n) {
79
+ return `${t}_${e}_${n}`;
20
80
  }
21
81
  export {
22
- l as getApiClient,
23
- p as initializeApiClient,
24
- a as resetApiClient
82
+ y as calculateDiscountedPrice,
83
+ g as cn,
84
+ m as formatCurrency,
85
+ p as formatDate,
86
+ b as formatDateTime,
87
+ k as generateClientEventId,
88
+ f as getDiscountPercent,
89
+ x as getFbCookies,
90
+ w as getStatusColor,
91
+ h as getTikTokCookies
25
92
  };
package/dist/index31.mjs CHANGED
@@ -1,41 +1,35 @@
1
1
  'use client';
2
- import { hc as r } from "./index61.mjs";
3
- function t(e) {
4
- const s = `${e}/v1`;
5
- return {
6
- carts: r(`${s}/carts`),
7
- orders: r(`${s}/orders`),
8
- products: r(`${s}/products`),
9
- deliveryZones: r(`${s}/delivery-zones`),
10
- brands: r(`${s}/brands`),
11
- productAddons: r(`${s}/product-addons`)
2
+ import { jsx as r } from "react/jsx-runtime";
3
+ import { createContext as p, useEffect as C, useMemo as f, useContext as m } from "react";
4
+ import { QueryClient as d, QueryClientProvider as x } from "@tanstack/react-query";
5
+ import { initializeApiClient as u } from "./index33.mjs";
6
+ const l = p(null);
7
+ function a({ children: e, baseURL: t = "https://oms-api.instock.ng", getAuthToken: s, onError: i, queryClient: n }) {
8
+ const o = {
9
+ baseURL: t,
10
+ onError: i
12
11
  };
12
+ u(o), C(() => {
13
+ u(o);
14
+ }, [t, i]);
15
+ const c = f(() => n || new d({
16
+ defaultOptions: {
17
+ queries: {
18
+ retry: 1,
19
+ refetchOnWindowFocus: !1,
20
+ staleTime: 5e3
21
+ }
22
+ }
23
+ }), [n]);
24
+ return r(x, { client: c, children: r(l.Provider, { value: { baseURL: t, getAuthToken: s }, children: e }) });
13
25
  }
14
- function o(e) {
15
- const s = `${e}/v1/admin`;
16
- return {
17
- orders: r(`${s}/orders`),
18
- brands: r(`${s}/brands`),
19
- products: r(`${s}/products`),
20
- variants: r(`${s}/variants`),
21
- warehouses: r(`${s}/warehouses`),
22
- inventory: r(`${s}/inventory`),
23
- customers: r(`${s}/customers`),
24
- stats: r(`${s}/stats`),
25
- abandonedCarts: r(`${s}/abandoned-carts`),
26
- discountCodes: r(`${s}/discount-codes`),
27
- deliveryZones: r(`${s}/delivery-zones`),
28
- productAddons: r(`${s}/product-addons`),
29
- media: r(`${s}/media`),
30
- sales: r(`${s}/sales`),
31
- dispatchRiders: r(`${s}/dispatch-riders`)
32
- };
33
- }
34
- function n(e) {
35
- return { headers: { Authorization: `Bearer ${e}` } };
26
+ function y() {
27
+ const e = m(l);
28
+ if (!e)
29
+ throw new Error("useApiClientContext must be used within ApiClientProvider");
30
+ return e;
36
31
  }
37
32
  export {
38
- n as authHeaders,
39
- o as createAdminRpcClients,
40
- t as createRpcClients
33
+ a as ApiClientProvider,
34
+ y as useApiClientContext
41
35
  };
package/dist/index32.mjs CHANGED
@@ -1,43 +1,12 @@
1
1
  'use client';
2
- import { createRpcClients as e } from "./index31.mjs";
3
- const s = "https://oms-api.instock.ng";
4
- async function a(n) {
5
- const t = await e(s).products[":brandSlug"].$get({
6
- param: { brandSlug: n }
7
- });
8
- if (!t.ok)
9
- throw new Error(`Failed to fetch products: ${t.statusText}`);
10
- return t.json();
11
- }
12
- async function i(n) {
13
- const t = await e(s).products.product[":slug"].$get({
14
- param: { slug: n }
15
- });
16
- if (!t.ok)
17
- throw new Error(`Failed to fetch product: ${t.statusText}`);
18
- return t.json();
19
- }
20
- async function u(n, o) {
21
- const r = await e(s).productAddons[":slug"].$get({
22
- param: { slug: n },
23
- query: o !== void 0 ? { limit: String(o) } : {}
24
- });
25
- if (!r.ok)
26
- throw new Error(`Failed to fetch product add-ons: ${r.statusText}`);
27
- return r.json();
28
- }
29
- async function d(n, o) {
30
- const r = await e(s).products.product[":slug"].recommendations.$get({
31
- param: { slug: n },
32
- query: o !== void 0 ? { limit: String(o) } : {}
33
- });
34
- if (!r.ok)
35
- throw new Error(`Failed to fetch product recommendations: ${r.statusText}`);
36
- return r.json();
2
+ import { useApiClientContext as n } from "./index31.mjs";
3
+ function i() {
4
+ const { baseURL: t, getAuthToken: e } = n();
5
+ return {
6
+ baseURL: t,
7
+ getAuthToken: e
8
+ };
37
9
  }
38
10
  export {
39
- u as fetchProductAddons,
40
- i as fetchProductBySlug,
41
- d as fetchProductRecommendations,
42
- a as fetchProductsByBrand
11
+ i as useApiConfig
43
12
  };
package/dist/index33.mjs CHANGED
@@ -1,129 +1,25 @@
1
1
  'use client';
2
- import { createRpcClients as o } from "./index31.mjs";
3
- const r = "https://oms-api.instock.ng";
4
- async function w(s) {
5
- const n = await o(r).carts[":id"].$get({
6
- param: { id: s }
7
- });
8
- if (!n.ok)
9
- throw new Error(`Failed to fetch cart: ${n.statusText}`);
10
- return n.json();
11
- }
12
- async function f(s) {
13
- const n = await o(r).carts.index.$post({
14
- json: { brandSlug: s }
15
- });
16
- if (!n.ok)
17
- throw new Error(`Failed to create cart: ${n.statusText}`);
18
- return n.json();
19
- }
20
- async function h(s, e) {
21
- const t = await o(r).carts[":id"].$patch({
22
- param: { id: s },
23
- // @ts-expect-error - Hono RPC type inference issue
24
- json: e
25
- });
26
- if (!t.ok)
27
- throw new Error(`Failed to update cart: ${t.statusText}`);
28
- return t.json();
29
- }
30
- async function $(s, e, n, t, a, c, d, u, l) {
31
- const i = await o(r).carts[":id"].items.$post({
32
- param: { id: s },
33
- // @ts-expect-error - Hono RPC type inference issue
34
- json: { sku: e, quantity: n, fbc: t, fbp: a, ttp: c, ttclid: d, fromUpsell: u, upsellDiscountPercent: l }
35
- });
36
- if (!i.ok)
37
- throw new Error(`Failed to add item to cart: ${i.statusText}`);
38
- return i.json();
39
- }
40
- async function j(s, e, n) {
41
- const a = await o(r).carts[":id"].items[":itemId"].$patch({
42
- param: { id: s, itemId: e },
43
- // @ts-expect-error - Hono RPC type inference issue
44
- json: { quantity: n }
45
- });
46
- if (!a.ok)
47
- throw new Error(`Failed to update cart item: ${a.statusText}`);
48
- return a.json();
49
- }
50
- async function k(s, e) {
51
- const t = await o(r).carts[":id"].items[":itemId"].$delete({
52
- param: { id: s, itemId: e }
53
- });
54
- if (!t.ok)
55
- throw new Error(`Failed to remove cart item: ${t.statusText}`);
56
- return t.json();
57
- }
58
- async function y(s, e) {
59
- const t = await o(r).carts[":id"]["apply-discount"].$post({
60
- param: { id: s },
61
- // @ts-expect-error - Hono RPC type inference issue
62
- json: { code: e }
63
- });
64
- if (!t.ok)
65
- throw new Error(`Failed to apply discount: ${t.statusText}`);
66
- return t.json();
67
- }
68
- async function x(s) {
69
- const n = await o(r).carts[":id"]["remove-discount"].$post({
70
- param: { id: s }
71
- });
72
- if (!n.ok)
73
- throw new Error(`Failed to remove discount: ${n.statusText}`);
74
- return n.json();
75
- }
76
- async function E(s, e) {
77
- const t = await o(r).carts[":id"].checkout.$post({
78
- param: { id: s },
79
- // @ts-expect-error - Hono RPC type inference issue
80
- json: e
81
- });
82
- if (!t.ok)
83
- throw new Error(`Failed to checkout cart: ${t.statusText}`);
84
- return t.json();
85
- }
86
- async function F(s, e) {
87
- const t = await o(r).carts[":id"]["initiate-checkout"].$post({
88
- param: { id: s },
89
- // @ts-expect-error - Hono RPC type inference issue
90
- json: e
91
- });
92
- if (!t.ok)
93
- throw new Error(`Failed to initiate checkout intent: ${t.statusText}`);
94
- return t.json();
95
- }
96
- async function T(s, e) {
97
- const t = await o(r).carts[":id"]["upsell-addons"].$get({
98
- param: { id: s },
99
- // @ts-ignore - Hono RPC type inference issue with query parameters
100
- query: e ? { limit: String(e) } : {}
101
- });
102
- if (!t.ok)
103
- throw new Error(`Failed to fetch upsell add-ons: ${t.statusText}`);
104
- return t.json();
105
- }
106
- async function C(s, e) {
107
- const t = await o(r).carts[":id"].recommendations.$get({
108
- param: { id: s },
109
- // @ts-ignore - Hono RPC type inference issue with query parameters
110
- query: { limit: e.toString() }
111
- });
112
- if (!t.ok)
113
- throw new Error(`Failed to fetch cart recommendations: ${t.statusText}`);
114
- return t.json();
2
+ import "./index62.mjs";
3
+ import r from "./index63.mjs";
4
+ let e = null;
5
+ function p(t) {
6
+ return e = r.create({
7
+ baseURL: t.baseURL,
8
+ headers: {
9
+ "Content-Type": "application/json"
10
+ }
11
+ }), e.interceptors.response.use((i) => i, (i) => (t.onError && t.onError(i), Promise.reject(i))), e;
12
+ }
13
+ function l() {
14
+ if (!e)
15
+ throw new Error("API client not initialized. Make sure to wrap your app with ApiClientProvider.");
16
+ return e;
17
+ }
18
+ function a() {
19
+ e = null;
115
20
  }
116
21
  export {
117
- $ as addCartItem,
118
- y as applyDiscount,
119
- E as checkoutCart,
120
- f as createCart,
121
- w as fetchCart,
122
- C as fetchCartRecommendations,
123
- T as fetchCartUpsellAddons,
124
- F as initiateCheckout,
125
- k as removeCartItem,
126
- x as removeDiscount,
127
- h as updateCart,
128
- j as updateCartItem
22
+ l as getApiClient,
23
+ p as initializeApiClient,
24
+ a as resetApiClient
129
25
  };