@anker-in/campaign-ui 0.5.15 → 0.5.18

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 (1258) hide show
  1. package/README.md +100 -8
  2. package/dist/cjs/components/chat/action.d.ts +1 -1
  3. package/dist/cjs/components/chat/button.d.ts +1 -1
  4. package/dist/cjs/components/chat/index.d.ts +1 -1
  5. package/dist/cjs/components/chat/index.js +1 -1
  6. package/dist/cjs/components/chat/index.js.map +2 -2
  7. package/dist/cjs/components/chat/markdown.d.ts +1 -1
  8. package/dist/cjs/components/chat/messages.d.ts +2 -1
  9. package/dist/cjs/components/chat/response.d.ts +1 -1
  10. package/dist/cjs/components/chat/suggestions.d.ts +1 -1
  11. package/dist/cjs/components/credits/context/hooks/useActivities.js +1 -1
  12. package/dist/cjs/components/credits/context/hooks/useActivities.js.map +2 -2
  13. package/dist/cjs/components/credits/context/hooks/useAddressValidate.js +1 -1
  14. package/dist/cjs/components/credits/context/hooks/useAddressValidate.js.map +2 -2
  15. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js +1 -1
  16. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js.map +2 -2
  17. package/dist/cjs/components/credits/context/hooks/useCountries.js +1 -1
  18. package/dist/cjs/components/credits/context/hooks/useCountries.js.map +2 -2
  19. package/dist/cjs/components/credits/context/hooks/useMyRewards.js +1 -1
  20. package/dist/cjs/components/credits/context/hooks/useMyRewards.js.map +2 -2
  21. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.d.ts +2 -2
  22. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  23. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  24. package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js +1 -1
  25. package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js.map +2 -2
  26. package/dist/cjs/components/credits/context/hooks/useRedeemGoGift.js +1 -1
  27. package/dist/cjs/components/credits/context/hooks/useRedeemGoGift.js.map +2 -2
  28. package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js +1 -1
  29. package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js.map +2 -2
  30. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +1 -1
  31. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  32. package/dist/cjs/components/credits/context/hooks/useShippingCountries.js +1 -1
  33. package/dist/cjs/components/credits/context/hooks/useShippingCountries.js.map +2 -2
  34. package/dist/cjs/components/credits/context/hooks/useSubscribed.js +1 -1
  35. package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +2 -2
  36. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.d.ts +2 -2
  37. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js +1 -1
  38. package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js.map +3 -3
  39. package/dist/cjs/components/credits/context/provider.d.ts +1 -1
  40. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.d.ts +1 -1
  41. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
  42. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +2 -2
  43. package/dist/cjs/components/credits/creditsBanner/index.d.ts +1 -1
  44. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.d.ts +1 -1
  45. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js +1 -1
  46. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js.map +2 -2
  47. package/dist/cjs/components/credits/creditsBenefits/IconInfo.d.ts +1 -1
  48. package/dist/cjs/components/credits/creditsBenefits/index.d.ts +1 -1
  49. package/dist/cjs/components/credits/creditsBenefits/index.js +1 -1
  50. package/dist/cjs/components/credits/creditsBenefits/index.js.map +2 -2
  51. package/dist/cjs/components/credits/creditsCash/CreditsCash.d.ts +1 -1
  52. package/dist/cjs/components/credits/creditsCash/CreditsCash.js +1 -1
  53. package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +2 -2
  54. package/dist/cjs/components/credits/creditsCash/RedeemableItem.d.ts +1 -1
  55. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
  56. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +2 -2
  57. package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -1
  58. package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
  59. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.d.ts +1 -1
  60. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  61. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +2 -2
  62. package/dist/cjs/components/credits/creditsFaq/index.d.ts +1 -1
  63. package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
  64. package/dist/cjs/components/credits/creditsFaq/index.js.map +2 -2
  65. package/dist/cjs/components/credits/creditsGoGift/CreditsGoGift.d.ts +1 -1
  66. package/dist/cjs/components/credits/creditsGoGift/CreditsGoGift.js +1 -1
  67. package/dist/cjs/components/credits/creditsGoGift/CreditsGoGift.js.map +2 -2
  68. package/dist/cjs/components/credits/creditsInfoCard/index.d.ts +1 -1
  69. package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
  70. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +2 -2
  71. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.d.ts +1 -1
  72. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
  73. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +2 -2
  74. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.d.ts +1 -1
  75. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
  76. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js.map +2 -2
  77. package/dist/cjs/components/credits/creditsMemberPrice/Pagination.d.ts +1 -1
  78. package/dist/cjs/components/credits/creditsMemberPrice/Pagination.js +1 -1
  79. package/dist/cjs/components/credits/creditsMemberPrice/Pagination.js.map +2 -2
  80. package/dist/cjs/components/credits/creditsMemberPrice/type.d.ts +1 -1
  81. package/dist/cjs/components/credits/creditsMemberPrice/type.js.map +1 -1
  82. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.d.ts +1 -1
  83. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
  84. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
  85. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.d.ts +1 -1
  86. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  87. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +2 -2
  88. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/FormItem.d.ts +1 -1
  89. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/Input.d.ts +1 -1
  90. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.d.ts +1 -1
  91. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  92. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +2 -2
  93. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.d.ts +1 -1
  94. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  95. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +2 -2
  96. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +1 -1
  97. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
  98. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +2 -2
  99. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -1
  100. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.d.ts +1 -1
  101. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.js +1 -1
  102. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.js.map +2 -2
  103. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.d.ts +1 -1
  104. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.js +1 -1
  105. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.js.map +2 -2
  106. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.d.ts +1 -1
  107. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.d.ts +1 -1
  108. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  109. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +2 -2
  110. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.d.ts +1 -1
  111. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.d.ts +1 -1
  112. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  113. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +2 -2
  114. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.d.ts +1 -1
  115. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.d.ts +1 -1
  116. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  117. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
  118. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.d.ts +1 -1
  119. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  120. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +2 -2
  121. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.d.ts +1 -1
  122. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  123. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +2 -2
  124. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.d.ts +1 -1
  125. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.js +1 -1
  126. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.js.map +2 -2
  127. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.d.ts +1 -1
  128. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.js +1 -1
  129. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.js.map +2 -2
  130. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal.d.ts +1 -1
  131. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal.js +1 -1
  132. package/dist/cjs/components/credits/creditsRedeemList/RedeemVirtualProductModal.js.map +2 -2
  133. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.d.ts +1 -1
  134. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  135. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +2 -2
  136. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +1 -1
  137. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
  138. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +2 -2
  139. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  140. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +2 -2
  141. package/dist/cjs/components/credits/modal/ActivitiesModal.d.ts +1 -1
  142. package/dist/cjs/components/credits/modal/ActivitiesModal.js +1 -1
  143. package/dist/cjs/components/credits/modal/ActivitiesModal.js.map +2 -2
  144. package/dist/cjs/components/credits/modal/CreditsUploadReceiptModal.d.ts +1 -1
  145. package/dist/cjs/components/credits/modal/CreditsUploadReceiptModal.js +1 -1
  146. package/dist/cjs/components/credits/modal/CreditsUploadReceiptModal.js.map +2 -2
  147. package/dist/cjs/components/credits/modal/ModalContainer.js +1 -1
  148. package/dist/cjs/components/credits/modal/ModalContainer.js.map +2 -2
  149. package/dist/cjs/components/credits/modal/RewardsModal.d.ts +1 -1
  150. package/dist/cjs/components/credits/modal/RewardsModal.js +1 -1
  151. package/dist/cjs/components/credits/modal/RewardsModal.js.map +2 -2
  152. package/dist/cjs/components/credits/modal/RulesModal.d.ts +1 -1
  153. package/dist/cjs/components/credits/modal/RulesModal.js +1 -1
  154. package/dist/cjs/components/credits/modal/RulesModal.js.map +2 -2
  155. package/dist/cjs/components/credits/modal/SubscribeModal.d.ts +1 -1
  156. package/dist/cjs/components/credits/modal/SubscribeModal.js +1 -1
  157. package/dist/cjs/components/credits/modal/SubscribeModal.js.map +2 -2
  158. package/dist/cjs/components/credits/modal/Tip.d.ts +1 -1
  159. package/dist/cjs/components/credits/modal/Tip.js +1 -1
  160. package/dist/cjs/components/credits/modal/Tip.js.map +2 -2
  161. package/dist/cjs/components/credits/type.d.ts +1 -1
  162. package/dist/cjs/components/credits/type.js.map +1 -1
  163. package/dist/cjs/components/memberPopup/MemberPopup.d.ts +2 -2
  164. package/dist/cjs/components/memberPopup/MemberPopup.js +1 -1
  165. package/dist/cjs/components/memberPopup/MemberPopup.js.map +2 -2
  166. package/dist/cjs/components/memberPopup/context/provider.d.ts +2 -2
  167. package/dist/cjs/components/memberPopup/context/provider.js +1 -1
  168. package/dist/cjs/components/memberPopup/context/provider.js.map +2 -2
  169. package/dist/cjs/components/memberPopup/icons.d.ts +9 -9
  170. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.d.ts +1 -1
  171. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.js +1 -1
  172. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.js.map +2 -2
  173. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.d.ts +1 -1
  174. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js +1 -1
  175. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js.map +2 -2
  176. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.d.ts +1 -1
  177. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js +1 -1
  178. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js.map +2 -2
  179. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.d.ts +1 -1
  180. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/index.d.ts +1 -1
  181. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/index.js +1 -1
  182. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/index.js.map +2 -2
  183. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.d.ts +1 -1
  184. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.js +1 -1
  185. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.js.map +2 -2
  186. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.d.ts +1 -1
  187. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js +1 -1
  188. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js.map +2 -2
  189. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.d.ts +1 -1
  190. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js +1 -1
  191. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js.map +2 -2
  192. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js +1 -1
  193. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js.map +2 -2
  194. package/dist/cjs/components/memberPopup/panels/EarnCredits/index.d.ts +1 -1
  195. package/dist/cjs/components/memberPopup/panels/EarnCredits/index.js +1 -1
  196. package/dist/cjs/components/memberPopup/panels/EarnCredits/index.js.map +2 -2
  197. package/dist/cjs/components/memberPopup/panels/Referral/index.d.ts +1 -1
  198. package/dist/cjs/components/memberPopup/panels/Referral/index.js +1 -1
  199. package/dist/cjs/components/memberPopup/panels/Referral/index.js.map +2 -2
  200. package/dist/cjs/components/registration/authCodeActivate/Message.d.ts +1 -1
  201. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  202. package/dist/cjs/components/registration/authCodeActivate/index.js.map +2 -2
  203. package/dist/cjs/components/registration/context/provider.d.ts +1 -1
  204. package/dist/cjs/components/registration/modalContainer.js +1 -1
  205. package/dist/cjs/components/registration/modalContainer.js.map +2 -2
  206. package/dist/cjs/lib/cart/const.d.ts +5 -0
  207. package/dist/cjs/lib/cart/const.js +2 -0
  208. package/dist/cjs/lib/cart/const.js.map +7 -0
  209. package/dist/cjs/lib/cart/context/index.d.ts +46 -0
  210. package/dist/cjs/lib/cart/context/index.js +2 -0
  211. package/dist/cjs/lib/cart/context/index.js.map +7 -0
  212. package/dist/cjs/lib/cart/hooks/basic/useAddToCart.d.ts +29 -0
  213. package/dist/cjs/lib/cart/hooks/basic/useAddToCart.js +2 -0
  214. package/dist/cjs/lib/cart/hooks/basic/useAddToCart.js.map +7 -0
  215. package/dist/cjs/lib/cart/hooks/basic/useApplyCartCodes.d.ts +10 -0
  216. package/dist/cjs/lib/cart/hooks/basic/useApplyCartCodes.js +2 -0
  217. package/dist/cjs/lib/cart/hooks/basic/useApplyCartCodes.js.map +7 -0
  218. package/dist/cjs/lib/cart/hooks/basic/useBuyNow.d.ts +20 -0
  219. package/dist/cjs/lib/cart/hooks/basic/useBuyNow.js +2 -0
  220. package/dist/cjs/lib/cart/hooks/basic/useBuyNow.js.map +7 -0
  221. package/dist/cjs/lib/cart/hooks/basic/useCreateCart.d.ts +6 -0
  222. package/dist/cjs/lib/cart/hooks/basic/useCreateCart.js +2 -0
  223. package/dist/cjs/lib/cart/hooks/basic/useCreateCart.js.map +7 -0
  224. package/dist/cjs/lib/cart/hooks/basic/useRemoveCartCodes.d.ts +10 -0
  225. package/dist/cjs/lib/cart/hooks/basic/useRemoveCartCodes.js +2 -0
  226. package/dist/cjs/lib/cart/hooks/basic/useRemoveCartCodes.js.map +7 -0
  227. package/dist/cjs/lib/cart/hooks/basic/useRemoveCartLines.d.ts +10 -0
  228. package/dist/cjs/lib/cart/hooks/basic/useRemoveCartLines.js +2 -0
  229. package/dist/cjs/lib/cart/hooks/basic/useRemoveCartLines.js.map +7 -0
  230. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartAttributes.d.ts +7 -0
  231. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartAttributes.js +2 -0
  232. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartAttributes.js.map +7 -0
  233. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.d.ts +7 -0
  234. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.js +2 -0
  235. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.js.map +7 -0
  236. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartLines.d.ts +7 -0
  237. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartLines.js +2 -0
  238. package/dist/cjs/lib/cart/hooks/basic/useUpdateCartLines.js.map +7 -0
  239. package/dist/cjs/lib/cart/hooks/feature/useCalcAutoFreeGift.d.ts +9 -0
  240. package/dist/cjs/lib/cart/hooks/feature/useCalcAutoFreeGift.js +2 -0
  241. package/dist/cjs/lib/cart/hooks/feature/useCalcAutoFreeGift.js.map +7 -0
  242. package/dist/cjs/lib/cart/hooks/feature/useCalcOrderDiscount.d.ts +20 -0
  243. package/dist/cjs/lib/cart/hooks/feature/useCalcOrderDiscount.js +2 -0
  244. package/dist/cjs/lib/cart/hooks/feature/useCalcOrderDiscount.js.map +7 -0
  245. package/dist/cjs/lib/cart/hooks/feature/useCartAttributes.d.ts +9 -0
  246. package/dist/cjs/lib/cart/hooks/feature/useCartAttributes.js +2 -0
  247. package/dist/cjs/lib/cart/hooks/feature/useCartAttributes.js.map +7 -0
  248. package/dist/cjs/lib/cart/hooks/feature/useCartItemQuantityLimit.d.ts +18 -0
  249. package/dist/cjs/lib/cart/hooks/feature/useCartItemQuantityLimit.js +2 -0
  250. package/dist/cjs/lib/cart/hooks/feature/useCartItemQuantityLimit.js.map +7 -0
  251. package/dist/cjs/lib/cart/hooks/feature/useScriptAutoFreeGift.d.ts +36 -0
  252. package/dist/cjs/lib/cart/hooks/feature/useScriptAutoFreeGift.js +2 -0
  253. package/dist/cjs/lib/cart/hooks/feature/useScriptAutoFreeGift.js.map +7 -0
  254. package/dist/cjs/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.d.ts +8 -0
  255. package/dist/cjs/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js +2 -0
  256. package/dist/cjs/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js.map +7 -0
  257. package/dist/cjs/lib/cart/index.d.ts +5 -0
  258. package/dist/cjs/lib/cart/index.js +2 -0
  259. package/dist/cjs/lib/cart/index.js.map +7 -0
  260. package/dist/cjs/lib/cart/track/fbq.d.ts +13 -0
  261. package/dist/cjs/lib/cart/track/fbq.js +2 -0
  262. package/dist/cjs/lib/cart/track/fbq.js.map +7 -0
  263. package/dist/cjs/lib/cart/track/gtm.d.ts +25 -0
  264. package/dist/cjs/lib/cart/track/gtm.js +2 -0
  265. package/dist/cjs/lib/cart/track/gtm.js.map +7 -0
  266. package/dist/cjs/lib/cart/types/autoFreeGift.d.ts +134 -0
  267. package/dist/cjs/lib/cart/types/autoFreeGift.js +2 -0
  268. package/dist/cjs/lib/cart/types/autoFreeGift.js.map +7 -0
  269. package/dist/cjs/lib/cart/types/index.d.ts +23 -0
  270. package/dist/cjs/lib/cart/types/index.js +2 -0
  271. package/dist/cjs/lib/cart/types/index.js.map +7 -0
  272. package/dist/cjs/lib/cart/types/orderDiscount.d.ts +34 -0
  273. package/dist/cjs/lib/cart/types/orderDiscount.js +2 -0
  274. package/dist/cjs/lib/cart/types/orderDiscount.js.map +7 -0
  275. package/dist/cjs/lib/cart/types/priceDiscount.d.ts +19 -0
  276. package/dist/cjs/lib/cart/types/priceDiscount.js +2 -0
  277. package/dist/cjs/lib/cart/types/priceDiscount.js.map +7 -0
  278. package/dist/cjs/lib/cart/utils/autoFreeGift.d.ts +20 -0
  279. package/dist/cjs/lib/cart/utils/autoFreeGift.js +2 -0
  280. package/dist/cjs/lib/cart/utils/autoFreeGift.js.map +7 -0
  281. package/dist/cjs/lib/cart/utils/index.d.ts +3 -0
  282. package/dist/cjs/lib/cart/utils/index.js +2 -0
  283. package/dist/cjs/lib/cart/utils/index.js.map +7 -0
  284. package/dist/cjs/lib/constants.d.ts +1 -0
  285. package/dist/cjs/lib/constants.js +2 -0
  286. package/dist/cjs/lib/constants.js.map +7 -0
  287. package/dist/cjs/lib/context/HeadlessProvider.d.ts +9 -0
  288. package/dist/cjs/lib/context/HeadlessProvider.js +2 -0
  289. package/dist/cjs/lib/context/HeadlessProvider.js.map +7 -0
  290. package/dist/cjs/lib/context/config.d.ts +12 -0
  291. package/dist/cjs/lib/context/config.js +2 -0
  292. package/dist/cjs/lib/context/config.js.map +7 -0
  293. package/dist/cjs/lib/context/index.d.ts +2 -0
  294. package/dist/cjs/lib/context/index.js +2 -0
  295. package/dist/cjs/lib/context/index.js.map +7 -0
  296. package/dist/cjs/lib/index.d.ts +6 -0
  297. package/dist/cjs/lib/index.js +2 -0
  298. package/dist/cjs/lib/index.js.map +7 -0
  299. package/dist/cjs/lib/registration/hooks/index.d.ts +3 -0
  300. package/dist/cjs/lib/registration/hooks/index.js +2 -0
  301. package/dist/cjs/lib/registration/hooks/index.js.map +7 -0
  302. package/dist/cjs/lib/registration/hooks/useEmailValidation.d.ts +16 -0
  303. package/dist/cjs/lib/registration/hooks/useEmailValidation.js +2 -0
  304. package/dist/cjs/lib/registration/hooks/useEmailValidation.js.map +7 -0
  305. package/dist/cjs/lib/registration/hooks/useSendEmailValidation.d.ts +8 -0
  306. package/dist/cjs/lib/registration/hooks/useSendEmailValidation.js +2 -0
  307. package/dist/cjs/lib/registration/hooks/useSendEmailValidation.js.map +7 -0
  308. package/dist/cjs/lib/registration/hooks/useSubscriptions.d.ts +4 -0
  309. package/dist/cjs/lib/registration/hooks/useSubscriptions.js +2 -0
  310. package/dist/cjs/lib/registration/hooks/useSubscriptions.js.map +7 -0
  311. package/dist/cjs/lib/registration/index.d.ts +1 -0
  312. package/dist/cjs/lib/registration/index.js +2 -0
  313. package/dist/cjs/lib/registration/index.js.map +7 -0
  314. package/dist/cjs/lib/shopify/fetchers/add-cart-lines.d.ts +11 -0
  315. package/dist/cjs/lib/shopify/fetchers/add-cart-lines.js +2 -0
  316. package/dist/cjs/lib/shopify/fetchers/add-cart-lines.js.map +7 -0
  317. package/dist/cjs/lib/shopify/fetchers/create-cart.d.ts +12 -0
  318. package/dist/cjs/lib/shopify/fetchers/create-cart.js +2 -0
  319. package/dist/cjs/lib/shopify/fetchers/create-cart.js.map +7 -0
  320. package/dist/cjs/lib/shopify/fetchers/get-cart.d.ts +15 -0
  321. package/dist/cjs/lib/shopify/fetchers/get-cart.js +2 -0
  322. package/dist/cjs/lib/shopify/fetchers/get-cart.js.map +7 -0
  323. package/dist/cjs/lib/shopify/fetchers/get-products-by-handles.d.ts +14 -0
  324. package/dist/cjs/lib/shopify/fetchers/get-products-by-handles.js +2 -0
  325. package/dist/cjs/lib/shopify/fetchers/get-products-by-handles.js.map +7 -0
  326. package/dist/cjs/lib/shopify/fetchers/index.d.ts +11 -0
  327. package/dist/cjs/lib/shopify/fetchers/index.js +2 -0
  328. package/dist/cjs/lib/shopify/fetchers/index.js.map +7 -0
  329. package/dist/cjs/lib/shopify/fetchers/remove-cart-lines.d.ts +11 -0
  330. package/dist/cjs/lib/shopify/fetchers/remove-cart-lines.js +2 -0
  331. package/dist/cjs/lib/shopify/fetchers/remove-cart-lines.js.map +7 -0
  332. package/dist/cjs/lib/shopify/fetchers/update-cart-attributes.d.ts +11 -0
  333. package/dist/cjs/lib/shopify/fetchers/update-cart-attributes.js +2 -0
  334. package/dist/cjs/lib/shopify/fetchers/update-cart-attributes.js.map +7 -0
  335. package/dist/cjs/lib/shopify/fetchers/update-cart-buyer-identity.d.ts +11 -0
  336. package/dist/cjs/lib/shopify/fetchers/update-cart-buyer-identity.js +2 -0
  337. package/dist/cjs/lib/shopify/fetchers/update-cart-buyer-identity.js.map +7 -0
  338. package/dist/cjs/lib/shopify/fetchers/update-cart-codes.d.ts +11 -0
  339. package/dist/cjs/lib/shopify/fetchers/update-cart-codes.js +2 -0
  340. package/dist/cjs/lib/shopify/fetchers/update-cart-codes.js.map +7 -0
  341. package/dist/cjs/lib/shopify/fetchers/update-cart-lines.d.ts +11 -0
  342. package/dist/cjs/lib/shopify/fetchers/update-cart-lines.js +2 -0
  343. package/dist/cjs/lib/shopify/fetchers/update-cart-lines.js.map +7 -0
  344. package/dist/cjs/lib/shopify/fragments/article.d.ts +2 -0
  345. package/dist/cjs/lib/shopify/fragments/article.js +50 -0
  346. package/dist/cjs/lib/shopify/fragments/article.js.map +7 -0
  347. package/dist/cjs/lib/shopify/fragments/blog.d.ts +1 -0
  348. package/dist/cjs/lib/shopify/fragments/blog.js +11 -0
  349. package/dist/cjs/lib/shopify/fragments/blog.js.map +7 -0
  350. package/dist/cjs/lib/shopify/fragments/cart.d.ts +1 -0
  351. package/dist/cjs/lib/shopify/fragments/cart.js +189 -0
  352. package/dist/cjs/lib/shopify/fragments/cart.js.map +7 -0
  353. package/dist/cjs/lib/shopify/fragments/collection.d.ts +1 -0
  354. package/dist/cjs/lib/shopify/fragments/collection.js +16 -0
  355. package/dist/cjs/lib/shopify/fragments/collection.js.map +7 -0
  356. package/dist/cjs/lib/shopify/fragments/image.d.ts +1 -0
  357. package/dist/cjs/lib/shopify/fragments/image.js +9 -0
  358. package/dist/cjs/lib/shopify/fragments/image.js.map +7 -0
  359. package/dist/cjs/lib/shopify/fragments/index.d.ts +11 -0
  360. package/dist/cjs/lib/shopify/fragments/index.js +2 -0
  361. package/dist/cjs/lib/shopify/fragments/index.js.map +7 -0
  362. package/dist/cjs/lib/shopify/fragments/metafields.d.ts +2 -0
  363. package/dist/cjs/lib/shopify/fragments/metafields.js +16 -0
  364. package/dist/cjs/lib/shopify/fragments/metafields.js.map +7 -0
  365. package/dist/cjs/lib/shopify/fragments/page-info.d.ts +1 -0
  366. package/dist/cjs/lib/shopify/fragments/page-info.js +9 -0
  367. package/dist/cjs/lib/shopify/fragments/page-info.js.map +7 -0
  368. package/dist/cjs/lib/shopify/fragments/page.d.ts +1 -0
  369. package/dist/cjs/lib/shopify/fragments/page.js +13 -0
  370. package/dist/cjs/lib/shopify/fragments/page.js.map +7 -0
  371. package/dist/cjs/lib/shopify/fragments/product.d.ts +1 -0
  372. package/dist/cjs/lib/shopify/fragments/product.js +72 -0
  373. package/dist/cjs/lib/shopify/fragments/product.js.map +7 -0
  374. package/dist/cjs/lib/shopify/fragments/seo.d.ts +1 -0
  375. package/dist/cjs/lib/shopify/fragments/seo.js +7 -0
  376. package/dist/cjs/lib/shopify/fragments/seo.js.map +7 -0
  377. package/dist/cjs/lib/shopify/fragments/variant.d.ts +1 -0
  378. package/dist/cjs/lib/shopify/fragments/variant.js +30 -0
  379. package/dist/cjs/lib/shopify/fragments/variant.js.map +7 -0
  380. package/dist/cjs/lib/shopify/gql/fragment-masking.d.ts +15 -0
  381. package/dist/cjs/lib/shopify/gql/fragment-masking.js +2 -0
  382. package/dist/cjs/lib/shopify/gql/fragment-masking.js.map +7 -0
  383. package/dist/cjs/lib/shopify/gql/gql.d.ts +87 -0
  384. package/dist/cjs/lib/shopify/gql/gql.js +2 -0
  385. package/dist/cjs/lib/shopify/gql/gql.js.map +7 -0
  386. package/dist/cjs/lib/shopify/gql/graphql.d.ts +7669 -0
  387. package/dist/cjs/lib/shopify/gql/graphql.js +2 -0
  388. package/dist/cjs/lib/shopify/gql/graphql.js.map +7 -0
  389. package/dist/cjs/lib/shopify/gql/index.d.ts +3 -0
  390. package/dist/cjs/lib/shopify/gql/index.js +2 -0
  391. package/dist/cjs/lib/shopify/gql/index.js.map +7 -0
  392. package/dist/cjs/lib/shopify/hooks/index.d.ts +1 -0
  393. package/dist/cjs/lib/shopify/hooks/index.js +2 -0
  394. package/dist/cjs/lib/shopify/hooks/index.js.map +7 -0
  395. package/dist/cjs/lib/shopify/hooks/useProductsByHandles.d.ts +4 -0
  396. package/dist/cjs/lib/shopify/hooks/useProductsByHandles.js +2 -0
  397. package/dist/cjs/lib/shopify/hooks/useProductsByHandles.js.map +7 -0
  398. package/dist/cjs/lib/shopify/index.d.ts +5 -0
  399. package/dist/cjs/lib/shopify/index.js +2 -0
  400. package/dist/cjs/lib/shopify/index.js.map +7 -0
  401. package/dist/cjs/lib/shopify/mutations/add-cart-lines.d.ts +1 -0
  402. package/dist/cjs/lib/shopify/mutations/add-cart-lines.js +15 -0
  403. package/dist/cjs/lib/shopify/mutations/add-cart-lines.js.map +7 -0
  404. package/dist/cjs/lib/shopify/mutations/create-cart.d.ts +1 -0
  405. package/dist/cjs/lib/shopify/mutations/create-cart.js +21 -0
  406. package/dist/cjs/lib/shopify/mutations/create-cart.js.map +7 -0
  407. package/dist/cjs/lib/shopify/mutations/remove-cart-items.d.ts +1 -0
  408. package/dist/cjs/lib/shopify/mutations/remove-cart-items.js +15 -0
  409. package/dist/cjs/lib/shopify/mutations/remove-cart-items.js.map +7 -0
  410. package/dist/cjs/lib/shopify/mutations/update-cart-attributes.d.ts +1 -0
  411. package/dist/cjs/lib/shopify/mutations/update-cart-attributes.js +15 -0
  412. package/dist/cjs/lib/shopify/mutations/update-cart-attributes.js.map +7 -0
  413. package/dist/cjs/lib/shopify/mutations/update-cart-buyer-identity.d.ts +1 -0
  414. package/dist/cjs/lib/shopify/mutations/update-cart-buyer-identity.js +15 -0
  415. package/dist/cjs/lib/shopify/mutations/update-cart-buyer-identity.js.map +7 -0
  416. package/dist/cjs/lib/shopify/mutations/update-cart-discount-code.d.ts +1 -0
  417. package/dist/cjs/lib/shopify/mutations/update-cart-discount-code.js +15 -0
  418. package/dist/cjs/lib/shopify/mutations/update-cart-discount-code.js.map +7 -0
  419. package/dist/cjs/lib/shopify/mutations/update-cart-items.d.ts +1 -0
  420. package/dist/cjs/lib/shopify/mutations/update-cart-items.js +15 -0
  421. package/dist/cjs/lib/shopify/mutations/update-cart-items.js.map +7 -0
  422. package/dist/cjs/lib/shopify/queries/get-cart.d.ts +1 -0
  423. package/dist/cjs/lib/shopify/queries/get-cart.js +13 -0
  424. package/dist/cjs/lib/shopify/queries/get-cart.js.map +7 -0
  425. package/dist/cjs/lib/shopify/queries/get-product-by-handles.d.ts +1 -0
  426. package/dist/cjs/lib/shopify/queries/get-product-by-handles.js +29 -0
  427. package/dist/cjs/lib/shopify/queries/get-product-by-handles.js.map +7 -0
  428. package/dist/cjs/lib/shopify/queries/index.d.ts +1 -0
  429. package/dist/cjs/lib/shopify/queries/index.js +2 -0
  430. package/dist/cjs/lib/shopify/queries/index.js.map +7 -0
  431. package/dist/cjs/lib/shopify/types/article.d.ts +48 -0
  432. package/dist/cjs/lib/shopify/types/article.js +2 -0
  433. package/dist/cjs/lib/shopify/types/article.js.map +7 -0
  434. package/dist/cjs/lib/shopify/types/cart.d.ts +174 -0
  435. package/dist/cjs/lib/shopify/types/cart.js +2 -0
  436. package/dist/cjs/lib/shopify/types/cart.js.map +7 -0
  437. package/dist/cjs/lib/shopify/types/checkout.d.ts +42 -0
  438. package/dist/cjs/lib/shopify/types/checkout.js +2 -0
  439. package/dist/cjs/lib/shopify/types/checkout.js.map +7 -0
  440. package/dist/cjs/lib/shopify/types/collection.d.ts +122 -0
  441. package/dist/cjs/lib/shopify/types/collection.js +2 -0
  442. package/dist/cjs/lib/shopify/types/collection.js.map +7 -0
  443. package/dist/cjs/lib/shopify/types/common.d.ts +42 -0
  444. package/dist/cjs/lib/shopify/types/common.js +2 -0
  445. package/dist/cjs/lib/shopify/types/common.js.map +7 -0
  446. package/dist/cjs/lib/shopify/types/config.d.ts +12 -0
  447. package/dist/cjs/lib/shopify/types/config.js +2 -0
  448. package/dist/cjs/lib/shopify/types/config.js.map +7 -0
  449. package/dist/cjs/lib/shopify/types/customer.d.ts +30 -0
  450. package/dist/cjs/lib/shopify/types/customer.js +2 -0
  451. package/dist/cjs/lib/shopify/types/customer.js.map +7 -0
  452. package/dist/cjs/lib/shopify/types/fetcher.d.ts +43 -0
  453. package/dist/cjs/lib/shopify/types/fetcher.js +2 -0
  454. package/dist/cjs/lib/shopify/types/fetcher.js.map +7 -0
  455. package/dist/cjs/lib/shopify/types/index.d.ts +11 -0
  456. package/dist/cjs/lib/shopify/types/index.js +2 -0
  457. package/dist/cjs/lib/shopify/types/index.js.map +7 -0
  458. package/dist/cjs/lib/shopify/types/page.d.ts +33 -0
  459. package/dist/cjs/lib/shopify/types/page.js +2 -0
  460. package/dist/cjs/lib/shopify/types/page.js.map +7 -0
  461. package/dist/cjs/lib/shopify/types/product.d.ts +174 -0
  462. package/dist/cjs/lib/shopify/types/product.js +2 -0
  463. package/dist/cjs/lib/shopify/types/product.js.map +7 -0
  464. package/dist/cjs/lib/shopify/types/search.d.ts +54 -0
  465. package/dist/cjs/lib/shopify/types/search.js +2 -0
  466. package/dist/cjs/lib/shopify/types/search.js.map +7 -0
  467. package/dist/cjs/lib/shopify/types/site.d.ts +33 -0
  468. package/dist/cjs/lib/shopify/types/site.js +2 -0
  469. package/dist/cjs/lib/shopify/types/site.js.map +7 -0
  470. package/dist/cjs/lib/shopify/types/type-helper.d.ts +5 -0
  471. package/dist/cjs/lib/shopify/types/type-helper.js +2 -0
  472. package/dist/cjs/lib/shopify/types/type-helper.js.map +7 -0
  473. package/dist/cjs/lib/shopify/utils/colors.d.ts +3 -0
  474. package/dist/cjs/lib/shopify/utils/colors.js +2 -0
  475. package/dist/cjs/lib/shopify/utils/colors.js.map +7 -0
  476. package/dist/cjs/lib/shopify/utils/const.d.ts +76 -0
  477. package/dist/cjs/lib/shopify/utils/const.js +2 -0
  478. package/dist/cjs/lib/shopify/utils/const.js.map +7 -0
  479. package/dist/cjs/lib/shopify/utils/cookie.d.ts +15 -0
  480. package/dist/cjs/lib/shopify/utils/cookie.js +2 -0
  481. package/dist/cjs/lib/shopify/utils/cookie.js.map +7 -0
  482. package/dist/cjs/lib/shopify/utils/errors.d.ts +38 -0
  483. package/dist/cjs/lib/shopify/utils/errors.js +3 -0
  484. package/dist/cjs/lib/shopify/utils/errors.js.map +7 -0
  485. package/dist/cjs/lib/shopify/utils/fetch-graphql-api.d.ts +19 -0
  486. package/dist/cjs/lib/shopify/utils/fetch-graphql-api.js +3 -0
  487. package/dist/cjs/lib/shopify/utils/fetch-graphql-api.js.map +7 -0
  488. package/dist/cjs/lib/shopify/utils/handle-fetch-response.d.ts +5 -0
  489. package/dist/cjs/lib/shopify/utils/handle-fetch-response.js +2 -0
  490. package/dist/cjs/lib/shopify/utils/handle-fetch-response.js.map +7 -0
  491. package/dist/cjs/lib/shopify/utils/helper.d.ts +28 -0
  492. package/dist/cjs/lib/shopify/utils/helper.js +2 -0
  493. package/dist/cjs/lib/shopify/utils/helper.js.map +7 -0
  494. package/dist/cjs/lib/shopify/utils/normalize/cart.d.ts +7 -0
  495. package/dist/cjs/lib/shopify/utils/normalize/cart.js +2 -0
  496. package/dist/cjs/lib/shopify/utils/normalize/cart.js.map +7 -0
  497. package/dist/cjs/lib/shopify/utils/normalize/customer.d.ts +3 -0
  498. package/dist/cjs/lib/shopify/utils/normalize/customer.js +2 -0
  499. package/dist/cjs/lib/shopify/utils/normalize/customer.js.map +7 -0
  500. package/dist/cjs/lib/shopify/utils/normalize/index.d.ts +2 -0
  501. package/dist/cjs/lib/shopify/utils/normalize/index.js +2 -0
  502. package/dist/cjs/lib/shopify/utils/normalize/index.js.map +7 -0
  503. package/dist/cjs/lib/shopify/utils/normalize/metafield.d.ts +5 -0
  504. package/dist/cjs/lib/shopify/utils/normalize/metafield.js +2 -0
  505. package/dist/cjs/lib/shopify/utils/normalize/metafield.js.map +7 -0
  506. package/dist/cjs/lib/shopify/utils/normalize/product.d.ts +16 -0
  507. package/dist/cjs/lib/shopify/utils/normalize/product.js +2 -0
  508. package/dist/cjs/lib/shopify/utils/normalize/product.js.map +7 -0
  509. package/dist/cjs/lib/shopify/utils/store.d.ts +2 -0
  510. package/dist/cjs/lib/shopify/utils/store.js +2 -0
  511. package/dist/cjs/lib/shopify/utils/store.js.map +7 -0
  512. package/dist/cjs/lib/shopify/utils/type-helper.d.ts +5 -0
  513. package/dist/cjs/lib/shopify/utils/type-helper.js +2 -0
  514. package/dist/cjs/lib/shopify/utils/type-helper.js.map +7 -0
  515. package/dist/cjs/lib/utils/classnames.d.ts +2 -0
  516. package/dist/cjs/lib/utils/classnames.js +2 -0
  517. package/dist/cjs/lib/utils/classnames.js.map +7 -0
  518. package/dist/cjs/lib/utils/fetcher/fetchResponse.d.ts +13 -0
  519. package/dist/cjs/lib/utils/fetcher/fetchResponse.js +2 -0
  520. package/dist/cjs/lib/utils/fetcher/fetchResponse.js.map +7 -0
  521. package/dist/cjs/lib/utils/fetcher/fetcher.d.ts +1 -0
  522. package/dist/cjs/lib/utils/fetcher/fetcher.js +2 -0
  523. package/dist/cjs/lib/utils/fetcher/fetcher.js.map +7 -0
  524. package/dist/cjs/lib/utils/fetcher/index.d.ts +2 -0
  525. package/dist/cjs/lib/utils/fetcher/index.js +2 -0
  526. package/dist/cjs/lib/utils/fetcher/index.js.map +7 -0
  527. package/dist/cjs/lib/utils/index.d.ts +4 -0
  528. package/dist/cjs/lib/utils/index.js +2 -0
  529. package/dist/cjs/lib/utils/index.js.map +7 -0
  530. package/dist/cjs/lib/utils/track.d.ts +15 -0
  531. package/dist/cjs/lib/utils/track.js +2 -0
  532. package/dist/cjs/lib/utils/track.js.map +7 -0
  533. package/dist/cjs/lib/utils/useCountDown.d.ts +5 -0
  534. package/dist/cjs/lib/utils/useCountDown.js +2 -0
  535. package/dist/cjs/lib/utils/useCountDown.js.map +7 -0
  536. package/dist/cjs/templates/Credits.d.ts +1 -1
  537. package/dist/cjs/templates/Credits.js +1 -1
  538. package/dist/cjs/templates/Credits.js.map +2 -2
  539. package/dist/cjs/templates/Credits.types.d.ts +1 -1
  540. package/dist/cjs/templates/Credits.types.js.map +1 -1
  541. package/dist/esm/components/chat/action.d.ts +1 -1
  542. package/dist/esm/components/chat/button.d.ts +1 -1
  543. package/dist/esm/components/chat/index.d.ts +1 -1
  544. package/dist/esm/components/chat/index.js +1 -1
  545. package/dist/esm/components/chat/index.js.map +2 -2
  546. package/dist/esm/components/chat/markdown.d.ts +1 -1
  547. package/dist/esm/components/chat/messages.d.ts +2 -1
  548. package/dist/esm/components/chat/response.d.ts +1 -1
  549. package/dist/esm/components/chat/suggestions.d.ts +1 -1
  550. package/dist/esm/components/credits/context/hooks/useActivities.js +1 -1
  551. package/dist/esm/components/credits/context/hooks/useActivities.js.map +2 -2
  552. package/dist/esm/components/credits/context/hooks/useAddressValidate.js +1 -1
  553. package/dist/esm/components/credits/context/hooks/useAddressValidate.js.map +2 -2
  554. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js +1 -1
  555. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js.map +2 -2
  556. package/dist/esm/components/credits/context/hooks/useCountries.js +1 -1
  557. package/dist/esm/components/credits/context/hooks/useCountries.js.map +2 -2
  558. package/dist/esm/components/credits/context/hooks/useMyRewards.js +1 -1
  559. package/dist/esm/components/credits/context/hooks/useMyRewards.js.map +2 -2
  560. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.d.ts +2 -2
  561. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  562. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  563. package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js +1 -1
  564. package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js.map +2 -2
  565. package/dist/esm/components/credits/context/hooks/useRedeemGoGift.js +1 -1
  566. package/dist/esm/components/credits/context/hooks/useRedeemGoGift.js.map +2 -2
  567. package/dist/esm/components/credits/context/hooks/useRedeemProduct.js +1 -1
  568. package/dist/esm/components/credits/context/hooks/useRedeemProduct.js.map +2 -2
  569. package/dist/esm/components/credits/context/hooks/useRedeemableList.js +1 -1
  570. package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  571. package/dist/esm/components/credits/context/hooks/useShippingCountries.js +1 -1
  572. package/dist/esm/components/credits/context/hooks/useShippingCountries.js.map +2 -2
  573. package/dist/esm/components/credits/context/hooks/useSubscribed.js +1 -1
  574. package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +2 -2
  575. package/dist/esm/components/credits/context/hooks/useUploadReceipt.d.ts +2 -2
  576. package/dist/esm/components/credits/context/hooks/useUploadReceipt.js +1 -1
  577. package/dist/esm/components/credits/context/hooks/useUploadReceipt.js.map +3 -3
  578. package/dist/esm/components/credits/context/provider.d.ts +1 -1
  579. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.d.ts +1 -1
  580. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
  581. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +2 -2
  582. package/dist/esm/components/credits/creditsBanner/index.d.ts +1 -1
  583. package/dist/esm/components/credits/creditsBenefits/BenefitItem.d.ts +1 -1
  584. package/dist/esm/components/credits/creditsBenefits/BenefitItem.js +1 -1
  585. package/dist/esm/components/credits/creditsBenefits/BenefitItem.js.map +2 -2
  586. package/dist/esm/components/credits/creditsBenefits/IconInfo.d.ts +1 -1
  587. package/dist/esm/components/credits/creditsBenefits/index.d.ts +1 -1
  588. package/dist/esm/components/credits/creditsBenefits/index.js +1 -1
  589. package/dist/esm/components/credits/creditsBenefits/index.js.map +2 -2
  590. package/dist/esm/components/credits/creditsCash/CreditsCash.d.ts +1 -1
  591. package/dist/esm/components/credits/creditsCash/CreditsCash.js +1 -1
  592. package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +2 -2
  593. package/dist/esm/components/credits/creditsCash/RedeemableItem.d.ts +1 -1
  594. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
  595. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +2 -2
  596. package/dist/esm/components/credits/creditsCash/type.d.ts +1 -1
  597. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.d.ts +1 -1
  598. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  599. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +2 -2
  600. package/dist/esm/components/credits/creditsFaq/index.d.ts +1 -1
  601. package/dist/esm/components/credits/creditsFaq/index.js +1 -1
  602. package/dist/esm/components/credits/creditsFaq/index.js.map +2 -2
  603. package/dist/esm/components/credits/creditsGoGift/CreditsGoGift.d.ts +1 -1
  604. package/dist/esm/components/credits/creditsGoGift/CreditsGoGift.js +1 -1
  605. package/dist/esm/components/credits/creditsGoGift/CreditsGoGift.js.map +2 -2
  606. package/dist/esm/components/credits/creditsInfoCard/index.d.ts +1 -1
  607. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  608. package/dist/esm/components/credits/creditsInfoCard/index.js.map +2 -2
  609. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.d.ts +1 -1
  610. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
  611. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +2 -2
  612. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.d.ts +1 -1
  613. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
  614. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js.map +2 -2
  615. package/dist/esm/components/credits/creditsMemberPrice/Pagination.d.ts +1 -1
  616. package/dist/esm/components/credits/creditsMemberPrice/Pagination.js +1 -1
  617. package/dist/esm/components/credits/creditsMemberPrice/Pagination.js.map +2 -2
  618. package/dist/esm/components/credits/creditsMemberPrice/type.d.ts +1 -1
  619. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.d.ts +1 -1
  620. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
  621. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
  622. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.d.ts +1 -1
  623. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  624. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +2 -2
  625. package/dist/esm/components/credits/creditsRedeemList/AddressForm/FormItem.d.ts +1 -1
  626. package/dist/esm/components/credits/creditsRedeemList/AddressForm/Input.d.ts +1 -1
  627. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.d.ts +1 -1
  628. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  629. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +2 -2
  630. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.d.ts +1 -1
  631. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  632. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +2 -2
  633. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +1 -1
  634. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
  635. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +2 -2
  636. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -1
  637. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.d.ts +1 -1
  638. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.js +1 -1
  639. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.js.map +2 -2
  640. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.d.ts +1 -1
  641. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.js +1 -1
  642. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.js.map +2 -2
  643. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.d.ts +1 -1
  644. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.d.ts +1 -1
  645. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  646. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +2 -2
  647. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.d.ts +1 -1
  648. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.d.ts +1 -1
  649. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  650. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +2 -2
  651. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.d.ts +1 -1
  652. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.d.ts +1 -1
  653. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  654. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
  655. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.d.ts +1 -1
  656. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  657. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +2 -2
  658. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.d.ts +1 -1
  659. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  660. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +2 -2
  661. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.d.ts +1 -1
  662. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.js +1 -1
  663. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.js.map +2 -2
  664. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.d.ts +1 -1
  665. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.js +1 -1
  666. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.js.map +2 -2
  667. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal.d.ts +1 -1
  668. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal.js +1 -1
  669. package/dist/esm/components/credits/creditsRedeemList/RedeemVirtualProductModal.js.map +2 -2
  670. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.d.ts +1 -1
  671. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  672. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +2 -2
  673. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +1 -1
  674. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
  675. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +2 -2
  676. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  677. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +2 -2
  678. package/dist/esm/components/credits/modal/ActivitiesModal.d.ts +1 -1
  679. package/dist/esm/components/credits/modal/ActivitiesModal.js +1 -1
  680. package/dist/esm/components/credits/modal/ActivitiesModal.js.map +2 -2
  681. package/dist/esm/components/credits/modal/CreditsUploadReceiptModal.d.ts +1 -1
  682. package/dist/esm/components/credits/modal/CreditsUploadReceiptModal.js +1 -1
  683. package/dist/esm/components/credits/modal/CreditsUploadReceiptModal.js.map +2 -2
  684. package/dist/esm/components/credits/modal/ModalContainer.js +1 -1
  685. package/dist/esm/components/credits/modal/ModalContainer.js.map +2 -2
  686. package/dist/esm/components/credits/modal/RewardsModal.d.ts +1 -1
  687. package/dist/esm/components/credits/modal/RewardsModal.js +1 -1
  688. package/dist/esm/components/credits/modal/RewardsModal.js.map +2 -2
  689. package/dist/esm/components/credits/modal/RulesModal.d.ts +1 -1
  690. package/dist/esm/components/credits/modal/RulesModal.js +1 -1
  691. package/dist/esm/components/credits/modal/RulesModal.js.map +2 -2
  692. package/dist/esm/components/credits/modal/SubscribeModal.d.ts +1 -1
  693. package/dist/esm/components/credits/modal/SubscribeModal.js +1 -1
  694. package/dist/esm/components/credits/modal/SubscribeModal.js.map +2 -2
  695. package/dist/esm/components/credits/modal/Tip.d.ts +1 -1
  696. package/dist/esm/components/credits/modal/Tip.js +1 -1
  697. package/dist/esm/components/credits/modal/Tip.js.map +2 -2
  698. package/dist/esm/components/credits/type.d.ts +1 -1
  699. package/dist/esm/components/memberPopup/MemberPopup.d.ts +2 -2
  700. package/dist/esm/components/memberPopup/MemberPopup.js +1 -1
  701. package/dist/esm/components/memberPopup/MemberPopup.js.map +2 -2
  702. package/dist/esm/components/memberPopup/context/provider.d.ts +2 -2
  703. package/dist/esm/components/memberPopup/context/provider.js +1 -1
  704. package/dist/esm/components/memberPopup/context/provider.js.map +2 -2
  705. package/dist/esm/components/memberPopup/icons.d.ts +9 -9
  706. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.d.ts +1 -1
  707. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.js +1 -1
  708. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.js.map +2 -2
  709. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.d.ts +1 -1
  710. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js +1 -1
  711. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js.map +2 -2
  712. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.d.ts +1 -1
  713. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js +1 -1
  714. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js.map +2 -2
  715. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.d.ts +1 -1
  716. package/dist/esm/components/memberPopup/panels/ConsumeCredits/index.d.ts +1 -1
  717. package/dist/esm/components/memberPopup/panels/ConsumeCredits/index.js +1 -1
  718. package/dist/esm/components/memberPopup/panels/ConsumeCredits/index.js.map +2 -2
  719. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.d.ts +1 -1
  720. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.js +1 -1
  721. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.js.map +2 -2
  722. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.d.ts +1 -1
  723. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js +1 -1
  724. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js.map +2 -2
  725. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.d.ts +1 -1
  726. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js +1 -1
  727. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js.map +2 -2
  728. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js +1 -1
  729. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js.map +2 -2
  730. package/dist/esm/components/memberPopup/panels/EarnCredits/index.d.ts +1 -1
  731. package/dist/esm/components/memberPopup/panels/EarnCredits/index.js +1 -1
  732. package/dist/esm/components/memberPopup/panels/EarnCredits/index.js.map +2 -2
  733. package/dist/esm/components/memberPopup/panels/Referral/index.d.ts +1 -1
  734. package/dist/esm/components/memberPopup/panels/Referral/index.js +1 -1
  735. package/dist/esm/components/memberPopup/panels/Referral/index.js.map +2 -2
  736. package/dist/esm/components/registration/authCodeActivate/Message.d.ts +1 -1
  737. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  738. package/dist/esm/components/registration/authCodeActivate/index.js.map +2 -2
  739. package/dist/esm/components/registration/context/provider.d.ts +1 -1
  740. package/dist/esm/components/registration/modalContainer.js +1 -1
  741. package/dist/esm/components/registration/modalContainer.js.map +2 -2
  742. package/dist/esm/lib/cart/const.d.ts +5 -0
  743. package/dist/esm/lib/cart/const.js +2 -0
  744. package/dist/esm/lib/cart/const.js.map +7 -0
  745. package/dist/esm/lib/cart/context/index.d.ts +46 -0
  746. package/dist/esm/lib/cart/context/index.js +2 -0
  747. package/dist/esm/lib/cart/context/index.js.map +7 -0
  748. package/dist/esm/lib/cart/hooks/basic/useAddToCart.d.ts +29 -0
  749. package/dist/esm/lib/cart/hooks/basic/useAddToCart.js +2 -0
  750. package/dist/esm/lib/cart/hooks/basic/useAddToCart.js.map +7 -0
  751. package/dist/esm/lib/cart/hooks/basic/useApplyCartCodes.d.ts +10 -0
  752. package/dist/esm/lib/cart/hooks/basic/useApplyCartCodes.js +2 -0
  753. package/dist/esm/lib/cart/hooks/basic/useApplyCartCodes.js.map +7 -0
  754. package/dist/esm/lib/cart/hooks/basic/useBuyNow.d.ts +20 -0
  755. package/dist/esm/lib/cart/hooks/basic/useBuyNow.js +2 -0
  756. package/dist/esm/lib/cart/hooks/basic/useBuyNow.js.map +7 -0
  757. package/dist/esm/lib/cart/hooks/basic/useCreateCart.d.ts +6 -0
  758. package/dist/esm/lib/cart/hooks/basic/useCreateCart.js +2 -0
  759. package/dist/esm/lib/cart/hooks/basic/useCreateCart.js.map +7 -0
  760. package/dist/esm/lib/cart/hooks/basic/useRemoveCartCodes.d.ts +10 -0
  761. package/dist/esm/lib/cart/hooks/basic/useRemoveCartCodes.js +2 -0
  762. package/dist/esm/lib/cart/hooks/basic/useRemoveCartCodes.js.map +7 -0
  763. package/dist/esm/lib/cart/hooks/basic/useRemoveCartLines.d.ts +10 -0
  764. package/dist/esm/lib/cart/hooks/basic/useRemoveCartLines.js +2 -0
  765. package/dist/esm/lib/cart/hooks/basic/useRemoveCartLines.js.map +7 -0
  766. package/dist/esm/lib/cart/hooks/basic/useUpdateCartAttributes.d.ts +7 -0
  767. package/dist/esm/lib/cart/hooks/basic/useUpdateCartAttributes.js +2 -0
  768. package/dist/esm/lib/cart/hooks/basic/useUpdateCartAttributes.js.map +7 -0
  769. package/dist/esm/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.d.ts +7 -0
  770. package/dist/esm/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.js +2 -0
  771. package/dist/esm/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.js.map +7 -0
  772. package/dist/esm/lib/cart/hooks/basic/useUpdateCartLines.d.ts +7 -0
  773. package/dist/esm/lib/cart/hooks/basic/useUpdateCartLines.js +2 -0
  774. package/dist/esm/lib/cart/hooks/basic/useUpdateCartLines.js.map +7 -0
  775. package/dist/esm/lib/cart/hooks/feature/useCalcAutoFreeGift.d.ts +9 -0
  776. package/dist/esm/lib/cart/hooks/feature/useCalcAutoFreeGift.js +2 -0
  777. package/dist/esm/lib/cart/hooks/feature/useCalcAutoFreeGift.js.map +7 -0
  778. package/dist/esm/lib/cart/hooks/feature/useCalcOrderDiscount.d.ts +20 -0
  779. package/dist/esm/lib/cart/hooks/feature/useCalcOrderDiscount.js +2 -0
  780. package/dist/esm/lib/cart/hooks/feature/useCalcOrderDiscount.js.map +7 -0
  781. package/dist/esm/lib/cart/hooks/feature/useCartAttributes.d.ts +9 -0
  782. package/dist/esm/lib/cart/hooks/feature/useCartAttributes.js +2 -0
  783. package/dist/esm/lib/cart/hooks/feature/useCartAttributes.js.map +7 -0
  784. package/dist/esm/lib/cart/hooks/feature/useCartItemQuantityLimit.d.ts +18 -0
  785. package/dist/esm/lib/cart/hooks/feature/useCartItemQuantityLimit.js +2 -0
  786. package/dist/esm/lib/cart/hooks/feature/useCartItemQuantityLimit.js.map +7 -0
  787. package/dist/esm/lib/cart/hooks/feature/useScriptAutoFreeGift.d.ts +36 -0
  788. package/dist/esm/lib/cart/hooks/feature/useScriptAutoFreeGift.js +2 -0
  789. package/dist/esm/lib/cart/hooks/feature/useScriptAutoFreeGift.js.map +7 -0
  790. package/dist/esm/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.d.ts +8 -0
  791. package/dist/esm/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js +2 -0
  792. package/dist/esm/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.js.map +7 -0
  793. package/dist/esm/lib/cart/index.d.ts +5 -0
  794. package/dist/esm/lib/cart/index.js +2 -0
  795. package/dist/esm/lib/cart/index.js.map +7 -0
  796. package/dist/esm/lib/cart/track/fbq.d.ts +13 -0
  797. package/dist/esm/lib/cart/track/fbq.js +2 -0
  798. package/dist/esm/lib/cart/track/fbq.js.map +7 -0
  799. package/dist/esm/lib/cart/track/gtm.d.ts +25 -0
  800. package/dist/esm/lib/cart/track/gtm.js +2 -0
  801. package/dist/esm/lib/cart/track/gtm.js.map +7 -0
  802. package/dist/esm/lib/cart/types/autoFreeGift.d.ts +134 -0
  803. package/dist/esm/lib/cart/types/autoFreeGift.js +2 -0
  804. package/dist/esm/lib/cart/types/autoFreeGift.js.map +7 -0
  805. package/dist/esm/lib/cart/types/index.d.ts +23 -0
  806. package/dist/esm/lib/cart/types/index.js +1 -0
  807. package/dist/esm/lib/cart/types/index.js.map +7 -0
  808. package/dist/esm/lib/cart/types/orderDiscount.d.ts +34 -0
  809. package/dist/esm/lib/cart/types/orderDiscount.js +2 -0
  810. package/dist/esm/lib/cart/types/orderDiscount.js.map +7 -0
  811. package/dist/esm/lib/cart/types/priceDiscount.d.ts +19 -0
  812. package/dist/esm/lib/cart/types/priceDiscount.js +2 -0
  813. package/dist/esm/lib/cart/types/priceDiscount.js.map +7 -0
  814. package/dist/esm/lib/cart/utils/autoFreeGift.d.ts +20 -0
  815. package/dist/esm/lib/cart/utils/autoFreeGift.js +2 -0
  816. package/dist/esm/lib/cart/utils/autoFreeGift.js.map +7 -0
  817. package/dist/esm/lib/cart/utils/index.d.ts +3 -0
  818. package/dist/esm/lib/cart/utils/index.js +2 -0
  819. package/dist/esm/lib/cart/utils/index.js.map +7 -0
  820. package/dist/esm/lib/constants.d.ts +1 -0
  821. package/dist/esm/lib/constants.js +2 -0
  822. package/dist/esm/lib/constants.js.map +7 -0
  823. package/dist/esm/lib/context/HeadlessProvider.d.ts +9 -0
  824. package/dist/esm/lib/context/HeadlessProvider.js +2 -0
  825. package/dist/esm/lib/context/HeadlessProvider.js.map +7 -0
  826. package/dist/esm/lib/context/config.d.ts +12 -0
  827. package/dist/esm/lib/context/config.js +1 -0
  828. package/dist/esm/lib/context/config.js.map +7 -0
  829. package/dist/esm/lib/context/index.d.ts +2 -0
  830. package/dist/esm/lib/context/index.js +2 -0
  831. package/dist/esm/lib/context/index.js.map +7 -0
  832. package/dist/esm/lib/index.d.ts +6 -0
  833. package/dist/esm/lib/index.js +2 -0
  834. package/dist/esm/lib/index.js.map +7 -0
  835. package/dist/esm/lib/registration/hooks/index.d.ts +3 -0
  836. package/dist/esm/lib/registration/hooks/index.js +2 -0
  837. package/dist/esm/lib/registration/hooks/index.js.map +7 -0
  838. package/dist/esm/lib/registration/hooks/useEmailValidation.d.ts +16 -0
  839. package/dist/esm/lib/registration/hooks/useEmailValidation.js +2 -0
  840. package/dist/esm/lib/registration/hooks/useEmailValidation.js.map +7 -0
  841. package/dist/esm/lib/registration/hooks/useSendEmailValidation.d.ts +8 -0
  842. package/dist/esm/lib/registration/hooks/useSendEmailValidation.js +2 -0
  843. package/dist/esm/lib/registration/hooks/useSendEmailValidation.js.map +7 -0
  844. package/dist/esm/lib/registration/hooks/useSubscriptions.d.ts +4 -0
  845. package/dist/esm/lib/registration/hooks/useSubscriptions.js +2 -0
  846. package/dist/esm/lib/registration/hooks/useSubscriptions.js.map +7 -0
  847. package/dist/esm/lib/registration/index.d.ts +1 -0
  848. package/dist/esm/lib/registration/index.js +2 -0
  849. package/dist/esm/lib/registration/index.js.map +7 -0
  850. package/dist/esm/lib/shopify/fetchers/add-cart-lines.d.ts +11 -0
  851. package/dist/esm/lib/shopify/fetchers/add-cart-lines.js +2 -0
  852. package/dist/esm/lib/shopify/fetchers/add-cart-lines.js.map +7 -0
  853. package/dist/esm/lib/shopify/fetchers/create-cart.d.ts +12 -0
  854. package/dist/esm/lib/shopify/fetchers/create-cart.js +2 -0
  855. package/dist/esm/lib/shopify/fetchers/create-cart.js.map +7 -0
  856. package/dist/esm/lib/shopify/fetchers/get-cart.d.ts +15 -0
  857. package/dist/esm/lib/shopify/fetchers/get-cart.js +2 -0
  858. package/dist/esm/lib/shopify/fetchers/get-cart.js.map +7 -0
  859. package/dist/esm/lib/shopify/fetchers/get-products-by-handles.d.ts +14 -0
  860. package/dist/esm/lib/shopify/fetchers/get-products-by-handles.js +2 -0
  861. package/dist/esm/lib/shopify/fetchers/get-products-by-handles.js.map +7 -0
  862. package/dist/esm/lib/shopify/fetchers/index.d.ts +11 -0
  863. package/dist/esm/lib/shopify/fetchers/index.js +2 -0
  864. package/dist/esm/lib/shopify/fetchers/index.js.map +7 -0
  865. package/dist/esm/lib/shopify/fetchers/remove-cart-lines.d.ts +11 -0
  866. package/dist/esm/lib/shopify/fetchers/remove-cart-lines.js +2 -0
  867. package/dist/esm/lib/shopify/fetchers/remove-cart-lines.js.map +7 -0
  868. package/dist/esm/lib/shopify/fetchers/update-cart-attributes.d.ts +11 -0
  869. package/dist/esm/lib/shopify/fetchers/update-cart-attributes.js +2 -0
  870. package/dist/esm/lib/shopify/fetchers/update-cart-attributes.js.map +7 -0
  871. package/dist/esm/lib/shopify/fetchers/update-cart-buyer-identity.d.ts +11 -0
  872. package/dist/esm/lib/shopify/fetchers/update-cart-buyer-identity.js +2 -0
  873. package/dist/esm/lib/shopify/fetchers/update-cart-buyer-identity.js.map +7 -0
  874. package/dist/esm/lib/shopify/fetchers/update-cart-codes.d.ts +11 -0
  875. package/dist/esm/lib/shopify/fetchers/update-cart-codes.js +2 -0
  876. package/dist/esm/lib/shopify/fetchers/update-cart-codes.js.map +7 -0
  877. package/dist/esm/lib/shopify/fetchers/update-cart-lines.d.ts +11 -0
  878. package/dist/esm/lib/shopify/fetchers/update-cart-lines.js +2 -0
  879. package/dist/esm/lib/shopify/fetchers/update-cart-lines.js.map +7 -0
  880. package/dist/esm/lib/shopify/fragments/article.d.ts +2 -0
  881. package/dist/esm/lib/shopify/fragments/article.js +50 -0
  882. package/dist/esm/lib/shopify/fragments/article.js.map +7 -0
  883. package/dist/esm/lib/shopify/fragments/blog.d.ts +1 -0
  884. package/dist/esm/lib/shopify/fragments/blog.js +11 -0
  885. package/dist/esm/lib/shopify/fragments/blog.js.map +7 -0
  886. package/dist/esm/lib/shopify/fragments/cart.d.ts +1 -0
  887. package/dist/esm/lib/shopify/fragments/cart.js +189 -0
  888. package/dist/esm/lib/shopify/fragments/cart.js.map +7 -0
  889. package/dist/esm/lib/shopify/fragments/collection.d.ts +1 -0
  890. package/dist/esm/lib/shopify/fragments/collection.js +16 -0
  891. package/dist/esm/lib/shopify/fragments/collection.js.map +7 -0
  892. package/dist/esm/lib/shopify/fragments/image.d.ts +1 -0
  893. package/dist/esm/lib/shopify/fragments/image.js +9 -0
  894. package/dist/esm/lib/shopify/fragments/image.js.map +7 -0
  895. package/dist/esm/lib/shopify/fragments/index.d.ts +11 -0
  896. package/dist/esm/lib/shopify/fragments/index.js +2 -0
  897. package/dist/esm/lib/shopify/fragments/index.js.map +7 -0
  898. package/dist/esm/lib/shopify/fragments/metafields.d.ts +2 -0
  899. package/dist/esm/lib/shopify/fragments/metafields.js +16 -0
  900. package/dist/esm/lib/shopify/fragments/metafields.js.map +7 -0
  901. package/dist/esm/lib/shopify/fragments/page-info.d.ts +1 -0
  902. package/dist/esm/lib/shopify/fragments/page-info.js +9 -0
  903. package/dist/esm/lib/shopify/fragments/page-info.js.map +7 -0
  904. package/dist/esm/lib/shopify/fragments/page.d.ts +1 -0
  905. package/dist/esm/lib/shopify/fragments/page.js +13 -0
  906. package/dist/esm/lib/shopify/fragments/page.js.map +7 -0
  907. package/dist/esm/lib/shopify/fragments/product.d.ts +1 -0
  908. package/dist/esm/lib/shopify/fragments/product.js +72 -0
  909. package/dist/esm/lib/shopify/fragments/product.js.map +7 -0
  910. package/dist/esm/lib/shopify/fragments/seo.d.ts +1 -0
  911. package/dist/esm/lib/shopify/fragments/seo.js +7 -0
  912. package/dist/esm/lib/shopify/fragments/seo.js.map +7 -0
  913. package/dist/esm/lib/shopify/fragments/variant.d.ts +1 -0
  914. package/dist/esm/lib/shopify/fragments/variant.js +30 -0
  915. package/dist/esm/lib/shopify/fragments/variant.js.map +7 -0
  916. package/dist/esm/lib/shopify/gql/fragment-masking.d.ts +15 -0
  917. package/dist/esm/lib/shopify/gql/fragment-masking.js +2 -0
  918. package/dist/esm/lib/shopify/gql/fragment-masking.js.map +7 -0
  919. package/dist/esm/lib/shopify/gql/gql.d.ts +87 -0
  920. package/dist/esm/lib/shopify/gql/gql.js +2 -0
  921. package/dist/esm/lib/shopify/gql/gql.js.map +7 -0
  922. package/dist/esm/lib/shopify/gql/graphql.d.ts +7669 -0
  923. package/dist/esm/lib/shopify/gql/graphql.js +2 -0
  924. package/dist/esm/lib/shopify/gql/graphql.js.map +7 -0
  925. package/dist/esm/lib/shopify/gql/index.d.ts +3 -0
  926. package/dist/esm/lib/shopify/gql/index.js +2 -0
  927. package/dist/esm/lib/shopify/gql/index.js.map +7 -0
  928. package/dist/esm/lib/shopify/hooks/index.d.ts +1 -0
  929. package/dist/esm/lib/shopify/hooks/index.js +2 -0
  930. package/dist/esm/lib/shopify/hooks/index.js.map +7 -0
  931. package/dist/esm/lib/shopify/hooks/useProductsByHandles.d.ts +4 -0
  932. package/dist/esm/lib/shopify/hooks/useProductsByHandles.js +2 -0
  933. package/dist/esm/lib/shopify/hooks/useProductsByHandles.js.map +7 -0
  934. package/dist/esm/lib/shopify/index.d.ts +5 -0
  935. package/dist/esm/lib/shopify/index.js +2 -0
  936. package/dist/esm/lib/shopify/index.js.map +7 -0
  937. package/dist/esm/lib/shopify/mutations/add-cart-lines.d.ts +1 -0
  938. package/dist/esm/lib/shopify/mutations/add-cart-lines.js +15 -0
  939. package/dist/esm/lib/shopify/mutations/add-cart-lines.js.map +7 -0
  940. package/dist/esm/lib/shopify/mutations/create-cart.d.ts +1 -0
  941. package/dist/esm/lib/shopify/mutations/create-cart.js +21 -0
  942. package/dist/esm/lib/shopify/mutations/create-cart.js.map +7 -0
  943. package/dist/esm/lib/shopify/mutations/remove-cart-items.d.ts +1 -0
  944. package/dist/esm/lib/shopify/mutations/remove-cart-items.js +15 -0
  945. package/dist/esm/lib/shopify/mutations/remove-cart-items.js.map +7 -0
  946. package/dist/esm/lib/shopify/mutations/update-cart-attributes.d.ts +1 -0
  947. package/dist/esm/lib/shopify/mutations/update-cart-attributes.js +15 -0
  948. package/dist/esm/lib/shopify/mutations/update-cart-attributes.js.map +7 -0
  949. package/dist/esm/lib/shopify/mutations/update-cart-buyer-identity.d.ts +1 -0
  950. package/dist/esm/lib/shopify/mutations/update-cart-buyer-identity.js +15 -0
  951. package/dist/esm/lib/shopify/mutations/update-cart-buyer-identity.js.map +7 -0
  952. package/dist/esm/lib/shopify/mutations/update-cart-discount-code.d.ts +1 -0
  953. package/dist/esm/lib/shopify/mutations/update-cart-discount-code.js +15 -0
  954. package/dist/esm/lib/shopify/mutations/update-cart-discount-code.js.map +7 -0
  955. package/dist/esm/lib/shopify/mutations/update-cart-items.d.ts +1 -0
  956. package/dist/esm/lib/shopify/mutations/update-cart-items.js +15 -0
  957. package/dist/esm/lib/shopify/mutations/update-cart-items.js.map +7 -0
  958. package/dist/esm/lib/shopify/queries/get-cart.d.ts +1 -0
  959. package/dist/esm/lib/shopify/queries/get-cart.js +13 -0
  960. package/dist/esm/lib/shopify/queries/get-cart.js.map +7 -0
  961. package/dist/esm/lib/shopify/queries/get-product-by-handles.d.ts +1 -0
  962. package/dist/esm/lib/shopify/queries/get-product-by-handles.js +29 -0
  963. package/dist/esm/lib/shopify/queries/get-product-by-handles.js.map +7 -0
  964. package/dist/esm/lib/shopify/queries/index.d.ts +1 -0
  965. package/dist/esm/lib/shopify/queries/index.js +2 -0
  966. package/dist/esm/lib/shopify/queries/index.js.map +7 -0
  967. package/dist/esm/lib/shopify/types/article.d.ts +48 -0
  968. package/dist/esm/lib/shopify/types/article.js +1 -0
  969. package/dist/esm/lib/shopify/types/article.js.map +7 -0
  970. package/dist/esm/lib/shopify/types/cart.d.ts +174 -0
  971. package/dist/esm/lib/shopify/types/cart.js +1 -0
  972. package/dist/esm/lib/shopify/types/cart.js.map +7 -0
  973. package/dist/esm/lib/shopify/types/checkout.d.ts +42 -0
  974. package/dist/esm/lib/shopify/types/checkout.js +1 -0
  975. package/dist/esm/lib/shopify/types/checkout.js.map +7 -0
  976. package/dist/esm/lib/shopify/types/collection.d.ts +122 -0
  977. package/dist/esm/lib/shopify/types/collection.js +1 -0
  978. package/dist/esm/lib/shopify/types/collection.js.map +7 -0
  979. package/dist/esm/lib/shopify/types/common.d.ts +42 -0
  980. package/dist/esm/lib/shopify/types/common.js +1 -0
  981. package/dist/esm/lib/shopify/types/common.js.map +7 -0
  982. package/dist/esm/lib/shopify/types/config.d.ts +12 -0
  983. package/dist/esm/lib/shopify/types/config.js +1 -0
  984. package/dist/esm/lib/shopify/types/config.js.map +7 -0
  985. package/dist/esm/lib/shopify/types/customer.d.ts +30 -0
  986. package/dist/esm/lib/shopify/types/customer.js +1 -0
  987. package/dist/esm/lib/shopify/types/customer.js.map +7 -0
  988. package/dist/esm/lib/shopify/types/fetcher.d.ts +43 -0
  989. package/dist/esm/lib/shopify/types/fetcher.js +2 -0
  990. package/dist/esm/lib/shopify/types/fetcher.js.map +7 -0
  991. package/dist/esm/lib/shopify/types/index.d.ts +11 -0
  992. package/dist/esm/lib/shopify/types/index.js +2 -0
  993. package/dist/esm/lib/shopify/types/index.js.map +7 -0
  994. package/dist/esm/lib/shopify/types/page.d.ts +33 -0
  995. package/dist/esm/lib/shopify/types/page.js +1 -0
  996. package/dist/esm/lib/shopify/types/page.js.map +7 -0
  997. package/dist/esm/lib/shopify/types/product.d.ts +174 -0
  998. package/dist/esm/lib/shopify/types/product.js +1 -0
  999. package/dist/esm/lib/shopify/types/product.js.map +7 -0
  1000. package/dist/esm/lib/shopify/types/search.d.ts +54 -0
  1001. package/dist/esm/lib/shopify/types/search.js +1 -0
  1002. package/dist/esm/lib/shopify/types/search.js.map +7 -0
  1003. package/dist/esm/lib/shopify/types/site.d.ts +33 -0
  1004. package/dist/esm/lib/shopify/types/site.js +1 -0
  1005. package/dist/esm/lib/shopify/types/site.js.map +7 -0
  1006. package/dist/esm/lib/shopify/types/type-helper.d.ts +5 -0
  1007. package/dist/esm/lib/shopify/types/type-helper.js +1 -0
  1008. package/dist/esm/lib/shopify/types/type-helper.js.map +7 -0
  1009. package/dist/esm/lib/shopify/utils/colors.d.ts +3 -0
  1010. package/dist/esm/lib/shopify/utils/colors.js +2 -0
  1011. package/dist/esm/lib/shopify/utils/colors.js.map +7 -0
  1012. package/dist/esm/lib/shopify/utils/const.d.ts +76 -0
  1013. package/dist/esm/lib/shopify/utils/const.js +2 -0
  1014. package/dist/esm/lib/shopify/utils/const.js.map +7 -0
  1015. package/dist/esm/lib/shopify/utils/cookie.d.ts +15 -0
  1016. package/dist/esm/lib/shopify/utils/cookie.js +2 -0
  1017. package/dist/esm/lib/shopify/utils/cookie.js.map +7 -0
  1018. package/dist/esm/lib/shopify/utils/errors.d.ts +38 -0
  1019. package/dist/esm/lib/shopify/utils/errors.js +3 -0
  1020. package/dist/esm/lib/shopify/utils/errors.js.map +7 -0
  1021. package/dist/esm/lib/shopify/utils/fetch-graphql-api.d.ts +19 -0
  1022. package/dist/esm/lib/shopify/utils/fetch-graphql-api.js +3 -0
  1023. package/dist/esm/lib/shopify/utils/fetch-graphql-api.js.map +7 -0
  1024. package/dist/esm/lib/shopify/utils/handle-fetch-response.d.ts +5 -0
  1025. package/dist/esm/lib/shopify/utils/handle-fetch-response.js +2 -0
  1026. package/dist/esm/lib/shopify/utils/handle-fetch-response.js.map +7 -0
  1027. package/dist/esm/lib/shopify/utils/helper.d.ts +28 -0
  1028. package/dist/esm/lib/shopify/utils/helper.js +2 -0
  1029. package/dist/esm/lib/shopify/utils/helper.js.map +7 -0
  1030. package/dist/esm/lib/shopify/utils/normalize/cart.d.ts +7 -0
  1031. package/dist/esm/lib/shopify/utils/normalize/cart.js +2 -0
  1032. package/dist/esm/lib/shopify/utils/normalize/cart.js.map +7 -0
  1033. package/dist/esm/lib/shopify/utils/normalize/customer.d.ts +3 -0
  1034. package/dist/esm/lib/shopify/utils/normalize/customer.js +2 -0
  1035. package/dist/esm/lib/shopify/utils/normalize/customer.js.map +7 -0
  1036. package/dist/esm/lib/shopify/utils/normalize/index.d.ts +2 -0
  1037. package/dist/esm/lib/shopify/utils/normalize/index.js +2 -0
  1038. package/dist/esm/lib/shopify/utils/normalize/index.js.map +7 -0
  1039. package/dist/esm/lib/shopify/utils/normalize/metafield.d.ts +5 -0
  1040. package/dist/esm/lib/shopify/utils/normalize/metafield.js +2 -0
  1041. package/dist/esm/lib/shopify/utils/normalize/metafield.js.map +7 -0
  1042. package/dist/esm/lib/shopify/utils/normalize/product.d.ts +16 -0
  1043. package/dist/esm/lib/shopify/utils/normalize/product.js +2 -0
  1044. package/dist/esm/lib/shopify/utils/normalize/product.js.map +7 -0
  1045. package/dist/esm/lib/shopify/utils/store.d.ts +2 -0
  1046. package/dist/esm/lib/shopify/utils/store.js +2 -0
  1047. package/dist/esm/lib/shopify/utils/store.js.map +7 -0
  1048. package/dist/esm/lib/shopify/utils/type-helper.d.ts +5 -0
  1049. package/dist/esm/lib/shopify/utils/type-helper.js +1 -0
  1050. package/dist/esm/lib/shopify/utils/type-helper.js.map +7 -0
  1051. package/dist/esm/lib/utils/classnames.d.ts +2 -0
  1052. package/dist/esm/lib/utils/classnames.js +2 -0
  1053. package/dist/esm/lib/utils/classnames.js.map +7 -0
  1054. package/dist/esm/lib/utils/fetcher/fetchResponse.d.ts +13 -0
  1055. package/dist/esm/lib/utils/fetcher/fetchResponse.js +2 -0
  1056. package/dist/esm/lib/utils/fetcher/fetchResponse.js.map +7 -0
  1057. package/dist/esm/lib/utils/fetcher/fetcher.d.ts +1 -0
  1058. package/dist/esm/lib/utils/fetcher/fetcher.js +2 -0
  1059. package/dist/esm/lib/utils/fetcher/fetcher.js.map +7 -0
  1060. package/dist/esm/lib/utils/fetcher/index.d.ts +2 -0
  1061. package/dist/esm/lib/utils/fetcher/index.js +2 -0
  1062. package/dist/esm/lib/utils/fetcher/index.js.map +7 -0
  1063. package/dist/esm/lib/utils/index.d.ts +4 -0
  1064. package/dist/esm/lib/utils/index.js +2 -0
  1065. package/dist/esm/lib/utils/index.js.map +7 -0
  1066. package/dist/esm/lib/utils/track.d.ts +15 -0
  1067. package/dist/esm/lib/utils/track.js +2 -0
  1068. package/dist/esm/lib/utils/track.js.map +7 -0
  1069. package/dist/esm/lib/utils/useCountDown.d.ts +5 -0
  1070. package/dist/esm/lib/utils/useCountDown.js +2 -0
  1071. package/dist/esm/lib/utils/useCountDown.js.map +7 -0
  1072. package/dist/esm/templates/Credits.d.ts +1 -1
  1073. package/dist/esm/templates/Credits.js +1 -1
  1074. package/dist/esm/templates/Credits.js.map +2 -2
  1075. package/dist/esm/templates/Credits.types.d.ts +1 -1
  1076. package/dist/esm/templates/Credits.types.js.map +1 -1
  1077. package/package.json +33 -4
  1078. package/src/components/chat/index.tsx +1 -1
  1079. package/src/components/credits/context/hooks/useActivities.ts +1 -1
  1080. package/src/components/credits/context/hooks/useAddressValidate.ts +1 -1
  1081. package/src/components/credits/context/hooks/useAlpcFetch.ts +1 -1
  1082. package/src/components/credits/context/hooks/useCountries.ts +1 -1
  1083. package/src/components/credits/context/hooks/useMyRewards.ts +1 -1
  1084. package/src/components/credits/context/hooks/useRedeemAndBuy.ts +2 -2
  1085. package/src/components/credits/context/hooks/useRedeemCoupon.ts +1 -1
  1086. package/src/components/credits/context/hooks/useRedeemGoGift.ts +1 -1
  1087. package/src/components/credits/context/hooks/useRedeemProduct.ts +1 -1
  1088. package/src/components/credits/context/hooks/useRedeemableList.ts +1 -1
  1089. package/src/components/credits/context/hooks/useShippingCountries.ts +1 -1
  1090. package/src/components/credits/context/hooks/useSubscribed.ts +1 -1
  1091. package/src/components/credits/context/hooks/useUploadReceipt.tsx +16 -8
  1092. package/src/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.tsx +1 -1
  1093. package/src/components/credits/creditsBenefits/BenefitItem.tsx +1 -1
  1094. package/src/components/credits/creditsBenefits/index.tsx +1 -1
  1095. package/src/components/credits/creditsCash/CreditsCash.tsx +2 -2
  1096. package/src/components/credits/creditsCash/RedeemableItem.tsx +1 -1
  1097. package/src/components/credits/creditsCash/type.ts +1 -1
  1098. package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +1 -1
  1099. package/src/components/credits/creditsFaq/index.tsx +1 -1
  1100. package/src/components/credits/creditsGoGift/CreditsGoGift.tsx +2 -2
  1101. package/src/components/credits/creditsInfoCard/index.tsx +1 -1
  1102. package/src/components/credits/creditsMemberPrice/CreditsMemberPrice.tsx +2 -2
  1103. package/src/components/credits/creditsMemberPrice/MemberPriceItem.tsx +1 -1
  1104. package/src/components/credits/creditsMemberPrice/Pagination.tsx +1 -1
  1105. package/src/components/credits/creditsMemberPrice/type.ts +1 -1
  1106. package/src/components/credits/creditsNavigation/CreditsNavigation.tsx +1 -1
  1107. package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +1 -1
  1108. package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +1 -1
  1109. package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +1 -1
  1110. package/src/components/credits/creditsRedeemList/CreditsRedeemList.tsx +1 -1
  1111. package/src/components/credits/creditsRedeemList/RedeemCouponModal/CouponInit.tsx +1 -1
  1112. package/src/components/credits/creditsRedeemList/RedeemCouponModal/CouponSuccess.tsx +1 -1
  1113. package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +1 -1
  1114. package/src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx +1 -1
  1115. package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +1 -1
  1116. package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +1 -1
  1117. package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +1 -1
  1118. package/src/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductInit.tsx +1 -1
  1119. package/src/components/credits/creditsRedeemList/RedeemVirtualProductModal/VirtualProductSuccess.tsx +1 -1
  1120. package/src/components/credits/creditsRedeemList/RedeemVirtualProductModal.tsx +1 -1
  1121. package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +1 -1
  1122. package/src/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.tsx +1 -1
  1123. package/src/components/credits/creditsWaysToGetCredits/useActions.ts +1 -1
  1124. package/src/components/credits/modal/ActivitiesModal.tsx +2 -2
  1125. package/src/components/credits/modal/CreditsUploadReceiptModal.tsx +1 -1
  1126. package/src/components/credits/modal/ModalContainer.tsx +1 -1
  1127. package/src/components/credits/modal/RewardsModal.tsx +8 -6
  1128. package/src/components/credits/modal/RulesModal.tsx +1 -1
  1129. package/src/components/credits/modal/SubscribeModal.tsx +1 -1
  1130. package/src/components/credits/modal/Tip.tsx +1 -1
  1131. package/src/components/credits/type.ts +1 -1
  1132. package/src/components/memberPopup/MemberPopup.tsx +1 -1
  1133. package/src/components/memberPopup/context/provider.tsx +1 -1
  1134. package/src/components/memberPopup/panels/ActivitiesSubscribePanel.tsx +1 -1
  1135. package/src/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.tsx +1 -1
  1136. package/src/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.ts +2 -2
  1137. package/src/components/memberPopup/panels/ConsumeCredits/index.tsx +1 -1
  1138. package/src/components/memberPopup/panels/EarnCredits/ActivatePanel.tsx +1 -1
  1139. package/src/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.tsx +1 -1
  1140. package/src/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.tsx +1 -1
  1141. package/src/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.ts +1 -1
  1142. package/src/components/memberPopup/panels/EarnCredits/index.tsx +1 -1
  1143. package/src/components/memberPopup/panels/Referral/index.tsx +1 -1
  1144. package/src/components/registration/authCodeActivate/index.tsx +1 -1
  1145. package/src/components/registration/modalContainer.tsx +1 -1
  1146. package/src/lib/cart/const.ts +23 -0
  1147. package/src/lib/cart/context/index.tsx +310 -0
  1148. package/src/lib/cart/hooks/basic/useAddToCart.ts +161 -0
  1149. package/src/lib/cart/hooks/basic/useApplyCartCodes.ts +72 -0
  1150. package/src/lib/cart/hooks/basic/useBuyNow.ts +108 -0
  1151. package/src/lib/cart/hooks/basic/useCreateCart.ts +32 -0
  1152. package/src/lib/cart/hooks/basic/useRemoveCartCodes.ts +55 -0
  1153. package/src/lib/cart/hooks/basic/useRemoveCartLines.ts +51 -0
  1154. package/src/lib/cart/hooks/basic/useUpdateCartAttributes.ts +42 -0
  1155. package/src/lib/cart/hooks/basic/useUpdateCartBuyerIdentity.ts +34 -0
  1156. package/src/lib/cart/hooks/basic/useUpdateCartLines.ts +34 -0
  1157. package/src/lib/cart/hooks/feature/useCalcAutoFreeGift.tsx +178 -0
  1158. package/src/lib/cart/hooks/feature/useCalcOrderDiscount.tsx +127 -0
  1159. package/src/lib/cart/hooks/feature/useCartAttributes.tsx +133 -0
  1160. package/src/lib/cart/hooks/feature/useCartItemQuantityLimit.tsx +59 -0
  1161. package/src/lib/cart/hooks/feature/useScriptAutoFreeGift.tsx +256 -0
  1162. package/src/lib/cart/hooks/feature/useUpdateLineCodeAmountAttributes.tsx +184 -0
  1163. package/src/lib/cart/index.ts +19 -0
  1164. package/src/lib/cart/track/fbq.ts +38 -0
  1165. package/src/lib/cart/track/gtm.ts +159 -0
  1166. package/src/lib/cart/types/autoFreeGift.ts +169 -0
  1167. package/src/lib/cart/types/index.ts +26 -0
  1168. package/src/lib/cart/types/orderDiscount.ts +38 -0
  1169. package/src/lib/cart/types/priceDiscount.ts +21 -0
  1170. package/src/lib/cart/utils/autoFreeGift.ts +297 -0
  1171. package/src/lib/cart/utils/index.ts +35 -0
  1172. package/src/lib/constants.ts +1 -0
  1173. package/src/lib/context/HeadlessProvider.tsx +30 -0
  1174. package/src/lib/context/config.ts +12 -0
  1175. package/src/lib/context/index.ts +2 -0
  1176. package/src/lib/index.ts +11 -0
  1177. package/src/lib/registration/hooks/index.ts +3 -0
  1178. package/src/lib/registration/hooks/useEmailValidation.ts +28 -0
  1179. package/src/lib/registration/hooks/useSendEmailValidation.ts +21 -0
  1180. package/src/lib/registration/hooks/useSubscriptions.ts +22 -0
  1181. package/src/lib/registration/index.ts +2 -0
  1182. package/src/lib/shopify/fetchers/add-cart-lines.ts +53 -0
  1183. package/src/lib/shopify/fetchers/create-cart.ts +43 -0
  1184. package/src/lib/shopify/fetchers/get-cart.ts +48 -0
  1185. package/src/lib/shopify/fetchers/get-products-by-handles.ts +52 -0
  1186. package/src/lib/shopify/fetchers/index.ts +12 -0
  1187. package/src/lib/shopify/fetchers/remove-cart-lines.ts +31 -0
  1188. package/src/lib/shopify/fetchers/update-cart-attributes.ts +29 -0
  1189. package/src/lib/shopify/fetchers/update-cart-buyer-identity.ts +32 -0
  1190. package/src/lib/shopify/fetchers/update-cart-codes.ts +32 -0
  1191. package/src/lib/shopify/fetchers/update-cart-lines.ts +42 -0
  1192. package/src/lib/shopify/fragments/article.ts +51 -0
  1193. package/src/lib/shopify/fragments/blog.ts +10 -0
  1194. package/src/lib/shopify/fragments/cart.ts +193 -0
  1195. package/src/lib/shopify/fragments/collection.ts +15 -0
  1196. package/src/lib/shopify/fragments/image.ts +8 -0
  1197. package/src/lib/shopify/fragments/index.ts +11 -0
  1198. package/src/lib/shopify/fragments/metafields.ts +17 -0
  1199. package/src/lib/shopify/fragments/page-info.ts +8 -0
  1200. package/src/lib/shopify/fragments/page.ts +12 -0
  1201. package/src/lib/shopify/fragments/product.ts +71 -0
  1202. package/src/lib/shopify/fragments/seo.ts +6 -0
  1203. package/src/lib/shopify/fragments/variant.ts +29 -0
  1204. package/src/lib/shopify/gql/fragment-masking.ts +85 -0
  1205. package/src/lib/shopify/gql/gql.ts +110 -0
  1206. package/src/lib/shopify/gql/graphql.ts +11780 -0
  1207. package/src/lib/shopify/gql/index.ts +4 -0
  1208. package/src/lib/shopify/hooks/index.ts +1 -0
  1209. package/src/lib/shopify/hooks/useProductsByHandles.ts +24 -0
  1210. package/src/lib/shopify/index.ts +5 -0
  1211. package/src/lib/shopify/mutations/add-cart-lines.ts +16 -0
  1212. package/src/lib/shopify/mutations/create-cart.ts +22 -0
  1213. package/src/lib/shopify/mutations/remove-cart-items.ts +16 -0
  1214. package/src/lib/shopify/mutations/update-cart-attributes.ts +16 -0
  1215. package/src/lib/shopify/mutations/update-cart-buyer-identity.ts +16 -0
  1216. package/src/lib/shopify/mutations/update-cart-discount-code.ts +16 -0
  1217. package/src/lib/shopify/mutations/update-cart-items.ts +16 -0
  1218. package/src/lib/shopify/queries/get-cart.ts +14 -0
  1219. package/src/lib/shopify/queries/get-product-by-handles.ts +32 -0
  1220. package/src/lib/shopify/queries/index.ts +2 -0
  1221. package/src/lib/shopify/types/article.ts +46 -0
  1222. package/src/lib/shopify/types/cart.ts +204 -0
  1223. package/src/lib/shopify/types/checkout.ts +44 -0
  1224. package/src/lib/shopify/types/collection.ts +104 -0
  1225. package/src/lib/shopify/types/common.ts +53 -0
  1226. package/src/lib/shopify/types/config.ts +14 -0
  1227. package/src/lib/shopify/types/customer.ts +31 -0
  1228. package/src/lib/shopify/types/fetcher.ts +67 -0
  1229. package/src/lib/shopify/types/index.ts +11 -0
  1230. package/src/lib/shopify/types/page.ts +45 -0
  1231. package/src/lib/shopify/types/product.ts +176 -0
  1232. package/src/lib/shopify/types/search.ts +62 -0
  1233. package/src/lib/shopify/types/site.ts +38 -0
  1234. package/src/lib/shopify/types/type-helper.ts +5 -0
  1235. package/src/lib/shopify/utils/colors.ts +206 -0
  1236. package/src/lib/shopify/utils/const.ts +115 -0
  1237. package/src/lib/shopify/utils/cookie.ts +28 -0
  1238. package/src/lib/shopify/utils/errors.ts +65 -0
  1239. package/src/lib/shopify/utils/fetch-graphql-api.ts +67 -0
  1240. package/src/lib/shopify/utils/handle-fetch-response.ts +60 -0
  1241. package/src/lib/shopify/utils/helper.ts +89 -0
  1242. package/src/lib/shopify/utils/normalize/cart.ts +106 -0
  1243. package/src/lib/shopify/utils/normalize/customer.ts +18 -0
  1244. package/src/lib/shopify/utils/normalize/index.ts +2 -0
  1245. package/src/lib/shopify/utils/normalize/metafield.ts +69 -0
  1246. package/src/lib/shopify/utils/normalize/product.ts +193 -0
  1247. package/src/lib/shopify/utils/store.ts +5 -0
  1248. package/src/lib/shopify/utils/type-helper.ts +7 -0
  1249. package/src/lib/utils/classnames.ts +6 -0
  1250. package/src/lib/utils/fetcher/fetchResponse.ts +34 -0
  1251. package/src/lib/utils/fetcher/fetcher.ts +39 -0
  1252. package/src/lib/utils/fetcher/index.ts +2 -0
  1253. package/src/lib/utils/index.ts +4 -0
  1254. package/src/lib/utils/track.ts +57 -0
  1255. package/src/lib/utils/useCountDown.tsx +41 -0
  1256. package/src/templates/Credits.tsx +1 -1
  1257. package/src/templates/Credits.types.ts +1 -1
  1258. package/tailwind.config.ts +1 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/memberPopup/panels/ConsumeCredits/index.tsx"],
4
- "sourcesContent": ["import { useEffect, useMemo, useState } from 'react'\nimport { Picture, Button } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useProductsByHandles, useHeadlessContext } from '@anker-in/lib'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { useViewStack } from '../../context/viewStack'\nimport { useRedeemableList } from './hooks/useRedeemableList'\nimport { useRedeemAndBuy } from './hooks/useRedeemAndBuy'\nimport {\n ConsumeCreditsItemType,\n MemberPopupPanelType,\n type ConsumeCreditsopy,\n type ConsumeCreditsItem,\n} from '../../type'\nimport { numberFormat } from '../../../credits/context/utils'\nimport type { ConsumeCreditRuleResponse } from '../../../credits/context/response'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype EnrichedItem = ConsumeCreditsItem & {\n alpcData: ConsumeCreditRuleResponse\n insufficient: boolean\n soldOut: boolean\n disabled: boolean\n product?: any\n variant?: any\n}\n\ntype Props = {\n copy: ConsumeCreditsopy\n}\n\nfunction ConsumeCredits({ copy }: Props) {\n const { profile, creditInfo, openSignUpPopup, alpcConfig, isActivateSuccess, fetchCreditInfo, pageHandle } =\n useMemberPopupContext()\n const { pushView } = useViewStack()\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const [redeemAndBuyError, setRedeemAndBuyError] = useState('')\n const [loadingId, setLoadingId] = useState<string | number | null>(null)\n\n useEffect(() => {\n if (profile?.user_id) fetchCreditInfo(profile.user_id)\n }, [])\n\n const isLogin = !!profile\n const { redeemableList, listLoading } = useRedeemableList(alpcConfig)\n const { trigger: redeemAndBuy } = useRedeemAndBuy(alpcConfig)\n\n const handles = copy.list.map(item => item.product?.handle).filter(Boolean) as string[]\n const { data: products } = useProductsByHandles({ handles })\n\n const list = useMemo(() => {\n return copy.list\n .map(item => {\n const alpcData = redeemableList.find(r => String(r.id) === String(item.redeemId))\n if (!alpcData) return null\n\n const availableCredit = Number(creditInfo?.available_credit ?? 0)\n const insufficient = alpcData.consume_credits > availableCredit\n const alpcSoldOut = alpcData.is_limited && (!alpcData.remaining_inventory || alpcData.remaining_inventory <= 0)\n\n const isPhysicalProduct =\n item.type === ConsumeCreditsItemType.RedeemAndBuy || item.type === ConsumeCreditsItemType.Product\n const product = products?.find((p: any) => p.handle === item.product?.handle)\n const variant = product?.variants?.find((v: any) => v.sku === item.product?.sku) ?? product?.variants?.[0]\n if (isPhysicalProduct && (!product || !variant || !variant?.availableForSale || alpcSoldOut)) {\n return null\n }\n if (item.type === ConsumeCreditsItemType.RedeemAndBuy && item.price == null) {\n return null\n }\n return { ...item, alpcData, insufficient, product, variant }\n })\n .filter(Boolean) as EnrichedItem[]\n }, [copy.list, redeemableList, creditInfo, profile, isLogin, products])\n\n const isActivate = profile?.activated || isActivateSuccess\n\n function getButtonLabel(item: (typeof list)[number]) {\n if (!isLogin || !isActivate) {\n return copy.unlockRewards\n }\n if (item.soldOut) {\n return copy.soldOut\n }\n return copy.btnRedeem\n }\n\n function isDisabled(item: (typeof list)[number]) {\n if (!isLogin || !isActivate) {\n return false\n }\n return item.insufficient\n }\n\n function trackRedeemButton(itemTitle: string) {\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'consume_credits',\n button_name: 'redeem',\n info: 'Member Floating Window',\n },\n })\n }\n\n async function handleRedeem(item: (typeof list)[number]) {\n if (!isLogin) {\n openSignUpPopup()\n return\n }\n if (!isActivate) {\n pushView({\n type: MemberPopupPanelType.Activate,\n })\n return\n }\n if (item.type === ConsumeCreditsItemType.GiftCard || item.type === ConsumeCreditsItemType.Product) {\n if (copy.creditsPage?.url) {\n const sectionId = copy.creditsPage.redeemListSectionId ?? 'creditsRedeemList'\n const targetUrl = new URL(copy.creditsPage.url, window.location.href)\n targetUrl.searchParams.set('section', sectionId)\n targetUrl.hash = sectionId\n if (pageHandle) {\n targetUrl.searchParams.set('ref', `${pageHandle}_consume_credits`)\n }\n trackRedeemButton(item.title)\n window.open(targetUrl.toString(), '_blank', 'noopener,noreferrer')\n }\n return\n }\n if (item.type === ConsumeCreditsItemType.Coupon) {\n trackRedeemButton(item.title)\n pushView({\n type: MemberPopupPanelType.RedeemCoupon,\n props: {\n itemTitle: item.title,\n itemCredits: item.alpcData.consume_credits,\n itemImage: copy.imageMapping?.[item.type]\n ? { url: copy.imageMapping[item.type]!.url, alt: item.image?.alt }\n : item.image,\n itemValue: item.value,\n itemRules: item.rules,\n redeemId: Number(item.redeemId),\n userId: profile?.user_id,\n alpcConfig,\n },\n })\n } else {\n setRedeemAndBuyError('')\n setLoadingId(item.redeemId)\n trackRedeemButton(item.title)\n try {\n await redeemAndBuy({\n productVariant: item.variant,\n redeemId: Number(item.redeemId),\n userId: profile?.user_id,\n })\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'consume_credits',\n button_name: 'redeem_success',\n info: 'Member Floating Window',\n },\n })\n } catch (e: any) {\n setRedeemAndBuyError(e?.message ?? copy.redeemModal.commonError)\n } finally {\n setLoadingId(null)\n }\n }\n }\n\n return (\n <>\n <div className=\"flex flex-1 flex-col\">\n <div className=\"flex flex-col gap-[8px]\">\n {copy.title && <h2 className=\"text-[24px] font-[700] leading-[1.2] text-[#080a0f]\">{copy.title}</h2>}\n {copy.subtitle && (\n <p className=\"text-[16px] mt-[8px] font-[700] leading-snug text-[#4a4c56]\">{copy.subtitle}</p>\n )}\n </div>\n\n {isLogin && (\n <div\n className={cn(\n 'flex items-center mt-[16px] gap-[12px] bg-[#f5f6f7] p-[16px]',\n rounded ? 'rounded-[8px]' : 'rounded-none'\n )}\n >\n <div className=\"flex flex-1 flex-col gap-[4px]\">\n <div className=\"text-[14px] font-[700] text-[#1e2024]\">{copy.balanceLabel ?? 'AnkerCredits Balance'}</div>\n <div className=\"flex items-end gap-[4px]\">\n <span className=\"text-[24px] font-[700] leading-[1.2] text-[#1e2024]\">\n {numberFormat(creditInfo?.available_credit || 0)}\n </span>\n <span className=\"text-[14px] font-[700] leading-[1.4] text-[#1e2024]\">\n {copy.creditUnit ?? 'ankercredits'}\n </span>\n </div>\n </div>\n <div className=\"h-full w-px bg-[#dadce0]\" />\n <div className=\"flex flex-1 flex-col gap-[4px]\">\n <div className=\"text-[14px] font-[700] text-[#1e2024]\">{copy.comingSoonLabel ?? 'Coming Soon'}</div>\n <div className=\"flex items-end gap-[4px]\">\n <span className=\"text-[24px] font-[700] leading-[1.2] text-[#1e2024]\">\n {numberFormat(creditInfo?.pending_credit || 0)}\n </span>\n <span className=\"text-[14px] font-[700] leading-[1.4] text-[#1e2024]\">\n {copy.creditUnit ?? 'ankercredits'}\n </span>\n </div>\n </div>\n </div>\n )}\n {redeemAndBuyError && <div className=\"text-[14px] mt-[8px] font-[700] text-[#f84d4f]\">{redeemAndBuyError}</div>}\n\n {listLoading ? (\n <div className=\"flex flex-1 items-center justify-center py-[32px]\">\n <div className=\"size-[32px] animate-spin rounded-full border-[3px] border-[#080a0f] border-t-transparent\" />\n </div>\n ) : (\n <div className=\"flex mt-[16px] flex-col\">\n {list.map((item, idx) => {\n return (\n <div key={idx} className=\"relative py-[16px]\">\n {idx > 0 && <div className=\"absolute inset-x-0 top-0 h-px bg-[#dadce0]\" />}\n <div className=\"flex items-center gap-[12px]\">\n {(() => {\n const phsicalProduct =\n item.type === ConsumeCreditsItemType.Product ||\n item.type === ConsumeCreditsItemType.RedeemAndBuy\n const imgUrl = phsicalProduct\n ? (item.variant?.image?.url ?? item.product?.images?.[0]?.url ?? item.image?.url)\n : item.image?.url || copy.imageMapping?.[item.type]?.url\n const imgAlt = phsicalProduct\n ? (item.variant?.image?.altText ?? item.product?.images?.[0]?.alt ?? item.image?.alt ?? '')\n : (item.image?.alt ?? '')\n if (!imgUrl) return null\n return (\n <div\n className={cn(\n 'relative size-[64px] shrink-0 overflow-hidden',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n >\n <Picture\n source={imgUrl}\n alt={imgAlt}\n className=\"flex size-full items-center justify-center\"\n imgClassName={phsicalProduct ? 'object-cover' : 'h-full w-auto object-contain'}\n />\n {item.type === ConsumeCreditsItemType.Coupon && item.value && (\n <div className=\"absolute bottom-[16px] left-[4px] text-[12px] font-[800] leading-none text-white\">\n {item.value && `${item.value} ${copy.off}`}\n </div>\n )}\n {item.type === ConsumeCreditsItemType.GiftCard && item.value && (\n <div className=\"absolute bottom-[16px] left-[4px] text-[12px] font-[800] leading-none text-white\">\n {item.value && `${item.value} ${copy.giftCard || 'Gift Card'}`}\n </div>\n )}\n </div>\n )\n })()}\n <div className=\"min-w-0 flex-1\">\n <div className=\"text-[16px] font-[700] text-[#1e2024] line-clamp-2\">\n {item.product?.title ?? item.title ?? item.alpcData?.name}\n </div>\n <div className=\"mt-[4px] text-[14px] text-[#666]\">\n {item.type === ConsumeCreditsItemType.RedeemAndBuy ? (\n <div>\n <span>\n {numberFormat(item.alpcData.consume_credits)} {copy.creditUnit ?? ''} + $\n {Number(item.price).toFixed(2)}\n </span>\n {item.variant?.price?.amount && (\n <span className=\"text-[12px] ml-1 text-[#999] line-through\">\n ${Number(item.variant.price.amount).toFixed(2)}\n </span>\n )}\n </div>\n ) : (\n `${numberFormat(item.alpcData.consume_credits)} ${copy.creditUnit ?? ''}`\n )}\n </div>\n </div>\n <div className=\"relative group\">\n <Button\n size=\"base\"\n disabled={isDisabled(item)}\n loading={loadingId === item.redeemId}\n onClick={() => handleRedeem(item)}\n >\n {getButtonLabel(item)}\n </Button>\n {item.insufficient && isLogin && isActivate && (\n <div className=\"pointer-events-none absolute right-0 top-full z-[100] mt-[10px] hidden w-[200px] group-hover:block\">\n <div className=\"relative bg-[#6D6D6F] p-[16px] text-[14px] font-[700] text-white shadow\">\n <p className=\"text-pretty tracking-[-0.02em] text-[14px]\">{copy.insufficientCredits}</p>\n <div className=\"absolute -top-[8px] right-[20px] size-[16px] origin-top-left rotate-45 rounded-[2px] bg-[#6D6D6F]\" />\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )}\n\n {copy.creditsPage?.url && (\n <a\n href={(() => {\n if (!pageHandle) return copy.creditsPage!.url\n try {\n const url = new URL(copy.creditsPage!.url, window.location.href)\n url.searchParams.set('ref', `${pageHandle}_consume_credits`)\n return url.toString()\n } catch {\n return copy.creditsPage!.url\n }\n })()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mt-auto self-start text-[14px] font-[700] text-[#080a0f] underline\"\n onClick={() =>\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'consume_credits',\n button_name: 'credits_page_link',\n info: 'Member Floating Window',\n },\n })\n }\n >\n {copy.creditsPage.label ?? 'Go to Credits Page'}\n </a>\n )}\n </div>\n </>\n )\n}\n\nexport default ConsumeCredits\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useEffect, useMemo, useState } from 'react'\nimport { Picture, Button } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useProductsByHandles, useHeadlessContext } from '../../../../lib'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { useViewStack } from '../../context/viewStack'\nimport { useRedeemableList } from './hooks/useRedeemableList'\nimport { useRedeemAndBuy } from './hooks/useRedeemAndBuy'\nimport {\n ConsumeCreditsItemType,\n MemberPopupPanelType,\n type ConsumeCreditsopy,\n type ConsumeCreditsItem,\n} from '../../type'\nimport { numberFormat } from '../../../credits/context/utils'\nimport type { ConsumeCreditRuleResponse } from '../../../credits/context/response'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype EnrichedItem = ConsumeCreditsItem & {\n alpcData: ConsumeCreditRuleResponse\n insufficient: boolean\n soldOut: boolean\n disabled: boolean\n product?: any\n variant?: any\n}\n\ntype Props = {\n copy: ConsumeCreditsopy\n}\n\nfunction ConsumeCredits({ copy }: Props) {\n const { profile, creditInfo, openSignUpPopup, alpcConfig, isActivateSuccess, fetchCreditInfo, pageHandle } =\n useMemberPopupContext()\n const { pushView } = useViewStack()\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const [redeemAndBuyError, setRedeemAndBuyError] = useState('')\n const [loadingId, setLoadingId] = useState<string | number | null>(null)\n\n useEffect(() => {\n if (profile?.user_id) fetchCreditInfo(profile.user_id)\n }, [])\n\n const isLogin = !!profile\n const { redeemableList, listLoading } = useRedeemableList(alpcConfig)\n const { trigger: redeemAndBuy } = useRedeemAndBuy(alpcConfig)\n\n const handles = copy.list.map(item => item.product?.handle).filter(Boolean) as string[]\n const { data: products } = useProductsByHandles({ handles })\n\n const list = useMemo(() => {\n return copy.list\n .map(item => {\n const alpcData = redeemableList.find(r => String(r.id) === String(item.redeemId))\n if (!alpcData) return null\n\n const availableCredit = Number(creditInfo?.available_credit ?? 0)\n const insufficient = alpcData.consume_credits > availableCredit\n const alpcSoldOut = alpcData.is_limited && (!alpcData.remaining_inventory || alpcData.remaining_inventory <= 0)\n\n const isPhysicalProduct =\n item.type === ConsumeCreditsItemType.RedeemAndBuy || item.type === ConsumeCreditsItemType.Product\n const product = products?.find((p: any) => p.handle === item.product?.handle)\n const variant = product?.variants?.find((v: any) => v.sku === item.product?.sku) ?? product?.variants?.[0]\n if (isPhysicalProduct && (!product || !variant || !variant?.availableForSale || alpcSoldOut)) {\n return null\n }\n if (item.type === ConsumeCreditsItemType.RedeemAndBuy && item.price == null) {\n return null\n }\n return { ...item, alpcData, insufficient, product, variant }\n })\n .filter(Boolean) as EnrichedItem[]\n }, [copy.list, redeemableList, creditInfo, profile, isLogin, products])\n\n const isActivate = profile?.activated || isActivateSuccess\n\n function getButtonLabel(item: (typeof list)[number]) {\n if (!isLogin || !isActivate) {\n return copy.unlockRewards\n }\n if (item.soldOut) {\n return copy.soldOut\n }\n return copy.btnRedeem\n }\n\n function isDisabled(item: (typeof list)[number]) {\n if (!isLogin || !isActivate) {\n return false\n }\n return item.insufficient\n }\n\n function trackRedeemButton(itemTitle: string) {\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'consume_credits',\n button_name: 'redeem',\n info: 'Member Floating Window',\n },\n })\n }\n\n async function handleRedeem(item: (typeof list)[number]) {\n if (!isLogin) {\n openSignUpPopup()\n return\n }\n if (!isActivate) {\n pushView({\n type: MemberPopupPanelType.Activate,\n })\n return\n }\n if (item.type === ConsumeCreditsItemType.GiftCard || item.type === ConsumeCreditsItemType.Product) {\n if (copy.creditsPage?.url) {\n const sectionId = copy.creditsPage.redeemListSectionId ?? 'creditsRedeemList'\n const targetUrl = new URL(copy.creditsPage.url, window.location.href)\n targetUrl.searchParams.set('section', sectionId)\n targetUrl.hash = sectionId\n if (pageHandle) {\n targetUrl.searchParams.set('ref', `${pageHandle}_consume_credits`)\n }\n trackRedeemButton(item.title)\n window.open(targetUrl.toString(), '_blank', 'noopener,noreferrer')\n }\n return\n }\n if (item.type === ConsumeCreditsItemType.Coupon) {\n trackRedeemButton(item.title)\n pushView({\n type: MemberPopupPanelType.RedeemCoupon,\n props: {\n itemTitle: item.title,\n itemCredits: item.alpcData.consume_credits,\n itemImage: copy.imageMapping?.[item.type]\n ? { url: copy.imageMapping[item.type]!.url, alt: item.image?.alt }\n : item.image,\n itemValue: item.value,\n itemRules: item.rules,\n redeemId: Number(item.redeemId),\n userId: profile?.user_id,\n alpcConfig,\n },\n })\n } else {\n setRedeemAndBuyError('')\n setLoadingId(item.redeemId)\n trackRedeemButton(item.title)\n try {\n await redeemAndBuy({\n productVariant: item.variant,\n redeemId: Number(item.redeemId),\n userId: profile?.user_id,\n })\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'consume_credits',\n button_name: 'redeem_success',\n info: 'Member Floating Window',\n },\n })\n } catch (e: any) {\n setRedeemAndBuyError(e?.message ?? copy.redeemModal.commonError)\n } finally {\n setLoadingId(null)\n }\n }\n }\n\n return (\n <>\n <div className=\"flex flex-1 flex-col\">\n <div className=\"flex flex-col gap-[8px]\">\n {copy.title && <h2 className=\"text-[24px] font-[700] leading-[1.2] text-[#080a0f]\">{copy.title}</h2>}\n {copy.subtitle && (\n <p className=\"text-[16px] mt-[8px] font-[700] leading-snug text-[#4a4c56]\">{copy.subtitle}</p>\n )}\n </div>\n\n {isLogin && (\n <div\n className={cn(\n 'flex items-center mt-[16px] gap-[12px] bg-[#f5f6f7] p-[16px]',\n rounded ? 'rounded-[8px]' : 'rounded-none'\n )}\n >\n <div className=\"flex flex-1 flex-col gap-[4px]\">\n <div className=\"text-[14px] font-[700] text-[#1e2024]\">{copy.balanceLabel ?? 'AnkerCredits Balance'}</div>\n <div className=\"flex items-end gap-[4px]\">\n <span className=\"text-[24px] font-[700] leading-[1.2] text-[#1e2024]\">\n {numberFormat(creditInfo?.available_credit || 0)}\n </span>\n <span className=\"text-[14px] font-[700] leading-[1.4] text-[#1e2024]\">\n {copy.creditUnit ?? 'ankercredits'}\n </span>\n </div>\n </div>\n <div className=\"h-full w-px bg-[#dadce0]\" />\n <div className=\"flex flex-1 flex-col gap-[4px]\">\n <div className=\"text-[14px] font-[700] text-[#1e2024]\">{copy.comingSoonLabel ?? 'Coming Soon'}</div>\n <div className=\"flex items-end gap-[4px]\">\n <span className=\"text-[24px] font-[700] leading-[1.2] text-[#1e2024]\">\n {numberFormat(creditInfo?.pending_credit || 0)}\n </span>\n <span className=\"text-[14px] font-[700] leading-[1.4] text-[#1e2024]\">\n {copy.creditUnit ?? 'ankercredits'}\n </span>\n </div>\n </div>\n </div>\n )}\n {redeemAndBuyError && <div className=\"text-[14px] mt-[8px] font-[700] text-[#f84d4f]\">{redeemAndBuyError}</div>}\n\n {listLoading ? (\n <div className=\"flex flex-1 items-center justify-center py-[32px]\">\n <div className=\"size-[32px] animate-spin rounded-full border-[3px] border-[#080a0f] border-t-transparent\" />\n </div>\n ) : (\n <div className=\"flex mt-[16px] flex-col\">\n {list.map((item, idx) => {\n return (\n <div key={idx} className=\"relative py-[16px]\">\n {idx > 0 && <div className=\"absolute inset-x-0 top-0 h-px bg-[#dadce0]\" />}\n <div className=\"flex items-center gap-[12px]\">\n {(() => {\n const phsicalProduct =\n item.type === ConsumeCreditsItemType.Product ||\n item.type === ConsumeCreditsItemType.RedeemAndBuy\n const imgUrl = phsicalProduct\n ? (item.variant?.image?.url ?? item.product?.images?.[0]?.url ?? item.image?.url)\n : item.image?.url || copy.imageMapping?.[item.type]?.url\n const imgAlt = phsicalProduct\n ? (item.variant?.image?.altText ?? item.product?.images?.[0]?.alt ?? item.image?.alt ?? '')\n : (item.image?.alt ?? '')\n if (!imgUrl) return null\n return (\n <div\n className={cn(\n 'relative size-[64px] shrink-0 overflow-hidden',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n >\n <Picture\n source={imgUrl}\n alt={imgAlt}\n className=\"flex size-full items-center justify-center\"\n imgClassName={phsicalProduct ? 'object-cover' : 'h-full w-auto object-contain'}\n />\n {item.type === ConsumeCreditsItemType.Coupon && item.value && (\n <div className=\"absolute bottom-[16px] left-[4px] text-[12px] font-[800] leading-none text-white\">\n {item.value && `${item.value} ${copy.off}`}\n </div>\n )}\n {item.type === ConsumeCreditsItemType.GiftCard && item.value && (\n <div className=\"absolute bottom-[16px] left-[4px] text-[12px] font-[800] leading-none text-white\">\n {item.value && `${item.value} ${copy.giftCard || 'Gift Card'}`}\n </div>\n )}\n </div>\n )\n })()}\n <div className=\"min-w-0 flex-1\">\n <div className=\"text-[16px] font-[700] text-[#1e2024] line-clamp-2\">\n {item.product?.title ?? item.title ?? item.alpcData?.name}\n </div>\n <div className=\"mt-[4px] text-[14px] text-[#666]\">\n {item.type === ConsumeCreditsItemType.RedeemAndBuy ? (\n <div>\n <span>\n {numberFormat(item.alpcData.consume_credits)} {copy.creditUnit ?? ''} + $\n {Number(item.price).toFixed(2)}\n </span>\n {item.variant?.price?.amount && (\n <span className=\"text-[12px] ml-1 text-[#999] line-through\">\n ${Number(item.variant.price.amount).toFixed(2)}\n </span>\n )}\n </div>\n ) : (\n `${numberFormat(item.alpcData.consume_credits)} ${copy.creditUnit ?? ''}`\n )}\n </div>\n </div>\n <div className=\"relative group\">\n <Button\n size=\"base\"\n disabled={isDisabled(item)}\n loading={loadingId === item.redeemId}\n onClick={() => handleRedeem(item)}\n >\n {getButtonLabel(item)}\n </Button>\n {item.insufficient && isLogin && isActivate && (\n <div className=\"pointer-events-none absolute right-0 top-full z-[100] mt-[10px] hidden w-[200px] group-hover:block\">\n <div className=\"relative bg-[#6D6D6F] p-[16px] text-[14px] font-[700] text-white shadow\">\n <p className=\"text-pretty tracking-[-0.02em] text-[14px]\">{copy.insufficientCredits}</p>\n <div className=\"absolute -top-[8px] right-[20px] size-[16px] origin-top-left rotate-45 rounded-[2px] bg-[#6D6D6F]\" />\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n )\n })}\n </div>\n )}\n\n {copy.creditsPage?.url && (\n <a\n href={(() => {\n if (!pageHandle) return copy.creditsPage!.url\n try {\n const url = new URL(copy.creditsPage!.url, window.location.href)\n url.searchParams.set('ref', `${pageHandle}_consume_credits`)\n return url.toString()\n } catch {\n return copy.creditsPage!.url\n }\n })()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mt-auto self-start text-[14px] font-[700] text-[#080a0f] underline\"\n onClick={() =>\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'consume_credits',\n button_name: 'credits_page_link',\n info: 'Member Floating Window',\n },\n })\n }\n >\n {copy.creditsPage.label ?? 'Go to Credits Page'}\n </a>\n )}\n </div>\n </>\n )\n}\n\nexport default ConsumeCredits\n"],
5
+ "mappings": "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",
6
6
  "names": ["Fragment", "jsx", "jsxs", "useEffect", "useMemo", "useState", "Picture", "Button", "gaTrack", "cn", "useProductsByHandles", "useHeadlessContext", "useMemberPopupContext", "useViewStack", "useRedeemableList", "useRedeemAndBuy", "ConsumeCreditsItemType", "MemberPopupPanelType", "numberFormat", "ROUNDED_BRANDS", "ConsumeCredits", "copy", "profile", "creditInfo", "openSignUpPopup", "alpcConfig", "isActivateSuccess", "fetchCreditInfo", "pageHandle", "pushView", "brand", "rounded", "redeemAndBuyError", "setRedeemAndBuyError", "loadingId", "setLoadingId", "isLogin", "redeemableList", "listLoading", "redeemAndBuy", "handles", "item", "products", "list", "alpcData", "r", "availableCredit", "insufficient", "alpcSoldOut", "isPhysicalProduct", "product", "p", "variant", "v", "isActivate", "getButtonLabel", "isDisabled", "trackRedeemButton", "itemTitle", "handleRedeem", "sectionId", "targetUrl", "e", "idx", "phsicalProduct", "imgUrl", "imgAlt", "url", "ConsumeCredits_default"]
7
7
  }
@@ -3,5 +3,5 @@ type Props = {
3
3
  copy: AuthCodeActivateCopy;
4
4
  onClose: () => void;
5
5
  };
6
- export default function ActivatePanel({ copy, onClose }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export default function ActivatePanel({ copy, onClose }: Props): import("react").JSX.Element;
7
7
  export {};
@@ -1,2 +1,2 @@
1
- import{jsx as n,jsxs as _}from"react/jsx-runtime";import{useState as p,useCallback as R,useRef as U,useEffect as H}from"react";import{Button as q,Text as r}from"@anker-in/headless-ui";import{useSendEmailValidation as G,gaTrack as S,classNames as L,useHeadlessContext as J,useEmailValidation as Q,useCountDown as X}from"@anker-in/lib";import{Message as Y}from"../../../registration/authCodeActivate/Message";import{useRegistration as Z}from"../../../registration";import{useMemberPopupContext as ee}from"../../context/provider";import{ROUNDED_BRANDS as te}from"../../../../constants";function ae({copy:e,onClose:v}){const{setIsActivateSuccess:h,fetchCreditInfo:C,profile:f}=ee(),{locale:P,brand:V}=J(),{email:i}=Z(),B=te.includes(V),{isMutating:F,trigger:x,data:E}=G(),{isMutating:$,trigger:k}=Q(),[z,l]=p(""),[y,u]=p(""),{startCountDown:A,startAction:D,countDown:W}=X(60),[I,c]=p(""),[N,m]=p(0),[o,w]=p(new Array(6).fill("")),T=U([]),b=o.join("");H(()=>{T.current[N]&&T.current[N].focus()},[N]),H(()=>{i&&x({email:i,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{u("success"),l(e?.sendEmailSuccessMessage||""),D(),setTimeout(()=>{u(""),l("")},5e3)}})},[i]);const j=R(async()=>{i&&(await x({email:i,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{u("success"),l(e?.sendEmailSuccessMessage||""),D(),setTimeout(()=>{u(""),l("")},5e3)}}),S({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"sent_again"}}))},[i,x]),K=(d,a)=>{const{value:t}=d.target;if(c(""),Number.isNaN(Number(t)))return;if(t.length>1){a<o.length-1&&(o[a+1]||(m(a+1),w(g=>{const M=[...g];return M[a]=t[0],t.length>1&&(M[a+1]=t[1]),M})));return}const s=[...o];s[a]=t,w(s),t?a<o.length-1&&!o[a+1]&&m(a+1):a>0&&m(a-1)},O=R(async()=>{if(!b?.length){c(e?.codeEmptyError||"");return}if(b.length<6){c(e?.incorrectCodeError||"");return}const d=E?.data?.data?.active_token??E?.data?.active_token;d&&await k({token:d,code:b},{onSuccess:t=>{if(t.status>=200&&t.status<300)u("success"),l(e?.authSuccessMessage||""),h(!0),f?.user_id&&setTimeout(()=>C(f.user_id),3e3),S({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active",info:"Member Floating Window"}}),setTimeout(()=>{v()},3e3);else{const s=t?.data?.error_code??t?.error_code;s==="104"?(h(!0),f?.user_id&&setTimeout(()=>C(f.user_id),3e3),S({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active",info:"Member Floating Window"}}),setTimeout(()=>{v()},3e3)):c(s==="142"?e?.incorrectCodeError||"Invalid verification code.":s==="154"?e?.expiredCodeMessage||"":e?.sendEmailErrorMessage||"")}}});let a=setTimeout(()=>{u(""),l(""),clearTimeout(a)},5e3)},[b,e?.codeEmptyError,e?.authSuccessMessage,e?.incorrectCodeError,e?.expiredCodeMessage,e?.sendEmailErrorMessage,P,E,k,v,h,C,f]);return _("div",{className:"relative",children:[_("div",{children:[n(r,{className:"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]",html:e?.authCodeTitle}),n(r,{as:"p",className:"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]",html:e?.authCodeDesc?.replace("%email%",i||"")})]}),_("div",{className:"mt-6",children:[n(r,{className:"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6",html:e?.enterActiveCodeText}),n("div",{className:"my-3 grid grid-cols-6 gap-2",children:o.map((d,a)=>n("div",{className:"col-span-1 aspect-1 text-[#555]",children:n("input",{ref:t=>{t&&(T.current[a]=t)},type:"tel",className:L("flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none",B&&"rounded-[12px]"),value:d,autoComplete:"false",autoCorrect:"false",spellCheck:"false",autoCapitalize:"false",onChange:t=>K(t,a),onFocus:()=>{m(a)},onPaste:t=>{const s=t.clipboardData.getData("text");if(!Number.isNaN(Number(s))){const g=s.split("").slice(0,6);w(g.concat(Array(6-g.length).fill(""))),g.length<=o.length&&m(g.length-1)}},onKeyDown:t=>{const{value:s}=t.target;t.key==="Backspace"&&!s&&a>0&&m(a-1)}},a)},a))}),I&&n(r,{className:"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]",html:I}),e?.authCodeContent&&n("ul",{className:'flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-["\u2022"]',dangerouslySetInnerHTML:{__html:e?.authCodeContent}})]}),_("div",{className:"mt-4 min-l:mt-6",children:[n(r,{className:"text-base font-semibold leading-[100%] text-[#333]",html:e?.authCodeReceiveText})," ",A?n(r,{html:e?.retrieveText?.replace("%countdownTime%",W.toString()),className:"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline"}):n(r,{onClick:j,className:L("cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline",{"pointer-events-none":A||F}),html:e?.sendAgainText}),n(q,{type:"submit",loading:$,className:"mt-6 w-full min-l:mt-8",size:"base",onClick:O,children:e.buttonText})]}),n(Y,{status:y,message:z})]})}export{ae as default};
1
+ import{jsx as n,jsxs as _}from"react/jsx-runtime";import{useState as p,useCallback as R,useRef as U,useEffect as H}from"react";import{Button as q,Text as r}from"@anker-in/headless-ui";import{useSendEmailValidation as G,gaTrack as S,classNames as L,useHeadlessContext as J,useEmailValidation as Q,useCountDown as X}from"../../../../lib";import{Message as Y}from"../../../registration/authCodeActivate/Message";import{useRegistration as Z}from"../../../registration";import{useMemberPopupContext as ee}from"../../context/provider";import{ROUNDED_BRANDS as te}from"../../../../constants";function ae({copy:e,onClose:v}){const{setIsActivateSuccess:h,fetchCreditInfo:C,profile:f}=ee(),{locale:P,brand:V}=J(),{email:i}=Z(),B=te.includes(V),{isMutating:F,trigger:x,data:E}=G(),{isMutating:$,trigger:k}=Q(),[z,l]=p(""),[y,u]=p(""),{startCountDown:A,startAction:D,countDown:W}=X(60),[I,c]=p(""),[N,m]=p(0),[o,w]=p(new Array(6).fill("")),T=U([]),b=o.join("");H(()=>{T.current[N]&&T.current[N].focus()},[N]),H(()=>{i&&x({email:i,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{u("success"),l(e?.sendEmailSuccessMessage||""),D(),setTimeout(()=>{u(""),l("")},5e3)}})},[i]);const j=R(async()=>{i&&(await x({email:i,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{u("success"),l(e?.sendEmailSuccessMessage||""),D(),setTimeout(()=>{u(""),l("")},5e3)}}),S({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"sent_again"}}))},[i,x]),K=(d,a)=>{const{value:t}=d.target;if(c(""),Number.isNaN(Number(t)))return;if(t.length>1){a<o.length-1&&(o[a+1]||(m(a+1),w(g=>{const M=[...g];return M[a]=t[0],t.length>1&&(M[a+1]=t[1]),M})));return}const s=[...o];s[a]=t,w(s),t?a<o.length-1&&!o[a+1]&&m(a+1):a>0&&m(a-1)},O=R(async()=>{if(!b?.length){c(e?.codeEmptyError||"");return}if(b.length<6){c(e?.incorrectCodeError||"");return}const d=E?.data?.data?.active_token??E?.data?.active_token;d&&await k({token:d,code:b},{onSuccess:t=>{if(t.status>=200&&t.status<300)u("success"),l(e?.authSuccessMessage||""),h(!0),f?.user_id&&setTimeout(()=>C(f.user_id),3e3),S({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active",info:"Member Floating Window"}}),setTimeout(()=>{v()},3e3);else{const s=t?.data?.error_code??t?.error_code;s==="104"?(h(!0),f?.user_id&&setTimeout(()=>C(f.user_id),3e3),S({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active",info:"Member Floating Window"}}),setTimeout(()=>{v()},3e3)):c(s==="142"?e?.incorrectCodeError||"Invalid verification code.":s==="154"?e?.expiredCodeMessage||"":e?.sendEmailErrorMessage||"")}}});let a=setTimeout(()=>{u(""),l(""),clearTimeout(a)},5e3)},[b,e?.codeEmptyError,e?.authSuccessMessage,e?.incorrectCodeError,e?.expiredCodeMessage,e?.sendEmailErrorMessage,P,E,k,v,h,C,f]);return _("div",{className:"relative",children:[_("div",{children:[n(r,{className:"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]",html:e?.authCodeTitle}),n(r,{as:"p",className:"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]",html:e?.authCodeDesc?.replace("%email%",i||"")})]}),_("div",{className:"mt-6",children:[n(r,{className:"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6",html:e?.enterActiveCodeText}),n("div",{className:"my-3 grid grid-cols-6 gap-2",children:o.map((d,a)=>n("div",{className:"col-span-1 aspect-1 text-[#555]",children:n("input",{ref:t=>{t&&(T.current[a]=t)},type:"tel",className:L("flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none",B&&"rounded-[12px]"),value:d,autoComplete:"false",autoCorrect:"false",spellCheck:"false",autoCapitalize:"false",onChange:t=>K(t,a),onFocus:()=>{m(a)},onPaste:t=>{const s=t.clipboardData.getData("text");if(!Number.isNaN(Number(s))){const g=s.split("").slice(0,6);w(g.concat(Array(6-g.length).fill(""))),g.length<=o.length&&m(g.length-1)}},onKeyDown:t=>{const{value:s}=t.target;t.key==="Backspace"&&!s&&a>0&&m(a-1)}},a)},a))}),I&&n(r,{className:"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]",html:I}),e?.authCodeContent&&n("ul",{className:'flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-["\u2022"]',dangerouslySetInnerHTML:{__html:e?.authCodeContent}})]}),_("div",{className:"mt-4 min-l:mt-6",children:[n(r,{className:"text-base font-semibold leading-[100%] text-[#333]",html:e?.authCodeReceiveText})," ",A?n(r,{html:e?.retrieveText?.replace("%countdownTime%",W.toString()),className:"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline"}):n(r,{onClick:j,className:L("cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline",{"pointer-events-none":A||F}),html:e?.sendAgainText}),n(q,{type:"submit",loading:$,className:"mt-6 w-full min-l:mt-8",size:"base",onClick:O,children:e.buttonText})]}),n(Y,{status:y,message:z})]})}export{ae as default};
2
2
  //# sourceMappingURL=ActivatePanel.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/memberPopup/panels/EarnCredits/ActivatePanel.tsx"],
4
- "sourcesContent": ["import { useState, useCallback, useRef, useEffect } from 'react'\nimport { Button, Text } from '@anker-in/headless-ui'\nimport {\n useSendEmailValidation,\n gaTrack,\n classNames as cn,\n useHeadlessContext,\n useEmailValidation,\n useCountDown,\n} from '@anker-in/lib'\nimport { Message } from '../../../registration/authCodeActivate/Message'\nimport type { AuthCodeActivateCopy } from '../../type'\nimport { useRegistration } from '../../../registration'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: AuthCodeActivateCopy\n onClose: () => void\n}\n\nexport default function ActivatePanel({ copy, onClose }: Props) {\n const { setIsActivateSuccess, fetchCreditInfo, profile } = useMemberPopupContext()\n const { locale, brand } = useHeadlessContext()\n const { email } = useRegistration()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const {\n isMutating: isSendingEmail,\n trigger: triggerSendValidationEmail,\n data: sendEmailData,\n } = useSendEmailValidation()\n\n const { isMutating: emailValidationLoading, trigger: triggerEmailValidation } = useEmailValidation()\n\n const [messageText, setMessageText] = useState('')\n const [messageStatus, setMessageStatus] = useState('')\n const { startCountDown: isStartCountDown, startAction: startCountDown, countDown } = useCountDown(60)\n\n const [error, setError] = useState('')\n const [focusIndex, setFocusIndex] = useState(0)\n const [codeArray, setCodeArray] = useState(new Array(6).fill(''))\n\n const inputRefs = useRef<HTMLInputElement[]>([])\n const code = codeArray.join('')\n\n useEffect(() => {\n if (inputRefs.current[focusIndex]) {\n inputRefs.current[focusIndex].focus()\n }\n }, [focusIndex])\n\n useEffect(() => {\n if (email) {\n triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n }\n }, [email])\n\n const handleSendAgain = useCallback(async () => {\n if (!email) return\n await triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'sent_again',\n },\n })\n }, [email, triggerSendValidationEmail])\n\n const handleInputCodeChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const { value } = event.target\n\n setError('')\n\n if (Number.isNaN(Number(value))) {\n return\n }\n\n if (value.length > 1) {\n if (index < codeArray.length - 1) {\n if (!codeArray[index + 1]) {\n setFocusIndex(index + 1)\n setCodeArray(old => {\n const newCode = [...old]\n newCode[index] = value[0]\n if (value.length > 1) {\n newCode[index + 1] = value[1]\n }\n return newCode\n })\n }\n }\n return\n }\n const newCode = [...codeArray]\n newCode[index] = value\n setCodeArray(newCode)\n if (value) {\n if (index < codeArray.length - 1 && !codeArray[index + 1]) {\n setFocusIndex(index + 1)\n }\n } else if (index > 0) {\n setFocusIndex(index - 1)\n }\n }\n\n const handleAuthCodeSubmit = useCallback(async () => {\n if (!code?.length) {\n setError(copy?.codeEmptyError || '')\n return\n }\n\n if (code.length < 6) {\n setError(copy?.incorrectCodeError || '')\n return\n }\n\n const token = sendEmailData?.data?.data?.active_token ?? sendEmailData?.data?.active_token\n if (token) {\n await triggerEmailValidation(\n {\n token: token,\n code: code,\n },\n {\n onSuccess: data => {\n if (data.status >= 200 && data.status < 300) {\n setMessageStatus('success')\n setMessageText(copy?.authSuccessMessage || '')\n setIsActivateSuccess(true)\n if (profile?.user_id) setTimeout(() => fetchCreditInfo(profile.user_id), 3000)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n info: 'Member Floating Window',\n },\n })\n setTimeout(() => {\n onClose()\n }, 3000)\n } else {\n const errorCode = data?.data?.error_code ?? data?.error_code\n if (errorCode === '104') {\n setIsActivateSuccess(true)\n if (profile?.user_id) setTimeout(() => fetchCreditInfo(profile.user_id), 3000)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n info: 'Member Floating Window',\n },\n })\n setTimeout(() => {\n onClose()\n }, 3000)\n } else if (errorCode === '142') {\n setError(copy?.incorrectCodeError || 'Invalid verification code.')\n } else if (errorCode === '154') {\n setError(copy?.expiredCodeMessage || '')\n } else {\n setError(copy?.sendEmailErrorMessage || '')\n }\n }\n },\n }\n )\n }\n\n let timer = setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n clearTimeout(timer)\n }, 5000)\n }, [\n code,\n copy?.codeEmptyError,\n copy?.authSuccessMessage,\n copy?.incorrectCodeError,\n copy?.expiredCodeMessage,\n copy?.sendEmailErrorMessage,\n locale,\n sendEmailData,\n triggerEmailValidation,\n onClose,\n setIsActivateSuccess,\n fetchCreditInfo,\n profile,\n ])\n\n return (\n <div className=\"relative\">\n <div>\n <Text\n className=\"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]\"\n html={copy?.authCodeTitle}\n />\n <Text\n as=\"p\"\n className=\"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]\"\n html={copy?.authCodeDesc?.replace('%email%', email || '')}\n />\n </div>\n <div className=\"mt-6\">\n <Text\n className=\"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6\"\n html={copy?.enterActiveCodeText}\n />\n <div className=\"my-3 grid grid-cols-6 gap-2\">\n {codeArray.map((item, index) => (\n <div key={index} className=\"col-span-1 aspect-1 text-[#555]\">\n <input\n ref={inputRef => {\n if (inputRef) {\n inputRefs.current[index] = inputRef\n }\n }}\n key={index}\n type=\"tel\"\n className={cn(\n 'flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none',\n rounded && 'rounded-[12px]'\n )}\n value={item}\n autoComplete=\"false\"\n autoCorrect=\"false\"\n spellCheck=\"false\"\n autoCapitalize=\"false\"\n onChange={event => handleInputCodeChange(event, index)}\n onFocus={() => {\n setFocusIndex(index)\n }}\n onPaste={event => {\n const paste = event.clipboardData.getData('text')\n if (!Number.isNaN(Number(paste))) {\n const pastedCode = paste.split('').slice(0, 6)\n setCodeArray(pastedCode.concat(Array(6 - pastedCode.length).fill('')))\n if (pastedCode.length <= codeArray.length) {\n setFocusIndex(pastedCode.length - 1)\n }\n }\n }}\n onKeyDown={event => {\n const { value } = event.target as HTMLInputElement\n if (event.key === 'Backspace' && !value && index > 0) {\n setFocusIndex(index - 1)\n }\n }}\n />\n </div>\n ))}\n </div>\n\n {error && <Text className=\"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]\" html={error} />}\n {copy?.authCodeContent && (\n <ul\n className='flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-[\"\u2022\"]'\n dangerouslySetInnerHTML={{ __html: copy?.authCodeContent }}\n />\n )}\n </div>\n <div className=\"mt-4 min-l:mt-6\">\n <Text className=\"text-base font-semibold leading-[100%] text-[#333]\" html={copy?.authCodeReceiveText} />{' '}\n {isStartCountDown ? (\n <Text\n html={copy?.retrieveText?.replace('%countdownTime%', countDown.toString())}\n className=\"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline\"\n />\n ) : (\n <Text\n onClick={handleSendAgain}\n className={cn(\n 'cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline',\n {\n 'pointer-events-none': isStartCountDown || isSendingEmail,\n }\n )}\n html={copy?.sendAgainText}\n />\n )}\n <Button\n type=\"submit\"\n loading={emailValidationLoading}\n className=\"mt-6 w-full min-l:mt-8\"\n size=\"base\"\n onClick={handleAuthCodeSubmit}\n >\n {copy.buttonText}\n </Button>\n </div>\n <Message status={messageStatus} message={messageText} />\n </div>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useState, useCallback, useRef, useEffect } from 'react'\nimport { Button, Text } from '@anker-in/headless-ui'\nimport {\n useSendEmailValidation,\n gaTrack,\n classNames as cn,\n useHeadlessContext,\n useEmailValidation,\n useCountDown,\n} from '../../../../lib'\nimport { Message } from '../../../registration/authCodeActivate/Message'\nimport type { AuthCodeActivateCopy } from '../../type'\nimport { useRegistration } from '../../../registration'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: AuthCodeActivateCopy\n onClose: () => void\n}\n\nexport default function ActivatePanel({ copy, onClose }: Props) {\n const { setIsActivateSuccess, fetchCreditInfo, profile } = useMemberPopupContext()\n const { locale, brand } = useHeadlessContext()\n const { email } = useRegistration()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const {\n isMutating: isSendingEmail,\n trigger: triggerSendValidationEmail,\n data: sendEmailData,\n } = useSendEmailValidation()\n\n const { isMutating: emailValidationLoading, trigger: triggerEmailValidation } = useEmailValidation()\n\n const [messageText, setMessageText] = useState('')\n const [messageStatus, setMessageStatus] = useState('')\n const { startCountDown: isStartCountDown, startAction: startCountDown, countDown } = useCountDown(60)\n\n const [error, setError] = useState('')\n const [focusIndex, setFocusIndex] = useState(0)\n const [codeArray, setCodeArray] = useState(new Array(6).fill(''))\n\n const inputRefs = useRef<HTMLInputElement[]>([])\n const code = codeArray.join('')\n\n useEffect(() => {\n if (inputRefs.current[focusIndex]) {\n inputRefs.current[focusIndex].focus()\n }\n }, [focusIndex])\n\n useEffect(() => {\n if (email) {\n triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n }\n }, [email])\n\n const handleSendAgain = useCallback(async () => {\n if (!email) return\n await triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'sent_again',\n },\n })\n }, [email, triggerSendValidationEmail])\n\n const handleInputCodeChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const { value } = event.target\n\n setError('')\n\n if (Number.isNaN(Number(value))) {\n return\n }\n\n if (value.length > 1) {\n if (index < codeArray.length - 1) {\n if (!codeArray[index + 1]) {\n setFocusIndex(index + 1)\n setCodeArray(old => {\n const newCode = [...old]\n newCode[index] = value[0]\n if (value.length > 1) {\n newCode[index + 1] = value[1]\n }\n return newCode\n })\n }\n }\n return\n }\n const newCode = [...codeArray]\n newCode[index] = value\n setCodeArray(newCode)\n if (value) {\n if (index < codeArray.length - 1 && !codeArray[index + 1]) {\n setFocusIndex(index + 1)\n }\n } else if (index > 0) {\n setFocusIndex(index - 1)\n }\n }\n\n const handleAuthCodeSubmit = useCallback(async () => {\n if (!code?.length) {\n setError(copy?.codeEmptyError || '')\n return\n }\n\n if (code.length < 6) {\n setError(copy?.incorrectCodeError || '')\n return\n }\n\n const token = sendEmailData?.data?.data?.active_token ?? sendEmailData?.data?.active_token\n if (token) {\n await triggerEmailValidation(\n {\n token: token,\n code: code,\n },\n {\n onSuccess: data => {\n if (data.status >= 200 && data.status < 300) {\n setMessageStatus('success')\n setMessageText(copy?.authSuccessMessage || '')\n setIsActivateSuccess(true)\n if (profile?.user_id) setTimeout(() => fetchCreditInfo(profile.user_id), 3000)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n info: 'Member Floating Window',\n },\n })\n setTimeout(() => {\n onClose()\n }, 3000)\n } else {\n const errorCode = data?.data?.error_code ?? data?.error_code\n if (errorCode === '104') {\n setIsActivateSuccess(true)\n if (profile?.user_id) setTimeout(() => fetchCreditInfo(profile.user_id), 3000)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n info: 'Member Floating Window',\n },\n })\n setTimeout(() => {\n onClose()\n }, 3000)\n } else if (errorCode === '142') {\n setError(copy?.incorrectCodeError || 'Invalid verification code.')\n } else if (errorCode === '154') {\n setError(copy?.expiredCodeMessage || '')\n } else {\n setError(copy?.sendEmailErrorMessage || '')\n }\n }\n },\n }\n )\n }\n\n let timer = setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n clearTimeout(timer)\n }, 5000)\n }, [\n code,\n copy?.codeEmptyError,\n copy?.authSuccessMessage,\n copy?.incorrectCodeError,\n copy?.expiredCodeMessage,\n copy?.sendEmailErrorMessage,\n locale,\n sendEmailData,\n triggerEmailValidation,\n onClose,\n setIsActivateSuccess,\n fetchCreditInfo,\n profile,\n ])\n\n return (\n <div className=\"relative\">\n <div>\n <Text\n className=\"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]\"\n html={copy?.authCodeTitle}\n />\n <Text\n as=\"p\"\n className=\"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]\"\n html={copy?.authCodeDesc?.replace('%email%', email || '')}\n />\n </div>\n <div className=\"mt-6\">\n <Text\n className=\"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6\"\n html={copy?.enterActiveCodeText}\n />\n <div className=\"my-3 grid grid-cols-6 gap-2\">\n {codeArray.map((item, index) => (\n <div key={index} className=\"col-span-1 aspect-1 text-[#555]\">\n <input\n ref={inputRef => {\n if (inputRef) {\n inputRefs.current[index] = inputRef\n }\n }}\n key={index}\n type=\"tel\"\n className={cn(\n 'flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none',\n rounded && 'rounded-[12px]'\n )}\n value={item}\n autoComplete=\"false\"\n autoCorrect=\"false\"\n spellCheck=\"false\"\n autoCapitalize=\"false\"\n onChange={event => handleInputCodeChange(event, index)}\n onFocus={() => {\n setFocusIndex(index)\n }}\n onPaste={event => {\n const paste = event.clipboardData.getData('text')\n if (!Number.isNaN(Number(paste))) {\n const pastedCode = paste.split('').slice(0, 6)\n setCodeArray(pastedCode.concat(Array(6 - pastedCode.length).fill('')))\n if (pastedCode.length <= codeArray.length) {\n setFocusIndex(pastedCode.length - 1)\n }\n }\n }}\n onKeyDown={event => {\n const { value } = event.target as HTMLInputElement\n if (event.key === 'Backspace' && !value && index > 0) {\n setFocusIndex(index - 1)\n }\n }}\n />\n </div>\n ))}\n </div>\n\n {error && <Text className=\"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]\" html={error} />}\n {copy?.authCodeContent && (\n <ul\n className='flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-[\"\u2022\"]'\n dangerouslySetInnerHTML={{ __html: copy?.authCodeContent }}\n />\n )}\n </div>\n <div className=\"mt-4 min-l:mt-6\">\n <Text className=\"text-base font-semibold leading-[100%] text-[#333]\" html={copy?.authCodeReceiveText} />{' '}\n {isStartCountDown ? (\n <Text\n html={copy?.retrieveText?.replace('%countdownTime%', countDown.toString())}\n className=\"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline\"\n />\n ) : (\n <Text\n onClick={handleSendAgain}\n className={cn(\n 'cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline',\n {\n 'pointer-events-none': isStartCountDown || isSendingEmail,\n }\n )}\n html={copy?.sendAgainText}\n />\n )}\n <Button\n type=\"submit\"\n loading={emailValidationLoading}\n className=\"mt-6 w-full min-l:mt-8\"\n size=\"base\"\n onClick={handleAuthCodeSubmit}\n >\n {copy.buttonText}\n </Button>\n </div>\n <Message status={messageStatus} message={messageText} />\n </div>\n )\n}\n"],
5
+ "mappings": "AA6OM,OACE,OAAAA,EADF,QAAAC,MAAA,oBA7ON,OAAS,YAAAC,EAAU,eAAAC,EAAa,UAAAC,EAAQ,aAAAC,MAAiB,QACzD,OAAS,UAAAC,EAAQ,QAAAC,MAAY,wBAC7B,OACE,0BAAAC,EACA,WAAAC,EACA,cAAcC,EACd,sBAAAC,EACA,sBAAAC,EACA,gBAAAC,MACK,kBACP,OAAS,WAAAC,MAAe,iDAExB,OAAS,mBAAAC,MAAuB,wBAChC,OAAS,yBAAAC,OAA6B,yBACtC,OAAS,kBAAAC,OAAsB,wBAOhB,SAARC,GAA+B,CAAE,KAAAC,EAAM,QAAAC,CAAQ,EAAU,CAC9D,KAAM,CAAE,qBAAAC,EAAsB,gBAAAC,EAAiB,QAAAC,CAAQ,EAAIP,GAAsB,EAC3E,CAAE,OAAAQ,EAAQ,MAAAC,CAAM,EAAId,EAAmB,EACvC,CAAE,MAAAe,CAAM,EAAIX,EAAgB,EAC5BY,EAAUV,GAAe,SAASQ,CAAK,EAEvC,CACJ,WAAYG,EACZ,QAASC,EACT,KAAMC,CACR,EAAItB,EAAuB,EAErB,CAAE,WAAYuB,EAAwB,QAASC,CAAuB,EAAIpB,EAAmB,EAE7F,CAACqB,EAAaC,CAAc,EAAIhC,EAAS,EAAE,EAC3C,CAACiC,EAAeC,CAAgB,EAAIlC,EAAS,EAAE,EAC/C,CAAE,eAAgBmC,EAAkB,YAAaC,EAAgB,UAAAC,CAAU,EAAI1B,EAAa,EAAE,EAE9F,CAAC2B,EAAOC,CAAQ,EAAIvC,EAAS,EAAE,EAC/B,CAACwC,EAAYC,CAAa,EAAIzC,EAAS,CAAC,EACxC,CAAC0C,EAAWC,CAAY,EAAI3C,EAAS,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAE1D4C,EAAY1C,EAA2B,CAAC,CAAC,EACzC2C,EAAOH,EAAU,KAAK,EAAE,EAE9BvC,EAAU,IAAM,CACVyC,EAAU,QAAQJ,CAAU,GAC9BI,EAAU,QAAQJ,CAAU,EAAE,MAAM,CAExC,EAAG,CAACA,CAAU,CAAC,EAEfrC,EAAU,IAAM,CACVqB,GACFG,EACE,CACE,MAAOH,EACP,KAAM,CACJ,aAAc,GAAG,QAAQ,UAAU,MAAM,GAAG,QAAQ,UAAU,QAAQ,EACxE,CACF,EACA,CACE,UAAW,IAAM,CACfU,EAAiB,SAAS,EAC1BF,EAAef,GAAM,yBAA2B,EAAE,EAClDmB,EAAe,EACf,WAAW,IAAM,CACfF,EAAiB,EAAE,EACnBF,EAAe,EAAE,CACnB,EAAG,GAAI,CACT,CACF,CACF,CAEJ,EAAG,CAACR,CAAK,CAAC,EAEV,MAAMsB,EAAkB7C,EAAY,SAAY,CACzCuB,IACL,MAAMG,EACJ,CACE,MAAOH,EACP,KAAM,CACJ,aAAc,GAAG,QAAQ,UAAU,MAAM,GAAG,QAAQ,UAAU,QAAQ,EACxE,CACF,EACA,CACE,UAAW,IAAM,CACfU,EAAiB,SAAS,EAC1BF,EAAef,GAAM,yBAA2B,EAAE,EAClDmB,EAAe,EACf,WAAW,IAAM,CACfF,EAAiB,EAAE,EACnBF,EAAe,EAAE,CACnB,EAAG,GAAI,CACT,CACF,CACF,EACAzB,EAAQ,CACN,MAAO,WACP,WAAY,YACZ,iBAAkB,CAChB,WAAY,cACZ,SAAU,YACV,YAAa,YACf,CACF,CAAC,EACH,EAAG,CAACiB,EAAOG,CAA0B,CAAC,EAEhCoB,EAAwB,CAACC,EAA4CC,IAAkB,CAC3F,KAAM,CAAE,MAAAC,CAAM,EAAIF,EAAM,OAIxB,GAFAT,EAAS,EAAE,EAEP,OAAO,MAAM,OAAOW,CAAK,CAAC,EAC5B,OAGF,GAAIA,EAAM,OAAS,EAAG,CAChBD,EAAQP,EAAU,OAAS,IACxBA,EAAUO,EAAQ,CAAC,IACtBR,EAAcQ,EAAQ,CAAC,EACvBN,EAAaQ,GAAO,CAClB,MAAMC,EAAU,CAAC,GAAGD,CAAG,EACvB,OAAAC,EAAQH,CAAK,EAAIC,EAAM,CAAC,EACpBA,EAAM,OAAS,IACjBE,EAAQH,EAAQ,CAAC,EAAIC,EAAM,CAAC,GAEvBE,CACT,CAAC,IAGL,MACF,CACA,MAAMA,EAAU,CAAC,GAAGV,CAAS,EAC7BU,EAAQH,CAAK,EAAIC,EACjBP,EAAaS,CAAO,EAChBF,EACED,EAAQP,EAAU,OAAS,GAAK,CAACA,EAAUO,EAAQ,CAAC,GACtDR,EAAcQ,EAAQ,CAAC,EAEhBA,EAAQ,GACjBR,EAAcQ,EAAQ,CAAC,CAE3B,EAEMI,EAAuBpD,EAAY,SAAY,CACnD,GAAI,CAAC4C,GAAM,OAAQ,CACjBN,EAAStB,GAAM,gBAAkB,EAAE,EACnC,MACF,CAEA,GAAI4B,EAAK,OAAS,EAAG,CACnBN,EAAStB,GAAM,oBAAsB,EAAE,EACvC,MACF,CAEA,MAAMqC,EAAQ1B,GAAe,MAAM,MAAM,cAAgBA,GAAe,MAAM,aAC1E0B,GACF,MAAMxB,EACJ,CACE,MAAOwB,EACP,KAAMT,CACR,EACA,CACE,UAAWU,GAAQ,CACjB,GAAIA,EAAK,QAAU,KAAOA,EAAK,OAAS,IACtCrB,EAAiB,SAAS,EAC1BF,EAAef,GAAM,oBAAsB,EAAE,EAC7CE,EAAqB,EAAI,EACrBE,GAAS,SAAS,WAAW,IAAMD,EAAgBC,EAAQ,OAAO,EAAG,GAAI,EAC7Ed,EAAQ,CACN,MAAO,WACP,WAAY,YACZ,iBAAkB,CAChB,WAAY,cACZ,SAAU,YACV,YAAa,mBACb,KAAM,wBACR,CACF,CAAC,EACD,WAAW,IAAM,CACfW,EAAQ,CACV,EAAG,GAAI,MACF,CACL,MAAMsC,EAAYD,GAAM,MAAM,YAAcA,GAAM,WAC9CC,IAAc,OAChBrC,EAAqB,EAAI,EACrBE,GAAS,SAAS,WAAW,IAAMD,EAAgBC,EAAQ,OAAO,EAAG,GAAI,EAC7Ed,EAAQ,CACN,MAAO,WACP,WAAY,YACZ,iBAAkB,CAChB,WAAY,cACZ,SAAU,YACV,YAAa,mBACb,KAAM,wBACR,CACF,CAAC,EACD,WAAW,IAAM,CACfW,EAAQ,CACV,EAAG,GAAI,GAEPqB,EADSiB,IAAc,MACdvC,GAAM,oBAAsB,6BAC5BuC,IAAc,MACdvC,GAAM,oBAAsB,GAE5BA,GAAM,uBAAyB,EAJyB,CAMrE,CACF,CACF,CACF,EAGF,IAAIwC,EAAQ,WAAW,IAAM,CAC3BvB,EAAiB,EAAE,EACnBF,EAAe,EAAE,EACjB,aAAayB,CAAK,CACpB,EAAG,GAAI,CACT,EAAG,CACDZ,EACA5B,GAAM,eACNA,GAAM,mBACNA,GAAM,mBACNA,GAAM,mBACNA,GAAM,sBACNK,EACAM,EACAE,EACAZ,EACAC,EACAC,EACAC,CACF,CAAC,EAED,OACEtB,EAAC,OAAI,UAAU,WACb,UAAAA,EAAC,OACC,UAAAD,EAACO,EAAA,CACC,UAAU,kGACV,KAAMY,GAAM,cACd,EACAnB,EAACO,EAAA,CACC,GAAG,IACH,UAAU,gHACV,KAAMY,GAAM,cAAc,QAAQ,UAAWO,GAAS,EAAE,EAC1D,GACF,EACAzB,EAAC,OAAI,UAAU,OACb,UAAAD,EAACO,EAAA,CACC,UAAU,kFACV,KAAMY,GAAM,oBACd,EACAnB,EAAC,OAAI,UAAU,8BACZ,SAAA4C,EAAU,IAAI,CAACgB,EAAMT,IACpBnD,EAAC,OAAgB,UAAU,kCACzB,SAAAA,EAAC,SACC,IAAK6D,GAAY,CACXA,IACFf,EAAU,QAAQK,CAAK,EAAIU,EAE/B,EAEA,KAAK,MACL,UAAWnD,EACT,6QACAiB,GAAW,gBACb,EACA,MAAOiC,EACP,aAAa,QACb,YAAY,QACZ,WAAW,QACX,eAAe,QACf,SAAUV,GAASD,EAAsBC,EAAOC,CAAK,EACrD,QAAS,IAAM,CACbR,EAAcQ,CAAK,CACrB,EACA,QAASD,GAAS,CAChB,MAAMY,EAAQZ,EAAM,cAAc,QAAQ,MAAM,EAChD,GAAI,CAAC,OAAO,MAAM,OAAOY,CAAK,CAAC,EAAG,CAChC,MAAMC,EAAaD,EAAM,MAAM,EAAE,EAAE,MAAM,EAAG,CAAC,EAC7CjB,EAAakB,EAAW,OAAO,MAAM,EAAIA,EAAW,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EACjEA,EAAW,QAAUnB,EAAU,QACjCD,EAAcoB,EAAW,OAAS,CAAC,CAEvC,CACF,EACA,UAAWb,GAAS,CAClB,KAAM,CAAE,MAAAE,CAAM,EAAIF,EAAM,OACpBA,EAAM,MAAQ,aAAe,CAACE,GAASD,EAAQ,GACjDR,EAAcQ,EAAQ,CAAC,CAE3B,GA9BKA,CA+BP,GAtCQA,CAuCV,CACD,EACH,EAECX,GAASxC,EAACO,EAAA,CAAK,UAAU,+DAA+D,KAAMiC,EAAO,EACrGrB,GAAM,iBACLnB,EAAC,MACC,UAAU,gLACV,wBAAyB,CAAE,OAAQmB,GAAM,eAAgB,EAC3D,GAEJ,EACAlB,EAAC,OAAI,UAAU,kBACb,UAAAD,EAACO,EAAA,CAAK,UAAU,qDAAqD,KAAMY,GAAM,oBAAqB,EAAG,IACxGkB,EACCrC,EAACO,EAAA,CACC,KAAMY,GAAM,cAAc,QAAQ,kBAAmBoB,EAAU,SAAS,CAAC,EACzE,UAAU,yGACZ,EAEAvC,EAACO,EAAA,CACC,QAASyC,EACT,UAAWtC,EACT,yGACA,CACE,sBAAuB2B,GAAoBT,CAC7C,CACF,EACA,KAAMT,GAAM,cACd,EAEFnB,EAACM,EAAA,CACC,KAAK,SACL,QAASyB,EACT,UAAU,yBACV,KAAK,OACL,QAASwB,EAER,SAAApC,EAAK,WACR,GACF,EACAnB,EAACc,EAAA,CAAQ,OAAQqB,EAAe,QAASF,EAAa,GACxD,CAEJ",
6
6
  "names": ["jsx", "jsxs", "useState", "useCallback", "useRef", "useEffect", "Button", "Text", "useSendEmailValidation", "gaTrack", "cn", "useHeadlessContext", "useEmailValidation", "useCountDown", "Message", "useRegistration", "useMemberPopupContext", "ROUNDED_BRANDS", "ActivatePanel", "copy", "onClose", "setIsActivateSuccess", "fetchCreditInfo", "profile", "locale", "brand", "email", "rounded", "isSendingEmail", "triggerSendValidationEmail", "sendEmailData", "emailValidationLoading", "triggerEmailValidation", "messageText", "setMessageText", "messageStatus", "setMessageStatus", "isStartCountDown", "startCountDown", "countDown", "error", "setError", "focusIndex", "setFocusIndex", "codeArray", "setCodeArray", "inputRefs", "code", "handleSendAgain", "handleInputCodeChange", "event", "index", "value", "old", "newCode", "handleAuthCodeSubmit", "token", "data", "errorCode", "timer", "item", "inputRef", "paste", "pastedCode"]
7
7
  }
@@ -3,5 +3,5 @@ type Props = {
3
3
  copy: CompleteProfileCopy;
4
4
  onClose: () => void;
5
5
  };
6
- export default function CompleteProfilePanel({ copy, onClose }: Props): import("react/jsx-runtime").JSX.Element;
6
+ export default function CompleteProfilePanel({ copy, onClose }: Props): import("react").JSX.Element;
7
7
  export {};
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useCallback as q,useEffect as F,useState as r}from"react";import{Button as L,Text as g}from"@anker-in/headless-ui";import{gaTrack as R,classNames as l,useHeadlessContext as U}from"@anker-in/lib";import{useUpdateProfile as A}from"./hooks/useUpdateProfile";import H from"../../../credits/context/hooks/useCountries";import{useMemberPopupContext as O}from"../../context/provider";import{ROUNDED_BRANDS as W}from"../../../../constants";function G({copy:a,onClose:x}){const{profile:o,fetchCreditInfo:C,alpcConfig:_,setIsProfileCompleteSuccess:k}=O(),{locale:T}=_,{brand:z,storeDomain:I}=U(),s=W.includes(z),[d,P]=r(""),[i,w]=r(""),[u,E]=r(""),[f,y]=r(""),[p,c]=r(""),[b,v]=r(""),[N,h]=r(""),{updateProfile:D,isLoading:B}=A({locale:T,appName:_.appName}),{countries:m}=H({shopifyStoreDomain:I});F(()=>{o&&(P(o.first_name??""),w(o.last_name??""),E(o.phone_number??""),y(o.dob??""),c(o.country?.id??""))},[o]),F(()=>{m.length>0&&!p&&c(m[0].id)},[m]);const S=q(()=>{let e=!1;return d.trim()?v(""):(v(a.required),e=!0),i.trim()?h(""):(h(a.required),e=!0),e},[d,i,a.required]),M=q(async()=>{if(S())return;await D({first_name:d.trim(),last_name:i.trim(),phone_number:u,country:p,dob:f})&&(setTimeout(()=>C(o?.user_id),3e3),k(!0),R({event:"ga4Event",event_name:"lp_button",event_parameters:{position:"earn_credits",button_name:"complete_profile_success",info:"Member Floating Window"}}),x())},[S,D,d,i,u,p,f,C,o,k,x]);return n("div",{className:"flex flex-col gap-[16px]",children:[a.subtitle&&t(g,{className:"text-[14px] text-[#1d1d1f]",html:a.subtitle}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.email}),t("input",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] bg-[#f5f5f5] px-[12px] text-[14px] text-[#999]",s?"rounded-[4px]":"rounded-none"),value:o?.email??"",disabled:!0})]}),n("div",{children:[n("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:[a.firstName," ",t("span",{className:"text-[#f84d4f]",children:"*"})]}),t("input",{className:l("mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none",b?"border-[#f84d4f]":"border-[#d8d8d8]",s?"rounded-[4px]":"rounded-none"),value:d,onChange:e=>{P(e.target.value),v("")}}),b&&t(g,{className:"mt-[4px] text-[12px] text-[#f84d4f]",html:b})]}),n("div",{children:[n("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:[a.lastName," ",t("span",{className:"text-[#f84d4f]",children:"*"})]}),t("input",{className:l("mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none",N?"border-[#f84d4f]":"border-[#d8d8d8]",s?"rounded-[4px]":"rounded-none"),value:i,onChange:e=>{w(e.target.value),h("")}}),N&&t(g,{className:"mt-[4px] text-[12px] text-[#f84d4f]",html:N})]}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.birthday}),t("input",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none",s?"rounded-[4px]":"rounded-none"),type:"date",value:f,onChange:e=>y(e.target.value)})]}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.phone}),t("input",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none",s?"rounded-[4px]":"rounded-none"),value:u,onChange:e=>E(e.target.value)})]}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.country}),t("select",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none",s?"rounded-[4px]":"rounded-none"),value:p,onChange:e=>c(e.target.value),children:m.map(e=>t("option",{value:e.id,children:e.name},e.id))})]}),n("div",{className:"flex gap-[12px]",children:[t(L,{variant:"secondary",size:"base",className:"flex-1",onClick:x,disabled:B,children:a.cancel}),t(L,{variant:"primary",size:"base",className:"flex-1",loading:B,onClick:M,children:a.save})]})]})}export{G as default};
1
+ import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useCallback as q,useEffect as F,useState as r}from"react";import{Button as L,Text as g}from"@anker-in/headless-ui";import{gaTrack as R,classNames as l,useHeadlessContext as U}from"../../../../lib";import{useUpdateProfile as A}from"./hooks/useUpdateProfile";import H from"../../../credits/context/hooks/useCountries";import{useMemberPopupContext as O}from"../../context/provider";import{ROUNDED_BRANDS as W}from"../../../../constants";function G({copy:a,onClose:x}){const{profile:o,fetchCreditInfo:C,alpcConfig:_,setIsProfileCompleteSuccess:k}=O(),{locale:T}=_,{brand:z,storeDomain:I}=U(),s=W.includes(z),[d,P]=r(""),[i,w]=r(""),[u,E]=r(""),[f,y]=r(""),[p,c]=r(""),[b,v]=r(""),[N,h]=r(""),{updateProfile:D,isLoading:B}=A({locale:T,appName:_.appName}),{countries:m}=H({shopifyStoreDomain:I});F(()=>{o&&(P(o.first_name??""),w(o.last_name??""),E(o.phone_number??""),y(o.dob??""),c(o.country?.id??""))},[o]),F(()=>{m.length>0&&!p&&c(m[0].id)},[m]);const S=q(()=>{let e=!1;return d.trim()?v(""):(v(a.required),e=!0),i.trim()?h(""):(h(a.required),e=!0),e},[d,i,a.required]),M=q(async()=>{if(S())return;await D({first_name:d.trim(),last_name:i.trim(),phone_number:u,country:p,dob:f})&&(setTimeout(()=>C(o?.user_id),3e3),k(!0),R({event:"ga4Event",event_name:"lp_button",event_parameters:{position:"earn_credits",button_name:"complete_profile_success",info:"Member Floating Window"}}),x())},[S,D,d,i,u,p,f,C,o,k,x]);return n("div",{className:"flex flex-col gap-[16px]",children:[a.subtitle&&t(g,{className:"text-[14px] text-[#1d1d1f]",html:a.subtitle}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.email}),t("input",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] bg-[#f5f5f5] px-[12px] text-[14px] text-[#999]",s?"rounded-[4px]":"rounded-none"),value:o?.email??"",disabled:!0})]}),n("div",{children:[n("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:[a.firstName," ",t("span",{className:"text-[#f84d4f]",children:"*"})]}),t("input",{className:l("mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none",b?"border-[#f84d4f]":"border-[#d8d8d8]",s?"rounded-[4px]":"rounded-none"),value:d,onChange:e=>{P(e.target.value),v("")}}),b&&t(g,{className:"mt-[4px] text-[12px] text-[#f84d4f]",html:b})]}),n("div",{children:[n("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:[a.lastName," ",t("span",{className:"text-[#f84d4f]",children:"*"})]}),t("input",{className:l("mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none",N?"border-[#f84d4f]":"border-[#d8d8d8]",s?"rounded-[4px]":"rounded-none"),value:i,onChange:e=>{w(e.target.value),h("")}}),N&&t(g,{className:"mt-[4px] text-[12px] text-[#f84d4f]",html:N})]}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.birthday}),t("input",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none",s?"rounded-[4px]":"rounded-none"),type:"date",value:f,onChange:e=>y(e.target.value)})]}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.phone}),t("input",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none",s?"rounded-[4px]":"rounded-none"),value:u,onChange:e=>E(e.target.value)})]}),n("div",{children:[t("label",{className:"block text-[14px] font-[700] text-[#1d1d1f]",children:a.country}),t("select",{className:l("mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none",s?"rounded-[4px]":"rounded-none"),value:p,onChange:e=>c(e.target.value),children:m.map(e=>t("option",{value:e.id,children:e.name},e.id))})]}),n("div",{className:"flex gap-[12px]",children:[t(L,{variant:"secondary",size:"base",className:"flex-1",onClick:x,disabled:B,children:a.cancel}),t(L,{variant:"primary",size:"base",className:"flex-1",loading:B,onClick:M,children:a.save})]})]})}export{G as default};
2
2
  //# sourceMappingURL=CompleteProfilePanel.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.tsx"],
4
- "sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\nimport { Button, Text } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useHeadlessContext } from '@anker-in/lib'\nimport type { CompleteProfileCopy } from '../../type'\nimport { useUpdateProfile } from './hooks/useUpdateProfile'\nimport useCountries from '../../../credits/context/hooks/useCountries'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: CompleteProfileCopy\n onClose: () => void\n}\n\nexport default function CompleteProfilePanel({ copy, onClose }: Props) {\n const { profile, fetchCreditInfo, alpcConfig, setIsProfileCompleteSuccess } = useMemberPopupContext()\n const { locale } = alpcConfig\n const { brand, storeDomain } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const [firstName, setFirstName] = useState('')\n const [lastName, setLastName] = useState('')\n const [phone, setPhone] = useState('')\n const [birthDay, setBirthDay] = useState('')\n const [country, setCountry] = useState('')\n const [firstNameError, setFirstNameError] = useState('')\n const [lastNameError, setLastNameError] = useState('')\n\n const { updateProfile, isLoading } = useUpdateProfile({ locale, appName: alpcConfig.appName })\n const { countries } = useCountries({ shopifyStoreDomain: storeDomain })\n\n useEffect(() => {\n if (profile) {\n setFirstName(profile.first_name ?? '')\n setLastName(profile.last_name ?? '')\n setPhone(profile.phone_number ?? '')\n setBirthDay(profile.dob ?? '')\n setCountry(profile.country?.id ?? '')\n }\n }, [profile])\n\n useEffect(() => {\n if (countries.length > 0 && !country) {\n setCountry(countries[0].id)\n }\n }, [countries])\n\n const validate = useCallback(() => {\n let hasError = false\n if (!firstName.trim()) {\n setFirstNameError(copy.required)\n hasError = true\n } else {\n setFirstNameError('')\n }\n if (!lastName.trim()) {\n setLastNameError(copy.required)\n hasError = true\n } else {\n setLastNameError('')\n }\n return hasError\n }, [firstName, lastName, copy.required])\n\n const handleSubmit = useCallback(async () => {\n if (validate()) return\n const success = await updateProfile({\n first_name: firstName.trim(),\n last_name: lastName.trim(),\n phone_number: phone,\n country,\n dob: birthDay,\n })\n if (success) {\n setTimeout(() => fetchCreditInfo(profile?.user_id), 3000)\n setIsProfileCompleteSuccess(true)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'earn_credits',\n button_name: 'complete_profile_success',\n info: 'Member Floating Window',\n },\n })\n onClose()\n }\n }, [\n validate,\n updateProfile,\n firstName,\n lastName,\n phone,\n country,\n birthDay,\n fetchCreditInfo,\n profile,\n setIsProfileCompleteSuccess,\n onClose,\n ])\n\n return (\n <div className=\"flex flex-col gap-[16px]\">\n {copy.subtitle && <Text className=\"text-[14px] text-[#1d1d1f]\" html={copy.subtitle} />}\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.email}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] bg-[#f5f5f5] px-[12px] text-[14px] text-[#999]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={profile?.email ?? ''}\n disabled\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.firstName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n firstNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={firstName}\n onChange={e => {\n setFirstName(e.target.value)\n setFirstNameError('')\n }}\n />\n {firstNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={firstNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.lastName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n lastNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={lastName}\n onChange={e => {\n setLastName(e.target.value)\n setLastNameError('')\n }}\n />\n {lastNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={lastNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.birthday}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n type=\"date\"\n value={birthDay}\n onChange={e => setBirthDay(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.phone}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={phone}\n onChange={e => setPhone(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.country}</label>\n <select\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={country}\n onChange={e => setCountry(e.target.value)}\n >\n {countries.map((c: { id: string; name: string }) => (\n <option key={c.id} value={c.id}>\n {c.name}\n </option>\n ))}\n </select>\n </div>\n\n <div className=\"flex gap-[12px]\">\n <Button variant=\"secondary\" size=\"base\" className=\"flex-1\" onClick={onClose} disabled={isLoading}>\n {copy.cancel}\n </Button>\n <Button variant=\"primary\" size=\"base\" className=\"flex-1\" loading={isLoading} onClick={handleSubmit}>\n {copy.save}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\nimport { Button, Text } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useHeadlessContext } from '../../../../lib'\nimport type { CompleteProfileCopy } from '../../type'\nimport { useUpdateProfile } from './hooks/useUpdateProfile'\nimport useCountries from '../../../credits/context/hooks/useCountries'\nimport { useMemberPopupContext } from '../../context/provider'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: CompleteProfileCopy\n onClose: () => void\n}\n\nexport default function CompleteProfilePanel({ copy, onClose }: Props) {\n const { profile, fetchCreditInfo, alpcConfig, setIsProfileCompleteSuccess } = useMemberPopupContext()\n const { locale } = alpcConfig\n const { brand, storeDomain } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const [firstName, setFirstName] = useState('')\n const [lastName, setLastName] = useState('')\n const [phone, setPhone] = useState('')\n const [birthDay, setBirthDay] = useState('')\n const [country, setCountry] = useState('')\n const [firstNameError, setFirstNameError] = useState('')\n const [lastNameError, setLastNameError] = useState('')\n\n const { updateProfile, isLoading } = useUpdateProfile({ locale, appName: alpcConfig.appName })\n const { countries } = useCountries({ shopifyStoreDomain: storeDomain })\n\n useEffect(() => {\n if (profile) {\n setFirstName(profile.first_name ?? '')\n setLastName(profile.last_name ?? '')\n setPhone(profile.phone_number ?? '')\n setBirthDay(profile.dob ?? '')\n setCountry(profile.country?.id ?? '')\n }\n }, [profile])\n\n useEffect(() => {\n if (countries.length > 0 && !country) {\n setCountry(countries[0].id)\n }\n }, [countries])\n\n const validate = useCallback(() => {\n let hasError = false\n if (!firstName.trim()) {\n setFirstNameError(copy.required)\n hasError = true\n } else {\n setFirstNameError('')\n }\n if (!lastName.trim()) {\n setLastNameError(copy.required)\n hasError = true\n } else {\n setLastNameError('')\n }\n return hasError\n }, [firstName, lastName, copy.required])\n\n const handleSubmit = useCallback(async () => {\n if (validate()) return\n const success = await updateProfile({\n first_name: firstName.trim(),\n last_name: lastName.trim(),\n phone_number: phone,\n country,\n dob: birthDay,\n })\n if (success) {\n setTimeout(() => fetchCreditInfo(profile?.user_id), 3000)\n setIsProfileCompleteSuccess(true)\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n position: 'earn_credits',\n button_name: 'complete_profile_success',\n info: 'Member Floating Window',\n },\n })\n onClose()\n }\n }, [\n validate,\n updateProfile,\n firstName,\n lastName,\n phone,\n country,\n birthDay,\n fetchCreditInfo,\n profile,\n setIsProfileCompleteSuccess,\n onClose,\n ])\n\n return (\n <div className=\"flex flex-col gap-[16px]\">\n {copy.subtitle && <Text className=\"text-[14px] text-[#1d1d1f]\" html={copy.subtitle} />}\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.email}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] bg-[#f5f5f5] px-[12px] text-[14px] text-[#999]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={profile?.email ?? ''}\n disabled\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.firstName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n firstNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={firstName}\n onChange={e => {\n setFirstName(e.target.value)\n setFirstNameError('')\n }}\n />\n {firstNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={firstNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">\n {copy.lastName} <span className=\"text-[#f84d4f]\">*</span>\n </label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border px-[12px] text-[14px] outline-none',\n lastNameError ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={lastName}\n onChange={e => {\n setLastName(e.target.value)\n setLastNameError('')\n }}\n />\n {lastNameError && <Text className=\"mt-[4px] text-[12px] text-[#f84d4f]\" html={lastNameError} />}\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.birthday}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n type=\"date\"\n value={birthDay}\n onChange={e => setBirthDay(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.phone}</label>\n <input\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={phone}\n onChange={e => setPhone(e.target.value)}\n />\n </div>\n\n <div>\n <label className=\"block text-[14px] font-[700] text-[#1d1d1f]\">{copy.country}</label>\n <select\n className={cn(\n 'mt-[8px] h-[46px] w-full border border-[#d8d8d8] px-[12px] text-[14px] outline-none',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n value={country}\n onChange={e => setCountry(e.target.value)}\n >\n {countries.map((c: { id: string; name: string }) => (\n <option key={c.id} value={c.id}>\n {c.name}\n </option>\n ))}\n </select>\n </div>\n\n <div className=\"flex gap-[12px]\">\n <Button variant=\"secondary\" size=\"base\" className=\"flex-1\" onClick={onClose} disabled={isLoading}>\n {copy.cancel}\n </Button>\n <Button variant=\"primary\" size=\"base\" className=\"flex-1\" loading={isLoading} onClick={handleSubmit}>\n {copy.save}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsxs", "useCallback", "useEffect", "useState", "Button", "Text", "gaTrack", "cn", "useHeadlessContext", "useUpdateProfile", "useCountries", "useMemberPopupContext", "ROUNDED_BRANDS", "CompleteProfilePanel", "copy", "onClose", "profile", "fetchCreditInfo", "alpcConfig", "setIsProfileCompleteSuccess", "locale", "brand", "storeDomain", "rounded", "firstName", "setFirstName", "lastName", "setLastName", "phone", "setPhone", "birthDay", "setBirthDay", "country", "setCountry", "firstNameError", "setFirstNameError", "lastNameError", "setLastNameError", "updateProfile", "isLoading", "countries", "validate", "hasError", "handleSubmit", "c"]
7
7
  }
@@ -4,5 +4,5 @@ type Props = {
4
4
  email?: string;
5
5
  onClose: () => void;
6
6
  };
7
- export default function SubscribeEmailPanel({ copy, email: initialEmail, onClose }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export default function SubscribeEmailPanel({ copy, email: initialEmail, onClose }: Props): import("react").JSX.Element;
8
8
  export {};
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as d}from"react/jsx-runtime";import{useCallback as B,useEffect as D,useState as l}from"react";import{Button as E,Checkbox as I,Text as C}from"@anker-in/headless-ui";import{gaTrack as L,classNames as N,useHeadlessContext as O}from"@anker-in/lib";import c from"js-cookie";import{parse as A}from"query-string";import{emailValidate as H}from"../../../credits/context/utils";import{useMemberPopupContext as R}from"../../context/provider";import{ROUNDED_BRANDS as j}from"../../../../constants";function q(){if(typeof window>"u")return{register_source:""};const{search:e,href:o}=window.location,a=A(e);return{fbuy_ref_code:c.get("fbuy_ref_code"),ref:c.get("ref_ads"),inviter_code:a.ic??a.inviter_code??c.get("inviter_code"),register_source:a.redirect??c.get("reg_source")??o}}function J({copy:e,email:o,onClose:a}){const{alpcConfig:S,setIsSubscribeSuccess:p,fetchCreditInfo:k,profile:m}=R(),{brand:x,locale:b}=S,{brand:w}=O(),T=j.includes(w),[u,g]=l(e.policyDefaultChecked??!1),[i,h]=l(o??""),[n,s]=l(""),[f,_]=l(""),[M,v]=l(!1);D(()=>{o&&h(o)},[o]);const P=B(async()=>{if(s(""),!i)return s("Please fill in your email");if(!H(i))return s("Invalid email address");if(!u)return s("Please agree to the policy");v(!0);const{register_source:r}=q();try{const y=await(await fetch("/api/multipass/subscribe/subscribe_emails",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","current-language":b},body:JSON.stringify({email:i,register_source:r,brand:x,deals_type:e.dealsType??"vip_subscribe"})})).json();y.errors?s(y.errors??"Error occurred"):(_(e.successTips??"Subscribed successfully!"),p(!0),m?.user_id&&setTimeout(()=>k(m.user_id),3e3),L({event:"ga4Event",event_name:"subscribe",event_parameters:{page_group:e.dealsType??"",position:"sticky",info:""}}),setTimeout(()=>{_(""),a()},3e3))}catch{s("Network error")}finally{v(!1)}},[i,u,b,x,e,a,p]);return d("div",{className:"flex flex-col gap-[12px]",children:[d("div",{className:"flex flex-col gap-[8px]",children:[e.title&&t("h2",{className:"text-[24px] font-[700] leading-[1.2] text-[#080a0f]",children:e.title}),e.desc&&t(C,{className:"text-[16px] text-[#1e2024]",html:e.desc})]}),d("div",{className:"flex flex-col gap-[16px]",children:[t("input",{className:N("h-[46px] w-full border px-[14px] text-[16px] outline-none placeholder:text-[#999]",n?"border-[#f84d4f]":"border-[#d8d8d8]",T?"rounded-[4px]":"rounded-none"),placeholder:e.placeholder,value:i,onChange:r=>{s(""),h(r.target.value.trim())}}),d("div",{className:"flex w-full items-start gap-[8px]",children:[t(I,{checked:u,onCheckedChange:()=>g(r=>!r),className:"mt-[2px] border-[#1d1d1f]"}),t("label",{className:"cursor-pointer text-left text-[14px] text-[#1e2024] [&_a]:underline",onClick:()=>g(r=>!r),dangerouslySetInnerHTML:{__html:e.policy??""}})]}),(n||f)&&t("div",{className:N("text-[14px] font-[700]",n&&"text-[#f84d4f]",f&&"text-[#52c41a]"),children:t(C,{html:f||n})}),t(E,{className:"w-full",loading:M,onClick:P,children:e.buttonLabel??"Subscribe"})]})]})}export{J as default};
1
+ import{jsx as t,jsxs as d}from"react/jsx-runtime";import{useCallback as B,useEffect as D,useState as l}from"react";import{Button as E,Checkbox as I,Text as C}from"@anker-in/headless-ui";import{gaTrack as L,classNames as N,useHeadlessContext as O}from"../../../../lib";import c from"js-cookie";import{parse as A}from"query-string";import{emailValidate as H}from"../../../credits/context/utils";import{useMemberPopupContext as R}from"../../context/provider";import{ROUNDED_BRANDS as j}from"../../../../constants";function q(){if(typeof window>"u")return{register_source:""};const{search:e,href:o}=window.location,a=A(e);return{fbuy_ref_code:c.get("fbuy_ref_code"),ref:c.get("ref_ads"),inviter_code:a.ic??a.inviter_code??c.get("inviter_code"),register_source:a.redirect??c.get("reg_source")??o}}function J({copy:e,email:o,onClose:a}){const{alpcConfig:S,setIsSubscribeSuccess:p,fetchCreditInfo:k,profile:m}=R(),{brand:x,locale:b}=S,{brand:w}=O(),T=j.includes(w),[u,g]=l(e.policyDefaultChecked??!1),[i,h]=l(o??""),[n,s]=l(""),[f,_]=l(""),[M,v]=l(!1);D(()=>{o&&h(o)},[o]);const P=B(async()=>{if(s(""),!i)return s("Please fill in your email");if(!H(i))return s("Invalid email address");if(!u)return s("Please agree to the policy");v(!0);const{register_source:r}=q();try{const y=await(await fetch("/api/multipass/subscribe/subscribe_emails",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json","current-language":b},body:JSON.stringify({email:i,register_source:r,brand:x,deals_type:e.dealsType??"vip_subscribe"})})).json();y.errors?s(y.errors??"Error occurred"):(_(e.successTips??"Subscribed successfully!"),p(!0),m?.user_id&&setTimeout(()=>k(m.user_id),3e3),L({event:"ga4Event",event_name:"subscribe",event_parameters:{page_group:e.dealsType??"",position:"sticky",info:""}}),setTimeout(()=>{_(""),a()},3e3))}catch{s("Network error")}finally{v(!1)}},[i,u,b,x,e,a,p]);return d("div",{className:"flex flex-col gap-[12px]",children:[d("div",{className:"flex flex-col gap-[8px]",children:[e.title&&t("h2",{className:"text-[24px] font-[700] leading-[1.2] text-[#080a0f]",children:e.title}),e.desc&&t(C,{className:"text-[16px] text-[#1e2024]",html:e.desc})]}),d("div",{className:"flex flex-col gap-[16px]",children:[t("input",{className:N("h-[46px] w-full border px-[14px] text-[16px] outline-none placeholder:text-[#999]",n?"border-[#f84d4f]":"border-[#d8d8d8]",T?"rounded-[4px]":"rounded-none"),placeholder:e.placeholder,value:i,onChange:r=>{s(""),h(r.target.value.trim())}}),d("div",{className:"flex w-full items-start gap-[8px]",children:[t(I,{checked:u,onCheckedChange:()=>g(r=>!r),className:"mt-[2px] border-[#1d1d1f]"}),t("label",{className:"cursor-pointer text-left text-[14px] text-[#1e2024] [&_a]:underline",onClick:()=>g(r=>!r),dangerouslySetInnerHTML:{__html:e.policy??""}})]}),(n||f)&&t("div",{className:N("text-[14px] font-[700]",n&&"text-[#f84d4f]",f&&"text-[#52c41a]"),children:t(C,{html:f||n})}),t(E,{className:"w-full",loading:M,onClick:P,children:e.buttonLabel??"Subscribe"})]})]})}export{J as default};
2
2
  //# sourceMappingURL=SubscribeEmailPanel.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.tsx"],
4
- "sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\nimport { Button, Checkbox, Text } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useHeadlessContext } from '@anker-in/lib'\nimport Cookies from 'js-cookie'\nimport { parse } from 'query-string'\nimport { emailValidate } from '../../../credits/context/utils'\nimport { useMemberPopupContext } from '../../context/provider'\nimport type { SubscribeModalCopy } from '../../type'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: SubscribeModalCopy\n email?: string\n onClose: () => void\n}\n\nfunction getAdCookie() {\n if (typeof window === 'undefined') return { register_source: '' }\n const { search, href } = window.location\n const query = parse(search)\n return {\n fbuy_ref_code: Cookies.get('fbuy_ref_code'),\n ref: Cookies.get('ref_ads'),\n inviter_code: query.ic ?? query.inviter_code ?? Cookies.get('inviter_code'),\n register_source: query.redirect ?? Cookies.get('reg_source') ?? href,\n }\n}\n\nexport default function SubscribeEmailPanel({ copy, email: initialEmail, onClose }: Props) {\n const { alpcConfig, setIsSubscribeSuccess, fetchCreditInfo, profile } = useMemberPopupContext()\n const { brand, locale } = alpcConfig\n const { brand: headlessBrand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(headlessBrand)\n const [policy, setPolicy] = useState(copy.policyDefaultChecked ?? false)\n const [email, setEmail] = useState(initialEmail ?? '')\n const [errorMessage, setErrorMessage] = useState('')\n const [successMessage, setSuccessMessage] = useState('')\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n if (initialEmail) setEmail(initialEmail)\n }, [initialEmail])\n\n const handleSubmit = useCallback(async () => {\n setErrorMessage('')\n if (!email) return setErrorMessage('Please fill in your email')\n if (!emailValidate(email)) return setErrorMessage('Invalid email address')\n if (!policy) return setErrorMessage('Please agree to the policy')\n\n setLoading(true)\n const { register_source } = getAdCookie()\n try {\n const response = await fetch('/api/multipass/subscribe/subscribe_emails', {\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json', 'current-language': locale },\n body: JSON.stringify({\n email,\n register_source,\n brand,\n deals_type: copy.dealsType ?? 'vip_subscribe',\n }),\n })\n const result = await response.json()\n if (!result.errors) {\n setSuccessMessage(copy.successTips ?? 'Subscribed successfully!')\n setIsSubscribeSuccess(true)\n if (profile?.user_id) setTimeout(() => fetchCreditInfo(profile.user_id), 3000)\n gaTrack({\n event: 'ga4Event',\n event_name: 'subscribe',\n event_parameters: {\n page_group: copy.dealsType ?? '',\n position: 'sticky',\n info: '',\n },\n })\n setTimeout(() => {\n setSuccessMessage('')\n onClose()\n }, 3000)\n } else {\n setErrorMessage(result.errors ?? 'Error occurred')\n }\n } catch {\n setErrorMessage('Network error')\n } finally {\n setLoading(false)\n }\n }, [email, policy, locale, brand, copy, onClose, setIsSubscribeSuccess])\n\n return (\n <div className=\"flex flex-col gap-[12px]\">\n <div className=\"flex flex-col gap-[8px]\">\n {copy.title && <h2 className=\"text-[24px] font-[700] leading-[1.2] text-[#080a0f]\">{copy.title}</h2>}\n {copy.desc && <Text className=\"text-[16px] text-[#1e2024]\" html={copy.desc} />}\n </div>\n\n <div className=\"flex flex-col gap-[16px]\">\n <input\n className={cn(\n 'h-[46px] w-full border px-[14px] text-[16px] outline-none placeholder:text-[#999]',\n errorMessage ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n placeholder={copy.placeholder}\n value={email}\n onChange={e => {\n setErrorMessage('')\n setEmail(e.target.value.trim())\n }}\n />\n\n <div className=\"flex w-full items-start gap-[8px]\">\n <Checkbox checked={policy} onCheckedChange={() => setPolicy(v => !v)} className=\"mt-[2px] border-[#1d1d1f]\" />\n <label\n className=\"cursor-pointer text-left text-[14px] text-[#1e2024] [&_a]:underline\"\n onClick={() => setPolicy(v => !v)}\n dangerouslySetInnerHTML={{ __html: copy.policy ?? '' }}\n />\n </div>\n\n {(errorMessage || successMessage) && (\n <div\n className={cn(\n 'text-[14px] font-[700]',\n errorMessage && 'text-[#f84d4f]',\n successMessage && 'text-[#52c41a]'\n )}\n >\n <Text html={successMessage || errorMessage} />\n </div>\n )}\n\n <Button className=\"w-full\" loading={loading} onClick={handleSubmit}>\n {copy.buttonLabel ?? 'Subscribe'}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\nimport { Button, Checkbox, Text } from '@anker-in/headless-ui'\nimport { gaTrack, classNames as cn, useHeadlessContext } from '../../../../lib'\nimport Cookies from 'js-cookie'\nimport { parse } from 'query-string'\nimport { emailValidate } from '../../../credits/context/utils'\nimport { useMemberPopupContext } from '../../context/provider'\nimport type { SubscribeModalCopy } from '../../type'\nimport { ROUNDED_BRANDS } from '../../../../constants'\n\ntype Props = {\n copy: SubscribeModalCopy\n email?: string\n onClose: () => void\n}\n\nfunction getAdCookie() {\n if (typeof window === 'undefined') return { register_source: '' }\n const { search, href } = window.location\n const query = parse(search)\n return {\n fbuy_ref_code: Cookies.get('fbuy_ref_code'),\n ref: Cookies.get('ref_ads'),\n inviter_code: query.ic ?? query.inviter_code ?? Cookies.get('inviter_code'),\n register_source: query.redirect ?? Cookies.get('reg_source') ?? href,\n }\n}\n\nexport default function SubscribeEmailPanel({ copy, email: initialEmail, onClose }: Props) {\n const { alpcConfig, setIsSubscribeSuccess, fetchCreditInfo, profile } = useMemberPopupContext()\n const { brand, locale } = alpcConfig\n const { brand: headlessBrand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(headlessBrand)\n const [policy, setPolicy] = useState(copy.policyDefaultChecked ?? false)\n const [email, setEmail] = useState(initialEmail ?? '')\n const [errorMessage, setErrorMessage] = useState('')\n const [successMessage, setSuccessMessage] = useState('')\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n if (initialEmail) setEmail(initialEmail)\n }, [initialEmail])\n\n const handleSubmit = useCallback(async () => {\n setErrorMessage('')\n if (!email) return setErrorMessage('Please fill in your email')\n if (!emailValidate(email)) return setErrorMessage('Invalid email address')\n if (!policy) return setErrorMessage('Please agree to the policy')\n\n setLoading(true)\n const { register_source } = getAdCookie()\n try {\n const response = await fetch('/api/multipass/subscribe/subscribe_emails', {\n method: 'POST',\n credentials: 'include',\n headers: { 'Content-Type': 'application/json', 'current-language': locale },\n body: JSON.stringify({\n email,\n register_source,\n brand,\n deals_type: copy.dealsType ?? 'vip_subscribe',\n }),\n })\n const result = await response.json()\n if (!result.errors) {\n setSuccessMessage(copy.successTips ?? 'Subscribed successfully!')\n setIsSubscribeSuccess(true)\n if (profile?.user_id) setTimeout(() => fetchCreditInfo(profile.user_id), 3000)\n gaTrack({\n event: 'ga4Event',\n event_name: 'subscribe',\n event_parameters: {\n page_group: copy.dealsType ?? '',\n position: 'sticky',\n info: '',\n },\n })\n setTimeout(() => {\n setSuccessMessage('')\n onClose()\n }, 3000)\n } else {\n setErrorMessage(result.errors ?? 'Error occurred')\n }\n } catch {\n setErrorMessage('Network error')\n } finally {\n setLoading(false)\n }\n }, [email, policy, locale, brand, copy, onClose, setIsSubscribeSuccess])\n\n return (\n <div className=\"flex flex-col gap-[12px]\">\n <div className=\"flex flex-col gap-[8px]\">\n {copy.title && <h2 className=\"text-[24px] font-[700] leading-[1.2] text-[#080a0f]\">{copy.title}</h2>}\n {copy.desc && <Text className=\"text-[16px] text-[#1e2024]\" html={copy.desc} />}\n </div>\n\n <div className=\"flex flex-col gap-[16px]\">\n <input\n className={cn(\n 'h-[46px] w-full border px-[14px] text-[16px] outline-none placeholder:text-[#999]',\n errorMessage ? 'border-[#f84d4f]' : 'border-[#d8d8d8]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n placeholder={copy.placeholder}\n value={email}\n onChange={e => {\n setErrorMessage('')\n setEmail(e.target.value.trim())\n }}\n />\n\n <div className=\"flex w-full items-start gap-[8px]\">\n <Checkbox checked={policy} onCheckedChange={() => setPolicy(v => !v)} className=\"mt-[2px] border-[#1d1d1f]\" />\n <label\n className=\"cursor-pointer text-left text-[14px] text-[#1e2024] [&_a]:underline\"\n onClick={() => setPolicy(v => !v)}\n dangerouslySetInnerHTML={{ __html: copy.policy ?? '' }}\n />\n </div>\n\n {(errorMessage || successMessage) && (\n <div\n className={cn(\n 'text-[14px] font-[700]',\n errorMessage && 'text-[#f84d4f]',\n successMessage && 'text-[#52c41a]'\n )}\n >\n <Text html={successMessage || errorMessage} />\n </div>\n )}\n\n <Button className=\"w-full\" loading={loading} onClick={handleSubmit}>\n {copy.buttonLabel ?? 'Subscribe'}\n </Button>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsxs", "useCallback", "useEffect", "useState", "Button", "Checkbox", "Text", "gaTrack", "cn", "useHeadlessContext", "Cookies", "parse", "emailValidate", "useMemberPopupContext", "ROUNDED_BRANDS", "getAdCookie", "search", "href", "query", "SubscribeEmailPanel", "copy", "initialEmail", "onClose", "alpcConfig", "setIsSubscribeSuccess", "fetchCreditInfo", "profile", "brand", "locale", "headlessBrand", "rounded", "policy", "setPolicy", "email", "setEmail", "errorMessage", "setErrorMessage", "successMessage", "setSuccessMessage", "loading", "setLoading", "handleSubmit", "register_source", "result", "e", "v"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{useMemo as b}from"react";import{useSubscriptions as f}from"@anker-in/lib";import{TaskSubType as p}from"../../../../credits/context/const";import a from"./useActivities";function l({userId:u,brand:r,email:o,locale:c="",apiBaseUrl:i}){const{activities:t}=a({userId:u,brand:r,apiBaseUrl:i,locale:c},{page:1,pageSize:50}),{data:n}=f({email:o,baseUrl:i}),s=n?.data||n;return b(()=>s?.preference?s.preference.some(e=>e.brand===r&&e.subscribe)?!0:t?.some(e=>e.task_sub_type===p.Subscription):!1,[s?.preference,t,r])}export{l as useSubscribed};
1
+ import{useMemo as b}from"react";import{useSubscriptions as f}from"../../../../../lib";import{TaskSubType as p}from"../../../../credits/context/const";import a from"./useActivities";function l({userId:u,brand:r,email:o,locale:c="",apiBaseUrl:i}){const{activities:t}=a({userId:u,brand:r,apiBaseUrl:i,locale:c},{page:1,pageSize:50}),{data:n}=f({email:o,baseUrl:i}),s=n?.data||n;return b(()=>s?.preference?s.preference.some(e=>e.brand===r&&e.subscribe)?!0:t?.some(e=>e.task_sub_type===p.Subscription):!1,[s?.preference,t,r])}export{l as useSubscribed};
2
2
  //# sourceMappingURL=useSubscribed.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.ts"],
4
- "sourcesContent": ["import { useMemo } from 'react'\nimport { useSubscriptions } from '@anker-in/lib'\nimport { TaskSubType } from '../../../../credits/context/const'\nimport useActivities from './useActivities'\n\ntype UseSubscribedConfig = {\n userId: string | undefined\n brand: string\n email: string | undefined\n locale?: string\n apiBaseUrl?: string\n}\n\nexport function useSubscribed({ userId, brand, email, locale = '', apiBaseUrl }: UseSubscribedConfig) {\n const { activities } = useActivities(\n { userId, brand, apiBaseUrl, locale },\n { page: 1, pageSize: 50 }\n )\n const { data: subscription } = useSubscriptions({ email, baseUrl: apiBaseUrl })\n const subscriptionData = subscription?.data || subscription\n\n return useMemo(() => {\n if (!subscriptionData?.preference) {\n return false\n }\n const subscribedByPreference = subscriptionData.preference.some(\n (item: any) => item.brand === brand && item.subscribe\n )\n if (subscribedByPreference) return true\n return activities?.some(item => item.task_sub_type === TaskSubType.Subscription)\n }, [subscriptionData?.preference, activities, brand])\n}\n"],
5
- "mappings": "AAAA,OAAS,WAAAA,MAAe,QACxB,OAAS,oBAAAC,MAAwB,gBACjC,OAAS,eAAAC,MAAmB,oCAC5B,OAAOC,MAAmB,kBAUnB,SAASC,EAAc,CAAE,OAAAC,EAAQ,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAS,GAAI,WAAAC,CAAW,EAAwB,CACpG,KAAM,CAAE,WAAAC,CAAW,EAAIP,EACrB,CAAE,OAAAE,EAAQ,MAAAC,EAAO,WAAAG,EAAY,OAAAD,CAAO,EACpC,CAAE,KAAM,EAAG,SAAU,EAAG,CAC1B,EACM,CAAE,KAAMG,CAAa,EAAIV,EAAiB,CAAE,MAAAM,EAAO,QAASE,CAAW,CAAC,EACxEG,EAAmBD,GAAc,MAAQA,EAE/C,OAAOX,EAAQ,IACRY,GAAkB,WAGQA,EAAiB,WAAW,KACxDC,GAAcA,EAAK,QAAUP,GAASO,EAAK,SAC9C,EACmC,GAC5BH,GAAY,KAAKG,GAAQA,EAAK,gBAAkBX,EAAY,YAAY,EANtE,GAOR,CAACU,GAAkB,WAAYF,EAAYJ,CAAK,CAAC,CACtD",
4
+ "sourcesContent": ["import { useMemo } from 'react'\nimport { useSubscriptions } from '../../../../../lib'\nimport { TaskSubType } from '../../../../credits/context/const'\nimport useActivities from './useActivities'\n\ntype UseSubscribedConfig = {\n userId: string | undefined\n brand: string\n email: string | undefined\n locale?: string\n apiBaseUrl?: string\n}\n\nexport function useSubscribed({ userId, brand, email, locale = '', apiBaseUrl }: UseSubscribedConfig) {\n const { activities } = useActivities(\n { userId, brand, apiBaseUrl, locale },\n { page: 1, pageSize: 50 }\n )\n const { data: subscription } = useSubscriptions({ email, baseUrl: apiBaseUrl })\n const subscriptionData = subscription?.data || subscription\n\n return useMemo(() => {\n if (!subscriptionData?.preference) {\n return false\n }\n const subscribedByPreference = subscriptionData.preference.some(\n (item: any) => item.brand === brand && item.subscribe\n )\n if (subscribedByPreference) return true\n return activities?.some(item => item.task_sub_type === TaskSubType.Subscription)\n }, [subscriptionData?.preference, activities, brand])\n}\n"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe,QACxB,OAAS,oBAAAC,MAAwB,qBACjC,OAAS,eAAAC,MAAmB,oCAC5B,OAAOC,MAAmB,kBAUnB,SAASC,EAAc,CAAE,OAAAC,EAAQ,MAAAC,EAAO,MAAAC,EAAO,OAAAC,EAAS,GAAI,WAAAC,CAAW,EAAwB,CACpG,KAAM,CAAE,WAAAC,CAAW,EAAIP,EACrB,CAAE,OAAAE,EAAQ,MAAAC,EAAO,WAAAG,EAAY,OAAAD,CAAO,EACpC,CAAE,KAAM,EAAG,SAAU,EAAG,CAC1B,EACM,CAAE,KAAMG,CAAa,EAAIV,EAAiB,CAAE,MAAAM,EAAO,QAASE,CAAW,CAAC,EACxEG,EAAmBD,GAAc,MAAQA,EAE/C,OAAOX,EAAQ,IACRY,GAAkB,WAGQA,EAAiB,WAAW,KACxDC,GAAcA,EAAK,QAAUP,GAASO,EAAK,SAC9C,EACmC,GAC5BH,GAAY,KAAKG,GAAQA,EAAK,gBAAkBX,EAAY,YAAY,EANtE,GAOR,CAACU,GAAkB,WAAYF,EAAYJ,CAAK,CAAC,CACtD",
6
6
  "names": ["useMemo", "useSubscriptions", "TaskSubType", "useActivities", "useSubscribed", "userId", "brand", "email", "locale", "apiBaseUrl", "activities", "subscription", "subscriptionData", "item"]
7
7
  }
@@ -2,5 +2,5 @@ import { type EarnCreditsCopy } from '../../type';
2
2
  type Props = {
3
3
  copy: EarnCreditsCopy;
4
4
  };
5
- declare function EarnCredits({ copy }: Props): import("react/jsx-runtime").JSX.Element;
5
+ declare function EarnCredits({ copy }: Props): import("react").JSX.Element;
6
6
  export default EarnCredits;
@@ -1,2 +1,2 @@
1
- import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useEffect as w,useMemo as f}from"react";import{gaTrack as A,classNames as h,useHeadlessContext as I}from"@anker-in/lib";import{useMemberPopupContext as U}from"../../context/provider";import{useViewStack as M}from"../../context/viewStack";import{useSubscribed as R}from"./hooks/useSubscribed";import{EarnCreditsTaskType as s,MemberPopupPanelType as m}from"../../type";import{IconBag as y,IconLock as z,IconSubscription as D,IconOrders as F}from"../../icons";import{numberFormat as S}from"../../../credits/context/utils";import{ROUNDED_BRANDS as O}from"../../../../constants";import{Button as T}from"@anker-in/headless-ui";function V({id:i,className:e}){switch(i){case s.Activate:return t(z,{className:e});case s.Subscribe:return t(D,{className:e});case s.Shop:return t(y,{className:e});case s.CompleteProfile:return t(F,{className:e})}}function H({copy:i}){const{profile:e,openSignUpPopup:l,alpcConfig:x,creditInfo:u,fetchCreditInfo:_,isSubscribeSuccess:b,isActivateSuccess:v,isProfileCompleteSuccess:p}=U(),{pushView:d}=M(),{locale:E}=x,{brand:g}=I(),P=O.includes(g);w(()=>{e?.user_id&&_(e.user_id)},[]);const o=!!e,C=R({userId:e?.user_id,brand:g,email:e?.email,locale:E,apiBaseUrl:x.apiBaseUrl}),N=f(()=>p||!!(e?.first_name||e?.last_name)&&!!e?.phone_number&&!!e?.dob,[e,p]);function c(a){const r={[s.Activate]:"activate",[s.CompleteProfile]:"complete_profile",[s.Subscribe]:"subscribe",[s.Shop]:"shop"};A({event:"ga4Event",event_name:"lp_button",event_parameters:{position:"earn_credits",button_name:r[a],info:"Member Floating Window"}})}const k=f(()=>({[s.Activate]:{finished:!!e?.activated||v,onClick:o?()=>{c(s.Activate),d({type:m.Activate})}:l},[s.CompleteProfile]:{finished:N,onClick:o?()=>{c(s.CompleteProfile),d({type:m.CompleteProfile})}:l},[s.Subscribe]:{finished:C||b,onClick:o?()=>{c(s.Subscribe),d({type:m.SubscribeEmail})}:l},[s.Shop]:{finished:!1,link:i.goShopLink,onClick:o?()=>c(s.Shop):l}}),[e,o,v,p,N,C,b,l,d,i.goShopLink]),L=f(()=>i.list.map(a=>{const r=k[a.id];if(!r)return null;const B=r.finished?i.completed:o?W(a.id,i):i.joinNow;return{...a,...r,buttonLabel:B}}).filter(Boolean),[i,k,o]);return n("div",{className:"flex flex-col gap-[16px]",children:[n("div",{className:"flex flex-col gap-[16px]",children:[t("div",{className:"flex flex-col gap-[8px]",children:i.title&&t("h2",{className:"text-[24px] font-[700] leading-[1.2] text-[#080a0f]",children:i.title})}),o&&n("div",{className:h("flex items-center gap-[12px] bg-[#f5f6f7] p-[16px]",P?"rounded-[8px]":"rounded-none"),children:[n("div",{className:"flex flex-1 flex-col gap-[4px]",children:[t("div",{className:"text-[14px] font-[700] text-[#1e2024]",children:i.balanceLabel??"AnkerCredits Balance"}),n("div",{className:"flex items-end gap-[4px]",children:[t("span",{className:"text-[24px] font-[700] leading-[1.2] text-[#1e2024]",children:S(u?.available_credit??0)}),t("span",{className:"text-[14px] font-[700] leading-[1.4] text-[#1e2024]",children:i.creditUnit??"ankercredits"})]})]}),t("div",{className:"h-full w-px bg-[#dadce0]"}),n("div",{className:"flex flex-1 flex-col gap-[4px]",children:[t("div",{className:"text-[14px] font-[700] text-[#1e2024]",children:i.comingSoonLabel??"Coming Soon"}),n("div",{className:"flex items-end gap-[4px]",children:[t("span",{className:"text-[24px] font-[700] leading-[1.2] text-[#1e2024]",children:S(u?.pending_credit??0)}),t("span",{className:"text-[14px] font-[700] leading-[1.4] text-[#1e2024]",children:i.creditUnit??"ankercredits"})]})]})]})]}),n("div",{className:"flex flex-col gap-[16px]",children:[i.subtitle&&t("p",{className:"text-[16px] font-[700] text-[#1e2024]",children:i.subtitle}),t("div",{className:"flex flex-col",children:L.map((a,r)=>n("div",{className:"relative py-[16px]",children:[r>0&&t("div",{className:"absolute left-0 right-0 top-0 h-px bg-[#dadce0]"}),n("div",{className:h("flex items-center gap-[12px]"),children:[t(V,{id:a.id,className:"size-[24px] shrink-0"}),n("div",{className:"flex-1",children:[t("div",{className:"text-[16px] font-[700] text-[#1e2024]",children:a.title}),a.credits&&t("div",{className:"mt-[4px] text-[14px] font-bold text-[#4A4C56]",children:a.credits})]}),!a.finished&&a.link&&o?t(T,{as:"a",size:"base",href:a.link,target:"_blank",rel:"noopener noreferrer",className:"min-w-[116px]",onClick:()=>c(a.id),children:a.buttonLabel}):t(T,{size:"base",disabled:a.finished,className:"min-w-[116px]",onClick:a.onClick,children:a.buttonLabel})]})]},r))})]})]})}function W(i,e){switch(i){case s.Activate:return e.activate;case s.CompleteProfile:return e.completeProfileLabel;case s.Subscribe:return e.subscribeLabel;case s.Shop:return e.shopNow}}var ee=H;export{ee as default};
1
+ import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useEffect as w,useMemo as f}from"react";import{gaTrack as A,classNames as h,useHeadlessContext as I}from"../../../../lib";import{useMemberPopupContext as U}from"../../context/provider";import{useViewStack as M}from"../../context/viewStack";import{useSubscribed as R}from"./hooks/useSubscribed";import{EarnCreditsTaskType as s,MemberPopupPanelType as m}from"../../type";import{IconBag as y,IconLock as z,IconSubscription as D,IconOrders as F}from"../../icons";import{numberFormat as S}from"../../../credits/context/utils";import{ROUNDED_BRANDS as O}from"../../../../constants";import{Button as T}from"@anker-in/headless-ui";function V({id:i,className:e}){switch(i){case s.Activate:return t(z,{className:e});case s.Subscribe:return t(D,{className:e});case s.Shop:return t(y,{className:e});case s.CompleteProfile:return t(F,{className:e})}}function H({copy:i}){const{profile:e,openSignUpPopup:l,alpcConfig:x,creditInfo:u,fetchCreditInfo:_,isSubscribeSuccess:b,isActivateSuccess:v,isProfileCompleteSuccess:p}=U(),{pushView:d}=M(),{locale:E}=x,{brand:g}=I(),P=O.includes(g);w(()=>{e?.user_id&&_(e.user_id)},[]);const o=!!e,C=R({userId:e?.user_id,brand:g,email:e?.email,locale:E,apiBaseUrl:x.apiBaseUrl}),N=f(()=>p||!!(e?.first_name||e?.last_name)&&!!e?.phone_number&&!!e?.dob,[e,p]);function c(a){const r={[s.Activate]:"activate",[s.CompleteProfile]:"complete_profile",[s.Subscribe]:"subscribe",[s.Shop]:"shop"};A({event:"ga4Event",event_name:"lp_button",event_parameters:{position:"earn_credits",button_name:r[a],info:"Member Floating Window"}})}const k=f(()=>({[s.Activate]:{finished:!!e?.activated||v,onClick:o?()=>{c(s.Activate),d({type:m.Activate})}:l},[s.CompleteProfile]:{finished:N,onClick:o?()=>{c(s.CompleteProfile),d({type:m.CompleteProfile})}:l},[s.Subscribe]:{finished:C||b,onClick:o?()=>{c(s.Subscribe),d({type:m.SubscribeEmail})}:l},[s.Shop]:{finished:!1,link:i.goShopLink,onClick:o?()=>c(s.Shop):l}}),[e,o,v,p,N,C,b,l,d,i.goShopLink]),L=f(()=>i.list.map(a=>{const r=k[a.id];if(!r)return null;const B=r.finished?i.completed:o?W(a.id,i):i.joinNow;return{...a,...r,buttonLabel:B}}).filter(Boolean),[i,k,o]);return n("div",{className:"flex flex-col gap-[16px]",children:[n("div",{className:"flex flex-col gap-[16px]",children:[t("div",{className:"flex flex-col gap-[8px]",children:i.title&&t("h2",{className:"text-[24px] font-[700] leading-[1.2] text-[#080a0f]",children:i.title})}),o&&n("div",{className:h("flex items-center gap-[12px] bg-[#f5f6f7] p-[16px]",P?"rounded-[8px]":"rounded-none"),children:[n("div",{className:"flex flex-1 flex-col gap-[4px]",children:[t("div",{className:"text-[14px] font-[700] text-[#1e2024]",children:i.balanceLabel??"AnkerCredits Balance"}),n("div",{className:"flex items-end gap-[4px]",children:[t("span",{className:"text-[24px] font-[700] leading-[1.2] text-[#1e2024]",children:S(u?.available_credit??0)}),t("span",{className:"text-[14px] font-[700] leading-[1.4] text-[#1e2024]",children:i.creditUnit??"ankercredits"})]})]}),t("div",{className:"h-full w-px bg-[#dadce0]"}),n("div",{className:"flex flex-1 flex-col gap-[4px]",children:[t("div",{className:"text-[14px] font-[700] text-[#1e2024]",children:i.comingSoonLabel??"Coming Soon"}),n("div",{className:"flex items-end gap-[4px]",children:[t("span",{className:"text-[24px] font-[700] leading-[1.2] text-[#1e2024]",children:S(u?.pending_credit??0)}),t("span",{className:"text-[14px] font-[700] leading-[1.4] text-[#1e2024]",children:i.creditUnit??"ankercredits"})]})]})]})]}),n("div",{className:"flex flex-col gap-[16px]",children:[i.subtitle&&t("p",{className:"text-[16px] font-[700] text-[#1e2024]",children:i.subtitle}),t("div",{className:"flex flex-col",children:L.map((a,r)=>n("div",{className:"relative py-[16px]",children:[r>0&&t("div",{className:"absolute left-0 right-0 top-0 h-px bg-[#dadce0]"}),n("div",{className:h("flex items-center gap-[12px]"),children:[t(V,{id:a.id,className:"size-[24px] shrink-0"}),n("div",{className:"flex-1",children:[t("div",{className:"text-[16px] font-[700] text-[#1e2024]",children:a.title}),a.credits&&t("div",{className:"mt-[4px] text-[14px] font-bold text-[#4A4C56]",children:a.credits})]}),!a.finished&&a.link&&o?t(T,{as:"a",size:"base",href:a.link,target:"_blank",rel:"noopener noreferrer",className:"min-w-[116px]",onClick:()=>c(a.id),children:a.buttonLabel}):t(T,{size:"base",disabled:a.finished,className:"min-w-[116px]",onClick:a.onClick,children:a.buttonLabel})]})]},r))})]})]})}function W(i,e){switch(i){case s.Activate:return e.activate;case s.CompleteProfile:return e.completeProfileLabel;case s.Subscribe:return e.subscribeLabel;case s.Shop:return e.shopNow}}var ee=H;export{ee as default};
2
2
  //# sourceMappingURL=index.js.map