@instockng/storefront-ui 1.0.55 → 1.0.57

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 (283) hide show
  1. package/dist/components/ProductAddOns.d.ts +21 -0
  2. package/dist/components/ProductAddOns.d.ts.map +1 -0
  3. package/dist/components/ui/switch.d.ts +8 -0
  4. package/dist/components/ui/switch.d.ts.map +1 -0
  5. package/dist/index.d.ts +4 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.mjs +109 -103
  8. package/dist/index10.mjs +147 -91
  9. package/dist/index100.mjs +53 -2
  10. package/dist/index101.mjs +69 -28
  11. package/dist/index102.mjs +2 -18
  12. package/dist/index103.mjs +26 -213
  13. package/dist/index104.mjs +13 -175
  14. package/dist/index105.mjs +210 -17
  15. package/dist/index106.mjs +174 -17
  16. package/dist/index107.mjs +14 -25
  17. package/dist/index108.mjs +17 -150
  18. package/dist/index109.mjs +26 -13
  19. package/dist/index11.mjs +95 -171
  20. package/dist/index110.mjs +149 -24
  21. package/dist/index111.mjs +13 -77
  22. package/dist/index112.mjs +20 -27
  23. package/dist/index113.mjs +76 -137
  24. package/dist/index114.mjs +33 -50
  25. package/dist/index115.mjs +141 -19
  26. package/dist/index116.mjs +50 -22
  27. package/dist/index117.mjs +14 -14
  28. package/dist/index118.mjs +20 -18
  29. package/dist/index119.mjs +16 -14
  30. package/dist/index12.mjs +90 -90
  31. package/dist/index120.mjs +17 -14
  32. package/dist/index121.mjs +12 -12
  33. package/dist/index122.mjs +15 -58
  34. package/dist/index123.mjs +14 -11
  35. package/dist/index124.mjs +56 -30
  36. package/dist/index125.mjs +9 -15
  37. package/dist/index126.mjs +31 -26
  38. package/dist/index127.mjs +13 -16
  39. package/dist/index128.mjs +26 -11
  40. package/dist/index129.mjs +18 -12
  41. package/dist/index13.mjs +162 -717
  42. package/dist/index130.mjs +12 -40
  43. package/dist/index131.mjs +14 -16
  44. package/dist/index132.mjs +42 -263
  45. package/dist/index133.mjs +15 -62
  46. package/dist/index134.mjs +267 -7
  47. package/dist/index135.mjs +70 -2
  48. package/dist/index136.mjs +8 -2
  49. package/dist/index137.mjs +2 -33
  50. package/dist/index138.mjs +2 -2
  51. package/dist/index139.mjs +33 -2
  52. package/dist/index14.mjs +94 -56
  53. package/dist/index140.mjs +2 -2
  54. package/dist/index141.mjs +21 -2
  55. package/dist/index142.mjs +56 -2
  56. package/dist/index143.mjs +28 -17
  57. package/dist/index144.mjs +6 -31
  58. package/dist/index145.mjs +50 -36
  59. package/dist/index146.mjs +6 -18
  60. package/dist/index147.mjs +11 -17
  61. package/dist/index148.mjs +7 -2
  62. package/dist/index149.mjs +28 -20
  63. package/dist/index15.mjs +734 -62
  64. package/dist/index150.mjs +2 -46
  65. package/dist/index151.mjs +70 -2
  66. package/dist/index152.mjs +164 -27
  67. package/dist/index153.mjs +2 -18
  68. package/dist/index154.mjs +2 -2
  69. package/dist/index155.mjs +2 -2
  70. package/dist/index156.mjs +18 -2
  71. package/dist/index157.mjs +32 -2
  72. package/dist/index158.mjs +28 -62
  73. package/dist/index159.mjs +18 -2
  74. package/dist/index16.mjs +50 -14
  75. package/dist/index160.mjs +13 -48
  76. package/dist/index161.mjs +2 -2
  77. package/dist/index162.mjs +14 -30
  78. package/dist/index163.mjs +39 -145
  79. package/dist/index164.mjs +2 -2
  80. package/dist/index165.mjs +30 -2
  81. package/dist/index166.mjs +11 -12
  82. package/dist/index167.mjs +2 -2
  83. package/dist/index168.mjs +2 -2
  84. package/dist/index169.mjs +2 -26
  85. package/dist/index17.mjs +62 -109
  86. package/dist/index171.mjs +72 -2
  87. package/dist/index172.mjs +2 -24
  88. package/dist/index173.mjs +48 -18
  89. package/dist/index174.mjs +2 -2
  90. package/dist/index175.mjs +36 -2
  91. package/dist/index176.mjs +152 -2
  92. package/dist/index177.mjs +2 -23
  93. package/dist/index178.mjs +2 -2
  94. package/dist/index179.mjs +11 -15
  95. package/dist/index18.mjs +23 -41
  96. package/dist/index180.mjs +2 -2
  97. package/dist/index181.mjs +2 -2
  98. package/dist/index182.mjs +26 -2
  99. package/dist/index183.mjs +2 -23
  100. package/dist/index184.mjs +2 -2
  101. package/dist/index185.mjs +18 -17
  102. package/dist/index186.mjs +23 -2
  103. package/dist/index187.mjs +2 -2
  104. package/dist/index188.mjs +2 -2
  105. package/dist/index189.mjs +2 -2
  106. package/dist/index19.mjs +109 -42
  107. package/dist/index190.mjs +23 -2
  108. package/dist/index191.mjs +2 -2
  109. package/dist/index192.mjs +23 -2
  110. package/dist/index193.mjs +2 -2
  111. package/dist/index194.mjs +2 -127
  112. package/dist/index195.mjs +2 -2
  113. package/dist/index196.mjs +20 -71
  114. package/dist/index197.mjs +2 -74
  115. package/dist/index198.mjs +22 -20
  116. package/dist/index199.mjs +2 -56
  117. package/dist/index2.mjs +2 -2
  118. package/dist/index20.mjs +42 -65
  119. package/dist/index200.mjs +2 -29
  120. package/dist/index201.mjs +2 -7
  121. package/dist/index202.mjs +2 -52
  122. package/dist/index203.mjs +2 -6
  123. package/dist/index204.mjs +2 -12
  124. package/dist/index205.mjs +2 -7
  125. package/dist/index206.mjs +2 -28
  126. package/dist/index207.mjs +127 -2
  127. package/dist/index208.mjs +2 -70
  128. package/dist/index209.mjs +72 -165
  129. package/dist/index21.mjs +41 -31
  130. package/dist/index210.mjs +74 -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/index214.mjs +2 -2
  135. package/dist/index215.mjs +2 -2
  136. package/dist/index216.mjs +2 -108
  137. package/dist/index217.mjs +2 -2
  138. package/dist/index219.mjs +2 -37
  139. package/dist/index22.mjs +64 -6
  140. package/dist/index220.mjs +108 -2
  141. package/dist/index221.mjs +2 -244
  142. package/dist/index223.mjs +32 -28
  143. package/dist/index224.mjs +2 -65
  144. package/dist/index225.mjs +2 -25
  145. package/dist/index226.mjs +244 -2
  146. package/dist/index228.mjs +33 -2
  147. package/dist/index229.mjs +65 -2
  148. package/dist/index23.mjs +27 -17
  149. package/dist/index230.mjs +25 -2
  150. package/dist/index232.mjs +2 -2
  151. package/dist/index233.mjs +2 -2
  152. package/dist/index235.mjs +2 -2
  153. package/dist/index237.mjs +2 -2
  154. package/dist/index238.mjs +2 -4
  155. package/dist/index239.mjs +2 -2
  156. package/dist/index24.mjs +6 -30
  157. package/dist/index240.mjs +4 -2
  158. package/dist/index241.mjs +2 -31
  159. package/dist/index242.mjs +2 -11
  160. package/dist/index243.mjs +30 -3
  161. package/dist/index244.mjs +10 -3
  162. package/dist/index245.mjs +4 -13
  163. package/dist/index246.mjs +4 -7
  164. package/dist/index247.mjs +13 -12
  165. package/dist/index248.mjs +7 -5
  166. package/dist/index249.mjs +12 -33
  167. package/dist/index25.mjs +20 -18
  168. package/dist/index250.mjs +5 -31
  169. package/dist/index251.mjs +32 -27
  170. package/dist/index252.mjs +28 -58
  171. package/dist/index253.mjs +28 -2
  172. package/dist/index254.mjs +61 -2
  173. package/dist/index255.mjs +2 -18
  174. package/dist/index256.mjs +2 -47
  175. package/dist/index257.mjs +18 -2
  176. package/dist/index258.mjs +47 -2
  177. package/dist/index26.mjs +34 -103
  178. package/dist/index260.mjs +2 -2
  179. package/dist/index261.mjs +2 -91
  180. package/dist/index262.mjs +2 -2
  181. package/dist/index263.mjs +91 -3
  182. package/dist/index264.mjs +2 -2
  183. package/dist/index265.mjs +3 -2
  184. package/dist/index266.mjs +2 -17
  185. package/dist/index267.mjs +2 -13
  186. package/dist/index268.mjs +17 -6
  187. package/dist/index269.mjs +13 -30
  188. package/dist/index27.mjs +20 -21
  189. package/dist/index270.mjs +6 -2
  190. package/dist/index271.mjs +30 -2
  191. package/dist/index272.mjs +2 -2
  192. package/dist/index273.mjs +5 -0
  193. package/dist/index274.mjs +5 -0
  194. package/dist/index28.mjs +101 -8
  195. package/dist/index29.mjs +27 -7
  196. package/dist/index3.mjs +5 -5
  197. package/dist/index30.mjs +11 -103
  198. package/dist/index31.mjs +11 -22
  199. package/dist/index32.mjs +105 -66
  200. package/dist/index33.mjs +23 -105
  201. package/dist/index34.mjs +68 -28
  202. package/dist/index35.mjs +100 -14
  203. package/dist/index36.mjs +26 -9
  204. package/dist/index37.mjs +25 -9
  205. package/dist/index38.mjs +10 -122
  206. package/dist/index39.mjs +9 -387
  207. package/dist/index4.mjs +1 -1
  208. package/dist/index40.mjs +116 -18
  209. package/dist/index41.mjs +385 -99
  210. package/dist/index42.mjs +24 -6
  211. package/dist/index43.mjs +30 -1431
  212. package/dist/index44.mjs +6 -69
  213. package/dist/index45.mjs +1433 -2
  214. package/dist/index46.mjs +68 -58
  215. package/dist/index47.mjs +2 -51
  216. package/dist/index48.mjs +60 -33
  217. package/dist/index49.mjs +49 -13
  218. package/dist/index5.mjs +1 -1
  219. package/dist/index50.mjs +32 -2262
  220. package/dist/index51.mjs +15 -36
  221. package/dist/index52.mjs +2261 -42
  222. package/dist/index53.mjs +36 -99
  223. package/dist/index54.mjs +43 -112
  224. package/dist/index55.mjs +99 -81
  225. package/dist/index56.mjs +93 -57
  226. package/dist/index57.mjs +54 -68
  227. package/dist/index58.mjs +82 -56
  228. package/dist/index59.mjs +74 -58
  229. package/dist/index6.mjs +1 -1
  230. package/dist/index60.mjs +77 -15
  231. package/dist/index61.mjs +74 -15
  232. package/dist/index62.mjs +15 -59
  233. package/dist/index63.mjs +14 -119
  234. package/dist/index64.mjs +46 -112
  235. package/dist/index65.mjs +124 -23
  236. package/dist/index66.mjs +129 -2
  237. package/dist/index67.mjs +21 -150
  238. package/dist/index68.mjs +149 -19
  239. package/dist/index69.mjs +2 -75
  240. package/dist/index7.mjs +6 -6
  241. package/dist/index70.mjs +23 -15
  242. package/dist/index71.mjs +68 -56
  243. package/dist/index72.mjs +15 -5
  244. package/dist/index73.mjs +63 -2
  245. package/dist/index74.mjs +4 -5
  246. package/dist/index75.mjs +2 -1134
  247. package/dist/index76.mjs +5 -19
  248. package/dist/index77.mjs +1119 -40
  249. package/dist/index78.mjs +14 -27
  250. package/dist/index79.mjs +55 -2
  251. package/dist/index8.mjs +4 -4
  252. package/dist/index80.mjs +33 -2
  253. package/dist/index81.mjs +2 -34
  254. package/dist/index82.mjs +31 -40
  255. package/dist/index83.mjs +38 -230
  256. package/dist/index84.mjs +2 -6
  257. package/dist/index85.mjs +228 -127
  258. package/dist/index86.mjs +4 -66
  259. package/dist/index87.mjs +124 -77
  260. package/dist/index88.mjs +65 -26
  261. package/dist/index89.mjs +84 -6
  262. package/dist/index9.mjs +3 -3
  263. package/dist/index90.mjs +26 -72
  264. package/dist/index91.mjs +8 -3
  265. package/dist/index92.mjs +75 -2
  266. package/dist/index93.mjs +3 -82
  267. package/dist/index94.mjs +2 -54
  268. package/dist/index95.mjs +82 -5
  269. package/dist/index96.mjs +53 -4
  270. package/dist/index97.mjs +5 -178
  271. package/dist/index98.mjs +5 -53
  272. package/dist/index99.mjs +178 -68
  273. package/dist/lib/utils.d.ts.map +1 -1
  274. package/dist/styles.css +1 -1
  275. package/package.json +8 -9
  276. package/src/components/Checkout.stories.tsx +9 -4
  277. package/src/components/ProductAddOns.stories.tsx +109 -0
  278. package/src/components/ProductAddOns.tsx +242 -0
  279. package/src/components/ShoppingCart.stories.tsx +4 -1
  280. package/src/components/ui/switch.tsx +37 -0
  281. package/src/index.ts +6 -0
  282. package/src/lib/utils.ts +3 -1
  283. package/src/test-utils/MockCartProvider.tsx +14 -7
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { cn } from '../../lib/utils';
5
+
6
+ interface SwitchProps extends React.InputHTMLAttributes<HTMLInputElement> {
7
+ checked?: boolean;
8
+ onCheckedChange?: (checked: boolean) => void;
9
+ }
10
+
11
+ const Switch = React.forwardRef<HTMLInputElement, SwitchProps>(
12
+ ({ className, checked, onCheckedChange, disabled, ...props }, ref) => {
13
+ return (
14
+ <label
15
+ className={cn(
16
+ 'inline-flex cursor-pointer items-center',
17
+ disabled && 'cursor-not-allowed opacity-50',
18
+ className
19
+ )}
20
+ >
21
+ <input
22
+ type="checkbox"
23
+ className="peer sr-only"
24
+ ref={ref}
25
+ checked={checked}
26
+ onChange={(e) => onCheckedChange?.(e.target.checked)}
27
+ disabled={disabled}
28
+ {...props}
29
+ />
30
+ <div className="peer h-6 w-11 rounded-full bg-[#ccc] after:absolute after:start-[2px] after:top-[2px] after:h-5 after:w-5 after:rounded-full after:bg-white after:transition-all after:content-[''] peer-checked:bg-accent-600 peer-checked:after:translate-x-full peer-checked:after:border-white peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-blue-300 dark:border-accent-600 dark:bg-[#ccc] dark:peer-focus:ring-blue-800 rtl:peer-checked:after:-translate-x-full"></div>
31
+ </label>
32
+ );
33
+ }
34
+ );
35
+ Switch.displayName = 'Switch';
36
+
37
+ export { Switch };
package/src/index.ts CHANGED
@@ -31,6 +31,12 @@ export type { ProductCardProps, ProductCardProduct } from './components/ProductC
31
31
  export { ProductGrid } from './components/ProductGrid';
32
32
  export type { ProductGridProps } from './components/ProductGrid';
33
33
 
34
+ export { ProductAddOns } from './components/ProductAddOns';
35
+ export type { ProductAddOnsProps, AddOnProduct } from './components/ProductAddOns';
36
+
37
+ export { RecommendedProducts } from './components/RecommendedProducts';
38
+ export type { RecommendedProductsProps } from './components/RecommendedProducts';
39
+
34
40
  export { CartItem } from './components/CartItem';
35
41
  export type { CartItemProps } from './components/CartItem';
36
42
 
package/src/lib/utils.ts CHANGED
@@ -6,9 +6,11 @@ export function cn(...inputs: ClassValue[]) {
6
6
  }
7
7
 
8
8
  export function formatCurrency(amount: number): string {
9
- return new Intl.NumberFormat('en-US', {
9
+ return new Intl.NumberFormat('en-NG', {
10
10
  style: 'currency',
11
11
  currency: 'NGN',
12
+ minimumFractionDigits: 0,
13
+ maximumFractionDigits: 0,
12
14
  }).format(amount)
13
15
  }
14
16
 
@@ -24,6 +24,9 @@ const mockCart: Cart = {
24
24
  siteUrl: 'https://demo-store.com',
25
25
  domain: 'f',
26
26
  metaPixelId: null as any,
27
+ tiktokPixelId: null as any,
28
+ paystackPublicKey: null as any,
29
+ paystackSecretKey: null as any,
27
30
  createdAt: new Date().toISOString(),
28
31
  updatedAt: new Date().toISOString(),
29
32
  deletedAt: null as any,
@@ -53,6 +56,7 @@ const mockCart: Cart = {
53
56
  createdAt: new Date().toISOString(),
54
57
  updatedAt: new Date().toISOString(),
55
58
  deletedAt: null as any,
59
+ compareAtPrice: "0",
56
60
  product: {
57
61
  id: 'product-1',
58
62
  name: 'Premium Cotton T-Shirt',
@@ -64,9 +68,9 @@ const mockCart: Cart = {
64
68
  createdAt: new Date().toISOString(),
65
69
  updatedAt: new Date().toISOString(),
66
70
  deletedAt: null as any,
67
- quantityDiscounts: null as any,
71
+ quantityDiscounts: [] as any,
68
72
  },
69
- },
73
+ } as any,
70
74
  quantity: 2,
71
75
  basePrice: 29.99,
72
76
  discountPercent: 0,
@@ -87,7 +91,8 @@ const mockCart: Cart = {
87
91
  isActive: true,
88
92
  createdAt: new Date().toISOString(),
89
93
  updatedAt: new Date().toISOString(),
90
- deletedAt: null,
94
+ deletedAt: null as any,
95
+ compareAtPrice: "0",
91
96
  product: {
92
97
  id: 'product-2',
93
98
  name: 'Slim Fit Jeans',
@@ -98,10 +103,10 @@ const mockCart: Cart = {
98
103
  thumbnailUrl: 'https://images.unsplash.com/photo-1542272604-787c3835535d?w=400',
99
104
  createdAt: new Date().toISOString(),
100
105
  updatedAt: new Date().toISOString(),
101
- deletedAt: null,
102
- quantityDiscounts: null,
106
+ deletedAt: null as any,
107
+ quantityDiscounts: [] as any,
103
108
  },
104
- },
109
+ } as any,
105
110
  quantity: 1,
106
111
  basePrice: 34.99,
107
112
  discountPercent: 0,
@@ -191,7 +196,7 @@ export function MockCartProvider({
191
196
  isSuccess: false,
192
197
  data: undefined,
193
198
  error: null,
194
- reset: () => {},
199
+ reset: () => { },
195
200
  status: 'idle' as const,
196
201
  failureCount: 0,
197
202
  failureReason: null,
@@ -244,6 +249,8 @@ export function MockCartProvider({
244
249
  brandId: cart.brand.id,
245
250
  deliveryCost: 1500,
246
251
  freeShippingThreshold: null as any,
252
+ noteTitle: null as any,
253
+ noteContent: null as any,
247
254
  allowCOD: true,
248
255
  allowOnline: true,
249
256
  waybillOnly: false,