@anker-in/campaign-ui 0.2.10-beta.21 → 0.2.10-beta.23

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 (396) hide show
  1. package/dist/cjs/components/chat/action.js +2 -0
  2. package/dist/cjs/components/chat/action.js.map +7 -0
  3. package/dist/cjs/components/chat/button.js +2 -0
  4. package/dist/cjs/components/chat/button.js.map +7 -0
  5. package/dist/cjs/components/chat/chatContext.js +2 -0
  6. package/dist/cjs/components/chat/chatContext.js.map +7 -0
  7. package/dist/cjs/components/chat/index.js +2 -0
  8. package/dist/cjs/components/chat/index.js.map +7 -0
  9. package/dist/cjs/components/chat/markdown.js +2 -0
  10. package/dist/cjs/components/chat/markdown.js.map +7 -0
  11. package/dist/cjs/components/chat/messages.js +2 -0
  12. package/dist/cjs/components/chat/messages.js.map +7 -0
  13. package/dist/cjs/components/chat/props.js +2 -0
  14. package/dist/cjs/components/chat/props.js.map +7 -0
  15. package/dist/cjs/components/chat/response.js +2 -0
  16. package/dist/cjs/components/chat/response.js.map +7 -0
  17. package/dist/cjs/components/chat/suggestions.js +2 -0
  18. package/dist/cjs/components/chat/suggestions.js.map +7 -0
  19. package/dist/cjs/components/chat/utils.js +2 -0
  20. package/dist/cjs/components/chat/utils.js.map +7 -0
  21. package/dist/cjs/components/credits/context/const.js +2 -0
  22. package/dist/cjs/components/credits/context/const.js.map +7 -0
  23. package/dist/cjs/components/credits/context/hooks/useActivities.js +2 -0
  24. package/dist/cjs/components/credits/context/hooks/useActivities.js.map +7 -0
  25. package/dist/cjs/components/credits/context/hooks/useAddressValidate.js +2 -0
  26. package/dist/cjs/components/credits/context/hooks/useAddressValidate.js.map +7 -0
  27. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js +2 -0
  28. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js.map +7 -0
  29. package/dist/cjs/components/credits/context/hooks/useClickOutside.js +2 -0
  30. package/dist/cjs/components/credits/context/hooks/useClickOutside.js.map +7 -0
  31. package/dist/cjs/components/credits/context/hooks/useCopy.js +2 -0
  32. package/dist/cjs/components/credits/context/hooks/useCopy.js.map +7 -0
  33. package/dist/cjs/components/credits/context/hooks/useCountries.js +2 -0
  34. package/dist/cjs/components/credits/context/hooks/useCountries.js.map +7 -0
  35. package/dist/cjs/components/credits/context/hooks/useFirstPurchaseFinished.js +2 -0
  36. package/dist/cjs/components/credits/context/hooks/useFirstPurchaseFinished.js.map +7 -0
  37. package/dist/cjs/components/credits/context/hooks/useMyRewards.js +2 -0
  38. package/dist/cjs/components/credits/context/hooks/useMyRewards.js.map +7 -0
  39. package/dist/cjs/components/credits/context/hooks/useReceiptUploaded.js +2 -0
  40. package/dist/cjs/components/credits/context/hooks/useReceiptUploaded.js.map +7 -0
  41. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +2 -0
  42. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +7 -0
  43. package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js +2 -0
  44. package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js.map +7 -0
  45. package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js +2 -0
  46. package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js.map +7 -0
  47. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +2 -0
  48. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +7 -0
  49. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +2 -0
  50. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +7 -0
  51. package/dist/cjs/components/credits/context/hooks/useSubscribed.js +2 -0
  52. package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +7 -0
  53. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +2 -0
  54. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +7 -0
  55. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js +2 -0
  56. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js.map +7 -0
  57. package/dist/cjs/components/credits/context/provider.js +2 -0
  58. package/dist/cjs/components/credits/context/provider.js.map +7 -0
  59. package/dist/cjs/components/credits/context/response.js +2 -0
  60. package/dist/cjs/components/credits/context/response.js.map +7 -0
  61. package/dist/cjs/components/credits/context/utils.js +2 -0
  62. package/dist/cjs/components/credits/context/utils.js.map +7 -0
  63. package/dist/cjs/components/credits/creditsBanner/index.js +2 -0
  64. package/dist/cjs/components/credits/creditsBanner/index.js.map +7 -0
  65. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +2 -0
  66. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +7 -0
  67. package/dist/cjs/components/credits/creditsBenefits/iconInfo.js +2 -0
  68. package/dist/cjs/components/credits/creditsBenefits/iconInfo.js.map +7 -0
  69. package/dist/cjs/components/credits/creditsBenefits/index.js +4 -0
  70. package/dist/cjs/components/credits/creditsBenefits/index.js.map +7 -0
  71. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +2 -0
  72. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +7 -0
  73. package/dist/cjs/components/credits/creditsCash/index.js +2 -0
  74. package/dist/cjs/components/credits/creditsCash/index.js.map +7 -0
  75. package/dist/cjs/components/credits/creditsCash/type.js +2 -0
  76. package/dist/cjs/components/credits/creditsCash/type.js.map +7 -0
  77. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +2 -0
  78. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +7 -0
  79. package/dist/cjs/components/credits/creditsFaq/index.js +2 -0
  80. package/dist/cjs/components/credits/creditsFaq/index.js.map +7 -0
  81. package/dist/cjs/components/credits/creditsInfoCard/index.js +2 -0
  82. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +7 -0
  83. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +2 -0
  84. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +7 -0
  85. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/FormItem.js +2 -0
  86. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/FormItem.js.map +7 -0
  87. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/Input.js +2 -0
  88. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/Input.js.map +7 -0
  89. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +2 -0
  90. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +7 -0
  91. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +2 -0
  92. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +7 -0
  93. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/type.js +2 -0
  94. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/type.js.map +7 -0
  95. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +2 -0
  96. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +7 -0
  97. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +2 -0
  98. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +7 -0
  99. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.js +2 -0
  100. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.js.map +7 -0
  101. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +2 -0
  102. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +7 -0
  103. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +2 -0
  104. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +7 -0
  105. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +2 -0
  106. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +7 -0
  107. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +2 -0
  108. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +7 -0
  109. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +2 -0
  110. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +7 -0
  111. package/dist/cjs/components/credits/creditsRedeemList/index.js +2 -0
  112. package/dist/cjs/components/credits/creditsRedeemList/index.js.map +7 -0
  113. package/dist/cjs/components/credits/creditsRedeemList/type.js +2 -0
  114. package/dist/cjs/components/credits/creditsRedeemList/type.js.map +7 -0
  115. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js +2 -0
  116. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js.map +7 -0
  117. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js +2 -0
  118. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js.map +7 -0
  119. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +2 -0
  120. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +7 -0
  121. package/dist/cjs/components/credits/index.js +2 -0
  122. package/dist/cjs/components/credits/index.js.map +7 -0
  123. package/dist/cjs/components/credits/modal/MyRewardsModal.js +2 -0
  124. package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +7 -0
  125. package/dist/cjs/components/credits/modal/activitiesModal.js +2 -0
  126. package/dist/cjs/components/credits/modal/activitiesModal.js.map +7 -0
  127. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +2 -0
  128. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +7 -0
  129. package/dist/cjs/components/credits/modal/loadingDots.js +2 -0
  130. package/dist/cjs/components/credits/modal/loadingDots.js.map +7 -0
  131. package/dist/cjs/components/credits/modal/modalContainer.js +2 -0
  132. package/dist/cjs/components/credits/modal/modalContainer.js.map +7 -0
  133. package/dist/cjs/components/credits/modal/rulesModal.js +2 -0
  134. package/dist/cjs/components/credits/modal/rulesModal.js.map +7 -0
  135. package/dist/cjs/components/credits/modal/tip.js +2 -0
  136. package/dist/cjs/components/credits/modal/tip.js.map +7 -0
  137. package/dist/cjs/components/credits/type.js +2 -0
  138. package/dist/cjs/components/credits/type.js.map +7 -0
  139. package/dist/cjs/components/index.js +2 -0
  140. package/dist/cjs/components/index.js.map +7 -0
  141. package/dist/cjs/debug-env.js +2 -0
  142. package/dist/cjs/debug-env.js.map +7 -0
  143. package/dist/cjs/helpers/fetchResponse.js +2 -0
  144. package/dist/cjs/helpers/fetchResponse.js.map +7 -0
  145. package/dist/cjs/helpers/fetcher.js +2 -0
  146. package/dist/cjs/helpers/fetcher.js.map +7 -0
  147. package/dist/cjs/helpers/index.js +2 -0
  148. package/dist/cjs/helpers/index.js.map +7 -0
  149. package/dist/cjs/helpers/track.js +2 -0
  150. package/dist/cjs/helpers/track.js.map +7 -0
  151. package/dist/cjs/helpers/utils.js +2 -0
  152. package/dist/cjs/helpers/utils.js.map +7 -0
  153. package/dist/cjs/index.js +2 -0
  154. package/dist/cjs/index.js.map +7 -0
  155. package/dist/cjs/stories/chat.stories.js +2 -0
  156. package/dist/cjs/stories/chat.stories.js.map +7 -0
  157. package/dist/components/chat/action.d.ts +25 -0
  158. package/dist/components/chat/button.d.ts +3 -0
  159. package/dist/components/chat/chatContext.d.ts +101 -0
  160. package/dist/components/chat/index.d.ts +71 -0
  161. package/dist/components/chat/markdown.d.ts +5 -0
  162. package/dist/components/chat/messages.d.ts +3 -0
  163. package/dist/components/chat/props.d.ts +43 -0
  164. package/dist/components/chat/response.d.ts +4 -0
  165. package/dist/components/chat/suggestions.d.ts +3 -0
  166. package/dist/components/chat/utils.d.ts +3 -0
  167. package/dist/components/credits/context/const.d.ts +81 -0
  168. package/dist/components/credits/context/hooks/useActivities.d.ts +12 -0
  169. package/dist/components/credits/context/hooks/useAddressValidate.d.ts +34 -0
  170. package/dist/components/credits/context/hooks/useAlpcFetch.d.ts +23 -0
  171. package/dist/components/credits/context/hooks/useClickOutside.d.ts +3 -0
  172. package/dist/components/credits/context/hooks/useCopy.d.ts +5 -0
  173. package/dist/components/credits/context/hooks/useCountries.d.ts +8 -0
  174. package/dist/components/credits/context/hooks/useFirstPurchaseFinished.d.ts +1 -0
  175. package/dist/components/credits/context/hooks/useMyRewards.d.ts +14 -0
  176. package/dist/components/credits/context/hooks/useReceiptUploaded.d.ts +2 -0
  177. package/dist/components/credits/context/hooks/useRedeemAndBuy.d.ts +9 -0
  178. package/dist/components/credits/context/hooks/useRedeemCoupon.d.ts +17 -0
  179. package/dist/components/credits/context/hooks/useRedeemProduct.d.ts +16 -0
  180. package/dist/components/credits/context/hooks/useRedeemableList.d.ts +7 -0
  181. package/dist/components/credits/context/hooks/useSendEmailValidation.d.ts +1 -0
  182. package/dist/components/credits/context/hooks/useSubscribed.d.ts +1 -0
  183. package/dist/components/credits/context/hooks/useSubscriptions.d.ts +5 -0
  184. package/dist/components/credits/context/hooks/useUploadReceipt.d.ts +14 -0
  185. package/dist/components/credits/context/provider.d.ts +49 -0
  186. package/dist/components/credits/context/response.d.ts +63 -0
  187. package/dist/components/credits/context/utils.d.ts +25 -0
  188. package/dist/components/credits/creditsBanner/index.d.ts +23 -0
  189. package/dist/components/credits/creditsBenefits/benefitItem.d.ts +19 -0
  190. package/dist/components/credits/creditsBenefits/iconInfo.d.ts +2 -0
  191. package/dist/components/credits/creditsBenefits/index.d.ts +12 -0
  192. package/dist/components/credits/creditsCash/RedeemableItem.d.ts +15 -0
  193. package/dist/components/credits/creditsCash/index.d.ts +13 -0
  194. package/dist/components/credits/creditsCash/type.d.ts +47 -0
  195. package/dist/components/credits/creditsFaq/faqItem/FaqItem.d.ts +13 -0
  196. package/dist/components/credits/creditsFaq/index.d.ts +16 -0
  197. package/dist/components/credits/creditsInfoCard/index.d.ts +20 -0
  198. package/dist/components/credits/creditsRedeemList/AddressForm/CountrySelect.d.ts +14 -0
  199. package/dist/components/credits/creditsRedeemList/AddressForm/FormItem.d.ts +6 -0
  200. package/dist/components/credits/creditsRedeemList/AddressForm/Input.d.ts +13 -0
  201. package/dist/components/credits/creditsRedeemList/AddressForm/StateSelect.d.ts +15 -0
  202. package/dist/components/credits/creditsRedeemList/AddressForm/index.d.ts +2 -0
  203. package/dist/components/credits/creditsRedeemList/AddressForm/type.d.ts +26 -0
  204. package/dist/components/credits/creditsRedeemList/RedeemCouponModal.d.ts +9 -0
  205. package/dist/components/credits/creditsRedeemList/RedeemProductModal/Address.d.ts +20 -0
  206. package/dist/components/credits/creditsRedeemList/RedeemProductModal/Error.d.ts +8 -0
  207. package/dist/components/credits/creditsRedeemList/RedeemProductModal/Init.d.ts +11 -0
  208. package/dist/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.d.ts +8 -0
  209. package/dist/components/credits/creditsRedeemList/RedeemProductModal/Success.d.ts +13 -0
  210. package/dist/components/credits/creditsRedeemList/RedeemProductModal/index.d.ts +11 -0
  211. package/dist/components/credits/creditsRedeemList/RedeemableItem.d.ts +9 -0
  212. package/dist/components/credits/creditsRedeemList/index.d.ts +13 -0
  213. package/dist/components/credits/creditsRedeemList/type.d.ts +77 -0
  214. package/dist/components/credits/creditsWaysToGetCredits/index.d.ts +2 -0
  215. package/dist/components/credits/creditsWaysToGetCredits/type.d.ts +60 -0
  216. package/dist/components/credits/creditsWaysToGetCredits/useActions.d.ts +96 -0
  217. package/dist/components/credits/index.d.ts +10 -0
  218. package/dist/components/credits/modal/MyRewardsModal.d.ts +32 -0
  219. package/dist/components/credits/modal/activitiesModal.d.ts +32 -0
  220. package/dist/components/credits/modal/creditsUploadReceiptModal.d.ts +24 -0
  221. package/dist/components/credits/modal/loadingDots.d.ts +6 -0
  222. package/dist/components/credits/modal/modalContainer.d.ts +15 -0
  223. package/dist/components/credits/modal/rulesModal.d.ts +7 -0
  224. package/dist/components/credits/modal/tip.d.ts +5 -0
  225. package/dist/components/credits/type.d.ts +55 -0
  226. package/dist/components/index.d.ts +3 -0
  227. package/dist/debug-env.d.ts +7 -0
  228. package/dist/esm/components/chat/action.js +2 -0
  229. package/dist/esm/components/chat/action.js.map +7 -0
  230. package/dist/esm/components/chat/button.js +2 -0
  231. package/dist/esm/components/chat/button.js.map +7 -0
  232. package/dist/esm/components/chat/chatContext.js +2 -0
  233. package/dist/esm/components/chat/chatContext.js.map +7 -0
  234. package/dist/esm/components/chat/index.js +2 -0
  235. package/dist/esm/components/chat/index.js.map +7 -0
  236. package/dist/esm/components/chat/markdown.js +2 -0
  237. package/dist/esm/components/chat/markdown.js.map +7 -0
  238. package/dist/esm/components/chat/messages.js +2 -0
  239. package/dist/esm/components/chat/messages.js.map +7 -0
  240. package/dist/esm/components/chat/props.js +1 -0
  241. package/dist/esm/components/chat/props.js.map +7 -0
  242. package/dist/esm/components/chat/response.js +2 -0
  243. package/dist/esm/components/chat/response.js.map +7 -0
  244. package/dist/esm/components/chat/suggestions.js +2 -0
  245. package/dist/esm/components/chat/suggestions.js.map +7 -0
  246. package/dist/esm/components/chat/utils.js +2 -0
  247. package/dist/esm/components/chat/utils.js.map +7 -0
  248. package/dist/esm/components/credits/context/const.js +2 -0
  249. package/dist/esm/components/credits/context/const.js.map +7 -0
  250. package/dist/esm/components/credits/context/hooks/useActivities.js +2 -0
  251. package/dist/esm/components/credits/context/hooks/useActivities.js.map +7 -0
  252. package/dist/esm/components/credits/context/hooks/useAddressValidate.js +2 -0
  253. package/dist/esm/components/credits/context/hooks/useAddressValidate.js.map +7 -0
  254. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js +2 -0
  255. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js.map +7 -0
  256. package/dist/esm/components/credits/context/hooks/useClickOutside.js +2 -0
  257. package/dist/esm/components/credits/context/hooks/useClickOutside.js.map +7 -0
  258. package/dist/esm/components/credits/context/hooks/useCopy.js +2 -0
  259. package/dist/esm/components/credits/context/hooks/useCopy.js.map +7 -0
  260. package/dist/esm/components/credits/context/hooks/useCountries.js +2 -0
  261. package/dist/esm/components/credits/context/hooks/useCountries.js.map +7 -0
  262. package/dist/esm/components/credits/context/hooks/useFirstPurchaseFinished.js +2 -0
  263. package/dist/esm/components/credits/context/hooks/useFirstPurchaseFinished.js.map +7 -0
  264. package/dist/esm/components/credits/context/hooks/useMyRewards.js +2 -0
  265. package/dist/esm/components/credits/context/hooks/useMyRewards.js.map +7 -0
  266. package/dist/esm/components/credits/context/hooks/useReceiptUploaded.js +2 -0
  267. package/dist/esm/components/credits/context/hooks/useReceiptUploaded.js.map +7 -0
  268. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +2 -0
  269. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +7 -0
  270. package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js +2 -0
  271. package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js.map +7 -0
  272. package/dist/esm/components/credits/context/hooks/useRedeemProduct.js +2 -0
  273. package/dist/esm/components/credits/context/hooks/useRedeemProduct.js.map +7 -0
  274. package/dist/esm/components/credits/context/hooks/useRedeemableList.js +2 -0
  275. package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +7 -0
  276. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +2 -0
  277. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +7 -0
  278. package/dist/esm/components/credits/context/hooks/useSubscribed.js +2 -0
  279. package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +7 -0
  280. package/dist/esm/components/credits/context/hooks/useSubscriptions.js +2 -0
  281. package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +7 -0
  282. package/dist/esm/components/credits/context/hooks/useUploadReceipt.js +2 -0
  283. package/dist/esm/components/credits/context/hooks/useUploadReceipt.js.map +7 -0
  284. package/dist/esm/components/credits/context/provider.js +2 -0
  285. package/dist/esm/components/credits/context/provider.js.map +7 -0
  286. package/dist/esm/components/credits/context/response.js +1 -0
  287. package/dist/esm/components/credits/context/response.js.map +7 -0
  288. package/dist/esm/components/credits/context/utils.js +2 -0
  289. package/dist/esm/components/credits/context/utils.js.map +7 -0
  290. package/dist/esm/components/credits/creditsBanner/index.js +2 -0
  291. package/dist/esm/components/credits/creditsBanner/index.js.map +7 -0
  292. package/dist/esm/components/credits/creditsBenefits/benefitItem.js +2 -0
  293. package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +7 -0
  294. package/dist/esm/components/credits/creditsBenefits/iconInfo.js +2 -0
  295. package/dist/esm/components/credits/creditsBenefits/iconInfo.js.map +7 -0
  296. package/dist/esm/components/credits/creditsBenefits/index.js +4 -0
  297. package/dist/esm/components/credits/creditsBenefits/index.js.map +7 -0
  298. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +2 -0
  299. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +7 -0
  300. package/dist/esm/components/credits/creditsCash/index.js +2 -0
  301. package/dist/esm/components/credits/creditsCash/index.js.map +7 -0
  302. package/dist/esm/components/credits/creditsCash/type.js +1 -0
  303. package/dist/esm/components/credits/creditsCash/type.js.map +7 -0
  304. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +2 -0
  305. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +7 -0
  306. package/dist/esm/components/credits/creditsFaq/index.js +2 -0
  307. package/dist/esm/components/credits/creditsFaq/index.js.map +7 -0
  308. package/dist/esm/components/credits/creditsInfoCard/index.js +2 -0
  309. package/dist/esm/components/credits/creditsInfoCard/index.js.map +7 -0
  310. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +2 -0
  311. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +7 -0
  312. package/dist/esm/components/credits/creditsRedeemList/AddressForm/FormItem.js +2 -0
  313. package/dist/esm/components/credits/creditsRedeemList/AddressForm/FormItem.js.map +7 -0
  314. package/dist/esm/components/credits/creditsRedeemList/AddressForm/Input.js +2 -0
  315. package/dist/esm/components/credits/creditsRedeemList/AddressForm/Input.js.map +7 -0
  316. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +2 -0
  317. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +7 -0
  318. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +2 -0
  319. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +7 -0
  320. package/dist/esm/components/credits/creditsRedeemList/AddressForm/type.js +1 -0
  321. package/dist/esm/components/credits/creditsRedeemList/AddressForm/type.js.map +7 -0
  322. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +2 -0
  323. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +7 -0
  324. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +2 -0
  325. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +7 -0
  326. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.js +2 -0
  327. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.js.map +7 -0
  328. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +2 -0
  329. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +7 -0
  330. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +2 -0
  331. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +7 -0
  332. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +2 -0
  333. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +7 -0
  334. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +2 -0
  335. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +7 -0
  336. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +2 -0
  337. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +7 -0
  338. package/dist/esm/components/credits/creditsRedeemList/index.js +2 -0
  339. package/dist/esm/components/credits/creditsRedeemList/index.js.map +7 -0
  340. package/dist/esm/components/credits/creditsRedeemList/type.js +1 -0
  341. package/dist/esm/components/credits/creditsRedeemList/type.js.map +7 -0
  342. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js +2 -0
  343. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js.map +7 -0
  344. package/dist/esm/components/credits/creditsWaysToGetCredits/type.js +2 -0
  345. package/dist/esm/components/credits/creditsWaysToGetCredits/type.js.map +7 -0
  346. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +2 -0
  347. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +7 -0
  348. package/dist/esm/components/credits/index.js +2 -0
  349. package/dist/esm/components/credits/index.js.map +7 -0
  350. package/dist/esm/components/credits/modal/MyRewardsModal.js +2 -0
  351. package/dist/esm/components/credits/modal/MyRewardsModal.js.map +7 -0
  352. package/dist/esm/components/credits/modal/activitiesModal.js +2 -0
  353. package/dist/esm/components/credits/modal/activitiesModal.js.map +7 -0
  354. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +2 -0
  355. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +7 -0
  356. package/dist/esm/components/credits/modal/loadingDots.js +2 -0
  357. package/dist/esm/components/credits/modal/loadingDots.js.map +7 -0
  358. package/dist/esm/components/credits/modal/modalContainer.js +2 -0
  359. package/dist/esm/components/credits/modal/modalContainer.js.map +7 -0
  360. package/dist/esm/components/credits/modal/rulesModal.js +2 -0
  361. package/dist/esm/components/credits/modal/rulesModal.js.map +7 -0
  362. package/dist/esm/components/credits/modal/tip.js +2 -0
  363. package/dist/esm/components/credits/modal/tip.js.map +7 -0
  364. package/dist/esm/components/credits/type.js +1 -0
  365. package/dist/esm/components/credits/type.js.map +7 -0
  366. package/dist/esm/components/index.js +2 -0
  367. package/dist/esm/components/index.js.map +7 -0
  368. package/dist/esm/debug-env.js +2 -0
  369. package/dist/esm/debug-env.js.map +7 -0
  370. package/dist/esm/helpers/fetchResponse.js +2 -0
  371. package/dist/esm/helpers/fetchResponse.js.map +7 -0
  372. package/dist/esm/helpers/fetcher.js +2 -0
  373. package/dist/esm/helpers/fetcher.js.map +7 -0
  374. package/dist/esm/helpers/index.js +2 -0
  375. package/dist/esm/helpers/index.js.map +7 -0
  376. package/dist/esm/helpers/track.js +2 -0
  377. package/dist/esm/helpers/track.js.map +7 -0
  378. package/dist/esm/helpers/utils.js +2 -0
  379. package/dist/esm/helpers/utils.js.map +7 -0
  380. package/dist/esm/index.js +2 -0
  381. package/dist/esm/index.js.map +7 -0
  382. package/dist/esm/package.json +3 -0
  383. package/dist/esm/stories/chat.stories.js +2 -0
  384. package/dist/esm/stories/chat.stories.js.map +7 -0
  385. package/dist/helpers/fetchResponse.d.ts +14 -0
  386. package/dist/helpers/fetcher.d.ts +2 -0
  387. package/dist/helpers/index.d.ts +2 -0
  388. package/dist/helpers/track.d.ts +19 -0
  389. package/dist/helpers/utils.d.ts +3 -0
  390. package/dist/index.d.ts +1 -493
  391. package/dist/index.js +1245 -4292
  392. package/dist/index.mjs +1130 -4154
  393. package/dist/stories/chat.stories.d.ts +7 -0
  394. package/package.json +7 -2
  395. package/src/styles/global.css +15 -0
  396. package/style.css +1 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx"],
4
+ "sourcesContent": ["import { Picture } from '@anker-in/headless-ui'\nimport useClickOutside from '../../context/hooks/useClickOutside'\nimport classNames from 'classnames'\nimport { useEffect, useState } from 'react'\n\ninterface Country {\n id: string\n code: string\n name: string\n}\n\ninterface CountrySelectProps {\n countries: Country[]\n loading?: boolean\n className?: string\n value?: string\n onChange: (code: string) => void\n}\n\nexport function CountrySelect({ countries, loading, className, value, onChange }: CountrySelectProps) {\n const [show, setShow] = useState(false)\n const [display, setDisplay] = useState<any>('')\n\n const dorpdown = useClickOutside<HTMLDivElement>(() => {\n setShow(false)\n })\n\n useEffect(() => {\n const target = countries.filter(item => item.code === value)\n if (target.length) setDisplay(target[0].name)\n }, [setDisplay, countries, value])\n\n return (\n <div className=\"relative\">\n <select\n className={classNames('!h-[50px] pr-[45px] min-l:hidden', className)}\n style={{\n WebkitTextFillColor: 'black',\n }}\n disabled={loading}\n value={value}\n onChange={event => {\n onChange(event.target.value)\n }}\n >\n {countries.map((item: { id: string; name: string; code: string }) => (\n <option key={item.code} value={item.code}>\n {item.name}\n </option>\n ))}\n </select>\n\n <div\n className={classNames(\n 'absolute left-0 top-0 hidden !h-[50px] rounded-[2px] pr-[45px] text-[16px] font-bold focus:!border-[#6D6D6F] min-l:!block',\n className\n )}\n onClick={() => {\n setShow(true)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {display}\n </div>\n\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500\"\n imgClassName=\"pointer-events-none absolute right-0 top-0 bottom-0 !w-[45px] object-cover\"\n alt=\"arrow\"\n />\n\n <div\n ref={dorpdown}\n className={classNames(\n 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n { '!hidden': !show }\n )}\n >\n <ul className=\"py-[6px]\">\n {countries.map((item: { id: string; name: string; code: string }) => (\n <li\n key={item.code}\n value={item.code}\n className={classNames(\n 'relative px-[14px] py-[17px] text-[16px] font-bold leading-[1] transition hover:bg-[#EAEAEC]',\n { '!bg-[#EAEAEC]': item.code === value }\n )}\n >\n <button\n className=\"absolute left-0 top-0 z-1 size-full opacity-0\"\n value={item.code}\n onClick={() => {\n setDisplay(item.name)\n setShow(false)\n onChange(item.code)\n }}\n />\n {item.name}\n </li>\n ))}\n </ul>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GA8CU,IAAAI,EAAA,6BA9CVC,EAAwB,iCACxBC,EAA4B,kDAC5BC,EAAuB,yBACvBC,EAAoC,iBAgB7B,SAASN,EAAc,CAAE,UAAAO,EAAW,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,SAAAC,CAAS,EAAuB,CACpG,KAAM,CAACC,EAAMC,CAAO,KAAI,YAAS,EAAK,EAChC,CAACC,EAASC,CAAU,KAAI,YAAc,EAAE,EAExCC,KAAW,EAAAC,SAAgC,IAAM,CACrDJ,EAAQ,EAAK,CACf,CAAC,EAED,sBAAU,IAAM,CACd,MAAMK,EAASX,EAAU,OAAOY,GAAQA,EAAK,OAAST,CAAK,EACvDQ,EAAO,QAAQH,EAAWG,EAAO,CAAC,EAAE,IAAI,CAC9C,EAAG,CAACH,EAAYR,EAAWG,CAAK,CAAC,KAG/B,QAAC,OAAI,UAAU,WACb,oBAAC,UACC,aAAW,EAAAU,SAAW,mCAAoCX,CAAS,EACnE,MAAO,CACL,oBAAqB,OACvB,EACA,SAAUD,EACV,MAAOE,EACP,SAAUW,GAAS,CACjBV,EAASU,EAAM,OAAO,KAAK,CAC7B,EAEC,SAAAd,EAAU,IAAKY,MACd,OAAC,UAAuB,MAAOA,EAAK,KACjC,SAAAA,EAAK,MADKA,EAAK,IAElB,CACD,EACH,KAEA,OAAC,OACC,aAAW,EAAAC,SACT,4HACAX,CACF,EACA,QAAS,IAAM,CACbI,EAAQ,EAAI,CACd,EACA,KAAK,SACL,SAAU,EACV,UAAW,GAAK,EACV,EAAE,MAAQ,SAAW,EAAE,MAAQ,MACjC,EAAE,eAAe,CAErB,EAEC,SAAAC,EACH,KAEA,OAAC,WACC,OAAO,yFACP,aAAa,6EACb,IAAI,QACN,KAEA,OAAC,OACC,IAAKE,EACL,aAAW,EAAAI,SACT,sJACA,CAAE,UAAW,CAACR,CAAK,CACrB,EAEA,mBAAC,MAAG,UAAU,WACX,SAAAL,EAAU,IAAKY,MACd,QAAC,MAEC,MAAOA,EAAK,KACZ,aAAW,EAAAC,SACT,+FACA,CAAE,gBAAiBD,EAAK,OAAST,CAAM,CACzC,EAEA,oBAAC,UACC,UAAU,gDACV,MAAOS,EAAK,KACZ,QAAS,IAAM,CACbJ,EAAWI,EAAK,IAAI,EACpBN,EAAQ,EAAK,EACbF,EAASQ,EAAK,IAAI,CACpB,EACF,EACCA,EAAK,OAhBDA,EAAK,IAiBZ,CACD,EACH,EACF,GACF,CAEJ",
6
+ "names": ["CountrySelect_exports", "__export", "CountrySelect", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_useClickOutside", "import_classnames", "import_react", "countries", "loading", "className", "value", "onChange", "show", "setShow", "display", "setDisplay", "dorpdown", "useClickOutside", "target", "item", "classNames", "event"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var n=(t,o)=>{for(var e in o)s(t,e,{get:o[e],enumerable:!0})},f=(t,o,e,p)=>{if(o&&typeof o=="object"||typeof o=="function")for(let m of d(o))!l.call(t,m)&&m!==e&&s(t,m,{get:()=>o[m],enumerable:!(p=x(o,m))||p.enumerable});return t};var h=t=>f(s({},"__esModule",{value:!0}),t);var v={};n(v,{FormItem:()=>a});module.exports=h(v);var i=require("react/jsx-runtime"),r=require("@anker-in/headless-ui");const a=({error:t,children:o,label:e,required:p})=>(0,i.jsxs)("div",{children:[e&&(0,i.jsx)(r.Text,{html:p?`${e} *`:e,className:"text-[16px] font-bold"}),(0,i.jsx)("div",{className:"mt-[8px] h-[50px] w-full text-[14px] font-semibold",children:o}),t&&typeof t=="string"&&(0,i.jsx)(r.Text,{as:"div",html:t,className:"mt-[8px] text-[16px] font-bold text-[#FF4D4D]"})]});
2
+ //# sourceMappingURL=FormItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/FormItem.tsx"],
4
+ "sourcesContent": ["import { Text } from '@anker-in/headless-ui'\nimport { type PropsWithChildren } from 'react'\n\nexport const FormItem = ({\n error,\n children,\n label,\n required,\n}: PropsWithChildren<{\n label?: string\n required: boolean\n error?: string\n}>) => {\n return (\n <div>\n {label && <Text html={required ? `${label} *` : label} className=\"text-[16px] font-bold\"></Text>}\n <div className=\"mt-[8px] h-[50px] w-full text-[14px] font-semibold\">{children}</div>\n {error && typeof error === 'string' && (\n <Text as=\"div\" html={error} className=\"mt-[8px] text-[16px] font-bold text-[#FF4D4D]\" />\n )}\n </div>\n )\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GAcI,IAAAI,EAAA,6BAdJC,EAAqB,iCAGd,MAAMH,EAAW,CAAC,CACvB,MAAAI,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,CACF,OAMI,QAAC,OACE,UAAAD,MAAS,OAAC,QAAK,KAAMC,EAAW,GAAGD,CAAK,KAAOA,EAAO,UAAU,wBAAwB,KACzF,OAAC,OAAI,UAAU,qDAAsD,SAAAD,EAAS,EAC7ED,GAAS,OAAOA,GAAU,aACzB,OAAC,QAAK,GAAG,MAAM,KAAMA,EAAO,UAAU,gDAAgD,GAE1F",
6
+ "names": ["FormItem_exports", "__export", "FormItem", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "error", "children", "label", "required"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var v=Object.create;var u=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var D=(e,n)=>{for(var t in n)u(e,t,{get:n[t],enumerable:!0})},i=(e,n,t,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of E(n))!C.call(e,r)&&r!==t&&u(e,r,{get:()=>n[r],enumerable:!(a=x(n,r))||a.enumerable});return e};var I=(e,n,t)=>(t=e!=null?v(F(e)):{},i(n||!e||!e.__esModule?u(t,"default",{value:e,enumerable:!0}):t,e)),T=e=>i(u({},"__esModule",{value:!0}),e);var H={};D(H,{Input:()=>R});module.exports=T(H);var h=require("react/jsx-runtime"),f=I(require("classnames")),o=require("react");function R({className:e,error:n,value:t,placeholder:a,disabled:r,onChange:p,onBlur:c}){const[L,l]=(0,o.useState)(!1);(0,o.useEffect)(()=>{t&&l(!0)},[t]);const g=(0,o.useCallback)(s=>{const d=s.currentTarget.value;d&&l(!!d),p(s)},[p]),b=(0,o.useCallback)(s=>{l(!!s.currentTarget.value),c&&c()},[c]),m=(0,o.useCallback)(()=>{l(!0)},[]);return(0,h.jsx)("input",{className:(0,f.default)("w-full rounded-[2px] border border-[#6D6D6F] p-[14px] text-[16px] font-bold placeholder:text-[16px] placeholder:font-bold placeholder:text-[#6D6D6F] focus:outline-none focus:ring-0",e,n&&"border-[#FF4D4D]"),value:t,placeholder:a,disabled:r,onChange:g,onBlur:b,onFocus:m})}
2
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/Input.tsx"],
4
+ "sourcesContent": ["import classNames from 'classnames'\nimport React, { useCallback, useEffect, useState } from 'react'\n\ninterface InputProps {\n className?: string\n value: string\n error?: string | boolean\n placeholder: string\n required?: boolean\n disabled?: boolean\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void\n onBlur?: () => void\n}\n\nexport function Input({ className, error, value, placeholder, disabled, onChange, onBlur }: InputProps) {\n const [focus, setFocus] = useState(false)\n\n useEffect(() => {\n if (value) setFocus(true)\n }, [value])\n\n const handleOnChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const val = event.currentTarget.value\n if (val) setFocus(!!val)\n onChange(event)\n },\n [onChange],\n )\n\n const handleOnBlur = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setFocus(!!event.currentTarget.value)\n onBlur && onBlur()\n },\n [onBlur],\n )\n\n const handleOnFocus = useCallback(() => {\n setFocus(true)\n }, [])\n\n return (\n <input\n className={classNames(\n 'w-full rounded-[2px] border border-[#6D6D6F] p-[14px] text-[16px] font-bold placeholder:text-[16px] placeholder:font-bold placeholder:text-[#6D6D6F] focus:outline-none focus:ring-0',\n className,\n error && 'border-[#FF4D4D]',\n )}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n onChange={handleOnChange}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n ></input>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,IAAA,eAAAC,EAAAH,GA2CI,IAAAI,EAAA,6BA3CJC,EAAuB,yBACvBC,EAAwD,iBAajD,SAASJ,EAAM,CAAE,UAAAK,EAAW,MAAAC,EAAO,MAAAC,EAAO,YAAAC,EAAa,SAAAC,EAAU,SAAAC,EAAU,OAAAC,CAAO,EAAe,CACtG,KAAM,CAACC,EAAOC,CAAQ,KAAI,YAAS,EAAK,KAExC,aAAU,IAAM,CACVN,GAAOM,EAAS,EAAI,CAC1B,EAAG,CAACN,CAAK,CAAC,EAEV,MAAMO,KAAiB,eACpBC,GAA+C,CAC9C,MAAMC,EAAMD,EAAM,cAAc,MAC5BC,GAAKH,EAAS,CAAC,CAACG,CAAG,EACvBN,EAASK,CAAK,CAChB,EACA,CAACL,CAAQ,CACX,EAEMO,KAAe,eAClBF,GAA+C,CAC9CF,EAAS,CAAC,CAACE,EAAM,cAAc,KAAK,EACpCJ,GAAUA,EAAO,CACnB,EACA,CAACA,CAAM,CACT,EAEMO,KAAgB,eAAY,IAAM,CACtCL,EAAS,EAAI,CACf,EAAG,CAAC,CAAC,EAEL,SACE,OAAC,SACC,aAAW,EAAAM,SACT,uLACAd,EACAC,GAAS,kBACX,EACA,MAAOC,EACP,YAAaC,EACb,SAAUC,EACV,SAAUK,EACV,OAAQG,EACR,QAASC,EACV,CAEL",
6
+ "names": ["Input_exports", "__export", "Input", "__toCommonJS", "import_jsx_runtime", "import_classnames", "import_react", "className", "error", "value", "placeholder", "disabled", "onChange", "onBlur", "focus", "setFocus", "handleOnChange", "event", "val", "handleOnBlur", "handleOnFocus", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var w=Object.create;var p=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var F=(n,o)=>{for(var l in o)p(n,l,{get:o[l],enumerable:!0})},g=(n,o,l,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let a of N(o))!C.call(n,a)&&a!==l&&p(n,a,{get:()=>o[a],enumerable:!(r=S(o,a))||r.enumerable});return n};var v=(n,o,l)=>(l=n!=null?w(j(n)):{},g(o||!n||!n.__esModule?p(l,"default",{value:n,enumerable:!0}):l,n)),D=n=>g(p({},"__esModule",{value:!0}),n);var z={};F(z,{StateSelect:()=>_});module.exports=D(z);var t=require("react/jsx-runtime"),d=v(require("classnames")),x=require("@anker-in/headless-ui"),s=require("react"),m=v(require("../../context/hooks/useClickOutside"));function _({states:n,stateName:o="",stateCode:l="",className:r="",onChange:a}){const[h,u]=(0,s.useState)(!1),[b,f]=(0,s.useState)(""),y=(0,m.default)(()=>{u(!1)}),c=(0,s.useMemo)(()=>{const e=n.find(i=>l?i.code===l:i.name===o);return e?[e?.id,e?.name,e?.code].join(","):""},[n,l,o]);return(0,s.useEffect)(()=>{const e=n.filter(i=>[i.id,i.name,i.code].join(",")===c);e.length&&f(e[0].name)},[f,n,c]),(0,t.jsx)("div",{className:"relative h-full",children:n.length?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("select",{className:(0,d.default)("h-[52px] pr-[45px] min-l:hidden",r),value:c,style:{WebkitTextFillColor:c?"black":"#666"},onChange:e=>{const[,i,k]=e.target.value.split(",");a(k,i)},children:n.map(e=>(0,t.jsx)("option",{value:[e.id,e.name,e.code].join(","),children:e.name},e.id))}),(0,t.jsx)("div",{className:(0,d.default)("absolute left-0 top-0 hidden h-[52px] pr-[45px] min-l:!block",r),onClick:()=>{u(!0)},role:"button",tabIndex:0,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&e.preventDefault()},children:b}),(0,t.jsx)(x.Picture,{source:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500",className:"pointer-events-none absolute right-0 top-1/2 h-[45px] !w-[45px] -translate-y-1/2 object-cover",alt:"arrow"}),(0,t.jsx)("div",{ref:y,className:(0,d.default)("absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]",{"!hidden":!h}),children:(0,t.jsx)("ul",{className:"py-[6px]",children:n.map(e=>(0,t.jsxs)("li",{value:[e.id,e.name,e.code].join(","),className:(0,d.default)("relative px-[14px] py-[17px] text-[16px] font-semibold leading-[1] transition hover:bg-[#F7F8F9]",{"!bg-[#e8e8e8]":[e.id,e.name,e.code].join(",")===c}),children:[(0,t.jsx)("button",{className:"absolute left-0 top-0 z-1 size-full opacity-0",value:[e.id,e.name,e.code].join(","),onClick:()=>{f(e.name),u(!1),a(e.code,e.name)}}),e.name]},e.id))})})]}):(0,t.jsx)("input",{className:r,value:o,style:{WebkitTextFillColor:"black"},onChange:e=>{a("",e.target.value)}})})}
2
+ //# sourceMappingURL=StateSelect.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx"],
4
+ "sourcesContent": ["import classNames from 'classnames'\nimport { Picture } from '@anker-in/headless-ui'\nimport { useEffect, useMemo, useState } from 'react'\nimport useClickOutside from '../../context/hooks/useClickOutside'\n\ninterface StateSelectProps {\n states: { code: string; id: string; name: string }[]\n className?: string\n countryId?: string\n defaultCode?: string\n stateName?: string\n stateCode?: string\n onChange: (code: string, name: string) => void\n}\n\nexport function StateSelect({ states, stateName = '', stateCode = '', className = '', onChange }: StateSelectProps) {\n const [show, setShow] = useState(false)\n const [display, setDisplay] = useState<any>('')\n\n const dropdown = useClickOutside<HTMLDivElement>(() => {\n setShow(false)\n })\n\n const value = useMemo(() => {\n const currentState = states.find(item => (stateCode ? item.code === stateCode : item.name === stateName))\n\n return currentState ? [currentState?.id, currentState?.name, currentState?.code].join(',') : ''\n }, [states, stateCode, stateName])\n\n useEffect(() => {\n const target = states.filter(item => [item.id, item.name, item.code].join(',') === value)\n if (target.length) setDisplay(target[0].name)\n }, [setDisplay, states, value])\n\n return (\n <div className=\"relative h-full\">\n {states.length ? (\n <>\n <select\n className={classNames('h-[52px] pr-[45px] min-l:hidden', className)}\n value={value}\n style={{\n WebkitTextFillColor: value ? 'black' : '#666',\n }}\n onChange={event => {\n const [, name, code] = event.target.value.split(',')\n onChange(code, name)\n }}\n >\n {states.map((item: { id: string; name: string; code: string }) => (\n <option key={item.id} value={[item.id, item.name, item.code].join(',')}>\n {item.name}\n </option>\n ))}\n </select>\n <div\n className={classNames('absolute left-0 top-0 hidden h-[52px] pr-[45px] min-l:!block', className)}\n onClick={() => {\n setShow(true)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {display}\n </div>\n\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500\"\n className=\"pointer-events-none absolute right-0 top-1/2 h-[45px] !w-[45px] -translate-y-1/2 object-cover\"\n alt=\"arrow\"\n />\n\n <div\n ref={dropdown}\n className={classNames(\n 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n { '!hidden': !show }\n )}\n >\n <ul className=\"py-[6px]\">\n {states.map((item: { id: string; name: string; code: string }) => (\n <li\n key={item.id}\n value={[item.id, item.name, item.code].join(',')}\n className={classNames(\n 'relative px-[14px] py-[17px] text-[16px] font-semibold leading-[1] transition hover:bg-[#F7F8F9]',\n {\n '!bg-[#e8e8e8]': [item.id, item.name, item.code].join(',') === value,\n }\n )}\n >\n <button\n className=\"absolute left-0 top-0 z-1 size-full opacity-0\"\n value={[item.id, item.name, item.code].join(',')}\n onClick={() => {\n setDisplay(item.name)\n setShow(false)\n onChange(item.code, item.name)\n }}\n />\n {item.name}\n </li>\n ))}\n </ul>\n </div>\n </>\n ) : (\n <input\n className={className}\n value={stateName}\n style={{\n WebkitTextFillColor: 'black',\n }}\n onChange={event => {\n onChange('', event.target.value)\n }}\n ></input>\n )}\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["StateSelect_exports", "__export", "StateSelect", "__toCommonJS", "import_jsx_runtime", "import_classnames", "import_headless_ui", "import_react", "import_useClickOutside", "states", "stateName", "stateCode", "className", "onChange", "show", "setShow", "display", "setDisplay", "dropdown", "useClickOutside", "value", "currentState", "item", "target", "classNames", "event", "name", "code"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var z=Object.create;var y=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var M=(r,s)=>{for(var d in s)y(r,d,{get:s[d],enumerable:!0})},F=(r,s,d,m)=>{if(s&&typeof s=="object"||typeof s=="function")for(let c of D(s))!L.call(r,c)&&c!==d&&y(r,c,{get:()=>s[c],enumerable:!(m=B(s,c))||m.enumerable});return r};var R=(r,s,d)=>(d=r!=null?z(E(r)):{},F(s||!r||!r.__esModule?y(d,"default",{value:r,enumerable:!0}):d,r)),G=r=>F(y({},"__esModule",{value:!0}),r);var O={};M(O,{AddressForm:()=>H});module.exports=G(O);var n=require("react/jsx-runtime"),C=R(require("classnames")),l=require("react"),_=require("./CountrySelect"),S=require("./FormItem"),w=require("./Input"),I=require("./StateSelect"),q=require("../../context/const"),P=require("../../context/provider"),K=require("@anker-in/lib");const H=({countries:r,countriesLoading:s,form:d,validate:m,errors:c,onChange:p})=>{const{profile:v,customer:t}=(0,P.useCreditsContext)(),{locale:b}=(0,K.useHeadlessContext)(),[e,f]=(0,l.useState)(),A=(0,l.useMemo)(()=>r.find(u=>u.code===e?.country)?.provinces||[],[e,r]),h=(0,l.useMemo)(()=>d?.flat().find(u=>u.type==="state")?.key,[d]),k=(0,l.useCallback)(()=>{if(t?.defaultAddress)return{name:(t?.defaultAddress.firstName||"")+" "+(t?.defaultAddress.lastName||""),first_name:t?.defaultAddress.firstName,last_name:t?.defaultAddress.lastName,address1:t?.defaultAddress.address1,address2:t?.defaultAddress.address2,city:t?.defaultAddress.city,phone:t?.defaultAddress.phone,country:t?.defaultAddress.countryCodeV2,province:t?.defaultAddress.province,province_code:t?.defaultAddress.provinceCode,email:t?.email||v?.email,zip:t?.defaultAddress.zip};{let a=q.ALPC_COUNTRY_MAP.get(b)||b;return a==="UK"&&(a="GB"),a==="EU"&&(a="NL"),{email:v?.email,country:a}}},[t,v?.email,b]);return console.log("customer",t),(0,l.useEffect)(()=>{if(t){const a=k();f(a),p(a)}},[t,k]),e?(0,n.jsx)("div",{className:"grid gap-[20px]",children:d&&d.map((a,u)=>(0,n.jsx)("div",{className:"item-center -mx-[6px] flex",children:a.map((o,U)=>{const g=c.find(i=>i.key===o.key)?.message,x=(0,C.default)("h-full w-full appearance-none rounded-[2px] border bg-white px-[14px] py-[17px] leading-[1] outline-none placeholder:text-[#999] autofill:shadow-white focus:border-brand disabled:pointer-events-none disabled:text-[#999] disabled:bg-[#F7F8F9] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",g?"!border-[#F84D4F]":"border-[#d8d8d8]");return o.type==="state"&&!A.length?null:(0,n.jsx)("div",{className:(0,C.default)("mx-[6px] flex-1"),children:(0,n.jsxs)(S.FormItem,{error:g,required:o.required,label:o.label,children:[o.type==="country"&&(0,n.jsx)(_.CountrySelect,{className:x,countries:r,loading:s,value:e.country,onChange:i=>{e.country!==i&&(e.province="",e.province_code=""),e.country=i,f({...e}),p(e)}}),o.type==="state"&&(0,n.jsx)(I.StateSelect,{className:x,states:A,stateCode:e.province_code,stateName:e.province,onChange:(i,N)=>{e.province_code=i,e.province=N,f({...e}),p(e)}}),o.type!=="state"&&o.type!=="country"&&(0,n.jsx)(w.Input,{placeholder:o.label,className:x,error:g,value:e[o.key],required:o.required,disabled:o.type==="email",onChange:i=>{const N=i.target.value;e[o.key]=N,f({...e}),p(e)},onBlur:()=>{m({ignoreKeys:A.length&&h?[h]:[]})}})]})},U)})},u))}):null};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/index.tsx"],
4
+ "sourcesContent": ["import classNames from 'classnames'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport { CountrySelect } from './CountrySelect'\nimport { FormItem } from './FormItem'\nimport { Input } from './Input'\nimport { StateSelect } from './StateSelect'\nimport { ALPC_COUNTRY_MAP } from '../../context/const'\nimport { useCreditsContext } from '../../context/provider'\nimport { useHeadlessContext } from '@anker-in/lib'\nimport { AddressFormProps } from './type'\n\nexport const AddressForm = ({ countries, countriesLoading, form, validate, errors, onChange }: AddressFormProps) => {\n const { profile, customer } = useCreditsContext()\n const { locale } = useHeadlessContext()\n\n const [address, setAddress] = useState<Record<string, any>>()\n\n const states = useMemo(() => {\n const currentCountry = countries.find(item => item.code === address?.country)\n\n return currentCountry?.provinces || []\n }, [address, countries])\n\n const stateInputKey = useMemo(() => {\n const stateInput = form?.flat().find(item => item.type === 'state')\n return stateInput?.key\n }, [form])\n\n const getDefaultAddress = useCallback(() => {\n if (customer?.defaultAddress) {\n return {\n name: (customer?.defaultAddress.firstName || '') + ' ' + (customer?.defaultAddress.lastName || ''),\n first_name: customer?.defaultAddress.firstName,\n last_name: customer?.defaultAddress.lastName,\n address1: customer?.defaultAddress.address1,\n address2: customer?.defaultAddress.address2,\n city: customer?.defaultAddress.city,\n phone: customer?.defaultAddress.phone,\n country: customer?.defaultAddress.countryCodeV2,\n province: customer?.defaultAddress.province,\n province_code: customer?.defaultAddress.provinceCode,\n email: customer?.email || profile?.email,\n zip: customer?.defaultAddress.zip,\n }\n } else {\n let defaultCountry = ALPC_COUNTRY_MAP.get(locale) || locale\n if (defaultCountry === 'UK') {\n defaultCountry = 'GB'\n }\n if (defaultCountry === 'EU') {\n defaultCountry = 'NL'\n }\n return {\n email: profile?.email,\n country: defaultCountry,\n }\n }\n }, [customer, profile?.email, locale])\n\n console.log('customer', customer)\n useEffect(() => {\n if (customer) {\n const defaultAddress = getDefaultAddress()\n setAddress(defaultAddress)\n onChange(defaultAddress)\n }\n }, [customer, getDefaultAddress])\n\n if (!address) {\n return null\n }\n\n return (\n <div className=\"grid gap-[20px]\">\n {form &&\n form.map((row, rowIndex: number) => (\n <div key={rowIndex} className=\"item-center -mx-[6px] flex\">\n {row.map((input, inputIndex: number) => {\n const error = errors.find(item => item.key === input.key)?.message\n const inputClassName = classNames(\n 'h-full w-full appearance-none rounded-[2px] border bg-white px-[14px] py-[17px] leading-[1] outline-none placeholder:text-[#999] autofill:shadow-white focus:border-brand disabled:pointer-events-none disabled:text-[#999] disabled:bg-[#F7F8F9] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none',\n error ? '!border-[#F84D4F]' : 'border-[#d8d8d8]'\n )\n\n if (input.type === 'state') {\n if (!states.length) {\n return null\n }\n }\n\n return (\n <div key={inputIndex} className={classNames('mx-[6px] flex-1')}>\n <FormItem error={error} required={input.required} label={input.label}>\n {input.type === 'country' && (\n <CountrySelect\n className={inputClassName}\n countries={countries}\n loading={countriesLoading}\n value={address.country}\n onChange={selectedCountryCode => {\n if (address.country !== selectedCountryCode) {\n address.province = ''\n address.province_code = ''\n }\n address.country = selectedCountryCode\n setAddress({ ...address })\n onChange(address)\n }}\n ></CountrySelect>\n )}\n {input.type === 'state' && (\n <StateSelect\n className={inputClassName}\n states={states}\n stateCode={address.province_code}\n stateName={address.province}\n onChange={(provinceCode, provinceName) => {\n address.province_code = provinceCode\n address.province = provinceName\n setAddress({ ...address })\n onChange(address)\n }}\n ></StateSelect>\n )}\n\n {input.type !== 'state' && input.type !== 'country' && (\n <Input\n placeholder={input.label}\n className={inputClassName}\n error={error}\n value={address[input.key]}\n required={input.required}\n disabled={input.type === 'email'}\n onChange={event => {\n const value = event.target.value\n address[input.key] = value\n setAddress({ ...address })\n onChange(address)\n }}\n onBlur={() => {\n validate({\n ignoreKeys: states.length && stateInputKey ? [stateInputKey] : [],\n })\n }}\n />\n )}\n </FormItem>\n </div>\n )\n })}\n </div>\n ))}\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["AddressForm_exports", "__export", "AddressForm", "__toCommonJS", "import_jsx_runtime", "import_classnames", "import_react", "import_CountrySelect", "import_FormItem", "import_Input", "import_StateSelect", "import_const", "import_provider", "import_lib", "countries", "countriesLoading", "form", "validate", "errors", "onChange", "profile", "customer", "locale", "address", "setAddress", "states", "item", "stateInputKey", "getDefaultAddress", "defaultCountry", "defaultAddress", "row", "rowIndex", "input", "inputIndex", "error", "inputClassName", "classNames", "selectedCountryCode", "provinceCode", "provinceName", "event", "value"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var t=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var g=(r,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of d(e))!a.call(r,o)&&o!==n&&s(r,o,{get:()=>e[o],enumerable:!(i=t(e,o))||i.enumerable});return r};var p=r=>g(s({},"__esModule",{value:!0}),r);var m={};module.exports=p(m);
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/type.ts"],
4
+ "sourcesContent": ["import { CreditsRedeemListCopy } from '../type'\n\ntype ShippingCountry = {\n id: string\n name: string\n code: string\n provinces: {\n id: string\n name: string\n code: string\n }[]\n}\n\nexport interface AddressFormProps {\n form: CreditsRedeemListCopy['redeemModal']['product']['addressForm']\n onChange: (address: any) => void\n validate: (args: { force?: boolean; ignoreKeys?: string[] }) => boolean\n errors: {\n key: string\n message: string\n }[]\n countries: ShippingCountry[]\n countriesLoading: boolean\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["type_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var B=Object.create;var f=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var A=(o,t)=>{for(var i in t)f(o,i,{get:t[i],enumerable:!0})},E=(o,t,i,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of P(t))!U.call(o,a)&&a!==i&&f(o,a,{get:()=>t[a],enumerable:!(m=z(t,a))||m.enumerable});return o};var w=(o,t,i)=>(i=o!=null?B(O(o)):{},E(t||!o||!o.__esModule?f(i,"default",{value:o,enumerable:!0}):i,o)),D=o=>E(f({},"__esModule",{value:!0}),o);var $={};A($,{default:()=>K});module.exports=D($);var e=require("react/jsx-runtime"),d=require("@anker-in/headless-ui"),g=w(require("classnames")),r=require("react"),F=w(require("../context/hooks/useCopy")),R=require("../context/provider"),T=require("../context/hooks/useRedeemCoupon"),p=require("../context/const"),k=require("../modal/modalContainer"),I=require("../context/utils"),L=require("@anker-in/lib");function H({item:o,copy:t,onError:i,...m}){const{locale:a}=(0,L.useHeadlessContext)(),[n,S]=(0,r.useState)(),[C,x]=(0,r.useState)(),[b,c]=(0,r.useState)(!1),{copy:_,copied:v}=(0,F.default)(),{profile:u,fetchCreditInfo:N}=(0,R.useCreditsContext)(),{isMutating:h,trigger:M}=(0,T.useRedeemCoupon)({onSuccess(l){if(!l){x(t.redeemModal.commonError);return}if(l?.data?.success)S(l.data.coupon_code),N(u?.user_id);else{let s;l.code===p.AlpcErrorCode.CodeLpcShopifyCouponRuleRedeemLimit?(s=t.redeemModal.redeemLimitError,c(!0)):l.code===p.AlpcErrorCode.CodeLpcRuleInventoryNotEnough?(s=t.redeemModal.inventoryNotEnough,c(!0)):l.code===p.AlpcErrorCode.CodeLpcNotEnoughCredits?(s=t.redeemModal.creditsNotEnough,c(!0),N(u?.user_id)):l.code===p.AlpcErrorCode.CodeCrossSiteError&&(s=t.redeemModal.crossSiteError,c(!0)),x(s||t.redeemModal.commonError||""),i&&i(l.code)}},onError(l){x(l.message||t.redeemModal.commonError)}}),y=(0,r.useCallback)(async()=>{x(""),M({user_id:u?.user_id,rule_id:Number(o.alpc?.id)})},[o,u,M]);return(0,r.useEffect)(()=>{m.isOpen||(c(!1),x(""))},[m.isOpen]),(0,e.jsxs)(k.CreditsModalContainer,{...m,className:"w-[540px] md:h-auto",scrollClassName:"mb-[40px] min-l:px-0 md:mb-[24px] px-0",titleClassName:"h-[56px] bg-[#F5F5F7]",children:[(0,e.jsxs)("div",{className:(0,g.default)("max-h-[500px] overflow-y-auto bg-[#F5F5F7] px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]"),children:[(0,e.jsxs)("div",{className:"relative mx-auto h-[164px] w-[324px]",children:[t?.imageMapping?.coupon?.url&&(0,e.jsx)(d.Picture,{source:t?.imageMapping?.coupon?.url,className:"h-full [&_img]:h-full"}),(0,e.jsx)("div",{className:"absolute bottom-[8px] left-[16px] font-extrabold text-white",children:o.config.value?(0,e.jsxs)("div",{className:"flex items-end gap-[4px]",children:[(0,e.jsx)(d.Text,{className:"text-[64px] font-bold leading-none",html:o.config.value.toString()}),(0,e.jsx)(d.Text,{className:"text-[24px] font-bold leading-[2]",html:t?.off})]}):(0,e.jsx)(d.Text,{size:3,html:o.alpc?.title})})]}),n?(0,e.jsxs)("div",{className:"mt-[30px] flex items-center justify-center md:mt-[18px]",children:[(0,e.jsx)("div",{className:"mr-[10px] text-[24px] font-bold leading-[1.4] md:leading-[1.2]",children:n}),(0,e.jsx)("div",{className:(0,g.default)("cursor-pointer text-[16px] font-bold leading-[1.2] underline md:text-[14px]",v?"pointer-events-none":"pointer-events-auto"),onClick:()=>{_(n)},role:"button",tabIndex:0,onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&l.preventDefault()},children:v?t?.copied:t?.copy})]}):(0,e.jsxs)(d.Text,{as:"p",className:(0,g.default)("mt-[30px] text-center text-[24px] font-bold leading-[1.2] md:mt-[18px] md:text-[20px] md:leading-[1.2]"),children:[(0,I.numberFormat)(o.alpc?.consumeCredits)," ",t?.pointUnit]}),!n&&o.config?.rules?.length>0&&(0,e.jsxs)("div",{className:"mt-[18px] w-full text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:mt-[12px] md:text-[14px]",children:[(0,e.jsxs)("div",{className:"mb-[4px]",children:[t?.ruleLabel,":"]}),(0,e.jsx)("ul",{className:"ml-4 grid grid-flow-row gap-[4px]",children:o.config?.rules?.map((l,s)=>(0,e.jsx)("li",{className:"list-disc",children:(0,e.jsx)(d.Text,{html:l})},s))})]})]}),(0,e.jsxs)("div",{className:"bg-white px-[48px] pt-[24px] text-center md:px-[16px]",children:[n&&!h?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex flex-col",children:[(0,e.jsx)(d.Text,{className:"mb-[4px] text-[24px] font-bold leading-[1.2] md:text-[20px]",html:t.redeemModal.coupon.successTitle}),(0,e.jsx)(d.Text,{className:"text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:text-[14px]",html:t.redeemModal.coupon.successDesc})]}),(0,e.jsx)(d.Button,{variant:"primary",size:"lg",className:"mt-[16px] w-full",onClick:()=>{window.location.href=t.redeemModal.coupon.successButtonUrl||`/${a}`,m.onClose&&m.onClose()},disabled:b,children:t.redeemModal.coupon.successButton})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(d.Text,{className:"block text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]",html:t.redeemModal.confirmTitle}),(0,e.jsx)(d.Button,{loading:h,variant:"primary",size:"lg",className:"mt-[16px] w-full",onClick:y,disabled:b,children:t.redeemModal.confirmButton})]}),C&&(0,e.jsx)("div",{className:"mx-auto max-w-full py-[12px] text-center",children:(0,e.jsx)(d.Text,{className:"text-[14px] font-semibold text-[#1F2021]",html:C})})]})]})}var K=H;
2
+ //# sourceMappingURL=RedeemCouponModal.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsRedeemList/RedeemCouponModal.tsx"],
4
+ "sourcesContent": ["import { Button, Picture, Text } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport { useCallback, useEffect, useState } from 'react'\nimport type { ModalContainerProps } from '../modal/modalContainer'\nimport useCopy from '../context/hooks/useCopy'\nimport { useCreditsContext } from '../context/provider'\nimport { useRedeemCoupon } from '../context/hooks/useRedeemCoupon'\nimport { AlpcErrorCode } from '../context/const'\nimport { CreditsModalContainer } from '../modal/modalContainer'\nimport { numberFormat } from '../context/utils'\nimport type { RedeemableItem as RedeemableItemType } from '../type'\nimport { useHeadlessContext } from '@anker-in/lib'\nimport { CreditsRedeemListCopy } from './type'\n\nfunction RedeemCouponModal({\n item,\n copy,\n onError,\n ...props\n}: ModalContainerProps & {\n item: RedeemableItemType\n copy: CreditsRedeemListCopy\n onError: (code: number) => void\n}) {\n const { locale } = useHeadlessContext()\n const [couponCode, setCouponCode] = useState<string>()\n const [errorInfo, setErrorInfo] = useState<string>()\n\n const [disabled, setDisabled] = useState(false)\n const { copy: copyText, copied: copiedStatus } = useCopy()\n\n const { profile, fetchCreditInfo } = useCreditsContext()\n\n const { isMutating: loading, trigger } = useRedeemCoupon({\n onSuccess(responseData) {\n if (!responseData) {\n setErrorInfo(copy.redeemModal.commonError)\n return\n }\n\n if (responseData?.data?.success) {\n setCouponCode(responseData.data.coupon_code)\n fetchCreditInfo(profile?.user_id)\n } else {\n let errorMsg\n if (responseData.code === AlpcErrorCode.CodeLpcShopifyCouponRuleRedeemLimit) {\n errorMsg = copy.redeemModal.redeemLimitError\n setDisabled(true)\n } else if (responseData.code === AlpcErrorCode.CodeLpcRuleInventoryNotEnough) {\n errorMsg = copy.redeemModal.inventoryNotEnough\n setDisabled(true)\n } else if (responseData.code === AlpcErrorCode.CodeLpcNotEnoughCredits) {\n errorMsg = copy.redeemModal.creditsNotEnough\n setDisabled(true)\n fetchCreditInfo(profile?.user_id)\n } else if (responseData.code === AlpcErrorCode.CodeCrossSiteError) {\n errorMsg = copy.redeemModal.crossSiteError\n setDisabled(true)\n }\n\n setErrorInfo(errorMsg || copy.redeemModal.commonError || '')\n onError && onError(responseData.code)\n }\n },\n onError(error) {\n setErrorInfo(error.message || copy.redeemModal.commonError)\n },\n })\n\n const handleConfirm = useCallback(async () => {\n setErrorInfo('')\n trigger({\n user_id: profile?.user_id,\n rule_id: Number(item.alpc?.id),\n })\n }, [item, profile, trigger])\n\n useEffect(() => {\n if (!props.isOpen) {\n setDisabled(false)\n setErrorInfo('')\n }\n }, [props.isOpen])\n\n return (\n <CreditsModalContainer\n {...props}\n className=\"w-[540px] md:h-auto\"\n scrollClassName=\"mb-[40px] min-l:px-0 md:mb-[24px] px-0\"\n titleClassName=\"h-[56px] bg-[#F5F5F7]\"\n >\n <div\n className={classNames(\n 'max-h-[500px] overflow-y-auto bg-[#F5F5F7] px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]'\n )}\n >\n <div className=\"relative mx-auto h-[164px] w-[324px]\">\n {copy?.imageMapping?.coupon?.url && (\n <Picture source={copy?.imageMapping?.coupon?.url} className=\"h-full [&_img]:h-full\" />\n )}\n <div className=\"absolute bottom-[8px] left-[16px] font-extrabold text-white\">\n {item.config.value ? (\n <div className=\"flex items-end gap-[4px]\">\n <Text className=\"text-[64px] font-bold leading-none\" html={item.config.value.toString()} />\n <Text className=\"text-[24px] font-bold leading-[2]\" html={copy?.off} />\n </div>\n ) : (\n <Text size={3} html={item.alpc?.title} />\n )}\n </div>\n </div>\n {couponCode ? (\n <div className=\"mt-[30px] flex items-center justify-center md:mt-[18px]\">\n <div className=\"mr-[10px] text-[24px] font-bold leading-[1.4] md:leading-[1.2]\">{couponCode}</div>\n <div\n className={classNames(\n 'cursor-pointer text-[16px] font-bold leading-[1.2] underline md:text-[14px]',\n copiedStatus ? 'pointer-events-none' : 'pointer-events-auto'\n )}\n onClick={() => {\n copyText(couponCode)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {copiedStatus ? copy?.copied : copy?.copy}\n </div>\n </div>\n ) : (\n <Text\n as=\"p\"\n className={classNames(\n 'mt-[30px] text-center text-[24px] font-bold leading-[1.2] md:mt-[18px] md:text-[20px] md:leading-[1.2]'\n )}\n >\n {numberFormat(item.alpc?.consumeCredits)} {copy?.pointUnit}\n </Text>\n )}\n {!couponCode && item.config?.rules?.length > 0 && (\n <div className=\"mt-[18px] w-full text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:mt-[12px] md:text-[14px]\">\n <div className=\"mb-[4px]\">{copy?.ruleLabel}:</div>\n <ul className=\"ml-4 grid grid-flow-row gap-[4px]\">\n {item.config?.rules?.map((text, index) => (\n <li className=\"list-disc\" key={index}>\n <Text html={text} />\n </li>\n ))}\n </ul>\n </div>\n )}\n </div>\n <div className=\"bg-white px-[48px] pt-[24px] text-center md:px-[16px]\">\n {couponCode && !loading ? (\n <>\n <div className=\"flex flex-col\">\n <Text\n className=\"mb-[4px] text-[24px] font-bold leading-[1.2] md:text-[20px]\"\n html={copy.redeemModal.coupon.successTitle}\n ></Text>\n <Text\n className=\"text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:text-[14px]\"\n html={copy.redeemModal.coupon.successDesc}\n ></Text>\n </div>\n <Button\n variant=\"primary\"\n size=\"lg\"\n className=\"mt-[16px] w-full\"\n onClick={() => {\n window.location.href = copy.redeemModal.coupon.successButtonUrl || `/${locale}`\n if (props.onClose) {\n props.onClose()\n }\n }}\n disabled={disabled}\n >\n {copy.redeemModal.coupon.successButton}\n </Button>\n </>\n ) : (\n <>\n <Text\n className=\"block text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]\"\n html={copy.redeemModal.confirmTitle}\n ></Text>\n <Button\n loading={loading}\n variant=\"primary\"\n size=\"lg\"\n className=\"mt-[16px] w-full\"\n onClick={handleConfirm}\n disabled={disabled}\n >\n {copy.redeemModal.confirmButton}\n </Button>\n </>\n )}\n {errorInfo && (\n <div className=\"mx-auto max-w-full py-[12px] text-center\">\n <Text className=\"text-[14px] font-semibold text-[#1F2021]\" html={errorInfo} />\n </div>\n )}\n </div>\n </CreditsModalContainer>\n )\n}\n\nexport default RedeemCouponModal\n"],
5
+ "mappings": "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",
6
+ "names": ["RedeemCouponModal_exports", "__export", "RedeemCouponModal_default", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_classnames", "import_react", "import_useCopy", "import_provider", "import_useRedeemCoupon", "import_const", "import_modalContainer", "import_utils", "import_lib", "RedeemCouponModal", "item", "copy", "onError", "props", "locale", "couponCode", "setCouponCode", "errorInfo", "setErrorInfo", "disabled", "setDisabled", "copyText", "copiedStatus", "useCopy", "profile", "fetchCreditInfo", "loading", "trigger", "responseData", "errorMsg", "error", "handleConfirm", "classNames", "e", "text", "index"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var A=Object.create;var m=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var L=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var I=(e,t)=>{for(var s in t)m(e,s,{get:t[s],enumerable:!0})},n=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let d of w(t))!T.call(e,d)&&d!==s&&m(e,d,{get:()=>t[d],enumerable:!(i=F(t,d))||i.enumerable});return e};var p=(e,t,s)=>(s=e!=null?A(L(e)):{},n(t||!e||!e.__esModule?m(s,"default",{value:e,enumerable:!0}):s,e)),P=e=>n(m({},"__esModule",{value:!0}),e);var B={};I(B,{Address:()=>k});module.exports=P(B);var o=require("react/jsx-runtime"),r=require("@anker-in/headless-ui"),l=p(require("classnames")),x=require("../AddressForm"),c=require("@anker-in/lib"),f=require("./ProductInfo"),u=p(require("../../context/hooks/useCountries"));const k=({copy:e,shippingAddress:t,setAddress:s,validateAddress:i,validateErrors:d,shippingProduct:a,loading:y,address:v,disabled:b,handlePayment:g,item:h})=>{const{storeDomain:C}=(0,c.useHeadlessContext)(),{countries:N=[],isLoading:R}=(0,u.default)({shopifyStoreDomain:C});return(0,o.jsxs)("div",{className:"relative",children:[(0,o.jsx)("div",{className:(0,l.default)("max-h-[500px] overflow-y-auto px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]"),children:(0,o.jsxs)("div",{children:[t&&(0,o.jsx)(r.Text,{className:"mb-5 text-[16px] font-bold",html:t}),(0,o.jsx)(x.AddressForm,{onChange:s,validate:i,errors:d,form:e.redeemModal.product.addressForm,countries:N,countriesLoading:R})]})}),(0,o.jsxs)("div",{className:"sticky bottom-0 flex flex-col items-center justify-center bg-white px-[48px] py-[24px] l:px-[16px]",children:[(0,o.jsxs)("div",{className:"flex w-full items-center rounded-[16px] bg-[#F5F5F7] p-[16px]",children:[a&&(0,o.jsx)(r.Text,{className:"mb-5 text-[16px] font-bold",html:a}),(0,o.jsx)(f.ProductInfo,{item:h,copy:e})]}),(0,o.jsx)(r.Button,{loading:y||!v,variant:"primary",className:"mx-auto mt-[16px] w-[444px] md:mt-[12px] md:w-full",onClick:g,disabled:b,children:e.redeemModal.product.paymentButton})]})]})};
2
+ //# sourceMappingURL=Address.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx"],
4
+ "sourcesContent": ["import { Button, Text } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport { AddressForm } from '../AddressForm'\nimport { useHeadlessContext } from '@anker-in/lib'\nimport type { RedeemableItem as RedeemableItemType } from '../../type'\nimport { CreditsRedeemListCopy } from '../type'\nimport { ProductInfo } from './ProductInfo'\nimport useCountries from '../../context/hooks/useCountries'\n\ntype AddressProps = {\n copy: CreditsRedeemListCopy\n shippingAddress: string\n setAddress: (address: Record<string, any>) => void\n validateAddress: (address: Record<string, any>) => boolean\n validateErrors: { key: string; message: string }[]\n item: RedeemableItemType\n loading: boolean\n address: Record<string, any> | undefined\n disabled: boolean\n handlePayment: () => void\n shippingProduct: string\n}\n\nexport const Address = ({\n copy,\n shippingAddress,\n setAddress,\n validateAddress,\n validateErrors,\n shippingProduct,\n loading,\n address,\n disabled,\n handlePayment,\n item,\n}: AddressProps) => {\n const { storeDomain } = useHeadlessContext()\n const { countries = [], isLoading: countriesLoading } = useCountries({ shopifyStoreDomain: storeDomain })\n\n return (\n <div className=\"relative\">\n <div className={classNames('max-h-[500px] overflow-y-auto px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]')}>\n <div>\n {shippingAddress && <Text className=\"mb-5 text-[16px] font-bold\" html={shippingAddress}></Text>}\n <AddressForm\n onChange={setAddress}\n validate={validateAddress}\n errors={validateErrors}\n form={copy.redeemModal.product.addressForm}\n countries={countries}\n countriesLoading={countriesLoading}\n ></AddressForm>\n </div>\n </div>\n <div className=\"sticky bottom-0 flex flex-col items-center justify-center bg-white px-[48px] py-[24px] l:px-[16px]\">\n <div className=\"flex w-full items-center rounded-[16px] bg-[#F5F5F7] p-[16px]\">\n {shippingProduct && <Text className=\"mb-5 text-[16px] font-bold\" html={shippingProduct}></Text>}\n <ProductInfo item={item} copy={copy} />\n </div>\n <Button\n loading={loading || !address}\n variant=\"primary\"\n className=\"mx-auto mt-[16px] w-[444px] md:mt-[12px] md:w-full\"\n onClick={handlePayment}\n disabled={disabled}\n >\n {copy.redeemModal.product.paymentButton}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA0CQ,IAAAI,EAAA,6BA1CRC,EAA6B,iCAC7BC,EAAuB,yBACvBC,EAA4B,0BAC5BC,EAAmC,yBAGnCC,EAA4B,yBAC5BC,EAAyB,+CAgBlB,MAAMR,EAAU,CAAC,CACtB,KAAAS,EACA,gBAAAC,EACA,WAAAC,EACA,gBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,EACA,cAAAC,EACA,KAAAC,CACF,IAAoB,CAClB,KAAM,CAAE,YAAAC,CAAY,KAAI,sBAAmB,EACrC,CAAE,UAAAC,EAAY,CAAC,EAAG,UAAWC,CAAiB,KAAI,EAAAC,SAAa,CAAE,mBAAoBH,CAAY,CAAC,EAExG,SACE,QAAC,OAAI,UAAU,WACb,oBAAC,OAAI,aAAW,EAAAI,SAAW,iFAAiF,EAC1G,oBAAC,OACE,UAAAd,MAAmB,OAAC,QAAK,UAAU,6BAA6B,KAAMA,EAAiB,KACxF,OAAC,eACC,SAAUC,EACV,SAAUC,EACV,OAAQC,EACR,KAAMJ,EAAK,YAAY,QAAQ,YAC/B,UAAWY,EACX,iBAAkBC,EACnB,GACH,EACF,KACA,QAAC,OAAI,UAAU,qGACb,qBAAC,OAAI,UAAU,gEACZ,UAAAR,MAAmB,OAAC,QAAK,UAAU,6BAA6B,KAAMA,EAAiB,KACxF,OAAC,eAAY,KAAMK,EAAM,KAAMV,EAAM,GACvC,KACA,OAAC,UACC,QAASM,GAAW,CAACC,EACrB,QAAQ,UACR,UAAU,qDACV,QAASE,EACT,SAAUD,EAET,SAAAR,EAAK,YAAY,QAAQ,cAC5B,GACF,GACF,CAEJ",
6
+ "names": ["Address_exports", "__export", "Address", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_classnames", "import_AddressForm", "import_lib", "import_ProductInfo", "import_useCountries", "copy", "shippingAddress", "setAddress", "validateAddress", "validateErrors", "shippingProduct", "loading", "address", "disabled", "handlePayment", "item", "storeDomain", "countries", "countriesLoading", "useCountries", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var x=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var l=(r,e)=>{for(var a in e)x(r,a,{get:e[a],enumerable:!0})},g=(r,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of i(e))!c.call(r,t)&&t!==a&&x(r,t,{get:()=>e[t],enumerable:!(o=p(e,t))||o.enumerable});return r};var n=r=>g(x({},"__esModule",{value:!0}),r);var d={};l(d,{Error:()=>u});module.exports=n(d);var s=require("react/jsx-runtime"),m=require("@anker-in/headless-ui");const u=({errorInfo:r})=>(0,s.jsxs)("div",{className:"mx-auto max-w-[404px] text-[16px] text-black/40",children:[(0,s.jsx)(m.Picture,{className:"mx-auto mb-[12px] h-[140px] w-[220px]",source:r.imageUrl}),(0,s.jsx)(m.Text,{as:"div",className:"mt-[16px] text-center",html:r.message})]});
2
+ //# sourceMappingURL=Error.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/RedeemProductModal/Error.tsx"],
4
+ "sourcesContent": ["import { Picture, Text } from '@anker-in/headless-ui'\n\ntype ErrorProps = {\n errorInfo: { imageUrl: string; message: string }\n}\n\nexport const Error = ({ errorInfo }: ErrorProps) => {\n return (\n <div className=\"mx-auto max-w-[404px] text-[16px] text-black/40\">\n <Picture className=\"mx-auto mb-[12px] h-[140px] w-[220px]\" source={errorInfo.imageUrl} />\n <Text as=\"div\" className=\"mt-[16px] text-center\" html={errorInfo.message} />\n </div>\n )\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,IAAA,eAAAC,EAAAH,GAQI,IAAAI,EAAA,6BARJC,EAA8B,iCAMvB,MAAMH,EAAQ,CAAC,CAAE,UAAAI,CAAU,OAE9B,QAAC,OAAI,UAAU,kDACb,oBAAC,WAAQ,UAAU,wCAAwC,OAAQA,EAAU,SAAU,KACvF,OAAC,QAAK,GAAG,MAAM,UAAU,wBAAwB,KAAMA,EAAU,QAAS,GAC5E",
6
+ "names": ["Error_exports", "__export", "Error", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "errorInfo"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var g=Object.create;var p=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var w=(l,t)=>{for(var d in t)p(l,d,{get:t[d],enumerable:!0})},f=(l,t,d,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of b(t))!h.call(l,a)&&a!==d&&p(l,a,{get:()=>t[a],enumerable:!(i=v(t,a))||i.enumerable});return l};var y=(l,t,d)=>(d=l!=null?g(N(l)):{},f(t||!l||!l.__esModule?p(d,"default",{value:l,enumerable:!0}):d,l)),C=l=>f(p({},"__esModule",{value:!0}),l);var T={};w(T,{Init:()=>M});module.exports=C(T);var e=require("react/jsx-runtime"),s=require("@anker-in/headless-ui"),r=y(require("classnames")),x=require("react"),u=require("../../context/utils"),n=require("../../context/const");const M=({copy:l,item:t,loading:d,disabled:i,setStatus:a})=>{const c=(0,x.useMemo)(()=>t.config.rules?.length?t.config.rules:[...t.config.desc?.split("<br>")||[],...l.redeemModal.product.rules||[]],[t.config.rules,t.config.desc,l.redeemModal.product.rules]);return console.log("item",t),(0,e.jsxs)("div",{className:"flex flex-col",children:[(0,e.jsx)("div",{className:(0,r.default)("max-h-[500px] overflow-y-auto bg-[#F5F5F7] px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]"),children:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"relative mx-auto h-[164px] w-fit",children:[(0,e.jsx)(s.Picture,{source:t.config?.type===n.ConsumeType.Product?t.product.images[0]?.url:l?.imageMapping[t.config.type]?.url||t.config.image?.url,className:"h-full w-auto [&_img]:h-full [&_img]:w-auto [&_img]:object-contain"}),(0,e.jsx)("div",{className:"absolute bottom-[8px] left-[16px] font-extrabold text-white",children:t.config.value&&(0,e.jsxs)("div",{className:"flex items-end gap-[4px]",children:[(0,e.jsx)(s.Text,{className:"text-[64px] font-bold leading-none",html:t.config.value.toString()}),(0,e.jsx)(s.Text,{className:"text-[24px] font-bold leading-[2]",html:t.config.type===n.ConsumeType.Coupon?l?.off:l?.giftCardLabel})]})})]}),(0,e.jsxs)("div",{className:"mt-[30px] md:mt-[18px]",children:[t.config.type==="product"&&(0,e.jsx)("div",{className:(0,r.default)("mb-[4px] text-center text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]"),children:t.config.title}),(0,e.jsxs)(s.Text,{as:"p",className:(0,r.default)(" text-center text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]"),children:[(0,u.numberFormat)(t.alpc?.consumeCredits)," ",l?.pointUnit]})]}),(0,e.jsxs)("div",{className:"mt-[16px] w-full text-[14px] font-semibold text-[#777] md:mt-[12px]",children:[(0,e.jsx)("div",{className:"text-[16px] font-bold leading-[1.4]",children:l.redeemModal.product.stepTitle}),(0,e.jsx)("div",{className:"mt-[4px] flex items-center justify-center",children:l.redeemModal.product.steps?.map((o,m)=>(0,e.jsxs)(x.Fragment,{children:[(0,e.jsxs)("div",{className:"flex w-[76px] flex-col items-center text-center md:h-[94px] min-l:w-[130px]",children:[(0,e.jsx)(s.Picture,{source:o.imageUrl,className:"mb-[4px] h-[58px] w-[58px]"}),(0,e.jsx)("div",{className:"min-h-[34px] text-[14px] font-bold text-[#777] md:min-h-[28px] md:text-[12px]",children:o.title})]}),m!==l.redeemModal.product.steps.length-1&&(0,e.jsx)(s.Picture,{source:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/step-arrow.png?v=1690458150",className:"mb-[20px] h-[10px] w-[20px] md:mb-[30px] md:h-[5px] md:w-[12px]"})]},m))}),(0,e.jsx)("div",{className:"overflow-auto",children:c?.length&&(0,e.jsx)("ul",{className:"ml-[18px] mt-[16px] grid grid-flow-row gap-[4px] text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:mt-[12px]",children:c.map((o,m)=>(0,e.jsx)("li",{className:"list-disc",children:(0,e.jsx)(s.Text,{as:"div",html:o,className:"font-bold"})},m))})})]})]})}),(0,e.jsxs)("div",{className:"flex-1 bg-white px-[48px] py-[24px] text-center md:px-[16px]",children:[(0,e.jsx)(s.Text,{as:"p",className:"block text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]",html:l.redeemModal.confirmTitle}),(0,e.jsx)(s.Button,{loading:d,disabled:i,variant:"primary",size:"lg",className:"mt-[16px] w-full md:mt-[12px]",onClick:()=>{a("address")},children:l.redeemModal.confirmButton})]})]})};
2
+ //# sourceMappingURL=Init.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx"],
4
+ "sourcesContent": ["import { Button, Picture, Text } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport { Fragment, useMemo } from 'react'\nimport { numberFormat } from '../../context/utils'\nimport type { RedeemableItem as RedeemableItemType } from '../../type'\nimport { CreditsRedeemListCopy } from '../type'\nimport { ConsumeType } from '../../context/const'\n\ntype InitProps = {\n copy: CreditsRedeemListCopy\n item: RedeemableItemType\n loading: boolean\n disabled: boolean\n setStatus: (status: 'address' | 'init' | 'success' | 'error') => void\n}\n\nexport const Init = ({ copy, item, loading, disabled, setStatus }: InitProps) => {\n const rules = useMemo(() => {\n if (item.config.rules?.length) {\n return item.config.rules\n }\n const descriptions = item.config.desc?.split('<br>') || []\n return [...descriptions, ...(copy.redeemModal.product.rules || [])]\n }, [item.config.rules, item.config.desc, copy.redeemModal.product.rules])\n\n console.log('item', item)\n return (\n <div className=\"flex flex-col\">\n <div\n className={classNames(\n 'max-h-[500px] overflow-y-auto bg-[#F5F5F7] px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]'\n )}\n >\n <>\n <div className=\"relative mx-auto h-[164px] w-fit\">\n <Picture\n source={\n item.config?.type === ConsumeType.Product\n ? item.product.images[0]?.url\n : copy?.imageMapping[item.config.type]?.url || item.config.image?.url\n }\n className=\"h-full w-auto [&_img]:h-full [&_img]:w-auto [&_img]:object-contain\"\n ></Picture>\n {/* \u793C\u54C1\u5361\u5C55\u793A */}\n <div className=\"absolute bottom-[8px] left-[16px] font-extrabold text-white\">\n {item.config.value && (\n <div className=\"flex items-end gap-[4px]\">\n <Text className=\"text-[64px] font-bold leading-none\" html={item.config.value.toString()} />\n <Text\n className=\"text-[24px] font-bold leading-[2]\"\n html={item.config.type === ConsumeType.Coupon ? copy?.off : copy?.giftCardLabel}\n />\n </div>\n )}\n </div>\n </div>\n <div className=\"mt-[30px] md:mt-[18px]\">\n {item.config.type === 'product' && (\n <div\n className={classNames(\n 'mb-[4px] text-center text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]'\n )}\n >\n {item.config.title}\n </div>\n )}\n <Text\n as=\"p\"\n className={classNames(' text-center text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]')}\n >\n {numberFormat(item.alpc?.consumeCredits)} {copy?.pointUnit}\n </Text>\n </div>\n <div className=\"mt-[16px] w-full text-[14px] font-semibold text-[#777] md:mt-[12px]\">\n <div className=\"text-[16px] font-bold leading-[1.4]\">{copy.redeemModal.product.stepTitle}</div>\n <div className=\"mt-[4px] flex items-center justify-center\">\n {copy.redeemModal.product.steps?.map((item, index) => (\n <Fragment key={index}>\n <div className=\"flex w-[76px] flex-col items-center text-center md:h-[94px] min-l:w-[130px]\">\n <Picture source={item.imageUrl} className=\"mb-[4px] h-[58px] w-[58px]\"></Picture>\n <div className=\"min-h-[34px] text-[14px] font-bold text-[#777] md:min-h-[28px] md:text-[12px]\">\n {item.title}\n </div>\n </div>\n {index !== copy.redeemModal.product.steps.length - 1 && (\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/step-arrow.png?v=1690458150\"\n className=\"mb-[20px] h-[10px] w-[20px] md:mb-[30px] md:h-[5px] md:w-[12px]\"\n ></Picture>\n )}\n </Fragment>\n ))}\n </div>\n <div className=\"overflow-auto\">\n {rules?.length && (\n <ul className=\"ml-[18px] mt-[16px] grid grid-flow-row gap-[4px] text-[16px] font-bold leading-[1.4] text-[#6D6D6F] md:mt-[12px]\">\n {rules.map((text, index) => (\n <li className=\"list-disc\" key={index}>\n <Text as=\"div\" html={text} className=\"font-bold\" />\n </li>\n ))}\n </ul>\n )}\n </div>\n </div>\n </>\n </div>\n <div className=\"flex-1 bg-white px-[48px] py-[24px] text-center md:px-[16px]\">\n <Text\n as=\"p\"\n className=\"block text-[24px] font-bold leading-[1.2] md:text-[20px] md:leading-[1.2]\"\n html={copy.redeemModal.confirmTitle}\n ></Text>\n <Button\n loading={loading}\n disabled={disabled}\n variant=\"primary\"\n size=\"lg\"\n className=\"mt-[16px] w-full md:mt-[12px]\"\n onClick={() => {\n setStatus('address')\n }}\n >\n {copy.redeemModal.confirmButton}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,UAAAE,IAAA,eAAAC,EAAAH,GAiCQ,IAAAI,EAAA,6BAjCRC,EAAsC,iCACtCC,EAAuB,yBACvBC,EAAkC,iBAClCC,EAA6B,+BAG7BC,EAA4B,+BAUrB,MAAMP,EAAO,CAAC,CAAE,KAAAQ,EAAM,KAAAC,EAAM,QAAAC,EAAS,SAAAC,EAAU,UAAAC,CAAU,IAAiB,CAC/E,MAAMC,KAAQ,WAAQ,IAChBJ,EAAK,OAAO,OAAO,OACdA,EAAK,OAAO,MAGd,CAAC,GADaA,EAAK,OAAO,MAAM,MAAM,MAAM,GAAK,CAAC,EAChC,GAAID,EAAK,YAAY,QAAQ,OAAS,CAAC,CAAE,EACjE,CAACC,EAAK,OAAO,MAAOA,EAAK,OAAO,KAAMD,EAAK,YAAY,QAAQ,KAAK,CAAC,EAExE,eAAQ,IAAI,OAAQC,CAAI,KAEtB,QAAC,OAAI,UAAU,gBACb,oBAAC,OACC,aAAW,EAAAK,SACT,8FACF,EAEA,gCACE,qBAAC,OAAI,UAAU,mCACb,oBAAC,WACC,OACEL,EAAK,QAAQ,OAAS,cAAY,QAC9BA,EAAK,QAAQ,OAAO,CAAC,GAAG,IACxBD,GAAM,aAAaC,EAAK,OAAO,IAAI,GAAG,KAAOA,EAAK,OAAO,OAAO,IAEtE,UAAU,qEACX,KAED,OAAC,OAAI,UAAU,8DACZ,SAAAA,EAAK,OAAO,UACX,QAAC,OAAI,UAAU,2BACb,oBAAC,QAAK,UAAU,qCAAqC,KAAMA,EAAK,OAAO,MAAM,SAAS,EAAG,KACzF,OAAC,QACC,UAAU,oCACV,KAAMA,EAAK,OAAO,OAAS,cAAY,OAASD,GAAM,IAAMA,GAAM,cACpE,GACF,EAEJ,GACF,KACA,QAAC,OAAI,UAAU,yBACZ,UAAAC,EAAK,OAAO,OAAS,cACpB,OAAC,OACC,aAAW,EAAAK,SACT,0FACF,EAEC,SAAAL,EAAK,OAAO,MACf,KAEF,QAAC,QACC,GAAG,IACH,aAAW,EAAAK,SAAW,kFAAkF,EAEvG,6BAAaL,EAAK,MAAM,cAAc,EAAE,IAAED,GAAM,WACnD,GACF,KACA,QAAC,OAAI,UAAU,sEACb,oBAAC,OAAI,UAAU,sCAAuC,SAAAA,EAAK,YAAY,QAAQ,UAAU,KACzF,OAAC,OAAI,UAAU,4CACZ,SAAAA,EAAK,YAAY,QAAQ,OAAO,IAAI,CAACC,EAAMM,OAC1C,QAAC,YACC,qBAAC,OAAI,UAAU,8EACb,oBAAC,WAAQ,OAAQN,EAAK,SAAU,UAAU,6BAA6B,KACvE,OAAC,OAAI,UAAU,gFACZ,SAAAA,EAAK,MACR,GACF,EACCM,IAAUP,EAAK,YAAY,QAAQ,MAAM,OAAS,MACjD,OAAC,WACC,OAAO,qFACP,UAAU,kEACX,IAXUO,CAaf,CACD,EACH,KACA,OAAC,OAAI,UAAU,gBACZ,SAAAF,GAAO,WACN,OAAC,MAAG,UAAU,mHACX,SAAAA,EAAM,IAAI,CAACG,EAAMD,OAChB,OAAC,MAAG,UAAU,YACZ,mBAAC,QAAK,GAAG,MAAM,KAAMC,EAAM,UAAU,YAAY,GADpBD,CAE/B,CACD,EACH,EAEJ,GACF,GACF,EACF,KACA,QAAC,OAAI,UAAU,+DACb,oBAAC,QACC,GAAG,IACH,UAAU,4EACV,KAAMP,EAAK,YAAY,aACxB,KACD,OAAC,UACC,QAASE,EACT,SAAUC,EACV,QAAQ,UACR,KAAK,KACL,UAAU,gCACV,QAAS,IAAM,CACbC,EAAU,SAAS,CACrB,EAEC,SAAAJ,EAAK,YAAY,cACpB,GACF,GACF,CAEJ",
6
+ "names": ["Init_exports", "__export", "Init", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_classnames", "import_react", "import_utils", "import_const", "copy", "item", "loading", "disabled", "setStatus", "rules", "classNames", "index", "text"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var x=(t,a)=>{for(var d in a)s(t,d,{get:a[d],enumerable:!0})},u=(t,a,d,i)=>{if(a&&typeof a=="object"||typeof a=="function")for(let m of c(a))!n.call(t,m)&&m!==d&&s(t,m,{get:()=>a[m],enumerable:!(i=o(a,m))||i.enumerable});return t};var f=t=>u(s({},"__esModule",{value:!0}),t);var b={};x(b,{ProductInfo:()=>v});module.exports=f(b);var e=require("react/jsx-runtime"),l=require("@anker-in/headless-ui"),r=require("../../context/utils"),p=require("@anker-in/lib");const v=({item:t,copy:a})=>{const{locale:d}=(0,p.useHeadlessContext)();return(0,e.jsxs)("div",{className:"flex w-full items-center justify-center md:items-start md:justify-start",children:[(0,e.jsx)(l.Picture,{className:"mr-[16px] size-[100px] shrink-0 md:mr-[12px] md:hidden md:size-[44px] [&_img]:h-full [&_img]:w-auto [&_img]:object-contain",source:t.variant.image?.url||t.product?.images[0]?.url,alt:t.product.title}),(0,e.jsxs)("div",{className:"md:flex md:flex-col",children:[(0,e.jsxs)("div",{className:"md:flex md:items-center",children:[(0,e.jsx)(l.Picture,{className:"mr-[16px] size-[100px] shrink-0 md:mr-[12px] md:size-[44px] min-md:hidden [&_img]:h-full [&_img]:w-auto [&_img]:object-contain",source:t.variant.image?.url||t.product?.images[0]?.url,alt:t.product.title}),(0,e.jsx)("div",{className:"flex-1 text-[16px] font-bold leading-[1.4] min-l:!hidden",title:t.product.title,children:t.product.title})]}),(0,e.jsxs)("div",{className:"mt-[16px] md:mt-[12px]",children:[(0,e.jsx)("div",{className:"mb-[12px] line-clamp-1 text-[16px] font-bold l:!hidden",title:t.product.title,children:t.product.title}),(0,e.jsxs)("div",{className:"flex font-semibold leading-[1.4] md:flex-col",children:[(0,e.jsxs)("div",{className:"mr-[40px] text-[15px] font-bold text-[#777] md:mr-0 md:text-[12px]",children:[(0,e.jsxs)("div",{className:"mb-[8px] flex items-center md:mb-[4px]",children:[(0,e.jsxs)("span",{children:[a.redeemModal.product.variantLabel,": "]}),(0,e.jsx)("span",{className:"ml-1",children:t.variant.title||""})]}),(0,e.jsxs)("div",{className:"mb-[8px] flex items-center md:mb-[4px]",children:[(0,e.jsxs)("span",{children:[a.redeemModal.product.shippingFeeLabel,": "]}),(0,e.jsx)("span",{className:"ml-1",children:(0,r.formatPrice)({amount:0,currencyCode:t.product.price?.currencyCode,locale:d||"us"})})]})]}),(0,e.jsxs)("div",{className:"text-[15px] font-bold text-[#777] md:text-[12px]",children:[(0,e.jsxs)("div",{className:"mb-[8px] flex items-center md:mb-[4px]",children:[(0,e.jsxs)("span",{children:[a.redeemModal.product.quantityLabel,": "]}),(0,e.jsx)("span",{className:"ml-1",children:"1"})]}),(0,e.jsxs)("div",{className:"l:flex l:items-center l:justify-between",children:[(0,e.jsxs)("span",{children:[a.redeemModal.product.totalPriceLabel,": "]}),(0,e.jsxs)("span",{className:"ml-1",children:[t.alpc?.consumeCredits," ",a?.pointUnit]})]})]})]})]})]})]})};
2
+ //# sourceMappingURL=ProductInfo.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx"],
4
+ "sourcesContent": ["import { Picture } from '@anker-in/headless-ui'\nimport { formatPrice } from '../../context/utils'\nimport type { RedeemableItem as RedeemableItemType } from '../../type'\nimport { CreditsRedeemListCopy } from '../type'\nimport { useHeadlessContext } from '@anker-in/lib'\n\ntype ProductInfoProps = {\n item: RedeemableItemType\n copy: CreditsRedeemListCopy\n}\n\nexport const ProductInfo = ({ item, copy }: ProductInfoProps) => {\n const { locale } = useHeadlessContext()\n\n return (\n <div className=\"flex w-full items-center justify-center md:items-start md:justify-start\">\n <Picture\n className=\"mr-[16px] size-[100px] shrink-0 md:mr-[12px] md:hidden md:size-[44px] [&_img]:h-full [&_img]:w-auto [&_img]:object-contain\"\n source={item.variant.image?.url || item.product?.images[0]?.url}\n alt={item.product.title}\n ></Picture>\n <div className=\"md:flex md:flex-col\">\n <div className=\"md:flex md:items-center\">\n <Picture\n className=\"mr-[16px] size-[100px] shrink-0 md:mr-[12px] md:size-[44px] min-md:hidden [&_img]:h-full [&_img]:w-auto [&_img]:object-contain\"\n source={item.variant.image?.url || item.product?.images[0]?.url}\n alt={item.product.title}\n ></Picture>\n <div className=\"flex-1 text-[16px] font-bold leading-[1.4] min-l:!hidden\" title={item.product.title}>\n {item.product.title}\n </div>\n </div>\n\n <div className=\"mt-[16px] md:mt-[12px]\">\n <div className=\"mb-[12px] line-clamp-1 text-[16px] font-bold l:!hidden\" title={item.product.title}>\n {item.product.title}\n </div>\n <div className=\"flex font-semibold leading-[1.4] md:flex-col\">\n <div className=\"mr-[40px] text-[15px] font-bold text-[#777] md:mr-0 md:text-[12px]\">\n <div className=\"mb-[8px] flex items-center md:mb-[4px]\">\n <span>{copy.redeemModal.product.variantLabel}: </span>\n <span className=\"ml-1\">{item.variant.title || ''}</span>\n </div>\n <div className=\"mb-[8px] flex items-center md:mb-[4px]\">\n <span>{copy.redeemModal.product.shippingFeeLabel}: </span>\n <span className=\"ml-1\">\n {formatPrice({\n amount: 0,\n currencyCode: item.product.price?.currencyCode!,\n locale: locale || 'us',\n })}\n </span>\n </div>\n </div>\n <div className=\"text-[15px] font-bold text-[#777] md:text-[12px]\">\n <div className=\"mb-[8px] flex items-center md:mb-[4px]\">\n <span>{copy.redeemModal.product.quantityLabel}: </span>\n <span className=\"ml-1\">1</span>\n </div>\n <div className=\"l:flex l:items-center l:justify-between\">\n <span>{copy.redeemModal.product.totalPriceLabel}: </span>\n <span className=\"ml-1\">\n {item.alpc?.consumeCredits} {copy?.pointUnit}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,IAAA,eAAAC,EAAAH,GAgBM,IAAAI,EAAA,6BAhBNC,EAAwB,iCACxBC,EAA4B,+BAG5BC,EAAmC,yBAO5B,MAAML,EAAc,CAAC,CAAE,KAAAM,EAAM,KAAAC,CAAK,IAAwB,CAC/D,KAAM,CAAE,OAAAC,CAAO,KAAI,sBAAmB,EAEtC,SACE,QAAC,OAAI,UAAU,0EACb,oBAAC,WACC,UAAU,6HACV,OAAQF,EAAK,QAAQ,OAAO,KAAOA,EAAK,SAAS,OAAO,CAAC,GAAG,IAC5D,IAAKA,EAAK,QAAQ,MACnB,KACD,QAAC,OAAI,UAAU,sBACb,qBAAC,OAAI,UAAU,0BACb,oBAAC,WACC,UAAU,iIACV,OAAQA,EAAK,QAAQ,OAAO,KAAOA,EAAK,SAAS,OAAO,CAAC,GAAG,IAC5D,IAAKA,EAAK,QAAQ,MACnB,KACD,OAAC,OAAI,UAAU,2DAA2D,MAAOA,EAAK,QAAQ,MAC3F,SAAAA,EAAK,QAAQ,MAChB,GACF,KAEA,QAAC,OAAI,UAAU,yBACb,oBAAC,OAAI,UAAU,yDAAyD,MAAOA,EAAK,QAAQ,MACzF,SAAAA,EAAK,QAAQ,MAChB,KACA,QAAC,OAAI,UAAU,+CACb,qBAAC,OAAI,UAAU,qEACb,qBAAC,OAAI,UAAU,yCACb,qBAAC,QAAM,UAAAC,EAAK,YAAY,QAAQ,aAAa,MAAE,KAC/C,OAAC,QAAK,UAAU,OAAQ,SAAAD,EAAK,QAAQ,OAAS,GAAG,GACnD,KACA,QAAC,OAAI,UAAU,yCACb,qBAAC,QAAM,UAAAC,EAAK,YAAY,QAAQ,iBAAiB,MAAE,KACnD,OAAC,QAAK,UAAU,OACb,2BAAY,CACX,OAAQ,EACR,aAAcD,EAAK,QAAQ,OAAO,aAClC,OAAQE,GAAU,IACpB,CAAC,EACH,GACF,GACF,KACA,QAAC,OAAI,UAAU,mDACb,qBAAC,OAAI,UAAU,yCACb,qBAAC,QAAM,UAAAD,EAAK,YAAY,QAAQ,cAAc,MAAE,KAChD,OAAC,QAAK,UAAU,OAAO,aAAC,GAC1B,KACA,QAAC,OAAI,UAAU,0CACb,qBAAC,QAAM,UAAAA,EAAK,YAAY,QAAQ,gBAAgB,MAAE,KAClD,QAAC,QAAK,UAAU,OACb,UAAAD,EAAK,MAAM,eAAe,IAAEC,GAAM,WACrC,GACF,GACF,GACF,GACF,GACF,GACF,CAEJ",
6
+ "names": ["ProductInfo_exports", "__export", "ProductInfo", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_utils", "import_lib", "item", "copy", "locale"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var f=Object.create;var a=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var N=(e,t)=>{for(var m in t)a(e,m,{get:t[m],enumerable:!0})},l=(e,t,m,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let d of y(t))!g.call(e,d)&&d!==m&&a(e,d,{get:()=>t[d],enumerable:!(p=b(t,d))||p.enumerable});return e};var w=(e,t,m)=>(m=e!=null?f(v(e)):{},l(t||!e||!e.__esModule?a(m,"default",{value:e,enumerable:!0}):m,e)),C=e=>l(a({},"__esModule",{value:!0}),e);var T={};N(T,{Success:()=>R});module.exports=C(T);var o=require("react/jsx-runtime"),s=require("@anker-in/headless-ui"),r=w(require("classnames")),i=require("./ProductInfo");const R=({copy:e,shippingProduct:t,loading:m,address:p,disabled:d,onClose:x,item:n})=>(0,o.jsx)("div",{className:(0,r.default)("max-h-[500px] overflow-y-auto px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]"),children:(0,o.jsxs)("div",{className:"flex flex-col items-center",children:[(0,o.jsx)("div",{className:"mb-[16px] grid grid-flow-row gap-y-[4px] md:mb-[12px]",children:e.redeemModal.product.successDesc.map((c,u)=>(0,o.jsx)(s.Text,{className:"text-[18px] font-bold leading-[1.4] md:text-[14px]",html:c},u))}),t&&(0,o.jsx)(s.Text,{className:"mb-5 text-[16px] font-bold",html:t}),(0,o.jsx)("div",{className:"flex w-full items-center rounded-[16px] bg-[#F5F5F7] p-[16px]",children:(0,o.jsx)(i.ProductInfo,{item:n,copy:e})}),(0,o.jsx)(s.Button,{loading:m||!p,variant:"primary",className:"mx-auto mt-[16px] w-[444px] md:mt-[12px] md:w-full",onClick:x,disabled:d,children:e.redeemModal.product.paymentButton})]})});
2
+ //# sourceMappingURL=Success.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx"],
4
+ "sourcesContent": ["import { Button, Text } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport type { RedeemableItem as RedeemableItemType } from '../../type'\nimport { CreditsRedeemListCopy } from '../type'\nimport { ProductInfo } from './ProductInfo'\n\ntype SuccessProps = {\n copy: CreditsRedeemListCopy\n shippingProduct: string\n loading: boolean\n address: Record<string, any> | undefined\n disabled: boolean\n onClose: () => void\n item: RedeemableItemType\n}\n\nexport const Success = ({ copy, shippingProduct, loading, address, disabled, onClose, item }: SuccessProps) => {\n return (\n <div className={classNames('max-h-[500px] overflow-y-auto px-[48px] pb-[24px] md:max-h-[400px] md:px-[16px]')}>\n <div className=\"flex flex-col items-center\">\n <div className=\"mb-[16px] grid grid-flow-row gap-y-[4px] md:mb-[12px]\">\n {copy.redeemModal.product.successDesc.map((description: string, index: number) => (\n <Text key={index} className=\"text-[18px] font-bold leading-[1.4] md:text-[14px]\" html={description}></Text>\n ))}\n </div>\n\n {shippingProduct && <Text className=\"mb-5 text-[16px] font-bold\" html={shippingProduct}></Text>}\n\n <div className=\"flex w-full items-center rounded-[16px] bg-[#F5F5F7] p-[16px]\">\n <ProductInfo item={item} copy={copy} />\n </div>\n\n <Button\n loading={loading || !address}\n variant=\"primary\"\n className=\"mx-auto mt-[16px] w-[444px] md:mt-[12px] md:w-full\"\n onClick={onClose}\n disabled={disabled}\n >\n {copy.redeemModal.product.paymentButton}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAmBM,IAAAI,EAAA,6BAnBNC,EAA6B,iCAC7BC,EAAuB,yBAGvBC,EAA4B,yBAYrB,MAAML,EAAU,CAAC,CAAE,KAAAM,EAAM,gBAAAC,EAAiB,QAAAC,EAAS,QAAAC,EAAS,SAAAC,EAAU,QAAAC,EAAS,KAAAC,CAAK,OAEvF,OAAC,OAAI,aAAW,EAAAC,SAAW,iFAAiF,EAC1G,oBAAC,OAAI,UAAU,6BACb,oBAAC,OAAI,UAAU,wDACZ,SAAAP,EAAK,YAAY,QAAQ,YAAY,IAAI,CAACQ,EAAqBC,OAC9D,OAAC,QAAiB,UAAU,qDAAqD,KAAMD,GAA5EC,CAAyF,CACrG,EACH,EAECR,MAAmB,OAAC,QAAK,UAAU,6BAA6B,KAAMA,EAAiB,KAExF,OAAC,OAAI,UAAU,gEACb,mBAAC,eAAY,KAAMK,EAAM,KAAMN,EAAM,EACvC,KAEA,OAAC,UACC,QAASE,GAAW,CAACC,EACrB,QAAQ,UACR,UAAU,qDACV,QAASE,EACT,SAAUD,EAET,SAAAJ,EAAK,YAAY,QAAQ,cAC5B,GACF,EACF",
6
+ "names": ["Success_exports", "__export", "Success", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_classnames", "import_ProductInfo", "copy", "shippingProduct", "loading", "address", "disabled", "onClose", "item", "classNames", "description", "index"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var W=Object.create;var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var j=(r,e)=>{for(var t in e)g(r,t,{get:e[t],enumerable:!0})},N=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Y(e))!$.call(r,i)&&i!==t&&g(r,i,{get:()=>e[i],enumerable:!(a=X(e,i))||a.enumerable});return r};var L=(r,e,t)=>(t=r!=null?W(Z(r)):{},N(e||!r||!r.__esModule?g(t,"default",{value:r,enumerable:!0}):t,r)),D=r=>N(g({},"__esModule",{value:!0}),r);var oe={};j(oe,{default:()=>re});module.exports=D(oe);var l=require("react/jsx-runtime"),v=L(require("classnames")),s=require("react"),S=require("../../context/provider"),x=L(require("../../context/hooks/useCountries")),f=require("../../context/const"),y=require("../../context/hooks/useAddressValidate"),U=require("../../context/hooks/useRedeemProduct"),O=require("../../modal/modalContainer"),q=require("@anker-in/lib"),w=require("./Error"),F=require("./Success"),K=require("./Address"),_=require("./Init");function ee({item:r,copy:e,onError:t,...a}){const{fetchCreditInfo:i,profile:b}=(0,S.useCreditsContext)(),{storeDomain:k,locale:T}=(0,q.useHeadlessContext)(),{validatorInfo:B}=e,{shippingAddress:G,shippingProduct:P}=e.redeemModal.product,[m,c]=(0,s.useState)("init"),[n,H]=(0,s.useState)(),[J,p]=(0,s.useState)({code:0,message:"",imageUrl:""}),[C,u]=(0,s.useState)(!1),{countries:R=[],isLoading:de}=(0,x.default)({shopifyStoreDomain:k}),{isMutating:M,trigger:A}=(0,U.useRedeemProduct)({onSuccess(o){if(!o){c("error"),p({code:0,imageUrl:e.redeemModal.errorImageUrl||"",message:e.redeemModal.commonError||""});return}if(o?.code===0)i(b?.user_id),c("success");else{let d,I;o.code===f.AlpcErrorCode.CodeLpcShopifyCouponRuleRedeemLimit?(d=e.redeemModal.redeemLimitError,u(!0)):o.code===f.AlpcErrorCode.CodeLpcRuleInventoryNotEnough?(d=e.redeemModal.inventoryNotEnough,u(!0),I=e.redeemModal.inventoryNotEnough):o.code===f.AlpcErrorCode.CodeLpcNotEnoughCredits?(d=e.redeemModal.creditsNotEnough,u(!0),i(b?.user_id)):o.code===f.AlpcErrorCode.CodeCrossSiteError&&(d=e.redeemModal.crossSiteError,u(!0)),c("error"),p({code:o.code,imageUrl:I||e.redeemModal.errorImageUrl||"",message:d||e.redeemModal.commonError||""}),t&&t(o.code)}},onError(o){c("error"),p({code:0,imageUrl:e.redeemModal.errorImageUrl||"",message:e.redeemModal.commonError||""})}}),h=(0,s.useMemo)(()=>e?.redeemModal.product.form?.flat().find(d=>d.type==="state")?.key,[e?.redeemModal.product.form]),{validate:E,errors:V}=(0,y.useAddressValidate)({address:n,validatorInfo:B,formData:e?.redeemModal.product.form?.flat()||[],errorLabel:{require:e.redeemModal.product.required,email:e.redeemModal.product.invalidEmail}}),z=(0,s.useCallback)(async()=>{const o=[];if(h&&((R.find(Q=>Q.code===n.country)?.provinces||[]).length||o.push(h)),E({force:!0,ignoreKeys:o}))return;console.log("address",n);let d={...n};d.name&&delete d.name,d.country==="UK"&&(d.country="GB"),A({address:btoa(JSON.stringify(d)),rule_id:Number(r.alpc?.id)})},[r,A,h,E,n,R]);return(0,s.useEffect)(()=>{a.isOpen||(u(!1),p({code:0,message:"",imageUrl:""}))},[a.isOpen,T]),(0,l.jsxs)(O.CreditsModalContainer,{...a,className:(0,v.default)("w-[540px] md:h-auto min-md:max-h-[calc(100vh-40px)]",m!=="init"&&"w-[740px] md:w-full"),scrollClassName:"mb-0 min-l:px-0 md:mb-0 px-0",titleClassName:(0,v.default)("h-[56px]",m==="init"&&"bg-[#F5F5F7]"),title:m==="address"?"Order Confirmation":"",children:[m==="error"&&(0,l.jsx)(w.Error,{errorInfo:J}),m==="success"&&(0,l.jsx)(F.Success,{copy:e,shippingProduct:P,loading:M,address:n,disabled:C,onClose:a.onClose,item:r}),m==="address"&&(0,l.jsx)(K.Address,{copy:e,shippingAddress:G,setAddress:H,validateAddress:E,validateErrors:V,shippingProduct:P,loading:M,address:n,disabled:C,handlePayment:z,item:r}),m==="init"&&(0,l.jsx)(_.Init,{item:r,copy:e,loading:M,disabled:C,setStatus:c})]})}var re=ee;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx"],
4
+ "sourcesContent": ["import classNames from 'classnames'\nimport { useCallback, useEffect, useMemo, useState } from 'react'\nimport { useCreditsContext } from '../../context/provider'\nimport useCountries from '../../context/hooks/useCountries'\nimport { AlpcErrorCode } from '../../context/const'\nimport { useAddressValidate } from '../../context/hooks/useAddressValidate'\nimport { useRedeemProduct } from '../../context/hooks/useRedeemProduct'\nimport type { ModalContainerProps } from '../../modal/modalContainer'\nimport { CreditsModalContainer } from '../../modal/modalContainer'\nimport type { RedeemableItem as RedeemableItemType } from '../../type'\nimport { useHeadlessContext } from '@anker-in/lib'\nimport { CreditsRedeemListCopy } from '../type'\nimport { Error } from './Error'\nimport { Success } from './Success'\nimport { Address } from './Address'\nimport { Init } from './Init'\n\ntype RedeemProductModalProps = ModalContainerProps & {\n item: RedeemableItemType\n copy: CreditsRedeemListCopy\n onError: (code: AlpcErrorCode) => void\n}\n\nfunction RedeemProductModal({ item, copy, onError, ...props }: RedeemProductModalProps) {\n const { fetchCreditInfo, profile } = useCreditsContext()\n const { storeDomain, locale } = useHeadlessContext()\n\n const { validatorInfo } = copy\n const { shippingAddress, shippingProduct } = copy.redeemModal.product\n\n const [status, setStatus] = useState<'init' | 'address' | 'success' | 'error'>('init')\n const [address, setAddress] = useState<any>()\n const [errorInfo, setErrorInfo] = useState({\n code: 0,\n message: '',\n imageUrl: '',\n })\n const [disabled, setDisabled] = useState(false)\n\n const { countries = [], isLoading: countriesLoading } = useCountries({ shopifyStoreDomain: storeDomain })\n\n const { isMutating: loading, trigger } = useRedeemProduct({\n onSuccess(responseData) {\n if (!responseData) {\n setStatus('error')\n setErrorInfo({\n code: 0,\n imageUrl: copy.redeemModal.errorImageUrl || '',\n message: copy.redeemModal.commonError || '',\n })\n return\n }\n\n if (responseData?.code === 0) {\n fetchCreditInfo(profile?.user_id)\n setStatus('success')\n } else {\n let errorMsg\n let errorImage\n if (responseData.code === AlpcErrorCode.CodeLpcShopifyCouponRuleRedeemLimit) {\n errorMsg = copy.redeemModal.redeemLimitError\n setDisabled(true)\n } else if (responseData.code === AlpcErrorCode.CodeLpcRuleInventoryNotEnough) {\n errorMsg = copy.redeemModal.inventoryNotEnough\n setDisabled(true)\n errorImage = copy.redeemModal.inventoryNotEnough\n } else if (responseData.code === AlpcErrorCode.CodeLpcNotEnoughCredits) {\n errorMsg = copy.redeemModal.creditsNotEnough\n setDisabled(true)\n fetchCreditInfo(profile?.user_id)\n } else if (responseData.code === AlpcErrorCode.CodeCrossSiteError) {\n errorMsg = copy.redeemModal.crossSiteError\n setDisabled(true)\n }\n\n setStatus('error')\n setErrorInfo({\n code: responseData.code,\n imageUrl: errorImage || copy.redeemModal.errorImageUrl || '',\n message: errorMsg || copy.redeemModal.commonError || '',\n })\n onError && onError(responseData.code)\n }\n },\n onError(error) {\n setStatus('error')\n setErrorInfo({\n code: 0,\n imageUrl: copy.redeemModal.errorImageUrl || '',\n message: copy.redeemModal.commonError || '',\n })\n },\n })\n\n const stateInputKey = useMemo(() => {\n const stateInput = copy?.redeemModal.product.form?.flat().find(item => item.type === 'state')\n return stateInput?.key\n }, [copy?.redeemModal.product.form])\n\n const { validate: validateAddress, errors: validateErrors } = useAddressValidate({\n address: address,\n validatorInfo: validatorInfo,\n formData: copy?.redeemModal.product.form?.flat() || [],\n errorLabel: {\n require: copy.redeemModal.product.required,\n email: copy.redeemModal.product.invalidEmail,\n },\n })\n\n const handlePayment = useCallback(async () => {\n const ignoreKeys: string[] = []\n\n if (stateInputKey) {\n const provinces = countries.find(item => item.code === address.country)?.provinces || []\n\n if (!provinces.length) {\n ignoreKeys.push(stateInputKey as never)\n }\n }\n\n if (\n validateAddress({\n force: true,\n ignoreKeys,\n })\n ) {\n // \u5730\u5740\u6821\u9A8C\u9519\u8BEF\n return\n }\n console.log('address', address)\n let requestAddress = { ...address }\n if (requestAddress.name) {\n delete requestAddress.name\n }\n if (requestAddress.country === 'UK') {\n requestAddress.country = 'GB'\n }\n trigger({\n address: btoa(JSON.stringify(requestAddress)),\n rule_id: Number(item.alpc?.id),\n })\n }, [item, trigger, stateInputKey, validateAddress, address, countries])\n\n useEffect(() => {\n if (!props.isOpen) {\n setDisabled(false)\n setErrorInfo({ code: 0, message: '', imageUrl: '' })\n }\n }, [props.isOpen, locale])\n\n return (\n <CreditsModalContainer\n {...props}\n className={classNames(\n 'w-[540px] md:h-auto min-md:max-h-[calc(100vh-40px)]',\n status !== 'init' && 'w-[740px] md:w-full'\n )}\n scrollClassName=\"mb-0 min-l:px-0 md:mb-0 px-0\"\n titleClassName={classNames('h-[56px]', status === 'init' && 'bg-[#F5F5F7]')}\n title={status === 'address' ? 'Order Confirmation' : ''}\n >\n {status === 'error' && <Error errorInfo={errorInfo} />}\n {status === 'success' && (\n <Success\n copy={copy}\n shippingProduct={shippingProduct}\n loading={loading}\n address={address}\n disabled={disabled}\n onClose={props.onClose}\n item={item}\n />\n )}\n {status === 'address' && (\n <Address\n copy={copy}\n shippingAddress={shippingAddress}\n setAddress={setAddress}\n validateAddress={validateAddress}\n validateErrors={validateErrors}\n shippingProduct={shippingProduct}\n loading={loading}\n address={address}\n disabled={disabled}\n handlePayment={handlePayment}\n item={item}\n />\n )}\n {status === 'init' && (\n <Init item={item} copy={copy} loading={loading} disabled={disabled} setStatus={setStatus} />\n )}\n </CreditsModalContainer>\n )\n}\n\nexport default RedeemProductModal\n"],
5
+ "mappings": "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",
6
+ "names": ["RedeemProductModal_exports", "__export", "RedeemProductModal_default", "__toCommonJS", "import_jsx_runtime", "import_classnames", "import_react", "import_provider", "import_useCountries", "import_const", "import_useAddressValidate", "import_useRedeemProduct", "import_modalContainer", "import_lib", "import_Error", "import_Success", "import_Address", "import_Init", "RedeemProductModal", "item", "copy", "onError", "props", "fetchCreditInfo", "profile", "storeDomain", "locale", "validatorInfo", "shippingAddress", "shippingProduct", "status", "setStatus", "address", "setAddress", "errorInfo", "setErrorInfo", "disabled", "setDisabled", "countries", "countriesLoading", "useCountries", "loading", "trigger", "responseData", "errorMsg", "errorImage", "error", "stateInputKey", "validateAddress", "validateErrors", "handlePayment", "ignoreKeys", "requestAddress", "classNames"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var N=Object.create;var m=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var I=(t,a)=>{for(var e in a)m(t,e,{get:a[e],enumerable:!0})},b=(t,a,e,p)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of R(a))!w.call(t,n)&&n!==e&&m(t,n,{get:()=>a[n],enumerable:!(p=C(a,n))||p.enumerable});return t};var k=(t,a,e)=>(e=t!=null?N(T(t)):{},b(a||!t||!t.__esModule?m(e,"default",{value:t,enumerable:!0}):e,t)),L=t=>b(m({},"__esModule",{value:!0}),t);var E={};I(E,{RedeemableItem:()=>S});module.exports=L(E);var l=require("react/jsx-runtime"),i=require("@anker-in/headless-ui"),c=require("react"),x=k(require("classnames")),h=require("../context/provider"),o=require("../context/const"),_=require("../context/utils"),u=require("../../../helpers/track");function S({copy:t,className:a,item:e,onRulesOpen:p,onRedeem:n}){const{creditInfo:f,profile:r,gtm:{pageGroup:v}}=(0,h.useCreditsContext)(),s=Object.keys(r||{}).length>0,y=(0,c.useMemo)(()=>!!(e.alpc?.remainingInventory<=0&&e.alpc?.isLimited||e.alpc?.consumeType===o.AlpcConsumeType.Product&&!e.variant?.availableForSale||s&&r?.activated&&e.alpc?.consumeCredits>Number(f?.available_credit||0)),[e.alpc?.remainingInventory,e.alpc?.isLimited,e.alpc?.consumeType,e.alpc?.consumeCredits,s,r?.activated,f?.available_credit,e.variant?.availableForSale]),g=(0,c.useMemo)(()=>s?e.alpc?.consumeType===o.AlpcConsumeType.Product?e.variant?.availableForSale?t.btnRedeem:t?.soldOut||"Sold Out":t.btnRedeem:t.unlockRewards,[s,e.alpc?.consumeType,e.variant?.availableForSale,t.btnRedeem,t.unlockRewards,t?.soldOut]);return(0,l.jsxs)("div",{className:(0,x.default)("flex flex-col items-center rounded-[16px] bg-[#EAEAEC] p-[24px] md:rounded-[12px] md:px-[8px] xl:py-[16px] md-xl:px-[16px]",a),children:[e.config?.type!==o.ConsumeType.Product?(0,l.jsxs)("div",{className:"relative mx-auto my-[30px] h-[164px] md:my-0 md:h-[66px] l-xxl:h-[138px] md-l:h-[80px]",children:[(0,l.jsx)(i.Picture,{source:t?.imageMapping[e.config?.type]?.url,className:"h-full [&_img]:h-full [&_img]:w-auto [&_img]:object-contain"}),(0,l.jsx)("div",{className:"absolute bottom-[8px] left-[16px] font-extrabold text-white md:bottom-[2px] md:left-[5px]",children:e.config?.value?(0,l.jsxs)("div",{className:"flex items-end",children:[(0,l.jsx)(i.Text,{className:"text-[64px] font-bold leading-none md:text-[20px] l-xxl:text-[40px] md-l:text-[22px]",html:e.config?.value}),(0,l.jsx)(i.Text,{className:"ml-[4px] text-[24px] font-bold leading-[2] md:ml-[2px] l:text-[12px] xxl:leading-[1.4] l-xxl:text-[20px]",html:e.config?.type===o.ConsumeType.GiftCard?t?.giftCardLabel:t?.off})]}):(0,l.jsx)(i.Text,{size:3,html:e.config?.title||e.alpc?.title})})]}):(0,l.jsx)("div",{className:(0,x.default)("relative mx-auto h-[224px] w-fit md:my-[10px] l:h-[120px] l-xxl:h-[138px]"),children:(0,l.jsx)(i.Picture,{className:"h-full w-auto [&_img]:h-full [&_img]:object-contain",source:e.config?.image?.url||e.product.images?.[0]?.url})}),(0,l.jsxs)("div",{className:(0,x.default)("mt-[22px] flex w-full flex-1 flex-col justify-between"),children:[(0,l.jsx)(i.Text,{html:e.config?.title||e.alpc?.title,title:e.config?.title||e.alpc?.title,size:2,className:"text-[24px] font-bold leading-[1.2] l:text-[16px] l-xxl:text-[20px]"}),e.config?.rules?.length>0&&(0,l.jsx)("button",{type:"button",onClick:()=>{p(e.config?.rules||[]),(0,u.gaTrack)({event:"ga4Event",event_name:"lp_button",member_active_status:r?.activated?"active":"not active",event_parameters:{page_group:v,position:t.title,button_name:t?.ruleLabel,info:e.alpc?.id?.toString()}})},className:"mt-[8px] w-fit text-[16px] font-bold underline md:text-[14px] l:mt-0",tabIndex:0,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&d.preventDefault()},children:t?.ruleLabel}),(0,l.jsxs)("div",{children:[(0,l.jsxs)("div",{className:"mt-[24px] flex items-center l:mt-[12px] l-xl:mt-[16px]",children:[(0,l.jsx)(i.Picture,{className:"size-[20px]",source:"https://cdn.shopify.com/s/files/1/0511/6346/3874/files/icon_hire_purchase.png?v=1757496783"}),(0,l.jsx)(i.Text,{html:`${(0,_.numberFormat)(e.alpc?.consumeCredits)}`,size:2,as:"p",className:"ml-[4px] text-[28px] font-bold leading-[1.2] md:text-[18px] l-xxl:text-[24px] md-l:text-[20px] "})]}),(0,l.jsx)(i.Button,{disabled:y,variant:"primary",size:"lg",className:"mt-[8px] md:px-[8px] l:w-full",onClick:()=>{n(e),(0,u.gaTrack)({event:"ga4Event",event_name:"lp_button",member_active_status:r?.activated?"active":"not active",event_parameters:{page_group:v,position:t.title,button_name:g,info:e.alpc?.id?.toString()}})},children:g})]})]})]})}
2
+ //# sourceMappingURL=RedeemableItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsRedeemList/RedeemableItem.tsx"],
4
+ "sourcesContent": ["import { Button, Text, Picture } from '@anker-in/headless-ui'\n\nimport { useMemo } from 'react'\n\nimport classNames from 'classnames'\nimport { useCreditsContext } from '../context/provider'\nimport type { RedeemableItem as RedeemableItemType } from '../type'\nimport { AlpcConsumeType, ConsumeType } from '../context/const'\nimport { numberFormat } from '../context/utils'\nimport type { CreditsRedeemListCopy } from './type'\nimport { gaTrack } from '../../../helpers/track'\n\nexport function RedeemableItem({\n copy,\n className,\n item,\n onRulesOpen,\n onRedeem,\n}: {\n copy: CreditsRedeemListCopy\n className?: string\n item: RedeemableItemType\n onRulesOpen: (rules: string[]) => void\n onRedeem: (item: RedeemableItemType) => void\n}) {\n const {\n creditInfo,\n profile,\n gtm: { pageGroup },\n } = useCreditsContext()\n const isLogin = Object.keys(profile || {}).length > 0\n\n const isDisabled = useMemo(() => {\n if (item.alpc?.remainingInventory <= 0 && item.alpc?.isLimited) {\n // \u6709\u5E93\u5B58\u9650\u5236\n return true\n }\n\n if (item.alpc?.consumeType === AlpcConsumeType.Product) {\n if (!item.variant?.availableForSale) {\n return true\n }\n }\n if (isLogin && profile?.activated && item.alpc?.consumeCredits > Number(creditInfo?.available_credit || 0)) {\n return true\n }\n return false\n }, [\n item.alpc?.remainingInventory,\n item.alpc?.isLimited,\n item.alpc?.consumeType,\n item.alpc?.consumeCredits,\n isLogin,\n profile?.activated,\n creditInfo?.available_credit,\n item.variant?.availableForSale,\n ])\n\n const redeemButtonText = useMemo(() => {\n if (!isLogin) {\n return copy.unlockRewards\n }\n\n // \u7F3A\u8D27\u6587\u6848\n if (item.alpc?.consumeType === AlpcConsumeType.Product) {\n return item.variant?.availableForSale ? copy.btnRedeem : copy?.soldOut || 'Sold Out'\n }\n return copy.btnRedeem\n }, [\n isLogin,\n item.alpc?.consumeType,\n item.variant?.availableForSale,\n copy.btnRedeem,\n copy.unlockRewards,\n copy?.soldOut,\n ])\n\n return (\n <div\n className={classNames(\n 'flex flex-col items-center rounded-[16px] bg-[#EAEAEC] p-[24px] md:rounded-[12px] md:px-[8px] xl:py-[16px] md-xl:px-[16px]',\n className\n )}\n >\n {item.config?.type !== ConsumeType.Product ? (\n <div className=\"relative mx-auto my-[30px] h-[164px] md:my-0 md:h-[66px] l-xxl:h-[138px] md-l:h-[80px]\">\n <Picture\n source={copy?.imageMapping[item.config?.type]?.url}\n className=\"h-full [&_img]:h-full [&_img]:w-auto [&_img]:object-contain\"\n ></Picture>\n <div className=\"absolute bottom-[8px] left-[16px] font-extrabold text-white md:bottom-[2px] md:left-[5px]\">\n {item.config?.value ? (\n <div className=\"flex items-end\">\n <Text\n className=\"text-[64px] font-bold leading-none md:text-[20px] l-xxl:text-[40px] md-l:text-[22px]\"\n html={item.config?.value}\n />\n <Text\n className=\"ml-[4px] text-[24px] font-bold leading-[2] md:ml-[2px] l:text-[12px] xxl:leading-[1.4] l-xxl:text-[20px]\"\n html={item.config?.type === ConsumeType.GiftCard ? copy?.giftCardLabel : copy?.off}\n />\n </div>\n ) : (\n <Text size={3} html={item.config?.title || item.alpc?.title} />\n )}\n </div>\n </div>\n ) : (\n <div className={classNames('relative mx-auto h-[224px] w-fit md:my-[10px] l:h-[120px] l-xxl:h-[138px]')}>\n <Picture\n className=\"h-full w-auto [&_img]:h-full [&_img]:object-contain\"\n source={item.config?.image?.url || item.product.images?.[0]?.url}\n ></Picture>\n </div>\n )}\n <div className={classNames('mt-[22px] flex w-full flex-1 flex-col justify-between')}>\n <Text\n html={item.config?.title || item.alpc?.title}\n title={item.config?.title || item.alpc?.title}\n size={2}\n className=\"text-[24px] font-bold leading-[1.2] l:text-[16px] l-xxl:text-[20px]\"\n />\n {item.config?.rules?.length > 0 && (\n <button\n type=\"button\"\n onClick={() => {\n onRulesOpen(item.config?.rules || [])\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n member_active_status: profile?.activated ? 'active' : 'not active',\n event_parameters: {\n page_group: pageGroup,\n position: copy.title,\n button_name: copy?.ruleLabel,\n info: item.alpc?.id?.toString(),\n },\n })\n }}\n className=\"mt-[8px] w-fit text-[16px] font-bold underline md:text-[14px] l:mt-0\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {copy?.ruleLabel}\n </button>\n )}\n <div>\n <div className=\"mt-[24px] flex items-center l:mt-[12px] l-xl:mt-[16px]\">\n <Picture\n className=\"size-[20px]\"\n source=\"https://cdn.shopify.com/s/files/1/0511/6346/3874/files/icon_hire_purchase.png?v=1757496783\"\n />\n <Text\n html={`${numberFormat(item.alpc?.consumeCredits)}`}\n size={2}\n as=\"p\"\n className=\"ml-[4px] text-[28px] font-bold leading-[1.2] md:text-[18px] l-xxl:text-[24px] md-l:text-[20px] \"\n />\n </div>\n\n <Button\n disabled={isDisabled}\n variant=\"primary\"\n size=\"lg\"\n className=\"mt-[8px] md:px-[8px] l:w-full\"\n onClick={() => {\n onRedeem(item)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n member_active_status: profile?.activated ? 'active' : 'not active',\n event_parameters: {\n page_group: pageGroup,\n position: copy.title,\n button_name: redeemButtonText,\n info: item.alpc?.id?.toString(),\n },\n })\n }}\n >\n {redeemButtonText}\n </Button>\n </div>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["RedeemableItem_exports", "__export", "RedeemableItem", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_react", "import_classnames", "import_provider", "import_const", "import_utils", "import_track", "copy", "className", "item", "onRulesOpen", "onRedeem", "creditInfo", "profile", "pageGroup", "isLogin", "isDisabled", "redeemButtonText", "classNames", "e"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var J=Object.create;var C=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Y=(e,t)=>{for(var a in t)C(e,a,{get:t[a],enumerable:!0})},S=(e,t,a,f)=>{if(t&&typeof t=="object"||typeof t=="function")for(let d of Q(t))!X.call(e,d)&&d!==a&&C(e,d,{get:()=>t[d],enumerable:!(f=K(t,d))||f.enumerable});return e};var g=(e,t,a)=>(a=e!=null?J(W(e)):{},S(t||!e||!e.__esModule?C(a,"default",{value:e,enumerable:!0}):a,e)),Z=e=>S(C({},"__esModule",{value:!0}),e);var ee={};Y(ee,{CreditsRedeemList:()=>$});module.exports=Z(ee);var n=require("react/jsx-runtime"),r=require("@anker-in/headless-ui"),R=g(require("classnames")),l=require("react"),E=g(require("./RedeemCouponModal")),O=g(require("./RedeemProductModal")),A=require("../context/provider"),M=g(require("../context/hooks/useRedeemableList")),u=require("../context/const"),F=require("@anker-in/lib"),D=require("./RedeemableItem"),z=g(require("../modal/rulesModal")),H=require("../../../helpers/track");function $({copy:e,className:t="",tabClassName:a="",hideTitle:f=!1,cardClassName:d,activate:v}){const{profile:L,openSignUpPopup:j,gtm:{pageGroup:w}}=(0,A.useCreditsContext)(),B=Object.keys(L||{}).length>0,[T,G]=(0,l.useState)(e.list[0].label),[i,b]=(0,l.useState)(void 0),[h,N]=(0,l.useState)(),{listLoading:U,redeemableList:k,getRedeemableList:x}=(0,M.default)(),p=(0,l.useMemo)(()=>k.map(s=>({id:s.id.toString(),title:s.name,consumeCredits:s.consume_credits,remainingInventory:s.remaining_inventory,isLimited:!!s.is_limited,consumeType:s.consume_type,handle:s.sku_handle,sku:s.goods_sku,image:s.goods_url})),[e.list,T,k]),V=p.map(s=>s.handle),{data:_}=(0,F.useProductsByHandles)({handles:V}),q=(0,l.useMemo)(()=>e.list.find(o=>o.label===T)?.list.filter(o=>p.some(c=>c.id===o.id)).map(o=>{const c=p.find(m=>m.id===o.id),y=_?.find(m=>m.handle===c?.handle),P=y?.variants.find(m=>m.sku===c?.sku);return c?.consumeType===u.AlpcConsumeType.Product&&(!y||!P)?null:{alpc:p.find(m=>m.id===o.id),config:o,product:y,variant:P}}).filter(o=>o!==null),[p,_]),I=(0,l.useCallback)(s=>{s===u.AlpcErrorCode.CodeLpcRuleInventoryNotEnough&&x()},[x]);return console.log("popRedeemData",i),(0,n.jsxs)(r.Container,{className:(0,R.default)("relative bg-[#F5F5F7]",t),children:[!f&&(0,n.jsx)(r.Heading,{as:"h2",size:"4",html:e.title}),(0,n.jsx)(r.Tabs,{shape:"rounded",align:"left",className:(0,R.default)("sticky top-0 z-20 py-[24px] md:justify-center",a),value:T.toString(),onValueChange:s=>{G(s),(0,H.gaTrack)({event:"ga4Event",event_name:"lp_navigation",event_parameters:{navigation:s,page_group:w}})},children:(0,n.jsx)(r.TabsList,{children:e.list.map(s=>(0,n.jsx)(r.TabsTrigger,{value:s.label,children:s.label},s.label))})}),!!p?.length&&!U&&(0,n.jsx)("div",{className:(0,R.default)("relative grid grid-cols-4 gap-[16px] md:grid-cols-2 md:gap-[12px] md-xl:grid-cols-3"),children:q?.map(s=>(0,n.jsx)(D.RedeemableItem,{copy:e,item:s,onRedeem:o=>{B?!L?.activated&&!v.isSuccess?(v.openAuthCodePopup(),v.setOnSuccess(()=>{b(o)})):b(o):j()},onRulesOpen:N,className:d},s?.alpc?.id))}),i?.alpc?.consumeType===u.AlpcConsumeType.Coupon&&e?.redeemModal?.coupon&&i&&(0,n.jsx)(E.default,{isOpen:!!i,item:i,copy:e,onError:I,onClose:()=>{b(void 0)}}),i?.alpc?.consumeType===u.AlpcConsumeType.Product&&e?.redeemModal&&i&&(0,n.jsx)(O.default,{isOpen:!!i,item:i,copy:e,onError:I,onClose:()=>{b(void 0)}}),h&&(0,n.jsx)(z.default,{overlayClassName:"md:px-[16px] md:items-center",className:"md:h-fit md:rounded-b-[16px]",isOpen:h.length>0,onClose:()=>N([]),titleClassName:"border-b-transparent h-[56px]",rules:h,scrollClassName:"md:mt-[8px] md:mb-[24px] md:pt-0",title:e?.ruleLabel,ruleClassName:"text-[#1d1d1f] font-bold"})]})}
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsRedeemList/index.tsx"],
4
+ "sourcesContent": ["import { Container, Heading, Tabs, TabsList, TabsTrigger } from '@anker-in/headless-ui'\nimport classNames from 'classnames'\nimport { useCallback, useMemo, useState } from 'react'\n\nimport RedeemCouponModal from './RedeemCouponModal'\nimport RedeemProductModal from './RedeemProductModal'\nimport { useCreditsContext } from '../context/provider'\nimport useRedeemableList from '../context/hooks/useRedeemableList'\nimport { AlpcConsumeType, AlpcErrorCode } from '../context/const'\nimport { useProductsByHandles } from '@anker-in/lib'\nimport type { RedeemableItem as RedeemableItemType } from '../type'\nimport { RedeemableItem } from './RedeemableItem'\nimport RulesModal from '../modal/rulesModal'\nimport { CreditsRedeemListCopy } from './type'\nimport { gaTrack } from '../../../helpers/track'\n\nexport function CreditsRedeemList({\n copy,\n className = '',\n tabClassName = '',\n hideTitle = false,\n cardClassName,\n activate,\n}: {\n copy: CreditsRedeemListCopy\n className?: string\n tabClassName?: string\n hideTitle?: boolean\n cardClassName?: string\n activate: {\n openAuthCodePopup: () => void\n isSuccess: boolean\n setOnSuccess: (callback: Function) => void\n }\n}) {\n const {\n profile,\n openSignUpPopup,\n gtm: { pageGroup },\n } = useCreditsContext()\n const isLogin = Object.keys(profile || {}).length > 0\n\n const [activeTab, setActiveTab] = useState<string>(copy.list[0].label)\n\n const [popRedeemData, setPopRedeemData] = useState<RedeemableItemType | undefined>(undefined)\n\n const [rules, setRules] = useState<string | string[]>()\n\n const { listLoading, redeemableList, getRedeemableList } = useRedeemableList()\n\n const alpcList = useMemo(() => {\n return redeemableList.map(item => {\n return {\n id: item.id.toString(),\n title: item.name,\n consumeCredits: item.consume_credits,\n remainingInventory: item.remaining_inventory,\n isLimited: !!item.is_limited,\n consumeType: item.consume_type,\n handle: item.sku_handle,\n sku: item.goods_sku,\n image: item.goods_url,\n }\n })\n }, [copy.list, activeTab, redeemableList])\n\n const handles = alpcList.map(item => item.handle)\n const { data: products } = useProductsByHandles({ handles })\n\n const list = useMemo(() => {\n const currentList = copy.list.find(item => item.label === activeTab)\n return currentList?.list\n .filter(item => alpcList.some(alpcItem => alpcItem.id === item.id))\n .map(item => {\n const alpcItem = alpcList.find(alpcItem => alpcItem.id === item.id)\n const product = products?.find(product => product.handle === alpcItem?.handle)\n const variant = product?.variants.find(variant => variant.sku === alpcItem?.sku)\n if (alpcItem?.consumeType === AlpcConsumeType.Product && (!product || !variant)) return null\n return {\n alpc: alpcList.find(alpcItem => alpcItem.id === item.id),\n config: item,\n product,\n variant,\n }\n })\n .filter(item => item !== null) as unknown as RedeemableItemType[]\n }, [alpcList, products])\n\n const handleRedeemError = useCallback(\n (errorCode: AlpcErrorCode) => {\n if (errorCode === AlpcErrorCode.CodeLpcRuleInventoryNotEnough) {\n getRedeemableList()\n }\n },\n [getRedeemableList]\n )\n\n console.log('popRedeemData', popRedeemData)\n\n return (\n <Container className={classNames('relative bg-[#F5F5F7]', className)}>\n {!hideTitle && <Heading as=\"h2\" size=\"4\" html={copy.title} />}\n\n <Tabs\n shape=\"rounded\"\n align=\"left\"\n className={classNames('sticky top-0 z-20 py-[24px] md:justify-center', tabClassName)}\n value={activeTab.toString()}\n onValueChange={value => {\n setActiveTab(value)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_navigation',\n event_parameters: {\n navigation: value,\n page_group: pageGroup,\n },\n })\n }}\n >\n <TabsList>\n {copy.list.map(item => (\n <TabsTrigger key={item.label} value={item.label}>\n {item.label}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n {/* PC\u7AEF */}\n {!!alpcList?.length && !listLoading && (\n <div\n className={classNames('relative grid grid-cols-4 gap-[16px] md:grid-cols-2 md:gap-[12px] md-xl:grid-cols-3')}\n >\n {list?.map(item => (\n <RedeemableItem\n key={item?.alpc?.id}\n copy={copy}\n item={item}\n onRedeem={(item: RedeemableItemType) => {\n if (!isLogin) {\n openSignUpPopup()\n } else if (!profile?.activated && !activate.isSuccess) {\n activate.openAuthCodePopup()\n activate.setOnSuccess(() => {\n setPopRedeemData(item)\n })\n } else {\n setPopRedeemData(item)\n }\n }}\n onRulesOpen={setRules}\n className={cardClassName}\n />\n ))}\n </div>\n )}\n\n {popRedeemData?.alpc?.consumeType === AlpcConsumeType.Coupon && copy?.redeemModal?.coupon && popRedeemData && (\n <RedeemCouponModal\n isOpen={!!popRedeemData}\n item={popRedeemData}\n copy={copy}\n onError={handleRedeemError}\n onClose={() => {\n setPopRedeemData(undefined)\n }}\n />\n )}\n {popRedeemData?.alpc?.consumeType === AlpcConsumeType.Product && copy?.redeemModal && popRedeemData && (\n <RedeemProductModal\n isOpen={!!popRedeemData}\n item={popRedeemData}\n copy={copy}\n onError={handleRedeemError}\n onClose={() => {\n setPopRedeemData(undefined)\n }}\n />\n )}\n {rules && (\n <RulesModal\n overlayClassName=\"md:px-[16px] md:items-center\"\n className=\"md:h-fit md:rounded-b-[16px]\"\n isOpen={rules.length > 0}\n onClose={() => setRules([])}\n titleClassName=\"border-b-transparent h-[56px]\"\n rules={rules}\n scrollClassName=\"md:mt-[8px] md:mb-[24px] md:pt-0\"\n title={copy?.ruleLabel}\n ruleClassName=\"text-[#1d1d1f] font-bold\"\n />\n )}\n </Container>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["creditsRedeemList_exports", "__export", "CreditsRedeemList", "__toCommonJS", "import_jsx_runtime", "import_headless_ui", "import_classnames", "import_react", "import_RedeemCouponModal", "import_RedeemProductModal", "import_provider", "import_useRedeemableList", "import_const", "import_lib", "import_RedeemableItem", "import_rulesModal", "import_track", "copy", "className", "tabClassName", "hideTitle", "cardClassName", "activate", "profile", "openSignUpPopup", "pageGroup", "isLogin", "activeTab", "setActiveTab", "popRedeemData", "setPopRedeemData", "rules", "setRules", "listLoading", "redeemableList", "getRedeemableList", "useRedeemableList", "alpcList", "item", "handles", "products", "list", "alpcItem", "product", "variant", "handleRedeemError", "errorCode", "classNames", "value", "RedeemCouponModal", "RedeemProductModal", "RulesModal"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var a=(t,r,n,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of o(r))!l.call(t,s)&&s!==n&&e(t,s,{get:()=>r[s],enumerable:!(i=g(r,s))||i.enumerable});return t};var c=t=>a(e({},"__esModule",{value:!0}),t);var d={};module.exports=c(d);
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsRedeemList/type.ts"],
4
+ "sourcesContent": ["import { CreditsPageCommon } from '../type'\n\nexport type CreditsRedeemListCopy = {\n title: string\n giftCardLabel: string\n unlockRewards: string\n btnRedeem: string\n list: {\n label: string\n list: {\n id: string\n type: string\n value: string\n rules: string[]\n }[]\n }[]\n validatorInfo: {\n addressInfo: {\n name: string\n country: string\n province: string\n city: string\n address: string\n }\n }\n redeemModal: {\n confirmTitle: string\n confirmButton: string\n commonError: string\n redeemLimitError: string\n inventoryNotEnough: string\n creditsNotEnough: string\n crossSiteError: string\n errorImageUrl: string\n coupon: {\n successDesc: string\n successTitle: string\n successButton: string\n successButtonUrl: string\n }\n product: {\n required: string\n invalidEmail: string\n shippingAddress: string\n shippingProduct: string\n addressForm: {\n key: string\n type: string\n label: string\n isSelect: boolean\n required: boolean\n placeholder: string\n }[][]\n form: {\n key: string\n type: string\n isSelect: boolean\n required: boolean\n placeholder: string\n }[][]\n successDesc: string[]\n rules: string[]\n steps: {\n imageUrl: string\n title: string\n }[]\n quantityLabel: string\n totalPriceLabel: string\n variantLabel: string\n shippingFeeLabel: string\n paymentButton: string\n stepTitle: string\n }\n }\n copied: string\n off: string\n copy: string\n} & CreditsPageCommon\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["type_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var v=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var B=(i,l)=>{for(var o in l)v(i,o,{get:l[o],enumerable:!0})},G=(i,l,o,a)=>{if(l&&typeof l=="object"||typeof l=="function")for(let n of S(l))!A.call(i,n)&&n!==o&&v(i,n,{get:()=>l[n],enumerable:!(a=D(l,n))||a.enumerable});return i};var M=i=>G(v({},"__esModule",{value:!0}),i);var U={};B(U,{CreditsWaysToGetCredits:()=>P});module.exports=M(U);var e=require("react/jsx-runtime"),s=require("@anker-in/headless-ui"),u=require("@heroicons/react/24/outline"),F=require("framer-motion"),f=require("react"),m=require("./type"),y=require("./useActions"),z=require("../context/provider"),k=require("../../../helpers/index");const P=({copy:i,activate:l,subscribe:o,uploadReceipt:a,classNames:n})=>{const[r,C]=(0,f.useState)(!1),{profile:I}=(0,z.useCreditsContext)(),h=!!I,{actions:b}=(0,y.useActions)({copy:i,activate:l,subscribe:o,uploadReceipt:a}),L=(0,f.useMemo)(()=>{const t=i.list.map(d=>{if(!b[d.id])return;const{finished:p,notLogin:N,notFinished:g,completed:T}=b[d.id];let c="",x,w;return h?p?(c=T.buttonLabel,x=void 0):(c=g.buttonLabel,x=g.handleClick,w=g.link):(c=N.buttonLabel,x=N.handleClick),{...d,buttonLabel:c,handleClick:x,finished:p,link:w}}).filter(Boolean);return h?t.sort((d,p)=>d?.finished&&!p?.finished?1:!d?.finished&&p?.finished?-1:0):t},[b,i.list,h]);return(0,e.jsx)(s.Container,{id:"ways-to-get-credits",className:" bg-[#F5F5F7] [&>div]:l:!px-0",children:(0,e.jsxs)("div",{className:"rounded-[16px] bg-[#1D1D1F] py-[64px] px-[140px] text-white md:px-[16px] l:rounded-none md-l:px-[32px] l-xl:px-[77px]",children:[(0,e.jsx)(s.Heading,{as:"h2",size:4,html:i?.title,className:"text-center l:pl-[16px] l:text-left"}),(0,e.jsxs)("div",{className:"mt-[64px] flex items-center justify-between md:mt-[64px] l:mt-[24px] l:flex-col-reverse l:items-start md-l:mt-[32px]",children:[(0,e.jsxs)("div",{className:"pl-[16px] l:mt-[40px] desktop:pl-[24px] lg-desktop:pl-[32px]",children:[(0,e.jsx)(s.Heading,{size:3,as:"h3",html:i.subtitle,className:n?.subtitle}),(0,e.jsxs)("div",{className:"mt-[8px] flex items-center",children:[i.creditsIcon?.url&&(0,e.jsx)(s.Picture,{className:"size-[48px] mr-[8px] stroke-brand xl:size-[30px] [&_path]:stroke-brand",source:i.creditsIcon.url,alt:i.creditsIcon.alt||"credits"}),(0,e.jsx)(s.Heading,{html:i.equalCredits,size:4,as:"h3",className:(0,k.cn)("mt-2 text-white md:text-[24px]",n?.equalCreditsText)})]})]}),(0,e.jsx)(s.Picture,{className:"w-full laptop:w-[50%]",source:i.mainImage?.url})]}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsxs)(F.motion.div,{className:(0,k.cn)("relative mt-[64px] grid grid-cols-3 gap-[16px] overflow-hidden md:mt-[16px] md:grid-cols-1 l:gap-[12px] min-md:!h-auto md-l:mt-[32px] md-l:grid-cols-2"),initial:{height:512},animate:{height:r?"auto":512},transition:{duration:.3},onAnimationComplete:()=>{if(!r&&window.screen.width<768){const t=document.getElementById("ways-to-get-credits");t&&t.scrollIntoView({behavior:"smooth",block:"end"})}},children:[L.map(t=>(0,e.jsxs)("div",{className:"flex min-h-[160px] flex-col justify-between rounded-[16px] bg-white p-[16px] text-[#1D1D1F] desktop:min-h-[192px] desktop:p-[24px] lg-desktop:min-h-[240px] lg-desktop:p-[32px]",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)(s.Heading,{as:"h4",html:t.title,size:2,className:"text-pretty"}),(0,e.jsxs)("div",{className:"mt-[4px] flex items-center",children:[(0,e.jsx)(s.Picture,{className:"size-[24px] xl:size-[18px] [&_path]:size-full",source:"https://cdn.shopify.com/s/files/1/0511/6346/3874/files/20250902-153351.png?v=1756798450"}),(0,e.jsx)(s.Text,{as:"p",html:t.credits,size:2,className:"ml-[4px] mt-[6px] lg-desktop:text-[18px]"})]})]}),t.handleClick&&!(t.id===m.TaskType.UploadReceipt&&a.isSuccess)&&!(t.id===m.TaskType.Activate&&l.isSuccess)&&!(t.id===m.TaskType.Subscribe&&o.isSuccess)?(0,e.jsx)(s.Button,{as:t.link?"a":"button",...t.link&&{href:t.link},...t.handleClick&&{onClick:t.handleClick},variant:"primary",loading:t.id===m.TaskType.Activate&&l.isSendingActivateEmail,size:"lg",className:"mt-[24px] w-fit",children:t.buttonLabel}):(0,e.jsx)(s.Button,{variant:"primary",size:"lg",className:"mt-[24px] w-fit",disabled:!0,children:t.buttonLabel})]},t.id)),!r&&(0,e.jsx)("div",{className:"absolute inset-0 min-md:hidden",style:{background:"linear-gradient(180deg, rgba(29, 29, 31, 0) 66.37%, #1D1D1F 100%"}})]}),r?(0,e.jsx)("button",{className:"mx-auto mt-[12px] block w-fit min-md:hidden",onClick:()=>{C(!1)},children:(0,e.jsx)(u.ChevronUpIcon,{className:"size-[40px] rounded-full bg-[#FFFFFF33] p-[8px]"})}):(0,e.jsx)(e.Fragment,{children:(0,e.jsx)("div",{className:"absolute bottom-0 flex w-full translate-y-1/2 justify-center min-md:hidden",children:(0,e.jsx)("button",{className:"w-fit",onClick:()=>C(!r),children:(0,e.jsx)(u.ChevronDownIcon,{className:"size-[40px] rounded-full bg-[#FFFFFF33] p-[8px]"})})})})]})]})})};
2
+ //# sourceMappingURL=index.js.map