@anker-in/campaign-ui 0.2.11-beta.2 → 0.2.11-beta.21

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 (510) hide show
  1. package/dist/cjs/components/LiveChatWidget/LiveChatWidget.d.ts +43 -0
  2. package/dist/cjs/components/LiveChatWidget/LiveChatWidget.js +2 -0
  3. package/dist/cjs/components/LiveChatWidget/LiveChatWidget.js.map +7 -0
  4. package/dist/cjs/components/LiveChatWidget/api/chat.d.ts +25 -0
  5. package/dist/cjs/components/LiveChatWidget/api/chat.js +3 -0
  6. package/dist/cjs/components/LiveChatWidget/api/chat.js.map +7 -0
  7. package/dist/cjs/components/LiveChatWidget/components/ChatBubble.d.ts +68 -0
  8. package/dist/cjs/components/LiveChatWidget/components/ChatBubble.js +2 -0
  9. package/dist/cjs/components/LiveChatWidget/components/ChatBubble.js.map +7 -0
  10. package/dist/cjs/components/LiveChatWidget/components/ChatHeader.d.ts +57 -0
  11. package/dist/cjs/components/LiveChatWidget/components/ChatHeader.js +2 -0
  12. package/dist/cjs/components/LiveChatWidget/components/ChatHeader.js.map +7 -0
  13. package/dist/cjs/components/LiveChatWidget/components/ChatInput.d.ts +70 -0
  14. package/dist/cjs/components/LiveChatWidget/components/ChatInput.js +2 -0
  15. package/dist/cjs/components/LiveChatWidget/components/ChatInput.js.map +7 -0
  16. package/dist/cjs/components/LiveChatWidget/components/ChatMessage.d.ts +59 -0
  17. package/dist/cjs/components/LiveChatWidget/components/ChatMessage.js +5 -0
  18. package/dist/cjs/components/LiveChatWidget/components/ChatMessage.js.map +7 -0
  19. package/dist/cjs/components/LiveChatWidget/components/ChatWindow.d.ts +127 -0
  20. package/dist/cjs/components/LiveChatWidget/components/ChatWindow.js +2 -0
  21. package/dist/cjs/components/LiveChatWidget/components/ChatWindow.js.map +7 -0
  22. package/dist/cjs/components/LiveChatWidget/components/MessageContent/CartCard.d.ts +54 -0
  23. package/dist/cjs/components/LiveChatWidget/components/MessageContent/CartCard.js +2 -0
  24. package/dist/cjs/components/LiveChatWidget/components/MessageContent/CartCard.js.map +7 -0
  25. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ErrorBlock.d.ts +33 -0
  26. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ErrorBlock.js +2 -0
  27. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ErrorBlock.js.map +7 -0
  28. package/dist/cjs/components/LiveChatWidget/components/MessageContent/FAQList.d.ts +16 -0
  29. package/dist/cjs/components/LiveChatWidget/components/MessageContent/FAQList.js +2 -0
  30. package/dist/cjs/components/LiveChatWidget/components/MessageContent/FAQList.js.map +7 -0
  31. package/dist/cjs/components/LiveChatWidget/components/MessageContent/PolicyBlock.d.ts +45 -0
  32. package/dist/cjs/components/LiveChatWidget/components/MessageContent/PolicyBlock.js +5 -0
  33. package/dist/cjs/components/LiveChatWidget/components/MessageContent/PolicyBlock.js.map +7 -0
  34. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.d.ts +48 -0
  35. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.js +5 -0
  36. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.js.map +7 -0
  37. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductComparison.d.ts +70 -0
  38. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductComparison.js +2 -0
  39. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductComparison.js.map +7 -0
  40. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductList.d.ts +47 -0
  41. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductList.js +2 -0
  42. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductList.js.map +7 -0
  43. package/dist/cjs/components/LiveChatWidget/components/MessageContent/PromotionList.d.ts +78 -0
  44. package/dist/cjs/components/LiveChatWidget/components/MessageContent/PromotionList.js +2 -0
  45. package/dist/cjs/components/LiveChatWidget/components/MessageContent/PromotionList.js.map +7 -0
  46. package/dist/cjs/components/LiveChatWidget/components/MessageContent/QuickReplies.d.ts +54 -0
  47. package/dist/cjs/components/LiveChatWidget/components/MessageContent/QuickReplies.js +2 -0
  48. package/dist/cjs/components/LiveChatWidget/components/MessageContent/QuickReplies.js.map +7 -0
  49. package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.d.ts +31 -0
  50. package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.js +2 -0
  51. package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +7 -0
  52. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ThinkingBlock.d.ts +31 -0
  53. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js +2 -0
  54. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js.map +7 -0
  55. package/dist/cjs/components/LiveChatWidget/components/MessageContent/index.d.ts +15 -0
  56. package/dist/cjs/components/LiveChatWidget/components/MessageContent/index.js +2 -0
  57. package/dist/cjs/components/LiveChatWidget/components/MessageContent/index.js.map +7 -0
  58. package/dist/cjs/components/LiveChatWidget/components/MessageContent.d.ts +63 -0
  59. package/dist/cjs/components/LiveChatWidget/components/MessageContent.js +2 -0
  60. package/dist/cjs/components/LiveChatWidget/components/MessageContent.js.map +7 -0
  61. package/dist/cjs/components/LiveChatWidget/components/MessageList.d.ts +74 -0
  62. package/dist/cjs/components/LiveChatWidget/components/MessageList.js +5 -0
  63. package/dist/cjs/components/LiveChatWidget/components/MessageList.js.map +7 -0
  64. package/dist/cjs/components/LiveChatWidget/components/ScrollAnchor.d.ts +44 -0
  65. package/dist/cjs/components/LiveChatWidget/components/ScrollAnchor.js +2 -0
  66. package/dist/cjs/components/LiveChatWidget/components/ScrollAnchor.js.map +7 -0
  67. package/dist/cjs/components/LiveChatWidget/constants.d.ts +8 -0
  68. package/dist/cjs/components/LiveChatWidget/constants.js +2 -0
  69. package/dist/cjs/components/LiveChatWidget/constants.js.map +7 -0
  70. package/dist/cjs/components/LiveChatWidget/hooks/useChatAPI.d.ts +51 -0
  71. package/dist/cjs/components/LiveChatWidget/hooks/useChatAPI.js +2 -0
  72. package/dist/cjs/components/LiveChatWidget/hooks/useChatAPI.js.map +7 -0
  73. package/dist/cjs/components/LiveChatWidget/hooks/useChatState.d.ts +120 -0
  74. package/dist/cjs/components/LiveChatWidget/hooks/useChatState.js +2 -0
  75. package/dist/cjs/components/LiveChatWidget/hooks/useChatState.js.map +7 -0
  76. package/dist/cjs/components/LiveChatWidget/hooks/useSession.d.ts +37 -0
  77. package/dist/cjs/components/LiveChatWidget/hooks/useSession.js +2 -0
  78. package/dist/cjs/components/LiveChatWidget/hooks/useSession.js.map +7 -0
  79. package/dist/cjs/components/LiveChatWidget/index.d.ts +12 -0
  80. package/dist/cjs/components/LiveChatWidget/index.js +2 -0
  81. package/dist/cjs/components/LiveChatWidget/index.js.map +7 -0
  82. package/dist/cjs/components/LiveChatWidget/types.d.ts +609 -0
  83. package/dist/cjs/components/LiveChatWidget/types.js +2 -0
  84. package/dist/cjs/components/LiveChatWidget/types.js.map +7 -0
  85. package/dist/cjs/components/LiveChatWidget/utils/cartTransformers.d.ts +25 -0
  86. package/dist/cjs/components/LiveChatWidget/utils/cartTransformers.js +2 -0
  87. package/dist/cjs/components/LiveChatWidget/utils/cartTransformers.js.map +7 -0
  88. package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.d.ts +64 -0
  89. package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.js +2 -0
  90. package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.js.map +7 -0
  91. package/dist/cjs/components/LiveChatWidget/utils/productTransformers.d.ts +43 -0
  92. package/dist/cjs/components/LiveChatWidget/utils/productTransformers.js +2 -0
  93. package/dist/cjs/components/LiveChatWidget/utils/productTransformers.js.map +7 -0
  94. package/dist/cjs/components/LiveChatWidget/utils/userId.d.ts +18 -0
  95. package/dist/cjs/components/LiveChatWidget/utils/userId.js +2 -0
  96. package/dist/cjs/components/LiveChatWidget/utils/userId.js.map +7 -0
  97. package/dist/cjs/components/LiveChatWidget/utils/validation.d.ts +37 -0
  98. package/dist/cjs/components/LiveChatWidget/utils/validation.js +2 -0
  99. package/dist/cjs/components/LiveChatWidget/utils/validation.js.map +7 -0
  100. package/dist/cjs/components/chat/markdown.js +1 -1
  101. package/dist/cjs/components/chat/markdown.js.map +2 -2
  102. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.d.ts +2 -2
  103. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js +1 -1
  104. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js.map +2 -2
  105. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +1 -1
  106. package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  107. package/dist/cjs/components/credits/context/memberPriceConst.d.ts +0 -5
  108. package/dist/cjs/components/credits/context/memberPriceConst.js +1 -1
  109. package/dist/cjs/components/credits/context/memberPriceConst.js.map +3 -3
  110. package/dist/cjs/components/credits/context/memberPriceTypes.d.ts +1 -22
  111. package/dist/cjs/components/credits/context/memberPriceTypes.js +1 -1
  112. package/dist/cjs/components/credits/context/memberPriceTypes.js.map +1 -1
  113. package/dist/cjs/components/credits/context/provider.d.ts +16 -1
  114. package/dist/cjs/components/credits/context/provider.js +1 -1
  115. package/dist/cjs/components/credits/context/provider.js.map +3 -3
  116. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.d.ts +2 -2
  117. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js +1 -1
  118. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js.map +1 -1
  119. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +2 -2
  120. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +1 -1
  121. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +1 -1
  122. package/dist/cjs/components/credits/context/utils/variantGetCoupon.d.ts +2 -2
  123. package/dist/cjs/components/credits/context/utils/variantGetCoupon.js +1 -1
  124. package/dist/cjs/components/credits/context/utils/variantGetCoupon.js.map +1 -1
  125. package/dist/cjs/components/credits/context/utils.d.ts +4 -0
  126. package/dist/cjs/components/credits/context/utils.js +1 -1
  127. package/dist/cjs/components/credits/context/utils.js.map +3 -3
  128. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
  129. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +3 -3
  130. package/dist/cjs/components/credits/creditsBanner/index.d.ts +2 -0
  131. package/dist/cjs/components/credits/creditsBanner/index.js +12 -1
  132. package/dist/cjs/components/credits/creditsBanner/index.js.map +3 -3
  133. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js +1 -1
  134. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js.map +3 -3
  135. package/dist/cjs/components/credits/creditsBenefits/IconInfo.js +1 -1
  136. package/dist/cjs/components/credits/creditsBenefits/IconInfo.js.map +1 -1
  137. package/dist/cjs/components/credits/creditsBenefits/index.js +3 -3
  138. package/dist/cjs/components/credits/creditsBenefits/index.js.map +2 -2
  139. package/dist/cjs/components/credits/creditsCash/CreditsCash.js +1 -1
  140. package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +3 -3
  141. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
  142. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  143. package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -0
  144. package/dist/cjs/components/credits/creditsCash/type.js +1 -1
  145. package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
  146. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  147. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  148. package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
  149. package/dist/cjs/components/credits/creditsFaq/index.js.map +3 -3
  150. package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
  151. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +3 -3
  152. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
  153. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +3 -3
  154. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
  155. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js.map +3 -3
  156. package/dist/cjs/components/credits/creditsMemberPrice/Pagination.d.ts +7 -0
  157. package/dist/cjs/components/credits/creditsMemberPrice/Pagination.js +2 -0
  158. package/dist/cjs/components/credits/creditsMemberPrice/Pagination.js.map +7 -0
  159. package/dist/cjs/components/credits/creditsMemberPrice/type.d.ts +3 -5
  160. package/dist/cjs/components/credits/creditsMemberPrice/type.js +1 -1
  161. package/dist/cjs/components/credits/creditsMemberPrice/type.js.map +1 -1
  162. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
  163. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
  164. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  165. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
  166. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  167. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
  168. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  169. package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
  170. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
  171. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +3 -3
  172. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  173. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  174. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  175. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
  176. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  177. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
  178. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  179. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  180. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
  181. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +3 -3
  182. package/dist/cjs/components/credits/modal/MyRewardsModal.js +1 -1
  183. package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +3 -3
  184. package/dist/cjs/components/credits/modal/activitiesModal.js +1 -1
  185. package/dist/cjs/components/credits/modal/activitiesModal.js.map +3 -3
  186. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  187. package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  188. package/dist/cjs/components/credits/modal/modalContainer.js +1 -1
  189. package/dist/cjs/components/credits/modal/modalContainer.js.map +3 -3
  190. package/dist/cjs/components/credits/modal/subscribeModal.js +1 -1
  191. package/dist/cjs/components/credits/modal/subscribeModal.js.map +3 -3
  192. package/dist/cjs/components/credits/modal/tip.js +1 -1
  193. package/dist/cjs/components/credits/modal/tip.js.map +3 -3
  194. package/dist/cjs/components/index.d.ts +3 -1
  195. package/dist/cjs/components/index.js +1 -1
  196. package/dist/cjs/components/index.js.map +3 -3
  197. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  198. package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
  199. package/dist/cjs/components/registration/modalContainer.js +1 -1
  200. package/dist/cjs/components/registration/modalContainer.js.map +3 -3
  201. package/dist/cjs/constants.d.ts +1 -0
  202. package/dist/cjs/constants.js +2 -0
  203. package/dist/cjs/constants.js.map +7 -0
  204. package/dist/cjs/index.d.ts +3 -2
  205. package/dist/cjs/index.js +1 -1
  206. package/dist/cjs/index.js.map +2 -2
  207. package/dist/cjs/stories/CartCard.stories.d.ts +33 -0
  208. package/dist/cjs/stories/CartCard.stories.js +21 -0
  209. package/dist/cjs/stories/CartCard.stories.js.map +7 -0
  210. package/dist/cjs/stories/LiveChatWidget.stories.d.ts +92 -0
  211. package/dist/cjs/stories/LiveChatWidget.stories.js +98 -0
  212. package/dist/cjs/stories/LiveChatWidget.stories.js.map +7 -0
  213. package/dist/cjs/templates/Credits.d.ts +15 -1
  214. package/dist/cjs/templates/Credits.js +1 -1
  215. package/dist/cjs/templates/Credits.js.map +3 -3
  216. package/dist/esm/components/LiveChatWidget/LiveChatWidget.d.ts +43 -0
  217. package/dist/esm/components/LiveChatWidget/LiveChatWidget.js +2 -0
  218. package/dist/esm/components/LiveChatWidget/LiveChatWidget.js.map +7 -0
  219. package/dist/esm/components/LiveChatWidget/api/chat.d.ts +25 -0
  220. package/dist/esm/components/LiveChatWidget/api/chat.js +3 -0
  221. package/dist/esm/components/LiveChatWidget/api/chat.js.map +7 -0
  222. package/dist/esm/components/LiveChatWidget/components/ChatBubble.d.ts +68 -0
  223. package/dist/esm/components/LiveChatWidget/components/ChatBubble.js +2 -0
  224. package/dist/esm/components/LiveChatWidget/components/ChatBubble.js.map +7 -0
  225. package/dist/esm/components/LiveChatWidget/components/ChatHeader.d.ts +57 -0
  226. package/dist/esm/components/LiveChatWidget/components/ChatHeader.js +2 -0
  227. package/dist/esm/components/LiveChatWidget/components/ChatHeader.js.map +7 -0
  228. package/dist/esm/components/LiveChatWidget/components/ChatInput.d.ts +70 -0
  229. package/dist/esm/components/LiveChatWidget/components/ChatInput.js +2 -0
  230. package/dist/esm/components/LiveChatWidget/components/ChatInput.js.map +7 -0
  231. package/dist/esm/components/LiveChatWidget/components/ChatMessage.d.ts +59 -0
  232. package/dist/esm/components/LiveChatWidget/components/ChatMessage.js +5 -0
  233. package/dist/esm/components/LiveChatWidget/components/ChatMessage.js.map +7 -0
  234. package/dist/esm/components/LiveChatWidget/components/ChatWindow.d.ts +127 -0
  235. package/dist/esm/components/LiveChatWidget/components/ChatWindow.js +2 -0
  236. package/dist/esm/components/LiveChatWidget/components/ChatWindow.js.map +7 -0
  237. package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.d.ts +54 -0
  238. package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.js +2 -0
  239. package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.js.map +7 -0
  240. package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.d.ts +33 -0
  241. package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.js +2 -0
  242. package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.js.map +7 -0
  243. package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.d.ts +16 -0
  244. package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.js +2 -0
  245. package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.js.map +7 -0
  246. package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.d.ts +45 -0
  247. package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.js +5 -0
  248. package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.js.map +7 -0
  249. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.d.ts +48 -0
  250. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.js +5 -0
  251. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.js.map +7 -0
  252. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.d.ts +70 -0
  253. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.js +2 -0
  254. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.js.map +7 -0
  255. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.d.ts +47 -0
  256. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.js +2 -0
  257. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.js.map +7 -0
  258. package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.d.ts +78 -0
  259. package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.js +2 -0
  260. package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.js.map +7 -0
  261. package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.d.ts +54 -0
  262. package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.js +2 -0
  263. package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.js.map +7 -0
  264. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.d.ts +31 -0
  265. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js +2 -0
  266. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +7 -0
  267. package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.d.ts +31 -0
  268. package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js +2 -0
  269. package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js.map +7 -0
  270. package/dist/esm/components/LiveChatWidget/components/MessageContent/index.d.ts +15 -0
  271. package/dist/esm/components/LiveChatWidget/components/MessageContent/index.js +2 -0
  272. package/dist/esm/components/LiveChatWidget/components/MessageContent/index.js.map +7 -0
  273. package/dist/esm/components/LiveChatWidget/components/MessageContent.d.ts +63 -0
  274. package/dist/esm/components/LiveChatWidget/components/MessageContent.js +2 -0
  275. package/dist/esm/components/LiveChatWidget/components/MessageContent.js.map +7 -0
  276. package/dist/esm/components/LiveChatWidget/components/MessageList.d.ts +74 -0
  277. package/dist/esm/components/LiveChatWidget/components/MessageList.js +5 -0
  278. package/dist/esm/components/LiveChatWidget/components/MessageList.js.map +7 -0
  279. package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.d.ts +44 -0
  280. package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.js +2 -0
  281. package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.js.map +7 -0
  282. package/dist/esm/components/LiveChatWidget/constants.d.ts +8 -0
  283. package/dist/esm/components/LiveChatWidget/constants.js +2 -0
  284. package/dist/esm/components/LiveChatWidget/constants.js.map +7 -0
  285. package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.d.ts +51 -0
  286. package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.js +2 -0
  287. package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.js.map +7 -0
  288. package/dist/esm/components/LiveChatWidget/hooks/useChatState.d.ts +120 -0
  289. package/dist/esm/components/LiveChatWidget/hooks/useChatState.js +2 -0
  290. package/dist/esm/components/LiveChatWidget/hooks/useChatState.js.map +7 -0
  291. package/dist/esm/components/LiveChatWidget/hooks/useSession.d.ts +37 -0
  292. package/dist/esm/components/LiveChatWidget/hooks/useSession.js +2 -0
  293. package/dist/esm/components/LiveChatWidget/hooks/useSession.js.map +7 -0
  294. package/dist/esm/components/LiveChatWidget/index.d.ts +12 -0
  295. package/dist/esm/components/LiveChatWidget/index.js +2 -0
  296. package/dist/esm/components/LiveChatWidget/index.js.map +7 -0
  297. package/dist/esm/components/LiveChatWidget/types.d.ts +609 -0
  298. package/dist/esm/components/LiveChatWidget/types.js +1 -0
  299. package/dist/esm/components/LiveChatWidget/types.js.map +7 -0
  300. package/dist/esm/components/LiveChatWidget/utils/cartTransformers.d.ts +25 -0
  301. package/dist/esm/components/LiveChatWidget/utils/cartTransformers.js +2 -0
  302. package/dist/esm/components/LiveChatWidget/utils/cartTransformers.js.map +7 -0
  303. package/dist/esm/components/LiveChatWidget/utils/messageRenderers.d.ts +64 -0
  304. package/dist/esm/components/LiveChatWidget/utils/messageRenderers.js +2 -0
  305. package/dist/esm/components/LiveChatWidget/utils/messageRenderers.js.map +7 -0
  306. package/dist/esm/components/LiveChatWidget/utils/productTransformers.d.ts +43 -0
  307. package/dist/esm/components/LiveChatWidget/utils/productTransformers.js +2 -0
  308. package/dist/esm/components/LiveChatWidget/utils/productTransformers.js.map +7 -0
  309. package/dist/esm/components/LiveChatWidget/utils/userId.d.ts +18 -0
  310. package/dist/esm/components/LiveChatWidget/utils/userId.js +2 -0
  311. package/dist/esm/components/LiveChatWidget/utils/userId.js.map +7 -0
  312. package/dist/esm/components/LiveChatWidget/utils/validation.d.ts +37 -0
  313. package/dist/esm/components/LiveChatWidget/utils/validation.js +2 -0
  314. package/dist/esm/components/LiveChatWidget/utils/validation.js.map +7 -0
  315. package/dist/esm/components/chat/markdown.js +1 -1
  316. package/dist/esm/components/chat/markdown.js.map +2 -2
  317. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.d.ts +2 -2
  318. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js +1 -1
  319. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js.map +2 -2
  320. package/dist/esm/components/credits/context/hooks/useRedeemableList.js +1 -1
  321. package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  322. package/dist/esm/components/credits/context/memberPriceConst.d.ts +0 -5
  323. package/dist/esm/components/credits/context/memberPriceConst.js +1 -1
  324. package/dist/esm/components/credits/context/memberPriceConst.js.map +3 -3
  325. package/dist/esm/components/credits/context/memberPriceTypes.d.ts +1 -22
  326. package/dist/esm/components/credits/context/provider.d.ts +16 -1
  327. package/dist/esm/components/credits/context/provider.js +1 -1
  328. package/dist/esm/components/credits/context/provider.js.map +3 -3
  329. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.d.ts +2 -2
  330. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js +1 -1
  331. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js.map +1 -1
  332. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +2 -2
  333. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +1 -1
  334. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +1 -1
  335. package/dist/esm/components/credits/context/utils/variantGetCoupon.d.ts +2 -2
  336. package/dist/esm/components/credits/context/utils/variantGetCoupon.js +1 -1
  337. package/dist/esm/components/credits/context/utils/variantGetCoupon.js.map +1 -1
  338. package/dist/esm/components/credits/context/utils.d.ts +4 -0
  339. package/dist/esm/components/credits/context/utils.js +1 -1
  340. package/dist/esm/components/credits/context/utils.js.map +3 -3
  341. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
  342. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +3 -3
  343. package/dist/esm/components/credits/creditsBanner/index.d.ts +2 -0
  344. package/dist/esm/components/credits/creditsBanner/index.js +12 -1
  345. package/dist/esm/components/credits/creditsBanner/index.js.map +3 -3
  346. package/dist/esm/components/credits/creditsBenefits/BenefitItem.js +1 -1
  347. package/dist/esm/components/credits/creditsBenefits/BenefitItem.js.map +3 -3
  348. package/dist/esm/components/credits/creditsBenefits/IconInfo.js +1 -1
  349. package/dist/esm/components/credits/creditsBenefits/IconInfo.js.map +1 -1
  350. package/dist/esm/components/credits/creditsBenefits/index.js +3 -3
  351. package/dist/esm/components/credits/creditsBenefits/index.js.map +2 -2
  352. package/dist/esm/components/credits/creditsCash/CreditsCash.js +1 -1
  353. package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +3 -3
  354. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
  355. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  356. package/dist/esm/components/credits/creditsCash/type.d.ts +1 -0
  357. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  358. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  359. package/dist/esm/components/credits/creditsFaq/index.js +1 -1
  360. package/dist/esm/components/credits/creditsFaq/index.js.map +3 -3
  361. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  362. package/dist/esm/components/credits/creditsInfoCard/index.js.map +2 -2
  363. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
  364. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +3 -3
  365. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
  366. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js.map +3 -3
  367. package/dist/esm/components/credits/creditsMemberPrice/Pagination.d.ts +7 -0
  368. package/dist/esm/components/credits/creditsMemberPrice/Pagination.js +2 -0
  369. package/dist/esm/components/credits/creditsMemberPrice/Pagination.js.map +7 -0
  370. package/dist/esm/components/credits/creditsMemberPrice/type.d.ts +3 -5
  371. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
  372. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
  373. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
  374. package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +2 -2
  375. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
  376. package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +2 -2
  377. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
  378. package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +2 -2
  379. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
  380. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +3 -3
  381. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
  382. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
  383. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  384. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
  385. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
  386. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +2 -2
  387. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  388. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  389. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
  390. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +3 -3
  391. package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
  392. package/dist/esm/components/credits/modal/MyRewardsModal.js.map +2 -2
  393. package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
  394. package/dist/esm/components/credits/modal/activitiesModal.js.map +3 -3
  395. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +1 -1
  396. package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
  397. package/dist/esm/components/credits/modal/modalContainer.js +1 -1
  398. package/dist/esm/components/credits/modal/modalContainer.js.map +3 -3
  399. package/dist/esm/components/credits/modal/subscribeModal.js +1 -1
  400. package/dist/esm/components/credits/modal/subscribeModal.js.map +3 -3
  401. package/dist/esm/components/credits/modal/tip.js +1 -1
  402. package/dist/esm/components/credits/modal/tip.js.map +3 -3
  403. package/dist/esm/components/index.d.ts +3 -1
  404. package/dist/esm/components/index.js +1 -1
  405. package/dist/esm/components/index.js.map +3 -3
  406. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  407. package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
  408. package/dist/esm/components/registration/modalContainer.js +1 -1
  409. package/dist/esm/components/registration/modalContainer.js.map +3 -3
  410. package/dist/esm/constants.d.ts +1 -0
  411. package/dist/esm/constants.js +2 -0
  412. package/dist/esm/constants.js.map +7 -0
  413. package/dist/esm/index.d.ts +3 -2
  414. package/dist/esm/index.js +1 -1
  415. package/dist/esm/index.js.map +2 -2
  416. package/dist/esm/stories/CartCard.stories.d.ts +33 -0
  417. package/dist/esm/stories/CartCard.stories.js +21 -0
  418. package/dist/esm/stories/CartCard.stories.js.map +7 -0
  419. package/dist/esm/stories/LiveChatWidget.stories.d.ts +92 -0
  420. package/dist/esm/stories/LiveChatWidget.stories.js +98 -0
  421. package/dist/esm/stories/LiveChatWidget.stories.js.map +7 -0
  422. package/dist/esm/templates/Credits.d.ts +15 -1
  423. package/dist/esm/templates/Credits.js +1 -1
  424. package/dist/esm/templates/Credits.js.map +3 -3
  425. package/package.json +7 -3
  426. package/src/components/LiveChatWidget/LiveChatWidget.tsx +599 -0
  427. package/src/components/LiveChatWidget/api/chat.ts +136 -0
  428. package/src/components/LiveChatWidget/components/ChatBubble.tsx +152 -0
  429. package/src/components/LiveChatWidget/components/ChatHeader.tsx +151 -0
  430. package/src/components/LiveChatWidget/components/ChatInput.tsx +216 -0
  431. package/src/components/LiveChatWidget/components/ChatMessage.tsx +182 -0
  432. package/src/components/LiveChatWidget/components/ChatWindow.tsx +304 -0
  433. package/src/components/LiveChatWidget/components/MessageContent/CartCard.tsx +198 -0
  434. package/src/components/LiveChatWidget/components/MessageContent/ErrorBlock.tsx +75 -0
  435. package/src/components/LiveChatWidget/components/MessageContent/FAQList.tsx +127 -0
  436. package/src/components/LiveChatWidget/components/MessageContent/PolicyBlock.tsx +150 -0
  437. package/src/components/LiveChatWidget/components/MessageContent/ProductCard.tsx +139 -0
  438. package/src/components/LiveChatWidget/components/MessageContent/ProductComparison.tsx +348 -0
  439. package/src/components/LiveChatWidget/components/MessageContent/ProductList.tsx +275 -0
  440. package/src/components/LiveChatWidget/components/MessageContent/PromotionList.tsx +207 -0
  441. package/src/components/LiveChatWidget/components/MessageContent/QuickReplies.tsx +91 -0
  442. package/src/components/LiveChatWidget/components/MessageContent/TextBlock.tsx +89 -0
  443. package/src/components/LiveChatWidget/components/MessageContent/ThinkingBlock.tsx +53 -0
  444. package/src/components/LiveChatWidget/components/MessageContent/index.ts +16 -0
  445. package/src/components/LiveChatWidget/components/MessageContent.tsx +110 -0
  446. package/src/components/LiveChatWidget/components/MessageList.tsx +261 -0
  447. package/src/components/LiveChatWidget/components/ScrollAnchor.tsx +75 -0
  448. package/src/components/LiveChatWidget/constants.ts +15 -0
  449. package/src/components/LiveChatWidget/hooks/useChatAPI.ts +136 -0
  450. package/src/components/LiveChatWidget/hooks/useChatState.ts +542 -0
  451. package/src/components/LiveChatWidget/hooks/useSession.ts +123 -0
  452. package/src/components/LiveChatWidget/index.tsx +62 -0
  453. package/src/components/LiveChatWidget/types.ts +769 -0
  454. package/src/components/LiveChatWidget/utils/cartTransformers.ts +72 -0
  455. package/src/components/LiveChatWidget/utils/messageRenderers.ts +120 -0
  456. package/src/components/LiveChatWidget/utils/productTransformers.ts +149 -0
  457. package/src/components/LiveChatWidget/utils/userId.ts +140 -0
  458. package/src/components/LiveChatWidget/utils/validation.ts +99 -0
  459. package/src/components/chat/markdown.tsx +1 -1
  460. package/src/components/credits/context/hooks/useRedeemableList.ts +1 -1
  461. package/src/components/credits/context/memberPriceConst.ts +0 -7
  462. package/src/components/credits/context/memberPriceTypes.ts +1 -26
  463. package/src/components/credits/context/provider.tsx +16 -0
  464. package/src/components/credits/context/utils.ts +9 -0
  465. package/src/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.tsx +44 -41
  466. package/src/components/credits/creditsBanner/index.tsx +31 -3
  467. package/src/components/credits/creditsBenefits/BenefitItem.tsx +13 -5
  468. package/src/components/credits/creditsBenefits/IconInfo.tsx +1 -1
  469. package/src/components/credits/creditsBenefits/index.tsx +1 -1
  470. package/src/components/credits/creditsCash/CreditsCash.tsx +6 -3
  471. package/src/components/credits/creditsCash/RedeemableItem.tsx +29 -11
  472. package/src/components/credits/creditsCash/type.ts +1 -0
  473. package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +25 -23
  474. package/src/components/credits/creditsFaq/index.tsx +2 -1
  475. package/src/components/credits/creditsInfoCard/index.tsx +10 -3
  476. package/src/components/credits/creditsMemberPrice/CreditsMemberPrice.tsx +160 -136
  477. package/src/components/credits/creditsMemberPrice/MemberPriceItem.tsx +134 -29
  478. package/src/components/credits/creditsMemberPrice/Pagination.tsx +113 -0
  479. package/src/components/credits/creditsMemberPrice/type.ts +3 -5
  480. package/src/components/credits/creditsNavigation/CreditsNavigation.tsx +3 -3
  481. package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +2 -1
  482. package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +2 -1
  483. package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +2 -1
  484. package/src/components/credits/creditsRedeemList/CreditsRedeemList.tsx +32 -18
  485. package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +2 -1
  486. package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +6 -4
  487. package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +2 -1
  488. package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +21 -7
  489. package/src/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.tsx +34 -20
  490. package/src/components/credits/modal/MyRewardsModal.tsx +2 -1
  491. package/src/components/credits/modal/activitiesModal.tsx +2 -1
  492. package/src/components/credits/modal/creditsUploadReceiptModal.tsx +2 -1
  493. package/src/components/credits/modal/modalContainer.tsx +2 -1
  494. package/src/components/credits/modal/subscribeModal.tsx +2 -1
  495. package/src/components/credits/modal/tip.tsx +2 -1
  496. package/src/components/index.ts +23 -1
  497. package/src/components/registration/authCodeActivate/index.tsx +3 -1
  498. package/src/components/registration/modalContainer.tsx +2 -1
  499. package/src/constants.ts +1 -0
  500. package/src/index.ts +3 -2
  501. package/src/stories/CartCard.stories.tsx +459 -0
  502. package/src/stories/LiveChatWidget.stories.tsx +461 -0
  503. package/src/styles/livechat.css +263 -0
  504. package/src/templates/Credits.tsx +26 -9
  505. package/src/components/credits/context/hooks/useFunctionMemberPrice.ts +0 -33
  506. package/src/components/credits/context/utils/atobID.ts +0 -8
  507. package/src/components/credits/context/utils/functionDiscountCalculate.ts +0 -57
  508. package/src/components/credits/context/utils/getFunctionMemberPrice.ts +0 -135
  509. package/src/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.ts +0 -51
  510. package/src/components/credits/context/utils/variantGetCoupon.ts +0 -34
@@ -0,0 +1,113 @@
1
+ import { classNames as cn } from '@anker-in/lib'
2
+
3
+ interface PaginationProps {
4
+ currentPage: number
5
+ totalPages: number
6
+ onPageChange: (page: number) => void
7
+ }
8
+
9
+ export function Pagination({ currentPage, totalPages, onPageChange }: PaginationProps) {
10
+ if (totalPages <= 1) return null
11
+
12
+ // 计算要显示的页码
13
+ const getPageNumbers = () => {
14
+ const delta = 2 // 当前页前后显示的页码数量
15
+ const range = []
16
+ const rangeWithDots = []
17
+
18
+ for (let i = 1; i <= totalPages; i++) {
19
+ if (i === 1 || i === totalPages || (i >= currentPage - delta && i <= currentPage + delta)) {
20
+ range.push(i)
21
+ }
22
+ }
23
+
24
+ let prev = 0
25
+ for (const i of range) {
26
+ if (prev && i - prev > 1) {
27
+ rangeWithDots.push('...')
28
+ }
29
+ rangeWithDots.push(i)
30
+ prev = i
31
+ }
32
+
33
+ return rangeWithDots
34
+ }
35
+
36
+ const pages = getPageNumbers()
37
+
38
+ return (
39
+ <div className="mt-[32px] flex items-center justify-center gap-[8px]">
40
+ {/* 上一页按钮 */}
41
+ <button
42
+ onClick={() => onPageChange(Math.max(1, currentPage - 1))}
43
+ disabled={currentPage === 1}
44
+ className={cn(
45
+ 'flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white',
46
+ currentPage === 1 && 'cursor-not-allowed opacity-50'
47
+ )}
48
+ >
49
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
50
+ <path
51
+ d="M10 12L6 8L10 4"
52
+ stroke={currentPage === 1 ? '#767880' : '#080A0F'}
53
+ strokeWidth="1.5"
54
+ strokeLinecap="round"
55
+ strokeLinejoin="round"
56
+ />
57
+ </svg>
58
+ </button>
59
+
60
+ {/* 页码按钮 */}
61
+ {pages.map((page, index) => {
62
+ if (page === '...') {
63
+ return (
64
+ <div
65
+ key={`ellipsis-${index}`}
66
+ className="flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white"
67
+ >
68
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none">
69
+ <circle cx="4.5" cy="10" r="1.25" fill="#2A2C32" />
70
+ <circle cx="10" cy="10" r="1.25" fill="#2A2C32" />
71
+ <circle cx="15.5" cy="10" r="1.25" fill="#2A2C32" />
72
+ </svg>
73
+ </div>
74
+ )
75
+ }
76
+
77
+ const isActive = currentPage === page
78
+ return (
79
+ <button
80
+ key={page}
81
+ onClick={() => onPageChange(page as number)}
82
+ className={cn(
83
+ '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]',
84
+ isActive ? 'bg-[#080a0f] text-white' : 'bg-white text-[#080a0f]'
85
+ )}
86
+ >
87
+ {page}
88
+ </button>
89
+ )
90
+ })}
91
+
92
+ {/* 下一页按钮 */}
93
+ <button
94
+ onClick={() => onPageChange(Math.min(totalPages, currentPage + 1))}
95
+ disabled={currentPage === totalPages}
96
+ className={cn(
97
+ 'flex size-[32px] xl:size-[24px] items-center justify-center overflow-hidden bg-white',
98
+ currentPage === totalPages && 'cursor-not-allowed opacity-50'
99
+ )}
100
+ >
101
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none">
102
+ <path
103
+ d="M6 4L10 8L6 12"
104
+ stroke={currentPage === totalPages ? '#767880' : '#080A0F'}
105
+ strokeWidth="1.5"
106
+ strokeLinecap="round"
107
+ strokeLinejoin="round"
108
+ />
109
+ </svg>
110
+ </button>
111
+ </div>
112
+ )
113
+ }
@@ -45,13 +45,10 @@ export type CreditsMemberPriceCopy = {
45
45
  // 会员价 tab 配置(产品列表和价格完全从 memberPriceDiscount 获取)
46
46
  memberPriceTab: {
47
47
  memberPriceRuleId: string // 指定使用哪个会员价规则
48
- learnMoreText: string
48
+ addToCart: string
49
49
  shopNowText: string
50
50
  memberPriceLabel: string
51
- memberPriceImg?: {
52
- url: string
53
- alt?: string
54
- }
51
+ badgeLabel?: string
55
52
  }
56
53
  // 积分兑换 tab 配置(复用 creditsCash 的配置)
57
54
  redeemTab: {
@@ -62,6 +59,7 @@ export type CreditsMemberPriceCopy = {
62
59
  unlockRewards: string
63
60
  btnRedeem: string
64
61
  off: string
62
+ badgeLabel?: string
65
63
  }
66
64
  }
67
65
 
@@ -87,7 +87,7 @@ export const CreditsNavigation = ({ copy }: { copy: CreditsNavigationCopy }) =>
87
87
  }, [setupObserver])
88
88
 
89
89
  return (
90
- <nav className={cn('sticky top-0 z-50 bg-white')}>
90
+ <nav id="creditsNavigation" className={cn('sticky top-0 z-50 bg-white')}>
91
91
  <Container asChild>
92
92
  <div
93
93
  className={cn(
@@ -95,7 +95,7 @@ export const CreditsNavigation = ({ copy }: { copy: CreditsNavigationCopy }) =>
95
95
  'md:scrollbar-hide md:[&::-webkit-scrollbar]:hidden md:[-ms-overflow-style:none] md:[scrollbar-width:none]'
96
96
  )}
97
97
  >
98
- <ul className={cn('flex items-end gap-[24px] pt-[16px] md:gap-[16px] md:pr-[16px]')}>
98
+ <ul className={cn('flex items-end gap-[24px] pt-[16px] md:pt-[12px] md:gap-[16px] md:pr-[16px]')}>
99
99
  {copy.items.map((item, index) => {
100
100
  const isActive = activeId === item.targetId
101
101
  return (
@@ -103,7 +103,7 @@ export const CreditsNavigation = ({ copy }: { copy: CreditsNavigationCopy }) =>
103
103
  <button
104
104
  onClick={() => scrollToSection(item.targetId)}
105
105
  className={cn(
106
- 'pb-[16px] text-[14px] font-bold tracking-[-0.28px] leading-[1.4]',
106
+ 'pb-[16px] md:pb-[12px] text-[14px] font-bold tracking-[-0.28px] leading-[1.4]',
107
107
  'transition-all duration-200 relative border-b-4 whitespace-nowrap',
108
108
  isActive
109
109
  ? 'text-[#080a0f] border-brand-1'
@@ -2,7 +2,8 @@ import { Picture } from '@anker-in/headless-ui'
2
2
  import useClickOutside from '../../context/hooks/useClickOutside'
3
3
  import classNames from 'classnames'
4
4
  import { useEffect, useState } from 'react'
5
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
5
+ import { useHeadlessContext } from '@anker-in/lib'
6
+ import { ROUNDED_BRANDS } from '../../../../constants'
6
7
 
7
8
  interface Country {
8
9
  id: string
@@ -2,7 +2,8 @@ import classNames from 'classnames'
2
2
  import { Picture } from '@anker-in/headless-ui'
3
3
  import { useEffect, useMemo, useState } from 'react'
4
4
  import useClickOutside from '../../context/hooks/useClickOutside'
5
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
5
+ import { useHeadlessContext } from '@anker-in/lib'
6
+ import { ROUNDED_BRANDS } from '../../../../constants'
6
7
 
7
8
  interface StateSelectProps {
8
9
  states: { code: string; id: string; name: string }[]
@@ -7,8 +7,9 @@ import { Input } from './Input'
7
7
  import { StateSelect } from './StateSelect'
8
8
  import { ALPC_COUNTRY_MAP } from '../../context/const'
9
9
  import { useCreditsContext } from '../../context/provider'
10
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
10
+ import { useHeadlessContext } from '@anker-in/lib'
11
11
  import { AddressFormProps } from './type'
12
+ import { ROUNDED_BRANDS } from '../../../../constants'
12
13
 
13
14
  export const AddressForm = ({ countries, countriesLoading, form, validate, errors, onChange }: AddressFormProps) => {
14
15
  const { profile, customer } = useCreditsContext()
@@ -1,4 +1,4 @@
1
- import { Container, Heading, Tabs, TabsList, TabsTrigger, Text } from '@anker-in/headless-ui'
1
+ import { Container, Heading, Tabs, TabsList, TabsTrigger } from '@anker-in/headless-ui'
2
2
  import classNames from 'classnames'
3
3
  import { useCallback, useMemo, useState } from 'react'
4
4
 
@@ -7,9 +7,10 @@ import RedeemProductModal from './RedeemProductModal'
7
7
  import { useCreditsContext } from '../context/provider'
8
8
  import useRedeemableList from '../context/hooks/useRedeemableList'
9
9
  import { AlpcConsumeType, AlpcErrorCode } from '../context/const'
10
- import { useHeadlessContext, useProductsByHandles, gaTrack, ROUNDED_BRANDS } from '@anker-in/lib'
10
+ import { useHeadlessContext, useProductsByHandles, gaTrack, classNames as cn } from '@anker-in/lib'
11
11
  import type { RedeemableItem as RedeemableItemType } from '../type'
12
12
  import { RedeemableItem } from './RedeemableItem'
13
+ import { ROUNDED_BRANDS } from '../../../constants'
13
14
  import RulesModal from '../modal/rulesModal'
14
15
  import { CreditsRedeemListCopy } from './type'
15
16
  import { useRegistration } from '../../../components/registration'
@@ -28,9 +29,8 @@ export const CreditsRedeemList = ({ copy, id }: { copy: CreditsRedeemListCopy; i
28
29
  const rounded = ROUNDED_BRANDS.includes(brand)
29
30
 
30
31
  const isLogin = Object.keys(profile || {}).length > 0
31
- const isActivated = profile?.activated
32
32
 
33
- const [activeTab, setActiveTab] = useState<string>(copy.list[0].label)
33
+ const [activeTab, setActiveTab] = useState<string>(copy.list?.[0]?.label || '')
34
34
 
35
35
  const [popRedeemData, setPopRedeemData] = useState<RedeemableItemType | undefined>(undefined)
36
36
 
@@ -58,18 +58,18 @@ export const CreditsRedeemList = ({ copy, id }: { copy: CreditsRedeemListCopy; i
58
58
  const { data: products } = useProductsByHandles({ handles })
59
59
 
60
60
  const list = useMemo(() => {
61
- const currentList = copy.list.find(item => item.label === activeTab)
62
- return currentList?.list
63
- .filter(item => alpcList.some(alpcItem => alpcItem.id === item.id))
61
+ const currentList = copy.list?.find(item => item.label === activeTab)
62
+ return (currentList?.list || [])
63
+ .filter(item => alpcList.some(alpcItem => String(alpcItem.id) === String(item.id)))
64
64
  .map(item => {
65
- const alpcItem = alpcList.find(alpcItem => alpcItem.id === item.id)
65
+ const alpcItem = alpcList.find(alpcItem => String(alpcItem.id) === String(item.id))
66
66
  const product = products?.find(product => product.handle === alpcItem?.handle)
67
67
  const variant = product?.variants.find(variant => variant.sku === alpcItem?.sku)
68
68
  // 过滤掉库存不足的商品
69
69
  if (alpcItem?.isLimited && (!alpcItem?.remainingInventory || alpcItem.remainingInventory <= 0)) return null
70
70
  if (alpcItem?.consumeType === AlpcConsumeType.Product && (!product || !variant)) return null
71
71
  return {
72
- alpc: alpcList.find(alpcItem => alpcItem.id === item.id),
72
+ alpc: alpcList.find(alpcItem => String(alpcItem.id) === String(item.id)),
73
73
  config: item,
74
74
  product,
75
75
  variant,
@@ -92,18 +92,32 @@ export const CreditsRedeemList = ({ copy, id }: { copy: CreditsRedeemListCopy; i
92
92
  <Heading as="h2" size="4" html={copy.title} />
93
93
 
94
94
  {/* 可用积分展示 */}
95
- {isLogin && isActivated && (
96
- <Text
97
- html={copy.availableCredits?.replace('$credits', numberFormat(creditInfo?.available_credit || 0).toString())}
98
- className="mt-[12px] text-[20px] l-xxl:text-[18px] l:text-[16px] font-bold text-[#4A4C56]"
99
- as="p"
100
- />
95
+ {isLogin && copy.availableCredits && (
96
+ <p className="mt-[12px] text-[20px] l-xxl:text-[18px] l:text-[16px] font-bold text-[#4A4C56]">
97
+ {copy.availableCredits.includes('$credits') ? (
98
+ <>
99
+ {copy.availableCredits.split('$credits')[0]}
100
+ <span
101
+ className={cn(
102
+ 'text-brand-color-0',
103
+ brand === 'ankersolix' &&
104
+ 'bg-gradient-to-r from-[#2c7ed0] via-[#00a9e1] via-[43%] to-[#00db84] bg-clip-text text-transparent'
105
+ )}
106
+ >
107
+ {numberFormat(creditInfo?.available_credit || 0).toString()}
108
+ </span>
109
+ {copy.availableCredits.split('$credits')[1] || ''}
110
+ </>
111
+ ) : (
112
+ copy.availableCredits
113
+ )}
114
+ </p>
101
115
  )}
102
116
 
103
117
  <Tabs
104
118
  shape={rounded ? 'rounded' : 'square'}
105
119
  align="left"
106
- className={classNames('sticky top-0 z-20 py-[24px] md:justify-center')}
120
+ className={classNames('py-[24px] md:justify-center')}
107
121
  value={activeTab.toString()}
108
122
  onValueChange={value => {
109
123
  setActiveTab(value)
@@ -118,7 +132,7 @@ export const CreditsRedeemList = ({ copy, id }: { copy: CreditsRedeemListCopy; i
118
132
  }}
119
133
  >
120
134
  <TabsList>
121
- {copy.list.map(item => (
135
+ {(copy.list || []).map(item => (
122
136
  <TabsTrigger key={item.label} value={item.label}>
123
137
  {item.label}
124
138
  </TabsTrigger>
@@ -175,7 +189,7 @@ export const CreditsRedeemList = ({ copy, id }: { copy: CreditsRedeemListCopy; i
175
189
  {rules && (
176
190
  <RulesModal
177
191
  overlayClassName="md:px-[16px] md:items-center"
178
- className="md:h-fit md:rounded-b-[16px]"
192
+ className={cn('md:h-fit md:rounded-b-[16px]', !rounded && 'md:rounded-none')}
179
193
  isOpen={rules.length > 0}
180
194
  onClose={() => setRules([])}
181
195
  titleClassName="border-b-transparent h-[56px]"
@@ -1,11 +1,12 @@
1
1
  import { Button, Text } from '@anker-in/headless-ui'
2
2
  import classNames from 'classnames'
3
3
  import { AddressForm } from '../AddressForm'
4
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
4
+ import { useHeadlessContext } from '@anker-in/lib'
5
5
  import type { RedeemableItem as RedeemableItemType } from '../../type'
6
6
  import { CreditsRedeemListCopy } from '../type'
7
7
  import { ProductInfo } from './ProductInfo'
8
8
  import useCountries from '../../context/hooks/useCountries'
9
+ import { ROUNDED_BRANDS } from '../../../../constants'
9
10
 
10
11
  type AddressProps = {
11
12
  copy: CreditsRedeemListCopy
@@ -41,10 +41,12 @@ export const ProductInfo = ({ item, copy }: ProductInfoProps) => {
41
41
  ></Text>
42
42
  <div className="flex font-semibold leading-[1.4] md:flex-col">
43
43
  <div className="mr-[40px] text-[15px] font-bold text-[#777] md:mr-0 md:text-[12px]">
44
- <div className="mb-[8px] flex items-center md:mb-[4px]">
45
- <span>{copy.redeemModal.product.variantLabel}: </span>
46
- <span className="ml-1">{item.variant.title || ''}</span>
47
- </div>
44
+ {item.variant.title && item.variant.title.toLowerCase() !== 'default title' && (
45
+ <div className="mb-[8px] flex items-center md:mb-[4px]">
46
+ <span>{copy.redeemModal.product.variantLabel}: </span>
47
+ <span className="ml-1">{item.variant.title}</span>
48
+ </div>
49
+ )}
48
50
  <div className="mb-[8px] flex items-center md:mb-[4px]">
49
51
  <span>{copy.redeemModal.product.shippingFeeLabel}: </span>
50
52
  <span className="ml-1">
@@ -3,7 +3,8 @@ import classNames from 'classnames'
3
3
  import type { RedeemableItem as RedeemableItemType } from '../../type'
4
4
  import { CreditsRedeemListCopy } from '../type'
5
5
  import { ProductInfo } from './ProductInfo'
6
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
6
+ import { useHeadlessContext } from '@anker-in/lib'
7
+ import { ROUNDED_BRANDS } from '../../../../constants'
7
8
 
8
9
  type SuccessProps = {
9
10
  copy: CreditsRedeemListCopy
@@ -6,10 +6,11 @@ import classNames from 'classnames'
6
6
  import { useCreditsContext } from '../context/provider'
7
7
  import type { RedeemableItem as RedeemableItemType } from '../type'
8
8
  import { AlpcConsumeType, ConsumeType } from '../context/const'
9
- import { numberFormat } from '../context/utils'
9
+ import { numberFormat, extractVariantId } from '../context/utils'
10
10
  import type { CreditsRedeemListCopy } from './type'
11
- import { gaTrack, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
11
+ import { gaTrack, useHeadlessContext } from '@anker-in/lib'
12
12
  import { NoneProductValue } from './NonProductValue'
13
+ import { ROUNDED_BRANDS } from '../../../constants'
13
14
 
14
15
  export function RedeemableItem({
15
16
  copy,
@@ -27,7 +28,7 @@ export function RedeemableItem({
27
28
  const {
28
29
  creditInfo,
29
30
  profile,
30
- gtm: { pageGroup },
31
+ gtm: { pageGroup, pageHandle },
31
32
  pageCommon,
32
33
  } = useCreditsContext()
33
34
  const { brand } = useHeadlessContext()
@@ -79,6 +80,16 @@ export function RedeemableItem({
79
80
  pageCommon?.soldOut,
80
81
  ])
81
82
 
83
+ // 生成产品 listing 页面链接
84
+ const productUrl = useMemo(() => {
85
+ if (item.config?.type !== ConsumeType.Product || !item.product?.handle) {
86
+ return undefined
87
+ }
88
+ return extractVariantId(item.variant?.id)
89
+ ? `/products/${item.product.handle}?variant=${extractVariantId(item.variant?.id)}${pageHandle ? `&ref=${pageHandle}` : ''}`
90
+ : `/products/${item.product.handle}${pageHandle ? `?ref=${pageHandle}` : ''}`
91
+ }, [item.config?.type, item.product?.handle, item.variant?.id, pageHandle])
92
+
82
93
  return (
83
94
  <div
84
95
  className={classNames(
@@ -88,12 +99,15 @@ export function RedeemableItem({
88
99
  )}
89
100
  >
90
101
  {item.config?.type === ConsumeType.Product ? (
91
- <div className={classNames('relative mx-auto h-[224px] w-fit md:my-[10px] l:h-[120px] l-xxl:h-[138px]')}>
102
+ <a
103
+ href={productUrl}
104
+ className={classNames('relative mx-auto h-[224px] w-fit md:my-[10px] l:h-[120px] l-xxl:h-[138px]')}
105
+ >
92
106
  <Picture
93
107
  className="h-full w-auto [&_img]:h-full [&_img]:object-contain"
94
108
  source={item.config?.image?.url || item.product.images?.[0]?.url}
95
109
  ></Picture>
96
- </div>
110
+ </a>
97
111
  ) : (
98
112
  <div className="relative mx-auto my-[30px] h-[164px] md:my-0 md:h-[66px] l-xxl:h-[138px] md-l:h-[80px]">
99
113
  <Picture
@@ -104,7 +118,7 @@ export function RedeemableItem({
104
118
  <NoneProductValue item={item} />
105
119
  </div>
106
120
  )}
107
- <div className={classNames('mt-[22px] flex w-full flex-1 flex-col justify-between')}>
121
+ <div className={classNames('mt-[10px] xl:mt-[8px] flex w-full flex-1 flex-col justify-between')}>
108
122
  <Text
109
123
  html={item.config?.title || item.alpc?.title}
110
124
  title={item.config?.title || item.alpc?.title}
@@ -149,7 +163,7 @@ export function RedeemableItem({
149
163
  html={`${numberFormat(item.alpc?.consumeCredits)}`}
150
164
  size={2}
151
165
  as="p"
152
- className="ml-[4px] text-[28px] font-bold mt-[4px] leading-none md:text-[18px] l-xxl:text-[24px] md-l:text-[20px] "
166
+ className="ml-[4px] text-[24px] font-bold mt-[4px] leading-none l-xxl:text-[20px] l:text-[16px] "
153
167
  />
154
168
  </div>
155
169
 
@@ -1,18 +1,19 @@
1
1
  import { Button, Container, Heading, Picture, Text } from '@anker-in/headless-ui'
2
2
  import { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline'
3
- import { motion } from 'framer-motion'
4
- import { useMemo, useState } from 'react'
3
+ import { useEffect, useMemo, useRef, useState } from 'react'
5
4
 
6
5
  import { TaskType, type CreditsWaysToGetCreditsProps } from './type'
7
6
  import { useActions } from './useActions'
8
7
  import { useCreditsContext } from '../context/provider'
9
- import { classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
8
+ import { classNames as cn, useHeadlessContext } from '@anker-in/lib'
10
9
  import { useRegistration } from '../../registration'
11
10
  import { CreditsUploadReceiptModal } from '../modal/creditsUploadReceiptModal'
12
11
  import { CreditsSubscribeModal } from '../modal/subscribeModal'
12
+ import { ROUNDED_BRANDS } from '../../../constants'
13
13
 
14
14
  export const CreditsWaysToGetCredits = ({ copy, classNames, id }: CreditsWaysToGetCreditsProps & { id?: string }) => {
15
15
  const [showMore, setShowMore] = useState(false)
16
+ const containerRef = useRef<HTMLDivElement>(null)
16
17
  const { profile } = useCreditsContext()
17
18
  const { authCodeActivate } = useRegistration()
18
19
  const { brand } = useHeadlessContext()
@@ -36,7 +37,7 @@ export const CreditsWaysToGetCredits = ({ copy, classNames, id }: CreditsWaysToG
36
37
  },
37
38
  })
38
39
  const list = useMemo(() => {
39
- const list = copy.list
40
+ const list = (copy.list || [])
40
41
  .map(item => {
41
42
  if (!actions[item.id as keyof typeof actions]) {
42
43
  return undefined
@@ -90,6 +91,18 @@ export const CreditsWaysToGetCredits = ({ copy, classNames, id }: CreditsWaysToG
90
91
  }
91
92
  }, [actions, copy.list, isLogin])
92
93
 
94
+ useEffect(() => {
95
+ if (!showMore && window.innerWidth < 768) {
96
+ const section = document.getElementById('ways-to-get-credits')
97
+ if (section) {
98
+ const timer = setTimeout(() => {
99
+ section.scrollIntoView({ behavior: 'smooth', block: 'end' })
100
+ }, 300)
101
+ return () => clearTimeout(timer)
102
+ }
103
+ }
104
+ }, [showMore])
105
+
93
106
  return (
94
107
  <Container id={id} className=" bg-[#F5F5F7] [&>div]:l:!px-0">
95
108
  <div
@@ -122,21 +135,12 @@ export const CreditsWaysToGetCredits = ({ copy, classNames, id }: CreditsWaysToG
122
135
  </div>
123
136
 
124
137
  <div className="relative">
125
- <motion.div
138
+ <div
139
+ ref={containerRef}
126
140
  className={cn(
127
- 'relative mt-[64px] grid grid-cols-3 gap-[16px] overflow-hidden md:mt-[16px] md:grid-cols-1 l:gap-[12px] min-md:!h-auto md-l:mt-[32px] md-l:grid-cols-2'
141
+ 'relative mt-[64px] grid grid-cols-3 gap-[16px] overflow-hidden transition-all duration-300 md:mt-[16px] md:grid-cols-1 l:gap-[12px] md-l:mt-[32px] md-l:grid-cols-2',
142
+ showMore ? 'min-md:!h-auto md:h-auto' : 'md:h-[512px] min-md:!h-auto'
128
143
  )}
129
- initial={{ height: 512 }}
130
- animate={{ height: showMore ? 'auto' : 512 }}
131
- transition={{ duration: 0.3 }}
132
- onAnimationComplete={() => {
133
- if (!showMore && window.screen.width < 768) {
134
- const section = document.getElementById('ways-to-get-credits')
135
- if (section) {
136
- section.scrollIntoView({ behavior: 'smooth', block: 'end' })
137
- }
138
- }
139
- }}
140
144
  >
141
145
  {list.map(item => (
142
146
  <div
@@ -147,13 +151,23 @@ export const CreditsWaysToGetCredits = ({ copy, classNames, id }: CreditsWaysToG
147
151
  )}
148
152
  >
149
153
  <div>
150
- <Heading as="h4" html={item.title} size={2} className="text-pretty" />
154
+ <Text
155
+ as="p"
156
+ html={item.title}
157
+ size={2}
158
+ className="text-pretty text-[24px] font-bold xl:text-[20px]"
159
+ />
151
160
  <div className="mt-[4px] flex items-center">
152
161
  <Picture
153
162
  className="size-[24px] xl:size-[18px] [&_path]:size-full"
154
163
  source="https://cdn.shopify.com/s/files/1/0511/6346/3874/files/20250902-153351.png?v=1756798450"
155
164
  />
156
- <Text as="p" html={item.credits} size={2} className="ml-[4px] mt-[6px] lg-desktop:text-[18px]" />
165
+ <Text
166
+ as="p"
167
+ html={item.credits}
168
+ size={2}
169
+ className="ml-[4px] mt-[6px] text-[18px] l:text-[14px]"
170
+ />
157
171
  </div>
158
172
  </div>
159
173
 
@@ -184,7 +198,7 @@ export const CreditsWaysToGetCredits = ({ copy, classNames, id }: CreditsWaysToG
184
198
  style={{ background: 'linear-gradient(180deg, rgba(29, 29, 31, 0) 66.37%, #1D1D1F 100%)' }}
185
199
  ></div>
186
200
  )}
187
- </motion.div>
201
+ </div>
188
202
  {showMore ? (
189
203
  <button
190
204
  className="mx-auto mt-[12px] block w-fit min-md:hidden"
@@ -9,7 +9,8 @@ import { CreditsModalContainer, type ModalContainerProps } from './modalContaine
9
9
  import Tip from './tip'
10
10
  import LoadingDots from './loadingDots'
11
11
  import useMyRewards from '../context/hooks/useMyRewards'
12
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
12
+ import { useHeadlessContext } from '@anker-in/lib'
13
+ import { ROUNDED_BRANDS } from '../../../constants'
13
14
 
14
15
  export interface MyRewardsMetafields {
15
16
  title: string
@@ -4,10 +4,11 @@ import { CreditType, DTC_TASK_TYPE, TaskSubType, TaskType } from '../context/con
4
4
  import useActivities from '../context/hooks/useActivities'
5
5
  import type { Task } from '../context/response'
6
6
  import { CreditsModalContainer, type ModalContainerProps } from './modalContainer'
7
- import { classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
7
+ import { classNames as cn, useHeadlessContext } from '@anker-in/lib'
8
8
  import { Tabs, TabsList, TabsTrigger } from '@anker-in/headless-ui'
9
9
  import LoadingDots from './loadingDots'
10
10
  import { Picture, Text } from '@anker-in/headless-ui'
11
+ import { ROUNDED_BRANDS } from '../../../constants'
11
12
  import dayjs from 'dayjs'
12
13
 
13
14
  export interface MyActivitiesMetafields {
@@ -2,8 +2,9 @@ import { Button, Heading, Text } from '@anker-in/headless-ui'
2
2
  import { useCallback, useState } from 'react'
3
3
  import { CreditsModalContainer } from './modalContainer'
4
4
  import { useUploadReceipt } from '../context/hooks/useUploadReceipt'
5
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
5
+ import { useHeadlessContext } from '@anker-in/lib'
6
6
  import classNames from 'classnames'
7
+ import { ROUNDED_BRANDS } from '../../../constants'
7
8
 
8
9
  export type ReceiptCopy = {
9
10
  title: string
@@ -1,6 +1,7 @@
1
- import { classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
1
+ import { classNames as cn, useHeadlessContext } from '@anker-in/lib'
2
2
  import { useEffect, useState, type UIEvent } from 'react'
3
3
  import ReactModal from 'react-modal'
4
+ import { ROUNDED_BRANDS } from '../../../constants'
4
5
 
5
6
  export type ModalContainerProps = {
6
7
  overlayClassName?: string
@@ -1,11 +1,12 @@
1
1
  import { useCallback, useEffect, useState } from 'react'
2
2
  import { useRouter } from 'next/router'
3
3
  import { Button, Checkbox, Picture, Text } from '@anker-in/headless-ui'
4
- import { classNames, fetcher, gaTrack, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
4
+ import { classNames, fetcher, gaTrack, useHeadlessContext } from '@anker-in/lib'
5
5
  import Cookies from 'js-cookie'
6
6
  import { parse } from 'query-string'
7
7
  import sha256 from 'crypto-js/sha256'
8
8
  import { useCreditsContext } from '../context/provider'
9
+ import { ROUNDED_BRANDS } from '../../../constants'
9
10
  import { emailValidate } from '../context/utils'
10
11
  import { CreditsModalContainer, type ModalContainerProps } from './modalContainer'
11
12
 
@@ -1,6 +1,7 @@
1
- import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'
1
+ import { useHeadlessContext } from '@anker-in/lib'
2
2
  import classNames from 'classnames'
3
3
  import { useState } from 'react'
4
+ import { ROUNDED_BRANDS } from '../../../constants'
4
5
 
5
6
  function Tip({ info, index }: { info: string; index: number }) {
6
7
  const [show, setShow] = useState(false)
@@ -9,6 +9,28 @@ export {
9
9
  useCopilotReadable,
10
10
  } from './chat/utils'
11
11
 
12
- export * from './credits/index'
12
+ export * from './credits/index.js'
13
13
 
14
14
  export * from './registration/index'
15
+
16
+
17
+ // LiveChatWidget 导出
18
+ export { LiveChatWidget } from './LiveChatWidget/index.js'
19
+ export type {
20
+ LiveChatWidgetProps,
21
+ Message,
22
+ MessageContent,
23
+ MessageRole,
24
+ MessageContentType,
25
+ MessageMetadata,
26
+ MessageRenderer,
27
+ QuickReply,
28
+ ProductCardContent,
29
+ ProductListContent,
30
+ PolicyContent,
31
+ QuickRepliesContent,
32
+ ThinkingContent,
33
+ ErrorContent,
34
+ SSEEvent,
35
+ ChatStreamRequest,
36
+ } from './LiveChatWidget/index.js'