@anker-in/campaign-ui 0.2.11-beta.3 → 0.2.11-beta.31

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 (491) hide show
  1. package/dist/cjs/components/LiveChatWidget/LiveChatWidget.d.ts +63 -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 +46 -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 +41 -0
  35. package/dist/cjs/components/LiveChatWidget/components/MessageContent/ProductCard.js +2 -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 +75 -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 +81 -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 +13 -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 +60 -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 +151 -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 +767 -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/fetcher.d.ts +36 -0
  89. package/dist/cjs/components/LiveChatWidget/utils/fetcher.js +2 -0
  90. package/dist/cjs/components/LiveChatWidget/utils/fetcher.js.map +7 -0
  91. package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.d.ts +64 -0
  92. package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.js +2 -0
  93. package/dist/cjs/components/LiveChatWidget/utils/messageRenderers.js.map +7 -0
  94. package/dist/cjs/components/LiveChatWidget/utils/productTransformers.d.ts +43 -0
  95. package/dist/cjs/components/LiveChatWidget/utils/productTransformers.js +2 -0
  96. package/dist/cjs/components/LiveChatWidget/utils/productTransformers.js.map +7 -0
  97. package/dist/cjs/components/LiveChatWidget/utils/userId.d.ts +18 -0
  98. package/dist/cjs/components/LiveChatWidget/utils/userId.js +2 -0
  99. package/dist/cjs/components/LiveChatWidget/utils/userId.js.map +7 -0
  100. package/dist/cjs/components/LiveChatWidget/utils/validation.d.ts +37 -0
  101. package/dist/cjs/components/LiveChatWidget/utils/validation.js +2 -0
  102. package/dist/cjs/components/LiveChatWidget/utils/validation.js.map +7 -0
  103. package/dist/cjs/components/chat/markdown.js +1 -1
  104. package/dist/cjs/components/chat/markdown.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/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
  117. package/dist/cjs/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +3 -3
  118. package/dist/cjs/components/credits/creditsBanner/index.d.ts +2 -0
  119. package/dist/cjs/components/credits/creditsBanner/index.js +12 -1
  120. package/dist/cjs/components/credits/creditsBanner/index.js.map +3 -3
  121. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js +2 -0
  122. package/dist/cjs/components/credits/creditsBenefits/BenefitItem.js.map +7 -0
  123. package/dist/cjs/components/credits/creditsBenefits/{iconInfo.js → IconInfo.js} +1 -1
  124. package/dist/cjs/components/credits/creditsBenefits/{iconInfo.js.map → IconInfo.js.map} +1 -1
  125. package/dist/cjs/components/credits/creditsCash/CreditsCash.js +1 -1
  126. package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +3 -3
  127. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
  128. package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  129. package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -0
  130. package/dist/cjs/components/credits/creditsCash/type.js +1 -1
  131. package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
  132. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  133. package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  134. package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
  135. package/dist/cjs/components/credits/creditsInfoCard/index.js.map +2 -2
  136. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
  137. package/dist/cjs/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +3 -3
  138. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
  139. package/dist/cjs/components/credits/creditsMemberPrice/MemberPriceItem.js.map +3 -3
  140. package/dist/cjs/components/credits/creditsMemberPrice/type.d.ts +3 -5
  141. package/dist/cjs/components/credits/creditsMemberPrice/type.js +1 -1
  142. package/dist/cjs/components/credits/creditsMemberPrice/type.js.map +1 -1
  143. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
  144. package/dist/cjs/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
  145. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
  146. package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +3 -3
  147. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  148. package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
  149. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  150. package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  151. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
  152. package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +3 -3
  153. package/dist/cjs/components/index.d.ts +3 -1
  154. package/dist/cjs/components/index.js +1 -1
  155. package/dist/cjs/components/index.js.map +3 -3
  156. package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
  157. package/dist/cjs/components/registration/authCodeActivate/index.js.map +2 -2
  158. package/dist/cjs/stories/CartCard.stories.d.ts +33 -0
  159. package/dist/cjs/stories/CartCard.stories.js +21 -0
  160. package/dist/cjs/stories/CartCard.stories.js.map +7 -0
  161. package/dist/cjs/stories/LiveChatWidget.stories.d.ts +108 -0
  162. package/dist/cjs/stories/LiveChatWidget.stories.js +149 -0
  163. package/dist/cjs/stories/LiveChatWidget.stories.js.map +7 -0
  164. package/dist/cjs/templates/{credits.d.ts → Credits.d.ts} +16 -1
  165. package/dist/cjs/templates/Credits.js +2 -0
  166. package/dist/cjs/templates/Credits.js.map +7 -0
  167. package/dist/esm/components/LiveChatWidget/LiveChatWidget.d.ts +63 -0
  168. package/dist/esm/components/LiveChatWidget/LiveChatWidget.js +2 -0
  169. package/dist/esm/components/LiveChatWidget/LiveChatWidget.js.map +7 -0
  170. package/dist/esm/components/LiveChatWidget/api/chat.d.ts +46 -0
  171. package/dist/esm/components/LiveChatWidget/api/chat.js +3 -0
  172. package/dist/esm/components/LiveChatWidget/api/chat.js.map +7 -0
  173. package/dist/esm/components/LiveChatWidget/components/ChatBubble.d.ts +68 -0
  174. package/dist/esm/components/LiveChatWidget/components/ChatBubble.js +2 -0
  175. package/dist/esm/components/LiveChatWidget/components/ChatBubble.js.map +7 -0
  176. package/dist/esm/components/LiveChatWidget/components/ChatHeader.d.ts +57 -0
  177. package/dist/esm/components/LiveChatWidget/components/ChatHeader.js +2 -0
  178. package/dist/esm/components/LiveChatWidget/components/ChatHeader.js.map +7 -0
  179. package/dist/esm/components/LiveChatWidget/components/ChatInput.d.ts +70 -0
  180. package/dist/esm/components/LiveChatWidget/components/ChatInput.js +2 -0
  181. package/dist/esm/components/LiveChatWidget/components/ChatInput.js.map +7 -0
  182. package/dist/esm/components/LiveChatWidget/components/ChatMessage.d.ts +59 -0
  183. package/dist/esm/components/LiveChatWidget/components/ChatMessage.js +5 -0
  184. package/dist/esm/components/LiveChatWidget/components/ChatMessage.js.map +7 -0
  185. package/dist/esm/components/LiveChatWidget/components/ChatWindow.d.ts +127 -0
  186. package/dist/esm/components/LiveChatWidget/components/ChatWindow.js +2 -0
  187. package/dist/esm/components/LiveChatWidget/components/ChatWindow.js.map +7 -0
  188. package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.d.ts +54 -0
  189. package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.js +2 -0
  190. package/dist/esm/components/LiveChatWidget/components/MessageContent/CartCard.js.map +7 -0
  191. package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.d.ts +33 -0
  192. package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.js +2 -0
  193. package/dist/esm/components/LiveChatWidget/components/MessageContent/ErrorBlock.js.map +7 -0
  194. package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.d.ts +16 -0
  195. package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.js +2 -0
  196. package/dist/esm/components/LiveChatWidget/components/MessageContent/FAQList.js.map +7 -0
  197. package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.d.ts +45 -0
  198. package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.js +5 -0
  199. package/dist/esm/components/LiveChatWidget/components/MessageContent/PolicyBlock.js.map +7 -0
  200. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.d.ts +41 -0
  201. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.js +2 -0
  202. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductCard.js.map +7 -0
  203. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.d.ts +75 -0
  204. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.js +2 -0
  205. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductComparison.js.map +7 -0
  206. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.d.ts +47 -0
  207. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.js +2 -0
  208. package/dist/esm/components/LiveChatWidget/components/MessageContent/ProductList.js.map +7 -0
  209. package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.d.ts +81 -0
  210. package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.js +2 -0
  211. package/dist/esm/components/LiveChatWidget/components/MessageContent/PromotionList.js.map +7 -0
  212. package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.d.ts +54 -0
  213. package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.js +2 -0
  214. package/dist/esm/components/LiveChatWidget/components/MessageContent/QuickReplies.js.map +7 -0
  215. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.d.ts +31 -0
  216. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js +2 -0
  217. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +7 -0
  218. package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.d.ts +31 -0
  219. package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js +2 -0
  220. package/dist/esm/components/LiveChatWidget/components/MessageContent/ThinkingBlock.js.map +7 -0
  221. package/dist/esm/components/LiveChatWidget/components/MessageContent/index.d.ts +15 -0
  222. package/dist/esm/components/LiveChatWidget/components/MessageContent/index.js +2 -0
  223. package/dist/esm/components/LiveChatWidget/components/MessageContent/index.js.map +7 -0
  224. package/dist/esm/components/LiveChatWidget/components/MessageContent.d.ts +63 -0
  225. package/dist/esm/components/LiveChatWidget/components/MessageContent.js +2 -0
  226. package/dist/esm/components/LiveChatWidget/components/MessageContent.js.map +7 -0
  227. package/dist/esm/components/LiveChatWidget/components/MessageList.d.ts +74 -0
  228. package/dist/esm/components/LiveChatWidget/components/MessageList.js +5 -0
  229. package/dist/esm/components/LiveChatWidget/components/MessageList.js.map +7 -0
  230. package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.d.ts +44 -0
  231. package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.js +2 -0
  232. package/dist/esm/components/LiveChatWidget/components/ScrollAnchor.js.map +7 -0
  233. package/dist/esm/components/LiveChatWidget/constants.d.ts +13 -0
  234. package/dist/esm/components/LiveChatWidget/constants.js +2 -0
  235. package/dist/esm/components/LiveChatWidget/constants.js.map +7 -0
  236. package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.d.ts +60 -0
  237. package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.js +2 -0
  238. package/dist/esm/components/LiveChatWidget/hooks/useChatAPI.js.map +7 -0
  239. package/dist/esm/components/LiveChatWidget/hooks/useChatState.d.ts +151 -0
  240. package/dist/esm/components/LiveChatWidget/hooks/useChatState.js +2 -0
  241. package/dist/esm/components/LiveChatWidget/hooks/useChatState.js.map +7 -0
  242. package/dist/esm/components/LiveChatWidget/hooks/useSession.d.ts +37 -0
  243. package/dist/esm/components/LiveChatWidget/hooks/useSession.js +2 -0
  244. package/dist/esm/components/LiveChatWidget/hooks/useSession.js.map +7 -0
  245. package/dist/esm/components/LiveChatWidget/index.d.ts +12 -0
  246. package/dist/esm/components/LiveChatWidget/index.js +2 -0
  247. package/dist/esm/components/LiveChatWidget/index.js.map +7 -0
  248. package/dist/esm/components/LiveChatWidget/types.d.ts +767 -0
  249. package/dist/esm/components/LiveChatWidget/types.js +1 -0
  250. package/dist/esm/components/LiveChatWidget/types.js.map +7 -0
  251. package/dist/esm/components/LiveChatWidget/utils/cartTransformers.d.ts +25 -0
  252. package/dist/esm/components/LiveChatWidget/utils/cartTransformers.js +2 -0
  253. package/dist/esm/components/LiveChatWidget/utils/cartTransformers.js.map +7 -0
  254. package/dist/esm/components/LiveChatWidget/utils/fetcher.d.ts +36 -0
  255. package/dist/esm/components/LiveChatWidget/utils/fetcher.js +2 -0
  256. package/dist/esm/components/LiveChatWidget/utils/fetcher.js.map +7 -0
  257. package/dist/esm/components/LiveChatWidget/utils/messageRenderers.d.ts +64 -0
  258. package/dist/esm/components/LiveChatWidget/utils/messageRenderers.js +2 -0
  259. package/dist/esm/components/LiveChatWidget/utils/messageRenderers.js.map +7 -0
  260. package/dist/esm/components/LiveChatWidget/utils/productTransformers.d.ts +43 -0
  261. package/dist/esm/components/LiveChatWidget/utils/productTransformers.js +2 -0
  262. package/dist/esm/components/LiveChatWidget/utils/productTransformers.js.map +7 -0
  263. package/dist/esm/components/LiveChatWidget/utils/userId.d.ts +18 -0
  264. package/dist/esm/components/LiveChatWidget/utils/userId.js +2 -0
  265. package/dist/esm/components/LiveChatWidget/utils/userId.js.map +7 -0
  266. package/dist/esm/components/LiveChatWidget/utils/validation.d.ts +37 -0
  267. package/dist/esm/components/LiveChatWidget/utils/validation.js +2 -0
  268. package/dist/esm/components/LiveChatWidget/utils/validation.js.map +7 -0
  269. package/dist/esm/components/chat/markdown.js +1 -1
  270. package/dist/esm/components/chat/markdown.js.map +2 -2
  271. package/dist/esm/components/credits/context/hooks/useRedeemableList.js +1 -1
  272. package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +2 -2
  273. package/dist/esm/components/credits/context/memberPriceConst.d.ts +0 -5
  274. package/dist/esm/components/credits/context/memberPriceConst.js +1 -1
  275. package/dist/esm/components/credits/context/memberPriceConst.js.map +3 -3
  276. package/dist/esm/components/credits/context/memberPriceTypes.d.ts +1 -22
  277. package/dist/esm/components/credits/context/provider.d.ts +16 -1
  278. package/dist/esm/components/credits/context/provider.js +1 -1
  279. package/dist/esm/components/credits/context/provider.js.map +3 -3
  280. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js +1 -1
  281. package/dist/esm/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.js.map +3 -3
  282. package/dist/esm/components/credits/creditsBanner/index.d.ts +2 -0
  283. package/dist/esm/components/credits/creditsBanner/index.js +12 -1
  284. package/dist/esm/components/credits/creditsBanner/index.js.map +3 -3
  285. package/dist/esm/components/credits/creditsBenefits/BenefitItem.js +2 -0
  286. package/dist/esm/components/credits/creditsBenefits/BenefitItem.js.map +7 -0
  287. package/dist/esm/components/credits/creditsBenefits/{iconInfo.js → IconInfo.js} +1 -1
  288. package/dist/esm/components/credits/creditsBenefits/{iconInfo.js.map → IconInfo.js.map} +1 -1
  289. package/dist/esm/components/credits/creditsCash/CreditsCash.js +1 -1
  290. package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +3 -3
  291. package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
  292. package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
  293. package/dist/esm/components/credits/creditsCash/type.d.ts +1 -0
  294. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
  295. package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
  296. package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
  297. package/dist/esm/components/credits/creditsInfoCard/index.js.map +2 -2
  298. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js +1 -1
  299. package/dist/esm/components/credits/creditsMemberPrice/CreditsMemberPrice.js.map +3 -3
  300. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js +1 -1
  301. package/dist/esm/components/credits/creditsMemberPrice/MemberPriceItem.js.map +3 -3
  302. package/dist/esm/components/credits/creditsMemberPrice/type.d.ts +3 -5
  303. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js +1 -1
  304. package/dist/esm/components/credits/creditsNavigation/CreditsNavigation.js.map +2 -2
  305. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +1 -1
  306. package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +3 -3
  307. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
  308. package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +2 -2
  309. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
  310. package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
  311. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +1 -1
  312. package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +3 -3
  313. package/dist/esm/components/index.d.ts +3 -1
  314. package/dist/esm/components/index.js +1 -1
  315. package/dist/esm/components/index.js.map +3 -3
  316. package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
  317. package/dist/esm/components/registration/authCodeActivate/index.js.map +2 -2
  318. package/dist/esm/stories/CartCard.stories.d.ts +33 -0
  319. package/dist/esm/stories/CartCard.stories.js +21 -0
  320. package/dist/esm/stories/CartCard.stories.js.map +7 -0
  321. package/dist/esm/stories/LiveChatWidget.stories.d.ts +108 -0
  322. package/dist/esm/stories/LiveChatWidget.stories.js +149 -0
  323. package/dist/esm/stories/LiveChatWidget.stories.js.map +7 -0
  324. package/dist/esm/templates/{credits.d.ts → Credits.d.ts} +16 -1
  325. package/dist/esm/templates/Credits.js +2 -0
  326. package/dist/esm/templates/Credits.js.map +7 -0
  327. package/dist/index.d.mts +1305 -0
  328. package/dist/index.d.ts +1305 -0
  329. package/dist/index.js +26656 -0
  330. package/dist/index.js.map +1 -0
  331. package/dist/index.mjs +26641 -0
  332. package/dist/index.mjs.map +1 -0
  333. package/package.json +7 -3
  334. package/src/components/LiveChatWidget/LiveChatWidget.tsx +732 -0
  335. package/src/components/LiveChatWidget/api/chat.ts +174 -0
  336. package/src/components/LiveChatWidget/components/ChatBubble.tsx +152 -0
  337. package/src/components/LiveChatWidget/components/ChatHeader.tsx +150 -0
  338. package/src/components/LiveChatWidget/components/ChatInput.tsx +241 -0
  339. package/src/components/LiveChatWidget/components/ChatMessage.tsx +190 -0
  340. package/src/components/LiveChatWidget/components/ChatWindow.tsx +353 -0
  341. package/src/components/LiveChatWidget/components/MessageContent/CartCard.tsx +202 -0
  342. package/src/components/LiveChatWidget/components/MessageContent/ErrorBlock.tsx +75 -0
  343. package/src/components/LiveChatWidget/components/MessageContent/FAQList.tsx +127 -0
  344. package/src/components/LiveChatWidget/components/MessageContent/PolicyBlock.tsx +150 -0
  345. package/src/components/LiveChatWidget/components/MessageContent/ProductCard.tsx +218 -0
  346. package/src/components/LiveChatWidget/components/MessageContent/ProductComparison.tsx +359 -0
  347. package/src/components/LiveChatWidget/components/MessageContent/ProductList.tsx +293 -0
  348. package/src/components/LiveChatWidget/components/MessageContent/PromotionList.tsx +170 -0
  349. package/src/components/LiveChatWidget/components/MessageContent/QuickReplies.tsx +91 -0
  350. package/src/components/LiveChatWidget/components/MessageContent/TextBlock.tsx +89 -0
  351. package/src/components/LiveChatWidget/components/MessageContent/ThinkingBlock.tsx +53 -0
  352. package/src/components/LiveChatWidget/components/MessageContent/index.ts +16 -0
  353. package/src/components/LiveChatWidget/components/MessageContent.tsx +113 -0
  354. package/src/components/LiveChatWidget/components/MessageList.tsx +261 -0
  355. package/src/components/LiveChatWidget/components/ScrollAnchor.tsx +75 -0
  356. package/src/components/LiveChatWidget/constants.ts +36 -0
  357. package/src/components/LiveChatWidget/hooks/useChatAPI.ts +146 -0
  358. package/src/components/LiveChatWidget/hooks/useChatState.ts +1086 -0
  359. package/src/components/LiveChatWidget/hooks/useSession.ts +123 -0
  360. package/src/components/LiveChatWidget/index.tsx +62 -0
  361. package/src/components/LiveChatWidget/types.ts +949 -0
  362. package/src/components/LiveChatWidget/utils/cartTransformers.ts +72 -0
  363. package/src/components/LiveChatWidget/utils/fetcher.ts +126 -0
  364. package/src/components/LiveChatWidget/utils/messageRenderers.ts +120 -0
  365. package/src/components/LiveChatWidget/utils/productTransformers.ts +149 -0
  366. package/src/components/LiveChatWidget/utils/userId.ts +140 -0
  367. package/src/components/LiveChatWidget/utils/validation.ts +99 -0
  368. package/src/components/chat/markdown.tsx +1 -1
  369. package/src/components/credits/context/hooks/useRedeemableList.ts +1 -1
  370. package/src/components/credits/context/memberPriceConst.ts +0 -7
  371. package/src/components/credits/context/memberPriceTypes.ts +1 -26
  372. package/src/components/credits/context/provider.tsx +16 -0
  373. package/src/components/credits/creditsAnkersolixTask/CreditsAnkersolixTask.tsx +26 -26
  374. package/src/components/credits/creditsBanner/index.tsx +31 -3
  375. package/src/components/credits/creditsBenefits/BenefitItem.tsx +11 -4
  376. package/src/components/credits/creditsBenefits/IconInfo.tsx +1 -1
  377. package/src/components/credits/creditsCash/CreditsCash.tsx +6 -3
  378. package/src/components/credits/creditsCash/RedeemableItem.tsx +23 -10
  379. package/src/components/credits/creditsCash/type.ts +1 -0
  380. package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +25 -23
  381. package/src/components/credits/creditsInfoCard/index.tsx +8 -2
  382. package/src/components/credits/creditsMemberPrice/CreditsMemberPrice.tsx +124 -25
  383. package/src/components/credits/creditsMemberPrice/MemberPriceItem.tsx +113 -31
  384. package/src/components/credits/creditsMemberPrice/type.ts +3 -5
  385. package/src/components/credits/creditsNavigation/CreditsNavigation.tsx +3 -3
  386. package/src/components/credits/creditsRedeemList/CreditsRedeemList.tsx +31 -18
  387. package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +6 -4
  388. package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +19 -6
  389. package/src/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.tsx +20 -17
  390. package/src/components/index.ts +23 -1
  391. package/src/components/registration/authCodeActivate/index.tsx +2 -0
  392. package/src/stories/CartCard.stories.tsx +459 -0
  393. package/src/stories/LiveChatWidget.stories.tsx +754 -0
  394. package/src/styles/livechat.css +268 -0
  395. package/src/templates/Credits.tsx +27 -9
  396. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.d.ts +0 -7
  397. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js +0 -2
  398. package/dist/cjs/components/credits/context/hooks/useFunctionMemberPrice.js.map +0 -7
  399. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  400. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  401. package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  402. package/dist/cjs/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  403. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +0 -2
  404. package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  405. package/dist/cjs/components/credits/context/utils/atobID.d.ts +0 -1
  406. package/dist/cjs/components/credits/context/utils/atobID.js +0 -2
  407. package/dist/cjs/components/credits/context/utils/atobID.js.map +0 -7
  408. package/dist/cjs/components/credits/context/utils/functionDiscountCalculate.d.ts +0 -5
  409. package/dist/cjs/components/credits/context/utils/functionDiscountCalculate.js +0 -2
  410. package/dist/cjs/components/credits/context/utils/functionDiscountCalculate.js.map +0 -7
  411. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.d.ts +0 -8
  412. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js +0 -2
  413. package/dist/cjs/components/credits/context/utils/getFunctionMemberPrice.js.map +0 -7
  414. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +0 -9
  415. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +0 -2
  416. package/dist/cjs/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +0 -7
  417. package/dist/cjs/components/credits/context/utils/variantGetCoupon.d.ts +0 -6
  418. package/dist/cjs/components/credits/context/utils/variantGetCoupon.js +0 -2
  419. package/dist/cjs/components/credits/context/utils/variantGetCoupon.js.map +0 -7
  420. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +0 -2
  421. package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +0 -7
  422. package/dist/cjs/helpers/fetchResponse.d.ts +0 -14
  423. package/dist/cjs/helpers/fetchResponse.js +0 -2
  424. package/dist/cjs/helpers/fetchResponse.js.map +0 -7
  425. package/dist/cjs/helpers/fetcher.d.ts +0 -2
  426. package/dist/cjs/helpers/fetcher.js +0 -2
  427. package/dist/cjs/helpers/fetcher.js.map +0 -7
  428. package/dist/cjs/helpers/index.d.ts +0 -2
  429. package/dist/cjs/helpers/index.js +0 -2
  430. package/dist/cjs/helpers/index.js.map +0 -7
  431. package/dist/cjs/helpers/track.d.ts +0 -19
  432. package/dist/cjs/helpers/track.js +0 -2
  433. package/dist/cjs/helpers/track.js.map +0 -7
  434. package/dist/cjs/helpers/utils.d.ts +0 -3
  435. package/dist/cjs/helpers/utils.js +0 -2
  436. package/dist/cjs/helpers/utils.js.map +0 -7
  437. package/dist/cjs/templates/credits.js +0 -2
  438. package/dist/cjs/templates/credits.js.map +0 -7
  439. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.d.ts +0 -7
  440. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js +0 -2
  441. package/dist/esm/components/credits/context/hooks/useFunctionMemberPrice.js.map +0 -7
  442. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
  443. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +0 -2
  444. package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
  445. package/dist/esm/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
  446. package/dist/esm/components/credits/context/hooks/useSubscriptions.js +0 -2
  447. package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +0 -7
  448. package/dist/esm/components/credits/context/utils/atobID.d.ts +0 -1
  449. package/dist/esm/components/credits/context/utils/atobID.js +0 -2
  450. package/dist/esm/components/credits/context/utils/atobID.js.map +0 -7
  451. package/dist/esm/components/credits/context/utils/functionDiscountCalculate.d.ts +0 -5
  452. package/dist/esm/components/credits/context/utils/functionDiscountCalculate.js +0 -2
  453. package/dist/esm/components/credits/context/utils/functionDiscountCalculate.js.map +0 -7
  454. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.d.ts +0 -8
  455. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js +0 -2
  456. package/dist/esm/components/credits/context/utils/getFunctionMemberPrice.js.map +0 -7
  457. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.d.ts +0 -9
  458. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js +0 -2
  459. package/dist/esm/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.js.map +0 -7
  460. package/dist/esm/components/credits/context/utils/variantGetCoupon.d.ts +0 -6
  461. package/dist/esm/components/credits/context/utils/variantGetCoupon.js +0 -2
  462. package/dist/esm/components/credits/context/utils/variantGetCoupon.js.map +0 -7
  463. package/dist/esm/components/credits/creditsBenefits/benefitItem.js +0 -2
  464. package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +0 -7
  465. package/dist/esm/helpers/fetchResponse.d.ts +0 -14
  466. package/dist/esm/helpers/fetchResponse.js +0 -2
  467. package/dist/esm/helpers/fetchResponse.js.map +0 -7
  468. package/dist/esm/helpers/fetcher.d.ts +0 -2
  469. package/dist/esm/helpers/fetcher.js +0 -2
  470. package/dist/esm/helpers/fetcher.js.map +0 -7
  471. package/dist/esm/helpers/index.d.ts +0 -2
  472. package/dist/esm/helpers/index.js +0 -2
  473. package/dist/esm/helpers/index.js.map +0 -7
  474. package/dist/esm/helpers/track.d.ts +0 -19
  475. package/dist/esm/helpers/track.js +0 -2
  476. package/dist/esm/helpers/track.js.map +0 -7
  477. package/dist/esm/helpers/utils.d.ts +0 -3
  478. package/dist/esm/helpers/utils.js +0 -2
  479. package/dist/esm/helpers/utils.js.map +0 -7
  480. package/dist/esm/templates/credits.js +0 -2
  481. package/dist/esm/templates/credits.js.map +0 -7
  482. package/src/components/credits/context/hooks/useFunctionMemberPrice.ts +0 -33
  483. package/src/components/credits/context/utils/atobID.ts +0 -8
  484. package/src/components/credits/context/utils/functionDiscountCalculate.ts +0 -57
  485. package/src/components/credits/context/utils/getFunctionMemberPrice.ts +0 -135
  486. package/src/components/credits/context/utils/getFunctionMemberPriceDiscountConfig.ts +0 -51
  487. package/src/components/credits/context/utils/variantGetCoupon.ts +0 -34
  488. /package/dist/cjs/components/credits/creditsBenefits/{benefitItem.d.ts → BenefitItem.d.ts} +0 -0
  489. /package/dist/cjs/components/credits/creditsBenefits/{iconInfo.d.ts → IconInfo.d.ts} +0 -0
  490. /package/dist/esm/components/credits/creditsBenefits/{benefitItem.d.ts → BenefitItem.d.ts} +0 -0
  491. /package/dist/esm/components/credits/creditsBenefits/{iconInfo.d.ts → IconInfo.d.ts} +0 -0
@@ -5,7 +5,7 @@ import remarkMath from 'remark-math'
5
5
 
6
6
  const MemoizedReactMarkdown: FC<Options> = memo(
7
7
  ReactMarkdown,
8
- (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className
8
+ (prevProps, nextProps) => prevProps.children === nextProps.children
9
9
  )
10
10
 
11
11
  type MarkdownProps = {
@@ -29,7 +29,7 @@ function useRedeemableList() {
29
29
  initData: {
30
30
  brand,
31
31
  page: 1,
32
- page_size: 20,
32
+ page_size: 999,
33
33
  country: (ALPC_COUNTRY_MAP.get(locale) || locale)?.toUpperCase(),
34
34
  },
35
35
  })
@@ -4,10 +4,3 @@ export enum FunctionDiscountType {
4
4
  FixedAmount,
5
5
  FixedPrice,
6
6
  }
7
-
8
- // 小数位取舍方式
9
- export enum RoundSelected {
10
- RoundHighest = 'round_highest',
11
- RoundLowest = 'round_lowest',
12
- RoundNearest = 'round_nearest',
13
- }
@@ -1,18 +1,9 @@
1
- import { FunctionDiscountType, RoundSelected } from './memberPriceConst'
2
-
3
- // 价格结尾配置
4
- export type PriceEndingConf = {
5
- apply_price_ending: boolean
6
- one_decimal_place: string
7
- two_decimal_place: string
8
- round_selected: RoundSelected
9
- }
1
+ import { FunctionDiscountType } from './memberPriceConst'
10
2
 
11
3
  // 折扣配置
12
4
  export type DiscountConfig = {
13
5
  discount_type: FunctionDiscountType
14
6
  discount_value: number
15
- price_ending_conf?: PriceEndingConf
16
7
  }
17
8
 
18
9
  // 会员价配置类型
@@ -36,19 +27,3 @@ export type FunctionMemberPriceConfig = {
36
27
  other_product_discounts: boolean
37
28
  }
38
29
  }
39
-
40
- // 会员价计算结果
41
- export type FunctionMemberPriceResult = {
42
- hasMemberPrice: boolean
43
- useCoupon: boolean
44
- originalPrice: number
45
- originalPriceWithCurrency: string
46
- salePrice: number
47
- salePriceWithCurrency: string
48
- salePriceWithoutCoupon: number
49
- salePriceWithoutCouponWithCurrency: string
50
- savePrice: number
51
- savePriceWithCurrency: string
52
- savePriceWithoutCoupon: number
53
- savePriceWithoutCouponWithCurrency: string
54
- }
@@ -17,10 +17,22 @@ type Context = {
17
17
  fetchCreditInfo: (user_id: string) => void
18
18
  gtm: {
19
19
  pageGroup: string
20
+ pageHandle?: string
20
21
  }
21
22
  pageCommon: CreditsPageCommon
22
23
  memberPriceDiscount?: FunctionMemberPriceConfig[]
23
24
  alpcBrand?: string
25
+ cartConfig?: {
26
+ addToCart: (params: {
27
+ variantList: Array<{
28
+ variant: any
29
+ quantity: number
30
+ attributes?: Array<{ key: string; value: string }>
31
+ }>
32
+ cartAttributes?: Record<string, string>
33
+ discountCodes?: string[]
34
+ }) => void | Promise<any>
35
+ }
24
36
  }
25
37
 
26
38
  export const CreditsContext = createContext<Context>({
@@ -35,10 +47,12 @@ export const CreditsContext = createContext<Context>({
35
47
  fetchCreditInfo: (user_id: string) => {},
36
48
  gtm: {
37
49
  pageGroup: '',
50
+ pageHandle: '',
38
51
  },
39
52
  pageCommon: {},
40
53
  memberPriceDiscount: undefined,
41
54
  alpcBrand: undefined,
55
+ cartConfig: undefined,
42
56
  })
43
57
 
44
58
  export function CreditsProvider({
@@ -57,6 +71,7 @@ export function CreditsProvider({
57
71
  pageCommon,
58
72
  memberPriceDiscount,
59
73
  alpcBrand,
74
+ cartConfig,
60
75
  }: PropsWithChildren<Context>) {
61
76
  return (
62
77
  <CreditsContext.Provider
@@ -75,6 +90,7 @@ export function CreditsProvider({
75
90
  pageCommon,
76
91
  memberPriceDiscount,
77
92
  alpcBrand,
93
+ cartConfig,
78
94
  }}
79
95
  >
80
96
  {children}
@@ -1,7 +1,6 @@
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 { useMemo, useState, useRef, useEffect } from 'react'
5
4
 
6
5
  import { TaskType, type CreditsAnkersolixTaskProps } from './type'
7
6
  import { useActions } from '../creditsWaysToGetCredits/useActions'
@@ -36,6 +35,21 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
36
35
  isSuccess: isUploadReceiptSuccess,
37
36
  },
38
37
  })
38
+
39
+ const shouldShowMask = (copy?.list || []).length > 3
40
+
41
+ // Handle scroll after collapse animation
42
+ useEffect(() => {
43
+ if (!showMore && shouldShowMask && window.screen.width < 768) {
44
+ const timer = setTimeout(() => {
45
+ const section = document.getElementById(id || 'ankersolix-task')
46
+ if (section) {
47
+ section.scrollIntoView({ behavior: 'smooth', block: 'end' })
48
+ }
49
+ }, 300) // Match transition duration
50
+ return () => clearTimeout(timer)
51
+ }
52
+ }, [showMore, shouldShowMask, id])
39
53
  const list = useMemo(() => {
40
54
  const list = copy.list
41
55
  .map(item => {
@@ -91,9 +105,6 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
91
105
  }
92
106
  }, [actions, copy.list, isLogin])
93
107
 
94
- // 只有大于3个任务时才显示蒙层
95
- const shouldShowMask = list.length > 3
96
-
97
108
  return (
98
109
  <Container id={id} className="bg-[#F5F5F7]">
99
110
  <Heading as="h2" size="4" html={copy.title} />
@@ -125,7 +136,7 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
125
136
  />
126
137
  <div className="flex items-center gap-[8px]">
127
138
  <p
128
- className="text-[48px] font-bold tracking-[-1.92px] leading-none bg-gradient-to-r from-[#2c7ed0] via-[#00a9e1] via-43% to-[#00db84] bg-clip-text text-transparent xl-xxl:text-[40px] l-xl:text-[32px] l:text-[24px]"
139
+ className="text-[48px] font-bold leading-none bg-gradient-to-r from-[#2c7ed0] via-[#00a9e1] via-43% to-[#00db84] bg-clip-text text-transparent xl-xxl:text-[40px] l-xl:text-[32px] l:text-[24px]"
129
140
  dangerouslySetInnerHTML={{ __html: copy.equalCredits }}
130
141
  />
131
142
  </div>
@@ -141,18 +152,12 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
141
152
 
142
153
  {/* 卡片列表 */}
143
154
  <div className="relative mt-[24px]">
144
- <motion.div
145
- className={cn('grid grid-cols-3 gap-[16px] overflow-hidden md:grid-cols-1 md-l:grid-cols-2 min-md:!h-auto')}
146
- initial={{ height: shouldShowMask ? 512 : 'auto' }}
147
- animate={{ height: showMore || !shouldShowMask ? 'auto' : 512 }}
148
- transition={{ duration: 0.3 }}
149
- onAnimationComplete={() => {
150
- if (!showMore && shouldShowMask && window.screen.width < 768) {
151
- const section = document.getElementById(id || 'ankersolix-task')
152
- if (section) {
153
- section.scrollIntoView({ behavior: 'smooth', block: 'end' })
154
- }
155
- }
155
+ <div
156
+ className={cn(
157
+ 'grid grid-cols-3 gap-[16px] overflow-hidden md:grid-cols-1 md-l:grid-cols-2 min-md:!h-auto transition-all duration-300 ease-in-out'
158
+ )}
159
+ style={{
160
+ height: showMore || !shouldShowMask ? 'auto' : '512px',
156
161
  }}
157
162
  >
158
163
  {list.map(item => (
@@ -194,17 +199,12 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
194
199
  {...(item.handleClick && { onClick: item.handleClick })}
195
200
  variant="primary"
196
201
  size="lg"
197
- className="mt-[24px] w-fit bg-[#080a0f] text-white text-[16px] font-bold tracking-[-0.64px] leading-[1.2]"
202
+ className="mt-[24px] w-fit"
198
203
  >
199
204
  {item.buttonLabel}
200
205
  </Button>
201
206
  ) : (
202
- <Button
203
- variant="primary"
204
- size="lg"
205
- className="mt-[24px] w-fit bg-[#080a0f] text-white text-[16px] font-bold tracking-[-0.64px] leading-[1.2]"
206
- disabled
207
- >
207
+ <Button variant="primary" size="lg" className="mt-[24px] w-fit" disabled>
208
208
  {item.buttonLabel}
209
209
  </Button>
210
210
  )}
@@ -216,7 +216,7 @@ export const CreditsAnkersolixTask = ({ copy, classNames, id }: CreditsAnkersoli
216
216
  style={{ background: 'linear-gradient(180deg, rgba(244, 202, 129, 0) 66.37%, #f4ca81 100%)' }}
217
217
  ></div>
218
218
  )}
219
- </motion.div>
219
+ </div>
220
220
  {shouldShowMask && (
221
221
  <>
222
222
  {showMore ? (
@@ -5,6 +5,8 @@ import { useCreditsContext } from '../context/provider'
5
5
  type Img = {
6
6
  url: string
7
7
  alt: string
8
+ width?: number
9
+ height?: number
8
10
  }
9
11
  export type CreditsBannerCopy = {
10
12
  pcImg: Img
@@ -34,15 +36,41 @@ export function CreditsBanner({ copy, id }: { copy: CreditsBannerCopy; id?: stri
34
36
  buttonType === 'primary' ? openSignUpPopup() : openSignInPopup()
35
37
  }
36
38
 
39
+ // 计算图片比例,如果没有配置则使用默认值
40
+ const pcAspectRatio =
41
+ copy.pcImg?.width && copy.pcImg?.height ? `${copy.pcImg.width} / ${copy.pcImg.height}` : '1920 / 804'
42
+ const laptopAspectRatio =
43
+ copy.laptopImg?.width && copy.laptopImg?.height ? `${copy.laptopImg.width} / ${copy.laptopImg.height}` : '768 / 660'
44
+ const mobileAspectRatio =
45
+ copy.mobileImg?.width && copy.mobileImg?.height ? `${copy.mobileImg.width} / ${copy.mobileImg.height}` : '390 / 660'
46
+
37
47
  return (
38
48
  <>
39
49
  <div id={id} className=" relative w-full">
40
50
  <Picture
41
- className="aspect-h-[804] aspect-w-[1920] md:aspect-h-[660] md:aspect-w-[390] md-l:aspect-h-[660] md-l:aspect-w-[768]"
51
+ className="credits-banner-image w-full"
52
+ style={{
53
+ aspectRatio: pcAspectRatio,
54
+ }}
55
+ imgClassName="object-cover w-full h-full"
42
56
  source={`${copy.pcImg?.url}, ${copy.laptopImg?.url} 1024, ${copy.mobileImg?.url} 768`}
43
57
  alt={copy.pcImg?.alt}
44
58
  loading="eager"
45
59
  ></Picture>
60
+ <style>
61
+ {`
62
+ @media (max-width: 1024px) and (min-width: 768px) {
63
+ .credits-banner-image {
64
+ aspect-ratio: ${laptopAspectRatio} !important;
65
+ }
66
+ }
67
+ @media (max-width: 767px) {
68
+ .credits-banner-image {
69
+ aspect-ratio: ${mobileAspectRatio} !important;
70
+ }
71
+ }
72
+ `}
73
+ </style>
46
74
  {isLogin && (
47
75
  <div
48
76
  className="absolute inset-0 "
@@ -54,10 +82,10 @@ export function CreditsBanner({ copy, id }: { copy: CreditsBannerCopy; id?: stri
54
82
 
55
83
  <Container className="l:h-auto !absolute inset-0 mx-auto grid h-full" asChild>
56
84
  <div className="grid grid-cols-12">
57
- <div className="l:col-span-12 l:justify-start l:truncate l:pt-[64px] col-span-5 flex h-full flex-col justify-center text-[#1F2021]">
85
+ <div className="l:col-span-12 l:justify-start l:truncate l:pt-[32px] col-span-5 flex h-full flex-col justify-center text-[#1F2021]">
58
86
  <Heading
59
87
  as="h1"
60
- size="5"
88
+ className="text-[48px] font-bold xl-xxl:text-[40px] l:text-[32px]"
61
89
  html={isLogin ? copy.login.title?.replace('$name', displayName || '') : copy.unLogin.title}
62
90
  ></Heading>
63
91
 
@@ -29,13 +29,16 @@ const BenefitItem = ({
29
29
  cardBgColor?: string
30
30
  cardBorderColor?: string
31
31
  }) => {
32
- const { brand } = useHeadlessContext()
32
+ const { brand, locale } = useHeadlessContext()
33
33
  const rounded = ROUNDED_BRANDS.includes(brand)
34
34
 
35
+ // 德语和法语需要折行
36
+ const shouldBreakWords = ['de', 'eu-de', 'fr', 'eu-fr'].includes(locale)
37
+
35
38
  // 根据 bigIcon 设置不同屏幕下的图标大小
36
- // 尺寸:≥1921px=64px, 1441-1920px=54px, 1440px=48px
39
+ // 尺寸:≥1921px=64px, 1441-1920px=56px, 1025-1440px=20px, ≤1024px=48px
37
40
  const iconSizeClass = bigIcon
38
- ? 'mb-[16px] size-[64px] xl-xxl:size-[54px] xl:size-[48px] md:absolute md:bottom-[16px] md:right-[16px] md:mb-0'
41
+ ? 'mb-[16px] size-[64px] xl-xxl:size-[56px] xl:size-[48px] md:absolute md:bottom-[16px] md:right-[16px] md:mb-0'
39
42
  : 'mb-[16px] size-[31px] md:absolute md:bottom-[16px] md:right-[16px] md:mb-0'
40
43
 
41
44
  console.log('cardBgColor in BenefitItem', cardBgColor)
@@ -61,7 +64,11 @@ const BenefitItem = ({
61
64
  <div className="flex flex-col">
62
65
  <Picture className={iconSizeClass} alt={item.icon?.alt} source={item.icon?.url} />
63
66
  <div className="flex items-center">
64
- <Heading html={item.text} size="2" className="break-all md-l:line-clamp-3" />
67
+ <Heading
68
+ html={item.text}
69
+ size="2"
70
+ className={cn('md-l:line-clamp-3', shouldBreakWords && 'break-words')}
71
+ />
65
72
  {item.note && (
66
73
  <div
67
74
  role="button"
@@ -2,7 +2,7 @@ export const IconInfo = () => {
2
2
  return (
3
3
  <svg
4
4
  xmlns='http://www.w3.org/2000/svg'
5
- className='size-[18px] cursor-pointer [&_svg]:size-full'
5
+ className='size-[20px] cursor-pointer [&_svg]:size-full'
6
6
  width='18'
7
7
  height='18'
8
8
  viewBox='0 0 18 18'
@@ -4,16 +4,19 @@ import { useMemo, useState } from 'react'
4
4
  import RedeemableItem from './RedeemableItem'
5
5
  import useRedeemableList from '../context/hooks/useRedeemableList'
6
6
  import RulesModal from '../modal/rulesModal'
7
- import { useProductsByHandles } from '@anker-in/lib'
7
+ import { useProductsByHandles, useHeadlessContext } from '@anker-in/lib'
8
8
  import { CreditsCashCopy, RedeemItem } from './type'
9
9
  import { Product, classNames as cn } from '@anker-in/lib'
10
10
  import { useCreditsContext } from '../context/provider'
11
11
  import { numberFormat } from '../context/utils'
12
+ import { ROUNDED_BRANDS } from '../../../constants'
12
13
 
13
14
  export const CreditsCash = ({ copy, id }: { copy: CreditsCashCopy; id?: string }) => {
14
15
  const [rules, setRules] = useState<string | string[]>()
15
16
  const { redeemableList } = useRedeemableList()
16
17
  const { pageCommon } = useCreditsContext()
18
+ const { brand } = useHeadlessContext()
19
+ const rounded = ROUNDED_BRANDS.includes(brand)
17
20
 
18
21
  const variantMetafieldIdentifiers: any[] = []
19
22
 
@@ -27,7 +30,7 @@ export const CreditsCash = ({ copy, id }: { copy: CreditsCashCopy; id?: string }
27
30
  const list = useMemo(() => {
28
31
  return productByHandles
29
32
  ?.map((product: Product) => {
30
- const config = copy.list.find(item => item.products?.[0]?.handle === product.handle)
33
+ const config = (copy.list || []).find(item => item.products?.[0]?.handle === product.handle)
31
34
  const alpcData = redeemableList.find(item => item.id?.toString() === config?.redeemId?.toString())
32
35
  const productVariant =
33
36
  product.variants?.find((variant: any) => variant.sku === config?.products?.[0]?.sku) || product.variants?.[0]
@@ -69,7 +72,7 @@ export const CreditsCash = ({ copy, id }: { copy: CreditsCashCopy; id?: string }
69
72
  {rules && (
70
73
  <RulesModal
71
74
  overlayClassName="md:px-[16px] md:items-center"
72
- className="md:h-fit md:rounded-b-[16px]"
75
+ className={cn('md:h-fit md:rounded-b-[16px]', !rounded && 'md:rounded-none')}
73
76
  isOpen={rules.length > 0}
74
77
  onClose={() => setRules([])}
75
78
  titleClassName="border-b-transparent h-[56px]"
@@ -1,4 +1,4 @@
1
- import { Button, Text, Picture } from '@anker-in/headless-ui'
1
+ import { Button, Text, Picture, Badge } from '@anker-in/headless-ui'
2
2
  import { useMemo, useState } from 'react'
3
3
 
4
4
  import { CreditsCashCopy, RedeemItem } from './type'
@@ -26,7 +26,7 @@ function RedeemableItem({
26
26
  profile,
27
27
  openSignUpPopup,
28
28
  pageCommon,
29
- gtm: { pageGroup },
29
+ gtm: { pageGroup, pageHandle },
30
30
  } = useCreditsContext()
31
31
  const { authCodeActivate } = useRegistration()
32
32
  const { brand, locale } = useHeadlessContext()
@@ -113,18 +113,31 @@ function RedeemableItem({
113
113
  return (
114
114
  <div
115
115
  className={cn(
116
- 'flex flex-col items-center rounded-[16px] bg-[#EAEAEC] md:rounded-[12px] p-[24px] l:p-[8px] md-xl:p-[16px]',
116
+ 'relative flex flex-col items-center rounded-[16px] bg-[#EAEAEC] md:rounded-[12px] px-[24px] pb-[24px] l:px-[8px] l:pb-[8px] md-xl:px-[16px] md-xl:pb-[16px]',
117
117
  !rounded && 'rounded-none md:rounded-none',
118
+ copy.badgeLabel ? 'pt-[48px] l:pt-[44px]' : 'pt-[24px] md-xl:pt-[16px] l:pt-[8px]',
118
119
  className
119
120
  )}
120
121
  >
122
+ {/* Redeem 标签 Badge */}
123
+ {copy.badgeLabel && (
124
+ <Badge
125
+ className="absolute left-[24px] l:left-[16px] !bg-gradient-brand top-[16px] z-10"
126
+ size="lg"
127
+ variant="promotional"
128
+ promotionalType="regular-member"
129
+ >
130
+ {copy.badgeLabel}
131
+ </Badge>
132
+ )}
133
+
121
134
  <a
122
135
  href={
123
136
  extractVariantId(itemData.productVariant?.id)
124
- ? `/products/${itemData.product.handle}?variant=${extractVariantId(itemData.productVariant?.id)}`
125
- : `/products/${itemData.product.handle}`
137
+ ? `/products/${itemData.product.handle}?variant=${extractVariantId(itemData.productVariant?.id)}${pageHandle ? `&ref=${pageHandle}` : ''}`
138
+ : `/products/${itemData.product.handle}${pageHandle ? `?ref=${pageHandle}` : ''}`
126
139
  }
127
- className={cn('relative mx-auto h-[224px] w-fit l:h-[120px] l-xxl:h-[138px]')}
140
+ className={cn('relative mx-auto h-[196px] w-fit md:h-[120px] md-xxl:h-[138px]')}
128
141
  >
129
142
  <Picture
130
143
  className="mx-auto h-full w-auto"
@@ -136,12 +149,12 @@ function RedeemableItem({
136
149
  }
137
150
  ></Picture>
138
151
  </a>
139
- <div className={cn('mt-[22px] w-full l:mt-[8px]')}>
152
+ <div className={cn('mt-[10px] w-full xl:mt-[8px]')}>
140
153
  <Text
141
154
  html={itemData?.product?.title}
142
155
  title={itemData.config?.title || itemData.alpcData?.title || itemData.product?.title}
143
156
  size={2}
144
- className="line-clamp-2 h-[58px] text-[24px] l-xxl:text-[20px] l:text-[16px] leading-[1.2] l:h-[40px] l-xxl:h-[48px]"
157
+ className="line-clamp-2 h-[58px] text-[24px] l-xxl:text-[20px] l:text-[16px] leading-[1.2] l:h-[38px] l-xxl:h-[48px]"
145
158
  />
146
159
  {itemData?.config?.rules?.split('<br>')?.length > 0 && (
147
160
  <button
@@ -172,7 +185,7 @@ function RedeemableItem({
172
185
  </button>
173
186
  )}
174
187
 
175
- <div className="flex flex-wrap items-center l:mt-[12px] laptop:text-[16px] lg-desktop:text-[18px]">
188
+ <div className="flex flex-wrap items-center l:mt-[12px] md:min-h-[46px] laptop:text-[16px] lg-desktop:text-[18px]">
176
189
  <Picture
177
190
  className="size-[24px] l-xxl:size-[22px] md-l:size-[18px] md:size-[16px]"
178
191
  source="https://cdn.shopify.com/s/files/1/0511/6346/3874/files/icon_hire_purchase.png?v=1757496783"
@@ -198,7 +211,7 @@ function RedeemableItem({
198
211
  />
199
212
  </div>
200
213
 
201
- <div className="group relative w-full">
214
+ <div className="group relative w-full mt-[8px]">
202
215
  <Button
203
216
  disabled={isDisabled}
204
217
  variant="primary"
@@ -25,6 +25,7 @@ export type CreditsCashCopy = {
25
25
  unlockRewards: string
26
26
  btnRedeem: string
27
27
  off: string
28
+ badgeLabel?: string
28
29
  }
29
30
 
30
31
  export type RedeemItem = {
@@ -1,7 +1,6 @@
1
1
  import { Heading, Text } from '@anker-in/headless-ui'
2
2
  import { ChevronDownIcon } from '@heroicons/react/24/outline'
3
3
  import { classNames as cn } from '@anker-in/lib'
4
- import { motion } from 'framer-motion'
5
4
  import { type ReactNode, useEffect, useState } from 'react'
6
5
 
7
6
  type FaqItemProps = {
@@ -67,29 +66,32 @@ export const FaqItem = ({
67
66
  />
68
67
  )}
69
68
  </div>
70
- <motion.div
71
- initial={false}
72
- animate={{ height: !expanded ? 0 : 'auto' }}
73
- className="overflow-hidden [&_td]:border [&_td]:border-[#333] [&_td]:px-[8px] [&_td]:py-[4px]"
74
- >
75
- {answer?.toString()?.includes('https://www.youtube.com') ? (
76
- <Text
77
- as="div"
78
- className={cn('mt-[8px]')}
79
- data-ratio="16:9"
80
- data-content={answer}
81
- html={answer?.toString()}
82
- ></Text>
83
- ) : (
84
- <Text
85
- as="div"
86
- html={answer?.toString()}
87
- className={cn(
88
- 'mt-[8px] text-[16px] font-bold leading-[1.5] text-[#3D3D3F] l:text-[14px] [&_a]:text-brand [&_a]:underline'
89
- )}
90
- ></Text>
69
+ <div
70
+ className={cn(
71
+ 'grid transition-all duration-300 ease-in-out [&_td]:border [&_td]:border-[#333] [&_td]:px-[8px] [&_td]:py-[4px]',
72
+ expanded ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'
91
73
  )}
92
- </motion.div>
74
+ >
75
+ <div className="overflow-hidden">
76
+ {answer?.toString()?.includes('https://www.youtube.com') ? (
77
+ <Text
78
+ as="div"
79
+ className={cn('mt-[8px]')}
80
+ data-ratio="16:9"
81
+ data-content={answer}
82
+ html={answer?.toString()}
83
+ ></Text>
84
+ ) : (
85
+ <Text
86
+ as="div"
87
+ html={answer?.toString()}
88
+ className={cn(
89
+ 'mt-[8px] text-[16px] font-bold leading-[1.5] text-[#3D3D3F] l:text-[14px] [&_a]:text-brand [&_a]:underline'
90
+ )}
91
+ ></Text>
92
+ )}
93
+ </div>
94
+ </div>
93
95
  </div>
94
96
  )
95
97
  }
@@ -72,7 +72,13 @@ export function CreditsInfoCard({ copy, id }: { copy: CreditsInfoCardCopy; id?:
72
72
  {copy.balanceLabel}
73
73
  </div>
74
74
  <div className="flex items-baseline">
75
- <div className={cn('mr-[8px] text-[36px] font-extrabold', 'min-md:text-[44px]', 'min-xl:text-[56px]')}>
75
+ <div
76
+ className={cn(
77
+ 'mr-[8px] text-[36px] font-extrabold text-brand-color-1',
78
+ 'min-md:text-[44px]',
79
+ 'min-xl:text-[56px]'
80
+ )}
81
+ >
76
82
  {creditInfo ? numberFormat(creditInfo.available_credit) : 0}
77
83
  </div>
78
84
  <div className="text-[16px]">{pageCommon?.pointUnit}</div>
@@ -132,7 +138,7 @@ export function CreditsInfoCard({ copy, id }: { copy: CreditsInfoCardCopy; id?:
132
138
  </div>
133
139
  <div
134
140
  className={cn(
135
- 'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] min-l:gap-[16px] min-l:pl-[48px] md-l:grid-cols-2'
141
+ 'grid w-fit md:w-full l:mt-[32px] l:gap-[12px] gap-[16px] l:pl-0 l:pl-[48px] md-l:grid-cols-2'
136
142
  )}
137
143
  >
138
144
  {copy.buttons?.map((item, index) => (