@anker-in/campaign-ui 0.5.0-beta.3 → 0.5.0-beta.5

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 (238) hide show
  1. package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.js +1 -1
  2. package/dist/cjs/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +3 -3
  3. package/dist/cjs/components/credits/context/hooks/useCountries.js +1 -1
  4. package/dist/cjs/components/credits/context/hooks/useCountries.js.map +3 -3
  5. package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +2 -2
  6. package/dist/cjs/components/index.d.ts +3 -2
  7. package/dist/cjs/components/index.js +1 -1
  8. package/dist/cjs/components/index.js.map +2 -2
  9. package/dist/cjs/components/memberPopup/MemberPopup.d.ts +9 -0
  10. package/dist/cjs/components/memberPopup/MemberPopup.js +2 -0
  11. package/dist/cjs/components/memberPopup/MemberPopup.js.map +7 -0
  12. package/dist/cjs/components/memberPopup/context/provider.d.ts +11 -0
  13. package/dist/cjs/components/memberPopup/context/provider.js +2 -0
  14. package/dist/cjs/components/memberPopup/context/provider.js.map +7 -0
  15. package/dist/cjs/components/memberPopup/context/viewStack.d.ts +12 -0
  16. package/dist/cjs/components/memberPopup/context/viewStack.js +2 -0
  17. package/dist/cjs/components/memberPopup/context/viewStack.js.map +7 -0
  18. package/dist/cjs/components/memberPopup/icons.d.ts +27 -0
  19. package/dist/cjs/components/memberPopup/icons.js +2 -0
  20. package/dist/cjs/components/memberPopup/icons.js.map +7 -0
  21. package/dist/cjs/components/memberPopup/index.d.ts +4 -0
  22. package/dist/cjs/components/memberPopup/index.js +2 -0
  23. package/dist/cjs/components/memberPopup/index.js.map +7 -0
  24. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.d.ts +10 -0
  25. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.js +2 -0
  26. package/dist/cjs/components/memberPopup/panels/ActivitiesSubscribePanel.js.map +7 -0
  27. package/dist/cjs/components/memberPopup/panels/Activity/SubscribeModal.d.ts +10 -0
  28. package/dist/cjs/components/memberPopup/panels/Activity/SubscribeModal.js +2 -0
  29. package/dist/cjs/components/memberPopup/panels/Activity/SubscribeModal.js.map +7 -0
  30. package/dist/cjs/components/memberPopup/panels/Activity/hooks/useActivitySubscribe.d.ts +7 -0
  31. package/dist/cjs/components/memberPopup/panels/Activity/hooks/useActivitySubscribe.js +2 -0
  32. package/dist/cjs/components/memberPopup/panels/Activity/hooks/useActivitySubscribe.js.map +7 -0
  33. package/dist/cjs/components/memberPopup/panels/Activity/index.d.ts +7 -0
  34. package/dist/cjs/components/memberPopup/panels/Activity/index.js +2 -0
  35. package/dist/cjs/components/memberPopup/panels/Activity/index.js.map +7 -0
  36. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.d.ts +19 -0
  37. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.js +2 -0
  38. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.js.map +7 -0
  39. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.d.ts +20 -0
  40. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js +2 -0
  41. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js.map +7 -0
  42. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.d.ts +12 -0
  43. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js +2 -0
  44. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js.map +7 -0
  45. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.d.ts +17 -0
  46. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.js +2 -0
  47. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.js.map +7 -0
  48. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.d.ts +8 -0
  49. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.js +2 -0
  50. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.js.map +7 -0
  51. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/index.d.ts +7 -0
  52. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/index.js +2 -0
  53. package/dist/cjs/components/memberPopup/panels/ConsumeCredits/index.js.map +7 -0
  54. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.d.ts +8 -0
  55. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.js +2 -0
  56. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivatePanel.js.map +7 -0
  57. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivitiesSubscribePanel.d.ts +11 -0
  58. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivitiesSubscribePanel.js +2 -0
  59. package/dist/cjs/components/memberPopup/panels/EarnCredits/ActivitiesSubscribePanel.js.map +7 -0
  60. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfileModal.d.ts +10 -0
  61. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfileModal.js +2 -0
  62. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfileModal.js.map +7 -0
  63. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.d.ts +9 -0
  64. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js +2 -0
  65. package/dist/cjs/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js.map +7 -0
  66. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.d.ts +9 -0
  67. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js +2 -0
  68. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js.map +7 -0
  69. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeModal.d.ts +10 -0
  70. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeModal.js +2 -0
  71. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribeModal.js.map +7 -0
  72. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribePanel.d.ts +9 -0
  73. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribePanel.js +2 -0
  74. package/dist/cjs/components/memberPopup/panels/EarnCredits/SubscribePanel.js.map +7 -0
  75. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useActivities.d.ts +18 -0
  76. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useActivities.js +2 -0
  77. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useActivities.js.map +7 -0
  78. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.d.ts +9 -0
  79. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js +2 -0
  80. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js.map +7 -0
  81. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.d.ts +17 -0
  82. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js +2 -0
  83. package/dist/cjs/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js.map +7 -0
  84. package/dist/cjs/components/memberPopup/panels/EarnCredits/index.d.ts +13 -0
  85. package/dist/cjs/components/memberPopup/panels/EarnCredits/index.js +2 -0
  86. package/dist/cjs/components/memberPopup/panels/EarnCredits/index.js.map +7 -0
  87. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralDashboard.d.ts +13 -0
  88. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralDashboard.js +2 -0
  89. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralDashboard.js.map +7 -0
  90. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralOverview.d.ts +12 -0
  91. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralOverview.js +2 -0
  92. package/dist/cjs/components/memberPopup/panels/Referral/hooks/useReferralOverview.js.map +7 -0
  93. package/dist/cjs/components/memberPopup/panels/Referral/index.d.ts +7 -0
  94. package/dist/cjs/components/memberPopup/panels/Referral/index.js +2 -0
  95. package/dist/cjs/components/memberPopup/panels/Referral/index.js.map +7 -0
  96. package/dist/cjs/components/memberPopup/type.d.ts +228 -0
  97. package/dist/cjs/components/memberPopup/type.js +2 -0
  98. package/dist/cjs/components/memberPopup/type.js.map +7 -0
  99. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js +1 -1
  100. package/dist/esm/components/LiveChatWidget/components/MessageContent/TextBlock.js.map +3 -3
  101. package/dist/esm/components/credits/context/hooks/useCountries.js +1 -1
  102. package/dist/esm/components/credits/context/hooks/useCountries.js.map +3 -3
  103. package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +2 -2
  104. package/dist/esm/components/index.d.ts +3 -2
  105. package/dist/esm/components/index.js +1 -1
  106. package/dist/esm/components/index.js.map +2 -2
  107. package/dist/esm/components/memberPopup/MemberPopup.d.ts +9 -0
  108. package/dist/esm/components/memberPopup/MemberPopup.js +2 -0
  109. package/dist/esm/components/memberPopup/MemberPopup.js.map +7 -0
  110. package/dist/esm/components/memberPopup/context/provider.d.ts +11 -0
  111. package/dist/esm/components/memberPopup/context/provider.js +2 -0
  112. package/dist/esm/components/memberPopup/context/provider.js.map +7 -0
  113. package/dist/esm/components/memberPopup/context/viewStack.d.ts +12 -0
  114. package/dist/esm/components/memberPopup/context/viewStack.js +2 -0
  115. package/dist/esm/components/memberPopup/context/viewStack.js.map +7 -0
  116. package/dist/esm/components/memberPopup/icons.d.ts +27 -0
  117. package/dist/esm/components/memberPopup/icons.js +2 -0
  118. package/dist/esm/components/memberPopup/icons.js.map +7 -0
  119. package/dist/esm/components/memberPopup/index.d.ts +4 -0
  120. package/dist/esm/components/memberPopup/index.js +2 -0
  121. package/dist/esm/components/memberPopup/index.js.map +7 -0
  122. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.d.ts +10 -0
  123. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.js +2 -0
  124. package/dist/esm/components/memberPopup/panels/ActivitiesSubscribePanel.js.map +7 -0
  125. package/dist/esm/components/memberPopup/panels/Activity/SubscribeModal.d.ts +10 -0
  126. package/dist/esm/components/memberPopup/panels/Activity/SubscribeModal.js +2 -0
  127. package/dist/esm/components/memberPopup/panels/Activity/SubscribeModal.js.map +7 -0
  128. package/dist/esm/components/memberPopup/panels/Activity/hooks/useActivitySubscribe.d.ts +7 -0
  129. package/dist/esm/components/memberPopup/panels/Activity/hooks/useActivitySubscribe.js +2 -0
  130. package/dist/esm/components/memberPopup/panels/Activity/hooks/useActivitySubscribe.js.map +7 -0
  131. package/dist/esm/components/memberPopup/panels/Activity/index.d.ts +7 -0
  132. package/dist/esm/components/memberPopup/panels/Activity/index.js +2 -0
  133. package/dist/esm/components/memberPopup/panels/Activity/index.js.map +7 -0
  134. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.d.ts +19 -0
  135. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.js +2 -0
  136. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.js.map +7 -0
  137. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.d.ts +20 -0
  138. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js +2 -0
  139. package/dist/esm/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.js.map +7 -0
  140. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.d.ts +12 -0
  141. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js +2 -0
  142. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.js.map +7 -0
  143. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.d.ts +17 -0
  144. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.js +2 -0
  145. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.js.map +7 -0
  146. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.d.ts +8 -0
  147. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.js +2 -0
  148. package/dist/esm/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.js.map +7 -0
  149. package/dist/esm/components/memberPopup/panels/ConsumeCredits/index.d.ts +7 -0
  150. package/dist/esm/components/memberPopup/panels/ConsumeCredits/index.js +2 -0
  151. package/dist/esm/components/memberPopup/panels/ConsumeCredits/index.js.map +7 -0
  152. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.d.ts +8 -0
  153. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.js +2 -0
  154. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivatePanel.js.map +7 -0
  155. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivitiesSubscribePanel.d.ts +11 -0
  156. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivitiesSubscribePanel.js +2 -0
  157. package/dist/esm/components/memberPopup/panels/EarnCredits/ActivitiesSubscribePanel.js.map +7 -0
  158. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfileModal.d.ts +10 -0
  159. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfileModal.js +2 -0
  160. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfileModal.js.map +7 -0
  161. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.d.ts +9 -0
  162. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js +2 -0
  163. package/dist/esm/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.js.map +7 -0
  164. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.d.ts +9 -0
  165. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js +2 -0
  166. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.js.map +7 -0
  167. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeModal.d.ts +10 -0
  168. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeModal.js +2 -0
  169. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribeModal.js.map +7 -0
  170. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribePanel.d.ts +9 -0
  171. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribePanel.js +2 -0
  172. package/dist/esm/components/memberPopup/panels/EarnCredits/SubscribePanel.js.map +7 -0
  173. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useActivities.d.ts +18 -0
  174. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useActivities.js +2 -0
  175. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useActivities.js.map +7 -0
  176. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.d.ts +9 -0
  177. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js +2 -0
  178. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.js.map +7 -0
  179. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.d.ts +17 -0
  180. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js +2 -0
  181. package/dist/esm/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.js.map +7 -0
  182. package/dist/esm/components/memberPopup/panels/EarnCredits/index.d.ts +13 -0
  183. package/dist/esm/components/memberPopup/panels/EarnCredits/index.js +2 -0
  184. package/dist/esm/components/memberPopup/panels/EarnCredits/index.js.map +7 -0
  185. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralDashboard.d.ts +13 -0
  186. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralDashboard.js +2 -0
  187. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralDashboard.js.map +7 -0
  188. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralOverview.d.ts +12 -0
  189. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralOverview.js +2 -0
  190. package/dist/esm/components/memberPopup/panels/Referral/hooks/useReferralOverview.js.map +7 -0
  191. package/dist/esm/components/memberPopup/panels/Referral/index.d.ts +7 -0
  192. package/dist/esm/components/memberPopup/panels/Referral/index.js +2 -0
  193. package/dist/esm/components/memberPopup/panels/Referral/index.js.map +7 -0
  194. package/dist/esm/components/memberPopup/type.d.ts +228 -0
  195. package/dist/esm/components/memberPopup/type.js +2 -0
  196. package/dist/esm/components/memberPopup/type.js.map +7 -0
  197. package/dist/index.d.mts +1775 -0
  198. package/dist/index.d.ts +1775 -0
  199. package/dist/index.js +18542 -0
  200. package/dist/index.js.map +1 -0
  201. package/dist/index.mjs +18514 -0
  202. package/dist/index.mjs.map +1 -0
  203. package/package.json +1 -2
  204. package/src/components/LiveChatWidget/components/MessageContent/TextBlock.tsx +5 -7
  205. package/src/components/credits/context/hooks/useCountries.ts +4 -15
  206. package/src/components/credits/context/hooks/useSubscribed.ts +0 -1
  207. package/src/components/index.ts +4 -2
  208. package/src/components/memberPopup/MemberPopup.tsx +329 -0
  209. package/src/components/memberPopup/context/provider.tsx +52 -0
  210. package/src/components/memberPopup/context/viewStack.tsx +23 -0
  211. package/src/components/memberPopup/icons.tsx +147 -0
  212. package/src/components/memberPopup/index.ts +24 -0
  213. package/src/components/memberPopup/panels/ActivitiesSubscribePanel.tsx +198 -0
  214. package/src/components/memberPopup/panels/ConsumeCredits/RedeemCouponModal.tsx +150 -0
  215. package/src/components/memberPopup/panels/ConsumeCredits/RedeemCouponPanel.tsx +142 -0
  216. package/src/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemAndBuy.ts +33 -0
  217. package/src/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemCoupon.ts +38 -0
  218. package/src/components/memberPopup/panels/ConsumeCredits/hooks/useRedeemableList.ts +55 -0
  219. package/src/components/memberPopup/panels/ConsumeCredits/index.tsx +245 -0
  220. package/src/components/memberPopup/panels/EarnCredits/ActivatePanel.tsx +323 -0
  221. package/src/components/memberPopup/panels/EarnCredits/CompleteProfileModal.tsx +191 -0
  222. package/src/components/memberPopup/panels/EarnCredits/CompleteProfilePanel.tsx +184 -0
  223. package/src/components/memberPopup/panels/EarnCredits/SubscribeEmailPanel.tsx +130 -0
  224. package/src/components/memberPopup/panels/EarnCredits/hooks/useActivities.ts +64 -0
  225. package/src/components/memberPopup/panels/EarnCredits/hooks/useSubscribed.ts +32 -0
  226. package/src/components/memberPopup/panels/EarnCredits/hooks/useUpdateProfile.ts +50 -0
  227. package/src/components/memberPopup/panels/EarnCredits/index.tsx +245 -0
  228. package/src/components/memberPopup/panels/Referral/hooks/useReferralOverview.ts +41 -0
  229. package/src/components/memberPopup/panels/Referral/index.tsx +108 -0
  230. package/src/components/memberPopup/type.ts +239 -0
  231. package/tailwind.config.ts +4 -0
  232. package/dist/cjs/stories/CartCard.stories.d.ts +0 -33
  233. package/dist/cjs/stories/CartCard.stories.js +0 -21
  234. package/dist/cjs/stories/CartCard.stories.js.map +0 -7
  235. package/dist/esm/stories/CartCard.stories.d.ts +0 -33
  236. package/dist/esm/stories/CartCard.stories.js +0 -21
  237. package/dist/esm/stories/CartCard.stories.js.map +0 -7
  238. package/src/stories/CartCard.stories.tsx +0 -459
@@ -0,0 +1,228 @@
1
+ import type { AuthCodeActivateCopy } from '../registration/authCodeActivate/type';
2
+ import type { CreditInfoResponse } from '../credits/context/response';
3
+ import type { DTC_TASK_TYPE } from '../credits/context/const';
4
+ export type { AuthCodeActivateCopy };
5
+ export declare enum MemberPopupPanelType {
6
+ EarnCredits = "EARN_CREDITS",
7
+ ConsumeCredits = "CONSUME_CREDITS",
8
+ Referral = "REFERRAL",
9
+ CompleteProfile = "COMPLETE_PROFILE",
10
+ Subscribe = "SUBSCRIBE",
11
+ SubscribeEmail = "SUBSCRIBE_EMAIL",
12
+ RedeemCoupon = "REDEEM_COUPON",
13
+ Activate = "ACTIVATE"
14
+ }
15
+ export declare enum MemberPopupActionType {
16
+ ExternalLink = "EXTERNAL_LINK",
17
+ OpenEarnCredits = "OPEN_EARN_CREDITS",
18
+ OpenConsumeCredits = "OPEN_CONSUME_CREDITS",
19
+ OpenReferral = "OPEN_REFERRAL",
20
+ OpenSubscribe = "OPEN_SUBSCRIBE"
21
+ }
22
+ export declare enum EarnCreditsTaskType {
23
+ Activate = "activate",
24
+ CompleteProfile = "completeProfile",
25
+ Subscribe = "subscribe",
26
+ Shop = "shop"
27
+ }
28
+ export declare enum ConsumeCreditsItemType {
29
+ Coupon = "COUPON",
30
+ RedeemAndBuy = "REDEEM_AND_BUY",
31
+ GiftCard = "GIFT_CARD",
32
+ Product = "PRODUCT"
33
+ }
34
+ export type MemberPopupLink = {
35
+ type: MemberPopupActionType;
36
+ label: string;
37
+ url?: string;
38
+ };
39
+ export type MemberPopupItem = {
40
+ title: string;
41
+ description?: string;
42
+ links: MemberPopupLink[];
43
+ };
44
+ export declare enum MemberPopupPageScope {
45
+ /** 全局展示 */
46
+ Global = "GLOBAL",
47
+ /** 仅在特定页面展示 */
48
+ Include = "INCLUDE",
49
+ /** 在特定页面不展示 */
50
+ Exclude = "EXCLUDE"
51
+ }
52
+ export type MemberPopupPageConfig = {
53
+ scope: MemberPopupPageScope;
54
+ /** 页面路径列表,支持精确匹配和前缀匹配(如 "/products" 会匹配 "/products/xxx") */
55
+ pages: string[];
56
+ };
57
+ export type MemberPopupCopy = {
58
+ triggerImg: {
59
+ url: string;
60
+ alt?: string;
61
+ };
62
+ title?: string;
63
+ subtitle?: string;
64
+ list: MemberPopupItem[];
65
+ footer?: {
66
+ loginHint: string;
67
+ loginLabel: string;
68
+ joinLabel: string;
69
+ shopLabel: string;
70
+ shopUrl?: string;
71
+ };
72
+ activitiesSubscribe?: SubscribeModalCopy;
73
+ earnCredits?: EarnCreditsCopy;
74
+ consumeCredits?: ConsumeCreditsopy;
75
+ referral?: ReferralCopy;
76
+ /** 页面覆盖范围配置,默认全局展示 */
77
+ pageConfig?: MemberPopupPageConfig;
78
+ };
79
+ export type EarnCreditsCopy = {
80
+ title?: string;
81
+ subtitle?: string;
82
+ balanceLabel?: string;
83
+ comingSoonLabel?: string;
84
+ creditUnit?: string;
85
+ joinNow: string;
86
+ completed: string;
87
+ activate: string;
88
+ completeProfileLabel: string;
89
+ subscribeLabel: string;
90
+ shopNow: string;
91
+ goShopLink?: string;
92
+ list: {
93
+ id: EarnCreditsTaskType;
94
+ title: string;
95
+ description: string;
96
+ credits?: string;
97
+ }[];
98
+ authCodeActivate: AuthCodeActivateCopy;
99
+ completeProfile: CompleteProfileCopy;
100
+ subscribe: SubscribeModalCopy;
101
+ };
102
+ export type CompleteProfileCopy = {
103
+ title: string;
104
+ subtitle?: string;
105
+ firstName: string;
106
+ lastName: string;
107
+ email: string;
108
+ phone: string;
109
+ birthday: string;
110
+ country: string;
111
+ save: string;
112
+ cancel: string;
113
+ edit: string;
114
+ required: string;
115
+ };
116
+ export type SubscribeModalCopy = {
117
+ title: string;
118
+ desc?: string;
119
+ placeholder: string;
120
+ policy?: string;
121
+ successTips?: string;
122
+ dealsType?: string;
123
+ buttonLabel?: string;
124
+ single_brand_subscribe?: boolean;
125
+ genre?: string;
126
+ sub_brand_type?: string;
127
+ promo?: {
128
+ title?: string;
129
+ description?: string;
130
+ learnMoreLabel?: string;
131
+ learnMoreUrl?: string;
132
+ image?: {
133
+ url: string;
134
+ alt?: string;
135
+ };
136
+ };
137
+ };
138
+ export type ConsumeCreditsopy = {
139
+ title?: string;
140
+ subtitle?: string;
141
+ soldOut: string;
142
+ unlockRewards: string;
143
+ btnRedeem: string;
144
+ insufficientCredits?: string;
145
+ pointUnit?: string;
146
+ off?: string;
147
+ imageMapping?: {
148
+ [key in ConsumeCreditsItemType]?: {
149
+ url: string;
150
+ };
151
+ };
152
+ list: ConsumeCreditsItem[];
153
+ redeemModal: RedeemCouponModalCopy;
154
+ creditsPage?: {
155
+ label: string;
156
+ url: string;
157
+ };
158
+ };
159
+ export type ConsumeCreditsItem = {
160
+ redeemId: string | number;
161
+ title: string;
162
+ description?: string;
163
+ image: {
164
+ url: string;
165
+ alt?: string;
166
+ };
167
+ type: ConsumeCreditsItemType;
168
+ product?: {
169
+ handle: string;
170
+ sku: string;
171
+ };
172
+ price?: number;
173
+ value?: string;
174
+ rules?: string[];
175
+ };
176
+ export type RedeemCouponModalCopy = {
177
+ confirmTitle: string;
178
+ confirmButton: string;
179
+ commonError: string;
180
+ redeemLimitError: string;
181
+ inventoryNotEnough: string;
182
+ creditsNotEnough: string;
183
+ crossSiteError: string;
184
+ successTitle: string;
185
+ successDesc: string;
186
+ successButton: string;
187
+ successButtonUrl?: string;
188
+ };
189
+ export type ReferralCopy = {
190
+ title?: string;
191
+ description?: string;
192
+ cashAvailableLabel: string;
193
+ cashPendingLabel: string;
194
+ creditUnit?: string;
195
+ referralLinksLabel?: string;
196
+ referralLinkBaseUrl?: string;
197
+ copyLabel?: string;
198
+ copiedLabel?: string;
199
+ howToTitle?: string;
200
+ howToDescription?: string;
201
+ learnMoreLabel?: string;
202
+ learnMoreUrl?: string;
203
+ image?: {
204
+ url: string;
205
+ alt?: string;
206
+ };
207
+ ctaButton: string;
208
+ ctaUrl?: string;
209
+ loginTitle?: string;
210
+ loginDescription?: string;
211
+ loginCtaLabel?: string;
212
+ };
213
+ export type AlpcConfig = {
214
+ brand: string;
215
+ locale: string;
216
+ appName: string;
217
+ apiBaseUrl?: string;
218
+ };
219
+ export type MemberPopupContextValue = {
220
+ profile: any;
221
+ isLoadingProfile: boolean;
222
+ creditInfo?: CreditInfoResponse;
223
+ fetchCreditInfo: (userId: string) => void;
224
+ openSignUpPopup: () => void;
225
+ openSignInPopup: () => void;
226
+ taskIdToTypeMapping?: Record<string, DTC_TASK_TYPE>;
227
+ alpcConfig: AlpcConfig;
228
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";var g=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var m=(e,i)=>{for(var o in i)g(e,o,{get:i[o],enumerable:!0})},E=(e,i,o,n)=>{if(i&&typeof i=="object"||typeof i=="function")for(let t of u(i))!b.call(e,t)&&t!==o&&g(e,t,{get:()=>i[t],enumerable:!(n=C(i,t))||n.enumerable});return e};var f=e=>E(g({},"__esModule",{value:!0}),e);var L={};m(L,{ConsumeCreditsItemType:()=>c,EarnCreditsTaskType:()=>p,MemberPopupActionType:()=>a,MemberPopupPageScope:()=>d,MemberPopupPanelType:()=>l});module.exports=f(L);var l=(r=>(r.EarnCredits="EARN_CREDITS",r.ConsumeCredits="CONSUME_CREDITS",r.Referral="REFERRAL",r.CompleteProfile="COMPLETE_PROFILE",r.Subscribe="SUBSCRIBE",r.SubscribeEmail="SUBSCRIBE_EMAIL",r.RedeemCoupon="REDEEM_COUPON",r.Activate="ACTIVATE",r))(l||{}),a=(s=>(s.ExternalLink="EXTERNAL_LINK",s.OpenEarnCredits="OPEN_EARN_CREDITS",s.OpenConsumeCredits="OPEN_CONSUME_CREDITS",s.OpenReferral="OPEN_REFERRAL",s.OpenSubscribe="OPEN_SUBSCRIBE",s))(a||{}),p=(t=>(t.Activate="activate",t.CompleteProfile="completeProfile",t.Subscribe="subscribe",t.Shop="shop",t))(p||{}),c=(t=>(t.Coupon="COUPON",t.RedeemAndBuy="REDEEM_AND_BUY",t.GiftCard="GIFT_CARD",t.Product="PRODUCT",t))(c||{}),d=(n=>(n.Global="GLOBAL",n.Include="INCLUDE",n.Exclude="EXCLUDE",n))(d||{});
2
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/memberPopup/type.ts"],
4
+ "sourcesContent": ["import type { AuthCodeActivateCopy } from '../registration/authCodeActivate/type'\nimport type { CreditInfoResponse } from '../credits/context/response'\nimport type { DTC_TASK_TYPE } from '../credits/context/const'\n\nexport type { AuthCodeActivateCopy }\n\n// \u2500\u2500\u2500 \u9762\u677F\u7C7B\u578B\u679A\u4E3E \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport enum MemberPopupPanelType {\n EarnCredits = 'EARN_CREDITS',\n ConsumeCredits = 'CONSUME_CREDITS',\n Referral = 'REFERRAL',\n CompleteProfile = 'COMPLETE_PROFILE',\n Subscribe = 'SUBSCRIBE',\n SubscribeEmail = 'SUBSCRIBE_EMAIL',\n RedeemCoupon = 'REDEEM_COUPON',\n Activate = 'ACTIVATE',\n}\n\n// \u2500\u2500\u2500 item action \u7C7B\u578B\u679A\u4E3E \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport enum MemberPopupActionType {\n ExternalLink = 'EXTERNAL_LINK',\n OpenEarnCredits = 'OPEN_EARN_CREDITS',\n OpenConsumeCredits = 'OPEN_CONSUME_CREDITS',\n OpenReferral = 'OPEN_REFERRAL',\n OpenSubscribe = 'OPEN_SUBSCRIBE',\n}\n\n// \u2500\u2500\u2500 EarnCredits \u4EFB\u52A1\u7C7B\u578B\u679A\u4E3E \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport enum EarnCreditsTaskType {\n Activate = 'activate',\n CompleteProfile = 'completeProfile',\n Subscribe = 'subscribe',\n Shop = 'shop',\n}\n\n// \u2500\u2500\u2500 ConsumeCredits item \u7C7B\u578B\u679A\u4E3E \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport enum ConsumeCreditsItemType {\n Coupon = 'COUPON',\n RedeemAndBuy = 'REDEEM_AND_BUY',\n GiftCard = 'GIFT_CARD',\n Product = 'PRODUCT',\n}\n\n// \u2500\u2500\u2500 \u901A\u7528 link\uFF08\u7EDF\u4E00\u4E00\u79CD\u7C7B\u578B\uFF09 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport type MemberPopupLink = {\n type: MemberPopupActionType\n label: string\n url?: string // \u4EC5 ExternalLink \u65F6\u4F7F\u7528\n}\n\n// \u2500\u2500\u2500 list item \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport type MemberPopupItem = {\n title: string\n description?: string\n links: MemberPopupLink[]\n}\n\n// \u2500\u2500 \u4E3B\u7EC4\u4EF6 Copy \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport enum MemberPopupPageScope {\n /** \u5168\u5C40\u5C55\u793A */\n Global = 'GLOBAL',\n /** \u4EC5\u5728\u7279\u5B9A\u9875\u9762\u5C55\u793A */\n Include = 'INCLUDE',\n /** \u5728\u7279\u5B9A\u9875\u9762\u4E0D\u5C55\u793A */\n Exclude = 'EXCLUDE',\n}\n\nexport type MemberPopupPageConfig = {\n scope: MemberPopupPageScope\n /** \u9875\u9762\u8DEF\u5F84\u5217\u8868\uFF0C\u652F\u6301\u7CBE\u786E\u5339\u914D\u548C\u524D\u7F00\u5339\u914D\uFF08\u5982 \"/products\" \u4F1A\u5339\u914D \"/products/xxx\"\uFF09 */\n pages: string[]\n}\n\nexport type MemberPopupCopy = {\n triggerImg: { url: string; alt?: string }\n title?: string\n subtitle?: string\n list: MemberPopupItem[]\n footer?: {\n loginHint: string\n loginLabel: string\n joinLabel: string\n shopLabel: string\n shopUrl?: string\n }\n activitiesSubscribe?: SubscribeModalCopy\n earnCredits?: EarnCreditsCopy\n consumeCredits?: ConsumeCreditsopy\n referral?: ReferralCopy\n /** \u9875\u9762\u8986\u76D6\u8303\u56F4\u914D\u7F6E\uFF0C\u9ED8\u8BA4\u5168\u5C40\u5C55\u793A */\n pageConfig?: MemberPopupPageConfig\n}\n\n// \u2500\u2500\u2500 EarnCredits Copy \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport type EarnCreditsCopy = {\n title?: string\n subtitle?: string\n balanceLabel?: string\n comingSoonLabel?: string\n creditUnit?: string\n joinNow: string\n completed: string\n activate: string\n completeProfileLabel: string\n subscribeLabel: string\n shopNow: string\n goShopLink?: string\n list: {\n id: EarnCreditsTaskType\n title: string\n description: string\n credits?: string\n }[]\n // \u5B50\u5F39\u7A97\u6587\u6848\n authCodeActivate: AuthCodeActivateCopy\n completeProfile: CompleteProfileCopy\n subscribe: SubscribeModalCopy\n}\n\nexport type CompleteProfileCopy = {\n title: string\n subtitle?: string\n firstName: string\n lastName: string\n email: string\n phone: string\n birthday: string\n country: string\n save: string\n cancel: string\n edit: string\n required: string\n}\n\nexport type SubscribeModalCopy = {\n title: string\n desc?: string\n placeholder: string\n policy?: string\n successTips?: string\n dealsType?: string\n buttonLabel?: string\n single_brand_subscribe?: boolean\n genre?: string\n sub_brand_type?: string\n promo?: {\n title?: string\n description?: string\n learnMoreLabel?: string\n learnMoreUrl?: string\n image?: { url: string; alt?: string }\n }\n}\n\n// \u2500\u2500\u2500 ConsumeCredits Copy \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport type ConsumeCreditsopy = {\n title?: string\n subtitle?: string\n soldOut: string\n unlockRewards: string\n btnRedeem: string\n insufficientCredits?: string\n pointUnit?: string\n off?: string\n imageMapping?: {\n [key in ConsumeCreditsItemType]?: { url: string }\n }\n list: ConsumeCreditsItem[]\n redeemModal: RedeemCouponModalCopy\n creditsPage?: { label: string; url: string }\n}\n\nexport type ConsumeCreditsItem = {\n redeemId: string | number\n title: string\n description?: string\n image: { url: string; alt?: string }\n type: ConsumeCreditsItemType\n product?: { handle: string; sku: string }\n price?: number\n value?: string\n rules?: string[]\n}\n\nexport type RedeemCouponModalCopy = {\n confirmTitle: string\n confirmButton: string\n commonError: string\n redeemLimitError: string\n inventoryNotEnough: string\n creditsNotEnough: string\n crossSiteError: string\n successTitle: string\n successDesc: string\n successButton: string\n successButtonUrl?: string\n}\n\n// \u2500\u2500\u2500 Referral Copy \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport type ReferralCopy = {\n title?: string\n description?: string\n cashAvailableLabel: string\n cashPendingLabel: string\n creditUnit?: string\n referralLinksLabel?: string\n referralLinkBaseUrl?: string\n copyLabel?: string\n copiedLabel?: string\n howToTitle?: string\n howToDescription?: string\n learnMoreLabel?: string\n learnMoreUrl?: string\n image?: { url: string; alt?: string }\n ctaButton: string\n ctaUrl?: string\n loginTitle?: string\n loginDescription?: string\n loginCtaLabel?: string\n}\n\n// \u2500\u2500\u2500 Provider Context \u7C7B\u578B \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport type AlpcConfig = {\n brand: string\n locale: string\n appName: string\n apiBaseUrl?: string\n}\n\nexport type MemberPopupContextValue = {\n profile: any\n isLoadingProfile: boolean\n creditInfo?: CreditInfoResponse\n fetchCreditInfo: (userId: string) => void\n openSignUpPopup: () => void\n openSignInPopup: () => void\n taskIdToTypeMapping?: Record<string, DTC_TASK_TYPE>\n alpcConfig: AlpcConfig\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,EAAA,wBAAAC,EAAA,0BAAAC,EAAA,yBAAAC,EAAA,yBAAAC,IAAA,eAAAC,EAAAP,GAOO,IAAKM,OACVA,EAAA,YAAc,eACdA,EAAA,eAAiB,kBACjBA,EAAA,SAAW,WACXA,EAAA,gBAAkB,mBAClBA,EAAA,UAAY,YACZA,EAAA,eAAiB,kBACjBA,EAAA,aAAe,gBACfA,EAAA,SAAW,WARDA,OAAA,IAYAF,OACVA,EAAA,aAAe,gBACfA,EAAA,gBAAkB,oBAClBA,EAAA,mBAAqB,uBACrBA,EAAA,aAAe,gBACfA,EAAA,cAAgB,iBALNA,OAAA,IASAD,OACVA,EAAA,SAAW,WACXA,EAAA,gBAAkB,kBAClBA,EAAA,UAAY,YACZA,EAAA,KAAO,OAJGA,OAAA,IAQAD,OACVA,EAAA,OAAS,SACTA,EAAA,aAAe,iBACfA,EAAA,SAAW,YACXA,EAAA,QAAU,UAJAA,OAAA,IAsBAG,OAEVA,EAAA,OAAS,SAETA,EAAA,QAAU,UAEVA,EAAA,QAAU,UANAA,OAAA",
6
+ "names": ["type_exports", "__export", "ConsumeCreditsItemType", "EarnCreditsTaskType", "MemberPopupActionType", "MemberPopupPageScope", "MemberPopupPanelType", "__toCommonJS"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import d from"react-markdown";import n from"remark-gfm";const y={render:(s,a,m)=>{const r=s;return r.text?t("div",{className:"livechat-markdown text-base md:text-sm",children:t(d,{remarkPlugins:[n],components:{a:({node:o,...e})=>t("a",{...e,className:`underline ${a?"text-blue-200 hover:text-blue-100":"text-blue-600 hover:text-blue-700"}`,target:"_blank",rel:"noopener noreferrer"}),code:({node:o,className:e,...l})=>/language-/.test(e||"")?t("code",{...l,className:`block overflow-x-auto rounded px-3 py-2 font-mono text-xs ${a?"livechat-code-user bg-[#004A6E] text-white":"bg-gray-200 text-gray-800"}`}):t("code",{...l,className:`rounded px-1.5 py-0.5 font-mono text-xs ${a?"livechat-code-user bg-[#004A6E] text-white":"bg-gray-200 text-gray-800"}`}),p:({node:o,...e})=>t("p",{...e,className:"last:mb-0"}),ul:({node:o,...e})=>t("ul",{...e,className:"ml-4 list-disc"}),ol:({node:o,...e})=>t("ol",{...e,className:"mb-2 ml-4 list-decimal"}),li:({node:o,...e})=>t("li",{...e,className:"mb-1"}),h1:({node:o,...e})=>t("h1",{...e,className:"mb-2 font-bold"}),h2:({node:o,...e})=>t("h2",{...e,className:"mb-2 font-bold"}),h3:({node:o,...e})=>t("h3",{...e,className:"mb-1 font-bold"}),strong:({node:o,...e})=>t("strong",{...e,className:"font-bold"}),em:({node:o,...e})=>t("em",{...e,className:"italic"}),table:({node:o,...e})=>t("div",{className:"my-2 overflow-x-auto",children:t("table",{...e,className:"min-w-full border-collapse border border-gray-300 text-base md:text-sm"})}),thead:({node:o,...e})=>t("thead",{...e,className:"bg-gray-100"}),tbody:({node:o,...e})=>t("tbody",{...e}),tr:({node:o,...e})=>t("tr",{...e,className:"border-b border-gray-300"}),th:({node:o,...e})=>t("th",{...e,className:"border border-gray-300 px-3 py-2 text-left font-semibold"}),td:({node:o,...e})=>t("td",{...e,className:"border border-gray-300 px-3 py-2"})},children:r.text})}):null}};export{y as TextBlock};
1
+ import{jsx as t}from"react/jsx-runtime";import d from"react-markdown";import n from"remark-gfm";const i={render:(l,a,s)=>{const r=l;return r.text?t("div",{className:"livechat-markdown text-base md:text-sm",children:t(d,{remarkPlugins:[n],components:{a:({node:o,...e})=>t("a",{...e,className:`underline ${a?"text-blue-200 hover:text-blue-100":"text-blue-600 hover:text-blue-700"}`,target:"_blank",rel:"noopener noreferrer"}),code:({node:o,...e})=>e.inline?t("code",{...e,className:`rounded px-1.5 py-0.5 font-mono text-xs ${a?"livechat-code-user bg-[#004A6E] text-white":"bg-gray-200 text-gray-800"}`}):t("code",{...e,className:`block overflow-x-auto rounded px-3 py-2 font-mono text-xs ${a?"livechat-code-user bg-[#004A6E] text-white":"bg-gray-200 text-gray-800"}`}),p:({node:o,...e})=>t("p",{...e,className:"last:mb-0"}),ul:({node:o,...e})=>t("ul",{...e,className:"ml-4 list-disc"}),ol:({node:o,...e})=>t("ol",{...e,className:"mb-2 ml-4 list-decimal"}),li:({node:o,...e})=>t("li",{...e,className:"mb-1"}),h1:({node:o,...e})=>t("h1",{...e,className:"mb-2 font-bold"}),h2:({node:o,...e})=>t("h2",{...e,className:"mb-2 font-bold"}),h3:({node:o,...e})=>t("h3",{...e,className:"mb-1 font-bold"}),strong:({node:o,...e})=>t("strong",{...e,className:"font-bold"}),em:({node:o,...e})=>t("em",{...e,className:"italic"}),table:({node:o,...e})=>t("div",{className:"my-2 overflow-x-auto",children:t("table",{...e,className:"min-w-full border-collapse border border-gray-300 text-base md:text-sm"})}),thead:({node:o,...e})=>t("thead",{...e,className:"bg-gray-100"}),tbody:({node:o,...e})=>t("tbody",{...e}),tr:({node:o,...e})=>t("tr",{...e,className:"border-b border-gray-300"}),th:({node:o,...e})=>t("th",{...e,className:"border border-gray-300 px-3 py-2 text-left font-semibold"}),td:({node:o,...e})=>t("td",{...e,className:"border border-gray-300 px-3 py-2"})},children:r.text})}):null}};export{i as TextBlock};
2
2
  //# sourceMappingURL=TextBlock.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/LiveChatWidget/components/MessageContent/TextBlock.tsx"],
4
- "sourcesContent": ["/**\n * \u6587\u672C\u6D88\u606F\u5185\u5BB9\u6E32\u67D3\u5668\n * \u652F\u6301 Markdown \u683C\u5F0F\n * \u57FA\u4E8E specs/livechat-widget/plan.md \u7684\u6587\u672C\u6D88\u606F\u8BBE\u8BA1\n */\n\nimport React from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport type { MessageRenderer, TextContent } from '../../types'\n\n/**\n * \u6587\u672C\u6D88\u606F\u6E32\u67D3\u5668\n *\n * \u529F\u80FD\uFF1A\n * - \u652F\u6301 Markdown \u8BED\u6CD5\uFF08\u7C97\u4F53\u3001\u659C\u4F53\u3001\u94FE\u63A5\u3001\u5217\u8868\u7B49\uFF09\n * - \u5B89\u5168\u6E32\u67D3\uFF08React Markdown \u81EA\u52A8\u9632\u62A4 XSS\uFF09\n * - \u54CD\u5E94\u5F0F\u6587\u672C\u6837\u5F0F\n *\n * Markdown \u652F\u6301\uFF1A\n * - \u7C97\u4F53\uFF1A**text** \u6216 __text__\n * - \u659C\u4F53\uFF1A*text* \u6216 _text_\n * - \u94FE\u63A5\uFF1A[text](url)\n * - \u5217\u8868\uFF1A- item \u6216 1. item\n * - \u4EE3\u7801\uFF1A`code` \u6216 ```code block```\n *\n * @example\n * ```tsx\n * const content: TextContent = {\n * type: 'text',\n * text: '\u60A8\u597D\uFF01**\u8FD9\u662F\u7C97\u4F53**\uFF0C*\u8FD9\u662F\u659C\u4F53*\u3002'\n * }\n * <TextBlock.render(content, false, false) />\n * ```\n */\nexport const TextBlock: MessageRenderer = {\n render: (content, isUser, isSystem) => {\n const textContent = content as TextContent\n\n if (!textContent.text) {\n return null\n }\n\n return (\n <div className=\"livechat-markdown text-base md:text-sm\">\n <ReactMarkdown\n remarkPlugins={[remarkGfm]}\n components={{\n // \u81EA\u5B9A\u4E49\u94FE\u63A5\u6837\u5F0F\n a: ({ node, ...props }) => (\n <a\n {...props}\n className={`underline ${isUser ? 'text-blue-200 hover:text-blue-100' : 'text-blue-600 hover:text-blue-700'}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n ),\n // \u81EA\u5B9A\u4E49\u4EE3\u7801\u5757\u6837\u5F0F\n code: ({ node, className, ...props }: any) => {\n const isBlock = /language-/.test(className || '')\n return isBlock ? (\n <code\n {...props}\n className={`block overflow-x-auto rounded px-3 py-2 font-mono text-xs ${isUser ? 'livechat-code-user bg-[#004A6E] text-white' : 'bg-gray-200 text-gray-800'}`}\n />\n ) : (\n <code\n {...props}\n className={`rounded px-1.5 py-0.5 font-mono text-xs ${isUser ? 'livechat-code-user bg-[#004A6E] text-white' : 'bg-gray-200 text-gray-800'}`}\n />\n )\n },\n // \u81EA\u5B9A\u4E49\u6BB5\u843D\u6837\u5F0F\n p: ({ node, ...props }) => <p {...props} className=\"last:mb-0\" />,\n // \u81EA\u5B9A\u4E49\u5217\u8868\u6837\u5F0F\n ul: ({ node, ...props }) => <ul {...props} className=\"ml-4 list-disc\" />,\n ol: ({ node, ...props }) => <ol {...props} className=\"mb-2 ml-4 list-decimal\" />,\n li: ({ node, ...props }) => <li {...props} className=\"mb-1\" />,\n // \u81EA\u5B9A\u4E49\u6807\u9898\u6837\u5F0F\n h1: ({ node, ...props }) => <h1 {...props} className=\"mb-2 font-bold\" />,\n h2: ({ node, ...props }) => <h2 {...props} className=\"mb-2 font-bold\" />,\n h3: ({ node, ...props }) => <h3 {...props} className=\"mb-1 font-bold\" />,\n // \u81EA\u5B9A\u4E49\u5F3A\u8C03\u6837\u5F0F\n strong: ({ node, ...props }) => <strong {...props} className=\"font-bold\" />,\n em: ({ node, ...props }) => <em {...props} className=\"italic\" />,\n // \u8868\u683C\u6837\u5F0F\n table: ({ node, ...props }) => (\n <div className=\"my-2 overflow-x-auto\">\n <table {...props} className=\"min-w-full border-collapse border border-gray-300 text-base md:text-sm\" />\n </div>\n ),\n thead: ({ node, ...props }) => (\n <thead {...props} className=\"bg-gray-100\" />\n ),\n tbody: ({ node, ...props }) => <tbody {...props} />,\n tr: ({ node, ...props }) => (\n <tr {...props} className=\"border-b border-gray-300\" />\n ),\n th: ({ node, ...props }) => (\n <th {...props} className=\"border border-gray-300 px-3 py-2 text-left font-semibold\" />\n ),\n td: ({ node, ...props }) => (\n <td {...props} className=\"border border-gray-300 px-3 py-2\" />\n ),\n }}\n >\n {textContent.text}\n </ReactMarkdown>\n </div>\n )\n },\n}\n"],
5
- "mappings": "AAkDc,cAAAA,MAAA,oBA3Cd,OAAOC,MAAmB,iBAC1B,OAAOC,MAAe,aA2Bf,MAAMC,EAA6B,CACxC,OAAQ,CAACC,EAASC,EAAQC,IAAa,CACrC,MAAMC,EAAcH,EAEpB,OAAKG,EAAY,KAKfP,EAAC,OAAI,UAAU,yCACb,SAAAA,EAACC,EAAA,CACC,cAAe,CAACC,CAAS,EACzB,WAAY,CAEV,EAAG,CAAC,CAAE,KAAAM,EAAM,GAAGC,CAAM,IACnBT,EAAC,KACE,GAAGS,EACJ,UAAW,aAAaJ,EAAS,oCAAsC,mCAAmC,GAC1G,OAAO,SACP,IAAI,sBACN,EAGF,KAAM,CAAC,CAAE,KAAAG,EAAM,UAAAE,EAAW,GAAGD,CAAM,IACjB,YAAY,KAAKC,GAAa,EAAE,EAE9CV,EAAC,QACE,GAAGS,EACJ,UAAW,6DAA6DJ,EAAS,6CAA+C,2BAA2B,GAC7J,EAEAL,EAAC,QACE,GAAGS,EACJ,UAAW,2CAA2CJ,EAAS,6CAA+C,2BAA2B,GAC3I,EAIJ,EAAG,CAAC,CAAE,KAAAG,EAAM,GAAGC,CAAM,IAAMT,EAAC,KAAG,GAAGS,EAAO,UAAU,YAAY,EAE/D,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EACtE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,yBAAyB,EAC9E,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,OAAO,EAE5D,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EACtE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EACtE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EAEtE,OAAQ,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,UAAQ,GAAGS,EAAO,UAAU,YAAY,EACzE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,SAAS,EAE9D,MAAO,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACvBT,EAAC,OAAI,UAAU,uBACb,SAAAA,EAAC,SAAO,GAAGS,EAAO,UAAU,yEAAyE,EACvG,EAEF,MAAO,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACvBT,EAAC,SAAO,GAAGS,EAAO,UAAU,cAAc,EAE5C,MAAO,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,SAAO,GAAGS,EAAO,EACjD,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACpBT,EAAC,MAAI,GAAGS,EAAO,UAAU,2BAA2B,EAEtD,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACpBT,EAAC,MAAI,GAAGS,EAAO,UAAU,2DAA2D,EAEtF,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACpBT,EAAC,MAAI,GAAGS,EAAO,UAAU,mCAAmC,CAEhE,EAEC,SAAAF,EAAY,KACf,EACF,EApEO,IAsEX,CACF",
6
- "names": ["jsx", "ReactMarkdown", "remarkGfm", "TextBlock", "content", "isUser", "isSystem", "textContent", "node", "props", "className"]
4
+ "sourcesContent": ["/**\n * \u6587\u672C\u6D88\u606F\u5185\u5BB9\u6E32\u67D3\u5668\n * \u652F\u6301 Markdown \u683C\u5F0F\n * \u57FA\u4E8E specs/livechat-widget/plan.md \u7684\u6587\u672C\u6D88\u606F\u8BBE\u8BA1\n */\n\nimport React from 'react'\nimport ReactMarkdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport type { MessageRenderer, TextContent } from '../../types'\n\n/**\n * \u6587\u672C\u6D88\u606F\u6E32\u67D3\u5668\n *\n * \u529F\u80FD\uFF1A\n * - \u652F\u6301 Markdown \u8BED\u6CD5\uFF08\u7C97\u4F53\u3001\u659C\u4F53\u3001\u94FE\u63A5\u3001\u5217\u8868\u7B49\uFF09\n * - \u5B89\u5168\u6E32\u67D3\uFF08React Markdown \u81EA\u52A8\u9632\u62A4 XSS\uFF09\n * - \u54CD\u5E94\u5F0F\u6587\u672C\u6837\u5F0F\n *\n * Markdown \u652F\u6301\uFF1A\n * - \u7C97\u4F53\uFF1A**text** \u6216 __text__\n * - \u659C\u4F53\uFF1A*text* \u6216 _text_\n * - \u94FE\u63A5\uFF1A[text](url)\n * - \u5217\u8868\uFF1A- item \u6216 1. item\n * - \u4EE3\u7801\uFF1A`code` \u6216 ```code block```\n *\n * @example\n * ```tsx\n * const content: TextContent = {\n * type: 'text',\n * text: '\u60A8\u597D\uFF01**\u8FD9\u662F\u7C97\u4F53**\uFF0C*\u8FD9\u662F\u659C\u4F53*\u3002'\n * }\n * <TextBlock.render(content, false, false) />\n * ```\n */\nexport const TextBlock: MessageRenderer = {\n render: (content, isUser, isSystem) => {\n const textContent = content as TextContent\n\n if (!textContent.text) {\n return null\n }\n\n return (\n <div className=\"livechat-markdown text-base md:text-sm\">\n <ReactMarkdown\n remarkPlugins={[remarkGfm]}\n components={{\n // \u81EA\u5B9A\u4E49\u94FE\u63A5\u6837\u5F0F\n a: ({ node, ...props }) => (\n <a\n {...props}\n className={`underline ${isUser ? 'text-blue-200 hover:text-blue-100' : 'text-blue-600 hover:text-blue-700'}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n />\n ),\n // \u81EA\u5B9A\u4E49\u4EE3\u7801\u5757\u6837\u5F0F\n code: ({ node, ...props }: any) =>\n props.inline ? (\n <code\n {...props}\n className={`rounded px-1.5 py-0.5 font-mono text-xs ${isUser ? 'livechat-code-user bg-[#004A6E] text-white' : 'bg-gray-200 text-gray-800'}`}\n />\n ) : (\n <code\n {...props}\n className={`block overflow-x-auto rounded px-3 py-2 font-mono text-xs ${isUser ? 'livechat-code-user bg-[#004A6E] text-white' : 'bg-gray-200 text-gray-800'}`}\n />\n ),\n // \u81EA\u5B9A\u4E49\u6BB5\u843D\u6837\u5F0F\n p: ({ node, ...props }) => <p {...props} className=\"last:mb-0\" />,\n // \u81EA\u5B9A\u4E49\u5217\u8868\u6837\u5F0F\n ul: ({ node, ...props }) => <ul {...props} className=\"ml-4 list-disc\" />,\n ol: ({ node, ...props }) => <ol {...props} className=\"mb-2 ml-4 list-decimal\" />,\n li: ({ node, ...props }) => <li {...props} className=\"mb-1\" />,\n // \u81EA\u5B9A\u4E49\u6807\u9898\u6837\u5F0F\n h1: ({ node, ...props }) => <h1 {...props} className=\"mb-2 font-bold\" />,\n h2: ({ node, ...props }) => <h2 {...props} className=\"mb-2 font-bold\" />,\n h3: ({ node, ...props }) => <h3 {...props} className=\"mb-1 font-bold\" />,\n // \u81EA\u5B9A\u4E49\u5F3A\u8C03\u6837\u5F0F\n strong: ({ node, ...props }) => <strong {...props} className=\"font-bold\" />,\n em: ({ node, ...props }) => <em {...props} className=\"italic\" />,\n // \u8868\u683C\u6837\u5F0F\n table: ({ node, ...props }) => (\n <div className=\"my-2 overflow-x-auto\">\n <table {...props} className=\"min-w-full border-collapse border border-gray-300 text-base md:text-sm\" />\n </div>\n ),\n thead: ({ node, ...props }) => (\n <thead {...props} className=\"bg-gray-100\" />\n ),\n tbody: ({ node, ...props }) => <tbody {...props} />,\n tr: ({ node, ...props }) => (\n <tr {...props} className=\"border-b border-gray-300\" />\n ),\n th: ({ node, ...props }) => (\n <th {...props} className=\"border border-gray-300 px-3 py-2 text-left font-semibold\" />\n ),\n td: ({ node, ...props }) => (\n <td {...props} className=\"border border-gray-300 px-3 py-2\" />\n ),\n }}\n >\n {textContent.text}\n </ReactMarkdown>\n </div>\n )\n },\n}\n"],
5
+ "mappings": "AAkDc,cAAAA,MAAA,oBA3Cd,OAAOC,MAAmB,iBAC1B,OAAOC,MAAe,aA2Bf,MAAMC,EAA6B,CACxC,OAAQ,CAACC,EAASC,EAAQC,IAAa,CACrC,MAAMC,EAAcH,EAEpB,OAAKG,EAAY,KAKfP,EAAC,OAAI,UAAU,yCACb,SAAAA,EAACC,EAAA,CACC,cAAe,CAACC,CAAS,EACzB,WAAY,CAEV,EAAG,CAAC,CAAE,KAAAM,EAAM,GAAGC,CAAM,IACnBT,EAAC,KACE,GAAGS,EACJ,UAAW,aAAaJ,EAAS,oCAAsC,mCAAmC,GAC1G,OAAO,SACP,IAAI,sBACN,EAGF,KAAM,CAAC,CAAE,KAAAG,EAAM,GAAGC,CAAM,IACtBA,EAAM,OACJT,EAAC,QACE,GAAGS,EACJ,UAAW,2CAA2CJ,EAAS,6CAA+C,2BAA2B,GAC3I,EAEAL,EAAC,QACE,GAAGS,EACJ,UAAW,6DAA6DJ,EAAS,6CAA+C,2BAA2B,GAC7J,EAGJ,EAAG,CAAC,CAAE,KAAAG,EAAM,GAAGC,CAAM,IAAMT,EAAC,KAAG,GAAGS,EAAO,UAAU,YAAY,EAE/D,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EACtE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,yBAAyB,EAC9E,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,OAAO,EAE5D,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EACtE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EACtE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,iBAAiB,EAEtE,OAAQ,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,UAAQ,GAAGS,EAAO,UAAU,YAAY,EACzE,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,MAAI,GAAGS,EAAO,UAAU,SAAS,EAE9D,MAAO,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACvBT,EAAC,OAAI,UAAU,uBACb,SAAAA,EAAC,SAAO,GAAGS,EAAO,UAAU,yEAAyE,EACvG,EAEF,MAAO,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACvBT,EAAC,SAAO,GAAGS,EAAO,UAAU,cAAc,EAE5C,MAAO,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IAAMT,EAAC,SAAO,GAAGS,EAAO,EACjD,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACpBT,EAAC,MAAI,GAAGS,EAAO,UAAU,2BAA2B,EAEtD,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACpBT,EAAC,MAAI,GAAGS,EAAO,UAAU,2DAA2D,EAEtF,GAAI,CAAC,CAAE,KAAAD,EAAM,GAAGC,CAAM,IACpBT,EAAC,MAAI,GAAGS,EAAO,UAAU,mCAAmC,CAEhE,EAEC,SAAAF,EAAY,KACf,EACF,EAlEO,IAoEX,CACF",
6
+ "names": ["jsx", "ReactMarkdown", "remarkGfm", "TextBlock", "content", "isUser", "isSystem", "textContent", "node", "props"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{useEffect as l,useState as p}from"react";import{useHeadlessContext as d}from"@anker-in/lib";function g({shopifyStoreDomain:u}){const{locale:t=""}=d(),[h,n]=p(!1),[f,i]=p([]);return l(()=>{(async()=>{n(!0);try{const a=await(await fetch(`/api/multipass/rainbowbridge/uc/shop/shipping_zones?shop=${u}`,{headers:{"current-language":t}})).json();let e=[];const c=new Set;(a?.data?.data||a?.data||[]).forEach(s=>{s.countries.forEach(o=>{c.has(o.code)||(c.add(o.code),e.push(o))})}),e=e.sort((s,o)=>s.code.localeCompare(o.code)),console.log("fetch shipsToCountries",e),i(e)}catch(r){i([]),console.error(r)}finally{n(!1)}})()},[t]),{isLoading:h,countries:f}}var E=g;export{E as default};
1
+ import{useEffect as p,useState as r}from"react";import{useHeadlessContext as f}from"@anker-in/lib";function l({shopifyStoreDomain:h}){const{locale:t=""}=f(),[i,o]=r(!1),[a,s]=r([]);return p(()=>{(async()=>{o(!0);try{let e=(await(await fetch("/api/multipass/account/countries",{headers:{"current-language":t}})).json())?.data?.data||[];e=e.sort((c,u)=>c.name.localeCompare(u.name)),console.log("fetch shipsToCountries",e),s(e)}catch(n){s([]),console.error(n)}finally{o(!1)}})()},[t]),{isLoading:i,countries:a}}var S=l;export{S as default};
2
2
  //# sourceMappingURL=useCountries.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/credits/context/hooks/useCountries.ts"],
4
- "sourcesContent": ["import { useEffect, useState } from 'react'\n\nimport { useHeadlessContext } from '@anker-in/lib'\nimport { type ShippingCountry, type ShippingZone } from '../../type'\n\nfunction useCountries({ shopifyStoreDomain }: { shopifyStoreDomain: string }) {\n const { locale = '' } = useHeadlessContext()\n\n const [isLoading, setLoading] = useState(false)\n const [countries, setCountries] = useState<ShippingCountry[]>([])\n\n useEffect(() => {\n const fetchCountries = async () => {\n setLoading(true)\n try {\n const response = await fetch(`/api/multipass/rainbowbridge/uc/shop/shipping_zones?shop=${shopifyStoreDomain}`, {\n headers: {\n 'current-language': locale,\n },\n })\n const res: any = await response.json()\n\n // \u56FD\u5BB6\u8FC7\u6EE4\n let shipsToCountries: ShippingCountry[] = []\n const countrySet = new Set()\n const shippingZones = res?.data?.data || res?.data || []\n shippingZones.forEach((shippingZoneItem: ShippingZone) => {\n shippingZoneItem.countries.forEach(shippingZoneCountryItem => {\n if (!countrySet.has(shippingZoneCountryItem.code)) {\n countrySet.add(shippingZoneCountryItem.code)\n shipsToCountries.push(shippingZoneCountryItem)\n }\n })\n })\n\n // \u5B57\u6BCD\u987A\u5E8F\u6392\u5E8F\n shipsToCountries = shipsToCountries.sort((a, b) => {\n return a.code.localeCompare(b.code)\n })\n\n console.log('fetch shipsToCountries', shipsToCountries)\n setCountries(shipsToCountries)\n } catch (e) {\n setCountries([])\n console.error(e)\n } finally {\n setLoading(false)\n }\n }\n\n fetchCountries()\n }, [locale])\n\n return {\n isLoading,\n countries,\n }\n}\n\nexport default useCountries\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,EAAW,YAAAC,MAAgB,QAEpC,OAAS,sBAAAC,MAA0B,gBAGnC,SAASC,EAAa,CAAE,mBAAAC,CAAmB,EAAmC,CAC5E,KAAM,CAAE,OAAAC,EAAS,EAAG,EAAIH,EAAmB,EAErC,CAACI,EAAWC,CAAU,EAAIN,EAAS,EAAK,EACxC,CAACO,EAAWC,CAAY,EAAIR,EAA4B,CAAC,CAAC,EAEhE,OAAAD,EAAU,IAAM,EACS,SAAY,CACjCO,EAAW,EAAI,EACf,GAAI,CAMF,MAAMG,EAAW,MALA,MAAM,MAAM,4DAA4DN,CAAkB,GAAI,CAC7G,QAAS,CACP,mBAAoBC,CACtB,CACF,CAAC,GAC+B,KAAK,EAGrC,IAAIM,EAAsC,CAAC,EAC3C,MAAMC,EAAa,IAAI,KACDF,GAAK,MAAM,MAAQA,GAAK,MAAQ,CAAC,GACzC,QAASG,GAAmC,CACxDA,EAAiB,UAAU,QAAQC,GAA2B,CACvDF,EAAW,IAAIE,EAAwB,IAAI,IAC9CF,EAAW,IAAIE,EAAwB,IAAI,EAC3CH,EAAiB,KAAKG,CAAuB,EAEjD,CAAC,CACH,CAAC,EAGDH,EAAmBA,EAAiB,KAAK,CAACI,EAAGC,IACpCD,EAAE,KAAK,cAAcC,EAAE,IAAI,CACnC,EAED,QAAQ,IAAI,yBAA0BL,CAAgB,EACtDF,EAAaE,CAAgB,CAC/B,OAASM,EAAG,CACVR,EAAa,CAAC,CAAC,EACf,QAAQ,MAAMQ,CAAC,CACjB,QAAE,CACAV,EAAW,EAAK,CAClB,CACF,GAEe,CACjB,EAAG,CAACF,CAAM,CAAC,EAEJ,CACL,UAAAC,EACA,UAAAE,CACF,CACF,CAEA,IAAOU,EAAQf",
6
- "names": ["useEffect", "useState", "useHeadlessContext", "useCountries", "shopifyStoreDomain", "locale", "isLoading", "setLoading", "countries", "setCountries", "res", "shipsToCountries", "countrySet", "shippingZoneItem", "shippingZoneCountryItem", "a", "b", "e", "useCountries_default"]
4
+ "sourcesContent": ["import { useEffect, useState } from 'react'\n\nimport { useHeadlessContext } from '@anker-in/lib'\nimport { type ShippingCountry } from '../../type'\n\nfunction useCountries({ shopifyStoreDomain }: { shopifyStoreDomain: string }) {\n const { locale = '' } = useHeadlessContext()\n\n const [isLoading, setLoading] = useState(false)\n const [countries, setCountries] = useState<ShippingCountry[]>([])\n\n useEffect(() => {\n const fetchCountries = async () => {\n setLoading(true)\n try {\n const response = await fetch('/api/multipass/account/countries', {\n headers: {\n 'current-language': locale,\n },\n })\n const res: any = await response.json()\n\n let shipsToCountries: ShippingCountry[] = res?.data?.data || []\n\n // \u5B57\u6BCD\u987A\u5E8F\u6392\u5E8F\n shipsToCountries = shipsToCountries.sort((a, b) => {\n return a.name.localeCompare(b.name)\n })\n\n console.log('fetch shipsToCountries', shipsToCountries)\n setCountries(shipsToCountries)\n } catch (e) {\n setCountries([])\n console.error(e)\n } finally {\n setLoading(false)\n }\n }\n\n fetchCountries()\n }, [locale])\n\n return {\n isLoading,\n countries,\n }\n}\n\nexport default useCountries\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,EAAW,YAAAC,MAAgB,QAEpC,OAAS,sBAAAC,MAA0B,gBAGnC,SAASC,EAAa,CAAE,mBAAAC,CAAmB,EAAmC,CAC5E,KAAM,CAAE,OAAAC,EAAS,EAAG,EAAIH,EAAmB,EAErC,CAACI,EAAWC,CAAU,EAAIN,EAAS,EAAK,EACxC,CAACO,EAAWC,CAAY,EAAIR,EAA4B,CAAC,CAAC,EAEhE,OAAAD,EAAU,IAAM,EACS,SAAY,CACjCO,EAAW,EAAI,EACf,GAAI,CAQF,IAAIG,GAFa,MALA,MAAM,MAAM,mCAAoC,CAC/D,QAAS,CACP,mBAAoBL,CACtB,CACF,CAAC,GAC+B,KAAK,IAEU,MAAM,MAAQ,CAAC,EAG9DK,EAAmBA,EAAiB,KAAK,CAACC,EAAGC,IACpCD,EAAE,KAAK,cAAcC,EAAE,IAAI,CACnC,EAED,QAAQ,IAAI,yBAA0BF,CAAgB,EACtDD,EAAaC,CAAgB,CAC/B,OAASG,EAAG,CACVJ,EAAa,CAAC,CAAC,EACf,QAAQ,MAAMI,CAAC,CACjB,QAAE,CACAN,EAAW,EAAK,CAClB,CACF,GAEe,CACjB,EAAG,CAACF,CAAM,CAAC,EAEJ,CACL,UAAAC,EACA,UAAAE,CACF,CACF,CAEA,IAAOM,EAAQX",
6
+ "names": ["useEffect", "useState", "useHeadlessContext", "useCountries", "shopifyStoreDomain", "locale", "isLoading", "setLoading", "countries", "setCountries", "shipsToCountries", "a", "b", "e", "useCountries_default"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/components/credits/context/hooks/useSubscribed.ts"],
4
- "sourcesContent": ["import { useMemo } from 'react'\n\nimport { TaskSubType } from '../const'\nimport useActivities from './useActivities'\nimport { useCreditsContext } from '../provider'\nimport { useHeadlessContext, useSubscriptions } from '@anker-in/lib'\n\nexport const useSubscribed = () => {\n const { profile } = useCreditsContext()\n const { brand } = useHeadlessContext()\n\n const activitiesOptions = useMemo(() => ({ page: 1, pageSize: 50 }), [])\n\n const { activities } = useActivities(activitiesOptions)\n const { data: subscription } = useSubscriptions({ email: profile?.email })\n //@ts-ignore\n const subscriptionData = subscription?.data || subscription\n\n const isSubscribed = useMemo(() => {\n if (!subscriptionData?.preference) {\n return false\n }\n\n const subscribeResult = subscriptionData.preference.some((item: any) => {\n return item.brand === brand && item.subscribe\n })\n\n if (subscribeResult) {\n return true\n }\n\n return activities?.some(item => {\n return item.task_sub_type === TaskSubType.Subscription\n })\n }, [subscriptionData?.preference, activities])\n\n return isSubscribed\n}\n"],
5
- "mappings": "AAAA,OAAS,WAAAA,MAAe,QAExB,OAAS,eAAAC,MAAmB,WAC5B,OAAOC,MAAmB,kBAC1B,OAAS,qBAAAC,MAAyB,cAClC,OAAS,sBAAAC,EAAoB,oBAAAC,MAAwB,gBAE9C,MAAMC,EAAgB,IAAM,CACjC,KAAM,CAAE,QAAAC,CAAQ,EAAIJ,EAAkB,EAChC,CAAE,MAAAK,CAAM,EAAIJ,EAAmB,EAE/BK,EAAoBT,EAAQ,KAAO,CAAE,KAAM,EAAG,SAAU,EAAG,GAAI,CAAC,CAAC,EAEjE,CAAE,WAAAU,CAAW,EAAIR,EAAcO,CAAiB,EAChD,CAAE,KAAME,CAAa,EAAIN,EAAiB,CAAE,MAAOE,GAAS,KAAM,CAAC,EAEnEK,EAAmBD,GAAc,MAAQA,EAoB/C,OAlBqBX,EAAQ,IACtBY,GAAkB,WAICA,EAAiB,WAAW,KAAMC,GACjDA,EAAK,QAAUL,GAASK,EAAK,SACrC,EAGQ,GAGFH,GAAY,KAAKG,GACfA,EAAK,gBAAkBZ,EAAY,YAC3C,EAbQ,GAcR,CAACW,GAAkB,WAAYF,CAAU,CAAC,CAG/C",
4
+ "sourcesContent": ["import { useMemo } from 'react'\n\nimport { TaskSubType } from '../const'\nimport useActivities from './useActivities'\nimport { useCreditsContext } from '../provider'\nimport { useHeadlessContext, useSubscriptions } from '@anker-in/lib'\n\nexport const useSubscribed = () => {\n const { profile } = useCreditsContext()\n const { brand } = useHeadlessContext()\n\n const activitiesOptions = useMemo(() => ({ page: 1, pageSize: 50 }), [])\n\n const { activities } = useActivities(activitiesOptions)\n const { data: subscription } = useSubscriptions({ email: profile?.email })\n const subscriptionData = subscription?.data || subscription\n\n const isSubscribed = useMemo(() => {\n if (!subscriptionData?.preference) {\n return false\n }\n\n const subscribeResult = subscriptionData.preference.some((item: any) => {\n return item.brand === brand && item.subscribe\n })\n\n if (subscribeResult) {\n return true\n }\n\n return activities?.some(item => {\n return item.task_sub_type === TaskSubType.Subscription\n })\n }, [subscriptionData?.preference, activities])\n\n return isSubscribed\n}\n"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe,QAExB,OAAS,eAAAC,MAAmB,WAC5B,OAAOC,MAAmB,kBAC1B,OAAS,qBAAAC,MAAyB,cAClC,OAAS,sBAAAC,EAAoB,oBAAAC,MAAwB,gBAE9C,MAAMC,EAAgB,IAAM,CACjC,KAAM,CAAE,QAAAC,CAAQ,EAAIJ,EAAkB,EAChC,CAAE,MAAAK,CAAM,EAAIJ,EAAmB,EAE/BK,EAAoBT,EAAQ,KAAO,CAAE,KAAM,EAAG,SAAU,EAAG,GAAI,CAAC,CAAC,EAEjE,CAAE,WAAAU,CAAW,EAAIR,EAAcO,CAAiB,EAChD,CAAE,KAAME,CAAa,EAAIN,EAAiB,CAAE,MAAOE,GAAS,KAAM,CAAC,EACnEK,EAAmBD,GAAc,MAAQA,EAoB/C,OAlBqBX,EAAQ,IACtBY,GAAkB,WAICA,EAAiB,WAAW,KAAMC,GACjDA,EAAK,QAAUL,GAASK,EAAK,SACrC,EAGQ,GAGFH,GAAY,KAAKG,GACfA,EAAK,gBAAkBZ,EAAY,YAC3C,EAbQ,GAcR,CAACW,GAAkB,WAAYF,CAAU,CAAC,CAG/C",
6
6
  "names": ["useMemo", "TaskSubType", "useActivities", "useCreditsContext", "useHeadlessContext", "useSubscriptions", "useSubscribed", "profile", "brand", "activitiesOptions", "activities", "subscription", "subscriptionData", "item"]
7
7
  }
@@ -1,6 +1,7 @@
1
- export { default as Chat } from './chat/index.js';
2
- export { Role, ActionExecutionMessage, TextMessage, useCopilotChat, useCopilotAction, useCopilotReadable, } from './chat/utils.js';
1
+ export { default as Chat } from './chat/index';
2
+ export { Role, ActionExecutionMessage, TextMessage, useCopilotChat, useCopilotAction, useCopilotReadable, } from './chat/utils';
3
3
  export * from './credits/index.js';
4
4
  export * from './registration/index.js';
5
+ export * from './memberPopup/index.js';
5
6
  export { LiveChatWidget } from './LiveChatWidget/index.js';
6
7
  export type { LiveChatWidgetProps, Message, MessageContent, MessageRole, MessageContentType, MessageMetadata, MessageRenderer, QuickReply, ProductCardContent, ProductListContent, PolicyContent, QuickRepliesContent, ThinkingContent, ErrorContent, SSEEvent, ChatStreamRequest, } from './LiveChatWidget/index.js';
@@ -1,2 +1,2 @@
1
- import{default as o}from"./chat/index.js";import{Role as n,ActionExecutionMessage as a,TextMessage as r,useCopilotChat as i,useCopilotAction as C,useCopilotReadable as p}from"./chat/utils.js";export*from"./credits/index.js";export*from"./registration/index.js";import{LiveChatWidget as u}from"./LiveChatWidget/index.js";export{a as ActionExecutionMessage,o as Chat,u as LiveChatWidget,n as Role,r as TextMessage,C as useCopilotAction,i as useCopilotChat,p as useCopilotReadable};
1
+ import{default as o}from"./chat/index";import{Role as n,ActionExecutionMessage as r,TextMessage as a,useCopilotChat as i,useCopilotAction as C,useCopilotReadable as p}from"./chat/utils";export*from"./credits/index.js";export*from"./registration/index.js";export*from"./memberPopup/index.js";import{LiveChatWidget as x}from"./LiveChatWidget/index.js";export{r as ActionExecutionMessage,o as Chat,x as LiveChatWidget,n as Role,a as TextMessage,C as useCopilotAction,i as useCopilotChat,p as useCopilotReadable};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/index.ts"],
4
- "sourcesContent": ["export { default as Chat } from './chat/index.js'\n\nexport {\n Role,\n ActionExecutionMessage,\n TextMessage,\n useCopilotChat,\n useCopilotAction,\n useCopilotReadable,\n} from './chat/utils.js'\n\nexport * from './credits/index.js'\n\nexport * from './registration/index.js'\n\n\n\n// LiveChatWidget \u5BFC\u51FA\nexport { LiveChatWidget } from './LiveChatWidget/index.js'\nexport type {\n LiveChatWidgetProps,\n Message,\n MessageContent,\n MessageRole,\n MessageContentType,\n MessageMetadata,\n MessageRenderer,\n QuickReply,\n ProductCardContent,\n ProductListContent,\n PolicyContent,\n QuickRepliesContent,\n ThinkingContent,\n ErrorContent,\n SSEEvent,\n ChatStreamRequest,\n} from './LiveChatWidget/index.js'\n"],
5
- "mappings": "AAAA,OAAoB,WAAXA,MAAuB,kBAEhC,OACE,QAAAC,EACA,0BAAAC,EACA,eAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,sBAAAC,MACK,kBAEP,WAAc,qBAEd,WAAc,0BAKd,OAAS,kBAAAC,MAAsB",
4
+ "sourcesContent": ["export { default as Chat } from './chat/index'\n\nexport {\n Role,\n ActionExecutionMessage,\n TextMessage,\n useCopilotChat,\n useCopilotAction,\n useCopilotReadable,\n} from './chat/utils'\n\nexport * from './credits/index.js'\n\nexport * from './registration/index.js'\n\nexport * from './memberPopup/index.js'\n\n\n\n// LiveChatWidget \u5BFC\u51FA\nexport { LiveChatWidget } from './LiveChatWidget/index.js'\nexport type {\n LiveChatWidgetProps,\n Message,\n MessageContent,\n MessageRole,\n MessageContentType,\n MessageMetadata,\n MessageRenderer,\n QuickReply,\n ProductCardContent,\n ProductListContent,\n PolicyContent,\n QuickRepliesContent,\n ThinkingContent,\n ErrorContent,\n SSEEvent,\n ChatStreamRequest,\n} from './LiveChatWidget/index.js'\n"],
5
+ "mappings": "AAAA,OAAoB,WAAXA,MAAuB,eAEhC,OACE,QAAAC,EACA,0BAAAC,EACA,eAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,sBAAAC,MACK,eAEP,WAAc,qBAEd,WAAc,0BAEd,WAAc,yBAKd,OAAS,kBAAAC,MAAsB",
6
6
  "names": ["default", "Role", "ActionExecutionMessage", "TextMessage", "useCopilotChat", "useCopilotAction", "useCopilotReadable", "LiveChatWidget"]
7
7
  }
@@ -0,0 +1,9 @@
1
+ import { type HeadlessConfig } from '@anker-in/lib';
2
+ import { type MemberPopupCopy, type MemberPopupContextValue } from './type';
3
+ type MemberPopupProps = MemberPopupContextValue & {
4
+ headlessConfig: HeadlessConfig;
5
+ copy: MemberPopupCopy;
6
+ bottomOffset?: string;
7
+ };
8
+ export declare function MemberPopup({ copy, bottomOffset, ...providerProps }: MemberPopupProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,2 @@
1
+ "use client";import{Fragment as ce,jsx as t,jsxs as r}from"react/jsx-runtime";import{lazy as l,Suspense as D,useState as d,useCallback as M,useMemo as F}from"react";import{Picture as L}from"@anker-in/headless-ui";import{useHeadlessContext as U,classNames as P}from"@anker-in/lib";import{MemberPopupActionType as a,MemberPopupPageScope as O,MemberPopupPanelType as i}from"./type";import{MemberPopupProvider as B}from"./context/provider";import{useMemberPopupContext as W}from"./context/provider";import{ViewStackContext as q}from"./context/viewStack";import{IconClose as G,IconArrow as J,IconCredit as K,IconBag as Q,IconReferral as X,IconSwitch as Y,IconSubscription as Z}from"./icons";import{ROUNDED_BRANDS as $}from"../../constants";const ee=l(()=>import("./panels/EarnCredits")),te=l(()=>import("./panels/ConsumeCredits")),se=l(()=>import("./panels/Referral")),oe=l(()=>import("./panels/EarnCredits/CompleteProfilePanel")),re=l(()=>import("./panels/ActivitiesSubscribePanel")),ie=l(()=>import("./panels/EarnCredits/SubscribeEmailPanel")),ne=l(()=>import("./panels/EarnCredits/ActivatePanel")),pe=l(()=>import("./panels/ConsumeCredits/RedeemCouponPanel"));function Se({copy:e,bottomOffset:u="24px",...c}){return t(B,{...c,earnCreditsCopy:e.earnCredits,children:t(ae,{copy:e,bottomOffset:u})})}function ae({copy:e,bottomOffset:u}){const{profile:c,openSignInPopup:C,openSignUpPopup:m}=W(),{brand:b,storeDomain:x}=U(),g=$.includes(b),A=!!c,[S,w]=d(!1),[h,v]=d([]),[V,H]=d(!1),[R,z]=d(!1),[E,T]=d(!1),[j,N]=d(!1),s=h[h.length-1]??null;if(!F(()=>{const o=e.pageConfig;if(!o)return!0;const p=typeof window<"u"?window.location.pathname:"",I=o.pages.some(k=>p===k||p.startsWith(k+"/"));switch(o.scope){case O.Include:return I;case O.Exclude:return!I;default:return!0}},[e.pageConfig]))return null;const f=M(o=>{v(p=>[...p,o])},[]),n=M(()=>{v(o=>o.slice(0,-1))},[]);function _(o,p){switch(o){case a.ExternalLink:p&&window.open(p,"_blank","noopener,noreferrer");break;case a.OpenEarnCredits:f({type:i.EarnCredits});break;case a.OpenConsumeCredits:f({type:i.ConsumeCredits});break;case a.OpenReferral:f({type:i.Referral});break;case a.OpenSubscribe:f({type:i.Subscribe});break}}function y(){w(!1),v([]),N(!1)}return r(q.Provider,{value:{pushView:f,popView:n},children:[S&&t("div",{className:"fixed inset-0 z-[998]",onClick:y}),r("div",{className:"fixed right-0 z-[999] flex flex-row items-end pr-[16px] md:flex-col md:items-end md:right-0 md:w-screen md:pr-0 md:pl-0",style:{bottom:u},children:[S&&r("div",{className:P("relative mr-[8px] flex w-[420px] max-w-[calc(100vw-32px)] min-h-[500px] flex-col overflow-hidden bg-white shadow-[0_8px_32px_rgba(0,0,0,0.16)] md:mr-0 md:mb-[8px] md:mx-[16px] md:w-[calc(100vw-32px)] md:max-w-[400px]",g?"rounded-[12px]":"rounded-none"),style:{maxHeight:"min(80vh, 606px)"},onClick:o=>o.stopPropagation(),children:[t("div",{className:"absolute right-[-8px] top-[24px] size-0 border-y-8 border-l-8 border-y-transparent border-l-white md:bottom-[-8px] md:left-auto md:right-[29px] md:top-auto md:border-x-8 md:border-b-transparent md:border-t-white"}),r("div",{className:"flex items-center justify-end pl-[10px] pr-[16px] pb-[8px] pt-[16px]",children:[s!==null&&t("button",{className:"mr-auto flex size-[24px] cursor-pointer items-center justify-center",onClick:n,"aria-label":"Back",children:t(Y,{})}),t("button",{className:"flex size-[24px] cursor-pointer items-center justify-center",onClick:y,"aria-label":"Close",children:t(G,{})})]}),r("div",{className:"flex flex-1 flex-col gap-[12px] overflow-y-auto p-[16px]",children:[s===null&&r(ce,{children:[(e.title||e.subtitle)&&r("div",{className:"flex flex-col gap-[4px]",children:[e.title&&t("h2",{className:"text-[24px] font-[700] leading-[1.2] text-[#080a0f]",children:e.title}),e.subtitle&&t("p",{className:"text-[16px] font-[700] leading-snug text-[#4a4c56]",children:e.subtitle})]}),e.list.map((o,p)=>t(le,{item:o,onAction:_,rounded:g},p))]}),s!==null&&r(D,{fallback:t("div",{className:"flex items-center justify-center py-[32px]",children:t("div",{className:"size-[32px] animate-spin rounded-full border-[3px] border-[#080a0f] border-t-transparent"})}),children:[s.type===i.EarnCredits&&e.earnCredits&&t(ee,{copy:e.earnCredits,onClose:n,isSubscribeSuccess:V,isActivateSuccess:R,isProfileCompleteSuccess:E,onSubscribeSuccess:()=>H(!0),onActivateSuccess:()=>z(!0),onProfileCompleteSuccess:()=>T(!0)}),s.type===i.ConsumeCredits&&e.consumeCredits&&t(te,{copy:e.consumeCredits,onClose:n}),s.type===i.Referral&&e.referral&&t(se,{copy:e.referral,onClose:n}),s.type===i.CompleteProfile&&e.earnCredits&&t(oe,{copy:e.earnCredits.completeProfile,shopifyStoreDomain:x,onClose:n,onSuccess:s.props?.onSuccess}),s.type===i.Subscribe&&e.activitiesSubscribe&&t(re,{copy:e.activitiesSubscribe,email:c?.email,onSuccess:s.props?.onSuccess,hideForm:j,onHideForm:()=>N(!0)}),s.type===i.SubscribeEmail&&e.earnCredits&&t(ie,{copy:e.earnCredits.subscribe,email:c?.email,onClose:n,onSuccess:s.props?.onSuccess}),s.type===i.Activate&&e.earnCredits&&t(ne,{copy:e.earnCredits.authCodeActivate,onClose:n,onSuccess:s.props?.onSuccess}),s.type===i.RedeemCoupon&&s.props&&e.consumeCredits&&t(pe,{itemTitle:s.props.itemTitle,itemCredits:s.props.itemCredits,itemImage:s.props.itemImage,itemValue:s.props.itemValue,itemOff:s.props.itemOff,redeemId:s.props.redeemId,userId:s.props.userId,alpcConfig:s.props.alpcConfig,copy:e.consumeCredits.redeemModal,pointUnit:e.consumeCredits.pointUnit,onClose:n})]})]}),e.footer&&!A&&t("div",{className:"border-t border-[#dadce0] p-[16px]",children:r("div",{className:"flex items-center justify-between gap-[16px]",children:[r("div",{className:"flex items-center gap-[4px]",children:[t("span",{className:"text-[14px] font-[700] text-[#080a0f]",children:e.footer.loginHint}),t("button",{className:"cursor-pointer text-[14px] font-[700] text-[#080a0f] underline",onClick:C,children:e.footer.loginLabel})]}),t("div",{className:"flex shrink-0 items-center gap-[8px]",children:t("button",{className:P("cursor-pointer border-[1.6px] border-[#080a0f] px-[20px] pb-[10px] pt-[11px] text-[14px] font-[700] leading-[1.2] text-[#080a0f]",g?"rounded-[4px]":"rounded-none"),onClick:m,children:e.footer.joinLabel})})]})})]}),t("button",{className:"flex cursor-pointer items-center justify-center rounded-full bg-white shadow-lg md:ml-auto md:mr-[16px]",onClick:()=>w(o=>!o),"aria-label":e.triggerImg.alt??"Open member popup",children:t(L,{source:e.triggerImg.url,alt:e.triggerImg.alt??"",className:"size-[58px]"})})]})]})}function le({item:e,onAction:u,rounded:c}){const C={[a.OpenEarnCredits]:K,[a.OpenConsumeCredits]:Q,[a.OpenReferral]:X,[a.OpenSubscribe]:Z};return r("div",{className:P("flex flex-col gap-[16px] bg-[#f5f6f7] p-[16px]",c?"rounded-[8px]":"rounded-none"),children:[r("div",{className:"flex flex-col gap-[4px]",children:[t("h3",{className:"text-[20px] font-[700] leading-[1.2] text-[#1e2024]",children:e.title}),e.description&&t("p",{className:"text-[14px] font-[700] leading-[1.43] text-[#1e2024]",children:e.description})]}),t("div",{className:"flex flex-col gap-[16px]",children:e.links.map((m,b)=>{const x=C[m.type];return r("div",{children:[b>0&&t("div",{className:"mb-[16px] h-px bg-[#dadce0]"}),r("button",{className:"flex w-full cursor-pointer items-center gap-[12px]",onClick:()=>u(m.type,m.url),children:[x&&t(x,{className:"size-[24px] shrink-0"}),t("span",{className:"flex-1 text-left text-[14px] font-[700] text-[#1e2024]",children:m.label}),t(J,{className:"size-[16px] shrink-0"})]})]},b)})})]})}export{Se as MemberPopup};
2
+ //# sourceMappingURL=MemberPopup.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/memberPopup/MemberPopup.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport { lazy, Suspense, useState, useCallback, useMemo } from 'react'\nimport { Picture } from '@anker-in/headless-ui'\nimport { type HeadlessConfig, useHeadlessContext, classNames as cn } from '@anker-in/lib'\nimport {\n MemberPopupActionType,\n MemberPopupPageScope,\n MemberPopupPanelType,\n type MemberPopupCopy,\n type MemberPopupContextValue,\n type MemberPopupItem,\n} from './type'\nimport { MemberPopupProvider } from './context/provider'\nimport { useMemberPopupContext } from './context/provider'\nimport { ViewStackContext, type ViewPayload } from './context/viewStack'\nimport { IconClose, IconArrow, IconCredit, IconBag, IconReferral, IconSwitch, IconSubscription } from './icons'\nimport { ROUNDED_BRANDS } from '../../constants'\n\nconst EarnCredits = lazy(() => import('./panels/EarnCredits'))\nconst ConsumeCredits = lazy(() => import('./panels/ConsumeCredits'))\nconst Referral = lazy(() => import('./panels/Referral'))\nconst CompleteProfile = lazy(() => import('./panels/EarnCredits/CompleteProfilePanel'))\nconst ActivitiesSubscribe = lazy(() => import('./panels/ActivitiesSubscribePanel'))\nconst SubscribeEmail = lazy(() => import('./panels/EarnCredits/SubscribeEmailPanel'))\nconst Activate = lazy(() => import('./panels/EarnCredits/ActivatePanel'))\nconst RedeemCoupon = lazy(() => import('./panels/ConsumeCredits/RedeemCouponPanel'))\n\ntype MemberPopupProps = MemberPopupContextValue & {\n headlessConfig: HeadlessConfig\n copy: MemberPopupCopy\n bottomOffset?: string\n}\n\nexport function MemberPopup({ copy, bottomOffset = '24px', ...providerProps }: MemberPopupProps) {\n return (\n <MemberPopupProvider {...providerProps} earnCreditsCopy={copy.earnCredits}>\n <MemberPopupContent copy={copy} bottomOffset={bottomOffset} />\n </MemberPopupProvider>\n )\n}\n\ntype MemberPopupContentProps = {\n copy: MemberPopupCopy\n bottomOffset: string\n}\n\nfunction MemberPopupContent({ copy, bottomOffset }: MemberPopupContentProps) {\n const { profile, openSignInPopup, openSignUpPopup } = useMemberPopupContext()\n const { brand, storeDomain } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n const isLogin = !!profile\n const [isOpen, setIsOpen] = useState(false)\n const [viewStack, setViewStack] = useState<ViewPayload[]>([])\n const [isSubscribeSuccess, setIsSubscribeSuccess] = useState(false)\n const [isActivateSuccess, setIsActivateSuccess] = useState(false)\n const [isProfileCompleteSuccess, setIsProfileCompleteSuccess] = useState(false)\n const [isSubscribeFormHidden, setIsSubscribeFormHidden] = useState(false)\n\n const currentView = viewStack[viewStack.length - 1] ?? null\n\n const isVisible = useMemo(() => {\n const config = copy.pageConfig\n if (!config) return true\n const pathname = typeof window !== 'undefined' ? window.location.pathname : ''\n const matches = config.pages.some(page => pathname === page || pathname.startsWith(page + '/'))\n switch (config.scope) {\n case MemberPopupPageScope.Include:\n return matches\n case MemberPopupPageScope.Exclude:\n return !matches\n default:\n return true\n }\n }, [copy.pageConfig])\n\n if (!isVisible) return null\n\n const pushView = useCallback((view: ViewPayload) => {\n setViewStack(prev => [...prev, view])\n }, [])\n\n const popView = useCallback(() => {\n setViewStack(prev => prev.slice(0, -1))\n }, [])\n\n function handleAction(type: MemberPopupActionType, url?: string) {\n switch (type) {\n case MemberPopupActionType.ExternalLink:\n if (url) window.open(url, '_blank', 'noopener,noreferrer')\n break\n case MemberPopupActionType.OpenEarnCredits:\n pushView({ type: MemberPopupPanelType.EarnCredits })\n break\n case MemberPopupActionType.OpenConsumeCredits:\n pushView({ type: MemberPopupPanelType.ConsumeCredits })\n break\n case MemberPopupActionType.OpenReferral:\n pushView({ type: MemberPopupPanelType.Referral })\n break\n case MemberPopupActionType.OpenSubscribe:\n pushView({ type: MemberPopupPanelType.Subscribe })\n break\n }\n }\n\n function handleClose() {\n setIsOpen(false)\n setViewStack([])\n setIsSubscribeFormHidden(false)\n }\n\n return (\n <ViewStackContext.Provider value={{ pushView, popView }}>\n {isOpen && <div className=\"fixed inset-0 z-[998]\" onClick={handleClose} />}\n <div\n className=\"fixed right-0 z-[999] flex flex-row items-end pr-[16px] md:flex-col md:items-end md:right-0 md:w-screen md:pr-0 md:pl-0\"\n style={{ bottom: bottomOffset }}\n >\n {isOpen && (\n <div\n className={cn(\n 'relative mr-[8px] flex w-[420px] max-w-[calc(100vw-32px)] min-h-[500px] flex-col overflow-hidden bg-white shadow-[0_8px_32px_rgba(0,0,0,0.16)] md:mr-0 md:mb-[8px] md:mx-[16px] md:w-[calc(100vw-32px)] md:max-w-[400px]',\n rounded ? 'rounded-[12px]' : 'rounded-none'\n )}\n style={{ maxHeight: 'min(80vh, 606px)' }}\n onClick={e => e.stopPropagation()}\n >\n <div className=\"absolute right-[-8px] top-[24px] size-0 border-y-8 border-l-8 border-y-transparent border-l-white md:bottom-[-8px] md:left-auto md:right-[29px] md:top-auto md:border-x-8 md:border-b-transparent md:border-t-white\" />\n <div className=\"flex items-center justify-end pl-[10px] pr-[16px] pb-[8px] pt-[16px]\">\n {currentView !== null && (\n <button\n className=\"mr-auto flex size-[24px] cursor-pointer items-center justify-center\"\n onClick={popView}\n aria-label=\"Back\"\n >\n <IconSwitch />\n </button>\n )}\n <button\n className=\"flex size-[24px] cursor-pointer items-center justify-center\"\n onClick={handleClose}\n aria-label=\"Close\"\n >\n <IconClose />\n </button>\n </div>\n\n <div className=\"flex flex-1 flex-col gap-[12px] overflow-y-auto p-[16px]\">\n {currentView === null && (\n <>\n {(copy.title || copy.subtitle) && (\n <div className=\"flex flex-col gap-[4px]\">\n {copy.title && (\n <h2 className=\"text-[24px] font-[700] leading-[1.2] text-[#080a0f]\">{copy.title}</h2>\n )}\n {copy.subtitle && (\n <p className=\"text-[16px] font-[700] leading-snug text-[#4a4c56]\">{copy.subtitle}</p>\n )}\n </div>\n )}\n {copy.list.map((item, i) => (\n <HomeCard key={i} item={item} onAction={handleAction} rounded={rounded} />\n ))}\n </>\n )}\n\n {currentView !== null && (\n <Suspense\n fallback={\n <div className=\"flex items-center justify-center py-[32px]\">\n <div className=\"size-[32px] animate-spin rounded-full border-[3px] border-[#080a0f] border-t-transparent\" />\n </div>\n }\n >\n {currentView.type === MemberPopupPanelType.EarnCredits && copy.earnCredits && (\n <EarnCredits\n copy={copy.earnCredits}\n onClose={popView}\n isSubscribeSuccess={isSubscribeSuccess}\n isActivateSuccess={isActivateSuccess}\n isProfileCompleteSuccess={isProfileCompleteSuccess}\n onSubscribeSuccess={() => setIsSubscribeSuccess(true)}\n onActivateSuccess={() => setIsActivateSuccess(true)}\n onProfileCompleteSuccess={() => setIsProfileCompleteSuccess(true)}\n />\n )}\n {currentView.type === MemberPopupPanelType.ConsumeCredits && copy.consumeCredits && (\n <ConsumeCredits copy={copy.consumeCredits} onClose={popView} />\n )}\n {currentView.type === MemberPopupPanelType.Referral && copy.referral && (\n <Referral copy={copy.referral} onClose={popView} />\n )}\n {currentView.type === MemberPopupPanelType.CompleteProfile && copy.earnCredits && (\n <CompleteProfile\n copy={copy.earnCredits.completeProfile}\n shopifyStoreDomain={storeDomain}\n onClose={popView}\n onSuccess={currentView.props?.onSuccess}\n />\n )}\n {currentView.type === MemberPopupPanelType.Subscribe && copy.activitiesSubscribe && (\n <ActivitiesSubscribe\n copy={copy.activitiesSubscribe}\n email={profile?.email}\n onSuccess={currentView.props?.onSuccess}\n hideForm={isSubscribeFormHidden}\n onHideForm={() => setIsSubscribeFormHidden(true)}\n />\n )}\n {currentView.type === MemberPopupPanelType.SubscribeEmail && copy.earnCredits && (\n <SubscribeEmail\n copy={copy.earnCredits.subscribe}\n email={profile?.email}\n onClose={popView}\n onSuccess={currentView.props?.onSuccess}\n />\n )}\n {currentView.type === MemberPopupPanelType.Activate && copy.earnCredits && (\n <Activate\n copy={copy.earnCredits.authCodeActivate}\n onClose={popView}\n onSuccess={currentView.props?.onSuccess}\n />\n )}\n {currentView.type === MemberPopupPanelType.RedeemCoupon &&\n currentView.props &&\n copy.consumeCredits && (\n <RedeemCoupon\n itemTitle={currentView.props.itemTitle}\n itemCredits={currentView.props.itemCredits}\n itemImage={currentView.props.itemImage}\n itemValue={currentView.props.itemValue}\n itemOff={currentView.props.itemOff}\n redeemId={currentView.props.redeemId}\n userId={currentView.props.userId}\n alpcConfig={currentView.props.alpcConfig}\n copy={copy.consumeCredits.redeemModal}\n pointUnit={copy.consumeCredits.pointUnit}\n onClose={popView}\n />\n )}\n </Suspense>\n )}\n </div>\n\n {copy.footer && !isLogin && (\n <div className=\"border-t border-[#dadce0] p-[16px]\">\n <div className=\"flex items-center justify-between gap-[16px]\">\n <div className=\"flex items-center gap-[4px]\">\n <span className=\"text-[14px] font-[700] text-[#080a0f]\">{copy.footer.loginHint}</span>\n <button\n className=\"cursor-pointer text-[14px] font-[700] text-[#080a0f] underline\"\n onClick={openSignInPopup}\n >\n {copy.footer.loginLabel}\n </button>\n </div>\n <div className=\"flex shrink-0 items-center gap-[8px]\">\n <button\n className={cn(\n 'cursor-pointer border-[1.6px] border-[#080a0f] px-[20px] pb-[10px] pt-[11px] text-[14px] font-[700] leading-[1.2] text-[#080a0f]',\n rounded ? 'rounded-[4px]' : 'rounded-none'\n )}\n onClick={openSignUpPopup}\n >\n {copy.footer.joinLabel}\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n )}\n\n <button\n className=\"flex cursor-pointer items-center justify-center rounded-full bg-white shadow-lg md:ml-auto md:mr-[16px]\"\n onClick={() => setIsOpen(prev => !prev)}\n aria-label={copy.triggerImg.alt ?? 'Open member popup'}\n >\n <Picture source={copy.triggerImg.url} alt={copy.triggerImg.alt ?? ''} className=\"size-[58px]\" />\n </button>\n </div>\n </ViewStackContext.Provider>\n )\n}\n\ntype HomeCardProps = {\n item: MemberPopupItem\n onAction: (type: MemberPopupActionType, url?: string) => void\n rounded: boolean\n}\n\nfunction HomeCard({ item, onAction, rounded }: HomeCardProps) {\n const ACTION_ICON: Partial<Record<MemberPopupActionType, typeof IconCredit>> = {\n [MemberPopupActionType.OpenEarnCredits]: IconCredit,\n [MemberPopupActionType.OpenConsumeCredits]: IconBag,\n [MemberPopupActionType.OpenReferral]: IconReferral,\n [MemberPopupActionType.OpenSubscribe]: IconSubscription,\n }\n\n return (\n <div className={cn('flex flex-col gap-[16px] bg-[#f5f6f7] p-[16px]', rounded ? 'rounded-[8px]' : 'rounded-none')}>\n <div className=\"flex flex-col gap-[4px]\">\n <h3 className=\"text-[20px] font-[700] leading-[1.2] text-[#1e2024]\">{item.title}</h3>\n {item.description && <p className=\"text-[14px] font-[700] leading-[1.43] text-[#1e2024]\">{item.description}</p>}\n </div>\n\n <div className=\"flex flex-col gap-[16px]\">\n {item.links.map((link, i) => {\n const IconComponent = ACTION_ICON[link.type]\n return (\n <div key={i}>\n {i > 0 && <div className=\"mb-[16px] h-px bg-[#dadce0]\" />}\n <button\n className=\"flex w-full cursor-pointer items-center gap-[12px]\"\n onClick={() => onAction(link.type, link.url)}\n >\n {IconComponent && <IconComponent className=\"size-[24px] shrink-0\" />}\n <span className=\"flex-1 text-left text-[14px] font-[700] text-[#1e2024]\">{link.label}</span>\n <IconArrow className=\"size-[16px] shrink-0\" />\n </button>\n </div>\n )\n })}\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "aAqCM,OAiHU,YAAAA,GAjHV,OAAAC,EA4FM,QAAAC,MA5FN,oBAnCN,OAAS,QAAAC,EAAM,YAAAC,EAAU,YAAAC,EAAU,eAAAC,EAAa,WAAAC,MAAe,QAC/D,OAAS,WAAAC,MAAe,wBACxB,OAA8B,sBAAAC,EAAoB,cAAcC,MAAU,gBAC1E,OACE,yBAAAC,EACA,wBAAAC,EACA,wBAAAC,MAIK,SACP,OAAS,uBAAAC,MAA2B,qBACpC,OAAS,yBAAAC,MAA6B,qBACtC,OAAS,oBAAAC,MAA0C,sBACnD,OAAS,aAAAC,EAAW,aAAAC,EAAW,cAAAC,EAAY,WAAAC,EAAS,gBAAAC,EAAc,cAAAC,EAAY,oBAAAC,MAAwB,UACtG,OAAS,kBAAAC,MAAsB,kBAE/B,MAAMC,GAActB,EAAK,IAAM,OAAO,sBAAsB,CAAC,EACvDuB,GAAiBvB,EAAK,IAAM,OAAO,yBAAyB,CAAC,EAC7DwB,GAAWxB,EAAK,IAAM,OAAO,mBAAmB,CAAC,EACjDyB,GAAkBzB,EAAK,IAAM,OAAO,2CAA2C,CAAC,EAChF0B,GAAsB1B,EAAK,IAAM,OAAO,mCAAmC,CAAC,EAC5E2B,GAAiB3B,EAAK,IAAM,OAAO,0CAA0C,CAAC,EAC9E4B,GAAW5B,EAAK,IAAM,OAAO,oCAAoC,CAAC,EAClE6B,GAAe7B,EAAK,IAAM,OAAO,2CAA2C,CAAC,EAQ5E,SAAS8B,GAAY,CAAE,KAAAC,EAAM,aAAAC,EAAe,OAAQ,GAAGC,CAAc,EAAqB,CAC/F,OACEnC,EAACa,EAAA,CAAqB,GAAGsB,EAAe,gBAAiBF,EAAK,YAC5D,SAAAjC,EAACoC,GAAA,CAAmB,KAAMH,EAAM,aAAcC,EAAc,EAC9D,CAEJ,CAOA,SAASE,GAAmB,CAAE,KAAAH,EAAM,aAAAC,CAAa,EAA4B,CAC3E,KAAM,CAAE,QAAAG,EAAS,gBAAAC,EAAiB,gBAAAC,CAAgB,EAAIzB,EAAsB,EACtE,CAAE,MAAA0B,EAAO,YAAAC,CAAY,EAAIjC,EAAmB,EAC5CkC,EAAUnB,EAAe,SAASiB,CAAK,EACvCG,EAAU,CAAC,CAACN,EACZ,CAACO,EAAQC,CAAS,EAAIzC,EAAS,EAAK,EACpC,CAAC0C,EAAWC,CAAY,EAAI3C,EAAwB,CAAC,CAAC,EACtD,CAAC4C,EAAoBC,CAAqB,EAAI7C,EAAS,EAAK,EAC5D,CAAC8C,EAAmBC,CAAoB,EAAI/C,EAAS,EAAK,EAC1D,CAACgD,EAA0BC,CAA2B,EAAIjD,EAAS,EAAK,EACxE,CAACkD,EAAuBC,CAAwB,EAAInD,EAAS,EAAK,EAElEoD,EAAcV,EAAUA,EAAU,OAAS,CAAC,GAAK,KAiBvD,GAAI,CAfcxC,EAAQ,IAAM,CAC9B,MAAMmD,EAASxB,EAAK,WACpB,GAAI,CAACwB,EAAQ,MAAO,GACpB,MAAMC,EAAW,OAAO,OAAW,IAAc,OAAO,SAAS,SAAW,GACtEC,EAAUF,EAAO,MAAM,KAAKG,GAAQF,IAAaE,GAAQF,EAAS,WAAWE,EAAO,GAAG,CAAC,EAC9F,OAAQH,EAAO,MAAO,CACpB,KAAK9C,EAAqB,QACxB,OAAOgD,EACT,KAAKhD,EAAqB,QACxB,MAAO,CAACgD,EACV,QACE,MAAO,EACX,CACF,EAAG,CAAC1B,EAAK,UAAU,CAAC,EAEJ,OAAO,KAEvB,MAAM4B,EAAWxD,EAAayD,GAAsB,CAClDf,EAAagB,GAAQ,CAAC,GAAGA,EAAMD,CAAI,CAAC,CACtC,EAAG,CAAC,CAAC,EAECE,EAAU3D,EAAY,IAAM,CAChC0C,EAAagB,GAAQA,EAAK,MAAM,EAAG,EAAE,CAAC,CACxC,EAAG,CAAC,CAAC,EAEL,SAASE,EAAaC,EAA6BC,EAAc,CAC/D,OAAQD,EAAM,CACZ,KAAKxD,EAAsB,aACrByD,GAAK,OAAO,KAAKA,EAAK,SAAU,qBAAqB,EACzD,MACF,KAAKzD,EAAsB,gBACzBmD,EAAS,CAAE,KAAMjD,EAAqB,WAAY,CAAC,EACnD,MACF,KAAKF,EAAsB,mBACzBmD,EAAS,CAAE,KAAMjD,EAAqB,cAAe,CAAC,EACtD,MACF,KAAKF,EAAsB,aACzBmD,EAAS,CAAE,KAAMjD,EAAqB,QAAS,CAAC,EAChD,MACF,KAAKF,EAAsB,cACzBmD,EAAS,CAAE,KAAMjD,EAAqB,SAAU,CAAC,EACjD,KACJ,CACF,CAEA,SAASwD,GAAc,CACrBvB,EAAU,EAAK,EACfE,EAAa,CAAC,CAAC,EACfQ,EAAyB,EAAK,CAChC,CAEA,OACEtD,EAACc,EAAiB,SAAjB,CAA0B,MAAO,CAAE,SAAA8C,EAAU,QAAAG,CAAQ,EACnD,UAAApB,GAAU5C,EAAC,OAAI,UAAU,wBAAwB,QAASoE,EAAa,EACxEnE,EAAC,OACC,UAAU,0HACV,MAAO,CAAE,OAAQiC,CAAa,EAE7B,UAAAU,GACC3C,EAAC,OACC,UAAWQ,EACT,2NACAiC,EAAU,iBAAmB,cAC/B,EACA,MAAO,CAAE,UAAW,kBAAmB,EACvC,QAAS2B,GAAKA,EAAE,gBAAgB,EAEhC,UAAArE,EAAC,OAAI,UAAU,sNAAsN,EACrOC,EAAC,OAAI,UAAU,uEACZ,UAAAuD,IAAgB,MACfxD,EAAC,UACC,UAAU,sEACV,QAASgE,EACT,aAAW,OAEX,SAAAhE,EAACqB,EAAA,EAAW,EACd,EAEFrB,EAAC,UACC,UAAU,8DACV,QAASoE,EACT,aAAW,QAEX,SAAApE,EAACgB,EAAA,EAAU,EACb,GACF,EAEAf,EAAC,OAAI,UAAU,2DACZ,UAAAuD,IAAgB,MACfvD,EAAAF,GAAA,CACI,WAAAkC,EAAK,OAASA,EAAK,WACnBhC,EAAC,OAAI,UAAU,0BACZ,UAAAgC,EAAK,OACJjC,EAAC,MAAG,UAAU,sDAAuD,SAAAiC,EAAK,MAAM,EAEjFA,EAAK,UACJjC,EAAC,KAAE,UAAU,qDAAsD,SAAAiC,EAAK,SAAS,GAErF,EAEDA,EAAK,KAAK,IAAI,CAACqC,EAAMC,IACpBvE,EAACwE,GAAA,CAAiB,KAAMF,EAAM,SAAUL,EAAc,QAASvB,GAAhD6B,CAAyD,CACzE,GACH,EAGDf,IAAgB,MACfvD,EAACE,EAAA,CACC,SACEH,EAAC,OAAI,UAAU,6CACb,SAAAA,EAAC,OAAI,UAAU,2FAA2F,EAC5G,EAGD,UAAAwD,EAAY,OAAS5C,EAAqB,aAAeqB,EAAK,aAC7DjC,EAACwB,GAAA,CACC,KAAMS,EAAK,YACX,QAAS+B,EACT,mBAAoBhB,EACpB,kBAAmBE,EACnB,yBAA0BE,EAC1B,mBAAoB,IAAMH,EAAsB,EAAI,EACpD,kBAAmB,IAAME,EAAqB,EAAI,EAClD,yBAA0B,IAAME,EAA4B,EAAI,EAClE,EAEDG,EAAY,OAAS5C,EAAqB,gBAAkBqB,EAAK,gBAChEjC,EAACyB,GAAA,CAAe,KAAMQ,EAAK,eAAgB,QAAS+B,EAAS,EAE9DR,EAAY,OAAS5C,EAAqB,UAAYqB,EAAK,UAC1DjC,EAAC0B,GAAA,CAAS,KAAMO,EAAK,SAAU,QAAS+B,EAAS,EAElDR,EAAY,OAAS5C,EAAqB,iBAAmBqB,EAAK,aACjEjC,EAAC2B,GAAA,CACC,KAAMM,EAAK,YAAY,gBACvB,mBAAoBQ,EACpB,QAASuB,EACT,UAAWR,EAAY,OAAO,UAChC,EAEDA,EAAY,OAAS5C,EAAqB,WAAaqB,EAAK,qBAC3DjC,EAAC4B,GAAA,CACC,KAAMK,EAAK,oBACX,MAAOI,GAAS,MAChB,UAAWmB,EAAY,OAAO,UAC9B,SAAUF,EACV,WAAY,IAAMC,EAAyB,EAAI,EACjD,EAEDC,EAAY,OAAS5C,EAAqB,gBAAkBqB,EAAK,aAChEjC,EAAC6B,GAAA,CACC,KAAMI,EAAK,YAAY,UACvB,MAAOI,GAAS,MAChB,QAAS2B,EACT,UAAWR,EAAY,OAAO,UAChC,EAEDA,EAAY,OAAS5C,EAAqB,UAAYqB,EAAK,aAC1DjC,EAAC8B,GAAA,CACC,KAAMG,EAAK,YAAY,iBACvB,QAAS+B,EACT,UAAWR,EAAY,OAAO,UAChC,EAEDA,EAAY,OAAS5C,EAAqB,cACzC4C,EAAY,OACZvB,EAAK,gBACHjC,EAAC+B,GAAA,CACC,UAAWyB,EAAY,MAAM,UAC7B,YAAaA,EAAY,MAAM,YAC/B,UAAWA,EAAY,MAAM,UAC7B,UAAWA,EAAY,MAAM,UAC7B,QAASA,EAAY,MAAM,QAC3B,SAAUA,EAAY,MAAM,SAC5B,OAAQA,EAAY,MAAM,OAC1B,WAAYA,EAAY,MAAM,WAC9B,KAAMvB,EAAK,eAAe,YAC1B,UAAWA,EAAK,eAAe,UAC/B,QAAS+B,EACX,GAEN,GAEJ,EAEC/B,EAAK,QAAU,CAACU,GACf3C,EAAC,OAAI,UAAU,qCACb,SAAAC,EAAC,OAAI,UAAU,+CACb,UAAAA,EAAC,OAAI,UAAU,8BACb,UAAAD,EAAC,QAAK,UAAU,wCAAyC,SAAAiC,EAAK,OAAO,UAAU,EAC/EjC,EAAC,UACC,UAAU,iEACV,QAASsC,EAER,SAAAL,EAAK,OAAO,WACf,GACF,EACAjC,EAAC,OAAI,UAAU,uCACb,SAAAA,EAAC,UACC,UAAWS,EACT,mIACAiC,EAAU,gBAAkB,cAC9B,EACA,QAASH,EAER,SAAAN,EAAK,OAAO,UACf,EACF,GACF,EACF,GAEJ,EAGFjC,EAAC,UACC,UAAU,0GACV,QAAS,IAAM6C,EAAUkB,GAAQ,CAACA,CAAI,EACtC,aAAY9B,EAAK,WAAW,KAAO,oBAEnC,SAAAjC,EAACO,EAAA,CAAQ,OAAQ0B,EAAK,WAAW,IAAK,IAAKA,EAAK,WAAW,KAAO,GAAI,UAAU,cAAc,EAChG,GACF,GACF,CAEJ,CAQA,SAASuC,GAAS,CAAE,KAAAF,EAAM,SAAAG,EAAU,QAAA/B,CAAQ,EAAkB,CAC5D,MAAMgC,EAAyE,CAC7E,CAAChE,EAAsB,eAAe,EAAGQ,EACzC,CAACR,EAAsB,kBAAkB,EAAGS,EAC5C,CAACT,EAAsB,YAAY,EAAGU,EACtC,CAACV,EAAsB,aAAa,EAAGY,CACzC,EAEA,OACErB,EAAC,OAAI,UAAWQ,EAAG,iDAAkDiC,EAAU,gBAAkB,cAAc,EAC7G,UAAAzC,EAAC,OAAI,UAAU,0BACb,UAAAD,EAAC,MAAG,UAAU,sDAAuD,SAAAsE,EAAK,MAAM,EAC/EA,EAAK,aAAetE,EAAC,KAAE,UAAU,uDAAwD,SAAAsE,EAAK,YAAY,GAC7G,EAEAtE,EAAC,OAAI,UAAU,2BACZ,SAAAsE,EAAK,MAAM,IAAI,CAACK,EAAMJ,IAAM,CAC3B,MAAMK,EAAgBF,EAAYC,EAAK,IAAI,EAC3C,OACE1E,EAAC,OACE,UAAAsE,EAAI,GAAKvE,EAAC,OAAI,UAAU,8BAA8B,EACvDC,EAAC,UACC,UAAU,qDACV,QAAS,IAAMwE,EAASE,EAAK,KAAMA,EAAK,GAAG,EAE1C,UAAAC,GAAiB5E,EAAC4E,EAAA,CAAc,UAAU,uBAAuB,EAClE5E,EAAC,QAAK,UAAU,yDAA0D,SAAA2E,EAAK,MAAM,EACrF3E,EAACiB,EAAA,CAAU,UAAU,uBAAuB,GAC9C,IATQsD,CAUV,CAEJ,CAAC,EACH,GACF,CAEJ",
6
+ "names": ["Fragment", "jsx", "jsxs", "lazy", "Suspense", "useState", "useCallback", "useMemo", "Picture", "useHeadlessContext", "cn", "MemberPopupActionType", "MemberPopupPageScope", "MemberPopupPanelType", "MemberPopupProvider", "useMemberPopupContext", "ViewStackContext", "IconClose", "IconArrow", "IconCredit", "IconBag", "IconReferral", "IconSwitch", "IconSubscription", "ROUNDED_BRANDS", "EarnCredits", "ConsumeCredits", "Referral", "CompleteProfile", "ActivitiesSubscribe", "SubscribeEmail", "Activate", "RedeemCoupon", "MemberPopup", "copy", "bottomOffset", "providerProps", "MemberPopupContent", "profile", "openSignInPopup", "openSignUpPopup", "brand", "storeDomain", "rounded", "isLogin", "isOpen", "setIsOpen", "viewStack", "setViewStack", "isSubscribeSuccess", "setIsSubscribeSuccess", "isActivateSuccess", "setIsActivateSuccess", "isProfileCompleteSuccess", "setIsProfileCompleteSuccess", "isSubscribeFormHidden", "setIsSubscribeFormHidden", "currentView", "config", "pathname", "matches", "page", "pushView", "view", "prev", "popView", "handleAction", "type", "url", "handleClose", "e", "item", "i", "HomeCard", "onAction", "ACTION_ICON", "link", "IconComponent"]
7
+ }
@@ -0,0 +1,11 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { type HeadlessConfig } from '@anker-in/lib';
3
+ import type { EarnCreditsCopy, MemberPopupContextValue } from '../type';
4
+ export declare const MemberPopupContext: import("react").Context<MemberPopupContextValue>;
5
+ type MemberPopupProviderProps = MemberPopupContextValue & {
6
+ headlessConfig: HeadlessConfig;
7
+ earnCreditsCopy?: EarnCreditsCopy;
8
+ };
9
+ export declare function MemberPopupProvider({ children, headlessConfig, earnCreditsCopy, ...contextValue }: PropsWithChildren<MemberPopupProviderProps>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function useMemberPopupContext(): MemberPopupContextValue;
11
+ export {};
@@ -0,0 +1,2 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{createContext as n,useContext as d}from"react";import{HeadlessProvider as a}from"@anker-in/lib";import{RegistrationProvider as s}from"../../registration";const p=n({profile:null,isLoadingProfile:!1,creditInfo:void 0,fetchCreditInfo:()=>{},openSignUpPopup:()=>{},openSignInPopup:()=>{},taskIdToTypeMapping:{},alpcConfig:{brand:"",locale:"",appName:""}});function m({children:e,headlessConfig:t,earnCreditsCopy:i,...r}){return o(a,{headlessConfig:t,children:o(s,{email:r.profile?.email,copy:{authCodeActivate:i?.authCodeActivate},children:o(p.Provider,{value:r,children:e})})})}function f(){const e=d(p);if(!e)throw new Error("useMemberPopupContext must be used within a MemberPopupProvider");return e}export{p as MemberPopupContext,m as MemberPopupProvider,f as useMemberPopupContext};
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/memberPopup/context/provider.tsx"],
4
+ "sourcesContent": ["import { createContext, PropsWithChildren, useContext } from 'react'\nimport { HeadlessProvider, type HeadlessConfig } from '@anker-in/lib'\nimport { RegistrationProvider } from '../../registration'\nimport type { EarnCreditsCopy, MemberPopupContextValue } from '../type'\n\nexport const MemberPopupContext = createContext<MemberPopupContextValue>({\n profile: null,\n isLoadingProfile: false,\n creditInfo: undefined,\n fetchCreditInfo: () => {},\n openSignUpPopup: () => {},\n openSignInPopup: () => {},\n taskIdToTypeMapping: {},\n alpcConfig: {\n brand: '',\n locale: '',\n appName: '',\n },\n})\n\ntype MemberPopupProviderProps = MemberPopupContextValue & {\n headlessConfig: HeadlessConfig\n earnCreditsCopy?: EarnCreditsCopy\n}\n\nexport function MemberPopupProvider({\n children,\n headlessConfig,\n earnCreditsCopy,\n ...contextValue\n}: PropsWithChildren<MemberPopupProviderProps>) {\n return (\n <HeadlessProvider headlessConfig={headlessConfig}>\n <RegistrationProvider\n email={contextValue.profile?.email}\n copy={{ authCodeActivate: earnCreditsCopy?.authCodeActivate }}\n >\n <MemberPopupContext.Provider value={contextValue}>\n {children}\n </MemberPopupContext.Provider>\n </RegistrationProvider>\n </HeadlessProvider>\n )\n}\n\nexport function useMemberPopupContext() {\n const context = useContext(MemberPopupContext)\n if (!context) {\n throw new Error('useMemberPopupContext must be used within a MemberPopupProvider')\n }\n return context\n}\n"],
5
+ "mappings": "AAqCQ,cAAAA,MAAA,oBArCR,OAAS,iBAAAC,EAAkC,cAAAC,MAAkB,QAC7D,OAAS,oBAAAC,MAA6C,gBACtD,OAAS,wBAAAC,MAA4B,qBAG9B,MAAMC,EAAqBJ,EAAuC,CACvE,QAAS,KACT,iBAAkB,GAClB,WAAY,OACZ,gBAAiB,IAAM,CAAC,EACxB,gBAAiB,IAAM,CAAC,EACxB,gBAAiB,IAAM,CAAC,EACxB,oBAAqB,CAAC,EACtB,WAAY,CACV,MAAO,GACP,OAAQ,GACR,QAAS,EACX,CACF,CAAC,EAOM,SAASK,EAAoB,CAClC,SAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,GAAGC,CACL,EAAgD,CAC9C,OACEV,EAACG,EAAA,CAAiB,eAAgBK,EAChC,SAAAR,EAACI,EAAA,CACC,MAAOM,EAAa,SAAS,MAC7B,KAAM,CAAE,iBAAkBD,GAAiB,gBAAiB,EAE5D,SAAAT,EAACK,EAAmB,SAAnB,CAA4B,MAAOK,EACjC,SAAAH,EACH,EACF,EACF,CAEJ,CAEO,SAASI,GAAwB,CACtC,MAAMC,EAAUV,EAAWG,CAAkB,EAC7C,GAAI,CAACO,EACH,MAAM,IAAI,MAAM,iEAAiE,EAEnF,OAAOA,CACT",
6
+ "names": ["jsx", "createContext", "useContext", "HeadlessProvider", "RegistrationProvider", "MemberPopupContext", "MemberPopupProvider", "children", "headlessConfig", "earnCreditsCopy", "contextValue", "useMemberPopupContext", "context"]
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { MemberPopupPanelType } from '../type';
2
+ export type ViewPayload = {
3
+ type: MemberPopupPanelType;
4
+ props?: Record<string, any>;
5
+ };
6
+ type ViewStackContextValue = {
7
+ pushView: (view: ViewPayload) => void;
8
+ popView: () => void;
9
+ };
10
+ export declare const ViewStackContext: import("react").Context<ViewStackContextValue>;
11
+ export declare function useViewStack(): ViewStackContextValue;
12
+ export {};
@@ -0,0 +1,2 @@
1
+ "use client";import{createContext as e,useContext as t}from"react";const o=e({pushView:()=>{},popView:()=>{}});function a(){return t(o)}export{o as ViewStackContext,a as useViewStack};
2
+ //# sourceMappingURL=viewStack.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/components/memberPopup/context/viewStack.tsx"],
4
+ "sourcesContent": ["'use client'\n\nimport { createContext, useContext, ReactNode } from 'react'\nimport type { MemberPopupPanelType } from '../type'\n\nexport type ViewPayload = {\n type: MemberPopupPanelType\n props?: Record<string, any>\n}\n\ntype ViewStackContextValue = {\n pushView: (view: ViewPayload) => void\n popView: () => void\n}\n\nexport const ViewStackContext = createContext<ViewStackContextValue>({\n pushView: () => {},\n popView: () => {},\n})\n\nexport function useViewStack() {\n return useContext(ViewStackContext)\n}\n"],
5
+ "mappings": "aAEA,OAAS,iBAAAA,EAAe,cAAAC,MAA6B,QAa9C,MAAMC,EAAmBF,EAAqC,CACnE,SAAU,IAAM,CAAC,EACjB,QAAS,IAAM,CAAC,CAClB,CAAC,EAEM,SAASG,GAAe,CAC7B,OAAOF,EAAWC,CAAgB,CACpC",
6
+ "names": ["createContext", "useContext", "ViewStackContext", "useViewStack"]
7
+ }
@@ -0,0 +1,27 @@
1
+ export declare function IconCredit({ className }: {
2
+ className?: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ export declare function IconReferral({ className }: {
5
+ className?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function IconBag({ className }: {
8
+ className?: string;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function IconArrow({ className }: {
11
+ className?: string;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export declare function IconSwitch({ className }: {
14
+ className?: string;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ export declare function IconClose({ className }: {
17
+ className?: string;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ export declare function IconLock({ className }: {
20
+ className?: string;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ export declare function IconSubscription({ className }: {
23
+ className?: string;
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ export declare function IconOrders({ className }: {
26
+ className?: string;
27
+ }): import("react/jsx-runtime").JSX.Element;