@anker-in/campaign-ui 0.2.0 → 0.2.2-beta.1

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 (529) hide show
  1. package/dist/cjs/components/chat/index.js +1 -1
  2. package/dist/cjs/components/chat/index.js.map +3 -3
  3. package/dist/cjs/components/credits/context/hooks/useActivities.js +1 -1
  4. package/dist/cjs/components/credits/context/hooks/useActivities.js.map +3 -3
  5. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js +1 -1
  6. package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js.map +3 -3
  7. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.d.ts +7 -0
  8. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js +2 -0
  9. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js.map +7 -0
  10. package/dist/cjs/components/credits/context/hooks/useMyRewards.js +1 -1
  11. package/dist/cjs/components/credits/context/hooks/useMyRewards.js.map +3 -3
  12. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  13. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  14. package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js +1 -1
  15. package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js.map +3 -3
  16. package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js +1 -1
  17. package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js.map +3 -3
  18. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +1 -1
  19. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +3 -3
  20. package/dist/cjs/components/credits/context/hooks/useSubscribed.js +1 -1
  21. package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +3 -3
  22. package/dist/cjs/components/credits/context/memberPriceConst.d.ts +10 -0
  23. package/dist/cjs/components/credits/context/memberPriceConst.js +2 -0
  24. package/dist/cjs/components/credits/context/memberPriceConst.js.map +7 -0
  25. package/dist/cjs/components/credits/context/memberPriceTypes.d.ts +46 -0
  26. package/dist/cjs/components/credits/context/memberPriceTypes.js +2 -0
  27. package/dist/cjs/components/credits/context/memberPriceTypes.js.map +7 -0
  28. package/dist/cjs/components/credits/context/provider.d.ts +11 -33
  29. package/dist/cjs/components/credits/context/provider.js +1 -1
  30. package/dist/cjs/components/credits/context/provider.js.map +3 -3
  31. package/dist/cjs/components/credits/context/utils/atobID.d.ts +1 -0
  32. package/dist/cjs/components/credits/context/utils/atobID.js +2 -0
  33. package/dist/cjs/components/credits/context/utils/atobID.js.map +7 -0
  34. package/dist/cjs/components/credits/context/utils/functionDiscountCalculate.d.ts +5 -0
  35. package/dist/cjs/components/credits/context/utils/functionDiscountCalculate.js +2 -0
  36. package/dist/cjs/components/credits/context/utils/functionDiscountCalculate.js.map +7 -0
  37. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.d.ts +8 -0
  38. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js +2 -0
  39. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js.map +7 -0
  40. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +9 -0
  41. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +2 -0
  42. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +7 -0
  43. package/dist/cjs/components/credits/context/utils/variantGetCoupon.d.ts +6 -0
  44. package/dist/cjs/components/credits/context/utils/variantGetCoupon.js +2 -0
  45. package/dist/cjs/components/credits/context/utils/variantGetCoupon.js.map +7 -0
  46. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.d.ts +4 -0
  47. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +2 -0
  48. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +7 -0
  49. package/dist/cjs/components/credits/creditsAnkersolixTask/index.d.ts +2 -0
  50. package/dist/cjs/components/credits/creditsAnkersolixTask/index.js +2 -0
  51. package/dist/cjs/components/credits/creditsAnkersolixTask/index.js.map +7 -0
  52. package/dist/cjs/components/credits/creditsAnkersolixTask/type.d.ts +1 -0
  53. package/dist/cjs/components/credits/creditsAnkersolixTask/type.js +2 -0
  54. package/dist/cjs/components/credits/creditsAnkersolixTask/type.js.map +7 -0
  55. package/dist/cjs/components/credits/creditsBanner/index.d.ts +17 -16
  56. package/dist/cjs/components/credits/creditsBanner/index.js +1 -1
  57. package/dist/cjs/components/credits/creditsBanner/index.js.map +3 -3
  58. package/dist/cjs/components/credits/creditsBenefits/benefitItem.d.ts +4 -1
  59. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +2 -2
  60. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +4 -4
  61. package/dist/cjs/components/credits/creditsBenefits/iconInfo.js +1 -1
  62. package/dist/cjs/components/credits/creditsBenefits/iconInfo.js.map +2 -2
  63. package/dist/cjs/components/credits/creditsBenefits/index.d.ts +12 -9
  64. package/dist/cjs/components/credits/creditsBenefits/index.js +3 -3
  65. package/dist/cjs/components/credits/creditsBenefits/index.js.map +3 -3
  66. package/dist/cjs/components/credits/creditsCash/CreditsCash.d.ts +5 -0
  67. package/dist/cjs/components/credits/creditsCash/CreditsCash.js +2 -0
  68. package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +7 -0
  69. package/dist/cjs/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
  70. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
  71. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  72. package/dist/cjs/components/credits/creditsCash/index.d.ts +2 -11
  73. package/dist/cjs/components/credits/creditsCash/index.js +1 -1
  74. package/dist/cjs/components/credits/creditsCash/index.js.map +4 -4
  75. package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -3
  76. package/dist/cjs/components/credits/creditsCash/type.js +1 -1
  77. package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
  78. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  79. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  80. package/dist/cjs/components/credits/creditsFaq/index.d.ts +4 -3
  81. package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
  82. package/dist/cjs/components/credits/creditsFaq/index.js.map +3 -3
  83. package/dist/cjs/components/credits/creditsInfoCard/index.d.ts +10 -15
  84. package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
  85. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +3 -3
  86. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.d.ts +5 -0
  87. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js +2 -0
  88. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +7 -0
  89. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.d.ts +7 -0
  90. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js +2 -0
  91. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js.map +7 -0
  92. package/dist/cjs/components/credits/creditsMemberPrice/index.d.ts +2 -0
  93. package/dist/cjs/components/credits/creditsMemberPrice/index.js +2 -0
  94. package/dist/cjs/components/credits/creditsMemberPrice/index.js.map +7 -0
  95. package/dist/cjs/components/credits/creditsMemberPrice/type.d.ts +64 -0
  96. package/dist/cjs/components/credits/creditsMemberPrice/type.js +2 -0
  97. package/dist/cjs/components/credits/creditsMemberPrice/type.js.map +7 -0
  98. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.d.ts +4 -0
  99. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js +2 -0
  100. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js.map +7 -0
  101. package/dist/cjs/components/credits/creditsNavigation/index.d.ts +2 -0
  102. package/dist/cjs/components/credits/creditsNavigation/index.js +2 -0
  103. package/dist/cjs/components/credits/creditsNavigation/index.js.map +7 -0
  104. package/dist/cjs/components/credits/creditsNavigation/type.d.ts +7 -0
  105. package/dist/cjs/components/credits/creditsNavigation/type.js +2 -0
  106. package/dist/cjs/components/credits/creditsNavigation/type.js.map +7 -0
  107. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  108. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  109. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  110. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  111. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  112. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  113. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +5 -0
  114. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
  115. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
  116. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
  117. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js +1 -1
  118. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
  119. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  120. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  121. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  122. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  123. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.js +1 -1
  124. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.js.map +2 -2
  125. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  126. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
  127. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
  128. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
  129. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  130. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
  131. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  132. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  133. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  134. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  135. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  136. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  137. package/dist/cjs/components/credits/creditsRedeemList/index.d.ts +2 -12
  138. package/dist/cjs/components/credits/creditsRedeemList/index.js +1 -1
  139. package/dist/cjs/components/credits/creditsRedeemList/index.js.map +4 -4
  140. package/dist/cjs/components/credits/creditsRedeemList/type.d.ts +2 -15
  141. package/dist/cjs/components/credits/creditsRedeemList/type.js.map +1 -1
  142. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +4 -0
  143. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
  144. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
  145. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
  146. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js +1 -1
  147. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
  148. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
  149. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js +1 -1
  150. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
  151. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
  152. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  153. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
  154. package/dist/cjs/components/credits/modal/MyRewardsModal.js +1 -1
  155. package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +3 -3
  156. package/dist/cjs/components/credits/modal/activitiesModal.js +1 -1
  157. package/dist/cjs/components/credits/modal/activitiesModal.js.map +3 -3
  158. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  159. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  160. package/dist/cjs/components/credits/modal/modalContainer.js +1 -1
  161. package/dist/cjs/components/credits/modal/modalContainer.js.map +3 -3
  162. package/dist/cjs/components/credits/modal/rulesModal.js +1 -1
  163. package/dist/cjs/components/credits/modal/rulesModal.js.map +3 -3
  164. package/dist/cjs/components/credits/modal/subscribeModal.d.ts +15 -0
  165. package/dist/cjs/components/credits/modal/subscribeModal.js +2 -0
  166. package/dist/cjs/components/credits/modal/subscribeModal.js.map +7 -0
  167. package/dist/cjs/components/credits/modal/tip.js +1 -1
  168. package/dist/cjs/components/credits/modal/tip.js.map +3 -3
  169. package/dist/cjs/components/credits/type.d.ts +23 -4
  170. package/dist/cjs/components/credits/type.js +1 -1
  171. package/dist/cjs/components/credits/type.js.map +1 -1
  172. package/dist/cjs/components/index.d.ts +1 -0
  173. package/dist/cjs/components/index.js +1 -1
  174. package/dist/cjs/components/index.js.map +2 -2
  175. package/dist/cjs/components/registration/authCodeActivate/Message.js +1 -1
  176. package/dist/cjs/components/registration/authCodeActivate/Message.js.map +2 -2
  177. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  178. package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
  179. package/dist/cjs/components/registration/authCodeActivate/type.d.ts +1 -2
  180. package/dist/cjs/components/registration/authCodeActivate/type.js +1 -1
  181. package/dist/cjs/components/registration/authCodeActivate/type.js.map +1 -1
  182. package/dist/cjs/components/registration/context/index.d.ts +1 -0
  183. package/dist/cjs/components/registration/context/index.js +2 -0
  184. package/dist/cjs/components/registration/context/index.js.map +7 -0
  185. package/dist/cjs/components/registration/context/provider.d.ts +27 -0
  186. package/dist/cjs/components/registration/context/provider.js +2 -0
  187. package/dist/cjs/components/registration/context/provider.js.map +7 -0
  188. package/dist/cjs/components/registration/index.d.ts +1 -0
  189. package/dist/cjs/components/registration/index.js +1 -1
  190. package/dist/cjs/components/registration/index.js.map +2 -2
  191. package/dist/cjs/components/registration/modalContainer.d.ts +1 -2
  192. package/dist/cjs/components/registration/modalContainer.js +1 -1
  193. package/dist/cjs/components/registration/modalContainer.js.map +3 -3
  194. package/dist/cjs/index.d.ts +2 -1
  195. package/dist/cjs/index.js +1 -1
  196. package/dist/cjs/index.js.map +2 -2
  197. package/dist/cjs/templates/credits.d.ts +73 -0
  198. package/dist/cjs/templates/credits.js +2 -0
  199. package/dist/cjs/templates/credits.js.map +7 -0
  200. package/dist/cjs/templates/index.d.ts +1 -0
  201. package/dist/cjs/templates/index.js +2 -0
  202. package/dist/cjs/templates/index.js.map +7 -0
  203. package/dist/esm/components/chat/index.js +1 -1
  204. package/dist/esm/components/chat/index.js.map +2 -2
  205. package/dist/esm/components/credits/context/hooks/useActivities.js +1 -1
  206. package/dist/esm/components/credits/context/hooks/useActivities.js.map +3 -3
  207. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js +1 -1
  208. package/dist/esm/components/credits/context/hooks/useAlpcFetch.js.map +3 -3
  209. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.d.ts +7 -0
  210. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js +2 -0
  211. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js.map +7 -0
  212. package/dist/esm/components/credits/context/hooks/useMyRewards.js +1 -1
  213. package/dist/esm/components/credits/context/hooks/useMyRewards.js.map +3 -3
  214. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  215. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  216. package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js +1 -1
  217. package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js.map +3 -3
  218. package/dist/esm/components/credits/context/hooks/useRedeemProduct.js +1 -1
  219. package/dist/esm/components/credits/context/hooks/useRedeemProduct.js.map +3 -3
  220. package/dist/esm/components/credits/context/hooks/useRedeemableList.js +1 -1
  221. package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +3 -3
  222. package/dist/esm/components/credits/context/hooks/useSubscribed.js +1 -1
  223. package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +3 -3
  224. package/dist/esm/components/credits/context/memberPriceConst.d.ts +10 -0
  225. package/dist/esm/components/credits/context/memberPriceConst.js +2 -0
  226. package/dist/esm/components/credits/context/memberPriceConst.js.map +7 -0
  227. package/dist/esm/components/credits/context/memberPriceTypes.d.ts +46 -0
  228. package/dist/esm/components/credits/context/memberPriceTypes.js +1 -0
  229. package/dist/esm/components/credits/context/memberPriceTypes.js.map +7 -0
  230. package/dist/esm/components/credits/context/provider.d.ts +11 -33
  231. package/dist/esm/components/credits/context/provider.js +1 -1
  232. package/dist/esm/components/credits/context/provider.js.map +3 -3
  233. package/dist/esm/components/credits/context/utils/atobID.d.ts +1 -0
  234. package/dist/esm/components/credits/context/utils/atobID.js +2 -0
  235. package/dist/esm/components/credits/context/utils/atobID.js.map +7 -0
  236. package/dist/esm/components/credits/context/utils/functionDiscountCalculate.d.ts +5 -0
  237. package/dist/esm/components/credits/context/utils/functionDiscountCalculate.js +2 -0
  238. package/dist/esm/components/credits/context/utils/functionDiscountCalculate.js.map +7 -0
  239. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.d.ts +8 -0
  240. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js +2 -0
  241. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js.map +7 -0
  242. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +9 -0
  243. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +2 -0
  244. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +7 -0
  245. package/dist/esm/components/credits/context/utils/variantGetCoupon.d.ts +6 -0
  246. package/dist/esm/components/credits/context/utils/variantGetCoupon.js +2 -0
  247. package/dist/esm/components/credits/context/utils/variantGetCoupon.js.map +7 -0
  248. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.d.ts +4 -0
  249. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +2 -0
  250. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +7 -0
  251. package/dist/esm/components/credits/creditsAnkersolixTask/index.d.ts +2 -0
  252. package/dist/esm/components/credits/creditsAnkersolixTask/index.js +2 -0
  253. package/dist/esm/components/credits/creditsAnkersolixTask/index.js.map +7 -0
  254. package/dist/esm/components/credits/creditsAnkersolixTask/type.d.ts +1 -0
  255. package/dist/esm/components/credits/creditsAnkersolixTask/type.js +2 -0
  256. package/dist/esm/components/credits/creditsAnkersolixTask/type.js.map +7 -0
  257. package/dist/esm/components/credits/creditsBanner/index.d.ts +17 -16
  258. package/dist/esm/components/credits/creditsBanner/index.js +1 -1
  259. package/dist/esm/components/credits/creditsBanner/index.js.map +3 -3
  260. package/dist/esm/components/credits/creditsBenefits/benefitItem.d.ts +4 -1
  261. package/dist/esm/components/credits/creditsBenefits/benefitItem.js +2 -2
  262. package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +4 -4
  263. package/dist/esm/components/credits/creditsBenefits/iconInfo.js +1 -1
  264. package/dist/esm/components/credits/creditsBenefits/iconInfo.js.map +2 -2
  265. package/dist/esm/components/credits/creditsBenefits/index.d.ts +12 -9
  266. package/dist/esm/components/credits/creditsBenefits/index.js +3 -3
  267. package/dist/esm/components/credits/creditsBenefits/index.js.map +3 -3
  268. package/dist/esm/components/credits/creditsCash/CreditsCash.d.ts +5 -0
  269. package/dist/esm/components/credits/creditsCash/CreditsCash.js +2 -0
  270. package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +7 -0
  271. package/dist/esm/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
  272. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
  273. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  274. package/dist/esm/components/credits/creditsCash/index.d.ts +2 -11
  275. package/dist/esm/components/credits/creditsCash/index.js +1 -1
  276. package/dist/esm/components/credits/creditsCash/index.js.map +4 -4
  277. package/dist/esm/components/credits/creditsCash/type.d.ts +1 -3
  278. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  279. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +2 -2
  280. package/dist/esm/components/credits/creditsFaq/index.d.ts +4 -3
  281. package/dist/esm/components/credits/creditsFaq/index.js +1 -1
  282. package/dist/esm/components/credits/creditsFaq/index.js.map +3 -3
  283. package/dist/esm/components/credits/creditsInfoCard/index.d.ts +10 -15
  284. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  285. package/dist/esm/components/credits/creditsInfoCard/index.js.map +3 -3
  286. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.d.ts +5 -0
  287. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js +2 -0
  288. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +7 -0
  289. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.d.ts +7 -0
  290. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js +2 -0
  291. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js.map +7 -0
  292. package/dist/esm/components/credits/creditsMemberPrice/index.d.ts +2 -0
  293. package/dist/esm/components/credits/creditsMemberPrice/index.js +2 -0
  294. package/dist/esm/components/credits/creditsMemberPrice/index.js.map +7 -0
  295. package/dist/esm/components/credits/creditsMemberPrice/type.d.ts +64 -0
  296. package/dist/esm/components/credits/creditsMemberPrice/type.js +1 -0
  297. package/dist/esm/components/credits/creditsMemberPrice/type.js.map +7 -0
  298. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.d.ts +4 -0
  299. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js +2 -0
  300. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js.map +7 -0
  301. package/dist/esm/components/credits/creditsNavigation/index.d.ts +2 -0
  302. package/dist/esm/components/credits/creditsNavigation/index.js +2 -0
  303. package/dist/esm/components/credits/creditsNavigation/index.js.map +7 -0
  304. package/dist/esm/components/credits/creditsNavigation/type.d.ts +7 -0
  305. package/dist/esm/components/credits/creditsNavigation/type.js +1 -0
  306. package/dist/esm/components/credits/creditsNavigation/type.js.map +7 -0
  307. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  308. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  309. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  310. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  311. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  312. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  313. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +5 -0
  314. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
  315. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
  316. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
  317. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js +1 -1
  318. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
  319. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  320. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  321. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  322. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  323. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.js +1 -1
  324. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.js.map +2 -2
  325. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  326. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
  327. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
  328. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
  329. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  330. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
  331. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  332. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  333. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  334. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  335. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  336. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  337. package/dist/esm/components/credits/creditsRedeemList/index.d.ts +2 -12
  338. package/dist/esm/components/credits/creditsRedeemList/index.js +1 -1
  339. package/dist/esm/components/credits/creditsRedeemList/index.js.map +4 -4
  340. package/dist/esm/components/credits/creditsRedeemList/type.d.ts +2 -15
  341. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +4 -0
  342. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
  343. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
  344. package/dist/esm/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
  345. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js +1 -1
  346. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
  347. package/dist/esm/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
  348. package/dist/esm/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
  349. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
  350. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  351. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
  352. package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
  353. package/dist/esm/components/credits/modal/MyRewardsModal.js.map +3 -3
  354. package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
  355. package/dist/esm/components/credits/modal/activitiesModal.js.map +3 -3
  356. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  357. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  358. package/dist/esm/components/credits/modal/modalContainer.js +1 -1
  359. package/dist/esm/components/credits/modal/modalContainer.js.map +3 -3
  360. package/dist/esm/components/credits/modal/rulesModal.js +1 -1
  361. package/dist/esm/components/credits/modal/rulesModal.js.map +2 -2
  362. package/dist/esm/components/credits/modal/subscribeModal.d.ts +15 -0
  363. package/dist/esm/components/credits/modal/subscribeModal.js +2 -0
  364. package/dist/esm/components/credits/modal/subscribeModal.js.map +7 -0
  365. package/dist/esm/components/credits/modal/tip.js +1 -1
  366. package/dist/esm/components/credits/modal/tip.js.map +3 -3
  367. package/dist/esm/components/credits/type.d.ts +23 -4
  368. package/dist/esm/components/index.d.ts +1 -0
  369. package/dist/esm/components/index.js +1 -1
  370. package/dist/esm/components/index.js.map +2 -2
  371. package/dist/esm/components/registration/authCodeActivate/Message.js +1 -1
  372. package/dist/esm/components/registration/authCodeActivate/Message.js.map +2 -2
  373. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  374. package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
  375. package/dist/esm/components/registration/authCodeActivate/type.d.ts +1 -2
  376. package/dist/esm/components/registration/context/index.d.ts +1 -0
  377. package/dist/esm/components/registration/context/index.js +2 -0
  378. package/dist/esm/components/registration/context/index.js.map +7 -0
  379. package/dist/esm/components/registration/context/provider.d.ts +27 -0
  380. package/dist/esm/components/registration/context/provider.js +2 -0
  381. package/dist/esm/components/registration/context/provider.js.map +7 -0
  382. package/dist/esm/components/registration/index.d.ts +1 -0
  383. package/dist/esm/components/registration/index.js +1 -1
  384. package/dist/esm/components/registration/index.js.map +2 -2
  385. package/dist/esm/components/registration/modalContainer.d.ts +1 -2
  386. package/dist/esm/components/registration/modalContainer.js +1 -1
  387. package/dist/esm/components/registration/modalContainer.js.map +3 -3
  388. package/dist/esm/index.d.ts +2 -1
  389. package/dist/esm/index.js +1 -1
  390. package/dist/esm/index.js.map +2 -2
  391. package/dist/esm/templates/credits.d.ts +73 -0
  392. package/dist/esm/templates/credits.js +2 -0
  393. package/dist/esm/templates/credits.js.map +7 -0
  394. package/dist/esm/templates/index.d.ts +1 -0
  395. package/dist/esm/templates/index.js +2 -0
  396. package/dist/esm/templates/index.js.map +7 -0
  397. package/dist/index.js +40660 -0
  398. package/dist/index.js.map +1 -0
  399. package/dist/index.mjs +40648 -0
  400. package/dist/index.mjs.map +1 -0
  401. package/package.json +24 -22
  402. package/src/components/chat/index.tsx +1 -1
  403. package/src/components/credits/context/hooks/useActivities.ts +3 -2
  404. package/src/components/credits/context/hooks/useAlpcFetch.ts +8 -4
  405. package/src/components/credits/context/hooks/useFunctionMemberPrice.ts +33 -0
  406. package/src/components/credits/context/hooks/useMyRewards.ts +3 -2
  407. package/src/components/credits/context/hooks/useRedeemAndBuy.ts +0 -2
  408. package/src/components/credits/context/hooks/useRedeemCoupon.ts +4 -1
  409. package/src/components/credits/context/hooks/useRedeemProduct.ts +4 -1
  410. package/src/components/credits/context/hooks/useRedeemableList.ts +3 -3
  411. package/src/components/credits/context/hooks/useSubscribed.ts +1 -2
  412. package/src/components/credits/context/memberPriceConst.ts +13 -0
  413. package/src/components/credits/context/memberPriceTypes.ts +54 -0
  414. package/src/components/credits/context/provider.tsx +25 -20
  415. package/src/components/credits/context/utils/atobID.ts +8 -0
  416. package/src/components/credits/context/utils/functionDiscountCalculate.ts +57 -0
  417. package/src/components/credits/context/utils/getFunctionMemberPrice.ts +135 -0
  418. package/src/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.ts +51 -0
  419. package/src/components/credits/context/utils/variantGetCoupon.ts +34 -0
  420. package/src/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.tsx +270 -0
  421. package/src/components/credits/creditsAnkersolixTask/index.ts +2 -0
  422. package/src/components/credits/creditsAnkersolixTask/type.ts +7 -0
  423. package/src/components/credits/creditsBanner/index.tsx +15 -17
  424. package/src/components/credits/creditsBenefits/BenefitItem.tsx +107 -0
  425. package/src/components/credits/creditsBenefits/index.tsx +17 -12
  426. package/src/components/credits/creditsCash/{index.tsx → CreditsCash.tsx} +11 -27
  427. package/src/components/credits/creditsCash/RedeemableItem.tsx +43 -21
  428. package/src/components/credits/creditsCash/index.ts +2 -0
  429. package/src/components/credits/creditsCash/type.ts +1 -3
  430. package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +12 -12
  431. package/src/components/credits/creditsFaq/index.tsx +7 -5
  432. package/src/components/credits/creditsInfoCard/index.tsx +39 -34
  433. package/src/components/credits/creditsMemberPrice/CreditsMemberPrice.tsx +389 -0
  434. package/src/components/credits/creditsMemberPrice/MemberPriceItem.tsx +158 -0
  435. package/src/components/credits/creditsMemberPrice/index.ts +2 -0
  436. package/src/components/credits/creditsMemberPrice/type.ts +75 -0
  437. package/src/components/credits/creditsNavigation/CreditsNavigation.tsx +123 -0
  438. package/src/components/credits/creditsNavigation/index.ts +2 -0
  439. package/src/components/credits/creditsNavigation/type.ts +10 -0
  440. package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +7 -3
  441. package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +5 -1
  442. package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +5 -4
  443. package/src/components/credits/creditsRedeemList/{index.tsx → CreditsRedeemList.tsx} +30 -29
  444. package/src/components/credits/creditsRedeemList/NonProductValue.tsx +4 -3
  445. package/src/components/credits/creditsRedeemList/RedeemCouponModal.tsx +6 -6
  446. package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +14 -11
  447. package/src/components/credits/creditsRedeemList/RedeemProductModal/Error.tsx +1 -1
  448. package/src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx +4 -2
  449. package/src/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.tsx +3 -1
  450. package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +9 -5
  451. package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +4 -1
  452. package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +2 -2
  453. package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +11 -7
  454. package/src/components/credits/creditsRedeemList/index.ts +2 -0
  455. package/src/components/credits/creditsRedeemList/type.ts +2 -16
  456. package/src/components/credits/creditsWaysToGetCredits/{index.tsx → CreditsWaysToGetCredits.tsx} +65 -16
  457. package/src/components/credits/creditsWaysToGetCredits/index.ts +2 -0
  458. package/src/components/credits/creditsWaysToGetCredits/type.ts +5 -15
  459. package/src/components/credits/creditsWaysToGetCredits/useActions.ts +22 -8
  460. package/src/components/credits/modal/MyRewardsModal.tsx +10 -2
  461. package/src/components/credits/modal/activitiesModal.tsx +8 -3
  462. package/src/components/credits/modal/creditsUploadReceiptModal.tsx +9 -1
  463. package/src/components/credits/modal/modalContainer.tsx +5 -1
  464. package/src/components/credits/modal/rulesModal.tsx +1 -1
  465. package/src/components/credits/modal/subscribeModal.tsx +201 -0
  466. package/src/components/credits/modal/tip.tsx +10 -1
  467. package/src/components/credits/type.ts +23 -4
  468. package/src/components/index.ts +2 -2
  469. package/src/components/registration/authCodeActivate/Message.tsx +43 -0
  470. package/src/components/registration/authCodeActivate/index.tsx +338 -0
  471. package/src/components/registration/authCodeActivate/type.ts +23 -0
  472. package/src/components/registration/context/index.tsx +1 -0
  473. package/src/components/registration/context/provider.tsx +86 -0
  474. package/src/components/registration/index.ts +2 -0
  475. package/src/components/registration/modalContainer.tsx +114 -0
  476. package/src/index.ts +2 -1
  477. package/src/templates/Credits.tsx +165 -0
  478. package/src/templates/index.ts +1 -0
  479. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  480. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  481. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  482. package/dist/cjs/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  483. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +0 -2
  484. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  485. package/dist/cjs/helpers/fetchResponse.d.ts +0 -14
  486. package/dist/cjs/helpers/fetchResponse.js +0 -2
  487. package/dist/cjs/helpers/fetchResponse.js.map +0 -7
  488. package/dist/cjs/helpers/fetcher.d.ts +0 -2
  489. package/dist/cjs/helpers/fetcher.js +0 -2
  490. package/dist/cjs/helpers/fetcher.js.map +0 -7
  491. package/dist/cjs/helpers/index.d.ts +0 -2
  492. package/dist/cjs/helpers/index.js +0 -2
  493. package/dist/cjs/helpers/index.js.map +0 -7
  494. package/dist/cjs/helpers/track.d.ts +0 -19
  495. package/dist/cjs/helpers/track.js +0 -2
  496. package/dist/cjs/helpers/track.js.map +0 -7
  497. package/dist/cjs/helpers/utils.d.ts +0 -3
  498. package/dist/cjs/helpers/utils.js +0 -2
  499. package/dist/cjs/helpers/utils.js.map +0 -7
  500. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  501. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  502. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  503. package/dist/esm/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  504. package/dist/esm/components/credits/context/hooks/useSubscriptions.js +0 -2
  505. package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  506. package/dist/esm/helpers/fetchResponse.d.ts +0 -14
  507. package/dist/esm/helpers/fetchResponse.js +0 -2
  508. package/dist/esm/helpers/fetchResponse.js.map +0 -7
  509. package/dist/esm/helpers/fetcher.d.ts +0 -2
  510. package/dist/esm/helpers/fetcher.js +0 -2
  511. package/dist/esm/helpers/fetcher.js.map +0 -7
  512. package/dist/esm/helpers/index.d.ts +0 -2
  513. package/dist/esm/helpers/index.js +0 -2
  514. package/dist/esm/helpers/index.js.map +0 -7
  515. package/dist/esm/helpers/track.d.ts +0 -19
  516. package/dist/esm/helpers/track.js +0 -2
  517. package/dist/esm/helpers/track.js.map +0 -7
  518. package/dist/esm/helpers/utils.d.ts +0 -3
  519. package/dist/esm/helpers/utils.js +0 -2
  520. package/dist/esm/helpers/utils.js.map +0 -7
  521. package/src/components/credits/context/hooks/useSendEmailValidation.ts +0 -20
  522. package/src/components/credits/context/hooks/useSubscriptions.ts +0 -29
  523. package/src/components/credits/creditsBenefits/benefitItem.tsx +0 -73
  524. package/src/helpers/fetchResponse.ts +0 -35
  525. package/src/helpers/fetcher.ts +0 -44
  526. package/src/helpers/index.ts +0 -2
  527. package/src/helpers/track.ts +0 -73
  528. package/src/helpers/utils.ts +0 -8
  529. /package/src/components/credits/creditsBenefits/{iconInfo.tsx → IconInfo.tsx} +0 -0
@@ -1,20 +1,15 @@
1
- import { type MyRewardsMetafields } from '../modal/MyRewardsModal';
2
- import { type MyActivitiesMetafields } from '../modal/activitiesModal';
3
1
  type ButtonConfig = {
4
2
  text: string;
5
3
  type: 'activities' | 'rewards';
6
4
  };
7
- export interface InfoCardProps {
8
- data: {
9
- balanceLabel: string;
10
- comingSoonLabel: string;
11
- comingSoonTips: string;
12
- buttons: ButtonConfig[];
13
- pointUnit: string;
14
- infoIcon: string;
15
- myActivities: MyActivitiesMetafields;
16
- myRewards: MyRewardsMetafields;
17
- };
18
- }
19
- export declare function CreditsInfoCard({ data }: InfoCardProps): import("react/jsx-runtime").JSX.Element;
5
+ export type CreditsInfoCardCopy = {
6
+ balanceLabel: string;
7
+ comingSoonLabel: string;
8
+ comingSoonTips: string;
9
+ buttons: ButtonConfig[];
10
+ };
11
+ export declare function CreditsInfoCard({ copy, id }: {
12
+ copy: CreditsInfoCardCopy;
13
+ id?: string;
14
+ }): import("react/jsx-runtime").JSX.Element;
20
15
  export {};
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Button as g,Container as u,Text as n}from"@anker-in/headless-ui";import{useCallback as y,useState as m}from"react";import{useCreditsContext as w}from"../context/provider";import{cn as l}from"../../../helpers";import{numberFormat as c}from"../context/utils";import N from"../modal/activitiesModal";import C from"../modal/MyRewardsModal";import{gaNormalClick as k}from"../../../helpers/track";function T({data:t}){const[f,p]=m(!1),[v,x]=m(!1),[r,o]=m(!1),b=y(s=>{if(k({position:"info_card",label:s.text}),s.type)switch(s.type){case"activities":p(!0);break;case"rewards":x(!0);break}},[]),{creditInfo:a}=w();return i(u,{asChild:!0,id:"infoCard",className:"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]",children:[i("div",{className:l("mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]","l:flex-col l:items-start","min-l:px-[48px]","min-xl:px-[100px]"),style:{background:"linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)",backdropFilter:"blur(8px)"},children:[i("div",{className:l("grid grid-cols-2 gap-[24px] font-bold l:w-full md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center"),children:[i("div",{className:"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]",children:[e("div",{className:l("mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]"),children:t.balanceLabel}),i("div",{className:"flex items-baseline",children:[e("div",{className:l("mr-[8px] text-[36px] font-extrabold","min-md:text-[44px]","min-xl:text-[56px]"),children:a?c(a.available_credit):0}),e("div",{className:"text-[16px]",children:t?.pointUnit})]})]}),i("div",{className:"w-fit md:flex-1",children:[i("div",{className:l("mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]"),children:[e(n,{className:"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]",html:t.comingSoonLabel}),t.comingSoonTips&&i("div",{className:"group relative ml-[4px] flex cursor-pointer items-start",children:[e(n,{as:"div",html:t?.infoIcon,className:"size-[18px] cursor-pointer [&_svg]:size-full",onClick:()=>{r?o(!1):(o(!0),setTimeout(()=>{o(!1)},5e3))}}),e("div",{className:l("absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]",r?"block":"hidden"),children:i("div",{className:"relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow",children:[e(n,{size:"2",html:t.comingSoonTips,className:"desktop:text-[18px]"}),e("div",{className:"absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]"})]})})]})]}),i("div",{className:"flex items-baseline ",children:[e("div",{className:l("mr-[8px] text-[36px] font-extrabold","min-l:text-[44px]","min-xl:text-[56px]"),children:a?c(a.pending_credit):0}),e("div",{className:"text-[16px]",children:t?.pointUnit})]})]})]}),e("div",{className:l("grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2"),children:t.buttons?.map((s,d)=>e(g,{variant:d===0?"secondary":"primary",size:"lg",className:"min-w-[156px] laptop:min-w-[189px]",onClick:()=>{b(s)},children:s.text},d))}),t?.myActivities&&e(N,{isOpen:f,data:t?.myActivities,onClose:()=>{p(!1)}}),t?.myRewards&&e(C,{isOpen:v,data:t?.myRewards,onClose:()=>{x(!1)}})]}),r&&e("div",{role:"button",tabIndex:0,className:"fixed inset-0 z-10",onClick:()=>o(!1),onKeyDown:s=>s.key==="Escape"&&o(!1)})]})}export{T as CreditsInfoCard};
1
+ import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Button as w,Container as y,Text as x}from"@anker-in/headless-ui";import{useCallback as k,useState as p}from"react";import{useCreditsContext as h}from"../context/provider";import{numberFormat as v}from"../context/utils";import M from"../modal/activitiesModal";import D from"../modal/MyRewardsModal";import{gaNormalClick as z,classNames as t,useHeadlessContext as B,ROUNDED_BRANDS as S}from"@anker-in/lib";function L({copy:l,id:b}){const[u,m]=p(!1),[g,c]=p(!1),[d,o]=p(!1),{creditInfo:n,pageCommon:s}=h(),{brand:N}=B(),r=S.includes(N),C=k(a=>{if(z({position:"info_card",label:a.text}),a.type)switch(a.type){case"activities":m(!0);break;case"rewards":c(!0);break}},[]);return i(y,{asChild:!0,id:b,className:"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]",children:[i("div",{className:t("mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]","l:flex-col l:items-start","min-l:px-[48px]","min-xl:px-[100px]",!r&&"rounded-none"),style:{background:"linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)",backdropFilter:"blur(8px)"},children:[i("div",{className:t("grid grid-cols-2 gap-[24px] font-bold l:w-full md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center"),children:[i("div",{className:"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]",children:[e("div",{className:t("mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]"),children:l.balanceLabel}),i("div",{className:"flex items-baseline",children:[e("div",{className:t("mr-[8px] text-[36px] font-extrabold","min-md:text-[44px]","min-xl:text-[56px]"),children:n?v(n.available_credit):0}),e("div",{className:"text-[16px]",children:s?.pointUnit})]})]}),i("div",{className:"w-fit md:flex-1",children:[i("div",{className:t("mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]"),children:[e(x,{className:"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]",html:l.comingSoonLabel}),l.comingSoonTips&&i("div",{className:"group relative ml-[4px] flex cursor-pointer items-start",children:[e(x,{as:"div",html:s?.infoIcon,className:"size-[18px] cursor-pointer [&_svg]:size-full",onClick:()=>{d?o(!1):(o(!0),setTimeout(()=>{o(!1)},5e3))}}),e("div",{className:t("absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]",d?"block":"hidden"),children:i("div",{className:t("relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow",!r&&"rounded-none"),children:[e(x,{size:"2",html:l.comingSoonTips,className:"desktop:text-[18px]"}),e("div",{className:t("absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]",!r&&"rounded-none")})]})})]})]}),i("div",{className:"flex items-baseline ",children:[e("div",{className:t("mr-[8px] text-[36px] font-extrabold","min-l:text-[44px]","min-xl:text-[56px]"),children:n?v(n.pending_credit):0}),e("div",{className:"text-[16px]",children:s?.pointUnit})]})]})]}),e("div",{className:t("grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2"),children:l.buttons?.map((a,f)=>e(w,{variant:f===0?"secondary":"primary",size:"lg",className:"min-w-[156px] laptop:min-w-[189px]",onClick:()=>{C(a)},children:a.text},f))}),s?.activitiesModal&&e(M,{isOpen:u,data:s?.activitiesModal,onClose:()=>{m(!1)}}),s?.rewardsModal&&e(D,{isOpen:g,data:s?.rewardsModal,onClose:()=>{c(!1)}})]}),d&&e("div",{role:"button",tabIndex:0,className:"fixed inset-0 z-10",onClick:()=>o(!1),onKeyDown:a=>a.key==="Escape"&&o(!1)})]})}export{L as CreditsInfoCard};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/components/credits/creditsInfoCard/index.tsx"],
4
- "sourcesContent": ["import { Button, Container, Text } from '@anker-in/headless-ui'\n\nimport { useCallback, useState } from 'react'\nimport { useCreditsContext } from '../context/provider'\nimport { cn } from '../../../helpers'\nimport { numberFormat } from '../context/utils'\nimport ActivitiesModal from '../modal/activitiesModal'\nimport MyRewardsModal, { type MyRewardsMetafields } from '../modal/MyRewardsModal'\nimport { type MyActivitiesMetafields } from '../modal/activitiesModal'\nimport { gaNormalClick } from '../../../helpers/track'\n\ntype ButtonConfig = {\n text: string\n type: 'activities' | 'rewards'\n}\nexport interface InfoCardProps {\n data: {\n balanceLabel: string\n comingSoonLabel: string\n comingSoonTips: string\n buttons: ButtonConfig[]\n pointUnit: string\n infoIcon: string\n myActivities: MyActivitiesMetafields\n myRewards: MyRewardsMetafields\n }\n}\nexport function CreditsInfoCard({ data }: InfoCardProps) {\n const [openActivities, setOpenActivities] = useState(false)\n const [openRewards, setOpenRewards] = useState(false)\n const [hover, setHover] = useState<boolean>(false)\n\n const handleButtonClick = useCallback((buttonConfig: ButtonConfig) => {\n gaNormalClick({ position: 'info_card', label: buttonConfig.text })\n\n if (buttonConfig.type) {\n switch (buttonConfig.type) {\n case 'activities':\n setOpenActivities(true)\n break\n case 'rewards':\n setOpenRewards(true)\n break\n }\n }\n }, [])\n\n const { creditInfo } = useCreditsContext()\n\n return (\n <Container asChild id=\"infoCard\" className=\"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]\">\n <div\n className={cn(\n 'mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]',\n 'l:flex-col l:items-start',\n 'min-l:px-[48px]',\n 'min-xl:px-[100px]'\n )}\n style={{\n background:\n 'linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)',\n backdropFilter: 'blur(8px)',\n }}\n >\n <div\n className={cn(\n 'grid grid-cols-2 gap-[24px] font-bold l:w-full md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center'\n )}\n >\n <div className=\"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]\">\n <div\n className={cn(\n 'mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]'\n )}\n >\n {data.balanceLabel}\n </div>\n <div className=\"flex items-baseline\">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-md:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.available_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{data?.pointUnit}</div>\n </div>\n </div>\n <div className=\"w-fit md:flex-1\">\n <div className={cn('mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]')}>\n <Text className=\"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]\" html={data.comingSoonLabel} />\n {data.comingSoonTips && (\n <div className=\"group relative ml-[4px] flex cursor-pointer items-start\">\n <Text\n as=\"div\"\n html={data?.infoIcon}\n className=\"size-[18px] cursor-pointer [&_svg]:size-full\"\n onClick={() => {\n if (hover) {\n setHover(false)\n } else {\n setHover(true)\n setTimeout(() => {\n setHover(false)\n }, 5000)\n }\n }}\n />\n <div\n className={cn(\n 'absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]',\n hover ? 'block' : 'hidden'\n )}\n >\n <div className=\"relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow\">\n <Text size=\"2\" html={data.comingSoonTips} className=\"desktop:text-[18px]\" />\n <div className=\"absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]\" />\n </div>\n </div>\n </div>\n )}\n </div>\n <div className=\"flex items-baseline \">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-l:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.pending_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{data?.pointUnit}</div>\n </div>\n </div>\n </div>\n <div\n className={cn(\n 'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2'\n )}\n >\n {data.buttons?.map((item, index) => (\n <Button\n key={index}\n variant={index === 0 ? 'secondary' : 'primary'}\n size=\"lg\"\n className=\"min-w-[156px] laptop:min-w-[189px]\"\n onClick={() => {\n handleButtonClick(item)\n }}\n >\n {item.text}\n </Button>\n ))}\n </div>\n\n {data?.myActivities && (\n <ActivitiesModal\n isOpen={openActivities}\n data={data?.myActivities}\n onClose={() => {\n setOpenActivities(false)\n }}\n />\n )}\n {data?.myRewards && (\n <MyRewardsModal\n isOpen={openRewards}\n data={data?.myRewards}\n onClose={() => {\n setOpenRewards(false)\n }}\n ></MyRewardsModal>\n )}\n </div>\n {hover && (\n <div\n role=\"button\"\n tabIndex={0}\n className=\"fixed inset-0 z-10\"\n onClick={() => setHover(false)}\n onKeyDown={e => e.key === 'Escape' && setHover(false)}\n />\n )}\n </Container>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "Button", "Container", "Text", "useCallback", "useState", "useCreditsContext", "cn", "numberFormat", "ActivitiesModal", "MyRewardsModal", "gaNormalClick", "CreditsInfoCard", "data", "openActivities", "setOpenActivities", "openRewards", "setOpenRewards", "hover", "setHover", "handleButtonClick", "buttonConfig", "creditInfo", "item", "index", "e"]
4
+ "sourcesContent": ["import { Button, Container, Text } from '@anker-in/headless-ui'\n\nimport { useCallback, useState } from 'react'\nimport { useCreditsContext } from '../context/provider'\nimport { numberFormat } from '../context/utils'\nimport ActivitiesModal from '../modal/activitiesModal'\nimport MyRewardsModal from '../modal/MyRewardsModal'\nimport { gaNormalClick, classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'\n\ntype ButtonConfig = {\n text: string\n type: 'activities' | 'rewards'\n}\nexport type CreditsInfoCardCopy = {\n balanceLabel: string\n comingSoonLabel: string\n comingSoonTips: string\n buttons: ButtonConfig[]\n}\n\nexport function CreditsInfoCard({ copy, id }: { copy: CreditsInfoCardCopy; id?: string }) {\n const [openActivities, setOpenActivities] = useState(false)\n const [openRewards, setOpenRewards] = useState(false)\n const [hover, setHover] = useState<boolean>(false)\n const { creditInfo, pageCommon } = useCreditsContext()\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const handleButtonClick = useCallback((buttonConfig: ButtonConfig) => {\n gaNormalClick({ position: 'info_card', label: buttonConfig.text })\n\n if (buttonConfig.type) {\n switch (buttonConfig.type) {\n case 'activities':\n setOpenActivities(true)\n break\n case 'rewards':\n setOpenRewards(true)\n break\n }\n }\n }, [])\n\n return (\n <Container asChild id={id} className=\"-mb-[86px] -translate-y-[86px] x:-mb-[30px] x:-translate-y-[30px]\">\n <div\n className={cn(\n 'mx-auto flex justify-between items-center rounded-[12px] border border-white px-[24px] py-[40px]',\n 'l:flex-col l:items-start',\n 'min-l:px-[48px]',\n 'min-xl:px-[100px]',\n !rounded && 'rounded-none'\n )}\n style={{\n background:\n 'linear-gradient(119.61deg, rgba(250, 250, 250, 0.6) 38.58%, rgba(255, 255, 255, 0.6) 63.73%, rgba(249, 252, 255, 0.6) 89.37%)',\n backdropFilter: 'blur(8px)',\n }}\n >\n <div\n className={cn(\n 'grid grid-cols-2 gap-[24px] font-bold l:w-full md:grid-cols-1 md:flex-col md:gap-[16px] min-md:items-center'\n )}\n >\n <div className=\"mr-[80px] md:mr-[0] md:flex-1 md-xl:mr-[64px]\">\n <div\n className={cn(\n 'mb-[24px] text-[14px] font-bold l:mb-[6px] xl:text-[16px] min-md:text-[18px] l-xl:mb-[16px]'\n )}\n >\n {copy.balanceLabel}\n </div>\n <div className=\"flex items-baseline\">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-md:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.available_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{pageCommon?.pointUnit}</div>\n </div>\n </div>\n <div className=\"w-fit md:flex-1\">\n <div className={cn('mb-[24px] flex text-[18px] l:mb-[6px] l:text-[14px] l-xl:mb-[16px]')}>\n <Text className=\"text-[14px] font-bold xl:text-[16px] min-md:text-[18px]\" html={copy.comingSoonLabel} />\n {copy.comingSoonTips && (\n <div className=\"group relative ml-[4px] flex cursor-pointer items-start\">\n <Text\n as=\"div\"\n html={pageCommon?.infoIcon}\n className=\"size-[18px] cursor-pointer [&_svg]:size-full\"\n onClick={() => {\n if (hover) {\n setHover(false)\n } else {\n setHover(true)\n setTimeout(() => {\n setHover(false)\n }, 5000)\n }\n }}\n />\n <div\n className={cn(\n 'absolute -bottom-[12px] -left-[32px] z-10 w-[356px] translate-y-full md:w-[276px]',\n hover ? 'block' : 'hidden'\n )}\n >\n <div\n className={cn(\n 'relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow',\n !rounded && 'rounded-none'\n )}\n >\n <Text size=\"2\" html={copy.comingSoonTips} className=\"desktop:text-[18px]\" />\n <div\n className={cn(\n 'absolute -top-[10px] left-[40px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]',\n !rounded && 'rounded-none'\n )}\n />\n </div>\n </div>\n </div>\n )}\n </div>\n <div className=\"flex items-baseline \">\n <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-l:text-[44px]', 'min-xl:text-[56px]')}>\n {creditInfo ? numberFormat(creditInfo.pending_credit) : 0}\n </div>\n <div className=\"text-[16px]\">{pageCommon?.pointUnit}</div>\n </div>\n </div>\n </div>\n <div\n className={cn(\n 'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2'\n )}\n >\n {copy.buttons?.map((item, index) => (\n <Button\n key={index}\n variant={index === 0 ? 'secondary' : 'primary'}\n size=\"lg\"\n className=\"min-w-[156px] laptop:min-w-[189px]\"\n onClick={() => {\n handleButtonClick(item)\n }}\n >\n {item.text}\n </Button>\n ))}\n </div>\n\n {pageCommon?.activitiesModal && (\n <ActivitiesModal\n isOpen={openActivities}\n data={pageCommon?.activitiesModal}\n onClose={() => {\n setOpenActivities(false)\n }}\n />\n )}\n {pageCommon?.rewardsModal && (\n <MyRewardsModal\n isOpen={openRewards}\n data={pageCommon?.rewardsModal}\n onClose={() => {\n setOpenRewards(false)\n }}\n ></MyRewardsModal>\n )}\n </div>\n {hover && (\n <div\n role=\"button\"\n tabIndex={0}\n className=\"fixed inset-0 z-10\"\n onClick={() => setHover(false)}\n onKeyDown={e => e.key === 'Escape' && setHover(false)}\n />\n )}\n </Container>\n )\n}\n"],
5
+ "mappings": "AAiEY,cAAAA,EAOA,QAAAC,MAPA,oBAjEZ,OAAS,UAAAC,EAAQ,aAAAC,EAAW,QAAAC,MAAY,wBAExC,OAAS,eAAAC,EAAa,YAAAC,MAAgB,QACtC,OAAS,qBAAAC,MAAyB,sBAClC,OAAS,gBAAAC,MAAoB,mBAC7B,OAAOC,MAAqB,2BAC5B,OAAOC,MAAoB,0BAC3B,OAAS,iBAAAC,EAAe,cAAcC,EAAI,sBAAAC,EAAoB,kBAAAC,MAAsB,gBAa7E,SAASC,EAAgB,CAAE,KAAAC,EAAM,GAAAC,CAAG,EAA+C,CACxF,KAAM,CAACC,EAAgBC,CAAiB,EAAIb,EAAS,EAAK,EACpD,CAACc,EAAaC,CAAc,EAAIf,EAAS,EAAK,EAC9C,CAACgB,EAAOC,CAAQ,EAAIjB,EAAkB,EAAK,EAC3C,CAAE,WAAAkB,EAAY,WAAAC,CAAW,EAAIlB,EAAkB,EAC/C,CAAE,MAAAmB,CAAM,EAAIb,EAAmB,EAC/Bc,EAAUb,EAAe,SAASY,CAAK,EAEvCE,EAAoBvB,EAAawB,GAA+B,CAGpE,GAFAlB,EAAc,CAAE,SAAU,YAAa,MAAOkB,EAAa,IAAK,CAAC,EAE7DA,EAAa,KACf,OAAQA,EAAa,KAAM,CACzB,IAAK,aACHV,EAAkB,EAAI,EACtB,MACF,IAAK,UACHE,EAAe,EAAI,EACnB,KACJ,CAEJ,EAAG,CAAC,CAAC,EAEL,OACEpB,EAACE,EAAA,CAAU,QAAO,GAAC,GAAIc,EAAI,UAAU,oEACnC,UAAAhB,EAAC,OACC,UAAWW,EACT,mGACA,2BACA,kBACA,oBACA,CAACe,GAAW,cACd,EACA,MAAO,CACL,WACE,gIACF,eAAgB,WAClB,EAEA,UAAA1B,EAAC,OACC,UAAWW,EACT,6GACF,EAEA,UAAAX,EAAC,OAAI,UAAU,gDACb,UAAAD,EAAC,OACC,UAAWY,EACT,6FACF,EAEC,SAAAI,EAAK,aACR,EACAf,EAAC,OAAI,UAAU,sBACb,UAAAD,EAAC,OAAI,UAAWY,EAAG,sCAAuC,qBAAsB,oBAAoB,EACjG,SAAAY,EAAahB,EAAagB,EAAW,gBAAgB,EAAI,EAC5D,EACAxB,EAAC,OAAI,UAAU,cAAe,SAAAyB,GAAY,UAAU,GACtD,GACF,EACAxB,EAAC,OAAI,UAAU,kBACb,UAAAA,EAAC,OAAI,UAAWW,EAAG,oEAAoE,EACrF,UAAAZ,EAACI,EAAA,CAAK,UAAU,0DAA0D,KAAMY,EAAK,gBAAiB,EACrGA,EAAK,gBACJf,EAAC,OAAI,UAAU,0DACb,UAAAD,EAACI,EAAA,CACC,GAAG,MACH,KAAMqB,GAAY,SAClB,UAAU,+CACV,QAAS,IAAM,CACTH,EACFC,EAAS,EAAK,GAEdA,EAAS,EAAI,EACb,WAAW,IAAM,CACfA,EAAS,EAAK,CAChB,EAAG,GAAI,EAEX,EACF,EACAvB,EAAC,OACC,UAAWY,EACT,oFACAU,EAAQ,QAAU,QACpB,EAEA,SAAArB,EAAC,OACC,UAAWW,EACT,0FACA,CAACe,GAAW,cACd,EAEA,UAAA3B,EAACI,EAAA,CAAK,KAAK,IAAI,KAAMY,EAAK,eAAgB,UAAU,sBAAsB,EAC1EhB,EAAC,OACC,UAAWY,EACT,mHACA,CAACe,GAAW,cACd,EACF,GACF,EACF,GACF,GAEJ,EACA1B,EAAC,OAAI,UAAU,uBACb,UAAAD,EAAC,OAAI,UAAWY,EAAG,sCAAuC,oBAAqB,oBAAoB,EAChG,SAAAY,EAAahB,EAAagB,EAAW,cAAc,EAAI,EAC1D,EACAxB,EAAC,OAAI,UAAU,cAAe,SAAAyB,GAAY,UAAU,GACtD,GACF,GACF,EACAzB,EAAC,OACC,UAAWY,EACT,iGACF,EAEC,SAAAI,EAAK,SAAS,IAAI,CAACc,EAAMC,IACxB/B,EAACE,EAAA,CAEC,QAAS6B,IAAU,EAAI,YAAc,UACrC,KAAK,KACL,UAAU,qCACV,QAAS,IAAM,CACbH,EAAkBE,CAAI,CACxB,EAEC,SAAAA,EAAK,MARDC,CASP,CACD,EACH,EAECN,GAAY,iBACXzB,EAACS,EAAA,CACC,OAAQS,EACR,KAAMO,GAAY,gBAClB,QAAS,IAAM,CACbN,EAAkB,EAAK,CACzB,EACF,EAEDM,GAAY,cACXzB,EAACU,EAAA,CACC,OAAQU,EACR,KAAMK,GAAY,aAClB,QAAS,IAAM,CACbJ,EAAe,EAAK,CACtB,EACD,GAEL,EACCC,GACCtB,EAAC,OACC,KAAK,SACL,SAAU,EACV,UAAU,qBACV,QAAS,IAAMuB,EAAS,EAAK,EAC7B,UAAWS,GAAKA,EAAE,MAAQ,UAAYT,EAAS,EAAK,EACtD,GAEJ,CAEJ",
6
+ "names": ["jsx", "jsxs", "Button", "Container", "Text", "useCallback", "useState", "useCreditsContext", "numberFormat", "ActivitiesModal", "MyRewardsModal", "gaNormalClick", "cn", "useHeadlessContext", "ROUNDED_BRANDS", "CreditsInfoCard", "copy", "id", "openActivities", "setOpenActivities", "openRewards", "setOpenRewards", "hover", "setHover", "creditInfo", "pageCommon", "brand", "rounded", "handleButtonClick", "buttonConfig", "item", "index", "e"]
7
7
  }
@@ -0,0 +1,5 @@
1
+ import { CreditsMemberPriceCopy } from './type';
2
+ export declare const CreditsMemberPrice: ({ copy, id }: {
3
+ copy: CreditsMemberPriceCopy;
4
+ id?: string;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{Fragment as j,jsx as n,jsxs as u}from"react/jsx-runtime";import{Container as V,Heading as O,Tabs as U,TabsList as $,TabsTrigger as q}from"@anker-in/headless-ui";import{useMemo as d,useState as g,useEffect as A,useCallback as G}from"react";import D from"decimal.js";import J from"./MemberPriceItem";import K from"../creditsCash/RedeemableItem";import Q from"../context/hooks/useRedeemableList";import X from"../modal/rulesModal";import{useProductsByHandles as S}from"@anker-in/lib";import{classNames as x}from"@anker-in/lib";import{useCreditsContext as Y}from"../context/provider";import{FunctionDiscountType as I}from"../context/memberPriceConst";const ge=({copy:a,id:B})=>{const[b,W]=g(a.tabs[0]?.type||"memberPrice"),[P,N]=g(),[o,p]=g(1),[c,T]=g(9),{redeemableList:L}=Q(),{pageCommon:E,memberPriceDiscount:v}=Y();console.log("copy in CreditsMemberPrice",a);const M=[{namespace:"global",key:"transparentImg"}];A(()=>{const e=()=>{window.innerWidth>=1024?T(9):T(8)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),A(()=>{p(1)},[b,c]);const m=d(()=>!v||!a.memberPriceTab.memberPriceRuleId?null:v.find(e=>String(e.rule_id)===String(a.memberPriceTab.memberPriceRuleId))?.result_detail?.member_discounts?.find(e=>e.user_identity===1),[v,a.memberPriceTab.memberPriceRuleId]);console.log("targetRule in CreditsMemberPrice",m);const H=d(()=>m?m.main_products?.variants?.map(e=>e.handle)||[]:[],[m?.main_products.variants]),{data:h}=S({handles:H,metafieldIdentifiers:{variant:M}}),{data:w}=S({handles:a?.redeemTab?.list?.map(e=>e.products?.[0]?.handle)||[],metafieldIdentifiers:{variant:M}}),_=G(e=>{if(!m)return null;const r=m?.discount_conf;if(!r)return null;let t=new D(e);switch(r.discount_type){case I.Percentage:t=t.mul(100-r.discount_value).div(100);break;case I.FixedAmount:t=t.sub(r.discount_value);break;case I.FixedPrice:t=new D(r.discount_value);break}return{memberPrice:t.toNumber(),originalPrice:e}},[m]),C=d(()=>!m||!h?[]:m.main_products.variants.map(e=>{const r=h.find(s=>s.handle===e.handle);if(!r)return null;const t=r.variants?.find(s=>s.sku===e.sku)||r.variants?.[0];if(!t||!t.availableForSale)return null;const i=_(t.price.amount);return i?{product:r,productVariant:t,memberPrice:i.memberPrice,originalPrice:i.originalPrice}:null})?.filter(Boolean)||[],[m,h,_]),k=d(()=>w?.map(e=>{const r=a.redeemTab.list.find(s=>s.products?.[0]?.handle===e.handle),t=L.find(s=>s.id?.toString()===r?.redeemId?.toString()),i=e.variants?.find(s=>s.sku===r?.products?.[0]?.sku)||e.variants?.[0];return!t||!i||!i.availableForSale||t.is_limited&&t.remaining_inventory<=0?null:{product:e,productVariant:i,alpcData:{id:t?.id,consumeCredits:t?.consume_credits,remainingInventory:t?.remaining_inventory,isLimited:t?.is_limited,consumeType:t?.consume_type,title:t?.name,desc:t?.note},config:r}}).filter(Boolean),[w,a.redeemTab.list,L]),R=d(()=>{const e=C?.length||0,r=Math.ceil(e/c),t=(o-1)*c,i=t+c,s=C?.slice(t,i)||[];return{totalPages:r,currentItems:s,showPagination:r>1}},[C,o,c]),z=d(()=>{const e=k?.length||0,r=Math.ceil(e/c),t=(o-1)*c,i=t+c,s=k?.slice(t,i)||[];return{totalPages:r,currentItems:s,showPagination:r>1}},[k,o,c]),F=e=>{if(e<=1)return null;const t=(()=>{const s=[],f=[];for(let l=1;l<=e;l++)(l===1||l===e||l>=o-2&&l<=o+2)&&s.push(l);let y=0;for(const l of s)y&&l-y>1&&f.push("..."),f.push(l),y=l;return f})();return u("div",{className:"mt-[32px] flex items-center justify-center gap-[8px]",children:[n("button",{onClick:()=>p(i=>Math.max(1,i-1)),disabled:o===1,className:x("flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white",o===1&&"cursor-not-allowed opacity-50"),children:n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:n("path",{d:"M10 12L6 8L10 4",stroke:o===1?"#767880":"#080A0F",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),t.map((i,s)=>i==="..."?n("div",{className:"flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white",children:u("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:[n("circle",{cx:"4.5",cy:"10",r:"1.25",fill:"#2A2C32"}),n("circle",{cx:"10",cy:"10",r:"1.25",fill:"#2A2C32"}),n("circle",{cx:"15.5",cy:"10",r:"1.25",fill:"#2A2C32"})]})},`ellipsis-${s}`):n("button",{onClick:()=>p(i),className:x("flex size-[32px] xl:size-[24px] pt-[4px] items-center justify-center overflow-hidden text-[16px] xl:text-[14px] font-bold leading-[1.4] tracking-[-0.28px]",o===i?"bg-[#080a0f] text-white":"bg-white text-[#080a0f]"),children:i},i)),n("button",{onClick:()=>p(i=>Math.min(e,i+1)),disabled:o===e,className:x("flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white",o===e&&"cursor-not-allowed opacity-50"),children:n("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:n("path",{d:"M6 4L10 8L6 12",stroke:o===e?"#767880":"#080A0F",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})};return u(V,{id:B,className:x("bg-[#F5F5F5]"),children:[n(O,{as:"h2",size:"4",html:a.title,className:"mx:px-[16px]"}),n(U,{align:"left",className:"mt-[24px]",value:b,onValueChange:e=>W(e),children:n($,{children:a.tabs.map((e,r)=>n(q,{value:e.type,children:e.label},r))})}),u("div",{className:"relative mt-[24px]",children:[b==="memberPrice"&&u(j,{children:[n("div",{className:"grid md:grid-cols-2 gap-[12px] grid-cols-4 md-xl:grid-cols-3 lg:gap-[16px]",children:R.currentItems?.map((e,r)=>n(J,{itemData:e,copy:a.memberPriceTab},r))}),F(R.totalPages)]}),b==="redeem"&&u(j,{children:[n("div",{className:"grid md:grid-cols-2 gap-[12px] grid-cols-4 md-xl:grid-cols-3 lg:gap-[16px]",children:z.currentItems?.map((e,r)=>n(K,{copy:{title:a.title,...a.redeemTab},itemData:e,setRules:N,currencyCode:w?.[0]?.price.currencyCode||"USD"},r))}),F(z.totalPages)]})]}),P&&n(X,{overlayClassName:"md:px-[16px] md:items-center",className:"md:h-fit md:rounded-b-[16px]",isOpen:P.length>0,onClose:()=>N([]),titleClassName:"border-b-transparent h-[56px]",rules:P,scrollClassName:"md:mt-[8px] md:mb-[24px] md:pt-0",title:E?.ruleLabel,ruleClassName:"text-[#1d1d1f] font-bold"})]})};export{ge as CreditsMemberPrice};
2
+ //# sourceMappingURL=CreditsMemberPrice.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsMemberPrice/CreditsMemberPrice.tsx"],
4
+ "sourcesContent": ["import { Container, Heading, Tabs, TabsList, TabsTrigger } from '@anker-in/headless-ui'\nimport { useMemo, useState, useEffect, useCallback } from 'react'\nimport Decimal from 'decimal.js'\n\nimport MemberPriceItem from './MemberPriceItem'\nimport RedeemableItem from '../creditsCash/RedeemableItem'\nimport useRedeemableList from '../context/hooks/useRedeemableList'\nimport RulesModal from '../modal/rulesModal'\nimport { useProductsByHandles } from '@anker-in/lib'\nimport { CreditsMemberPriceCopy, MemberPriceProduct } from './type'\nimport { Product, classNames as cn } from '@anker-in/lib'\nimport { useCreditsContext } from '../context/provider'\nimport { RedeemItem } from '../creditsCash/type'\nimport { FunctionDiscountType } from '../context/memberPriceConst'\n\nexport const CreditsMemberPrice = ({ copy, id }: { copy: CreditsMemberPriceCopy; id?: string }) => {\n const [activeTab, setActiveTab] = useState<'memberPrice' | 'redeem'>(copy.tabs[0]?.type || 'memberPrice')\n const [rules, setRules] = useState<string | string[]>()\n const [currentPage, setCurrentPage] = useState(1)\n const [itemsPerPage, setItemsPerPage] = useState(9) // \u9ED8\u8BA4 1024px \u4EE5\u4E0A\uFF1A3\u5217 \u00D7 3\u884C = 9\n const { redeemableList } = useRedeemableList()\n const { pageCommon, memberPriceDiscount } = useCreditsContext()\n\n console.log('copy in CreditsMemberPrice', copy)\n\n // \u5B9A\u4E49\u9700\u8981\u83B7\u53D6\u7684 metafield\uFF0C\u5305\u62EC\u900F\u660E\u56FE\n const variantMetafieldIdentifiers: any[] = [\n {\n namespace: 'global',\n key: 'transparentImg',\n },\n ]\n\n // \u6839\u636E\u5C4F\u5E55\u5C3A\u5BF8\u52A8\u6001\u8C03\u6574\u6BCF\u9875\u663E\u793A\u7684\u5546\u54C1\u6570\u91CF\n useEffect(() => {\n const updateItemsPerPage = () => {\n const width = window.innerWidth\n if (width >= 1024) {\n // 1024px \u4EE5\u4E0A\uFF1A3\u5217 \u00D7 3\u884C = 9\u4E2A\n setItemsPerPage(9)\n } else {\n // 1024px \u4EE5\u4E0B\uFF1A2\u5217 \u00D7 4\u884C = 8\u4E2A\n setItemsPerPage(8)\n }\n }\n\n updateItemsPerPage()\n window.addEventListener('resize', updateItemsPerPage)\n return () => window.removeEventListener('resize', updateItemsPerPage)\n }, [])\n\n // \u5F53\u5207\u6362 tab \u6216\u6BCF\u9875\u6570\u91CF\u53D8\u5316\u65F6\u91CD\u7F6E\u9875\u7801\n useEffect(() => {\n setCurrentPage(1)\n }, [activeTab, itemsPerPage])\n\n // \u6839\u636E\u914D\u7F6E\u7684 ruleId \u67E5\u627E\u5BF9\u5E94\u7684\u4F1A\u5458\u4EF7\u89C4\u5219\n const targetRule = useMemo(() => {\n if (!memberPriceDiscount || !copy.memberPriceTab.memberPriceRuleId) return null\n return memberPriceDiscount\n .find(rule => String(rule.rule_id) === String(copy.memberPriceTab.memberPriceRuleId))\n ?.result_detail?.member_discounts?.find(discount => discount.user_identity === 1)\n }, [memberPriceDiscount, copy.memberPriceTab.memberPriceRuleId])\n\n console.log('targetRule in CreditsMemberPrice', targetRule)\n\n const memberPriceHandles = useMemo(() => {\n if (!targetRule) return []\n\n return targetRule.main_products?.variants?.map(variant => variant.handle) || []\n }, [targetRule?.main_products.variants])\n\n // \u83B7\u53D6\u4F1A\u5458\u4EF7\u4EA7\u54C1\u6570\u636E\uFF08\u901A\u8FC7\u4ECE memberPriceDiscount \u63D0\u53D6\u7684 handles \u83B7\u53D6\u4EA7\u54C1\uFF09\n const { data: memberPriceProducts } = useProductsByHandles({\n handles: memberPriceHandles,\n metafieldIdentifiers: {\n variant: variantMetafieldIdentifiers,\n },\n })\n\n // \u83B7\u53D6\u79EF\u5206\u5151\u6362\u4EA7\u54C1\u6570\u636E\n const { data: redeemProducts } = useProductsByHandles({\n handles: copy?.redeemTab?.list?.map(item => item.products?.[0]?.handle) || [],\n metafieldIdentifiers: {\n variant: variantMetafieldIdentifiers,\n },\n })\n\n // \u8BA1\u7B97\u4F1A\u5458\u4EF7\u7684\u8F85\u52A9\u51FD\u6570\uFF08\u4EC5\u4F7F\u7528\u666E\u901A\u4F1A\u5458 user_identity = 1 \u7684\u6298\u6263\uFF09\n const calculateMemberPrice = useCallback(\n (price: number) => {\n if (!targetRule) return null\n\n const discountConfig = targetRule?.discount_conf\n if (!discountConfig) return null\n\n // \u6839\u636E\u6298\u6263\u7C7B\u578B\u8BA1\u7B97\u4F1A\u5458\u4EF7\n let salePrice = new Decimal(price)\n switch (discountConfig.discount_type) {\n case FunctionDiscountType.Percentage:\n salePrice = salePrice.mul(100 - discountConfig.discount_value).div(100)\n break\n case FunctionDiscountType.FixedAmount:\n salePrice = salePrice.sub(discountConfig.discount_value)\n break\n case FunctionDiscountType.FixedPrice:\n salePrice = new Decimal(discountConfig.discount_value)\n break\n }\n\n return {\n memberPrice: salePrice.toNumber(),\n originalPrice: price,\n }\n },\n [targetRule]\n )\n\n // \u5904\u7406\u4F1A\u5458\u4EF7\u4EA7\u54C1\u5217\u8868\uFF08\u4EC5\u666E\u901A\u4F1A\u5458 user_identity = 1 \u7684\u6298\u6263\uFF09\n const memberPriceList = useMemo(() => {\n if (!targetRule || !memberPriceProducts) return []\n\n return (\n (targetRule.main_products.variants\n .map(variant => {\n const product = memberPriceProducts.find(p => p.handle === variant.handle)\n if (!product) return null\n\n const productVariant = product.variants?.find(v => v.sku === variant.sku) || product.variants?.[0]\n if (!productVariant || !productVariant.availableForSale) return null\n\n const priceResult = calculateMemberPrice(productVariant.price.amount)\n if (!priceResult) return null\n\n return {\n product,\n productVariant,\n memberPrice: priceResult.memberPrice,\n originalPrice: priceResult.originalPrice,\n }\n })\n ?.filter(Boolean) as unknown as MemberPriceProduct[]) || []\n )\n }, [targetRule, memberPriceProducts, calculateMemberPrice])\n\n // \u5904\u7406\u79EF\u5206\u5151\u6362\u4EA7\u54C1\u5217\u8868\uFF08\u590D\u7528 creditsCash \u7684\u903B\u8F91\uFF0C\u8FC7\u6EE4\u7F3A\u8D27\u5546\u54C1\uFF09\n const redeemList = useMemo(() => {\n return redeemProducts\n ?.map((product: Product) => {\n const config = copy.redeemTab.list.find(item => item.products?.[0]?.handle === product.handle)\n const alpcData = redeemableList.find(item => item.id?.toString() === config?.redeemId?.toString())\n const productVariant =\n product.variants?.find((variant: any) => variant.sku === config?.products?.[0]?.sku) || product.variants?.[0]\n\n // \u8FC7\u6EE4\u6761\u4EF6\uFF1A\n // 1. \u5FC5\u987B\u6709 alpcData \u548C productVariant\n // 2. \u5546\u54C1\u4E0D\u80FD\u7F3A\u8D27\n // 3. \u5982\u679C\u6709\u5E93\u5B58\u9650\u5236\uFF0C\u5219\u5E93\u5B58\u5FC5\u987B\u5927\u4E8E 0\n if (!alpcData || !productVariant) return null\n if (!productVariant.availableForSale) return null\n if (alpcData.is_limited && alpcData.remaining_inventory <= 0) return null\n\n return {\n product,\n productVariant,\n alpcData: {\n id: alpcData?.id,\n consumeCredits: alpcData?.consume_credits,\n remainingInventory: alpcData?.remaining_inventory,\n isLimited: alpcData?.is_limited,\n consumeType: alpcData?.consume_type,\n title: alpcData?.name,\n desc: alpcData?.note,\n },\n config,\n }\n })\n .filter(Boolean) as unknown as RedeemItem[]\n }, [redeemProducts, copy.redeemTab.list, redeemableList])\n\n // \u8BA1\u7B97\u4F1A\u5458\u4EF7\u5206\u9875\n const memberPricePagination = useMemo(() => {\n const totalItems = memberPriceList?.length || 0\n const totalPages = Math.ceil(totalItems / itemsPerPage)\n const startIndex = (currentPage - 1) * itemsPerPage\n const endIndex = startIndex + itemsPerPage\n const currentItems = memberPriceList?.slice(startIndex, endIndex) || []\n\n return {\n totalPages,\n currentItems,\n showPagination: totalPages > 1,\n }\n }, [memberPriceList, currentPage, itemsPerPage])\n\n // \u8BA1\u7B97\u79EF\u5206\u5151\u6362\u5206\u9875\n const redeemPagination = useMemo(() => {\n const totalItems = redeemList?.length || 0\n const totalPages = Math.ceil(totalItems / itemsPerPage)\n const startIndex = (currentPage - 1) * itemsPerPage\n const endIndex = startIndex + itemsPerPage\n const currentItems = redeemList?.slice(startIndex, endIndex) || []\n\n return {\n totalPages,\n currentItems,\n showPagination: totalPages > 1,\n }\n }, [redeemList, currentPage, itemsPerPage])\n\n // \u5206\u9875\u5BFC\u822A\u7EC4\u4EF6 - \u6309\u7167 Figma \u8BBE\u8BA1\n const renderPagination = (totalPages: number) => {\n if (totalPages <= 1) return null\n\n // \u8BA1\u7B97\u8981\u663E\u793A\u7684\u9875\u7801\n const getPageNumbers = () => {\n const delta = 2 // \u5F53\u524D\u9875\u524D\u540E\u663E\u793A\u7684\u9875\u7801\u6570\u91CF\n const range = []\n const rangeWithDots = []\n\n for (let i = 1; i <= totalPages; i++) {\n if (i === 1 || i === totalPages || (i >= currentPage - delta && i <= currentPage + delta)) {\n range.push(i)\n }\n }\n\n let prev = 0\n for (const i of range) {\n if (prev && i - prev > 1) {\n rangeWithDots.push('...')\n }\n rangeWithDots.push(i)\n prev = i\n }\n\n return rangeWithDots\n }\n\n const pages = getPageNumbers()\n\n return (\n <div className=\"mt-[32px] flex items-center justify-center gap-[8px]\">\n {/* \u4E0A\u4E00\u9875\u6309\u94AE */}\n <button\n onClick={() => setCurrentPage(prev => Math.max(1, prev - 1))}\n disabled={currentPage === 1}\n className={cn(\n 'flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white',\n currentPage === 1 && 'cursor-not-allowed opacity-50'\n )}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M10 12L6 8L10 4\"\n stroke={currentPage === 1 ? '#767880' : '#080A0F'}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n\n {/* \u9875\u7801\u6309\u94AE */}\n {pages.map((page, index) => {\n if (page === '...') {\n return (\n <div\n key={`ellipsis-${index}`}\n className=\"flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white\"\n >\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <circle cx=\"4.5\" cy=\"10\" r=\"1.25\" fill=\"#2A2C32\" />\n <circle cx=\"10\" cy=\"10\" r=\"1.25\" fill=\"#2A2C32\" />\n <circle cx=\"15.5\" cy=\"10\" r=\"1.25\" fill=\"#2A2C32\" />\n </svg>\n </div>\n )\n }\n\n const isActive = currentPage === page\n return (\n <button\n key={page}\n onClick={() => setCurrentPage(page as number)}\n className={cn(\n 'flex size-[32px] xl:size-[24px] pt-[4px] items-center justify-center overflow-hidden text-[16px] xl:text-[14px] font-bold leading-[1.4] tracking-[-0.28px]',\n isActive ? 'bg-[#080a0f] text-white' : 'bg-white text-[#080a0f]'\n )}\n >\n {page}\n </button>\n )\n })}\n\n {/* \u4E0B\u4E00\u9875\u6309\u94AE */}\n <button\n onClick={() => setCurrentPage(prev => Math.min(totalPages, prev + 1))}\n disabled={currentPage === totalPages}\n className={cn(\n 'flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white',\n currentPage === totalPages && 'cursor-not-allowed opacity-50'\n )}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M6 4L10 8L6 12\"\n stroke={currentPage === totalPages ? '#767880' : '#080A0F'}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n )\n }\n\n return (\n <Container id={id} className={cn('bg-[#F5F5F5]')}>\n <Heading as=\"h2\" size=\"4\" html={copy.title} className=\"mx:px-[16px]\" />\n\n <Tabs\n align=\"left\"\n className=\"mt-[24px]\"\n value={activeTab}\n onValueChange={value => setActiveTab(value as 'memberPrice' | 'redeem')}\n >\n <TabsList>\n {copy.tabs.map((tab, index) => (\n <TabsTrigger key={index} value={tab.type}>\n {tab.label}\n </TabsTrigger>\n ))}\n </TabsList>\n </Tabs>\n\n {/* Tab \u5185\u5BB9 */}\n <div className=\"relative mt-[24px]\">\n {/* \u4F1A\u5458\u4EF7 Tab */}\n {activeTab === 'memberPrice' && (\n <>\n <div className=\"grid md:grid-cols-2 gap-[12px] grid-cols-4 md-xl:grid-cols-3 lg:gap-[16px]\">\n {memberPricePagination.currentItems?.map((item, index: number) => (\n <MemberPriceItem key={index} itemData={item} copy={copy.memberPriceTab} />\n ))}\n </div>\n {renderPagination(memberPricePagination.totalPages)}\n </>\n )}\n\n {/* \u79EF\u5206\u5151\u6362 Tab */}\n {activeTab === 'redeem' && (\n <>\n <div className=\"grid md:grid-cols-2 gap-[12px] grid-cols-4 md-xl:grid-cols-3 lg:gap-[16px]\">\n {redeemPagination.currentItems?.map((item, index: number) => (\n <RedeemableItem\n key={index}\n copy={{\n title: copy.title,\n ...copy.redeemTab,\n }}\n itemData={item}\n setRules={setRules}\n currencyCode={redeemProducts?.[0]?.price.currencyCode || 'USD'}\n />\n ))}\n </div>\n {renderPagination(redeemPagination.totalPages)}\n </>\n )}\n </div>\n\n {/* Rules Modal */}\n {rules && (\n <RulesModal\n overlayClassName=\"md:px-[16px] md:items-center\"\n className=\"md:h-fit md:rounded-b-[16px]\"\n isOpen={rules.length > 0}\n onClose={() => setRules([])}\n titleClassName=\"border-b-transparent h-[56px]\"\n rules={rules}\n scrollClassName=\"md:mt-[8px] md:mb-[24px] md:pt-0\"\n title={pageCommon?.ruleLabel}\n ruleClassName=\"text-[#1d1d1f] font-bold\"\n />\n )}\n </Container>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "Container", "Heading", "Tabs", "TabsList", "TabsTrigger", "useMemo", "useState", "useEffect", "useCallback", "Decimal", "MemberPriceItem", "RedeemableItem", "useRedeemableList", "RulesModal", "useProductsByHandles", "cn", "useCreditsContext", "FunctionDiscountType", "CreditsMemberPrice", "copy", "id", "activeTab", "setActiveTab", "rules", "setRules", "currentPage", "setCurrentPage", "itemsPerPage", "setItemsPerPage", "redeemableList", "pageCommon", "memberPriceDiscount", "variantMetafieldIdentifiers", "updateItemsPerPage", "targetRule", "rule", "discount", "memberPriceHandles", "variant", "memberPriceProducts", "redeemProducts", "item", "calculateMemberPrice", "price", "discountConfig", "salePrice", "memberPriceList", "product", "p", "productVariant", "v", "priceResult", "redeemList", "config", "alpcData", "memberPricePagination", "totalItems", "totalPages", "startIndex", "endIndex", "currentItems", "redeemPagination", "renderPagination", "pages", "range", "rangeWithDots", "i", "prev", "page", "index", "value", "tab"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import { CreditsMemberPriceCopy, MemberPriceProduct } from './type';
2
+ declare function MemberPriceItem({ itemData, copy, className, }: {
3
+ itemData: MemberPriceProduct;
4
+ copy: CreditsMemberPriceCopy['memberPriceTab'];
5
+ className?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export default MemberPriceItem;
@@ -0,0 +1,2 @@
1
+ import{jsx as t,jsxs as l}from"react/jsx-runtime";import{Button as d,Text as a,Picture as m}from"@anker-in/headless-ui";import{useMemo as v}from"react";import{formatPrice as x}from"../context/utils";import{classNames as o,ROUNDED_BRANDS as P,useHeadlessContext as h,useBuyNow as C}from"@anker-in/lib";import{useCreditsContext as w}from"../context/provider";function y({itemData:e,copy:r,className:p}){const{brand:i,locale:n}=h(),{profile:u}=w(),b=P.includes(i),{trigger:g,isMutating:c}=C({},{throwOnError:!0}),s=v(()=>e.productVariant?.availableForSale,[e.productVariant?.availableForSale]),f=()=>{window.location.href=`/products/${e.product.handle}`},N=()=>{g({customAttributes:[{key:"_member_type",value:String(u?.memberType||0)}],lineItems:[{variant:e.productVariant,quantity:1}]})};return l("div",{className:o("relative flex flex-col items-center bg-[#EAEAEC] p-[16px] md:rounded-[12px]",!b&&"rounded-none md:rounded-none",p),children:[r.memberPriceImg&&t(m,{className:"absolute left-[24px] top-[16px] h-[24px] w-auto",imgClassName:"!h-full object-contain",source:r.memberPriceImg.url,alt:r.memberPriceImg.alt||"Member Price"}),t("a",{href:`/products/${e.product.handle}`,className:o("relative mx-auto size-[138px]"),children:t(m,{className:"mx-auto size-full",imgClassName:"object-contain",source:e?.productVariant?.metafields?.global?.transparentImg||e?.config?.image?.url||e?.productVariant?.image?.url})}),l("div",{className:o("mt-[4px] w-full"),children:[t(a,{html:e?.product?.title,title:e?.product?.title,className:"line-clamp-2 text-[24px] l-xxl:text-[20px] l:text-[16px] font-bold leading-[1.2] tracking-[-0.8px] text-[#080A0F]"}),l("div",{className:"mt-[16px] flex flex-col gap-[8px]",children:[t(a,{html:r.memberPriceLabel,className:o("text-brand-color-0 text-[16px] l-xl:text-[14px] l:text-[12px] w-fit font-bold leading-[1.4] tracking-[-0.28px]",i==="ankersolix"&&"leading-none bg-gradient-to-r from-[#2c7ed0] via-[#00a9e1] via-[43%] to-[#00db84] bg-clip-text text-transparent"),as:"p"}),l("div",{className:"flex items-center gap-[4px]",children:[t(a,{html:x({amount:e.memberPrice,currencyCode:e?.productVariant?.price.currencyCode||"USD",locale:n}),className:"text-[24px] l-xxl:text-[20px] l:text-[16px] font-bold leading-[1.2] tracking-[-0.8px] text-[#080A0F]",as:"span"}),t(a,{html:x({amount:e.originalPrice,currencyCode:e?.productVariant?.price.currencyCode||"USD",locale:n}),className:"text-[24px] l-xxl:text-[20px] l:text-[16px] font-bold leading-[1.2] tracking-[-0.8px] text-[#4A4C56] line-through",as:"span"})]}),l("div",{className:"flex w-full gap-[8px] md:flex-col",children:[t(d,{variant:"secondary",className:"flex-1 md:w-full",size:"lg",onClick:f,disabled:!s,children:r.learnMoreText}),t(d,{variant:"primary",className:"flex-1 md:w-full",size:"lg",onClick:N,disabled:!s||c,loading:c,children:r.shopNowText})]})]})]})]})}var T=y;export{T as default};
2
+ //# sourceMappingURL=MemberPriceItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsMemberPrice/MemberPriceItem.tsx"],
4
+ "sourcesContent": ["import { Button, Text, Picture } from '@anker-in/headless-ui'\nimport { useMemo } from 'react'\n\nimport { CreditsMemberPriceCopy, MemberPriceProduct } from './type'\nimport { formatPrice } from '../context/utils'\nimport { classNames as cn, ROUNDED_BRANDS, useHeadlessContext, useBuyNow } from '@anker-in/lib'\nimport { useCreditsContext } from '../context/provider'\n\nfunction MemberPriceItem({\n itemData,\n copy,\n className,\n}: {\n itemData: MemberPriceProduct\n copy: CreditsMemberPriceCopy['memberPriceTab']\n className?: string\n}) {\n const { brand, locale } = useHeadlessContext()\n const { profile } = useCreditsContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n // \u4F7F\u7528 buyNow hook \u6765\u5904\u7406\u7ED3\u7B97\n const { trigger: buyNow, isMutating: isBuying } = useBuyNow({}, { throwOnError: true })\n\n const isAvailable = useMemo(() => {\n return itemData.productVariant?.availableForSale\n }, [itemData.productVariant?.availableForSale])\n\n // Learn More \u6309\u94AE\u70B9\u51FB - \u8DF3\u8F6C\u5230\u4EA7\u54C1\u8BE6\u60C5\u9875\n const handleLearnMore = () => {\n window.location.href = `/products/${itemData.product.handle}`\n }\n\n // Shop Now \u6309\u94AE\u70B9\u51FB - \u4F7F\u7528 buyNow \u8FDB\u884C\u7ED3\u7B97\n const handleShopNow = () => {\n buyNow({\n customAttributes: [\n {\n key: '_member_type',\n value: String(profile?.memberType || 0),\n },\n ],\n lineItems: [\n {\n variant: itemData.productVariant,\n quantity: 1,\n },\n ],\n })\n }\n\n return (\n <div\n className={cn(\n 'relative flex flex-col items-center bg-[#EAEAEC] p-[16px] md:rounded-[12px]',\n !rounded && 'rounded-none md:rounded-none',\n className\n )}\n >\n {/* Member \u6807\u7B7E\u56FE\u7247 */}\n {copy.memberPriceImg && (\n <Picture\n className=\"absolute left-[24px] top-[16px] h-[24px] w-auto\"\n imgClassName=\"!h-full object-contain\"\n source={copy.memberPriceImg.url}\n alt={copy.memberPriceImg.alt || 'Member Price'}\n />\n )}\n\n {/* \u4EA7\u54C1\u56FE\u7247 - \u4F18\u5148\u4F7F\u7528\u4EA7\u54C1\u7684 metafields \u900F\u660E\u56FE */}\n <a href={`/products/${itemData.product.handle}`} className={cn('relative mx-auto size-[138px]')}>\n <Picture\n className=\"mx-auto size-full\"\n imgClassName=\"object-contain\"\n source={\n itemData?.productVariant?.metafields?.global?.transparentImg ||\n itemData?.config?.image?.url ||\n itemData?.productVariant?.image?.url\n }\n ></Picture>\n </a>\n\n {/* \u4EA7\u54C1\u4FE1\u606F */}\n <div className={cn('mt-[4px] w-full')}>\n {/* \u4EA7\u54C1\u6807\u9898 - \u4F7F\u7528\u4EA7\u54C1\u7684\u771F\u5B9E\u6807\u9898 */}\n <Text\n html={itemData?.product?.title}\n title={itemData?.product?.title}\n className=\"line-clamp-2 text-[24px] l-xxl:text-[20px] l:text-[16px] font-bold leading-[1.2] tracking-[-0.8px] text-[#080A0F]\"\n />\n\n {/* \u4EF7\u683C\u4FE1\u606F */}\n <div className=\"mt-[16px] flex flex-col gap-[8px]\">\n {/* Member Price \u6807\u7B7E - \u4F7F\u7528 text-brand-color-1 */}\n <Text\n html={copy.memberPriceLabel}\n className={cn(\n 'text-brand-color-0 text-[16px] l-xl:text-[14px] l:text-[12px] w-fit font-bold leading-[1.4] tracking-[-0.28px]',\n brand === 'ankersolix' &&\n 'leading-none bg-gradient-to-r from-[#2c7ed0] via-[#00a9e1] via-[43%] to-[#00db84] bg-clip-text text-transparent'\n )}\n as=\"p\"\n />\n\n {/* \u4F1A\u5458\u4EF7\u548C\u539F\u4EF7\u5728\u540C\u4E00\u884C */}\n <div className=\"flex items-center gap-[4px]\">\n <Text\n html={formatPrice({\n amount: itemData.memberPrice,\n currencyCode: itemData?.productVariant?.price.currencyCode || 'USD',\n locale: locale,\n })}\n className=\"text-[24px] l-xxl:text-[20px] l:text-[16px] font-bold leading-[1.2] tracking-[-0.8px] text-[#080A0F]\"\n as=\"span\"\n />\n <Text\n html={formatPrice({\n amount: itemData.originalPrice,\n currencyCode: itemData?.productVariant?.price.currencyCode || 'USD',\n locale: locale,\n })}\n className=\"text-[24px] l-xxl:text-[20px] l:text-[16px] font-bold leading-[1.2] tracking-[-0.8px] text-[#4A4C56] line-through\"\n as=\"span\"\n />\n </div>\n\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex w-full gap-[8px] md:flex-col\">\n {/* Learn More \u6309\u94AE */}\n <Button\n variant=\"secondary\"\n className=\"flex-1 md:w-full\"\n size=\"lg\"\n onClick={handleLearnMore}\n disabled={!isAvailable}\n >\n {copy.learnMoreText}\n </Button>\n\n {/* Shop Now \u6309\u94AE */}\n <Button\n variant=\"primary\"\n className=\"flex-1 md:w-full\"\n size=\"lg\"\n onClick={handleShopNow}\n disabled={!isAvailable || isBuying}\n loading={isBuying}\n >\n {copy.shopNowText}\n </Button>\n </div>\n </div>\n </div>\n </div>\n )\n}\n\nexport default MemberPriceItem\n"],
5
+ "mappings": "AA6DQ,cAAAA,EA4CE,QAAAC,MA5CF,oBA7DR,OAAS,UAAAC,EAAQ,QAAAC,EAAM,WAAAC,MAAe,wBACtC,OAAS,WAAAC,MAAe,QAGxB,OAAS,eAAAC,MAAmB,mBAC5B,OAAS,cAAcC,EAAI,kBAAAC,EAAgB,sBAAAC,EAAoB,aAAAC,MAAiB,gBAChF,OAAS,qBAAAC,MAAyB,sBAElC,SAASC,EAAgB,CACvB,SAAAC,EACA,KAAAC,EACA,UAAAC,CACF,EAIG,CACD,KAAM,CAAE,MAAAC,EAAO,OAAAC,CAAO,EAAIR,EAAmB,EACvC,CAAE,QAAAS,CAAQ,EAAIP,EAAkB,EAChCQ,EAAUX,EAAe,SAASQ,CAAK,EAGvC,CAAE,QAASI,EAAQ,WAAYC,CAAS,EAAIX,EAAU,CAAC,EAAG,CAAE,aAAc,EAAK,CAAC,EAEhFY,EAAcjB,EAAQ,IACnBQ,EAAS,gBAAgB,iBAC/B,CAACA,EAAS,gBAAgB,gBAAgB,CAAC,EAGxCU,EAAkB,IAAM,CAC5B,OAAO,SAAS,KAAO,aAAaV,EAAS,QAAQ,MAAM,EAC7D,EAGMW,EAAgB,IAAM,CAC1BJ,EAAO,CACL,iBAAkB,CAChB,CACE,IAAK,eACL,MAAO,OAAOF,GAAS,YAAc,CAAC,CACxC,CACF,EACA,UAAW,CACT,CACE,QAASL,EAAS,eAClB,SAAU,CACZ,CACF,CACF,CAAC,CACH,EAEA,OACEZ,EAAC,OACC,UAAWM,EACT,8EACA,CAACY,GAAW,+BACZJ,CACF,EAGC,UAAAD,EAAK,gBACJd,EAACI,EAAA,CACC,UAAU,kDACV,aAAa,yBACb,OAAQU,EAAK,eAAe,IAC5B,IAAKA,EAAK,eAAe,KAAO,eAClC,EAIFd,EAAC,KAAE,KAAM,aAAaa,EAAS,QAAQ,MAAM,GAAI,UAAWN,EAAG,+BAA+B,EAC5F,SAAAP,EAACI,EAAA,CACC,UAAU,oBACV,aAAa,iBACb,OACES,GAAU,gBAAgB,YAAY,QAAQ,gBAC9CA,GAAU,QAAQ,OAAO,KACzBA,GAAU,gBAAgB,OAAO,IAEpC,EACH,EAGAZ,EAAC,OAAI,UAAWM,EAAG,iBAAiB,EAElC,UAAAP,EAACG,EAAA,CACC,KAAMU,GAAU,SAAS,MACzB,MAAOA,GAAU,SAAS,MAC1B,UAAU,oHACZ,EAGAZ,EAAC,OAAI,UAAU,oCAEb,UAAAD,EAACG,EAAA,CACC,KAAMW,EAAK,iBACX,UAAWP,EACT,iHACAS,IAAU,cACR,iHACJ,EACA,GAAG,IACL,EAGAf,EAAC,OAAI,UAAU,8BACb,UAAAD,EAACG,EAAA,CACC,KAAMG,EAAY,CAChB,OAAQO,EAAS,YACjB,aAAcA,GAAU,gBAAgB,MAAM,cAAgB,MAC9D,OAAQI,CACV,CAAC,EACD,UAAU,uGACV,GAAG,OACL,EACAjB,EAACG,EAAA,CACC,KAAMG,EAAY,CAChB,OAAQO,EAAS,cACjB,aAAcA,GAAU,gBAAgB,MAAM,cAAgB,MAC9D,OAAQI,CACV,CAAC,EACD,UAAU,oHACV,GAAG,OACL,GACF,EAGAhB,EAAC,OAAI,UAAU,oCAEb,UAAAD,EAACE,EAAA,CACC,QAAQ,YACR,UAAU,mBACV,KAAK,KACL,QAASqB,EACT,SAAU,CAACD,EAEV,SAAAR,EAAK,cACR,EAGAd,EAACE,EAAA,CACC,QAAQ,UACR,UAAU,mBACV,KAAK,KACL,QAASsB,EACT,SAAU,CAACF,GAAeD,EAC1B,QAASA,EAER,SAAAP,EAAK,YACR,GACF,GACF,GACF,GACF,CAEJ,CAEA,IAAOW,EAAQb",
6
+ "names": ["jsx", "jsxs", "Button", "Text", "Picture", "useMemo", "formatPrice", "cn", "ROUNDED_BRANDS", "useHeadlessContext", "useBuyNow", "useCreditsContext", "MemberPriceItem", "itemData", "copy", "className", "brand", "locale", "profile", "rounded", "buyNow", "isBuying", "isAvailable", "handleLearnMore", "handleShopNow", "MemberPriceItem_default"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { CreditsMemberPrice } from './CreditsMemberPrice';
2
+ export * from './type';
@@ -0,0 +1,2 @@
1
+ import{CreditsMemberPrice as o}from"./CreditsMemberPrice";export*from"./type";export{o as CreditsMemberPrice};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsMemberPrice/index.ts"],
4
+ "sourcesContent": ["export { CreditsMemberPrice } from './CreditsMemberPrice'\nexport * from './type'\n"],
5
+ "mappings": "AAAA,OAAS,sBAAAA,MAA0B,uBACnC,WAAc",
6
+ "names": ["CreditsMemberPrice"]
7
+ }
@@ -0,0 +1,64 @@
1
+ import { Product, ProductVariant } from '@anker-in/lib';
2
+ type MemberPriceItemConfig = {
3
+ title: string;
4
+ image: {
5
+ url: string;
6
+ };
7
+ mobileImage: {
8
+ url: string;
9
+ };
10
+ memberPriceRuleId: string;
11
+ memberPrice?: number;
12
+ };
13
+ type RedeemableItemConfig = {
14
+ title: string;
15
+ desc: string;
16
+ price: number;
17
+ credit: string;
18
+ rules: string;
19
+ image: {
20
+ url: string;
21
+ };
22
+ mobileImage: {
23
+ url: string;
24
+ };
25
+ redeemId: number;
26
+ };
27
+ export type TabConfig = {
28
+ label: string;
29
+ type: 'memberPrice' | 'redeem';
30
+ };
31
+ export type CreditsMemberPriceCopy = {
32
+ title: string;
33
+ tabs: TabConfig[];
34
+ memberPriceTab: {
35
+ memberPriceRuleId: string;
36
+ learnMoreText: string;
37
+ shopNowText: string;
38
+ memberPriceLabel: string;
39
+ memberPriceImg?: {
40
+ url: string;
41
+ alt?: string;
42
+ };
43
+ };
44
+ redeemTab: {
45
+ list: (RedeemableItemConfig & {
46
+ products: {
47
+ handle: string;
48
+ sku: string;
49
+ }[];
50
+ })[];
51
+ soldOut: string;
52
+ unlockRewards: string;
53
+ btnRedeem: string;
54
+ off: string;
55
+ };
56
+ };
57
+ export type MemberPriceProduct = {
58
+ product: Product;
59
+ productVariant: ProductVariant;
60
+ config?: MemberPriceItemConfig;
61
+ memberPrice: number;
62
+ originalPrice: number;
63
+ };
64
+ export {};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import { CreditsNavigationCopy } from './type';
2
+ export declare const CreditsNavigation: ({ copy }: {
3
+ copy: CreditsNavigationCopy;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import{jsx as a}from"react/jsx-runtime";import{useEffect as x,useState as h,useRef as w,useCallback as C}from"react";import{classNames as c}from"@anker-in/lib";import{Container as I}from"@anker-in/headless-ui";const R=({copy:d})=>{const[m,b]=h(""),t=w(null),f=e=>{const o=document.getElementById(e);if(o){const s=o.getBoundingClientRect().top+window.pageYOffset-56;window.scrollTo({top:s,behavior:"smooth"})}},p=C(()=>{t.current&&t.current.disconnect();const e=new Map,o=r=>{r.forEach(n=>{const l=n.target.id;if(!l)return;const v=n.intersectionRect.height,u=n.intersectionRect.width,g=v*u;e.set(l,n.isIntersecting?g:0)});let i=0,s="";e.forEach((n,l)=>{n>i&&(i=n,s=l)}),s&&s!==m&&b(s)};t.current=new IntersectionObserver(o,{threshold:[0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1],rootMargin:"-56px 0px 0px 0px"}),d.items.forEach(r=>{const i=document.getElementById(r.targetId);i&&t.current&&t.current.observe(i)})},[d.items,m]);return x(()=>(p(),()=>{t.current&&t.current.disconnect()}),[p]),a("nav",{className:c("sticky top-0 z-50 bg-white"),children:a(I,{asChild:!0,children:a("div",{className:c("md:overflow-x-auto md:overflow-y-hidden md:-mx-[16px] md:px-[16px]","md:scrollbar-hide md:[&::-webkit-scrollbar]:hidden md:[-ms-overflow-style:none] md:[scrollbar-width:none]"),children:a("ul",{className:c("flex items-end gap-[24px] pt-[16px] md:gap-[16px] md:pr-[16px]"),children:d.items.map((e,o)=>{const r=m===e.targetId;return a("li",{className:c("md:flex-shrink-0"),children:a("button",{onClick:()=>f(e.targetId),className:c("pb-[16px] text-[14px] font-bold tracking-[-0.28px] leading-[1.4]","transition-all duration-200 relative border-b-4 whitespace-nowrap",r?"text-[#080a0f] border-brand-1":"text-[#4a4c56] hover:text-[#080a0f] border-transparent"),children:e.label})},o)})})})})})};export{R as CreditsNavigation};
2
+ //# sourceMappingURL=CreditsNavigation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsNavigation/CreditsNavigation.tsx"],
4
+ "sourcesContent": ["import { useEffect, useState, useRef, useCallback } from 'react'\nimport { classNames as cn } from '@anker-in/lib'\nimport { Container } from '@anker-in/headless-ui'\nimport { CreditsNavigationCopy } from './type'\n\nexport const CreditsNavigation = ({ copy }: { copy: CreditsNavigationCopy }) => {\n const [activeId, setActiveId] = useState<string>('')\n const observerRef = useRef<IntersectionObserver | null>(null)\n\n // \u5E73\u6ED1\u6EDA\u52A8\u5230\u76EE\u6807\u6A21\u5757\n const scrollToSection = (targetId: string) => {\n const element = document.getElementById(targetId)\n if (element) {\n const navHeight = 56 // \u5BFC\u822A\u680F\u9AD8\u5EA6\n const elementPosition = element.getBoundingClientRect().top + window.pageYOffset\n const offsetPosition = elementPosition - navHeight\n\n window.scrollTo({\n top: offsetPosition,\n behavior: 'smooth',\n })\n }\n }\n\n // \u4F7F\u7528 Intersection Observer \u76D1\u542C\u6A21\u5757\u53EF\u89C1\u6027\n const setupObserver = useCallback(() => {\n // \u6E05\u7406\u4E4B\u524D\u7684 observer\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n\n // \u8BA1\u7B97\u6BCF\u4E2A\u5143\u7D20\u5728\u89C6\u53E3\u4E2D\u7684\u53EF\u89C1\u9762\u79EF\n const visibilityMap = new Map<string, number>()\n\n const observerCallback = (entries: IntersectionObserverEntry[]) => {\n entries.forEach(entry => {\n const id = entry.target.id\n if (!id) return\n\n // \u8BA1\u7B97\u53EF\u89C1\u9762\u79EF\n const visibleHeight = entry.intersectionRect.height\n const visibleWidth = entry.intersectionRect.width\n const visibleArea = visibleHeight * visibleWidth\n\n visibilityMap.set(id, entry.isIntersecting ? visibleArea : 0)\n })\n\n // \u627E\u51FA\u53EF\u89C1\u9762\u79EF\u6700\u5927\u7684\u5143\u7D20\n let maxArea = 0\n let maxId = ''\n\n visibilityMap.forEach((area, id) => {\n if (area > maxArea) {\n maxArea = area\n maxId = id\n }\n })\n\n if (maxId && maxId !== activeId) {\n setActiveId(maxId)\n }\n }\n\n // \u521B\u5EFA\u65B0\u7684 observer\n observerRef.current = new IntersectionObserver(observerCallback, {\n threshold: [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],\n rootMargin: '-56px 0px 0px 0px', // \u8003\u8651\u5BFC\u822A\u680F\u9AD8\u5EA6\n })\n\n // \u89C2\u5BDF\u6240\u6709\u76EE\u6807\u5143\u7D20\n copy.items.forEach(item => {\n const element = document.getElementById(item.targetId)\n if (element && observerRef.current) {\n observerRef.current.observe(element)\n }\n })\n }, [copy.items, activeId])\n\n useEffect(() => {\n setupObserver()\n\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n }\n }, [setupObserver])\n\n return (\n <nav className={cn('sticky top-0 z-50 bg-white')}>\n <Container asChild>\n <div\n className={cn(\n 'md:overflow-x-auto md:overflow-y-hidden md:-mx-[16px] md:px-[16px]',\n 'md:scrollbar-hide md:[&::-webkit-scrollbar]:hidden md:[-ms-overflow-style:none] md:[scrollbar-width:none]'\n )}\n >\n <ul className={cn('flex items-end gap-[24px] pt-[16px] md:gap-[16px] md:pr-[16px]')}>\n {copy.items.map((item, index) => {\n const isActive = activeId === item.targetId\n return (\n <li key={index} className={cn('md:flex-shrink-0')}>\n <button\n onClick={() => scrollToSection(item.targetId)}\n className={cn(\n 'pb-[16px] text-[14px] font-bold tracking-[-0.28px] leading-[1.4]',\n 'transition-all duration-200 relative border-b-4 whitespace-nowrap',\n isActive\n ? 'text-[#080a0f] border-brand-1'\n : 'text-[#4a4c56] hover:text-[#080a0f] border-transparent'\n )}\n >\n {item.label}\n </button>\n </li>\n )\n })}\n </ul>\n </div>\n </Container>\n </nav>\n )\n}\n"],
5
+ "mappings": "AAsGkB,cAAAA,MAAA,oBAtGlB,OAAS,aAAAC,EAAW,YAAAC,EAAU,UAAAC,EAAQ,eAAAC,MAAmB,QACzD,OAAS,cAAcC,MAAU,gBACjC,OAAS,aAAAC,MAAiB,wBAGnB,MAAMC,EAAoB,CAAC,CAAE,KAAAC,CAAK,IAAuC,CAC9E,KAAM,CAACC,EAAUC,CAAW,EAAIR,EAAiB,EAAE,EAC7CS,EAAcR,EAAoC,IAAI,EAGtDS,EAAmBC,GAAqB,CAC5C,MAAMC,EAAU,SAAS,eAAeD,CAAQ,EAChD,GAAIC,EAAS,CAGX,MAAMC,EADkBD,EAAQ,sBAAsB,EAAE,IAAM,OAAO,YAC5B,GAEzC,OAAO,SAAS,CACd,IAAKC,EACL,SAAU,QACZ,CAAC,CACH,CACF,EAGMC,EAAgBZ,EAAY,IAAM,CAElCO,EAAY,SACdA,EAAY,QAAQ,WAAW,EAIjC,MAAMM,EAAgB,IAAI,IAEpBC,EAAoBC,GAAyC,CACjEA,EAAQ,QAAQC,GAAS,CACvB,MAAMC,EAAKD,EAAM,OAAO,GACxB,GAAI,CAACC,EAAI,OAGT,MAAMC,EAAgBF,EAAM,iBAAiB,OACvCG,EAAeH,EAAM,iBAAiB,MACtCI,EAAcF,EAAgBC,EAEpCN,EAAc,IAAII,EAAID,EAAM,eAAiBI,EAAc,CAAC,CAC9D,CAAC,EAGD,IAAIC,EAAU,EACVC,EAAQ,GAEZT,EAAc,QAAQ,CAACU,EAAMN,IAAO,CAC9BM,EAAOF,IACTA,EAAUE,EACVD,EAAQL,EAEZ,CAAC,EAEGK,GAASA,IAAUjB,GACrBC,EAAYgB,CAAK,CAErB,EAGAf,EAAY,QAAU,IAAI,qBAAqBO,EAAkB,CAC/D,UAAW,CAAC,EAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,CAAC,EAC7D,WAAY,mBACd,CAAC,EAGDV,EAAK,MAAM,QAAQoB,GAAQ,CACzB,MAAMd,EAAU,SAAS,eAAec,EAAK,QAAQ,EACjDd,GAAWH,EAAY,SACzBA,EAAY,QAAQ,QAAQG,CAAO,CAEvC,CAAC,CACH,EAAG,CAACN,EAAK,MAAOC,CAAQ,CAAC,EAEzB,OAAAR,EAAU,KACRe,EAAc,EAEP,IAAM,CACPL,EAAY,SACdA,EAAY,QAAQ,WAAW,CAEnC,GACC,CAACK,CAAa,CAAC,EAGhBhB,EAAC,OAAI,UAAWK,EAAG,4BAA4B,EAC7C,SAAAL,EAACM,EAAA,CAAU,QAAO,GAChB,SAAAN,EAAC,OACC,UAAWK,EACT,qEACA,2GACF,EAEA,SAAAL,EAAC,MAAG,UAAWK,EAAG,gEAAgE,EAC/E,SAAAG,EAAK,MAAM,IAAI,CAACoB,EAAMC,IAAU,CAC/B,MAAMC,EAAWrB,IAAamB,EAAK,SACnC,OACE5B,EAAC,MAAe,UAAWK,EAAG,kBAAkB,EAC9C,SAAAL,EAAC,UACC,QAAS,IAAMY,EAAgBgB,EAAK,QAAQ,EAC5C,UAAWvB,EACT,mEACA,oEACAyB,EACI,gCACA,wDACN,EAEC,SAAAF,EAAK,MACR,GAZOC,CAaT,CAEJ,CAAC,EACH,EACF,EACF,EACF,CAEJ",
6
+ "names": ["jsx", "useEffect", "useState", "useRef", "useCallback", "cn", "Container", "CreditsNavigation", "copy", "activeId", "setActiveId", "observerRef", "scrollToSection", "targetId", "element", "offsetPosition", "setupObserver", "visibilityMap", "observerCallback", "entries", "entry", "id", "visibleHeight", "visibleWidth", "visibleArea", "maxArea", "maxId", "area", "item", "index", "isActive"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { CreditsNavigation } from './CreditsNavigation';
2
+ export type { CreditsNavigationCopy, NavigationItem } from './type';
@@ -0,0 +1,2 @@
1
+ import{CreditsNavigation as o}from"./CreditsNavigation";export{o as CreditsNavigation};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/credits/creditsNavigation/index.ts"],
4
+ "sourcesContent": ["export { CreditsNavigation } from './CreditsNavigation'\nexport type { CreditsNavigationCopy, NavigationItem } from './type'\n"],
5
+ "mappings": "AAAA,OAAS,qBAAAA,MAAyB",
6
+ "names": ["CreditsNavigation"]
7
+ }
@@ -0,0 +1,7 @@
1
+ export type NavigationItem = {
2
+ label: string;
3
+ targetId: string;
4
+ };
5
+ export type CreditsNavigationCopy = {
6
+ items: NavigationItem[];
7
+ };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,2 @@
1
- import{jsx as o,jsxs as c}from"react/jsx-runtime";import{Picture as x}from"@anker-in/headless-ui";import b from"../../context/hooks/useClickOutside";import s from"classnames";import{useEffect as v,useState as p}from"react";function w({countries:t,loading:d,className:r,value:n,onChange:i}){const[u,l]=p(!1),[f,a]=p(""),g=b(()=>{l(!1)});return v(()=>{const e=t.filter(m=>m.code===n);e.length&&a(e[0].name)},[a,t,n]),c("div",{className:"relative",children:[o("select",{className:s("!h-[50px] pr-[45px] min-l:hidden",r),style:{WebkitTextFillColor:"black"},disabled:d,value:n,onChange:e=>{i(e.target.value)},children:t.map(e=>o("option",{value:e.code,children:e.name},e.code))}),o("div",{className:s("absolute left-0 top-0 hidden !h-[50px] rounded-[2px] pr-[45px] text-[16px] font-bold focus:!border-[#6D6D6F] min-l:!block",r),onClick:()=>{l(!0)},role:"button",tabIndex:0,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&e.preventDefault()},children:f}),o(x,{source:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500",imgClassName:"pointer-events-none absolute right-0 top-0 bottom-0 !w-[45px] object-cover",alt:"arrow"}),o("div",{ref:g,className:s("absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]",{"!hidden":!u}),children:o("ul",{className:"py-[6px]",children:t.map(e=>c("li",{value:e.code,className:s("relative px-[14px] py-[17px] text-[16px] font-bold leading-[1] transition hover:bg-[#EAEAEC]",{"!bg-[#EAEAEC]":e.code===n}),children:[o("button",{className:"absolute left-0 top-0 z-1 size-full opacity-0",value:e.code,onClick:()=>{a(e.name),l(!1),i(e.code)}}),e.name]},e.code))})})]})}export{w as CountrySelect};
1
+ import{jsx as o,jsxs as p}from"react/jsx-runtime";import{Picture as v}from"@anker-in/headless-ui";import y from"../../context/hooks/useClickOutside";import s from"classnames";import{useEffect as h,useState as c}from"react";import{useHeadlessContext as C,ROUNDED_BRANDS as N}from"@anker-in/lib";function A({countries:t,loading:u,className:a,value:n,onChange:i}){const[f,l]=c(!1),[m,r]=c(""),{brand:g}=C(),d=N.includes(g),x=y(()=>{l(!1)});return h(()=>{const e=t.filter(b=>b.code===n);e.length&&r(e[0].name)},[r,t,n]),p("div",{className:"relative",children:[o("select",{className:s("!h-[50px] pr-[45px] min-l:hidden",a),style:{WebkitTextFillColor:"black"},disabled:u,value:n,onChange:e=>{i(e.target.value)},children:t.map(e=>o("option",{value:e.code,children:e.name},e.code))}),o("div",{className:s("absolute left-0 top-0 hidden !h-[50px] rounded-[2px] pr-[45px] text-[16px] font-bold focus:!border-[#6D6D6F] min-l:!block",!d&&"rounded-none",a),onClick:()=>{l(!0)},role:"button",tabIndex:0,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&e.preventDefault()},children:m}),o(v,{source:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500",className:"absolute pointer-events-none right-0 top-0 bottom-0 size-[50px] object-cover",alt:"arrow"}),o("div",{ref:x,className:s("absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]",!d&&"rounded-none",{"!hidden":!f}),children:o("ul",{className:"py-[6px]",children:t.map(e=>p("li",{value:e.code,className:s("relative px-[14px] py-[17px] text-[16px] font-bold leading-[1] transition hover:bg-[#EAEAEC]",{"!bg-[#EAEAEC]":e.code===n}),children:[o("button",{className:"absolute left-0 top-0 z-1 size-full opacity-0",value:e.code,onClick:()=>{r(e.name),l(!1),i(e.code)}}),e.name]},e.code))})})]})}export{A as CountrySelect};
2
2
  //# sourceMappingURL=CountrySelect.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx"],
4
- "sourcesContent": ["import { Picture } from '@anker-in/headless-ui'\nimport useClickOutside from '../../context/hooks/useClickOutside'\nimport classNames from 'classnames'\nimport { useEffect, useState } from 'react'\n\ninterface Country {\n id: string\n code: string\n name: string\n}\n\ninterface CountrySelectProps {\n countries: Country[]\n loading?: boolean\n className?: string\n value?: string\n onChange: (code: string) => void\n}\n\nexport function CountrySelect({ countries, loading, className, value, onChange }: CountrySelectProps) {\n const [show, setShow] = useState(false)\n const [display, setDisplay] = useState<any>('')\n\n const dorpdown = useClickOutside<HTMLDivElement>(() => {\n setShow(false)\n })\n\n useEffect(() => {\n const target = countries.filter(item => item.code === value)\n if (target.length) setDisplay(target[0].name)\n }, [setDisplay, countries, value])\n\n return (\n <div className=\"relative\">\n <select\n className={classNames('!h-[50px] pr-[45px] min-l:hidden', className)}\n style={{\n WebkitTextFillColor: 'black',\n }}\n disabled={loading}\n value={value}\n onChange={event => {\n onChange(event.target.value)\n }}\n >\n {countries.map((item: { id: string; name: string; code: string }) => (\n <option key={item.code} value={item.code}>\n {item.name}\n </option>\n ))}\n </select>\n\n <div\n className={classNames(\n 'absolute left-0 top-0 hidden !h-[50px] rounded-[2px] pr-[45px] text-[16px] font-bold focus:!border-[#6D6D6F] min-l:!block',\n className\n )}\n onClick={() => {\n setShow(true)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {display}\n </div>\n\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500\"\n imgClassName=\"pointer-events-none absolute right-0 top-0 bottom-0 !w-[45px] object-cover\"\n alt=\"arrow\"\n />\n\n <div\n ref={dorpdown}\n className={classNames(\n 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n { '!hidden': !show }\n )}\n >\n <ul className=\"py-[6px]\">\n {countries.map((item: { id: string; name: string; code: string }) => (\n <li\n key={item.code}\n value={item.code}\n className={classNames(\n 'relative px-[14px] py-[17px] text-[16px] font-bold leading-[1] transition hover:bg-[#EAEAEC]',\n { '!bg-[#EAEAEC]': item.code === value }\n )}\n >\n <button\n className=\"absolute left-0 top-0 z-1 size-full opacity-0\"\n value={item.code}\n onClick={() => {\n setDisplay(item.name)\n setShow(false)\n onChange(item.code)\n }}\n />\n {item.name}\n </li>\n ))}\n </ul>\n </div>\n </div>\n )\n}\n"],
5
- "mappings": "AA8CU,cAAAA,EAwCE,QAAAC,MAxCF,oBA9CV,OAAS,WAAAC,MAAe,wBACxB,OAAOC,MAAqB,sCAC5B,OAAOC,MAAgB,aACvB,OAAS,aAAAC,EAAW,YAAAC,MAAgB,QAgB7B,SAASC,EAAc,CAAE,UAAAC,EAAW,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,SAAAC,CAAS,EAAuB,CACpG,KAAM,CAACC,EAAMC,CAAO,EAAIR,EAAS,EAAK,EAChC,CAACS,EAASC,CAAU,EAAIV,EAAc,EAAE,EAExCW,EAAWd,EAAgC,IAAM,CACrDW,EAAQ,EAAK,CACf,CAAC,EAED,OAAAT,EAAU,IAAM,CACd,MAAMa,EAASV,EAAU,OAAOW,GAAQA,EAAK,OAASR,CAAK,EACvDO,EAAO,QAAQF,EAAWE,EAAO,CAAC,EAAE,IAAI,CAC9C,EAAG,CAACF,EAAYR,EAAWG,CAAK,CAAC,EAG/BV,EAAC,OAAI,UAAU,WACb,UAAAD,EAAC,UACC,UAAWI,EAAW,mCAAoCM,CAAS,EACnE,MAAO,CACL,oBAAqB,OACvB,EACA,SAAUD,EACV,MAAOE,EACP,SAAUS,GAAS,CACjBR,EAASQ,EAAM,OAAO,KAAK,CAC7B,EAEC,SAAAZ,EAAU,IAAKW,GACdnB,EAAC,UAAuB,MAAOmB,EAAK,KACjC,SAAAA,EAAK,MADKA,EAAK,IAElB,CACD,EACH,EAEAnB,EAAC,OACC,UAAWI,EACT,4HACAM,CACF,EACA,QAAS,IAAM,CACbI,EAAQ,EAAI,CACd,EACA,KAAK,SACL,SAAU,EACV,UAAW,GAAK,EACV,EAAE,MAAQ,SAAW,EAAE,MAAQ,MACjC,EAAE,eAAe,CAErB,EAEC,SAAAC,EACH,EAEAf,EAACE,EAAA,CACC,OAAO,yFACP,aAAa,6EACb,IAAI,QACN,EAEAF,EAAC,OACC,IAAKiB,EACL,UAAWb,EACT,sJACA,CAAE,UAAW,CAACS,CAAK,CACrB,EAEA,SAAAb,EAAC,MAAG,UAAU,WACX,SAAAQ,EAAU,IAAKW,GACdlB,EAAC,MAEC,MAAOkB,EAAK,KACZ,UAAWf,EACT,+FACA,CAAE,gBAAiBe,EAAK,OAASR,CAAM,CACzC,EAEA,UAAAX,EAAC,UACC,UAAU,gDACV,MAAOmB,EAAK,KACZ,QAAS,IAAM,CACbH,EAAWG,EAAK,IAAI,EACpBL,EAAQ,EAAK,EACbF,EAASO,EAAK,IAAI,CACpB,EACF,EACCA,EAAK,OAhBDA,EAAK,IAiBZ,CACD,EACH,EACF,GACF,CAEJ",
6
- "names": ["jsx", "jsxs", "Picture", "useClickOutside", "classNames", "useEffect", "useState", "CountrySelect", "countries", "loading", "className", "value", "onChange", "show", "setShow", "display", "setDisplay", "dorpdown", "target", "item", "event"]
4
+ "sourcesContent": ["import { Picture } from '@anker-in/headless-ui'\nimport useClickOutside from '../../context/hooks/useClickOutside'\nimport classNames from 'classnames'\nimport { useEffect, useState } from 'react'\nimport { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'\n\ninterface Country {\n id: string\n code: string\n name: string\n}\n\ninterface CountrySelectProps {\n countries: Country[]\n loading?: boolean\n className?: string\n value?: string\n onChange: (code: string) => void\n}\n\nexport function CountrySelect({ countries, loading, className, value, onChange }: CountrySelectProps) {\n const [show, setShow] = useState(false)\n const [display, setDisplay] = useState<any>('')\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n const dorpdown = useClickOutside<HTMLDivElement>(() => {\n setShow(false)\n })\n\n useEffect(() => {\n const target = countries.filter(item => item.code === value)\n if (target.length) setDisplay(target[0].name)\n }, [setDisplay, countries, value])\n\n return (\n <div className=\"relative\">\n <select\n className={classNames('!h-[50px] pr-[45px] min-l:hidden', className)}\n style={{\n WebkitTextFillColor: 'black',\n }}\n disabled={loading}\n value={value}\n onChange={event => {\n onChange(event.target.value)\n }}\n >\n {countries.map((item: { id: string; name: string; code: string }) => (\n <option key={item.code} value={item.code}>\n {item.name}\n </option>\n ))}\n </select>\n\n <div\n className={classNames(\n 'absolute left-0 top-0 hidden !h-[50px] rounded-[2px] pr-[45px] text-[16px] font-bold focus:!border-[#6D6D6F] min-l:!block',\n !rounded && 'rounded-none',\n className\n )}\n onClick={() => {\n setShow(true)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {display}\n </div>\n\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500\"\n className=\"absolute pointer-events-none right-0 top-0 bottom-0 size-[50px] object-cover\"\n alt=\"arrow\"\n />\n\n <div\n ref={dorpdown}\n className={classNames(\n 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n !rounded && 'rounded-none',\n { '!hidden': !show }\n )}\n >\n <ul className=\"py-[6px]\">\n {countries.map((item: { id: string; name: string; code: string }) => (\n <li\n key={item.code}\n value={item.code}\n className={classNames(\n 'relative px-[14px] py-[17px] text-[16px] font-bold leading-[1] transition hover:bg-[#EAEAEC]',\n { '!bg-[#EAEAEC]': item.code === value }\n )}\n >\n <button\n className=\"absolute left-0 top-0 z-1 size-full opacity-0\"\n value={item.code}\n onClick={() => {\n setDisplay(item.name)\n setShow(false)\n onChange(item.code)\n }}\n />\n {item.name}\n </li>\n ))}\n </ul>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "AAgDU,cAAAA,EA0CE,QAAAC,MA1CF,oBAhDV,OAAS,WAAAC,MAAe,wBACxB,OAAOC,MAAqB,sCAC5B,OAAOC,MAAgB,aACvB,OAAS,aAAAC,EAAW,YAAAC,MAAgB,QACpC,OAAS,sBAAAC,EAAoB,kBAAAC,MAAsB,gBAgB5C,SAASC,EAAc,CAAE,UAAAC,EAAW,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,SAAAC,CAAS,EAAuB,CACpG,KAAM,CAACC,EAAMC,CAAO,EAAIV,EAAS,EAAK,EAChC,CAACW,EAASC,CAAU,EAAIZ,EAAc,EAAE,EACxC,CAAE,MAAAa,CAAM,EAAIZ,EAAmB,EAC/Ba,EAAUZ,EAAe,SAASW,CAAK,EACvCE,EAAWlB,EAAgC,IAAM,CACrDa,EAAQ,EAAK,CACf,CAAC,EAED,OAAAX,EAAU,IAAM,CACd,MAAMiB,EAASZ,EAAU,OAAOa,GAAQA,EAAK,OAASV,CAAK,EACvDS,EAAO,QAAQJ,EAAWI,EAAO,CAAC,EAAE,IAAI,CAC9C,EAAG,CAACJ,EAAYR,EAAWG,CAAK,CAAC,EAG/BZ,EAAC,OAAI,UAAU,WACb,UAAAD,EAAC,UACC,UAAWI,EAAW,mCAAoCQ,CAAS,EACnE,MAAO,CACL,oBAAqB,OACvB,EACA,SAAUD,EACV,MAAOE,EACP,SAAUW,GAAS,CACjBV,EAASU,EAAM,OAAO,KAAK,CAC7B,EAEC,SAAAd,EAAU,IAAKa,GACdvB,EAAC,UAAuB,MAAOuB,EAAK,KACjC,SAAAA,EAAK,MADKA,EAAK,IAElB,CACD,EACH,EAEAvB,EAAC,OACC,UAAWI,EACT,4HACA,CAACgB,GAAW,eACZR,CACF,EACA,QAAS,IAAM,CACbI,EAAQ,EAAI,CACd,EACA,KAAK,SACL,SAAU,EACV,UAAW,GAAK,EACV,EAAE,MAAQ,SAAW,EAAE,MAAQ,MACjC,EAAE,eAAe,CAErB,EAEC,SAAAC,EACH,EAEAjB,EAACE,EAAA,CACC,OAAO,yFACP,UAAU,+EACV,IAAI,QACN,EAEAF,EAAC,OACC,IAAKqB,EACL,UAAWjB,EACT,yIACA,CAACgB,GAAW,eACZ,CAAE,UAAW,CAACL,CAAK,CACrB,EAEA,SAAAf,EAAC,MAAG,UAAU,WACX,SAAAU,EAAU,IAAKa,GACdtB,EAAC,MAEC,MAAOsB,EAAK,KACZ,UAAWnB,EACT,+FACA,CAAE,gBAAiBmB,EAAK,OAASV,CAAM,CACzC,EAEA,UAAAb,EAAC,UACC,UAAU,gDACV,MAAOuB,EAAK,KACZ,QAAS,IAAM,CACbL,EAAWK,EAAK,IAAI,EACpBP,EAAQ,EAAK,EACbF,EAASS,EAAK,IAAI,CACpB,EACF,EACCA,EAAK,OAhBDA,EAAK,IAiBZ,CACD,EACH,EACF,GACF,CAEJ",
6
+ "names": ["jsx", "jsxs", "Picture", "useClickOutside", "classNames", "useEffect", "useState", "useHeadlessContext", "ROUNDED_BRANDS", "CountrySelect", "countries", "loading", "className", "value", "onChange", "show", "setShow", "display", "setDisplay", "brand", "rounded", "dorpdown", "target", "item", "event"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Fragment as w,jsx as n,jsxs as f}from"react/jsx-runtime";import a from"classnames";import{Picture as h}from"@anker-in/headless-ui";import{useEffect as b,useMemo as y,useState as u}from"react";import k from"../../context/hooks/useClickOutside";function F({states:t,stateName:i="",stateCode:s="",className:r="",onChange:c}){const[g,d]=u(!1),[v,p]=u(""),x=k(()=>{d(!1)}),l=y(()=>{const e=t.find(o=>s?o.code===s:o.name===i);return e?[e?.id,e?.name,e?.code].join(","):""},[t,s,i]);return b(()=>{const e=t.filter(o=>[o.id,o.name,o.code].join(",")===l);e.length&&p(e[0].name)},[p,t,l]),n("div",{className:"relative h-full",children:t.length?f(w,{children:[n("select",{className:a("h-[52px] pr-[45px] min-l:hidden",r),value:l,style:{WebkitTextFillColor:l?"black":"#666"},onChange:e=>{const[,o,m]=e.target.value.split(",");c(m,o)},children:t.map(e=>n("option",{value:[e.id,e.name,e.code].join(","),children:e.name},e.id))}),n("div",{className:a("absolute left-0 top-0 hidden h-[52px] pr-[45px] min-l:!block",r),onClick:()=>{d(!0)},role:"button",tabIndex:0,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&e.preventDefault()},children:v}),n(h,{source:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500",className:"pointer-events-none absolute right-0 top-1/2 h-[45px] !w-[45px] -translate-y-1/2 object-cover",alt:"arrow"}),n("div",{ref:x,className:a("absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]",{"!hidden":!g}),children:n("ul",{className:"py-[6px]",children:t.map(e=>f("li",{value:[e.id,e.name,e.code].join(","),className:a("relative px-[14px] py-[17px] text-[16px] font-semibold leading-[1] transition hover:bg-[#F7F8F9]",{"!bg-[#e8e8e8]":[e.id,e.name,e.code].join(",")===l}),children:[n("button",{className:"absolute left-0 top-0 z-1 size-full opacity-0",value:[e.id,e.name,e.code].join(","),onClick:()=>{p(e.name),d(!1),c(e.code,e.name)}}),e.name]},e.id))})})]}):n("input",{className:r,value:i,style:{WebkitTextFillColor:"black"},onChange:e=>{c("",e.target.value)}})})}export{F as StateSelect};
1
+ import{Fragment as D,jsx as n,jsxs as f}from"react/jsx-runtime";import a from"classnames";import{Picture as y}from"@anker-in/headless-ui";import{useEffect as k,useMemo as w,useState as u}from"react";import N from"../../context/hooks/useClickOutside";import{useHeadlessContext as S,ROUNDED_BRANDS as C}from"@anker-in/lib";function P({states:t,stateName:s="",stateCode:i="",className:r="",onChange:c}){const[g,d]=u(!1),[v,p]=u(""),{brand:m}=S(),x=C.includes(m),b=N(()=>{d(!1)}),l=w(()=>{const e=t.find(o=>i?o.code===i:o.name===s);return e?[e?.id,e?.name,e?.code].join(","):""},[t,i,s]);return k(()=>{const e=t.filter(o=>[o.id,o.name,o.code].join(",")===l);e.length&&p(e[0].name)},[p,t,l]),n("div",{className:"relative h-full",children:t.length?f(D,{children:[n("select",{className:a("h-[52px] pr-[45px] min-l:hidden",r),value:l,style:{WebkitTextFillColor:l?"black":"#666"},onChange:e=>{const[,o,h]=e.target.value.split(",");c(h,o)},children:t.map(e=>n("option",{value:[e.id,e.name,e.code].join(","),children:e.name},e.id))}),n("div",{className:a("absolute left-0 top-0 hidden h-[52px] pr-[45px] min-l:!block",r),onClick:()=>{d(!0)},role:"button",tabIndex:0,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&e.preventDefault()},children:v}),n(y,{source:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500",className:"pointer-events-none absolute right-0 top-1/2 h-[45px] !w-[45px] -translate-y-1/2 object-cover",alt:"arrow"}),n("div",{ref:b,className:a("absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]",!x&&"rounded-none",{"!hidden":!g}),children:n("ul",{className:"py-[6px]",children:t.map(e=>f("li",{value:[e.id,e.name,e.code].join(","),className:a("relative px-[14px] py-[17px] text-[16px] font-semibold leading-[1] transition hover:bg-[#F7F8F9]",{"!bg-[#e8e8e8]":[e.id,e.name,e.code].join(",")===l}),children:[n("button",{className:"absolute left-0 top-0 z-1 size-full opacity-0",value:[e.id,e.name,e.code].join(","),onClick:()=>{p(e.name),d(!1),c(e.code,e.name)}}),e.name]},e.id))})})]}):n("input",{className:r,value:s,style:{WebkitTextFillColor:"black"},onChange:e=>{c("",e.target.value)}})})}export{P as StateSelect};
2
2
  //# sourceMappingURL=StateSelect.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx"],
4
- "sourcesContent": ["import classNames from 'classnames'\nimport { Picture } from '@anker-in/headless-ui'\nimport { useEffect, useMemo, useState } from 'react'\nimport useClickOutside from '../../context/hooks/useClickOutside'\n\ninterface StateSelectProps {\n states: { code: string; id: string; name: string }[]\n className?: string\n countryId?: string\n defaultCode?: string\n stateName?: string\n stateCode?: string\n onChange: (code: string, name: string) => void\n}\n\nexport function StateSelect({ states, stateName = '', stateCode = '', className = '', onChange }: StateSelectProps) {\n const [show, setShow] = useState(false)\n const [display, setDisplay] = useState<any>('')\n\n const dropdown = useClickOutside<HTMLDivElement>(() => {\n setShow(false)\n })\n\n const value = useMemo(() => {\n const currentState = states.find(item => (stateCode ? item.code === stateCode : item.name === stateName))\n\n return currentState ? [currentState?.id, currentState?.name, currentState?.code].join(',') : ''\n }, [states, stateCode, stateName])\n\n useEffect(() => {\n const target = states.filter(item => [item.id, item.name, item.code].join(',') === value)\n if (target.length) setDisplay(target[0].name)\n }, [setDisplay, states, value])\n\n return (\n <div className=\"relative h-full\">\n {states.length ? (\n <>\n <select\n className={classNames('h-[52px] pr-[45px] min-l:hidden', className)}\n value={value}\n style={{\n WebkitTextFillColor: value ? 'black' : '#666',\n }}\n onChange={event => {\n const [, name, code] = event.target.value.split(',')\n onChange(code, name)\n }}\n >\n {states.map((item: { id: string; name: string; code: string }) => (\n <option key={item.id} value={[item.id, item.name, item.code].join(',')}>\n {item.name}\n </option>\n ))}\n </select>\n <div\n className={classNames('absolute left-0 top-0 hidden h-[52px] pr-[45px] min-l:!block', className)}\n onClick={() => {\n setShow(true)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {display}\n </div>\n\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500\"\n className=\"pointer-events-none absolute right-0 top-1/2 h-[45px] !w-[45px] -translate-y-1/2 object-cover\"\n alt=\"arrow\"\n />\n\n <div\n ref={dropdown}\n className={classNames(\n 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto rounded-[4px] bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n { '!hidden': !show }\n )}\n >\n <ul className=\"py-[6px]\">\n {states.map((item: { id: string; name: string; code: string }) => (\n <li\n key={item.id}\n value={[item.id, item.name, item.code].join(',')}\n className={classNames(\n 'relative px-[14px] py-[17px] text-[16px] font-semibold leading-[1] transition hover:bg-[#F7F8F9]',\n {\n '!bg-[#e8e8e8]': [item.id, item.name, item.code].join(',') === value,\n }\n )}\n >\n <button\n className=\"absolute left-0 top-0 z-1 size-full opacity-0\"\n value={[item.id, item.name, item.code].join(',')}\n onClick={() => {\n setDisplay(item.name)\n setShow(false)\n onChange(item.code, item.name)\n }}\n />\n {item.name}\n </li>\n ))}\n </ul>\n </div>\n </>\n ) : (\n <input\n className={className}\n value={stateName}\n style={{\n WebkitTextFillColor: 'black',\n }}\n onChange={event => {\n onChange('', event.target.value)\n }}\n ></input>\n )}\n </div>\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "classNames", "Picture", "useEffect", "useMemo", "useState", "useClickOutside", "StateSelect", "states", "stateName", "stateCode", "className", "onChange", "show", "setShow", "display", "setDisplay", "dropdown", "value", "currentState", "item", "target", "event", "name", "code"]
4
+ "sourcesContent": ["import classNames from 'classnames'\nimport { Picture } from '@anker-in/headless-ui'\nimport { useEffect, useMemo, useState } from 'react'\nimport useClickOutside from '../../context/hooks/useClickOutside'\nimport { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'\n\ninterface StateSelectProps {\n states: { code: string; id: string; name: string }[]\n className?: string\n countryId?: string\n defaultCode?: string\n stateName?: string\n stateCode?: string\n onChange: (code: string, name: string) => void\n}\n\nexport function StateSelect({ states, stateName = '', stateCode = '', className = '', onChange }: StateSelectProps) {\n const [show, setShow] = useState(false)\n const [display, setDisplay] = useState<any>('')\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const dropdown = useClickOutside<HTMLDivElement>(() => {\n setShow(false)\n })\n\n const value = useMemo(() => {\n const currentState = states.find(item => (stateCode ? item.code === stateCode : item.name === stateName))\n\n return currentState ? [currentState?.id, currentState?.name, currentState?.code].join(',') : ''\n }, [states, stateCode, stateName])\n\n useEffect(() => {\n const target = states.filter(item => [item.id, item.name, item.code].join(',') === value)\n if (target.length) setDisplay(target[0].name)\n }, [setDisplay, states, value])\n\n return (\n <div className=\"relative h-full\">\n {states.length ? (\n <>\n <select\n className={classNames('h-[52px] pr-[45px] min-l:hidden', className)}\n value={value}\n style={{\n WebkitTextFillColor: value ? 'black' : '#666',\n }}\n onChange={event => {\n const [, name, code] = event.target.value.split(',')\n onChange(code, name)\n }}\n >\n {states.map((item: { id: string; name: string; code: string }) => (\n <option key={item.id} value={[item.id, item.name, item.code].join(',')}>\n {item.name}\n </option>\n ))}\n </select>\n <div\n className={classNames('absolute left-0 top-0 hidden h-[52px] pr-[45px] min-l:!block', className)}\n onClick={() => {\n setShow(true)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n >\n {display}\n </div>\n\n <Picture\n source=\"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/country-select.png?v=1692202500\"\n className=\"pointer-events-none absolute right-0 top-1/2 h-[45px] !w-[45px] -translate-y-1/2 object-cover\"\n alt=\"arrow\"\n />\n\n <div\n ref={dropdown}\n className={classNames(\n 'absolute left-0 top-[58px] z-30 max-h-[334px] w-full cursor-pointer overflow-auto bg-white shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n !rounded && 'rounded-none',\n { '!hidden': !show }\n )}\n >\n <ul className=\"py-[6px]\">\n {states.map((item: { id: string; name: string; code: string }) => (\n <li\n key={item.id}\n value={[item.id, item.name, item.code].join(',')}\n className={classNames(\n 'relative px-[14px] py-[17px] text-[16px] font-semibold leading-[1] transition hover:bg-[#F7F8F9]',\n {\n '!bg-[#e8e8e8]': [item.id, item.name, item.code].join(',') === value,\n }\n )}\n >\n <button\n className=\"absolute left-0 top-0 z-1 size-full opacity-0\"\n value={[item.id, item.name, item.code].join(',')}\n onClick={() => {\n setDisplay(item.name)\n setShow(false)\n onChange(item.code, item.name)\n }}\n />\n {item.name}\n </li>\n ))}\n </ul>\n </div>\n </>\n ) : (\n <input\n className={className}\n value={stateName}\n style={{\n WebkitTextFillColor: 'black',\n }}\n onChange={event => {\n onChange('', event.target.value)\n }}\n ></input>\n )}\n </div>\n )\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "classNames", "Picture", "useEffect", "useMemo", "useState", "useClickOutside", "useHeadlessContext", "ROUNDED_BRANDS", "StateSelect", "states", "stateName", "stateCode", "className", "onChange", "show", "setShow", "display", "setDisplay", "brand", "rounded", "dropdown", "value", "currentState", "item", "target", "event", "name", "code"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as a,jsxs as B}from"react/jsx-runtime";import x from"classnames";import{useCallback as F,useEffect as _,useMemo as N,useState as S}from"react";import{CountrySelect as w}from"./CountrySelect";import{FormItem as I}from"./FormItem";import{Input as q}from"./Input";import{StateSelect as P}from"./StateSelect";import{ALPC_COUNTRY_MAP as K}from"../../context/const";import{useCreditsContext as U}from"../../context/provider";import{useHeadlessContext as z}from"@anker-in/lib";const J=({countries:c,countriesLoading:g,form:n,validate:C,errors:h,onChange:l})=>{const{profile:u,customer:r}=U(),{locale:m}=z(),[e,i]=S(),p=N(()=>c.find(o=>o.code===e?.country)?.provinces||[],[e,c]),b=N(()=>n?.flat().find(o=>o.type==="state")?.key,[n]),A=F(()=>{if(r?.defaultAddress)return{name:(r?.defaultAddress.firstName||"")+" "+(r?.defaultAddress.lastName||""),first_name:r?.defaultAddress.firstName,last_name:r?.defaultAddress.lastName,address1:r?.defaultAddress.address1,address2:r?.defaultAddress.address2,city:r?.defaultAddress.city,phone:r?.defaultAddress.phone,country:r?.defaultAddress.countryCodeV2,province:r?.defaultAddress.province,province_code:r?.defaultAddress.provinceCode,email:r?.email||u?.email,zip:r?.defaultAddress.zip};{let s=K.get(m)||m;return s==="UK"&&(s="GB"),s==="EU"&&(s="NL"),{email:u?.email,country:s}}},[r,u?.email,m]);return _(()=>{if(r){const s=A();i(s),l(s)}},[r,A]),e?a("div",{className:"grid gap-[20px]",children:n&&n.map((s,o)=>a("div",{className:"item-center -mx-[6px] flex",children:s.map((t,k)=>{const f=h.find(d=>d.key===t.key)?.message,y=x("h-full w-full appearance-none rounded-[2px] border bg-white px-[14px] py-[17px] leading-[1] outline-none placeholder:text-[#999] autofill:shadow-white focus:border-brand disabled:pointer-events-none disabled:text-[#999] disabled:bg-[#F7F8F9] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",f?"!border-[#F84D4F]":"border-[#d8d8d8]");return t.type==="state"&&!p.length?null:a("div",{className:x("mx-[6px] flex-1"),children:B(I,{error:f,required:t.required,label:t.label,children:[t.type==="country"&&a(w,{className:y,countries:c,loading:g,value:e.country,onChange:d=>{e.country!==d&&(e.province="",e.province_code=""),e.country=d,i({...e}),l(e)}}),t.type==="state"&&a(P,{className:y,states:p,stateCode:e.province_code,stateName:e.province,onChange:(d,v)=>{e.province_code=d,e.province=v,i({...e}),l(e)}}),t.type!=="state"&&t.type!=="country"&&a(q,{placeholder:t.label,className:y,error:f,value:e[t.key],required:t.required,disabled:t.type==="email",onChange:d=>{const v=d.target.value;e[t.key]=v,i({...e}),l(e)},onBlur:()=>{C({ignoreKeys:p.length&&b?[b]:[]})}})]})},k)})},o))}):null};export{J as AddressForm};
1
+ import{jsx as a,jsxs as z}from"react/jsx-runtime";import N from"classnames";import{useCallback as S,useEffect as w,useMemo as x,useState as I}from"react";import{CountrySelect as D}from"./CountrySelect";import{FormItem as q}from"./FormItem";import{Input as P}from"./Input";import{StateSelect as R}from"./StateSelect";import{ALPC_COUNTRY_MAP as U}from"../../context/const";import{useCreditsContext as B}from"../../context/provider";import{useHeadlessContext as E,ROUNDED_BRANDS as K}from"@anker-in/lib";const X=({countries:c,countriesLoading:g,form:n,validate:C,errors:h,onChange:l})=>{const{profile:u,customer:r}=B(),{locale:m,brand:k}=E(),F=K.includes(k),[e,i]=I(),p=x(()=>c.find(o=>o.code===e?.country)?.provinces||[],[e,c]),v=x(()=>n?.flat().find(o=>o.type==="state")?.key,[n]),A=S(()=>{if(r?.defaultAddress)return{name:(r?.defaultAddress.firstName||"")+" "+(r?.defaultAddress.lastName||""),first_name:r?.defaultAddress.firstName,last_name:r?.defaultAddress.lastName,address1:r?.defaultAddress.address1,address2:r?.defaultAddress.address2,city:r?.defaultAddress.city,phone:r?.defaultAddress.phone,country:r?.defaultAddress.countryCodeV2,province:r?.defaultAddress.province,province_code:r?.defaultAddress.provinceCode,email:r?.email||u?.email,zip:r?.defaultAddress.zip};{let s=U.get(m)||m;return s==="UK"&&(s="GB"),s==="EU"&&(s="NL"),{email:u?.email,country:s}}},[r,u?.email,m]);return w(()=>{if(r){const s=A();i(s),l(s)}},[r,A]),e?a("div",{className:"grid gap-[20px]",children:n&&n.map((s,o)=>a("div",{className:"item-center -mx-[6px] flex",children:s.map((t,_)=>{const f=h.find(d=>d.key===t.key)?.message,y=N("h-full w-full appearance-none rounded-[2px] border bg-white px-[14px] py-[17px] leading-[1] outline-none placeholder:text-[#999] autofill:shadow-white focus:border-brand disabled:pointer-events-none disabled:text-[#999] disabled:bg-[#F7F8F9] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",f?"!border-[#F84D4F]":"border-[#d8d8d8]",!F&&"rounded-none");return t.type==="state"&&!p.length?null:a("div",{className:N("mx-[6px] flex-1"),children:z(q,{error:f,required:t.required,label:t.label,children:[t.type==="country"&&a(D,{className:y,countries:c,loading:g,value:e.country,onChange:d=>{e.country!==d&&(e.province="",e.province_code=""),e.country=d,i({...e}),l(e)}}),t.type==="state"&&a(R,{className:y,states:p,stateCode:e.province_code,stateName:e.province,onChange:(d,b)=>{e.province_code=d,e.province=b,i({...e}),l(e)}}),t.type!=="state"&&t.type!=="country"&&a(P,{placeholder:t.label,className:y,error:f,value:e[t.key],required:t.required,disabled:t.type==="email",onChange:d=>{const b=d.target.value;e[t.key]=b,i({...e}),l(e)},onBlur:()=>{C({ignoreKeys:p.length&&v?[v]:[]})}})]})},_)})},o))}):null};export{X as AddressForm};
2
2
  //# sourceMappingURL=index.js.map