@instockng/storefront-ui 1.0.106 → 1.0.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/dist/components/AssistantDrawer.d.ts +22 -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/contexts/AssistantContext.d.ts +19 -0
  6. package/dist/contexts/AssistantContext.d.ts.map +1 -0
  7. package/dist/index.d.ts +5 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.mjs +144 -138
  10. package/dist/index10.mjs +103 -73
  11. package/dist/index100.mjs +53 -68
  12. package/dist/index101.mjs +6 -37
  13. package/dist/index102.mjs +4 -42
  14. package/dist/index103.mjs +179 -2
  15. package/dist/index104.mjs +53 -6
  16. package/dist/index105.mjs +69 -1134
  17. package/dist/index106.mjs +2 -20
  18. package/dist/index107.mjs +5 -54
  19. package/dist/index108.mjs +1126 -25
  20. package/dist/index109.mjs +20 -2
  21. package/dist/index11.mjs +74 -190
  22. package/dist/index110.mjs +55 -2
  23. package/dist/index111.mjs +33 -2
  24. package/dist/index112.mjs +2 -28
  25. package/dist/index113.mjs +2 -18
  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 +172 -107
  33. package/dist/index120.mjs +12 -9
  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 +127 -98
  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 +94 -90
  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 +84 -149
  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 +157 -203
  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 +2 -38
  86. package/dist/index169.mjs +11 -11
  87. package/dist/index17.mjs +198 -107
  88. package/dist/index170.mjs +25 -11
  89. package/dist/index171.mjs +38 -2
  90. package/dist/index172.mjs +11 -13
  91. package/dist/index173.mjs +11 -39
  92. package/dist/index174.mjs +2 -2
  93. package/dist/index175.mjs +15 -25
  94. package/dist/index176.mjs +39 -11
  95. package/dist/index178.mjs +30 -2
  96. package/dist/index179.mjs +18 -2
  97. package/dist/index18.mjs +97 -130
  98. package/dist/index181.mjs +2 -72
  99. package/dist/index182.mjs +2 -2
  100. package/dist/index183.mjs +2 -53
  101. package/dist/index184.mjs +72 -2
  102. package/dist/index185.mjs +2 -36
  103. package/dist/index186.mjs +38 -137
  104. package/dist/index187.mjs +2 -2
  105. package/dist/index188.mjs +36 -2
  106. package/dist/index189.mjs +147 -14
  107. package/dist/index19.mjs +140 -87
  108. package/dist/index191.mjs +2 -2
  109. package/dist/index192.mjs +10 -17
  110. package/dist/index193.mjs +2 -2
  111. package/dist/index194.mjs +2 -2
  112. package/dist/index195.mjs +18 -16
  113. package/dist/index196.mjs +2 -23
  114. package/dist/index197.mjs +2 -2
  115. package/dist/index198.mjs +24 -2
  116. package/dist/index199.mjs +23 -2
  117. package/dist/index2.mjs +30 -16
  118. package/dist/index20.mjs +82 -708
  119. package/dist/index200.mjs +2 -23
  120. package/dist/index201.mjs +2 -2
  121. package/dist/index202.mjs +2 -23
  122. package/dist/index203.mjs +23 -2
  123. package/dist/index204.mjs +2 -2
  124. package/dist/index205.mjs +23 -2
  125. package/dist/index206.mjs +2 -23
  126. package/dist/index207.mjs +2 -2
  127. package/dist/index208.mjs +2 -23
  128. package/dist/index209.mjs +23 -2
  129. package/dist/index21.mjs +718 -54
  130. package/dist/index210.mjs +2 -2
  131. package/dist/index211.mjs +23 -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/index216.mjs +2 -2
  136. package/dist/index217.mjs +2 -127
  137. package/dist/index218.mjs +2 -2
  138. package/dist/index219.mjs +2 -74
  139. package/dist/index22.mjs +263 -62
  140. package/dist/index220.mjs +123 -70
  141. package/dist/index221.mjs +2 -13
  142. package/dist/index222.mjs +74 -7
  143. package/dist/index223.mjs +73 -30
  144. package/dist/index224.mjs +30 -10
  145. package/dist/index225.mjs +10 -3
  146. package/dist/index226.mjs +3 -3
  147. package/dist/index227.mjs +3 -11
  148. package/dist/index228.mjs +13 -5
  149. package/dist/index229.mjs +7 -33
  150. package/dist/index23.mjs +44 -23
  151. package/dist/index230.mjs +11 -30
  152. package/dist/index231.mjs +5 -28
  153. package/dist/index232.mjs +33 -61
  154. package/dist/index233.mjs +31 -2
  155. package/dist/index234.mjs +28 -2
  156. package/dist/index235.mjs +61 -2
  157. package/dist/index236.mjs +2 -2
  158. package/dist/index237.mjs +108 -2
  159. package/dist/index238.mjs +2 -2
  160. package/dist/index239.mjs +2 -2
  161. package/dist/index24.mjs +55 -104
  162. package/dist/index240.mjs +2 -2
  163. package/dist/index241.mjs +2 -108
  164. package/dist/index242.mjs +2 -2
  165. package/dist/index244.mjs +2 -37
  166. package/dist/index245.mjs +2 -2
  167. package/dist/index246.mjs +2 -244
  168. package/dist/index247.mjs +37 -2
  169. package/dist/index248.mjs +2 -33
  170. package/dist/index249.mjs +2 -65
  171. package/dist/index25.mjs +62 -42
  172. package/dist/index250.mjs +243 -24
  173. package/dist/index251.mjs +2 -2
  174. package/dist/index252.mjs +33 -2
  175. package/dist/index253.mjs +65 -2
  176. package/dist/index254.mjs +25 -2
  177. package/dist/index255.mjs +2 -2
  178. package/dist/index256.mjs +2 -2
  179. package/dist/index257.mjs +2 -2
  180. package/dist/index259.mjs +2 -2
  181. package/dist/index26.mjs +22 -40
  182. package/dist/index260.mjs +2 -2
  183. package/dist/index261.mjs +2 -4
  184. package/dist/index262.mjs +2 -2
  185. package/dist/index263.mjs +2 -2
  186. package/dist/index264.mjs +4 -3
  187. package/dist/index265.mjs +2 -2
  188. package/dist/index266.mjs +2 -2
  189. package/dist/index267.mjs +3 -17
  190. package/dist/index268.mjs +2 -13
  191. package/dist/index269.mjs +2 -6
  192. package/dist/index27.mjs +107 -87
  193. package/dist/index270.mjs +17 -30
  194. package/dist/index271.mjs +13 -2
  195. package/dist/index272.mjs +6 -2
  196. package/dist/index273.mjs +29 -17
  197. package/dist/index274.mjs +2 -47
  198. package/dist/index275.mjs +2 -2
  199. package/dist/index276.mjs +18 -2
  200. package/dist/index277.mjs +47 -2
  201. package/dist/index278.mjs +2 -2
  202. package/dist/index279.mjs +2 -91
  203. package/dist/index28.mjs +42 -32
  204. package/dist/index280.mjs +2 -2
  205. package/dist/index282.mjs +91 -2
  206. package/dist/index283.mjs +2 -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 +7 -7
  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 +34 -101
  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 +92 -102
  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 +111 -15
  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 +15 -195
  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 +4 -152
  266. package/dist/index8.mjs +136 -190
  267. package/dist/index80.mjs +23 -4
  268. package/dist/index81.mjs +2 -75
  269. package/dist/index82.mjs +153 -15
  270. package/dist/index83.mjs +21 -61
  271. package/dist/index84.mjs +69 -229
  272. package/dist/index85.mjs +15 -6
  273. package/dist/index86.mjs +55 -126
  274. package/dist/index87.mjs +33 -64
  275. package/dist/index88.mjs +40 -84
  276. package/dist/index89.mjs +229 -23
  277. package/dist/index9.mjs +240 -99
  278. package/dist/index90.mjs +5 -8
  279. package/dist/index91.mjs +125 -66
  280. package/dist/index92.mjs +67 -3
  281. package/dist/index93.mjs +87 -2
  282. package/dist/index94.mjs +24 -78
  283. package/dist/index95.mjs +7 -52
  284. package/dist/index96.mjs +74 -5
  285. package/dist/index97.mjs +3 -4
  286. package/dist/index98.mjs +2 -179
  287. package/dist/index99.mjs +79 -49
  288. package/dist/providers/StorefrontProvider.d.ts +3 -1
  289. package/dist/providers/StorefrontProvider.d.ts.map +1 -1
  290. package/dist/styles.css +1 -1
  291. package/package.json +1 -1
  292. package/src/components/AssistantDrawer.stories.tsx +90 -0
  293. package/src/components/AssistantDrawer.tsx +426 -0
  294. package/src/components/ProductAssistantChips.stories.tsx +42 -0
  295. package/src/components/ProductAssistantChips.tsx +64 -0
  296. package/src/contexts/AssistantContext.tsx +62 -0
  297. package/src/index.ts +11 -0
  298. package/src/providers/StorefrontProvider.tsx +17 -2
package/dist/index279.mjs CHANGED
@@ -1,94 +1,5 @@
1
1
  'use client';
2
- import { __module as c } from "./index283.mjs";
3
- var l;
4
- function T() {
5
- return l ? c.exports : (l = 1, (() => {
6
- typeof __nccwpck_require__ < "u" && (__nccwpck_require__.ab = __dirname + "/");
7
- var m = {};
8
- (() => {
9
- var v = m;
10
- /*!
11
- * cookie
12
- * Copyright(c) 2012-2014 Roman Shtylman
13
- * Copyright(c) 2015 Douglas Christopher Wilson
14
- * MIT Licensed
15
- */
16
- v.parse = S, v.serialize = x;
17
- var w = decodeURIComponent, h = encodeURIComponent, y = /; */, f = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
18
- function S(i, n) {
19
- if (typeof i != "string")
20
- throw new TypeError("argument str must be a string");
21
- for (var a = {}, e = n || {}, o = i.split(y), s = e.decode || w, r = 0; r < o.length; r++) {
22
- var t = o[r], p = t.indexOf("=");
23
- if (!(p < 0)) {
24
- var d = t.substr(0, p).trim(), u = t.substr(++p, t.length).trim();
25
- u[0] == '"' && (u = u.slice(1, -1)), a[d] == null && (a[d] = _(u, s));
26
- }
27
- }
28
- return a;
29
- }
30
- function x(i, n, a) {
31
- var e = a || {}, o = e.encode || h;
32
- if (typeof o != "function")
33
- throw new TypeError("option encode is invalid");
34
- if (!f.test(i))
35
- throw new TypeError("argument name is invalid");
36
- var s = o(n);
37
- if (s && !f.test(s))
38
- throw new TypeError("argument val is invalid");
39
- var r = i + "=" + s;
40
- if (e.maxAge != null) {
41
- var t = e.maxAge - 0;
42
- if (isNaN(t) || !isFinite(t))
43
- throw new TypeError("option maxAge is invalid");
44
- r += "; Max-Age=" + Math.floor(t);
45
- }
46
- if (e.domain) {
47
- if (!f.test(e.domain))
48
- throw new TypeError("option domain is invalid");
49
- r += "; Domain=" + e.domain;
50
- }
51
- if (e.path) {
52
- if (!f.test(e.path))
53
- throw new TypeError("option path is invalid");
54
- r += "; Path=" + e.path;
55
- }
56
- if (e.expires) {
57
- if (typeof e.expires.toUTCString != "function")
58
- throw new TypeError("option expires is invalid");
59
- r += "; Expires=" + e.expires.toUTCString();
60
- }
61
- if (e.httpOnly && (r += "; HttpOnly"), e.secure && (r += "; Secure"), e.sameSite) {
62
- var p = typeof e.sameSite == "string" ? e.sameSite.toLowerCase() : e.sameSite;
63
- switch (p) {
64
- case !0:
65
- r += "; SameSite=Strict";
66
- break;
67
- case "lax":
68
- r += "; SameSite=Lax";
69
- break;
70
- case "strict":
71
- r += "; SameSite=Strict";
72
- break;
73
- case "none":
74
- r += "; SameSite=None";
75
- break;
76
- default:
77
- throw new TypeError("option sameSite is invalid");
78
- }
79
- }
80
- return r;
81
- }
82
- function _(i, n) {
83
- try {
84
- return n(i);
85
- } catch {
86
- return i;
87
- }
88
- }
89
- })(), c.exports = m;
90
- })(), c.exports);
91
- }
2
+ var r = {};
92
3
  export {
93
- T as __require
4
+ r as __exports
94
5
  };
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,5 @@
1
1
  'use client';
2
- const e = {};
2
+ var e = { exports: {} };
3
3
  export {
4
- e as default
4
+ e as __module
5
5
  };
package/dist/index282.mjs CHANGED
@@ -1,5 +1,94 @@
1
1
  'use client';
2
- var e = {};
2
+ import { __module as c } from "./index286.mjs";
3
+ var l;
4
+ function T() {
5
+ return l ? c.exports : (l = 1, (() => {
6
+ typeof __nccwpck_require__ < "u" && (__nccwpck_require__.ab = __dirname + "/");
7
+ var m = {};
8
+ (() => {
9
+ var v = m;
10
+ /*!
11
+ * cookie
12
+ * Copyright(c) 2012-2014 Roman Shtylman
13
+ * Copyright(c) 2015 Douglas Christopher Wilson
14
+ * MIT Licensed
15
+ */
16
+ v.parse = S, v.serialize = x;
17
+ var w = decodeURIComponent, h = encodeURIComponent, y = /; */, f = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
18
+ function S(i, n) {
19
+ if (typeof i != "string")
20
+ throw new TypeError("argument str must be a string");
21
+ for (var a = {}, e = n || {}, o = i.split(y), s = e.decode || w, r = 0; r < o.length; r++) {
22
+ var t = o[r], p = t.indexOf("=");
23
+ if (!(p < 0)) {
24
+ var d = t.substr(0, p).trim(), u = t.substr(++p, t.length).trim();
25
+ u[0] == '"' && (u = u.slice(1, -1)), a[d] == null && (a[d] = _(u, s));
26
+ }
27
+ }
28
+ return a;
29
+ }
30
+ function x(i, n, a) {
31
+ var e = a || {}, o = e.encode || h;
32
+ if (typeof o != "function")
33
+ throw new TypeError("option encode is invalid");
34
+ if (!f.test(i))
35
+ throw new TypeError("argument name is invalid");
36
+ var s = o(n);
37
+ if (s && !f.test(s))
38
+ throw new TypeError("argument val is invalid");
39
+ var r = i + "=" + s;
40
+ if (e.maxAge != null) {
41
+ var t = e.maxAge - 0;
42
+ if (isNaN(t) || !isFinite(t))
43
+ throw new TypeError("option maxAge is invalid");
44
+ r += "; Max-Age=" + Math.floor(t);
45
+ }
46
+ if (e.domain) {
47
+ if (!f.test(e.domain))
48
+ throw new TypeError("option domain is invalid");
49
+ r += "; Domain=" + e.domain;
50
+ }
51
+ if (e.path) {
52
+ if (!f.test(e.path))
53
+ throw new TypeError("option path is invalid");
54
+ r += "; Path=" + e.path;
55
+ }
56
+ if (e.expires) {
57
+ if (typeof e.expires.toUTCString != "function")
58
+ throw new TypeError("option expires is invalid");
59
+ r += "; Expires=" + e.expires.toUTCString();
60
+ }
61
+ if (e.httpOnly && (r += "; HttpOnly"), e.secure && (r += "; Secure"), e.sameSite) {
62
+ var p = typeof e.sameSite == "string" ? e.sameSite.toLowerCase() : e.sameSite;
63
+ switch (p) {
64
+ case !0:
65
+ r += "; SameSite=Strict";
66
+ break;
67
+ case "lax":
68
+ r += "; SameSite=Lax";
69
+ break;
70
+ case "strict":
71
+ r += "; SameSite=Strict";
72
+ break;
73
+ case "none":
74
+ r += "; SameSite=None";
75
+ break;
76
+ default:
77
+ throw new TypeError("option sameSite is invalid");
78
+ }
79
+ }
80
+ return r;
81
+ }
82
+ function _(i, n) {
83
+ try {
84
+ return n(i);
85
+ } catch {
86
+ return i;
87
+ }
88
+ }
89
+ })(), c.exports = m;
90
+ })(), c.exports);
91
+ }
3
92
  export {
4
- e as __exports
93
+ T as __require
5
94
  };
package/dist/index283.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- var o = { exports: {} };
2
+ const e = {};
3
3
  export {
4
- o as __module
4
+ e as default
5
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 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
- import { ShoppingCart as Rt } from "./index16.mjs";
9
- import { useMetaPixel as St } from "./index4.mjs";
10
- import { useTikTokPixel as _t } from "./index5.mjs";
11
- import { getFbCookies as $, getTikTokCookies as G, generateClientEventId as bt } from "./index27.mjs";
8
+ import { ShoppingCart as Rt } from "./index17.mjs";
9
+ import { useMetaPixel as St } from "./index5.mjs";
10
+ import { useTikTokPixel as _t } from "./index6.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
  };