@instockng/storefront-ui 1.0.0

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 (152) hide show
  1. package/README.md +394 -0
  2. package/dist/components/CartItem.d.ts +15 -0
  3. package/dist/components/CartItem.d.ts.map +1 -0
  4. package/dist/components/Checkout.d.ts +39 -0
  5. package/dist/components/Checkout.d.ts.map +1 -0
  6. package/dist/components/DiscountCodeInput.d.ts +20 -0
  7. package/dist/components/DiscountCodeInput.d.ts.map +1 -0
  8. package/dist/components/OrderConfirmation.d.ts +30 -0
  9. package/dist/components/OrderConfirmation.d.ts.map +1 -0
  10. package/dist/components/ProductCard.d.ts +42 -0
  11. package/dist/components/ProductCard.d.ts.map +1 -0
  12. package/dist/components/ProductGrid.d.ts +33 -0
  13. package/dist/components/ProductGrid.d.ts.map +1 -0
  14. package/dist/components/ShoppingCart.d.ts +28 -0
  15. package/dist/components/ShoppingCart.d.ts.map +1 -0
  16. package/dist/components/ui/badge.d.ts +10 -0
  17. package/dist/components/ui/badge.d.ts.map +1 -0
  18. package/dist/components/ui/button.d.ts +12 -0
  19. package/dist/components/ui/button.d.ts.map +1 -0
  20. package/dist/components/ui/card.d.ts +9 -0
  21. package/dist/components/ui/card.d.ts.map +1 -0
  22. package/dist/components/ui/form-input.d.ts +20 -0
  23. package/dist/components/ui/form-input.d.ts.map +1 -0
  24. package/dist/components/ui/form-select.d.ts +18 -0
  25. package/dist/components/ui/form-select.d.ts.map +1 -0
  26. package/dist/components/ui/modal.d.ts +31 -0
  27. package/dist/components/ui/modal.d.ts.map +1 -0
  28. package/dist/contexts/CartContext.d.ts +60 -0
  29. package/dist/contexts/CartContext.d.ts.map +1 -0
  30. package/dist/hooks/usePaystackPayment.d.ts +46 -0
  31. package/dist/hooks/usePaystackPayment.d.ts.map +1 -0
  32. package/dist/index.d.ts +34 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.mjs +99 -0
  35. package/dist/index10.mjs +644 -0
  36. package/dist/index100.mjs +7 -0
  37. package/dist/index101.mjs +35 -0
  38. package/dist/index102.mjs +33 -0
  39. package/dist/index103.mjs +30 -0
  40. package/dist/index104.mjs +63 -0
  41. package/dist/index105.mjs +5 -0
  42. package/dist/index106.mjs +4 -0
  43. package/dist/index107.mjs +4 -0
  44. package/dist/index108.mjs +19 -0
  45. package/dist/index109.mjs +15 -0
  46. package/dist/index11.mjs +62 -0
  47. package/dist/index110.mjs +8 -0
  48. package/dist/index111.mjs +32 -0
  49. package/dist/index12.mjs +64 -0
  50. package/dist/index13.mjs +26 -0
  51. package/dist/index14.mjs +117 -0
  52. package/dist/index15.mjs +44 -0
  53. package/dist/index16.mjs +44 -0
  54. package/dist/index17.mjs +44 -0
  55. package/dist/index18.mjs +43 -0
  56. package/dist/index19.mjs +11 -0
  57. package/dist/index2.mjs +24 -0
  58. package/dist/index20.mjs +29 -0
  59. package/dist/index21.mjs +34 -0
  60. package/dist/index22.mjs +22 -0
  61. package/dist/index23.mjs +90 -0
  62. package/dist/index24.mjs +22 -0
  63. package/dist/index25.mjs +13 -0
  64. package/dist/index26.mjs +99 -0
  65. package/dist/index27.mjs +20 -0
  66. package/dist/index28.mjs +67 -0
  67. package/dist/index29.mjs +98 -0
  68. package/dist/index3.mjs +121 -0
  69. package/dist/index30.mjs +21 -0
  70. package/dist/index31.mjs +21 -0
  71. package/dist/index32.mjs +13 -0
  72. package/dist/index33.mjs +6 -0
  73. package/dist/index34.mjs +1435 -0
  74. package/dist/index35.mjs +4 -0
  75. package/dist/index36.mjs +59 -0
  76. package/dist/index37.mjs +53 -0
  77. package/dist/index38.mjs +35 -0
  78. package/dist/index39.mjs +17 -0
  79. package/dist/index4.mjs +201 -0
  80. package/dist/index40.mjs +2265 -0
  81. package/dist/index41.mjs +25 -0
  82. package/dist/index42.mjs +38 -0
  83. package/dist/index43.mjs +46 -0
  84. package/dist/index44.mjs +101 -0
  85. package/dist/index45.mjs +114 -0
  86. package/dist/index46.mjs +78 -0
  87. package/dist/index47.mjs +89 -0
  88. package/dist/index48.mjs +106 -0
  89. package/dist/index49.mjs +87 -0
  90. package/dist/index5.mjs +112 -0
  91. package/dist/index50.mjs +76 -0
  92. package/dist/index51.mjs +20 -0
  93. package/dist/index52.mjs +19 -0
  94. package/dist/index53.mjs +64 -0
  95. package/dist/index54.mjs +131 -0
  96. package/dist/index55.mjs +135 -0
  97. package/dist/index56.mjs +77 -0
  98. package/dist/index57.mjs +17 -0
  99. package/dist/index58.mjs +65 -0
  100. package/dist/index59.mjs +6 -0
  101. package/dist/index6.mjs +82 -0
  102. package/dist/index60.mjs +4 -0
  103. package/dist/index61.mjs +7 -0
  104. package/dist/index62.mjs +36 -0
  105. package/dist/index63.mjs +45 -0
  106. package/dist/index64.mjs +237 -0
  107. package/dist/index65.mjs +8 -0
  108. package/dist/index66.mjs +136 -0
  109. package/dist/index67.mjs +70 -0
  110. package/dist/index68.mjs +89 -0
  111. package/dist/index69.mjs +31 -0
  112. package/dist/index7.mjs +100 -0
  113. package/dist/index70.mjs +11 -0
  114. package/dist/index71.mjs +77 -0
  115. package/dist/index72.mjs +6 -0
  116. package/dist/index73.mjs +4 -0
  117. package/dist/index74.mjs +85 -0
  118. package/dist/index75.mjs +56 -0
  119. package/dist/index76.mjs +8 -0
  120. package/dist/index77.mjs +7 -0
  121. package/dist/index78.mjs +181 -0
  122. package/dist/index79.mjs +55 -0
  123. package/dist/index8.mjs +165 -0
  124. package/dist/index80.mjs +71 -0
  125. package/dist/index81.mjs +23 -0
  126. package/dist/index82.mjs +58 -0
  127. package/dist/index83.mjs +31 -0
  128. package/dist/index84.mjs +9 -0
  129. package/dist/index85.mjs +54 -0
  130. package/dist/index86.mjs +8 -0
  131. package/dist/index87.mjs +14 -0
  132. package/dist/index88.mjs +9 -0
  133. package/dist/index89.mjs +30 -0
  134. package/dist/index9.mjs +100 -0
  135. package/dist/index90.mjs +4 -0
  136. package/dist/index91.mjs +72 -0
  137. package/dist/index92.mjs +169 -0
  138. package/dist/index93.mjs +15 -0
  139. package/dist/index94.mjs +9 -0
  140. package/dist/index95.mjs +33 -0
  141. package/dist/index96.mjs +13 -0
  142. package/dist/index97.mjs +6 -0
  143. package/dist/index98.mjs +6 -0
  144. package/dist/index99.mjs +14 -0
  145. package/dist/lib/utils.d.ts +7 -0
  146. package/dist/lib/utils.d.ts.map +1 -0
  147. package/dist/mockServiceWorker.js +349 -0
  148. package/dist/providers/StorefrontProvider.d.ts +47 -0
  149. package/dist/providers/StorefrontProvider.d.ts.map +1 -0
  150. package/dist/test-utils/MockCartProvider.d.ts +21 -0
  151. package/dist/test-utils/MockCartProvider.d.ts.map +1 -0
  152. package/package.json +77 -0
@@ -0,0 +1,4 @@
1
+ const c = "data:image/svg+xml,%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20280.6%2050'%20style='enable-background:new%200%200%20280.6%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%2300C3F7;}%20.st1{fill:%23011B33;}%20%3c/style%3e%3cg%3e%3cg%3e%3cpath%20class='st0'%20d='M39.9,4.8H2.3C1.1,4.8,0,5.8,0,7.1v4.2c0,1.3,1.1,2.4,2.3,2.4h37.6c1.3,0,2.3-1.1,2.4-2.4V7.2%20C42.3,5.8,41.2,4.8,39.9,4.8L39.9,4.8z%20M39.9,28.4H2.3c-0.6,0-1.2,0.3-1.7,0.7c-0.4,0.4-0.7,1-0.7,1.7V35c0,1.3,1.1,2.4,2.3,2.4%20h37.6c1.3,0,2.3-1,2.4-2.4v-4.2C42.3,29.4,41.2,28.4,39.9,28.4L39.9,28.4z%20M23.5,40.1H2.3c-0.6,0-1.2,0.2-1.6,0.7%20c-0.4,0.4-0.7,1-0.7,1.7v4.2c0,1.3,1.1,2.4,2.3,2.4h21.1c1.3,0,2.3-1.1,2.3-2.4v-4.3C25.8,41.2,24.8,40.1,23.5,40.1L23.5,40.1z%20M42.3,16.6h-40c-0.6,0-1.2,0.2-1.6,0.7c-0.4,0.4-0.7,1-0.7,1.7v4.2c0,1.3,1.1,2.4,2.3,2.4h39.9c1.3,0,2.3-1.1,2.3-2.4v-4.2%20C44.6,17.6,43.6,16.6,42.3,16.6L42.3,16.6z%20M42.3,16.6'%3e%3c/path%3e%3cpath%20class='st1'%20d='M86,14.3c-1.2-1.2-2.5-2.1-4.1-2.8c-1.5-0.7-3.2-1-4.9-1c-1.6,0-3.2,0.3-4.7,1c-1,0.5-1.9,1.1-2.6,1.9v-0.7%20c0-0.4-0.2-0.7-0.4-1c-0.3-0.3-0.6-0.5-1-0.5h-5.3c-0.4,0-0.8,0.2-1,0.5c-0.3,0.3-0.4,0.6-0.4,1v35c0,0.4,0.2,0.7,0.4,1%20c0.3,0.3,0.6,0.4,1,0.4h5.3c0.4,0,0.7-0.1,1-0.4c0.3-0.3,0.4-0.6,0.4-1v-12c0.8,0.8,1.7,1.5,2.8,1.8c1.4,0.5,2.9,0.8,4.3,0.8%20c1.7,0,3.4-0.3,4.9-1c1.6-0.6,3-1.6,4.1-2.8c1.2-1.3,2.2-2.8,2.8-4.4c0.7-1.8,1.1-3.8,1-5.7c0-2-0.3-3.9-1-5.8%20C88.2,17.1,87.2,15.6,86,14.3L86,14.3z%20M81.3,27c-0.3,0.7-0.7,1.4-1.2,2c-1.1,1.2-2.6,1.8-4.2,1.8c-0.8,0-1.6-0.2-2.3-0.5%20c-0.7-0.3-1.4-0.8-1.9-1.3c-0.5-0.6-1-1.3-1.3-2c-0.6-1.6-0.6-3.3,0-4.9c0.3-0.7,0.7-1.4,1.3-2c0.6-0.6,1.2-1,1.9-1.4%20c0.7-0.3,1.5-0.5,2.3-0.5c0.8,0,1.6,0.2,2.4,0.5c0.7,0.3,1.3,0.8,1.9,1.3c0.5,0.6,0.9,1.2,1.2,2C81.9,23.6,81.9,25.4,81.3,27%20L81.3,27z%20M118.5,11.3h-5.3c-0.4,0-0.7,0.2-1,0.4c-0.3,0.3-0.4,0.7-0.4,1.1v0.6c-0.7-0.8-1.5-1.4-2.4-1.8c-1.4-0.7-3-1-4.6-1%20c-3.4,0-6.7,1.4-9.1,3.8c-1.2,1.3-2.2,2.8-2.9,4.4c-0.8,1.8-1.1,3.8-1.1,5.8c0,2,0.3,4,1.1,5.8c0.7,1.6,1.7,3.1,2.9,4.4%20c2.4,2.4,5.6,3.8,9,3.8c1.6,0,3.2-0.3,4.6-1c0.9-0.5,1.8-1.1,2.4-1.8v0.7c0,0.4,0.2,0.7,0.4,1c0.3,0.2,0.6,0.4,1,0.4h5.3%20c0.4,0,0.7-0.2,1-0.4c0.3-0.3,0.4-0.6,0.4-1V12.8c0-0.4-0.1-0.7-0.4-1C119.2,11.4,118.9,11.3,118.5,11.3L118.5,11.3z%20M111.3,26.9%20c-0.3,0.7-0.7,1.4-1.2,2c-0.5,0.5-1.2,1-1.9,1.4c-1.5,0.7-3.2,0.7-4.7,0c-0.7-0.3-1.4-0.8-1.9-1.4c-0.5-0.6-1-1.3-1.2-2%20c-0.6-1.6-0.6-3.3,0-4.9c0.3-0.7,0.7-1.4,1.2-2c0.5-0.6,1.2-1,1.9-1.4c1.5-0.7,3.2-0.7,4.7,0c0.7,0.3,1.3,0.8,1.9,1.3%20c0.5,0.6,0.9,1.2,1.2,2C112,23.6,112,25.4,111.3,26.9L111.3,26.9z%20M171.2,23.8c-0.8-0.7-1.6-1.2-2.6-1.6c-1-0.4-2-0.7-3.1-0.9%20l-4-0.8c-1-0.2-1.8-0.5-2.2-0.8c-0.3-0.2-0.5-0.6-0.5-1c0-0.4,0.2-0.8,0.8-1.1c0.7-0.4,1.5-0.6,2.2-0.5c1,0,2.1,0.2,3,0.6%20c0.9,0.4,1.8,0.9,2.6,1.4c1.2,0.7,2.2,0.6,2.9-0.2l1.9-2.2c0.4-0.4,0.6-0.9,0.6-1.4c0-0.5-0.3-1.1-0.7-1.4%20c-0.8-0.7-2.1-1.5-3.9-2.2c-1.7-0.7-3.9-1.1-6.5-1.1c-1.6,0-3.1,0.2-4.6,0.7c-1.3,0.4-2.5,1-3.5,1.8c-1,0.7-1.7,1.7-2.3,2.8%20c-0.5,1.1-0.8,2.2-0.8,3.4c0,2.2,0.7,4,2,5.3c1.3,1.3,3,2.2,5.2,2.6l4.2,0.9c0.9,0.2,1.8,0.4,2.7,0.8c0.5,0.2,0.8,0.6,0.8,1.2%20c0,0.5-0.2,0.9-0.8,1.3c-0.5,0.4-1.4,0.6-2.5,0.6c-1.1,0-2.3-0.2-3.3-0.7c-1-0.5-1.9-1.1-2.7-1.8c-0.4-0.3-0.8-0.5-1.2-0.7%20c-0.5-0.1-1.1,0-1.7,0.5l-2.3,1.8c-0.6,0.5-1,1.3-0.8,2c0.1,0.8,0.8,1.5,1.9,2.4c2.9,2,6.4,3,9.9,2.9c1.6,0,3.3-0.2,4.8-0.7%20c1.4-0.4,2.6-1,3.7-1.9c1-0.8,1.9-1.8,2.4-2.9c0.6-1.1,0.8-2.3,0.8-3.6c0-1.1-0.2-2.2-0.7-3.3C172.5,25.3,171.9,24.5,171.2,23.8%20L171.2,23.8z%20M194.2,30.2c-0.2-0.4-0.7-0.7-1.2-0.8c-0.5,0-1,0.2-1.4,0.4c-0.6,0.4-1.4,0.7-2.2,0.7c-0.2,0-0.5,0-0.8-0.1%20c-0.3,0-0.5-0.2-0.7-0.4c-0.2-0.2-0.4-0.5-0.6-0.8c-0.2-0.4-0.3-0.9-0.2-1.4v-9.6h6.9c0.4,0,0.8-0.2,1.1-0.5%20c0.3-0.3,0.5-0.6,0.5-1v-4.1c0-0.4-0.2-0.8-0.5-1c-0.3-0.3-0.6-0.4-1-0.4h-6.9V4.7c0-0.4-0.1-0.8-0.4-1c-0.3-0.3-0.6-0.4-1-0.4%20h-5.3c-0.4,0-0.8,0.1-1,0.4c-0.3,0.3-0.4,0.7-0.4,1v6.6h-3c-0.4,0-0.8,0.2-1,0.5c-0.3,0.3-0.4,0.6-0.4,1v4.1c0,0.4,0.1,0.7,0.4,1%20c0.2,0.3,0.6,0.5,1,0.5h3v11.4c0,1.4,0.2,2.7,0.8,3.9c0.5,1,1.2,1.9,2,2.6c0.8,0.7,1.8,1.2,2.9,1.5c1.1,0.3,2.2,0.5,3.3,0.5%20c1.5,0,2.9-0.2,4.3-0.7c1.3-0.4,2.5-1.2,3.4-2.1c0.6-0.6,0.7-1.6,0.2-2.3L194.2,30.2z%20M223.2,11.3h-5.3c-0.4,0-0.7,0.2-1,0.4%20c-0.3,0.3-0.4,0.7-0.4,1.1v0.6c-0.7-0.8-1.5-1.4-2.4-1.8c-1.4-0.7-3-1-4.6-1c-3.4,0-6.6,1.4-9,3.8c-1.2,1.3-2.2,2.8-2.9,4.4%20c-0.8,1.8-1.1,3.8-1.1,5.7c0,2,0.3,3.9,1.1,5.8c0.7,1.6,1.7,3.1,2.9,4.4c2.4,2.4,5.6,3.8,9,3.8c1.6,0,3.2-0.3,4.6-1%20c0.9-0.5,1.8-1.1,2.4-1.8v0.7c0,0.4,0.1,0.7,0.4,1c0.3,0.3,0.6,0.4,1,0.4h5.3c0.8,0,1.4-0.6,1.4-1.4V12.8c0-0.4-0.1-0.7-0.4-1%20C223.9,11.4,223.6,11.3,223.2,11.3L223.2,11.3z%20M216,26.9c-0.3,0.7-0.7,1.4-1.2,2c-0.6,0.5-1.2,1-1.9,1.4%20c-0.7,0.3-1.6,0.5-2.4,0.5c-0.8,0-1.6-0.2-2.3-0.5c-0.7-0.3-1.4-0.8-1.9-1.4c-0.5-0.6-1-1.3-1.2-2c-0.6-1.6-0.6-3.3,0-4.9%20c0.3-0.7,0.7-1.4,1.2-2c0.6-0.6,1.2-1,1.9-1.4c0.7-0.3,1.5-0.5,2.3-0.5c0.8,0,1.6,0.2,2.4,0.5c0.7,0.3,1.3,0.8,1.9,1.3%20c0.5,0.6,1,1.2,1.2,2C216.7,23.6,216.7,25.4,216,26.9L216,26.9z%20M252.2,29.8l-3-2.3c-0.6-0.5-1.1-0.6-1.6-0.4%20c-0.4,0.2-0.8,0.5-1.1,0.8c-0.7,0.8-1.4,1.5-2.3,2.1c-0.9,0.5-1.9,0.8-3,0.7c-1.2,0-2.3-0.3-3.3-1c-1-0.7-1.7-1.7-2.1-2.8%20c-0.3-0.8-0.4-1.6-0.4-2.4c0-0.8,0.1-1.7,0.4-2.5c0.3-0.7,0.7-1.4,1.2-2c0.6-0.6,1.2-1,1.9-1.3c0.7-0.3,1.6-0.5,2.4-0.5%20c1,0,2.1,0.2,2.9,0.7c0.9,0.6,1.6,1.3,2.3,2.1c0.3,0.3,0.7,0.6,1.1,0.8c0.5,0.2,1,0.1,1.6-0.4l3-2.3c0.4-0.3,0.7-0.6,0.8-1%20c0.2-0.5,0.1-1-0.1-1.4c-1.2-1.8-2.8-3.3-4.7-4.4c-2-1.1-4.4-1.7-7.1-1.7c-1.9,0-3.8,0.4-5.5,1.1c-1.7,0.7-3.2,1.7-4.5,3%20c-1.3,1.3-2.3,2.8-3,4.4c-1.4,3.5-1.4,7.5,0,11c0.7,1.7,1.7,3.2,3,4.4c2.7,2.6,6.2,4,10,4c2.7,0,5.1-0.6,7.1-1.7%20c1.9-1.1,3.5-2.6,4.7-4.4c0.3-0.4,0.3-0.9,0.1-1.4C252.8,30.5,252.5,30.1,252.2,29.8L252.2,29.8z%20M280.3,35.3l-8.3-12.3l7.1-9.4%20c0.3-0.4,0.4-1,0.3-1.5c-0.1-0.4-0.5-0.8-1.3-0.8h-5.6c-0.3,0-0.6,0.1-0.9,0.2c-0.4,0.2-0.6,0.4-0.8,0.8l-5.7,8h-1.4V1.4%20c0-0.4-0.1-0.7-0.4-1c-0.3-0.3-0.6-0.4-1-0.4h-5.3c-0.4,0-0.7,0.1-1,0.4c-0.3,0.3-0.4,0.6-0.4,1v34.8c0,0.4,0.2,0.8,0.4,1%20c0.3,0.3,0.6,0.4,1,0.4h5.3c0.4,0,0.7-0.2,1-0.4c0.3-0.3,0.4-0.6,0.4-1V27h1.5l6.2,9.6c0.4,0.7,1.1,1.1,1.8,1.1h5.9%20c0.9,0,1.3-0.4,1.4-0.8C280.7,36.4,280.6,35.8,280.3,35.3L280.3,35.3z%20M148.5,11.3h-5.9c-0.4,0-0.9,0.1-1.2,0.5%20c-0.3,0.3-0.5,0.6-0.5,1L136.5,29h-1.1l-4.7-16.3c-0.1-0.3-0.2-0.7-0.5-1c-0.3-0.3-0.7-0.5-1.1-0.5h-6.1c-0.8,0-1.3,0.3-1.5,0.8%20c-0.2,0.5-0.2,1,0,1.4l7.5,22.9c0.1,0.3,0.3,0.7,0.6,0.9c0.3,0.3,0.7,0.4,1.1,0.4h3.2l-0.3,0.7l-0.7,2.1c-0.2,0.6-0.6,1.2-1.2,1.7%20c-0.5,0.4-1.1,0.6-1.8,0.6c-0.5,0-1.1-0.1-1.6-0.3c-0.5-0.2-1-0.5-1.4-0.8c-0.4-0.3-0.9-0.4-1.3-0.4h-0.1c-0.6,0-1.1,0.3-1.3,0.8%20l-1.9,2.8c-0.8,1.2-0.3,2,0.2,2.4c1,0.9,2.2,1.6,3.5,2.1c1.4,0.5,2.9,0.7,4.5,0.7c2.7,0,5-0.7,6.7-2.2c1.8-1.6,3.1-3.7,3.8-6%20l8.7-28.3c0.2-0.5,0.2-1,0-1.5C149.7,11.6,149.3,11.3,148.5,11.3L148.5,11.3z%20M148.5,11.3'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
2
+ export {
3
+ c as default
4
+ };
@@ -0,0 +1,59 @@
1
+ import { useState as c, useEffect as f, useCallback as k } from "react";
2
+ function P({
3
+ publicKey: d,
4
+ onSuccess: e,
5
+ onClose: a
6
+ }) {
7
+ const [i, o] = c(!1), [l, r] = c(!1), [p, n] = c(null);
8
+ f(() => {
9
+ if (window.PaystackPop) {
10
+ o(!0);
11
+ return;
12
+ }
13
+ const s = document.querySelector('script[src="https://js.paystack.co/v1/inline.js"]');
14
+ if (s) {
15
+ s.addEventListener("load", () => o(!0));
16
+ return;
17
+ }
18
+ const t = document.createElement("script");
19
+ return t.src = "https://js.paystack.co/v1/inline.js", t.async = !0, t.onload = () => {
20
+ o(!0);
21
+ }, t.onerror = () => {
22
+ n("Failed to load Paystack script");
23
+ }, document.body.appendChild(t), () => {
24
+ };
25
+ }, []);
26
+ const u = k(
27
+ (s) => {
28
+ if (!i || !window.PaystackPop) {
29
+ n("Paystack script not loaded");
30
+ return;
31
+ }
32
+ r(!0), n(null);
33
+ try {
34
+ window.PaystackPop.setup({
35
+ ...s,
36
+ key: d,
37
+ callback: (y) => {
38
+ r(!1), e == null || e(y);
39
+ },
40
+ onClose: () => {
41
+ r(!1), a == null || a();
42
+ }
43
+ }).openIframe();
44
+ } catch (t) {
45
+ r(!1), n(t instanceof Error ? t.message : "Failed to initialize payment");
46
+ }
47
+ },
48
+ [i, d, e, a]
49
+ );
50
+ return {
51
+ isLoaded: i,
52
+ isLoading: l,
53
+ error: p,
54
+ initializePayment: u
55
+ };
56
+ }
57
+ export {
58
+ P as usePaystackPayment
59
+ };
@@ -0,0 +1,53 @@
1
+ import * as l from "react";
2
+ import { composeRefs as m } from "./index41.mjs";
3
+ import { jsx as u } from "react/jsx-runtime";
4
+ // @__NO_SIDE_EFFECTS__
5
+ function y(e) {
6
+ const t = /* @__PURE__ */ S(e), o = l.forwardRef((n, r) => {
7
+ const { children: i, ...c } = n, s = l.Children.toArray(i), a = s.find(E);
8
+ if (a) {
9
+ const f = a.props.children, d = s.map((p) => p === a ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : p);
10
+ return /* @__PURE__ */ u(t, { ...c, ref: r, children: l.isValidElement(f) ? l.cloneElement(f, void 0, d) : null });
11
+ }
12
+ return /* @__PURE__ */ u(t, { ...c, ref: r, children: i });
13
+ });
14
+ return o.displayName = `${e}.Slot`, o;
15
+ }
16
+ var V = /* @__PURE__ */ y("Slot");
17
+ // @__NO_SIDE_EFFECTS__
18
+ function S(e) {
19
+ const t = l.forwardRef((o, n) => {
20
+ const { children: r, ...i } = o;
21
+ if (l.isValidElement(r)) {
22
+ const c = R(r), s = C(i, r.props);
23
+ return r.type !== l.Fragment && (s.ref = n ? m(n, c) : c), l.cloneElement(r, s);
24
+ }
25
+ return l.Children.count(r) > 1 ? l.Children.only(null) : null;
26
+ });
27
+ return t.displayName = `${e}.SlotClone`, t;
28
+ }
29
+ var g = Symbol("radix.slottable");
30
+ function E(e) {
31
+ return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === g;
32
+ }
33
+ function C(e, t) {
34
+ const o = { ...t };
35
+ for (const n in t) {
36
+ const r = e[n], i = t[n];
37
+ /^on[A-Z]/.test(n) ? r && i ? o[n] = (...s) => {
38
+ const a = i(...s);
39
+ return r(...s), a;
40
+ } : r && (o[n] = r) : n === "style" ? o[n] = { ...r, ...i } : n === "className" && (o[n] = [r, i].filter(Boolean).join(" "));
41
+ }
42
+ return { ...e, ...o };
43
+ }
44
+ function R(e) {
45
+ var n, r;
46
+ let t = (n = Object.getOwnPropertyDescriptor(e.props, "ref")) == null ? void 0 : n.get, o = t && "isReactWarning" in t && t.isReactWarning;
47
+ return o ? e.ref : (t = (r = Object.getOwnPropertyDescriptor(e, "ref")) == null ? void 0 : r.get, o = t && "isReactWarning" in t && t.isReactWarning, o ? e.props.ref : e.props.ref || e.ref);
48
+ }
49
+ export {
50
+ V as Root,
51
+ V as Slot,
52
+ y as createSlot
53
+ };
@@ -0,0 +1,35 @@
1
+ import { clsx as O } from "./index39.mjs";
2
+ const m = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, y = O, j = (e, l) => (n) => {
3
+ var s;
4
+ if ((l == null ? void 0 : l.variants) == null) return y(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
5
+ const { variants: r, defaultVariants: d } = l, V = Object.keys(r).map((t) => {
6
+ const a = n == null ? void 0 : n[t], u = d == null ? void 0 : d[t];
7
+ if (a === null) return null;
8
+ const i = m(a) || m(u);
9
+ return r[t][i];
10
+ }), v = n && Object.entries(n).reduce((t, a) => {
11
+ let [u, i] = a;
12
+ return i === void 0 || (t[u] = i), t;
13
+ }, {}), N = l == null || (s = l.compoundVariants) === null || s === void 0 ? void 0 : s.reduce((t, a) => {
14
+ let { class: u, className: i, ...f } = a;
15
+ return Object.entries(f).every((C) => {
16
+ let [c, o] = C;
17
+ return Array.isArray(o) ? o.includes({
18
+ ...d,
19
+ ...v
20
+ }[c]) : {
21
+ ...d,
22
+ ...v
23
+ }[c] === o;
24
+ }) ? [
25
+ ...t,
26
+ u,
27
+ i
28
+ ] : t;
29
+ }, []);
30
+ return y(e, V, N, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
31
+ };
32
+ export {
33
+ j as cva,
34
+ y as cx
35
+ };
@@ -0,0 +1,17 @@
1
+ function a(r) {
2
+ var n, f, t = "";
3
+ if (typeof r == "string" || typeof r == "number") t += r;
4
+ else if (typeof r == "object") if (Array.isArray(r)) {
5
+ var o = r.length;
6
+ for (n = 0; n < o; n++) r[n] && (f = a(r[n])) && (t && (t += " "), t += f);
7
+ } else for (f in r) r[f] && (t && (t += " "), t += f);
8
+ return t;
9
+ }
10
+ function i() {
11
+ for (var r, n, f = 0, t = "", o = arguments.length; f < o; f++) (r = arguments[f]) && (n = a(r)) && (t && (t += " "), t += n);
12
+ return t;
13
+ }
14
+ export {
15
+ i as clsx,
16
+ i as default
17
+ };
@@ -0,0 +1,201 @@
1
+ import { jsx as e, jsxs as r, Fragment as D } from "react/jsx-runtime";
2
+ import { useState as O } from "react";
3
+ import "./index18.mjs";
4
+ import "@tanstack/react-query";
5
+ import { useGetOrder as T, useConfirmOrder as U } from "./index30.mjs";
6
+ import { WHATSAPP_HELP_NUMBER_FORMATTED as E, WHATSAPP_HELP_LINK as M } from "./index33.mjs";
7
+ import { Card as s, CardHeader as m, CardTitle as o, CardContent as i } from "./index12.mjs";
8
+ import { Button as S } from "./index11.mjs";
9
+ import { Badge as y } from "./index13.mjs";
10
+ import { Loader2 as g, XCircle as k, Package as L, CheckCircle as _ } from "lucide-react";
11
+ import { cn as l, formatDateTime as H, formatCurrency as c } from "./index17.mjs";
12
+ function J({
13
+ orderId: x,
14
+ token: N,
15
+ className: h,
16
+ headerClassName: v,
17
+ buttonClassName: b,
18
+ cardClassName: n,
19
+ whatsappHelpLink: w = M,
20
+ whatsappHelpNumber: C = E,
21
+ currency: W = "NGN",
22
+ locale: B = "en-NG"
23
+ }) {
24
+ var f;
25
+ const [p, P] = O(!1), { data: u, isLoading: A, error: j } = T(x, N, {
26
+ retry: !1
27
+ }), d = U({
28
+ onSuccess: (t) => {
29
+ P(!0);
30
+ },
31
+ onError: (t) => {
32
+ }
33
+ });
34
+ if (A)
35
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 flex items-center justify-center", h), children: /* @__PURE__ */ r("div", { className: "text-center", children: [
36
+ /* @__PURE__ */ e(g, { className: "h-12 w-12 animate-spin text-blue-500 mx-auto mb-4" }),
37
+ /* @__PURE__ */ e("p", { className: "text-gray-600", children: "Loading order details..." })
38
+ ] }) });
39
+ if (j || !u || "error" in u)
40
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 flex items-center justify-center p-4", h), children: /* @__PURE__ */ r(s, { className: l("max-w-md w-full", n), children: [
41
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ r("div", { className: "flex items-center space-x-2", children: [
42
+ /* @__PURE__ */ e(k, { className: "h-6 w-6 text-red-500" }),
43
+ /* @__PURE__ */ e(o, { children: "Order Not Found" })
44
+ ] }) }),
45
+ /* @__PURE__ */ e(i, { children: /* @__PURE__ */ e("p", { className: "text-gray-600", children: "We couldn't find this order. The link may be invalid or expired. Please contact support if you need assistance." }) })
46
+ ] }) });
47
+ const a = u;
48
+ return /* @__PURE__ */ e("div", { className: l("min-h-screen bg-gray-50 py-8 px-4", h), children: /* @__PURE__ */ r("div", { className: "max-w-3xl mx-auto space-y-6", children: [
49
+ /* @__PURE__ */ r("div", { className: l("text-center", v), children: [
50
+ a.brand.logoUrl ? /* @__PURE__ */ e("div", { className: "inline-flex items-center justify-center w-24 h-16 mb-4", children: /* @__PURE__ */ e(
51
+ "img",
52
+ {
53
+ src: a.brand.logoUrl,
54
+ alt: `${a.brand.name} logo`,
55
+ className: "max-w-full max-h-full object-contain"
56
+ }
57
+ ) }) : /* @__PURE__ */ e("div", { className: "inline-flex items-center justify-center w-16 h-16 bg-blue-100 rounded-full mb-4", children: /* @__PURE__ */ e(L, { className: "h-8 w-8 text-blue-600" }) }),
58
+ /* @__PURE__ */ r("h1", { className: "text-3xl font-bold text-gray-900", children: [
59
+ "Order #",
60
+ a.orderNumber
61
+ ] }),
62
+ /* @__PURE__ */ e("p", { className: "text-gray-600 mt-2", children: a.brand.name })
63
+ ] }),
64
+ p && /* @__PURE__ */ e(s, { className: l("border-green-200 bg-green-50", n), children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ r("div", { className: "flex items-start space-x-3", children: [
65
+ /* @__PURE__ */ e(_, { className: "h-6 w-6 text-green-600 mt-0.5" }),
66
+ /* @__PURE__ */ r("div", { children: [
67
+ /* @__PURE__ */ e("h3", { className: "font-semibold text-green-900", children: "Order Confirmed!" }),
68
+ /* @__PURE__ */ e("p", { className: "text-green-700 mt-1", children: "Thank you for confirming your order. We will contact you soon to arrange delivery." })
69
+ ] })
70
+ ] }) }) }),
71
+ !p && a.confirmationMessage && /* @__PURE__ */ e(s, { className: l(a.canConfirm ? "border-orange-200 bg-orange-50" : "", n), children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ e("p", { className: a.canConfirm ? "text-orange-900" : "text-gray-700", children: a.confirmationMessage }) }) }),
72
+ a.canConfirm && !p && /* @__PURE__ */ e(s, { className: n, children: /* @__PURE__ */ r(i, { className: "pt-6", children: [
73
+ /* @__PURE__ */ e(
74
+ S,
75
+ {
76
+ onClick: () => d.mutate({ orderId: x, token: N }),
77
+ disabled: d.isPending,
78
+ className: l("w-full", b),
79
+ size: "lg",
80
+ children: d.isPending ? /* @__PURE__ */ r(D, { children: [
81
+ /* @__PURE__ */ e(g, { className: "mr-2 h-5 w-5 animate-spin" }),
82
+ "Confirming..."
83
+ ] }) : "Confirm Order"
84
+ }
85
+ ),
86
+ d.isError && /* @__PURE__ */ e("p", { className: "text-red-600 text-sm mt-2 text-center", children: "Failed to confirm order. Please try again or contact support." })
87
+ ] }) }),
88
+ /* @__PURE__ */ r(s, { className: n, children: [
89
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Order Details" }) }),
90
+ /* @__PURE__ */ e(i, { className: "space-y-4", children: /* @__PURE__ */ r("div", { className: "grid grid-cols-2 gap-4", children: [
91
+ /* @__PURE__ */ r("div", { children: [
92
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Status" }),
93
+ /* @__PURE__ */ e(y, { className: "mt-1", children: a.status })
94
+ ] }),
95
+ /* @__PURE__ */ r("div", { children: [
96
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Order Date" }),
97
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.createdAt ? H(a.createdAt) : "N/A" })
98
+ ] }),
99
+ /* @__PURE__ */ r("div", { children: [
100
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Payment Method" }),
101
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.paymentMethod === "cod" ? "Cash on Delivery" : "Online Payment" })
102
+ ] }),
103
+ /* @__PURE__ */ r("div", { children: [
104
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Estimated Delivery" }),
105
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.estimatedDays ? `${a.estimatedDays} days` : "TBD" })
106
+ ] })
107
+ ] }) })
108
+ ] }),
109
+ /* @__PURE__ */ r(s, { className: n, children: [
110
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Delivery Information" }) }),
111
+ /* @__PURE__ */ r(i, { className: "space-y-3", children: [
112
+ /* @__PURE__ */ r("div", { children: [
113
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Customer" }),
114
+ /* @__PURE__ */ r("p", { className: "font-medium", children: [
115
+ a.firstName,
116
+ " ",
117
+ a.lastName
118
+ ] }),
119
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: a.phone })
120
+ ] }),
121
+ /* @__PURE__ */ r("div", { children: [
122
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: "Address" }),
123
+ /* @__PURE__ */ e("p", { className: "font-medium", children: a.address }),
124
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
125
+ a.city,
126
+ ", ",
127
+ a.deliveryZone.state.name
128
+ ] }),
129
+ /* @__PURE__ */ e("p", { className: "text-sm text-gray-600", children: a.deliveryZone.name })
130
+ ] })
131
+ ] })
132
+ ] }),
133
+ /* @__PURE__ */ r(s, { className: n, children: [
134
+ /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(o, { children: "Items" }) }),
135
+ /* @__PURE__ */ r(i, { children: [
136
+ /* @__PURE__ */ e("div", { className: "space-y-4", children: (f = a.items) == null ? void 0 : f.map((t) => /* @__PURE__ */ r("div", { className: "flex items-start justify-between border-b pb-4 last:border-0", children: [
137
+ /* @__PURE__ */ r("div", { className: "flex items-start space-x-4 flex-1", children: [
138
+ (t.variant.thumbnailUrl || t.variant.product.thumbnailUrl) && /* @__PURE__ */ e(
139
+ "img",
140
+ {
141
+ src: t.variant.thumbnailUrl || t.variant.product.thumbnailUrl || void 0,
142
+ alt: t.variant.product.name,
143
+ className: "w-16 h-16 object-cover rounded"
144
+ }
145
+ ),
146
+ /* @__PURE__ */ r("div", { className: "flex-1", children: [
147
+ /* @__PURE__ */ e("p", { className: "font-medium", children: t.variant.product.name }),
148
+ t.variant.name && /* @__PURE__ */ e(y, { variant: "outline", className: "mt-1", children: t.variant.name }),
149
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600 mt-1", children: [
150
+ "Quantity: ",
151
+ t.quantity
152
+ ] }),
153
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
154
+ "SKU: ",
155
+ t.variant.sku
156
+ ] })
157
+ ] })
158
+ ] }),
159
+ /* @__PURE__ */ r("div", { className: "text-right", children: [
160
+ /* @__PURE__ */ e("p", { className: "font-medium", children: c(t.priceAtPurchase * t.quantity) }),
161
+ /* @__PURE__ */ r("p", { className: "text-sm text-gray-600", children: [
162
+ c(t.priceAtPurchase),
163
+ " each"
164
+ ] })
165
+ ] })
166
+ ] }, t.id)) }),
167
+ /* @__PURE__ */ r("div", { className: "mt-6 border-t pt-4 space-y-2", children: [
168
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-sm", children: [
169
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Subtotal" }),
170
+ /* @__PURE__ */ e("span", { className: "font-medium", children: c(a.subtotal) })
171
+ ] }),
172
+ a.discountAmount && a.discountAmount > 0 && /* @__PURE__ */ r("div", { className: "flex justify-between text-sm text-green-600", children: [
173
+ /* @__PURE__ */ e("span", { children: "Discount" }),
174
+ /* @__PURE__ */ r("span", { children: [
175
+ "-",
176
+ c(a.discountAmount)
177
+ ] })
178
+ ] }),
179
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-sm", children: [
180
+ /* @__PURE__ */ e("span", { className: "text-gray-600", children: "Delivery Charge" }),
181
+ /* @__PURE__ */ e("span", { className: "font-medium", children: c(a.deliveryCharge) })
182
+ ] }),
183
+ /* @__PURE__ */ r("div", { className: "flex justify-between text-lg font-bold border-t pt-2", children: [
184
+ /* @__PURE__ */ e("span", { children: "Total" }),
185
+ /* @__PURE__ */ e("span", { children: c(a.totalPrice) })
186
+ ] })
187
+ ] })
188
+ ] })
189
+ ] }),
190
+ /* @__PURE__ */ e(s, { className: n, children: /* @__PURE__ */ e(i, { className: "pt-6", children: /* @__PURE__ */ r("p", { className: "text-sm text-gray-600 text-center", children: [
191
+ "Need help with your order? Call us on ",
192
+ C,
193
+ " or contact us on",
194
+ " ",
195
+ /* @__PURE__ */ e("a", { href: w, target: "_blank", rel: "noopener noreferrer", className: "text-blue-600 hover:underline", children: "WhatsApp" })
196
+ ] }) }) })
197
+ ] }) });
198
+ }
199
+ export {
200
+ J as OrderConfirmation
201
+ };