@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,769 @@
1
+ /**
2
+ * LiveChat 组件核心类型定义
3
+ * 基于 specs/livechat-widget/data-model.md
4
+ */
5
+
6
+ // ============================================================================
7
+ // Session Types (会话)
8
+ // ============================================================================
9
+
10
+ export type SessionStatus = 'active' | 'expired'
11
+
12
+ export interface Session {
13
+ sessionId: string
14
+ userId: string
15
+ site: string
16
+ status: SessionStatus
17
+ createdAt?: number
18
+ lastActivityAt?: number
19
+ }
20
+
21
+ // ============================================================================
22
+ // Message Types (消息)
23
+ // ============================================================================
24
+
25
+ export type MessageRole = 'user' | 'assistant' | 'system' | 'tool'
26
+
27
+ export interface MessageMetadata {
28
+ tokenUsage?: {
29
+ inputTokens: number
30
+ outputTokens: number
31
+ }
32
+ toolCalls?: Array<{
33
+ id: string
34
+ type: string
35
+ name: string
36
+ }>
37
+ }
38
+
39
+ export interface Message {
40
+ id: string
41
+ sessionId?: string
42
+ role: MessageRole
43
+ content: MessageContent[]
44
+ timestamp: number
45
+ metadata?: MessageMetadata
46
+ }
47
+
48
+ // ============================================================================
49
+ // Message Content Types (消息内容)
50
+ // ============================================================================
51
+
52
+ export type MessageContentType =
53
+ | 'text'
54
+ | 'product_card'
55
+ | 'product_list'
56
+ | 'product_comparison'
57
+ | 'policy'
58
+ | 'quick_replies'
59
+ | 'thinking'
60
+ | 'error'
61
+ | 'faq_list'
62
+ | 'cart'
63
+
64
+ export type MessageContent =
65
+ | TextContent
66
+ | ProductCardContent
67
+ | ProductListContent
68
+ | ProductComparisonContent
69
+ | PolicyContent
70
+ | QuickRepliesContent
71
+ | ThinkingContent
72
+ | ErrorContent
73
+ | FAQListContent
74
+ | PromotionListContent
75
+ | CartContent
76
+
77
+ export interface TextContent {
78
+ type: 'text'
79
+ text: string
80
+ }
81
+
82
+ export interface ProductCardContent {
83
+ type: 'product_card'
84
+ data: {
85
+ product: Product
86
+ }
87
+ }
88
+
89
+ export interface ProductListContent {
90
+ type: 'product_list'
91
+ data: {
92
+ products: Product[]
93
+ title?: string
94
+ onAddToCart?: (product: Product) => void
95
+ }
96
+ }
97
+
98
+ export interface ProductComparisonContent {
99
+ type: 'product_comparison'
100
+ data: {
101
+ products: Product[]
102
+ dimensions: {
103
+ price?: {
104
+ label: string
105
+ values: Array<{
106
+ product_id: string
107
+ min: number
108
+ max: number
109
+ currency: string
110
+ has_discount: boolean
111
+ }>
112
+ }
113
+ variants?: {
114
+ label: string
115
+ values: Array<{
116
+ product_id: string
117
+ count: number
118
+ }>
119
+ }
120
+ member_price?: {
121
+ label: string
122
+ values: Array<{
123
+ product_id: string
124
+ available: boolean
125
+ min: number
126
+ max: number
127
+ currency: string
128
+ }>
129
+ }
130
+ discount?: {
131
+ label: string
132
+ values: Array<{
133
+ product_id: string
134
+ has_discount: boolean
135
+ }>
136
+ }
137
+ [key: string]: any
138
+ }
139
+ onAddToCart?: (product: Product) => void
140
+ }
141
+ }
142
+
143
+ export interface PolicyContent {
144
+ type: 'policy'
145
+ data: {
146
+ title: string
147
+ content: string
148
+ }
149
+ }
150
+
151
+ export interface QuickRepliesContent {
152
+ type: 'quick_replies'
153
+ data: {
154
+ replies: QuickReply[]
155
+ }
156
+ }
157
+
158
+ export interface ThinkingContent {
159
+ type: 'thinking'
160
+ data: {
161
+ status: string
162
+ }
163
+ }
164
+
165
+ export interface ErrorContent {
166
+ type: 'error'
167
+ data: {
168
+ message: string
169
+ code?: string
170
+ }
171
+ }
172
+
173
+ export interface FAQListContent {
174
+ type: 'faq_list'
175
+ data: {
176
+ found: boolean
177
+ count: number
178
+ total?: number
179
+ results: FAQItem[]
180
+ }
181
+ }
182
+
183
+ export interface PromotionListContent {
184
+ type: 'promotion_list'
185
+ data: {
186
+ found: boolean
187
+ count: number
188
+ total?: number
189
+ results: PromotionItem[]
190
+ }
191
+ }
192
+
193
+ // ============================================================================
194
+ // FAQ Types (常见问题)
195
+ // ============================================================================
196
+
197
+ export type FAQCategory = 'shipping' | 'return' | 'product' | 'payment' | 'general'
198
+
199
+ export interface FAQItem {
200
+ id: string
201
+ question: string
202
+ answer: string
203
+ category: FAQCategory
204
+ keywords?: string[]
205
+ relatedQuestions?: string[]
206
+ metadata?: {
207
+ language?: string
208
+ priority?: number
209
+ lastUpdated?: string
210
+ }
211
+ }
212
+
213
+ // ============================================================================
214
+ // Promotion Types (促销活动)
215
+ // ============================================================================
216
+
217
+ export interface PromotionItem {
218
+ id: string
219
+ title: string
220
+ subtitle?: string
221
+ description?: string
222
+ banner_url?: string
223
+ url?: string
224
+ time_range: {
225
+ start: string
226
+ end?: string | null
227
+ is_active: boolean
228
+ }
229
+ priority?: number
230
+ product_count?: number
231
+ metadata?: {
232
+ display_order?: number
233
+ target_audience?: string
234
+ }
235
+ }
236
+
237
+ // ============================================================================
238
+ // Product Types (商品)
239
+ // ============================================================================
240
+
241
+ export type StockStatus = 'in_stock' | 'low_stock' | 'out_of_stock'
242
+
243
+ export interface Price {
244
+ amount: number
245
+ currency: string
246
+ }
247
+
248
+ export interface PriceRange {
249
+ min: number
250
+ max: number
251
+ currency: string
252
+ }
253
+
254
+ export interface VariantDiscount {
255
+ has_discount: boolean
256
+ discount_price?: number
257
+ discount_code?: string
258
+ discount_percentage?: number
259
+ /** 折扣类型:fixed_amount 固定金额折扣,percentage 百分比折扣 */
260
+ discount_type?: 'fixed_amount' | 'percentage'
261
+ /** 折扣数值(可能是字符串或数字) */
262
+ discount_value?: string | number
263
+ }
264
+
265
+ export interface VariantMemberPrice {
266
+ has_member_price: boolean
267
+ price?: number
268
+ }
269
+
270
+ export interface ProductFeatures {
271
+ is_new?: boolean
272
+ has_rental?: boolean
273
+ has_presale?: boolean
274
+ has_member_price?: boolean
275
+ has_discount?: boolean
276
+ }
277
+
278
+ export interface Variant {
279
+ id: string
280
+ title: string
281
+ sku?: string
282
+ price?: Price
283
+ availableForSale: boolean
284
+ color?: string
285
+ discount?: VariantDiscount
286
+ memberPrice?: VariantMemberPrice
287
+ inventoryQuantity?: number
288
+ option1?: string
289
+ option2?: string
290
+ option3?: string
291
+ }
292
+
293
+ export interface Product {
294
+ shopifyId: string
295
+ sku?: string
296
+ handle: string
297
+ title: string
298
+ description?: string
299
+ vendor?: string
300
+ price: Price
301
+ priceRange?: PriceRange
302
+ memberPriceRange?: PriceRange
303
+ imageUrl: string
304
+ productUrl: string
305
+ stockStatus: StockStatus
306
+ hotScore?: number
307
+ averageRating?: number
308
+ reviewCount?: number
309
+ variants?: Variant[]
310
+ variantCount?: number
311
+ availableCount?: number
312
+ features?: ProductFeatures
313
+ tags?: string[]
314
+ }
315
+
316
+ // ============================================================================
317
+ // Quick Reply Types (快捷回复)
318
+ // ============================================================================
319
+
320
+ export interface QuickReply {
321
+ id: string
322
+ label: string
323
+ value: string
324
+ icon?: string
325
+ }
326
+
327
+ // ============================================================================
328
+ // Policy Types (政策)
329
+ // ============================================================================
330
+
331
+ export interface Policy {
332
+ title: string
333
+ content: string
334
+ }
335
+
336
+ // ============================================================================
337
+ // Cart Types (购物车)
338
+ // ============================================================================
339
+
340
+ /**
341
+ * 购物车金额信息
342
+ */
343
+ export interface CartAmount {
344
+ /** 金额字符串(如 "99.99") */
345
+ amount: string
346
+ /** 货币代码(如 "USD") */
347
+ currencyCode: string
348
+ }
349
+
350
+ /**
351
+ * 购物车价格汇总
352
+ */
353
+ export interface CartCost {
354
+ /** 应付总价(已应用折扣) */
355
+ totalAmount: CartAmount
356
+ /** 原价小计(未应用折扣) */
357
+ subtotalAmount: CartAmount
358
+ }
359
+
360
+ /**
361
+ * 购物车商品变体信息
362
+ */
363
+ export interface CartMerchandise {
364
+ /** 变体 ID (Shopify ProductVariant GID) */
365
+ id: string
366
+ /** 变体标题(如 "Black", "Large" 等) */
367
+ title: string
368
+ /** 单价 */
369
+ price: CartAmount
370
+ /** 商品图片 URL */
371
+ image?: {
372
+ url: string
373
+ altText?: string
374
+ }
375
+ /** 关联的商品信息 */
376
+ product: {
377
+ /** 商品 ID */
378
+ id: string
379
+ /** 商品标题 */
380
+ title: string
381
+ /** 商品 handle */
382
+ handle: string
383
+ }
384
+ }
385
+
386
+ /**
387
+ * 购物车商品行
388
+ */
389
+ export interface CartLine {
390
+ /** 购物车行 ID (用于更新/删除操作) */
391
+ id: string
392
+ /** 商品数量 */
393
+ quantity: number
394
+ /** 价格信息 */
395
+ cost: {
396
+ /** 行总价(单价 × 数量,已应用折扣) */
397
+ totalAmount: CartAmount
398
+ /** 单价 */
399
+ amountPerQuantity: CartAmount
400
+ /** 行小计(单价 × 数量,未应用折扣) */
401
+ subtotalAmount: CartAmount
402
+ }
403
+ /** 商品变体信息 */
404
+ merchandise: CartMerchandise
405
+ /** 自定义属性(可选) */
406
+ attributes?: Array<{
407
+ key: string
408
+ value: string
409
+ }>
410
+ }
411
+
412
+ /**
413
+ * 购物车折扣码
414
+ */
415
+ export interface CartDiscountCode {
416
+ /** 折扣码 */
417
+ code: string
418
+ /** 是否有效/适用 */
419
+ applicable: boolean
420
+ }
421
+
422
+ /**
423
+ * 购物车数据
424
+ */
425
+ export interface CartData {
426
+ /** 购物车是否为空 */
427
+ isEmpty: boolean
428
+ /** 购物车 ID (Shopify Cart GID) */
429
+ cartId: string
430
+ /** 商品总数量 */
431
+ totalQuantity: number
432
+ /** 商品列表 */
433
+ lines: CartLine[]
434
+ /** 价格汇总 */
435
+ cost: CartCost
436
+ /** 折扣码列表 */
437
+ discountCodes?: CartDiscountCode[]
438
+ /** 结账页面 URL */
439
+ checkoutUrl?: string
440
+ /** 购物车按钮回调函数 */
441
+ onCart?: (cartId: string, checkoutUrl?: string) => void
442
+ }
443
+
444
+ /**
445
+ * 购物车内容块
446
+ */
447
+ export interface CartContent {
448
+ type: 'cart'
449
+ data: CartData
450
+ }
451
+
452
+ // ============================================================================
453
+ // Backend Cart Types (后端购物车数据格式 - Shopify GraphQL)
454
+ // ============================================================================
455
+
456
+ /**
457
+ * 后端返回的购物车商品行数据 (Shopify GraphQL 格式)
458
+ */
459
+ export interface BackendCartLineNode {
460
+ id: string
461
+ quantity: number
462
+ cost: {
463
+ totalAmount: CartAmount
464
+ amountPerQuantity: CartAmount
465
+ compareAtAmountPerQuantity?: CartAmount | null
466
+ subtotalAmount: CartAmount
467
+ }
468
+ discountAllocations: any[]
469
+ merchandise: {
470
+ id: string
471
+ title: string
472
+ availableForSale: boolean
473
+ quantityAvailable?: number
474
+ price: CartAmount
475
+ compareAtPrice?: CartAmount | null
476
+ image?: {
477
+ url: string
478
+ altText?: string | null
479
+ width?: number
480
+ height?: number
481
+ } | null
482
+ product: {
483
+ id: string
484
+ title: string
485
+ handle: string
486
+ vendor?: string
487
+ featuredImage?: {
488
+ url: string
489
+ altText?: string | null
490
+ width?: number
491
+ height?: number
492
+ } | null
493
+ tags?: string[]
494
+ }
495
+ }
496
+ attributes?: Array<{
497
+ key: string
498
+ value: string
499
+ }>
500
+ }
501
+
502
+ /**
503
+ * 后端返回的购物车数据 (Shopify GraphQL 格式)
504
+ */
505
+ export interface BackendCartData {
506
+ id: string
507
+ checkoutUrl?: string
508
+ totalQuantity: number
509
+ lines: {
510
+ edges: Array<{
511
+ node: BackendCartLineNode
512
+ }>
513
+ }
514
+ cost: {
515
+ totalAmount: CartAmount
516
+ subtotalAmount: CartAmount
517
+ checkoutChargeAmount?: CartAmount
518
+ totalAmountEstimated?: boolean
519
+ subtotalAmountEstimated?: boolean
520
+ totalTaxAmount?: CartAmount | null
521
+ totalDutyAmount?: CartAmount | null
522
+ }
523
+ discountAllocations?: any[]
524
+ buyerIdentity?: any
525
+ attributes?: Array<{
526
+ key: string
527
+ value: string
528
+ }>
529
+ discountCodes?: any[]
530
+ createdAt?: string
531
+ updatedAt?: string
532
+ }
533
+
534
+ // ============================================================================
535
+ // SSE Event Types (SSE 事件)
536
+ // ============================================================================
537
+
538
+ export type SSEEventType =
539
+ | 'message_start'
540
+ | 'content_delta'
541
+ | 'content_block'
542
+ | 'message_end'
543
+ | 'tool_start'
544
+ | 'tool_end'
545
+ | 'status'
546
+ | 'error'
547
+ | 'done'
548
+
549
+ export interface SSEEvent<T = any> {
550
+ event: SSEEventType | null
551
+ data: T
552
+ }
553
+
554
+ // 具体事件数据类型
555
+ export interface MessageStartData {
556
+ sessionId: string
557
+ }
558
+
559
+ export interface ContentDeltaData {
560
+ text: string
561
+ }
562
+
563
+ export interface ContentBlockData {
564
+ type: string
565
+ data: any
566
+ }
567
+
568
+ export interface MessageEndData {
569
+ usage: {
570
+ inputTokens: number
571
+ outputTokens: number
572
+ }
573
+ }
574
+
575
+ export interface ToolStartData {
576
+ id: string
577
+ type: string
578
+ name: string
579
+ }
580
+
581
+ export interface ToolEndData {
582
+ id: string
583
+ }
584
+
585
+ export interface StatusData {
586
+ type: string
587
+ message?: string
588
+ }
589
+
590
+ export interface ErrorData {
591
+ message: string
592
+ code?: string
593
+ }
594
+
595
+ // ============================================================================
596
+ // API Request/Response Types (API 请求响应)
597
+ // ============================================================================
598
+
599
+ /**
600
+ * 流式对话请求参数
601
+ */
602
+ export interface ChatStreamRequest {
603
+ /** 用户的消息文本 */
604
+ message: string
605
+ /** 用户标识符 */
606
+ user_id: string
607
+ /** 来自 new-session 端点的会话 ID */
608
+ session_id: string
609
+ /** 可选的上下文信息 */
610
+ context?: {
611
+ /** 用于购物车操作的 Shopify 购物车 ID */
612
+ cartId?: string
613
+ /** Storefront API 访问令牌 */
614
+ accessToken?: string
615
+ /** 已登录用户的 ID */
616
+ real_user_id?: string
617
+ }
618
+ }
619
+
620
+ export interface NewSessionRequest {
621
+ user_id: string
622
+ session_id?: string
623
+ site?: string
624
+ real_user_id?: string
625
+ }
626
+
627
+ export interface NewSessionResponse {
628
+ success: boolean
629
+ sessionId: string
630
+ message: string
631
+ resumed?: boolean
632
+ messages?: Message[]
633
+ welcomeMessage?: string
634
+ quickQuestions?: string[]
635
+ brand?: string
636
+ }
637
+
638
+ export interface ErrorResponse {
639
+ success: boolean
640
+ error: string
641
+ code?: string
642
+ details?: any
643
+ }
644
+
645
+ // ============================================================================
646
+ // Component Props Types (组件 Props)
647
+ // ============================================================================
648
+
649
+ export interface LiveChatWidgetProps {
650
+ /**
651
+ * API 基础 URL
652
+ * @example "https://beta-api-livechat.anker.com"
653
+ */
654
+ apiBaseUrl: string
655
+
656
+ /**
657
+ * Shopify 店铺域名
658
+ * @example "www.eufy.com"
659
+ */
660
+ site?: string
661
+
662
+ /**
663
+ * 已登录用户的 ID(可选)
664
+ * 如果提供,将在 API 请求中传递
665
+ */
666
+ loginUserId?: string
667
+
668
+ /**
669
+ * Shopify 购物车 ID(可选)
670
+ * 用于购物车操作,将在 stream 接口的 context 中传递
671
+ * @example "gid://shopify/Cart/Z2NwLXVzLWVhc3QxOjAxSkZH..."
672
+ */
673
+ cartId?: string
674
+
675
+ /**
676
+ * Storefront API 访问令牌(可选)
677
+ * 用于购物车操作,将在 stream 接口的 context 中传递
678
+ */
679
+ accessToken?: string
680
+
681
+ /**
682
+ * 气泡按钮位置
683
+ * 自定义位置对象:{ top?: string, bottom?: string, left?: string, right?: string }
684
+ * @default { bottom: "1.5rem", right: "1.5rem" }
685
+ * @example
686
+ * // 自定义位置
687
+ * position={{ bottom: "20px", right: "30px" }}
688
+ * position={{ top: "100px", left: "50px" }}
689
+ */
690
+ position?: BubblePosition
691
+
692
+ /**
693
+ * 欢迎消息
694
+ * @default "你好!我是 AI 助手,有什么可以帮助你的吗?"
695
+ */
696
+ welcomeMessage?: string
697
+
698
+ /**
699
+ * 初始快捷回复按钮
700
+ */
701
+ quickReplies?: QuickReply[]
702
+
703
+ /**
704
+ * 自定义消息渲染器
705
+ */
706
+ customRenderers?: Record<string, MessageRenderer>
707
+
708
+ /**
709
+ * Logo URL
710
+ */
711
+ logoUrl?: string
712
+
713
+ /**
714
+ * 聊天窗口标题
715
+ * @default "AI 助手"
716
+ */
717
+ title?: string
718
+
719
+ /**
720
+ * 聊天气泡按钮图标(图片 URL)
721
+ * 如果提供,将使用图片替代默认的 SVG 图标
722
+ */
723
+ chatBubbleIcon?: string
724
+
725
+ /**
726
+ * 事件回调
727
+ */
728
+ onOpen?: () => void
729
+ onClose?: () => void
730
+ onMessageSend?: (message: string) => void
731
+ onError?: (error: Error) => void
732
+
733
+ /**
734
+ * 商品操作回调
735
+ */
736
+ onAddToCart?: (product: Product) => void
737
+
738
+ /**
739
+ * 购物车按钮点击回调
740
+ */
741
+ onCart?: (cartId: string, checkoutUrl?: string) => void
742
+
743
+ /**
744
+ * 是否显示新会话按钮
745
+ * @default true
746
+ */
747
+ showNewSessionButton?: boolean
748
+ }
749
+
750
+ export interface MessageRenderer {
751
+ render: (content: MessageContent, isUser: boolean, isSystem: boolean) => React.ReactNode
752
+ }
753
+
754
+ export interface CustomRendererMap {
755
+ [type: string]: MessageRenderer
756
+ }
757
+
758
+ // ============================================================================
759
+ // Utility Types (工具类型)
760
+ // ============================================================================
761
+
762
+ export interface PositionStyles {
763
+ bottom?: string
764
+ top?: string
765
+ left?: string
766
+ right?: string
767
+ }
768
+
769
+ export type BubblePosition = PositionStyles