@instockng/storefront-ui 1.0.106 → 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 (296) 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/ProductAssistantChips.d.ts +13 -0
  4. package/dist/components/ProductAssistantChips.d.ts.map +1 -0
  5. package/dist/components/SearchAssistantTrigger.d.ts +12 -0
  6. package/dist/components/SearchAssistantTrigger.d.ts.map +1 -0
  7. package/dist/index.d.ts +6 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.mjs +127 -121
  10. package/dist/index10.mjs +3 -3
  11. package/dist/index100.mjs +8 -68
  12. package/dist/index101.mjs +71 -33
  13. package/dist/index102.mjs +3 -42
  14. package/dist/index103.mjs +2 -2
  15. package/dist/index104.mjs +82 -5
  16. package/dist/index105.mjs +53 -1133
  17. package/dist/index106.mjs +5 -19
  18. package/dist/index107.mjs +4 -54
  19. package/dist/index108.mjs +174 -28
  20. package/dist/index109.mjs +53 -2
  21. package/dist/index11.mjs +5 -5
  22. package/dist/index110.mjs +69 -2
  23. package/dist/index111.mjs +2 -2
  24. package/dist/index112.mjs +35 -26
  25. package/dist/index113.mjs +42 -17
  26. package/dist/index114.mjs +2 -215
  27. package/dist/index115.mjs +26 -178
  28. package/dist/index116.mjs +10 -14
  29. package/dist/index117.mjs +209 -17
  30. package/dist/index118.mjs +173 -26
  31. package/dist/index119.mjs +17 -151
  32. package/dist/index12.mjs +4 -4
  33. package/dist/index120.mjs +13 -10
  34. package/dist/index121.mjs +24 -22
  35. package/dist/index122.mjs +148 -76
  36. package/dist/index123.mjs +13 -31
  37. package/dist/index124.mjs +24 -138
  38. package/dist/index125.mjs +78 -49
  39. package/dist/index126.mjs +32 -17
  40. package/dist/index127.mjs +139 -21
  41. package/dist/index128.mjs +51 -19
  42. package/dist/index129.mjs +16 -18
  43. package/dist/index13.mjs +3 -3
  44. package/dist/index130.mjs +18 -12
  45. package/dist/index131.mjs +15 -14
  46. package/dist/index132.mjs +17 -13
  47. package/dist/index133.mjs +14 -58
  48. package/dist/index134.mjs +15 -11
  49. package/dist/index135.mjs +14 -32
  50. package/dist/index136.mjs +57 -16
  51. package/dist/index137.mjs +11 -27
  52. package/dist/index138.mjs +31 -19
  53. package/dist/index139.mjs +17 -12
  54. package/dist/index14.mjs +1 -1
  55. package/dist/index140.mjs +27 -14
  56. package/dist/index141.mjs +20 -40
  57. package/dist/index142.mjs +11 -15
  58. package/dist/index143.mjs +17 -264
  59. package/dist/index144.mjs +40 -63
  60. package/dist/index145.mjs +22 -7
  61. package/dist/index146.mjs +268 -2
  62. package/dist/index147.mjs +70 -2
  63. package/dist/index148.mjs +7 -32
  64. package/dist/index149.mjs +2 -2
  65. package/dist/index15.mjs +1 -1
  66. package/dist/index150.mjs +2 -21
  67. package/dist/index151.mjs +31 -54
  68. package/dist/index152.mjs +2 -29
  69. package/dist/index153.mjs +20 -6
  70. package/dist/index154.mjs +53 -49
  71. package/dist/index155.mjs +29 -6
  72. package/dist/index156.mjs +6 -11
  73. package/dist/index157.mjs +49 -4
  74. package/dist/index158.mjs +5 -27
  75. package/dist/index159.mjs +12 -2
  76. package/dist/index16.mjs +6 -6
  77. package/dist/index160.mjs +6 -69
  78. package/dist/index161.mjs +27 -166
  79. package/dist/index162.mjs +2 -2
  80. package/dist/index163.mjs +70 -2
  81. package/dist/index164.mjs +167 -2
  82. package/dist/index165.mjs +2 -2
  83. package/dist/index166.mjs +2 -18
  84. package/dist/index167.mjs +2 -32
  85. package/dist/index168.mjs +14 -34
  86. package/dist/index169.mjs +25 -11
  87. package/dist/index17.mjs +4 -4
  88. package/dist/index170.mjs +34 -14
  89. package/dist/index171.mjs +18 -2
  90. package/dist/index172.mjs +11 -13
  91. package/dist/index173.mjs +2 -46
  92. package/dist/index174.mjs +20 -2
  93. package/dist/index175.mjs +41 -25
  94. package/dist/index176.mjs +2 -18
  95. package/dist/index177.mjs +30 -2
  96. package/dist/index178.mjs +18 -2
  97. package/dist/index179.mjs +2 -2
  98. package/dist/index18.mjs +5 -5
  99. package/dist/index180.mjs +2 -2
  100. package/dist/index181.mjs +2 -72
  101. package/dist/index182.mjs +2 -2
  102. package/dist/index183.mjs +59 -40
  103. package/dist/index185.mjs +48 -31
  104. package/dist/index186.mjs +2 -152
  105. package/dist/index187.mjs +36 -2
  106. package/dist/index188.mjs +152 -2
  107. package/dist/index189.mjs +2 -19
  108. package/dist/index19.mjs +3 -3
  109. package/dist/index190.mjs +2 -2
  110. package/dist/index191.mjs +19 -2
  111. package/dist/index192.mjs +2 -26
  112. package/dist/index193.mjs +2 -2
  113. package/dist/index194.mjs +26 -2
  114. package/dist/index195.mjs +2 -24
  115. package/dist/index196.mjs +2 -23
  116. package/dist/index197.mjs +24 -2
  117. package/dist/index198.mjs +23 -2
  118. package/dist/index199.mjs +2 -2
  119. package/dist/index2.mjs +2 -2
  120. package/dist/index20.mjs +11 -11
  121. package/dist/index200.mjs +2 -23
  122. package/dist/index202.mjs +16 -16
  123. package/dist/index203.mjs +2 -2
  124. package/dist/index204.mjs +23 -2
  125. package/dist/index205.mjs +2 -2
  126. package/dist/index206.mjs +2 -23
  127. package/dist/index207.mjs +2 -2
  128. package/dist/index208.mjs +15 -15
  129. package/dist/index21.mjs +256 -51
  130. package/dist/index210.mjs +23 -2
  131. package/dist/index211.mjs +2 -2
  132. package/dist/index212.mjs +2 -2
  133. package/dist/index213.mjs +2 -2
  134. package/dist/index215.mjs +2 -2
  135. package/dist/index217.mjs +2 -127
  136. package/dist/index218.mjs +2 -2
  137. package/dist/index219.mjs +123 -70
  138. package/dist/index22.mjs +45 -62
  139. package/dist/index220.mjs +2 -74
  140. package/dist/index221.mjs +74 -13
  141. package/dist/index222.mjs +74 -7
  142. package/dist/index223.mjs +2 -31
  143. package/dist/index224.mjs +13 -11
  144. package/dist/index225.mjs +7 -4
  145. package/dist/index226.mjs +11 -3
  146. package/dist/index227.mjs +4 -11
  147. package/dist/index228.mjs +33 -5
  148. package/dist/index229.mjs +31 -33
  149. package/dist/index23.mjs +22 -22
  150. package/dist/index230.mjs +26 -29
  151. package/dist/index231.mjs +59 -26
  152. package/dist/index232.mjs +28 -58
  153. package/dist/index233.mjs +11 -2
  154. package/dist/index234.mjs +4 -2
  155. package/dist/index235.mjs +4 -2
  156. package/dist/index236.mjs +2 -2
  157. package/dist/index237.mjs +2 -2
  158. package/dist/index238.mjs +2 -2
  159. package/dist/index239.mjs +2 -2
  160. package/dist/index24.mjs +55 -104
  161. package/dist/index240.mjs +2 -2
  162. package/dist/index241.mjs +2 -108
  163. package/dist/index242.mjs +2 -2
  164. package/dist/index243.mjs +2 -2
  165. package/dist/index244.mjs +96 -25
  166. package/dist/index246.mjs +2 -244
  167. package/dist/index247.mjs +37 -2
  168. package/dist/index248.mjs +2 -33
  169. package/dist/index249.mjs +2 -65
  170. package/dist/index25.mjs +62 -42
  171. package/dist/index250.mjs +243 -24
  172. package/dist/index251.mjs +2 -2
  173. package/dist/index252.mjs +33 -2
  174. package/dist/index253.mjs +65 -2
  175. package/dist/index254.mjs +25 -2
  176. package/dist/index255.mjs +2 -2
  177. package/dist/index256.mjs +2 -2
  178. package/dist/index257.mjs +2 -2
  179. package/dist/index259.mjs +2 -2
  180. package/dist/index26.mjs +22 -40
  181. package/dist/index260.mjs +2 -2
  182. package/dist/index261.mjs +2 -4
  183. package/dist/index262.mjs +2 -2
  184. package/dist/index263.mjs +4 -2
  185. package/dist/index264.mjs +2 -3
  186. package/dist/index265.mjs +2 -2
  187. package/dist/index266.mjs +2 -2
  188. package/dist/index267.mjs +2 -17
  189. package/dist/index268.mjs +2 -13
  190. package/dist/index269.mjs +18 -6
  191. package/dist/index27.mjs +107 -87
  192. package/dist/index270.mjs +45 -28
  193. package/dist/index271.mjs +2 -2
  194. package/dist/index272.mjs +2 -2
  195. package/dist/index273.mjs +2 -18
  196. package/dist/index274.mjs +2 -47
  197. package/dist/index275.mjs +91 -2
  198. package/dist/index276.mjs +2 -2
  199. package/dist/index277.mjs +3 -2
  200. package/dist/index278.mjs +2 -2
  201. package/dist/index279.mjs +2 -91
  202. package/dist/index28.mjs +42 -32
  203. package/dist/index280.mjs +17 -2
  204. package/dist/index281.mjs +13 -2
  205. package/dist/index282.mjs +6 -2
  206. package/dist/index283.mjs +30 -2
  207. package/dist/index284.mjs +5 -0
  208. package/dist/index285.mjs +5 -0
  209. package/dist/index286.mjs +5 -0
  210. package/dist/index29.mjs +42 -9
  211. package/dist/index3.mjs +4 -4
  212. package/dist/index30.mjs +84 -17
  213. package/dist/index31.mjs +29 -35
  214. package/dist/index32.mjs +8 -39
  215. package/dist/index33.mjs +21 -125
  216. package/dist/index34.mjs +35 -46
  217. package/dist/index35.mjs +38 -9
  218. package/dist/index36.mjs +121 -6
  219. package/dist/index37.mjs +49 -123
  220. package/dist/index38.mjs +11 -28
  221. package/dist/index39.mjs +11 -91
  222. package/dist/index4.mjs +1 -1
  223. package/dist/index40.mjs +121 -123
  224. package/dist/index41.mjs +28 -11
  225. package/dist/index42.mjs +91 -35
  226. package/dist/index43.mjs +116 -37
  227. package/dist/index44.mjs +9 -9
  228. package/dist/index45.mjs +33 -121
  229. package/dist/index46.mjs +42 -385
  230. package/dist/index47.mjs +10 -24
  231. package/dist/index48.mjs +122 -31
  232. package/dist/index49.mjs +388 -27
  233. package/dist/index5.mjs +1 -1
  234. package/dist/index50.mjs +24 -6
  235. package/dist/index51.mjs +30 -1431
  236. package/dist/index52.mjs +26 -68
  237. package/dist/index53.mjs +7 -2
  238. package/dist/index54.mjs +1425 -52
  239. package/dist/index55.mjs +69 -50
  240. package/dist/index56.mjs +2 -33
  241. package/dist/index57.mjs +59 -14
  242. package/dist/index58.mjs +47 -2259
  243. package/dist/index59.mjs +33 -36
  244. package/dist/index6.mjs +1 -1
  245. package/dist/index60.mjs +14 -43
  246. package/dist/index61.mjs +2256 -96
  247. package/dist/index62.mjs +36 -81
  248. package/dist/index63.mjs +43 -18
  249. package/dist/index64.mjs +102 -128
  250. package/dist/index65.mjs +45 -89
  251. package/dist/index66.mjs +15 -75
  252. package/dist/index67.mjs +84 -130
  253. package/dist/index68.mjs +84 -66
  254. package/dist/index69.mjs +69 -26
  255. package/dist/index7.mjs +6 -6
  256. package/dist/index70.mjs +138 -58
  257. package/dist/index71.mjs +82 -56
  258. package/dist/index72.mjs +28 -55
  259. package/dist/index73.mjs +79 -46
  260. package/dist/index74.mjs +58 -112
  261. package/dist/index75.mjs +47 -54
  262. package/dist/index76.mjs +60 -22
  263. package/dist/index77.mjs +135 -2
  264. package/dist/index78.mjs +68 -21
  265. package/dist/index79.mjs +21 -150
  266. package/dist/index8.mjs +6 -6
  267. package/dist/index80.mjs +2 -5
  268. package/dist/index81.mjs +149 -71
  269. package/dist/index82.mjs +23 -15
  270. package/dist/index83.mjs +68 -56
  271. package/dist/index84.mjs +14 -234
  272. package/dist/index85.mjs +62 -5
  273. package/dist/index86.mjs +4 -133
  274. package/dist/index87.mjs +2 -68
  275. package/dist/index88.mjs +5 -86
  276. package/dist/index89.mjs +1133 -28
  277. package/dist/index9.mjs +4 -4
  278. package/dist/index90.mjs +19 -8
  279. package/dist/index91.mjs +51 -71
  280. package/dist/index92.mjs +32 -3
  281. package/dist/index93.mjs +2 -2
  282. package/dist/index94.mjs +227 -75
  283. package/dist/index95.mjs +5 -53
  284. package/dist/index96.mjs +133 -5
  285. package/dist/index97.mjs +67 -4
  286. package/dist/index98.mjs +79 -171
  287. package/dist/index99.mjs +27 -51
  288. package/dist/styles.css +1 -1
  289. package/package.json +1 -1
  290. package/src/components/AssistantDrawer.stories.tsx +140 -0
  291. package/src/components/AssistantDrawer.tsx +430 -0
  292. package/src/components/ProductAssistantChips.stories.tsx +42 -0
  293. package/src/components/ProductAssistantChips.tsx +64 -0
  294. package/src/components/SearchAssistantTrigger.stories.tsx +35 -0
  295. package/src/components/SearchAssistantTrigger.tsx +41 -0
  296. package/src/index.ts +10 -0
package/dist/index28.mjs CHANGED
@@ -1,35 +1,45 @@
1
1
  'use client';
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 "./index30.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
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 }) });
25
- }
26
- function y() {
27
- const e = m(l);
28
- if (!e)
29
- throw new Error("useApiClientContext must be used within ApiClientProvider");
30
- return e;
31
- }
2
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
3
+ import u from "react";
4
+ import { cn as a } from "./index30.mjs";
5
+ const f = u.forwardRef(
6
+ ({
7
+ label: o,
8
+ error: r,
9
+ icon: t,
10
+ className: c,
11
+ containerClassName: d,
12
+ required: m,
13
+ disabled: s,
14
+ ...n
15
+ }, i) => /* @__PURE__ */ l("div", { className: a("w-full", d), children: [
16
+ o && /* @__PURE__ */ l("label", { className: "mb-1.5 block text-sm font-medium text-gray-700", children: [
17
+ o,
18
+ m && /* @__PURE__ */ e("span", { className: "ml-1 text-red-600", children: "*" })
19
+ ] }),
20
+ /* @__PURE__ */ l("div", { className: "relative", children: [
21
+ t && /* @__PURE__ */ e("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-gray-400", children: t }),
22
+ /* @__PURE__ */ e(
23
+ "input",
24
+ {
25
+ ref: i,
26
+ disabled: s,
27
+ className: a(
28
+ "w-full rounded-lg border px-3 py-2.5 text-sm transition-colors",
29
+ "focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",
30
+ t && "pl-10",
31
+ r ? "border-red-500 focus:border-red-500 focus:ring-red-500" : "border-gray-300 focus:border-blue-500",
32
+ s && "bg-gray-50 text-gray-500 cursor-not-allowed",
33
+ c
34
+ ),
35
+ ...n
36
+ }
37
+ )
38
+ ] }),
39
+ r && /* @__PURE__ */ e("p", { className: "mt-1.5 text-sm text-red-600", role: "alert", children: r })
40
+ ] })
41
+ );
42
+ f.displayName = "FormInput";
32
43
  export {
33
- a as ApiClientProvider,
34
- y as useApiClientContext
44
+ f as FormInput
35
45
  };
package/dist/index280.mjs CHANGED
@@ -1,5 +1,20 @@
1
1
  'use client';
2
- const e = {};
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
+ }
3
18
  export {
4
- e as default
19
+ y as default
5
20
  };
package/dist/index281.mjs CHANGED
@@ -1,5 +1,16 @@
1
1
  'use client';
2
- var e = {};
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
- e as __exports
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 o = { exports: {} };
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
- o as __module
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
  };