@anker-in/campaign-ui 0.2.0 → 0.2.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 (363) 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/const.d.ts +1 -0
  4. package/dist/cjs/components/credits/const.js +2 -0
  5. package/dist/cjs/components/credits/const.js.map +7 -0
  6. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  7. package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  8. package/dist/cjs/components/credits/context/hooks/useSubscribed.js +1 -1
  9. package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +3 -3
  10. package/dist/cjs/components/credits/context/provider.d.ts +8 -33
  11. package/dist/cjs/components/credits/context/provider.js +1 -1
  12. package/dist/cjs/components/credits/context/provider.js.map +3 -3
  13. package/dist/cjs/components/credits/creditsBanner/index.d.ts +16 -16
  14. package/dist/cjs/components/credits/creditsBanner/index.js +1 -1
  15. package/dist/cjs/components/credits/creditsBanner/index.js.map +2 -2
  16. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +1 -1
  17. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +3 -3
  18. package/dist/cjs/components/credits/creditsBenefits/index.d.ts +7 -8
  19. package/dist/cjs/components/credits/creditsBenefits/index.js +3 -3
  20. package/dist/cjs/components/credits/creditsBenefits/index.js.map +3 -3
  21. package/dist/cjs/components/credits/creditsCash/CreditsCash.d.ts +4 -0
  22. package/dist/cjs/components/credits/creditsCash/CreditsCash.js +2 -0
  23. package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +7 -0
  24. package/dist/cjs/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
  25. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
  26. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  27. package/dist/cjs/components/credits/creditsCash/index.d.ts +2 -11
  28. package/dist/cjs/components/credits/creditsCash/index.js +1 -1
  29. package/dist/cjs/components/credits/creditsCash/index.js.map +4 -4
  30. package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -3
  31. package/dist/cjs/components/credits/creditsCash/type.js +1 -1
  32. package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
  33. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  34. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  35. package/dist/cjs/components/credits/creditsFaq/index.d.ts +2 -2
  36. package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
  37. package/dist/cjs/components/credits/creditsFaq/index.js.map +3 -3
  38. package/dist/cjs/components/credits/creditsInfoCard/index.d.ts +9 -15
  39. package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
  40. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +3 -3
  41. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  42. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  43. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  44. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  45. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  46. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  47. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +4 -0
  48. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
  49. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
  50. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
  51. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js +1 -1
  52. package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
  53. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  54. package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  55. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  56. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  57. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  58. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
  59. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
  60. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
  61. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  62. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
  63. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  64. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  65. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  66. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  67. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  68. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  69. package/dist/cjs/components/credits/creditsRedeemList/index.d.ts +2 -12
  70. package/dist/cjs/components/credits/creditsRedeemList/index.js +1 -1
  71. package/dist/cjs/components/credits/creditsRedeemList/index.js.map +4 -4
  72. package/dist/cjs/components/credits/creditsRedeemList/type.d.ts +1 -15
  73. package/dist/cjs/components/credits/creditsRedeemList/type.js +1 -1
  74. package/dist/cjs/components/credits/creditsRedeemList/type.js.map +1 -1
  75. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +2 -0
  76. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
  77. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
  78. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
  79. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js +1 -1
  80. package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
  81. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
  82. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js +1 -1
  83. package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
  84. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
  85. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  86. package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
  87. package/dist/cjs/components/credits/modal/MyRewardsModal.js +1 -1
  88. package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +3 -3
  89. package/dist/cjs/components/credits/modal/activitiesModal.js +1 -1
  90. package/dist/cjs/components/credits/modal/activitiesModal.js.map +3 -3
  91. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  92. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  93. package/dist/cjs/components/credits/modal/modalContainer.js +1 -1
  94. package/dist/cjs/components/credits/modal/modalContainer.js.map +3 -3
  95. package/dist/cjs/components/credits/modal/rulesModal.js +1 -1
  96. package/dist/cjs/components/credits/modal/rulesModal.js.map +3 -3
  97. package/dist/cjs/components/credits/modal/subscribeModal.d.ts +15 -0
  98. package/dist/cjs/components/credits/modal/subscribeModal.js +2 -0
  99. package/dist/cjs/components/credits/modal/subscribeModal.js.map +7 -0
  100. package/dist/cjs/components/credits/modal/tip.js +1 -1
  101. package/dist/cjs/components/credits/modal/tip.js.map +3 -3
  102. package/dist/cjs/components/credits/type.d.ts +23 -4
  103. package/dist/cjs/components/credits/type.js +1 -1
  104. package/dist/cjs/components/credits/type.js.map +1 -1
  105. package/dist/cjs/components/index.d.ts +1 -0
  106. package/dist/cjs/components/index.js +1 -1
  107. package/dist/cjs/components/index.js.map +2 -2
  108. package/dist/cjs/components/registration/authCodeActivate/Message.js +1 -1
  109. package/dist/cjs/components/registration/authCodeActivate/Message.js.map +2 -2
  110. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  111. package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
  112. package/dist/cjs/components/registration/authCodeActivate/type.d.ts +1 -2
  113. package/dist/cjs/components/registration/authCodeActivate/type.js +1 -1
  114. package/dist/cjs/components/registration/authCodeActivate/type.js.map +1 -1
  115. package/dist/cjs/components/registration/context/index.d.ts +1 -0
  116. package/dist/cjs/components/registration/context/index.js +2 -0
  117. package/dist/cjs/components/registration/context/index.js.map +7 -0
  118. package/dist/cjs/components/registration/context/provider.d.ts +27 -0
  119. package/dist/cjs/components/registration/context/provider.js +2 -0
  120. package/dist/cjs/components/registration/context/provider.js.map +7 -0
  121. package/dist/cjs/components/registration/index.d.ts +1 -0
  122. package/dist/cjs/components/registration/index.js +1 -1
  123. package/dist/cjs/components/registration/index.js.map +2 -2
  124. package/dist/cjs/components/registration/modalContainer.d.ts +1 -2
  125. package/dist/cjs/components/registration/modalContainer.js +1 -1
  126. package/dist/cjs/components/registration/modalContainer.js.map +3 -3
  127. package/dist/cjs/index.d.ts +2 -1
  128. package/dist/cjs/index.js +1 -1
  129. package/dist/cjs/index.js.map +2 -2
  130. package/dist/cjs/templates/credits.d.ts +59 -0
  131. package/dist/cjs/templates/credits.js +2 -0
  132. package/dist/cjs/templates/credits.js.map +7 -0
  133. package/dist/cjs/templates/index.d.ts +1 -0
  134. package/dist/cjs/templates/index.js +2 -0
  135. package/dist/cjs/templates/index.js.map +7 -0
  136. package/dist/esm/components/chat/index.js +1 -1
  137. package/dist/esm/components/chat/index.js.map +2 -2
  138. package/dist/esm/components/credits/const.d.ts +1 -0
  139. package/dist/esm/components/credits/const.js +2 -0
  140. package/dist/esm/components/credits/const.js.map +7 -0
  141. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
  142. package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
  143. package/dist/esm/components/credits/context/hooks/useSubscribed.js +1 -1
  144. package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +3 -3
  145. package/dist/esm/components/credits/context/provider.d.ts +8 -33
  146. package/dist/esm/components/credits/context/provider.js +1 -1
  147. package/dist/esm/components/credits/context/provider.js.map +3 -3
  148. package/dist/esm/components/credits/creditsBanner/index.d.ts +16 -16
  149. package/dist/esm/components/credits/creditsBanner/index.js +1 -1
  150. package/dist/esm/components/credits/creditsBanner/index.js.map +2 -2
  151. package/dist/esm/components/credits/creditsBenefits/benefitItem.js +1 -1
  152. package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +3 -3
  153. package/dist/esm/components/credits/creditsBenefits/index.d.ts +7 -8
  154. package/dist/esm/components/credits/creditsBenefits/index.js +3 -3
  155. package/dist/esm/components/credits/creditsBenefits/index.js.map +2 -2
  156. package/dist/esm/components/credits/creditsCash/CreditsCash.d.ts +4 -0
  157. package/dist/esm/components/credits/creditsCash/CreditsCash.js +2 -0
  158. package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +7 -0
  159. package/dist/esm/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
  160. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
  161. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  162. package/dist/esm/components/credits/creditsCash/index.d.ts +2 -11
  163. package/dist/esm/components/credits/creditsCash/index.js +1 -1
  164. package/dist/esm/components/credits/creditsCash/index.js.map +4 -4
  165. package/dist/esm/components/credits/creditsCash/type.d.ts +1 -3
  166. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  167. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +2 -2
  168. package/dist/esm/components/credits/creditsFaq/index.d.ts +2 -2
  169. package/dist/esm/components/credits/creditsFaq/index.js +1 -1
  170. package/dist/esm/components/credits/creditsFaq/index.js.map +3 -3
  171. package/dist/esm/components/credits/creditsInfoCard/index.d.ts +9 -15
  172. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  173. package/dist/esm/components/credits/creditsInfoCard/index.js.map +3 -3
  174. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  175. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  176. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  177. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  178. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  179. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  180. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +4 -0
  181. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
  182. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
  183. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
  184. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js +1 -1
  185. package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
  186. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
  187. package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
  188. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  189. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  190. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
  191. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
  192. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
  193. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
  194. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  195. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
  196. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  197. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  198. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
  199. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
  200. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  201. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  202. package/dist/esm/components/credits/creditsRedeemList/index.d.ts +2 -12
  203. package/dist/esm/components/credits/creditsRedeemList/index.js +1 -1
  204. package/dist/esm/components/credits/creditsRedeemList/index.js.map +4 -4
  205. package/dist/esm/components/credits/creditsRedeemList/type.d.ts +1 -15
  206. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +2 -0
  207. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
  208. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
  209. package/dist/esm/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
  210. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js +1 -1
  211. package/dist/esm/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
  212. package/dist/esm/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
  213. package/dist/esm/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
  214. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
  215. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
  216. package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
  217. package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
  218. package/dist/esm/components/credits/modal/MyRewardsModal.js.map +3 -3
  219. package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
  220. package/dist/esm/components/credits/modal/activitiesModal.js.map +3 -3
  221. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  222. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  223. package/dist/esm/components/credits/modal/modalContainer.js +1 -1
  224. package/dist/esm/components/credits/modal/modalContainer.js.map +3 -3
  225. package/dist/esm/components/credits/modal/rulesModal.js +1 -1
  226. package/dist/esm/components/credits/modal/rulesModal.js.map +2 -2
  227. package/dist/esm/components/credits/modal/subscribeModal.d.ts +15 -0
  228. package/dist/esm/components/credits/modal/subscribeModal.js +2 -0
  229. package/dist/esm/components/credits/modal/subscribeModal.js.map +7 -0
  230. package/dist/esm/components/credits/modal/tip.js +1 -1
  231. package/dist/esm/components/credits/modal/tip.js.map +3 -3
  232. package/dist/esm/components/credits/type.d.ts +23 -4
  233. package/dist/esm/components/index.d.ts +1 -0
  234. package/dist/esm/components/index.js +1 -1
  235. package/dist/esm/components/index.js.map +2 -2
  236. package/dist/esm/components/registration/authCodeActivate/Message.js +1 -1
  237. package/dist/esm/components/registration/authCodeActivate/Message.js.map +2 -2
  238. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  239. package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
  240. package/dist/esm/components/registration/authCodeActivate/type.d.ts +1 -2
  241. package/dist/esm/components/registration/context/index.d.ts +1 -0
  242. package/dist/esm/components/registration/context/index.js +2 -0
  243. package/dist/esm/components/registration/context/index.js.map +7 -0
  244. package/dist/esm/components/registration/context/provider.d.ts +27 -0
  245. package/dist/esm/components/registration/context/provider.js +2 -0
  246. package/dist/esm/components/registration/context/provider.js.map +7 -0
  247. package/dist/esm/components/registration/index.d.ts +1 -0
  248. package/dist/esm/components/registration/index.js +1 -1
  249. package/dist/esm/components/registration/index.js.map +2 -2
  250. package/dist/esm/components/registration/modalContainer.d.ts +1 -2
  251. package/dist/esm/components/registration/modalContainer.js +1 -1
  252. package/dist/esm/components/registration/modalContainer.js.map +3 -3
  253. package/dist/esm/index.d.ts +2 -1
  254. package/dist/esm/index.js +1 -1
  255. package/dist/esm/index.js.map +2 -2
  256. package/dist/esm/templates/credits.d.ts +59 -0
  257. package/dist/esm/templates/credits.js +2 -0
  258. package/dist/esm/templates/credits.js.map +7 -0
  259. package/dist/esm/templates/index.d.ts +1 -0
  260. package/dist/esm/templates/index.js +2 -0
  261. package/dist/esm/templates/index.js.map +7 -0
  262. package/package.json +5 -4
  263. package/src/components/chat/index.tsx +1 -1
  264. package/src/components/credits/context/hooks/useRedeemAndBuy.ts +0 -2
  265. package/src/components/credits/context/hooks/useSubscribed.ts +1 -2
  266. package/src/components/credits/context/provider.tsx +16 -20
  267. package/src/components/credits/creditsBanner/index.tsx +14 -16
  268. package/src/components/credits/creditsBenefits/benefitItem.tsx +19 -4
  269. package/src/components/credits/creditsBenefits/index.tsx +6 -10
  270. package/src/components/credits/creditsCash/{index.tsx → CreditsCash.tsx} +8 -26
  271. package/src/components/credits/creditsCash/RedeemableItem.tsx +35 -17
  272. package/src/components/credits/creditsCash/index.ts +2 -0
  273. package/src/components/credits/creditsCash/type.ts +1 -3
  274. package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +12 -12
  275. package/src/components/credits/creditsFaq/index.tsx +6 -4
  276. package/src/components/credits/creditsInfoCard/index.tsx +38 -33
  277. package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +7 -3
  278. package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +5 -1
  279. package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +5 -4
  280. package/src/components/credits/creditsRedeemList/{index.tsx → CreditsRedeemList.tsx} +15 -28
  281. package/src/components/credits/creditsRedeemList/NonProductValue.tsx +4 -3
  282. package/src/components/credits/creditsRedeemList/RedeemCouponModal.tsx +6 -6
  283. package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +14 -11
  284. package/src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx +4 -2
  285. package/src/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.tsx +3 -1
  286. package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +9 -5
  287. package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +4 -1
  288. package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +2 -2
  289. package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +11 -7
  290. package/src/components/credits/creditsRedeemList/index.ts +2 -0
  291. package/src/components/credits/creditsRedeemList/type.ts +1 -16
  292. package/src/components/credits/creditsWaysToGetCredits/{index.tsx → CreditsWaysToGetCredits.tsx} +64 -15
  293. package/src/components/credits/creditsWaysToGetCredits/index.ts +2 -0
  294. package/src/components/credits/creditsWaysToGetCredits/type.ts +5 -15
  295. package/src/components/credits/creditsWaysToGetCredits/useActions.ts +22 -8
  296. package/src/components/credits/modal/MyRewardsModal.tsx +10 -2
  297. package/src/components/credits/modal/activitiesModal.tsx +8 -3
  298. package/src/components/credits/modal/creditsUploadReceiptModal.tsx +9 -1
  299. package/src/components/credits/modal/modalContainer.tsx +5 -1
  300. package/src/components/credits/modal/rulesModal.tsx +1 -1
  301. package/src/components/credits/modal/subscribeModal.tsx +201 -0
  302. package/src/components/credits/modal/tip.tsx +10 -1
  303. package/src/components/credits/type.ts +23 -4
  304. package/src/components/index.ts +2 -2
  305. package/src/components/registration/authCodeActivate/Message.tsx +43 -0
  306. package/src/components/registration/authCodeActivate/index.tsx +338 -0
  307. package/src/components/registration/authCodeActivate/type.ts +23 -0
  308. package/src/components/registration/context/index.tsx +1 -0
  309. package/src/components/registration/context/provider.tsx +86 -0
  310. package/src/components/registration/index.ts +2 -0
  311. package/src/components/registration/modalContainer.tsx +114 -0
  312. package/src/index.ts +2 -1
  313. package/src/templates/credits.tsx +134 -0
  314. package/src/templates/index.ts +1 -0
  315. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  316. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  317. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  318. package/dist/cjs/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  319. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +0 -2
  320. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  321. package/dist/cjs/helpers/fetchResponse.d.ts +0 -14
  322. package/dist/cjs/helpers/fetchResponse.js +0 -2
  323. package/dist/cjs/helpers/fetchResponse.js.map +0 -7
  324. package/dist/cjs/helpers/fetcher.d.ts +0 -2
  325. package/dist/cjs/helpers/fetcher.js +0 -2
  326. package/dist/cjs/helpers/fetcher.js.map +0 -7
  327. package/dist/cjs/helpers/index.d.ts +0 -2
  328. package/dist/cjs/helpers/index.js +0 -2
  329. package/dist/cjs/helpers/index.js.map +0 -7
  330. package/dist/cjs/helpers/track.d.ts +0 -19
  331. package/dist/cjs/helpers/track.js +0 -2
  332. package/dist/cjs/helpers/track.js.map +0 -7
  333. package/dist/cjs/helpers/utils.d.ts +0 -3
  334. package/dist/cjs/helpers/utils.js +0 -2
  335. package/dist/cjs/helpers/utils.js.map +0 -7
  336. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  337. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  338. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  339. package/dist/esm/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  340. package/dist/esm/components/credits/context/hooks/useSubscriptions.js +0 -2
  341. package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  342. package/dist/esm/helpers/fetchResponse.d.ts +0 -14
  343. package/dist/esm/helpers/fetchResponse.js +0 -2
  344. package/dist/esm/helpers/fetchResponse.js.map +0 -7
  345. package/dist/esm/helpers/fetcher.d.ts +0 -2
  346. package/dist/esm/helpers/fetcher.js +0 -2
  347. package/dist/esm/helpers/fetcher.js.map +0 -7
  348. package/dist/esm/helpers/index.d.ts +0 -2
  349. package/dist/esm/helpers/index.js +0 -2
  350. package/dist/esm/helpers/index.js.map +0 -7
  351. package/dist/esm/helpers/track.d.ts +0 -19
  352. package/dist/esm/helpers/track.js +0 -2
  353. package/dist/esm/helpers/track.js.map +0 -7
  354. package/dist/esm/helpers/utils.d.ts +0 -3
  355. package/dist/esm/helpers/utils.js +0 -2
  356. package/dist/esm/helpers/utils.js.map +0 -7
  357. package/src/components/credits/context/hooks/useSendEmailValidation.ts +0 -20
  358. package/src/components/credits/context/hooks/useSubscriptions.ts +0 -29
  359. package/src/helpers/fetchResponse.ts +0 -35
  360. package/src/helpers/fetcher.ts +0 -44
  361. package/src/helpers/index.ts +0 -2
  362. package/src/helpers/track.ts +0 -73
  363. package/src/helpers/utils.ts +0 -8
@@ -0,0 +1,2 @@
1
+ export*from"./credits";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/templates/index.ts"],
4
+ "sourcesContent": ["export * from './credits'\n"],
5
+ "mappings": "AAAA,WAAc",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/campaign-ui",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Campaign UI components and utilities for Anker projects",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -44,6 +44,7 @@
44
44
  "@babel/preset-typescript": "^7.24.6",
45
45
  "@testing-library/jest-dom": "^6.4.6",
46
46
  "@testing-library/react": "^14.3.1",
47
+ "@types/crypto-js": "^4.2.2",
47
48
  "@types/jest": "^29.5.12",
48
49
  "@types/node": "^20",
49
50
  "babel-jest": "^29.7.0",
@@ -59,8 +60,7 @@
59
60
  "typescript": "^5.0.0"
60
61
  },
61
62
  "peerDependencies": {
62
- "react": "^18.3.1",
63
- "react-dom": "^18.3.1"
63
+ "crypto-js": "^4.1.1"
64
64
  },
65
65
  "dependencies": {
66
66
  "@copilotkit/react-core": "1.1.2",
@@ -78,6 +78,7 @@
78
78
  "autoprefixer": "^10.4.19",
79
79
  "class-variance-authority": "^0.7.0",
80
80
  "clsx": "^2.1.1",
81
+ "crypto-js": "^4.2.0",
81
82
  "dayjs": "^1.11.7",
82
83
  "gsap": "^3.12.5",
83
84
  "monaco-editor": "^0.52.0",
@@ -87,7 +88,7 @@
87
88
  "tailwind-merge": "^2.3.0",
88
89
  "tailwindcss": "^3.4.3",
89
90
  "@anker-in/headless-ui": "1.0.26",
90
- "@anker-in/lib": "1.1.0"
91
+ "@anker-in/lib": "1.1.1"
91
92
  },
92
93
  "publishConfig": {
93
94
  "access": "public",
@@ -8,7 +8,7 @@ import Messages from './messages'
8
8
  import ResponseButton from './response'
9
9
  import Suggestions from './suggestions'
10
10
  import { CopilotAction } from './action'
11
- import fetcher from '../../helpers/fetcher'
11
+ import { fetcher } from '@anker-in/lib'
12
12
 
13
13
  export interface ChatProps {
14
14
  title: string
@@ -3,7 +3,6 @@ import { useRedeemCoupon } from './useRedeemCoupon'
3
3
  import type { ProductVariant } from '@anker-in/lib'
4
4
  import { useCreditsContext } from '../provider'
5
5
  import { useBuyNow } from '@anker-in/lib'
6
- import { AlpcErrorCode } from '../const'
7
6
 
8
7
  export const useRedeemAndBuy = (
9
8
  _: any,
@@ -39,7 +38,6 @@ export const useRedeemAndBuy = (
39
38
  user_id: profile?.user_id,
40
39
  rule_id: arg.redeemId,
41
40
  })
42
- console.log('res', res)
43
41
  if (res && res?.data?.coupon_code) {
44
42
  buyNow({
45
43
  discountCodes: [res.data.coupon_code],
@@ -2,9 +2,8 @@ import { useMemo } from 'react'
2
2
 
3
3
  import { TaskSubType } from '../const'
4
4
  import useActivities from './useActivities'
5
- import { useSubscriptions } from './useSubscriptions'
6
5
  import { useCreditsContext } from '../provider'
7
- import { useHeadlessContext } from '@anker-in/lib'
6
+ import { useHeadlessContext, useSubscriptions } from '@anker-in/lib'
8
7
 
9
8
  export const useSubscribed = () => {
10
9
  const { profile } = useCreditsContext()
@@ -1,8 +1,9 @@
1
- import React, { createContext, useContext } from 'react'
1
+ import { createContext, PropsWithChildren, useContext } from 'react'
2
2
  import type { DTC_TASK_TYPE } from './const'
3
3
  import type { CreditInfoResponse } from './response'
4
+ import { CreditsPageCommon } from '../type'
4
5
 
5
- export const CreditsContext = createContext<{
6
+ type Context = {
6
7
  profile: any
7
8
  isLoadingProfile: boolean
8
9
  removeProfile: () => void
@@ -16,7 +17,10 @@ export const CreditsContext = createContext<{
16
17
  gtm: {
17
18
  pageGroup: string
18
19
  }
19
- }>({
20
+ pageCommon: CreditsPageCommon
21
+ }
22
+
23
+ export const CreditsContext = createContext<Context>({
20
24
  profile: null,
21
25
  isLoadingProfile: false,
22
26
  taskIdToTypeMapping: {},
@@ -29,6 +33,7 @@ export const CreditsContext = createContext<{
29
33
  gtm: {
30
34
  pageGroup: '',
31
35
  },
36
+ pageCommon: {},
32
37
  })
33
38
 
34
39
  export function CreditsProvider({
@@ -44,22 +49,8 @@ export function CreditsProvider({
44
49
  customerLoading,
45
50
  fetchCreditInfo,
46
51
  gtm,
47
- }: {
48
- children: React.ReactNode
49
- profile: any
50
- removeProfile: () => void
51
- isLoadingProfile: boolean
52
- openSignInPopup: () => void
53
- openSignUpPopup: () => void
54
- taskIdToTypeMapping: Record<string, DTC_TASK_TYPE>
55
- creditInfo?: CreditInfoResponse
56
- customer: any
57
- fetchCreditInfo: (user_id: string) => void
58
- customerLoading: boolean
59
- gtm: {
60
- pageGroup: string
61
- }
62
- }) {
52
+ pageCommon,
53
+ }: PropsWithChildren<Context>) {
63
54
  return (
64
55
  <CreditsContext.Provider
65
56
  value={{
@@ -74,6 +65,7 @@ export function CreditsProvider({
74
65
  customer,
75
66
  customerLoading,
76
67
  gtm,
68
+ pageCommon,
77
69
  }}
78
70
  >
79
71
  {children}
@@ -82,5 +74,9 @@ export function CreditsProvider({
82
74
  }
83
75
 
84
76
  export function useCreditsContext() {
85
- return useContext(CreditsContext)
77
+ const context = useContext(CreditsContext)
78
+ if (!context) {
79
+ throw new Error('useCreditsContext must be used within a CreditsProvider')
80
+ }
81
+ return context
86
82
  }
@@ -6,25 +6,23 @@ type Img = {
6
6
  url: string
7
7
  alt: string
8
8
  }
9
- type BannerProps = {
10
- copy: {
11
- pcImg: Img
12
- laptopImg: Img
13
- mobileImg: Img
14
- joinNow: string
15
- loginIn: string
16
- login: {
17
- title: string
18
- description: string
19
- }
20
- unLogin: {
21
- title: string
22
- description: string
23
- }
9
+ export type CreditsBannerCopy = {
10
+ pcImg: Img
11
+ laptopImg: Img
12
+ mobileImg: Img
13
+ joinNow: string
14
+ loginIn: string
15
+ login: {
16
+ title: string
17
+ description: string
18
+ }
19
+ unLogin: {
20
+ title: string
21
+ description: string
24
22
  }
25
23
  }
26
24
 
27
- export function CreditsBanner({ copy }: BannerProps) {
25
+ export function CreditsBanner({ copy }: { copy: CreditsBannerCopy }) {
28
26
  const { profile, openSignInPopup, openSignUpPopup } = useCreditsContext()
29
27
  const isLogin = profile ? Object.keys(profile).length !== 0 : false
30
28
 
@@ -1,5 +1,5 @@
1
1
  import { Heading, Picture, Text } from '@anker-in/headless-ui'
2
- import { cn } from '../../../helpers/utils'
2
+ import { classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
3
3
  import IconInfo from './iconInfo'
4
4
 
5
5
  export interface BenefitItemCopy {
@@ -22,9 +22,14 @@ const BenefitItem = ({
22
22
  isNoteActive: boolean
23
23
  index: number
24
24
  }) => {
25
+ const { brand } = useHeadlessContext()
26
+ const rounded = ROUNDED_BRANDS.includes(brand)
25
27
  return (
26
28
  <div
27
- className="relative flex-1 flex flex-col rounded-[16px] border border-white px-[24px] pb-[26px] pt-[24px] md:min-h-[180px] md:p-[16px]"
29
+ className={cn(
30
+ 'relative flex-1 flex flex-col rounded-[16px] border border-white px-[24px] pb-[26px] pt-[24px] md:min-h-[180px] md:p-[16px]',
31
+ !rounded && 'rounded-none'
32
+ )}
28
33
  style={{
29
34
  background: 'linear-gradient(119.61deg, #FAFAFA 38.58%, #FFFFFF 63.73%, #F9FCFF 89.37%)',
30
35
  }}
@@ -56,9 +61,19 @@ const BenefitItem = ({
56
61
  isNoteActive ? 'block' : 'hidden'
57
62
  )}
58
63
  >
59
- <div className="relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow">
64
+ <div
65
+ className={cn(
66
+ 'relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow',
67
+ !rounded && 'rounded-none'
68
+ )}
69
+ >
60
70
  <Text as="p" size="2" html={item.note} className="desktop:text-[18px]" />
61
- <div className="absolute -top-[10px] right-[9px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]" />
71
+ <div
72
+ className={cn(
73
+ 'absolute -top-[10px] right-[9px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]',
74
+ !rounded && 'rounded-none'
75
+ )}
76
+ />
62
77
  </div>
63
78
  </div>
64
79
  </div>
@@ -9,20 +9,16 @@ import { Swiper, SwiperSlide } from 'swiper/react'
9
9
 
10
10
  import BenefitItem, { type BenefitItemCopy } from './benefitItem'
11
11
  import { useCreditsContext } from '../context/provider'
12
- import { gaTrack } from '../../../helpers/track'
13
- import { cn } from '../../../helpers/utils'
12
+ import { gaTrack, classNames as cn } from '@anker-in/lib'
14
13
 
15
- interface CreditsBenefitsProps {
16
- copy: {
17
- title: string
18
- benefits: BenefitItemCopy[]
19
- }
14
+ export type CreditsBenefitsCopy = {
15
+ title: string
16
+ benefits: BenefitItemCopy[]
20
17
  }
21
18
 
22
- export const CreditsBenefits = ({ copy }: CreditsBenefitsProps) => {
19
+ export const CreditsBenefits = ({ copy }: { copy: CreditsBenefitsCopy }) => {
23
20
  const [activeNoteIndex, setActiveNoteIndex] = useState<number | null>(null)
24
21
  const { profile, gtm } = useCreditsContext()
25
-
26
22
  const handleClick = ({ item, index }: { item: BenefitItemCopy; index: number }) => {
27
23
  gaTrack({
28
24
  event: 'ga4Event',
@@ -80,7 +76,7 @@ export const CreditsBenefits = ({ copy }: CreditsBenefitsProps) => {
80
76
  clickable: true,
81
77
  el: '#benefits-pagination',
82
78
  renderBullet(index, className) {
83
- return `<div class='${className} !flex justify-center size-[8px] rounded-full bg-[#D9D9D9] cursor-pointer items-center'>
79
+ return `<div class='${className} !flex justify-center size-[8px] rounded-full bg-[#D9D9D9] cursor-pointer items-center'>
84
80
  </div>`
85
81
  },
86
82
  }}
@@ -3,30 +3,16 @@ import { useMemo, useState } from 'react'
3
3
 
4
4
  import RedeemableItem from './RedeemableItem'
5
5
  import useRedeemableList from '../context/hooks/useRedeemableList'
6
- import { cn } from '../../../helpers'
7
6
  import RulesModal from '../modal/rulesModal'
8
- import { useHeadlessContext, useProductsByHandles } from '@anker-in/lib'
7
+ import { useProductsByHandles } from '@anker-in/lib'
9
8
  import { CreditsCashCopy, RedeemItem } from './type'
10
- import { Product } from '@anker-in/lib'
9
+ import { Product, classNames as cn } from '@anker-in/lib'
10
+ import { useCreditsContext } from '../context/provider'
11
11
 
12
- export const CreditsCash = ({
13
- copy,
14
- className = '',
15
- hideTitle = false,
16
- cardClassName,
17
- authCodeActivate,
18
- }: {
19
- copy: CreditsCashCopy
20
- className?: string
21
- hideTitle?: boolean
22
- cardClassName?: string
23
- authCodeActivate: {
24
- openAuthCodePopup: Function
25
- isSuccess: boolean
26
- }
27
- }) => {
12
+ export const CreditsCash = ({ copy }: { copy: CreditsCashCopy }) => {
28
13
  const [rules, setRules] = useState<string | string[]>()
29
14
  const { redeemableList } = useRedeemableList()
15
+ const { pageCommon } = useCreditsContext()
30
16
 
31
17
  const variantMetafieldIdentifiers: any[] = []
32
18
 
@@ -63,11 +49,9 @@ export const CreditsCash = ({
63
49
  .filter(Boolean) as unknown as RedeemItem[]
64
50
  }, [productByHandles, copy.list, redeemableList])
65
51
 
66
- console.log('list', list)
67
-
68
52
  return (
69
- <Container className={cn('bg-[#F5F5F5]', className)}>
70
- {!hideTitle && <Heading as="h2" size="4" html={copy.title} />}
53
+ <Container className={cn('bg-[#F5F5F5]')}>
54
+ <Heading as="h2" size="4" html={copy.title} />
71
55
  <div className="relative mt-[24px] grid grid-cols-4 gap-[16px] l:gap-[12px] md:grid-cols-2 md-xl:grid-cols-3">
72
56
  {list?.map((item, index: number) => (
73
57
  <RedeemableItem
@@ -75,9 +59,7 @@ export const CreditsCash = ({
75
59
  copy={copy}
76
60
  itemData={item}
77
61
  setRules={setRules}
78
- className={cardClassName}
79
62
  currencyCode={productByHandles?.[0]?.price.currencyCode || 'USD'}
80
- authCodeActivate={authCodeActivate}
81
63
  />
82
64
  ))}
83
65
  </div>
@@ -91,7 +73,7 @@ export const CreditsCash = ({
91
73
  titleClassName="border-b-transparent h-[56px]"
92
74
  rules={rules}
93
75
  scrollClassName="md:mt-[8px] md:mb-[24px] md:pt-0"
94
- title={copy?.ruleLabel}
76
+ title={pageCommon?.ruleLabel}
95
77
  ruleClassName="text-[#1d1d1f] font-bold"
96
78
  />
97
79
  )}
@@ -1,36 +1,35 @@
1
1
  import { Button, Text, Picture } from '@anker-in/headless-ui'
2
2
  import { useMemo, useState } from 'react'
3
- import { cn } from '../../../helpers'
4
3
 
5
4
  import { CreditsCashCopy, RedeemItem } from './type'
6
5
  import { useCreditsContext } from '../context/provider'
7
6
  import { useRedeemAndBuy } from '../context/hooks/useRedeemAndBuy'
8
- import { numberFormat } from '../context/utils'
9
- import { gaTrack } from '../../../helpers/track'
7
+ import { formatPrice, numberFormat } from '../context/utils'
8
+ import { gaTrack, classNames as cn, ROUNDED_BRANDS, useHeadlessContext } from '@anker-in/lib'
9
+ import { useRegistration } from '../../../components/registration'
10
10
 
11
11
  function RedeemableItem({
12
12
  copy,
13
13
  itemData,
14
14
  setRules,
15
15
  className,
16
- authCodeActivate,
17
16
  }: {
18
17
  copy: CreditsCashCopy
19
18
  itemData: RedeemItem
20
19
  className?: string
21
20
  setRules: (rules: string[]) => void
22
21
  currencyCode: string
23
- authCodeActivate: {
24
- openAuthCodePopup: Function
25
- isSuccess: boolean
26
- }
27
22
  }) {
28
23
  const {
29
24
  creditInfo,
30
25
  profile,
31
26
  openSignUpPopup,
27
+ pageCommon,
32
28
  gtm: { pageGroup },
33
29
  } = useCreditsContext()
30
+ const { authCodeActivate } = useRegistration()
31
+ const { brand, locale } = useHeadlessContext()
32
+ const rounded = ROUNDED_BRANDS.includes(brand)
34
33
  const [error, setError] = useState<string | null>(null)
35
34
  const { trigger, isMutating } = useRedeemAndBuy(
36
35
  {},
@@ -78,8 +77,8 @@ function RedeemableItem({
78
77
  setError(null)
79
78
  if (!isLogin) {
80
79
  openSignUpPopup()
81
- } else if (!profile?.activated && !authCodeActivate.isSuccess) {
82
- authCodeActivate.openAuthCodePopup()
80
+ } else if (!profile?.activated && !authCodeActivate.isActivateSuccess) {
81
+ authCodeActivate.open()
83
82
  } else {
84
83
  trigger({
85
84
  productVariant: itemData?.productVariant,
@@ -114,6 +113,7 @@ function RedeemableItem({
114
113
  <div
115
114
  className={cn(
116
115
  'flex flex-col items-center rounded-[16px] bg-[#EAEAEC] p-[24px] md:rounded-[12px] md:px-[8px] xl:py-[16px] md-xl:px-[16px]',
116
+ !rounded && 'rounded-none',
117
117
  className
118
118
  )}
119
119
  >
@@ -147,7 +147,7 @@ function RedeemableItem({
147
147
  event_parameters: {
148
148
  page_group: pageGroup,
149
149
  position: copy.title,
150
- button_name: copy?.ruleLabel,
150
+ button_name: pageCommon?.ruleLabel,
151
151
  info: itemData?.alpcData?.id?.toString(),
152
152
  },
153
153
  })
@@ -160,16 +160,29 @@ function RedeemableItem({
160
160
  }
161
161
  }}
162
162
  >
163
- {copy?.ruleLabel}
163
+ {pageCommon?.ruleLabel}
164
164
  </button>
165
165
  )}
166
- <div className="mt-[24px] flex items-center l:mt-[12px] laptop:text-[16px] lg-desktop:text-[18px]">
166
+ <Text
167
+ html={formatPrice({
168
+ amount: itemData?.productVariant?.price.amount,
169
+ currencyCode: itemData?.productVariant?.price.currencyCode || 'USD',
170
+ locale: locale,
171
+ })}
172
+ className="mt-[24px] text-[24px] font-bold text-[#D1D1D1] line-through l:text-[14px]"
173
+ as="p"
174
+ />
175
+ <div className="flex items-center l:mt-[12px] laptop:text-[16px] lg-desktop:text-[18px]">
167
176
  <Picture
168
177
  className="size-[24px] l-xxl:size-[22px] md-l:size-[18px] md:size-[16px]"
169
178
  source="https://cdn.shopify.com/s/files/1/0511/6346/3874/files/icon_hire_purchase.png?v=1757496783"
170
179
  />
171
180
  <Text
172
- html={`${numberFormat(itemData?.alpcData?.consumeCredits)} + ${itemData?.config?.price}`}
181
+ html={`${numberFormat(itemData?.alpcData?.consumeCredits)} + ${formatPrice({
182
+ amount: Number(itemData?.config?.price),
183
+ currencyCode: itemData?.productVariant?.price.currencyCode || 'USD',
184
+ locale: locale,
185
+ })}`}
173
186
  size={2}
174
187
  as="p"
175
188
  className="ml-[4px] mt-[4px] text-[28px] font-bold leading-none md:text-[18px] l-xxl:text-[24px] md-l:text-[20px] "
@@ -186,7 +199,7 @@ function RedeemableItem({
186
199
  onClick={() => {
187
200
  handleRedeem()
188
201
  }}
189
- title={inSufficientCredit ? copy.insufficientCredits : redeemButtonText}
202
+ title={inSufficientCredit ? pageCommon.insufficientCredits : redeemButtonText}
190
203
  >
191
204
  {redeemButtonText}
192
205
  </Button>
@@ -196,8 +209,13 @@ function RedeemableItem({
196
209
  inSufficientCredit ? 'block' : 'hidden'
197
210
  )}
198
211
  >
199
- <div className="relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow md:px-[10px] md:py-[8px]">
200
- <Text as="p" size="2" html={copy?.insufficientCredits} className="text-[14px]" />
212
+ <div
213
+ className={cn(
214
+ 'relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow md:px-[10px] md:py-[8px]',
215
+ !rounded && 'rounded-none'
216
+ )}
217
+ >
218
+ <Text as="p" size="2" html={pageCommon?.insufficientCredits} className="text-[14px]" />
201
219
  <div className="absolute -top-[10px] left-[48px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]" />
202
220
  </div>
203
221
  </div>
@@ -0,0 +1,2 @@
1
+ export * from './type'
2
+ export * from './CreditsCash'
@@ -4,7 +4,7 @@ import { AlpcConsumeType } from '../context/const'
4
4
  type RedeemableItemConfig = {
5
5
  title: string
6
6
  desc: string
7
- price: string
7
+ price: number
8
8
  credit: string
9
9
  rules: string
10
10
  image: {
@@ -22,11 +22,9 @@ export type CreditsCashCopy = {
22
22
  products: { handle: string; sku: string }[]
23
23
  })[]
24
24
  soldOut: string
25
- ruleLabel: string
26
25
  unlockRewards: string
27
26
  btnRedeem: string
28
27
  off: string
29
- insufficientCredits: string
30
28
  }
31
29
 
32
30
  export type RedeemItem = {
@@ -1,6 +1,6 @@
1
1
  import { Heading, Text } from '@anker-in/headless-ui'
2
2
  import { ChevronDownIcon } from '@heroicons/react/24/outline'
3
- import { cn } from '../../../../helpers/index'
3
+ import { classNames as cn } from '@anker-in/lib'
4
4
  import { motion } from 'framer-motion'
5
5
  import { type ReactNode, useEffect, useState } from 'react'
6
6
 
@@ -34,13 +34,13 @@ export const FaqItem = ({
34
34
  return (
35
35
  <div key={index} className={cn('relative mx-0 border-b-[1px] border-[#e4e5e6] py-[24px] l:py-[16px]')}>
36
36
  <div
37
- className='relative flex items-center'
37
+ className="relative flex items-center"
38
38
  onClick={() => {
39
39
  setExpanded(!expanded)
40
40
  }}
41
- role='button'
41
+ role="button"
42
42
  tabIndex={0}
43
- onKeyDown={(e) => {
43
+ onKeyDown={e => {
44
44
  if (e.key === 'Enter' || e.key === ' ') {
45
45
  e.preventDefault()
46
46
  }
@@ -48,12 +48,12 @@ export const FaqItem = ({
48
48
  >
49
49
  <Heading
50
50
  html={question}
51
- as='h3'
51
+ as="h3"
52
52
  className={cn(
53
53
  showDots
54
54
  ? 'before:absolute before:left-[-15px] before:top-[8px] before:h-[6px] before:w-[6px] before:rounded-[50%] before:bg-[#000] before:content-[""]'
55
55
  : '',
56
- 'relative block flex-1 cursor-pointer pr-[10px] text-[18px] font-bold text-[#1D1D1F] l:text-[16px]',
56
+ 'relative block flex-1 cursor-pointer pr-[10px] text-[18px] font-bold text-[#1D1D1F] l:text-[16px]'
57
57
  )}
58
58
  ></Heading>
59
59
  {itemRightIconRender ? (
@@ -62,7 +62,7 @@ export const FaqItem = ({
62
62
  <ChevronDownIcon
63
63
  className={cn(
64
64
  'size-[16px] shrink-0 cursor-pointer stroke-[2.5px] transition-all',
65
- expanded ? 'rotate-180' : '',
65
+ expanded ? 'rotate-180' : ''
66
66
  )}
67
67
  />
68
68
  )}
@@ -70,22 +70,22 @@ export const FaqItem = ({
70
70
  <motion.div
71
71
  initial={false}
72
72
  animate={{ height: !expanded ? 0 : 'auto' }}
73
- className='overflow-hidden [&_td]:border [&_td]:border-[#333] [&_td]:px-[8px] [&_td]:py-[4px]'
73
+ className="overflow-hidden [&_td]:border [&_td]:border-[#333] [&_td]:px-[8px] [&_td]:py-[4px]"
74
74
  >
75
75
  {answer?.toString()?.includes('https://www.youtube.com') ? (
76
76
  <Text
77
- as='div'
77
+ as="div"
78
78
  className={cn('mt-[8px]')}
79
- data-ratio='16:9'
79
+ data-ratio="16:9"
80
80
  data-content={answer}
81
81
  html={answer?.toString()}
82
82
  ></Text>
83
83
  ) : (
84
84
  <Text
85
- as='div'
85
+ as="div"
86
86
  html={answer?.toString()}
87
87
  className={cn(
88
- 'mt-[8px] text-[16px] font-bold leading-[1.5] text-[#3D3D3F] l:text-[14px] [&_a]:text-brand [&_a]:underline',
88
+ 'mt-[8px] text-[16px] font-bold leading-[1.5] text-[#3D3D3F] l:text-[14px] [&_a]:text-brand [&_a]:underline'
89
89
  )}
90
90
  ></Text>
91
91
  )}
@@ -1,10 +1,10 @@
1
1
  import { Container, Heading, Tabs, TabsList, TabsTrigger, Text } from '@anker-in/headless-ui'
2
- import { cn } from '../../../helpers/index'
2
+ import { classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
3
3
  import { useMemo, useState } from 'react'
4
4
 
5
5
  import { FaqItem } from './faqItem/FaqItem'
6
6
 
7
- export type FaqCopy = {
7
+ export type CreditsFaqCopy = {
8
8
  title: string
9
9
  subTitle: string
10
10
  learnMore: {
@@ -17,8 +17,10 @@ export type FaqCopy = {
17
17
  answer: string
18
18
  }[]
19
19
  }
20
- export const CreditsFaq = ({ copy }: { copy: FaqCopy }) => {
20
+ export const CreditsFaq = ({ copy }: { copy: CreditsFaqCopy }) => {
21
21
  const { title, items: faqList, subTitle = '' } = copy || {}
22
+ const { brand } = useHeadlessContext()
23
+ const rounded = ROUNDED_BRANDS.includes(brand)
22
24
  const categoryList = useMemo(() => {
23
25
  return Array.from(new Set(faqList?.map?.(faq => faq.category_name).filter(item => !!item)))
24
26
  }, [faqList])
@@ -43,7 +45,7 @@ export const CreditsFaq = ({ copy }: { copy: FaqCopy }) => {
43
45
  {/* faq-nav */}
44
46
  <Tabs
45
47
  align="left"
46
- shape="rounded"
48
+ shape={rounded ? 'rounded' : 'square'}
47
49
  className="mt-[24px]"
48
50
  value={activeTab.toString()}
49
51
  onValueChange={value => {