@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,461 @@
1
+ /**
2
+ * LiveChatWidget Storybook Stories
3
+ * 展示 LiveChat 组件的各种使用场景和配置
4
+ */
5
+
6
+ import type { Meta, StoryObj } from '@storybook/react'
7
+ import { LiveChatWidget } from '../components/LiveChatWidget'
8
+ import type { MessageRenderer, MessageContent } from '../components/LiveChatWidget'
9
+ import '../styles/livechat.css'
10
+
11
+ const meta: Meta<typeof LiveChatWidget> = {
12
+ title: 'Campaign/LiveChatWidget',
13
+ component: LiveChatWidget,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ docs: {
17
+ story: {
18
+ inline: false,
19
+ iframeHeight: 500,
20
+ },
21
+ description: {
22
+ component: `
23
+ # LiveChat 聊天组件
24
+
25
+ 可复用的气泡弹窗聊天组件,支持 SSE 流式消息、自定义渲染器和多种消息类型。
26
+
27
+ ## 功能特性
28
+
29
+ - 🎈 **气泡弹窗**: 可自定义位置的悬浮气泡按钮
30
+ - 💬 **流式消息**: 基于 SSE 的实时流式响应
31
+ - 📦 **多种消息类型**: 文本、商品卡片、商品列表、政策、快捷回复等
32
+ - 🎨 **可定制**: 支持自定义品牌颜色、Logo、渲染器
33
+ - 📱 **响应式**: 移动端全屏,桌面端固定尺寸
34
+ - 💾 **会话管理**: 自动管理 userId 和 sessionId
35
+ - 🔒 **安全防护**: 内置 XSS 防护和输入验证
36
+
37
+ ## 基础用法
38
+
39
+ \`\`\`tsx
40
+ import { LiveChatWidget } from '@anker-in/campaign-ui'
41
+ import '@anker-in/campaign-ui/livechat.css'
42
+
43
+ function App() {
44
+ return (
45
+ <LiveChatWidget
46
+ apiBaseUrl="https://beta-api-livechat.anker.com"
47
+ site="www.eufy.com"
48
+ welcomeMessage="你好!我是 AI 助手"
49
+ />
50
+ )
51
+ }
52
+ \`\`\`
53
+
54
+ ## 自定义渲染器
55
+
56
+ \`\`\`tsx
57
+ const customRenderers = {
58
+ video: {
59
+ render: (content) => (
60
+ <video src={content.url} controls className="w-full rounded" />
61
+ )
62
+ }
63
+ }
64
+
65
+ <LiveChatWidget
66
+ apiBaseUrl="..."
67
+ site="..."
68
+ customRenderers={customRenderers}
69
+ />
70
+ \`\`\`
71
+ `,
72
+ },
73
+ },
74
+ },
75
+ tags: ['autodocs'],
76
+ argTypes: {
77
+ apiBaseUrl: {
78
+ control: 'text',
79
+ description: 'API 基础 URL',
80
+ },
81
+ site: {
82
+ control: 'text',
83
+ description: 'Shopify 店铺 URL',
84
+ },
85
+ welcomeMessage: {
86
+ control: 'text',
87
+ description: '欢迎消息',
88
+ table: {
89
+ defaultValue: { summary: '你好!我是 AI 助手,有什么可以帮助你的吗?' },
90
+ },
91
+ },
92
+ logoUrl: {
93
+ control: 'text',
94
+ description: 'Logo URL',
95
+ },
96
+ position: {
97
+ control: 'object',
98
+ description: '气泡按钮位置对象',
99
+ table: {
100
+ defaultValue: { summary: '{ bottom: "1.5rem", right: "1.5rem" }' },
101
+ },
102
+ },
103
+ },
104
+ args: {
105
+ apiBaseUrl: 'http://172.16.38.183:3003',
106
+ site: 'www.eufy.com',
107
+ loginUserId: 'test_test',
108
+ welcomeMessage: '你好!我是 AI 助手,有什么可以帮助你的吗?',
109
+ },
110
+ }
111
+
112
+ export default meta
113
+ type Story = StoryObj<typeof LiveChatWidget>
114
+
115
+ /**
116
+ * 默认配置
117
+ *
118
+ * 最简单的使用方式,使用默认配置。
119
+ */
120
+ export const Default: Story = {
121
+ args: {
122
+ loginUserId: 'test_test',
123
+ apiBaseUrl: 'http://172.16.38.183:3003',
124
+ cartId: 'gid://shopify/Cart/hWN7oFnMh7jKxbO1CYSzWVue?key=68f4cf2c4c772b9aed2fab2902e6dab3',
125
+ accessToken: '92301d516a0a38a0a483bc230e5bfaad',
126
+ title: 'eufy',
127
+ },
128
+ }
129
+
130
+ /**
131
+ * 自定义位置
132
+ *
133
+ * 使用自定义位置对象来控制气泡按钮的位置。
134
+ */
135
+ export const CustomPosition: Story = {
136
+ args: {
137
+ position: { bottom: '1.5rem', left: '1.5rem' },
138
+ },
139
+ }
140
+
141
+ /**
142
+ * 自定义品牌样式
143
+ *
144
+ * 自定义 Logo 和欢迎消息。
145
+ */
146
+ export const CustomBranding: Story = {
147
+ args: {
148
+ logoUrl: 'https://images.unsplash.com/photo-1599305445671-ac291c95aaa9?w=100&h=100&fit=crop',
149
+ welcomeMessage: '欢迎来到 Soundcore!我是您的专属 AI 助手 🎧',
150
+ },
151
+ }
152
+
153
+ /**
154
+ * 带快捷回复
155
+ *
156
+ * 在欢迎消息后显示快捷回复按钮。
157
+ */
158
+ export const WithQuickReplies: Story = {
159
+ args: {
160
+ quickReplies: [
161
+ {
162
+ id: '1',
163
+ label: '查询价格',
164
+ value: '我想了解产品价格',
165
+ icon: '💰',
166
+ },
167
+ {
168
+ id: '2',
169
+ label: '查询物流',
170
+ value: '我想查询订单物流',
171
+ icon: '📦',
172
+ },
173
+ {
174
+ id: '3',
175
+ label: '售后服务',
176
+ value: '我需要售后帮助',
177
+ icon: '🔧',
178
+ },
179
+ {
180
+ id: '4',
181
+ label: '产品推荐',
182
+ value: '请推荐适合我的产品',
183
+ icon: '⭐',
184
+ },
185
+ ],
186
+ },
187
+ }
188
+
189
+ /**
190
+ * 自定义欢迎消息
191
+ *
192
+ * 自定义首次打开聊天窗口时的欢迎消息。
193
+ */
194
+ export const CustomWelcomeMessage: Story = {
195
+ args: {
196
+ welcomeMessage: `
197
+ 👋 您好!欢迎来到 Soundcore 官方商城。
198
+
199
+ 我是您的 AI 购物助手,可以帮您:
200
+ - 🔍 查找产品
201
+ - 💰 比较价格
202
+ - 📦 跟踪订单
203
+ - 💬 解答疑问
204
+
205
+ 有什么我可以帮助您的吗?
206
+ `.trim(),
207
+ },
208
+ }
209
+
210
+ /**
211
+ * 事件回调
212
+ *
213
+ * 监听组件事件进行自定义处理。
214
+ */
215
+ export const WithEventCallbacks: Story = {
216
+ args: {
217
+ title: '',
218
+ showNewSessionButton: false,
219
+
220
+ position: {
221
+ bottom: '24px',
222
+ right: '30px',
223
+ },
224
+
225
+ chatBubbleIcon: 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/Rectangle_400770314.png?v=1768894153',
226
+ },
227
+
228
+ render: args => (
229
+ <LiveChatWidget
230
+ {...args}
231
+ onOpen={() => {
232
+ console.log('[Story] Chat opened')
233
+ }}
234
+ onClose={() => {
235
+ console.log('[Story] Chat closed')
236
+ }}
237
+ onMessageSend={(message: string) => {
238
+ console.log('[Story] Message sent:', message)
239
+ }}
240
+ onError={(error: Error) => {
241
+ console.error('[Story] Error occurred:', error)
242
+ }}
243
+ onAddToCart={(product: any) => {
244
+ console.log('🛒 [Story] Add to Cart clicked!')
245
+ console.log('📦 Product Info:', {
246
+ id: product.shopifyId,
247
+ title: product.title,
248
+ price: product.price,
249
+ imageUrl: product.imageUrl,
250
+ productUrl: product.productUrl,
251
+ })
252
+ console.log('📋 Full Product Object:', product)
253
+
254
+ // 模拟添加到购物车成功
255
+ alert(`✅ "${product.title}" 已添加到购物车!\n\n价格: ${product.price.currency} ${product.price.amount}`)
256
+ }}
257
+ onCart={(cartId: string, checkoutUrl?: string) => {
258
+ console.log('🛒 [Story] Cart button clicked!')
259
+ console.log('📋 Cart ID:', cartId)
260
+ console.log('🔗 Checkout URL:', checkoutUrl)
261
+
262
+ // 模拟购物车按钮点击成功
263
+ alert(`购物车按钮被点击!\n\nCart ID: ${cartId}\nCheckout URL: ${checkoutUrl || '无'}`)
264
+ }}
265
+ />
266
+ ),
267
+ }
268
+
269
+ /**
270
+ * 自定义视频消息渲染器
271
+ *
272
+ * 扩展消息类型,添加视频消息支持。
273
+ */
274
+ export const CustomVideoRenderer: Story = {
275
+ args: {
276
+ customRenderers: {
277
+ video: {
278
+ render: (content: MessageContent) => {
279
+ const videoContent = content as any
280
+ return (
281
+ <div className="w-full">
282
+ <video src={videoContent.url} controls className="w-full rounded-lg" poster={videoContent.poster}>
283
+ 您的浏览器不支持视频播放
284
+ </video>
285
+ {videoContent.title && <p className="mt-2 text-sm text-gray-600">{videoContent.title}</p>}
286
+ </div>
287
+ )
288
+ },
289
+ } as MessageRenderer,
290
+ },
291
+ },
292
+ }
293
+
294
+ /**
295
+ * 自定义图片画廊渲染器
296
+ *
297
+ * 扩展消息类型,添加图片画廊支持。
298
+ */
299
+ export const CustomImageGalleryRenderer: Story = {
300
+ args: {
301
+ customRenderers: {
302
+ image_gallery: {
303
+ render: (content: MessageContent) => {
304
+ const galleryContent = content as any
305
+ const images = galleryContent.images || []
306
+
307
+ return (
308
+ <div className="grid grid-cols-2 gap-2">
309
+ {images.map((image: any, index: number) => (
310
+ <div key={index} className="relative aspect-square">
311
+ <img
312
+ src={image.url}
313
+ alt={image.alt || `Image ${index + 1}`}
314
+ className="size-full rounded-lg object-cover"
315
+ />
316
+ </div>
317
+ ))}
318
+ </div>
319
+ )
320
+ },
321
+ } as MessageRenderer,
322
+ },
323
+ },
324
+ }
325
+
326
+ /**
327
+ * 移动端预览
328
+ *
329
+ * 在移动端尺寸下查看效果(全屏显示)。
330
+ */
331
+ export const MobileView: Story = {
332
+ parameters: {
333
+ viewport: {
334
+ defaultViewport: 'mobile1',
335
+ },
336
+ },
337
+ args: {},
338
+ }
339
+
340
+ /**
341
+ * 平板端预览
342
+ *
343
+ * 在平板端尺寸下查看效果。
344
+ */
345
+ export const TabletView: Story = {
346
+ parameters: {
347
+ viewport: {
348
+ defaultViewport: 'tablet',
349
+ },
350
+ },
351
+ args: {},
352
+ }
353
+
354
+ /**
355
+ * 默认位置展示
356
+ *
357
+ * 展示气泡按钮的默认位置(右下角)。
358
+ */
359
+ export const DefaultPositionDemo: Story = {
360
+ render: () => (
361
+ <div className="relative h-screen w-full bg-gray-50">
362
+ <div className="absolute inset-0 flex items-center justify-center">
363
+ <p className="text-gray-500">页面内容区域</p>
364
+ </div>
365
+
366
+ {/* 演示默认位置 */}
367
+ <div className="absolute bottom-4 right-4 text-xs text-gray-400">默认位置 (右下角)</div>
368
+
369
+ <LiveChatWidget apiBaseUrl="https://beta-api-livechat.anker.com" site="www.eufy.com" />
370
+ </div>
371
+ ),
372
+ }
373
+
374
+ /**
375
+ * 产品对比消息
376
+ *
377
+ * 展示产品对比类型的消息渲染效果,包括价格、会员价、变体数量、折扣等多个维度的对比。
378
+ *
379
+ * 产品对比组件会以网格布局展示多个产品的基本信息,并在下方显示各维度的对比数据。
380
+ */
381
+ export const ProductComparisonMessage: Story = {
382
+ render: args => (
383
+ <LiveChatWidget
384
+ {...args}
385
+ onAddToCart={(product: any) => {
386
+ console.log('🛒 [ProductComparison Story] Add to Cart clicked!')
387
+ console.log('📦 Product Info:', {
388
+ id: product.shopifyId,
389
+ title: product.title,
390
+ price: product.price,
391
+ imageUrl: product.imageUrl,
392
+ productUrl: product.productUrl,
393
+ })
394
+ console.log('📋 Full Product Object:', product)
395
+
396
+ // 模拟添加到购物车成功
397
+ alert(`✅ "${product.title}" 已添加到购物车!\n\n价格: ${product.price.currency} ${product.price.amount}`)
398
+ }}
399
+ />
400
+ ),
401
+ args: {
402
+ welcomeMessage: '以下是您关注的产品对比信息:',
403
+ },
404
+ parameters: {
405
+ docs: {
406
+ description: {
407
+ story: `
408
+ 产品对比消息支持以下维度:
409
+
410
+ - **价格对比**: 显示产品的价格区间和促销标签
411
+ - **会员价对比**: 显示会员专享价格(如果可用)
412
+ - **变体数量对比**: 显示产品的可选变体数量
413
+ - **折扣对比**: 显示产品是否有折扣活动
414
+
415
+ 组件会自动处理从后端返回的产品对比数据,包括:
416
+ - 产品基本信息(图片、标题、价格等)
417
+ - 多维度对比数据(价格、会员价、变体、折扣)
418
+ - 响应式布局(移动端可横向滚动)
419
+
420
+ **测试 Add to Cart 功能:**
421
+ - 点击产品对比卡片中的 "Add to Cart" 按钮
422
+ - 查看控制台输出的产品信息
423
+ - 会弹出确认提示框显示已添加到购物车
424
+ `,
425
+ },
426
+ },
427
+ },
428
+ }
429
+
430
+ /**
431
+ * FAQ 列表消息
432
+ *
433
+ * 展示常见问题列表,支持折叠/展开。
434
+ *
435
+ * FAQ 组件会显示搜索结果的常见问题,每个问题可以点击展开查看答案。
436
+ */
437
+ export const FAQListMessage: Story = {
438
+ args: {
439
+ welcomeMessage: '以下是与您的问题相关的常见解答:',
440
+ },
441
+ parameters: {
442
+ docs: {
443
+ description: {
444
+ story: `
445
+ FAQ 列表消息支持:
446
+
447
+ - **可折叠问题**: 点击问题标题展开/折叠答案
448
+ - **Markdown 答案**: 答案支持 Markdown 格式,可显示富文本
449
+ - **相关问题**: 展开答案后显示相关问题,点击可触发新搜索
450
+ - **分类标记**: 根据问题分类显示(配送、退货、产品、支付、通用)
451
+ - **搜索结果统计**: 显示找到的问题数量
452
+
453
+ 使用场景:
454
+ - 用户询问常见问题时返回 FAQ 列表
455
+ - 产品专属问题查询
456
+ - 按分类查询 FAQ
457
+ `,
458
+ },
459
+ },
460
+ },
461
+ }
@@ -0,0 +1,263 @@
1
+ /**
2
+ * LiveChat Widget Styles
3
+ *
4
+ * 这个文件包含 LiveChat 组件的基础样式
5
+ * 使用 CSS 变量支持主题定制
6
+ */
7
+
8
+ :root {
9
+ /* 品牌颜色 */
10
+ --livechat-primary: #005D8E;
11
+ --livechat-primary-hover: #005D8E;
12
+ --livechat-background: #ffffff;
13
+ --livechat-text: #111827;
14
+ --livechat-text-secondary: #6b7280;
15
+ --livechat-border: #e5e7eb;
16
+
17
+ /* 消息颜色 */
18
+ --livechat-user-message-bg: #f3f4f6;
19
+ --livechat-assistant-message-bg: #ffffff;
20
+ --livechat-thinking-bg: #fef3c7;
21
+ --livechat-error-bg: #fee2e2;
22
+
23
+ /* 尺寸 */
24
+ --livechat-bubble-size: 56px;
25
+ --livechat-window-width: 390px;
26
+ --livechat-window-height: 600px;
27
+ --livechat-border-radius: 1rem;
28
+
29
+ /* 阴影 */
30
+ --livechat-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
31
+ --livechat-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
32
+ --livechat-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
33
+ --livechat-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
34
+ }
35
+
36
+ /* 气泡按钮基础样式 */
37
+ .livechat-bubble {
38
+ position: fixed;
39
+ width: var(--livechat-bubble-size);
40
+ height: var(--livechat-bubble-size);
41
+ border-radius: 50%;
42
+ background: var(--livechat-primary);
43
+ color: white;
44
+ box-shadow: var(--livechat-shadow-xl);
45
+ transition: all 0.2s ease-in-out;
46
+ z-index: 9999;
47
+ }
48
+
49
+ .livechat-bubble:hover {
50
+ background: var(--livechat-primary-hover);
51
+ transform: scale(1.05);
52
+ }
53
+
54
+ .livechat-bubble:active {
55
+ transform: scale(0.95);
56
+ }
57
+
58
+ /* 移动端固定底部样式 */
59
+ @media (max-width: 767px) {
60
+ .livechat-window {
61
+ position: fixed;
62
+ bottom: 0;
63
+ left: 0;
64
+ right: 0;
65
+ width: 100vw;
66
+ height: var(--livechat-mobile-height, 375px); /* 默认高度375px,可通过拖拽调整(最小375px,最大90vh) */
67
+ max-height: 90vh;
68
+ border-radius: 16px 16px 0 0; /* 上方圆角 */
69
+ box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
70
+ }
71
+ }
72
+
73
+ /* 平板及以上固定尺寸弹窗样式 */
74
+ @media (min-width: 768px) {
75
+ .livechat-window {
76
+ position: fixed;
77
+ bottom: 1rem;
78
+ right: 1rem;
79
+ width: var(--livechat-window-width);
80
+ height: var(--livechat-window-height);
81
+ max-width: 90vw;
82
+ max-height: 90vh;
83
+ border-radius: var(--livechat-border-radius);
84
+ box-shadow: var(--livechat-shadow-xl);
85
+ }
86
+ }
87
+
88
+ /* 聊天窗口动画 */
89
+ .livechat-window-enter {
90
+ animation: livechat-slide-in 0.3s ease-out;
91
+ }
92
+
93
+ .livechat-window-exit {
94
+ animation: livechat-slide-out 0.3s ease-in;
95
+ }
96
+
97
+ @keyframes livechat-slide-in {
98
+ from {
99
+ opacity: 0;
100
+ transform: translateY(1rem);
101
+ }
102
+ to {
103
+ opacity: 1;
104
+ transform: translateY(0);
105
+ }
106
+ }
107
+
108
+ @keyframes livechat-slide-out {
109
+ from {
110
+ opacity: 1;
111
+ transform: translateY(0);
112
+ }
113
+ to {
114
+ opacity: 0;
115
+ transform: translateY(1rem);
116
+ }
117
+ }
118
+
119
+ /* 消息列表滚动样式 */
120
+ .livechat-message-list {
121
+ scrollbar-width: thin;
122
+ scrollbar-color: var(--livechat-border) transparent;
123
+ }
124
+
125
+ .livechat-message-list::-webkit-scrollbar {
126
+ width: 6px;
127
+ }
128
+
129
+ .livechat-message-list::-webkit-scrollbar-track {
130
+ background: transparent;
131
+ }
132
+
133
+ .livechat-message-list::-webkit-scrollbar-thumb {
134
+ background: var(--livechat-border);
135
+ border-radius: 3px;
136
+ }
137
+
138
+ .livechat-message-list::-webkit-scrollbar-thumb:hover {
139
+ background: var(--livechat-text-secondary);
140
+ }
141
+
142
+ /* 思考状态动画 */
143
+ .livechat-thinking-dots {
144
+ display: inline-flex;
145
+ gap: 0.25rem;
146
+ }
147
+
148
+ .livechat-thinking-dots span {
149
+ width: 0.5rem;
150
+ height: 0.5rem;
151
+ border-radius: 50%;
152
+ animation: livechat-thinking 1.4s infinite ease-in-out;
153
+ }
154
+
155
+ .livechat-thinking-dots span:nth-child(1) {
156
+ animation-delay: -0.32s;
157
+ }
158
+
159
+ .livechat-thinking-dots span:nth-child(2) {
160
+ animation-delay: -0.16s;
161
+ }
162
+
163
+ @keyframes livechat-thinking {
164
+ 0%, 80%, 100% {
165
+ transform: scale(0);
166
+ opacity: 0.5;
167
+ }
168
+ 40% {
169
+ transform: scale(1);
170
+ opacity: 1;
171
+ }
172
+ }
173
+
174
+ /* 商品卡片基础样式 */
175
+ .livechat-product-card {
176
+ border: 1px solid var(--livechat-border);
177
+ border-radius: 0.5rem;
178
+ overflow: hidden;
179
+ transition: all 0.2s ease-in-out;
180
+ }
181
+
182
+ .livechat-product-card:hover {
183
+ box-shadow: var(--livechat-shadow-md);
184
+ transform: translateY(-2px);
185
+ }
186
+
187
+ /* 产品列表横向滚动样式 */
188
+ .livechat-product-scroll {
189
+ scrollbar-width: thin;
190
+ scrollbar-color: var(--livechat-border) transparent;
191
+ }
192
+
193
+ .livechat-product-scroll::-webkit-scrollbar {
194
+ height: 8px;
195
+ }
196
+
197
+ .livechat-product-scroll::-webkit-scrollbar-track {
198
+ background: var(--livechat-user-message-bg);
199
+ border-radius: 4px;
200
+ }
201
+
202
+ .livechat-product-scroll::-webkit-scrollbar-thumb {
203
+ background: var(--livechat-border);
204
+ border-radius: 4px;
205
+ }
206
+
207
+ .livechat-product-scroll::-webkit-scrollbar-thumb:hover {
208
+ background: var(--livechat-text-secondary);
209
+ }
210
+
211
+ /* 快捷回复按钮样式 */
212
+ .livechat-quick-reply-button {
213
+ background-color: #EAEAEC;
214
+ color: #1D1D1F;
215
+ border: none;
216
+ border-radius: 19px;
217
+ transition: all 0.2s ease-in-out;
218
+ }
219
+
220
+ .livechat-quick-reply-button:hover {
221
+ background-color: #D5D5D8;
222
+ color: #1D1D1F;
223
+ }
224
+
225
+ /* Markdown 内容样式 */
226
+ .livechat-markdown {
227
+ line-height: 1.6;
228
+ }
229
+
230
+ .livechat-markdown ul,
231
+ .livechat-markdown ol {
232
+ margin-left: 1.5rem;
233
+ margin-bottom: 0.5rem;
234
+ }
235
+
236
+ .livechat-markdown li {
237
+ margin-bottom: 0.25rem;
238
+ }
239
+
240
+ .livechat-markdown a {
241
+ color: var(--livechat-primary);
242
+ text-decoration: underline;
243
+ }
244
+
245
+ .livechat-markdown a:hover {
246
+ color: var(--livechat-primary-hover);
247
+ }
248
+
249
+ .livechat-markdown code {
250
+ background: var(--livechat-user-message-bg);
251
+ padding: 0.125rem 0.25rem;
252
+ border-radius: 0.25rem;
253
+ font-family: ui-monospace, monospace;
254
+ font-size: 0.875em;
255
+ }
256
+
257
+ .livechat-markdown strong {
258
+ font-weight: 600;
259
+ }
260
+
261
+ .livechat-markdown em {
262
+ font-style: italic;
263
+ }