@anker-in/campaign-ui 0.2.0 → 0.2.1
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.
- package/dist/cjs/components/chat/index.js +1 -1
- package/dist/cjs/components/chat/index.js.map +3 -3
- package/dist/cjs/components/credits/const.d.ts +1 -0
- package/dist/cjs/components/credits/const.js +2 -0
- package/dist/cjs/components/credits/const.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
- package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
- package/dist/cjs/components/credits/context/hooks/useSubscribed.js +1 -1
- package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +3 -3
- package/dist/cjs/components/credits/context/provider.d.ts +8 -33
- package/dist/cjs/components/credits/context/provider.js +1 -1
- package/dist/cjs/components/credits/context/provider.js.map +3 -3
- package/dist/cjs/components/credits/creditsBanner/index.d.ts +16 -16
- package/dist/cjs/components/credits/creditsBanner/index.js +1 -1
- package/dist/cjs/components/credits/creditsBanner/index.js.map +2 -2
- package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +1 -1
- package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsBenefits/index.d.ts +7 -8
- package/dist/cjs/components/credits/creditsBenefits/index.js +3 -3
- package/dist/cjs/components/credits/creditsBenefits/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsCash/CreditsCash.d.ts +4 -0
- package/dist/cjs/components/credits/creditsCash/CreditsCash.js +2 -0
- package/dist/cjs/components/credits/creditsCash/CreditsCash.js.map +7 -0
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +1 -1
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsCash/index.d.ts +2 -11
- package/dist/cjs/components/credits/creditsCash/index.js +1 -1
- package/dist/cjs/components/credits/creditsCash/index.js.map +4 -4
- package/dist/cjs/components/credits/creditsCash/type.d.ts +1 -3
- package/dist/cjs/components/credits/creditsCash/type.js +1 -1
- package/dist/cjs/components/credits/creditsCash/type.js.map +1 -1
- package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
- package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsFaq/index.d.ts +2 -2
- package/dist/cjs/components/credits/creditsFaq/index.js +1 -1
- package/dist/cjs/components/credits/creditsFaq/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsInfoCard/index.d.ts +9 -15
- package/dist/cjs/components/credits/creditsInfoCard/index.js +1 -1
- package/dist/cjs/components/credits/creditsInfoCard/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +4 -0
- package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
- package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
- package/dist/cjs/components/credits/creditsRedeemList/index.d.ts +2 -12
- package/dist/cjs/components/credits/creditsRedeemList/index.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/index.js.map +4 -4
- package/dist/cjs/components/credits/creditsRedeemList/type.d.ts +1 -15
- package/dist/cjs/components/credits/creditsRedeemList/type.js +1 -1
- package/dist/cjs/components/credits/creditsRedeemList/type.js.map +1 -1
- package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +2 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
- package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js +1 -1
- package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
- package/dist/cjs/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
- package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js +1 -1
- package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
- package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
- package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
- package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
- package/dist/cjs/components/credits/modal/MyRewardsModal.js +1 -1
- package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/activitiesModal.js +1 -1
- package/dist/cjs/components/credits/modal/activitiesModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +1 -1
- package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/modalContainer.js +1 -1
- package/dist/cjs/components/credits/modal/modalContainer.js.map +3 -3
- package/dist/cjs/components/credits/modal/rulesModal.js +1 -1
- package/dist/cjs/components/credits/modal/rulesModal.js.map +3 -3
- package/dist/cjs/components/credits/modal/subscribeModal.d.ts +15 -0
- package/dist/cjs/components/credits/modal/subscribeModal.js +2 -0
- package/dist/cjs/components/credits/modal/subscribeModal.js.map +7 -0
- package/dist/cjs/components/credits/modal/tip.js +1 -1
- package/dist/cjs/components/credits/modal/tip.js.map +3 -3
- package/dist/cjs/components/credits/type.d.ts +23 -4
- package/dist/cjs/components/credits/type.js +1 -1
- package/dist/cjs/components/credits/type.js.map +1 -1
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +2 -2
- package/dist/cjs/components/registration/authCodeActivate/Message.js +1 -1
- package/dist/cjs/components/registration/authCodeActivate/Message.js.map +2 -2
- package/dist/cjs/components/registration/authCodeActivate/index.js +1 -1
- package/dist/cjs/components/registration/authCodeActivate/index.js.map +3 -3
- package/dist/cjs/components/registration/authCodeActivate/type.d.ts +1 -2
- package/dist/cjs/components/registration/authCodeActivate/type.js +1 -1
- package/dist/cjs/components/registration/authCodeActivate/type.js.map +1 -1
- package/dist/cjs/components/registration/context/index.d.ts +1 -0
- package/dist/cjs/components/registration/context/index.js +2 -0
- package/dist/cjs/components/registration/context/index.js.map +7 -0
- package/dist/cjs/components/registration/context/provider.d.ts +27 -0
- package/dist/cjs/components/registration/context/provider.js +2 -0
- package/dist/cjs/components/registration/context/provider.js.map +7 -0
- package/dist/cjs/components/registration/index.d.ts +1 -0
- package/dist/cjs/components/registration/index.js +1 -1
- package/dist/cjs/components/registration/index.js.map +2 -2
- package/dist/cjs/components/registration/modalContainer.d.ts +1 -2
- package/dist/cjs/components/registration/modalContainer.js +1 -1
- package/dist/cjs/components/registration/modalContainer.js.map +3 -3
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/templates/credits.d.ts +59 -0
- package/dist/cjs/templates/credits.js +2 -0
- package/dist/cjs/templates/credits.js.map +7 -0
- package/dist/cjs/templates/index.d.ts +1 -0
- package/dist/cjs/templates/index.js +2 -0
- package/dist/cjs/templates/index.js.map +7 -0
- package/dist/esm/components/chat/index.js +1 -1
- package/dist/esm/components/chat/index.js.map +2 -2
- package/dist/esm/components/credits/const.d.ts +1 -0
- package/dist/esm/components/credits/const.js +2 -0
- package/dist/esm/components/credits/const.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +1 -1
- package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +2 -2
- package/dist/esm/components/credits/context/hooks/useSubscribed.js +1 -1
- package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +3 -3
- package/dist/esm/components/credits/context/provider.d.ts +8 -33
- package/dist/esm/components/credits/context/provider.js +1 -1
- package/dist/esm/components/credits/context/provider.js.map +3 -3
- package/dist/esm/components/credits/creditsBanner/index.d.ts +16 -16
- package/dist/esm/components/credits/creditsBanner/index.js +1 -1
- package/dist/esm/components/credits/creditsBanner/index.js.map +2 -2
- package/dist/esm/components/credits/creditsBenefits/benefitItem.js +1 -1
- package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +3 -3
- package/dist/esm/components/credits/creditsBenefits/index.d.ts +7 -8
- package/dist/esm/components/credits/creditsBenefits/index.js +3 -3
- package/dist/esm/components/credits/creditsBenefits/index.js.map +2 -2
- package/dist/esm/components/credits/creditsCash/CreditsCash.d.ts +4 -0
- package/dist/esm/components/credits/creditsCash/CreditsCash.js +2 -0
- package/dist/esm/components/credits/creditsCash/CreditsCash.js.map +7 -0
- package/dist/esm/components/credits/creditsCash/RedeemableItem.d.ts +1 -5
- package/dist/esm/components/credits/creditsCash/RedeemableItem.js +1 -1
- package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +3 -3
- package/dist/esm/components/credits/creditsCash/index.d.ts +2 -11
- package/dist/esm/components/credits/creditsCash/index.js +1 -1
- package/dist/esm/components/credits/creditsCash/index.js.map +4 -4
- package/dist/esm/components/credits/creditsCash/type.d.ts +1 -3
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +1 -1
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +2 -2
- package/dist/esm/components/credits/creditsFaq/index.d.ts +2 -2
- package/dist/esm/components/credits/creditsFaq/index.js +1 -1
- package/dist/esm/components/credits/creditsFaq/index.js.map +3 -3
- package/dist/esm/components/credits/creditsInfoCard/index.d.ts +9 -15
- package/dist/esm/components/credits/creditsInfoCard/index.js +1 -1
- package/dist/esm/components/credits/creditsInfoCard/index.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.d.ts +4 -0
- package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/CreditsRedeemList.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/NonProductValue.d.ts +1 -3
- package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/NonProductValue.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +3 -3
- package/dist/esm/components/credits/creditsRedeemList/index.d.ts +2 -12
- package/dist/esm/components/credits/creditsRedeemList/index.js +1 -1
- package/dist/esm/components/credits/creditsRedeemList/index.js.map +4 -4
- package/dist/esm/components/credits/creditsRedeemList/type.d.ts +1 -15
- package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.d.ts +2 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js +2 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/CreditsWaysToGetCredits.js.map +7 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/index.d.ts +2 -2
- package/dist/esm/components/credits/creditsWaysToGetCredits/index.js +1 -1
- package/dist/esm/components/credits/creditsWaysToGetCredits/index.js.map +4 -4
- package/dist/esm/components/credits/creditsWaysToGetCredits/type.d.ts +5 -15
- package/dist/esm/components/credits/creditsWaysToGetCredits/type.js.map +2 -2
- package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.d.ts +11 -2
- package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +1 -1
- package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +3 -3
- package/dist/esm/components/credits/modal/MyRewardsModal.js +1 -1
- package/dist/esm/components/credits/modal/MyRewardsModal.js.map +3 -3
- package/dist/esm/components/credits/modal/activitiesModal.js +1 -1
- package/dist/esm/components/credits/modal/activitiesModal.js.map +3 -3
- package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +1 -1
- package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +3 -3
- package/dist/esm/components/credits/modal/modalContainer.js +1 -1
- package/dist/esm/components/credits/modal/modalContainer.js.map +3 -3
- package/dist/esm/components/credits/modal/rulesModal.js +1 -1
- package/dist/esm/components/credits/modal/rulesModal.js.map +2 -2
- package/dist/esm/components/credits/modal/subscribeModal.d.ts +15 -0
- package/dist/esm/components/credits/modal/subscribeModal.js +2 -0
- package/dist/esm/components/credits/modal/subscribeModal.js.map +7 -0
- package/dist/esm/components/credits/modal/tip.js +1 -1
- package/dist/esm/components/credits/modal/tip.js.map +3 -3
- package/dist/esm/components/credits/type.d.ts +23 -4
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/registration/authCodeActivate/Message.js +1 -1
- package/dist/esm/components/registration/authCodeActivate/Message.js.map +2 -2
- package/dist/esm/components/registration/authCodeActivate/index.js +1 -1
- package/dist/esm/components/registration/authCodeActivate/index.js.map +3 -3
- package/dist/esm/components/registration/authCodeActivate/type.d.ts +1 -2
- package/dist/esm/components/registration/context/index.d.ts +1 -0
- package/dist/esm/components/registration/context/index.js +2 -0
- package/dist/esm/components/registration/context/index.js.map +7 -0
- package/dist/esm/components/registration/context/provider.d.ts +27 -0
- package/dist/esm/components/registration/context/provider.js +2 -0
- package/dist/esm/components/registration/context/provider.js.map +7 -0
- package/dist/esm/components/registration/index.d.ts +1 -0
- package/dist/esm/components/registration/index.js +1 -1
- package/dist/esm/components/registration/index.js.map +2 -2
- package/dist/esm/components/registration/modalContainer.d.ts +1 -2
- package/dist/esm/components/registration/modalContainer.js +1 -1
- package/dist/esm/components/registration/modalContainer.js.map +3 -3
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/templates/credits.d.ts +59 -0
- package/dist/esm/templates/credits.js +2 -0
- package/dist/esm/templates/credits.js.map +7 -0
- package/dist/esm/templates/index.d.ts +1 -0
- package/dist/esm/templates/index.js +2 -0
- package/dist/esm/templates/index.js.map +7 -0
- package/package.json +5 -4
- package/src/components/chat/index.tsx +1 -1
- package/src/components/credits/context/hooks/useRedeemAndBuy.ts +0 -2
- package/src/components/credits/context/hooks/useSubscribed.ts +1 -2
- package/src/components/credits/context/provider.tsx +16 -20
- package/src/components/credits/creditsBanner/index.tsx +14 -16
- package/src/components/credits/creditsBenefits/benefitItem.tsx +19 -4
- package/src/components/credits/creditsBenefits/index.tsx +6 -10
- package/src/components/credits/creditsCash/{index.tsx → CreditsCash.tsx} +8 -26
- package/src/components/credits/creditsCash/RedeemableItem.tsx +35 -17
- package/src/components/credits/creditsCash/index.ts +2 -0
- package/src/components/credits/creditsCash/type.ts +1 -3
- package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +12 -12
- package/src/components/credits/creditsFaq/index.tsx +6 -4
- package/src/components/credits/creditsInfoCard/index.tsx +38 -33
- package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +7 -3
- package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +5 -1
- package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +5 -4
- package/src/components/credits/creditsRedeemList/{index.tsx → CreditsRedeemList.tsx} +15 -28
- package/src/components/credits/creditsRedeemList/NonProductValue.tsx +4 -3
- package/src/components/credits/creditsRedeemList/RedeemCouponModal.tsx +6 -6
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +14 -11
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx +4 -2
- package/src/components/credits/creditsRedeemList/RedeemProductModal/NonProductValue.tsx +3 -1
- package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +9 -5
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +4 -1
- package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +2 -2
- package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +11 -7
- package/src/components/credits/creditsRedeemList/index.ts +2 -0
- package/src/components/credits/creditsRedeemList/type.ts +1 -16
- package/src/components/credits/creditsWaysToGetCredits/{index.tsx → CreditsWaysToGetCredits.tsx} +64 -15
- package/src/components/credits/creditsWaysToGetCredits/index.ts +2 -0
- package/src/components/credits/creditsWaysToGetCredits/type.ts +5 -15
- package/src/components/credits/creditsWaysToGetCredits/useActions.ts +22 -8
- package/src/components/credits/modal/MyRewardsModal.tsx +10 -2
- package/src/components/credits/modal/activitiesModal.tsx +8 -3
- package/src/components/credits/modal/creditsUploadReceiptModal.tsx +9 -1
- package/src/components/credits/modal/modalContainer.tsx +5 -1
- package/src/components/credits/modal/rulesModal.tsx +1 -1
- package/src/components/credits/modal/subscribeModal.tsx +201 -0
- package/src/components/credits/modal/tip.tsx +10 -1
- package/src/components/credits/type.ts +23 -4
- package/src/components/index.ts +2 -2
- package/src/components/registration/authCodeActivate/Message.tsx +43 -0
- package/src/components/registration/authCodeActivate/index.tsx +338 -0
- package/src/components/registration/authCodeActivate/type.ts +23 -0
- package/src/components/registration/context/index.tsx +1 -0
- package/src/components/registration/context/provider.tsx +86 -0
- package/src/components/registration/index.ts +2 -0
- package/src/components/registration/modalContainer.tsx +114 -0
- package/src/index.ts +2 -1
- package/src/templates/credits.tsx +134 -0
- package/src/templates/index.ts +1 -0
- package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
- package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +0 -2
- package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
- package/dist/cjs/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
- package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +0 -2
- package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +0 -7
- package/dist/cjs/helpers/fetchResponse.d.ts +0 -14
- package/dist/cjs/helpers/fetchResponse.js +0 -2
- package/dist/cjs/helpers/fetchResponse.js.map +0 -7
- package/dist/cjs/helpers/fetcher.d.ts +0 -2
- package/dist/cjs/helpers/fetcher.js +0 -2
- package/dist/cjs/helpers/fetcher.js.map +0 -7
- package/dist/cjs/helpers/index.d.ts +0 -2
- package/dist/cjs/helpers/index.js +0 -2
- package/dist/cjs/helpers/index.js.map +0 -7
- package/dist/cjs/helpers/track.d.ts +0 -19
- package/dist/cjs/helpers/track.js +0 -2
- package/dist/cjs/helpers/track.js.map +0 -7
- package/dist/cjs/helpers/utils.d.ts +0 -3
- package/dist/cjs/helpers/utils.js +0 -2
- package/dist/cjs/helpers/utils.js.map +0 -7
- package/dist/esm/components/credits/context/hooks/useSendEmailValidation.d.ts +0 -1
- package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +0 -2
- package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +0 -7
- package/dist/esm/components/credits/context/hooks/useSubscriptions.d.ts +0 -9
- package/dist/esm/components/credits/context/hooks/useSubscriptions.js +0 -2
- package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +0 -7
- package/dist/esm/helpers/fetchResponse.d.ts +0 -14
- package/dist/esm/helpers/fetchResponse.js +0 -2
- package/dist/esm/helpers/fetchResponse.js.map +0 -7
- package/dist/esm/helpers/fetcher.d.ts +0 -2
- package/dist/esm/helpers/fetcher.js +0 -2
- package/dist/esm/helpers/fetcher.js.map +0 -7
- package/dist/esm/helpers/index.d.ts +0 -2
- package/dist/esm/helpers/index.js +0 -2
- package/dist/esm/helpers/index.js.map +0 -7
- package/dist/esm/helpers/track.d.ts +0 -19
- package/dist/esm/helpers/track.js +0 -2
- package/dist/esm/helpers/track.js.map +0 -7
- package/dist/esm/helpers/utils.d.ts +0 -3
- package/dist/esm/helpers/utils.js +0 -2
- package/dist/esm/helpers/utils.js.map +0 -7
- package/src/components/credits/context/hooks/useSendEmailValidation.ts +0 -20
- package/src/components/credits/context/hooks/useSubscriptions.ts +0 -29
- package/src/helpers/fetchResponse.ts +0 -35
- package/src/helpers/fetcher.ts +0 -44
- package/src/helpers/index.ts +0 -2
- package/src/helpers/track.ts +0 -73
- package/src/helpers/utils.ts +0 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/credits/modal/tip.tsx"],
|
|
4
|
-
"sourcesContent": ["import classNames from 'classnames'\nimport { useState } from 'react'\n\nfunction Tip({ info, index }: { info: string; index: number }) {\n const [show, setShow] = useState(false)\n\n return (\n <div\n className=\"relative ml-[6px] cursor-pointer\"\n onClick={() => {\n setShow(!show)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n onMouseOver={() => {\n setShow(true)\n }}\n onFocus={() => {\n setShow(true)\n }}\n onMouseLeave={() => {\n setShow(false)\n }}\n onBlur={() => {\n setShow(false)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9 18C13.9706 18 18 13.9706 18 9C18 4.02944 13.9706 0 9 0C4.02944 0 0 4.02944 0 9C0 13.9706 4.02944 18 9 18ZM9.765 10.7118H8.316C8.316 9.71658 8.95624 9.11788 9.5487 8.56386C10.0589 8.08679 10.5336 7.64285 10.5336 7.0074C10.5336 6.2766 9.9918 5.9112 9.1854 5.9112C8.3916 5.9112 7.7994 6.327 7.5474 7.0704L6.3 6.3648C6.7788 5.13 7.938 4.5 9.2232 4.5C10.6218 4.5 11.9826 5.3316 11.9826 6.9192C11.9826 7.95842 11.3297 8.58584 10.7324 9.15979C10.2289 9.64359 9.765 10.0894 9.765 10.7118ZM9.9918 12.69C9.9918 13.2066 9.5634 13.635 9.0468 13.635C8.5176 13.635 8.1018 13.2066 8.1018 12.69C8.1018 12.1608 8.5176 11.745 9.0468 11.745C9.5634 11.745 9.9918 12.1608 9.9918 12.69Z\"\n fill=\"#999999\"\n />\n </svg>\n <div\n className={classNames(\n 'absolute -right-[14px] hidden min-w-[300px] shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n index === 0 ? 'top-[33px]' : 'bottom-[33px]',\n show && '!block'\n )}\n >\n <i\n className=\"absolute right-[8px] blur-[12px]\"\n style={\n index === 0\n ? {\n top: '-9px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderBottom: '8px solid rgba(0,0,0,0.12)',\n }\n : {\n bottom: '-9px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderTop: '8px solid rgba(0,0,0,0.12)',\n }\n }\n ></i>\n <i\n className=\"absolute right-[8px]\"\n style={\n index === 0\n ? {\n top: '-7px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderBottom: '8px solid #fff ',\n }\n : {\n bottom: '-7px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderTop: '8px solid #fff ',\n }\n }\n ></i>\n <p
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "jsxs", "classNames", "useState", "Tip", "info", "index", "show", "setShow", "e", "tip_default"]
|
|
4
|
+
"sourcesContent": ["import { useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'\nimport classNames from 'classnames'\nimport { useState } from 'react'\n\nfunction Tip({ info, index }: { info: string; index: number }) {\n const [show, setShow] = useState(false)\n\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n return (\n <div\n className=\"relative ml-[6px] cursor-pointer\"\n onClick={() => {\n setShow(!show)\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n }\n }}\n onMouseOver={() => {\n setShow(true)\n }}\n onFocus={() => {\n setShow(true)\n }}\n onMouseLeave={() => {\n setShow(false)\n }}\n onBlur={() => {\n setShow(false)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9 18C13.9706 18 18 13.9706 18 9C18 4.02944 13.9706 0 9 0C4.02944 0 0 4.02944 0 9C0 13.9706 4.02944 18 9 18ZM9.765 10.7118H8.316C8.316 9.71658 8.95624 9.11788 9.5487 8.56386C10.0589 8.08679 10.5336 7.64285 10.5336 7.0074C10.5336 6.2766 9.9918 5.9112 9.1854 5.9112C8.3916 5.9112 7.7994 6.327 7.5474 7.0704L6.3 6.3648C6.7788 5.13 7.938 4.5 9.2232 4.5C10.6218 4.5 11.9826 5.3316 11.9826 6.9192C11.9826 7.95842 11.3297 8.58584 10.7324 9.15979C10.2289 9.64359 9.765 10.0894 9.765 10.7118ZM9.9918 12.69C9.9918 13.2066 9.5634 13.635 9.0468 13.635C8.5176 13.635 8.1018 13.2066 8.1018 12.69C8.1018 12.1608 8.5176 11.745 9.0468 11.745C9.5634 11.745 9.9918 12.1608 9.9918 12.69Z\"\n fill=\"#999999\"\n />\n </svg>\n <div\n className={classNames(\n 'absolute -right-[14px] hidden min-w-[300px] shadow-[0px_1px_12px_0px_rgba(0,0,0,0.12)]',\n index === 0 ? 'top-[33px]' : 'bottom-[33px]',\n show && '!block'\n )}\n >\n <i\n className=\"absolute right-[8px] blur-[12px]\"\n style={\n index === 0\n ? {\n top: '-9px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderBottom: '8px solid rgba(0,0,0,0.12)',\n }\n : {\n bottom: '-9px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderTop: '8px solid rgba(0,0,0,0.12)',\n }\n }\n ></i>\n <i\n className=\"absolute right-[8px]\"\n style={\n index === 0\n ? {\n top: '-7px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderBottom: '8px solid #fff ',\n }\n : {\n bottom: '-7px',\n borderRight: '16px solid transparent ',\n borderLeft: '16px solid transparent ',\n borderTop: '8px solid #fff ',\n }\n }\n ></i>\n <p\n className={classNames(\n 'relative block rounded-[4px] bg-white px-[14px] py-[12px]',\n !rounded && 'rounded-none'\n )}\n >\n <span className=\"block text-left text-[14px] font-semibold leading-[1.4] text-[#333]\">{info}</span>\n </p>\n </div>\n </div>\n )\n}\n\nexport default Tip\n"],
|
|
5
|
+
"mappings": "AAqCQ,cAAAA,EAOF,QAAAC,MAPE,oBArCR,OAAS,sBAAAC,EAAoB,kBAAAC,MAAsB,gBACnD,OAAOC,MAAgB,aACvB,OAAS,YAAAC,MAAgB,QAEzB,SAASC,EAAI,CAAE,KAAAC,EAAM,MAAAC,CAAM,EAAoC,CAC7D,KAAM,CAACC,EAAMC,CAAO,EAAIL,EAAS,EAAK,EAEhC,CAAE,MAAAM,CAAM,EAAIT,EAAmB,EAC/BU,EAAUT,EAAe,SAASQ,CAAK,EAE7C,OACEV,EAAC,OACC,UAAU,mCACV,QAAS,IAAM,CACbS,EAAQ,CAACD,CAAI,CACf,EACA,KAAK,SACL,SAAU,EACV,UAAWI,GAAK,EACVA,EAAE,MAAQ,SAAWA,EAAE,MAAQ,MACjCA,EAAE,eAAe,CAErB,EACA,YAAa,IAAM,CACjBH,EAAQ,EAAI,CACd,EACA,QAAS,IAAM,CACbA,EAAQ,EAAI,CACd,EACA,aAAc,IAAM,CAClBA,EAAQ,EAAK,CACf,EACA,OAAQ,IAAM,CACZA,EAAQ,EAAK,CACf,EAEA,UAAAV,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,YAAU,UACV,YAAU,UACV,EAAE,8pBACF,KAAK,UACP,EACF,EACAC,EAAC,OACC,UAAWG,EACT,yFACAI,IAAU,EAAI,aAAe,gBAC7BC,GAAQ,QACV,EAEA,UAAAT,EAAC,KACC,UAAU,mCACV,MACEQ,IAAU,EACN,CACE,IAAK,OACL,YAAa,0BACb,WAAY,0BACZ,aAAc,4BAChB,EACA,CACE,OAAQ,OACR,YAAa,0BACb,WAAY,0BACZ,UAAW,4BACb,EAEP,EACDR,EAAC,KACC,UAAU,uBACV,MACEQ,IAAU,EACN,CACE,IAAK,OACL,YAAa,0BACb,WAAY,0BACZ,aAAc,iBAChB,EACA,CACE,OAAQ,OACR,YAAa,0BACb,WAAY,0BACZ,UAAW,iBACb,EAEP,EACDR,EAAC,KACC,UAAWI,EACT,4DACA,CAACQ,GAAW,cACd,EAEA,SAAAZ,EAAC,QAAK,UAAU,sEAAuE,SAAAO,EAAK,EAC9F,GACF,GACF,CAEJ,CAEA,IAAOO,EAAQR",
|
|
6
|
+
"names": ["jsx", "jsxs", "useHeadlessContext", "ROUNDED_BRANDS", "classNames", "useState", "Tip", "info", "index", "show", "setShow", "brand", "rounded", "e", "tip_default"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Product, ProductVariant } from '@anker-in/lib';
|
|
2
2
|
import type { AlpcConsumeType, ConsumeType } from './context/const';
|
|
3
|
+
import { MyActivitiesMetafields } from './modal/activitiesModal';
|
|
4
|
+
import { MyRewardsMetafields } from './modal/MyRewardsModal';
|
|
3
5
|
export interface Subscription {
|
|
4
6
|
preference: {
|
|
5
7
|
subscribe: boolean;
|
|
@@ -44,12 +46,29 @@ export interface ShippingZone {
|
|
|
44
46
|
countries: ShippingCountry[];
|
|
45
47
|
}
|
|
46
48
|
export type CreditsPageCommon = {
|
|
47
|
-
pointUnit
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
pointUnit?: string;
|
|
50
|
+
infoIcon?: string;
|
|
51
|
+
ruleLabel?: string;
|
|
52
|
+
soldOut?: string;
|
|
53
|
+
copied?: string;
|
|
54
|
+
off?: string;
|
|
55
|
+
copy?: string;
|
|
56
|
+
giftCardLabel?: string;
|
|
57
|
+
imageMapping?: {
|
|
51
58
|
[key in ConsumeType]: {
|
|
52
59
|
url: string;
|
|
53
60
|
};
|
|
54
61
|
};
|
|
62
|
+
activitiesModal?: MyActivitiesMetafields;
|
|
63
|
+
rewardsModal?: MyRewardsMetafields;
|
|
64
|
+
insufficientCredits?: string;
|
|
65
|
+
validatorInfo?: {
|
|
66
|
+
addressInfo: {
|
|
67
|
+
name: string;
|
|
68
|
+
country: string;
|
|
69
|
+
province: string;
|
|
70
|
+
city: string;
|
|
71
|
+
address: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
55
74
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{default as t}from"./chat/index";import{Role as
|
|
1
|
+
import{default as t}from"./chat/index";import{Role as r,ActionExecutionMessage as s,TextMessage as p,useCopilotChat as i,useCopilotAction as l,useCopilotReadable as x}from"./chat/utils";export*from"./credits/index";export*from"./registration/index";export{s as ActionExecutionMessage,t as Chat,r as Role,p as TextMessage,l as useCopilotAction,i as useCopilotChat,x 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": ["
|
|
5
|
-
"mappings": "
|
|
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'\n\nexport * from './registration/index'\n"],
|
|
5
|
+
"mappings": "AAAA,OAAoB,WAAXA,MAAuB,eAEhC,OACE,QAAAC,EACA,0BAAAC,EACA,eAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,sBAAAC,MACK,eAEP,WAAc,kBAEd,WAAc",
|
|
6
6
|
"names": ["default", "Role", "ActionExecutionMessage", "TextMessage", "useCopilotChat", "useCopilotAction", "useCopilotReadable"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as i,jsxs as e}from"react/jsx-runtime";const s=({status:t,message:l})=>t&&e("div",{className:"absolute left-5 right-5 top-
|
|
1
|
+
import{jsx as i,jsxs as e}from"react/jsx-runtime";const s=({status:t,message:l})=>t&&e("div",{className:"absolute left-5 right-5 top-2 flex items-center gap-2 rounded-sm bg-white px-4 py-3 shadow-lg min-md:left-12 min-md:right-12",children:[e("div",{className:"flex-shrink-0",children:[t==="success"&&i("span",{className:"inline-block h-5 w-5",children:e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("g",{clipPath:"url(#clip0_205_16388)",children:[i("circle",{cx:"10",cy:"10",r:"10",fill:"#1677FF"}),i("path",{d:"M10 16L10 10",stroke:"white",strokeWidth:"2",strokeLinecap:"round"}),i("circle",{cx:"10",cy:"6.5",r:"1.5",transform:"rotate(-180 10 6.5)",fill:"white"})]}),i("defs",{children:i("clipPath",{id:"clip0_205_16388",children:i("rect",{width:"20",height:"20",fill:"white"})})})]})}),t==="error"&&i("span",{className:"inline-block h-5 w-5",children:e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[e("g",{clipPath:"url(#clip0_205_16236)",children:[i("circle",{cx:"10",cy:"10",r:"10",fill:"#F84D4F"}),i("path",{d:"M10 5L10 11",stroke:"white",strokeWidth:"2",strokeLinecap:"round"}),i("circle",{cx:"10",cy:"14.5",r:"1.5",fill:"white"})]}),i("defs",{children:i("clipPath",{id:"clip0_205_16236",children:i("rect",{width:"20",height:"20",fill:"white"})})})]})})]}),i("p",{className:"text-sm font-semibold leading-[120%] text-[#333]",children:l})]});export{s as Message};
|
|
2
2
|
//# sourceMappingURL=Message.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/registration/authCodeActivate/Message.tsx"],
|
|
4
|
-
"sourcesContent": ["export const Message = ({ status, message }: { status: string; message: string }) => {\n return (\n status && (\n <div className=\"absolute left-5 right-5 top-
|
|
5
|
-
"mappings": "AAQgB,OACE,OAAAA,EADF,QAAAC,MAAA,oBART,MAAMC,EAAU,CAAC,CAAE,OAAAC,EAAQ,QAAAC,CAAQ,IAEtCD,GACEF,EAAC,OAAI,UAAU,
|
|
4
|
+
"sourcesContent": ["export const Message = ({ status, message }: { status: string; message: string }) => {\n return (\n status && (\n <div className=\"absolute left-5 right-5 top-2 flex items-center gap-2 rounded-sm bg-white px-4 py-3 shadow-lg min-md:left-12 min-md:right-12\">\n <div className=\"flex-shrink-0\">\n {status === 'success' && (\n <span className=\"inline-block h-5 w-5\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clipPath=\"url(#clip0_205_16388)\">\n <circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#1677FF\" />\n <path d=\"M10 16L10 10\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n <circle cx=\"10\" cy=\"6.5\" r=\"1.5\" transform=\"rotate(-180 10 6.5)\" fill=\"white\" />\n </g>\n <defs>\n <clipPath id=\"clip0_205_16388\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </span>\n )}\n {status === 'error' && (\n <span className=\"inline-block h-5 w-5\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clipPath=\"url(#clip0_205_16236)\">\n <circle cx=\"10\" cy=\"10\" r=\"10\" fill=\"#F84D4F\" />\n <path d=\"M10 5L10 11\" stroke=\"white\" strokeWidth=\"2\" strokeLinecap=\"round\" />\n <circle cx=\"10\" cy=\"14.5\" r=\"1.5\" fill=\"white\" />\n </g>\n <defs>\n <clipPath id=\"clip0_205_16236\">\n <rect width=\"20\" height=\"20\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </span>\n )}\n </div>\n <p className=\"text-sm font-semibold leading-[120%] text-[#333]\">{message}</p>\n </div>\n )\n )\n}\n"],
|
|
5
|
+
"mappings": "AAQgB,OACE,OAAAA,EADF,QAAAC,MAAA,oBART,MAAMC,EAAU,CAAC,CAAE,OAAAC,EAAQ,QAAAC,CAAQ,IAEtCD,GACEF,EAAC,OAAI,UAAU,+HACb,UAAAA,EAAC,OAAI,UAAU,gBACZ,UAAAE,IAAW,WACVH,EAAC,QAAK,UAAU,uBACd,SAAAC,EAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,UAAAA,EAAC,KAAE,SAAS,wBACV,UAAAD,EAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,KAAK,UAAU,EAC9CA,EAAC,QAAK,EAAE,eAAe,OAAO,QAAQ,YAAY,IAAI,cAAc,QAAQ,EAC5EA,EAAC,UAAO,GAAG,KAAK,GAAG,MAAM,EAAE,MAAM,UAAU,sBAAsB,KAAK,QAAQ,GAChF,EACAA,EAAC,QACC,SAAAA,EAAC,YAAS,GAAG,kBACX,SAAAA,EAAC,QAAK,MAAM,KAAK,OAAO,KAAK,KAAK,QAAQ,EAC5C,EACF,GACF,EACF,EAEDG,IAAW,SACVH,EAAC,QAAK,UAAU,uBACd,SAAAC,EAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,UAAAA,EAAC,KAAE,SAAS,wBACV,UAAAD,EAAC,UAAO,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,KAAK,UAAU,EAC9CA,EAAC,QAAK,EAAE,cAAc,OAAO,QAAQ,YAAY,IAAI,cAAc,QAAQ,EAC3EA,EAAC,UAAO,GAAG,KAAK,GAAG,OAAO,EAAE,MAAM,KAAK,QAAQ,GACjD,EACAA,EAAC,QACC,SAAAA,EAAC,YAAS,GAAG,kBACX,SAAAA,EAAC,QAAK,MAAM,KAAK,OAAO,KAAK,KAAK,QAAQ,EAC5C,EACF,GACF,EACF,GAEJ,EACAA,EAAC,KAAE,UAAU,mDAAoD,SAAAI,EAAQ,GAC3E",
|
|
6
6
|
"names": ["jsx", "jsxs", "Message", "status", "message"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as s,jsxs as C}from"react/jsx-runtime";import{Button as W,Text as r}from"@anker-in/headless-ui";import{useSendEmailValidation as X,gaTrack as H,classNames as L,useHeadlessContext as Y,useEmailValidation as Z,useCountDown as y,ROUNDED_BRANDS as ee}from"@anker-in/lib";import{useCallback as V,useEffect as v,useRef as te,useState as p}from"react";import{Message as ae}from"./Message";import{useRegistration as se}from"../context";import{RegistrationModalContainer as ne}from"../modalContainer";const fe=({copy:t})=>{const{locale:B,brand:$}=Y(),{email:o,authCodeActivate:g}=se(),F=ee.includes($),{activeToken:_,setActiveToken:O,setIsSendingActivateEmail:M,setIsActivateSuccess:P,onAuthSuccess:b,autoSendEmail:k}=g,{isMutating:j,trigger:z}=Z(),{isMutating:E,trigger:h,data:N}=X(),[K,l]=p(""),[U,c]=p(""),{startCountDown:D,startAction:I,countDown:q}=y(60),[R,u]=p(""),[w,d]=p(0),[n,S]=p(new Array(6).fill("")),T=te([]),x=n.join("");v(()=>{T.current[w]&&T.current[w].focus()},[w]),v(()=>{N?.data?.data?.active_token&&O(N.data.data.active_token)},[N?.data?.data?.active_token]),v(()=>{M(E)},[E,M]),v(()=>{k&&o&&h({email:o,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{c("success"),l(t?.sendEmailSuccessMessage||""),I(),setTimeout(()=>{c(""),l("")},5e3)}})},[k,o,h]);const G=V(async()=>{o&&(await h({email:o,data:{redirect_url:`${window?.location?.origin}${window?.location?.pathname}`}},{onSuccess:()=>{c("success"),l(t?.sendEmailSuccessMessage||""),I(),setTimeout(()=>{c(""),l("")},5e3)}}),H({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"sent_again"}}))},[o,h]),J=(f,e)=>{const{value:a}=f.target;if(u(""),Number.isNaN(Number(a)))return;if(a.length>1){e<n.length-1&&(n[e+1]||(d(e+1),S(m=>{const A=[...m];return A[e]=a[0],a.length>1&&(A[e+1]=a[1]),A})));return}const i=[...n];i[e]=a,S(i),a?e<n.length-1&&!n[e+1]&&d(e+1):e>0&&d(e-1)},Q=V(async()=>{if(!x?.length){u(t?.codeEmptyError||"");return}if(x.length<6){u(t?.incorrectCodeError||"");return}_&&await z({token:_,code:x},{onSuccess:e=>{e.status>=200&&e.status<300?(c("success"),l(t?.authSuccessMessage||""),P(!0),b?b():setTimeout(()=>{g.close()},3e3)):e?.data?.error_code==="104"?b?b():setTimeout(()=>{g.close()},3e3):e?.data?.error_code==="142"?u(t?.incorrectCodeError||"Invalid verification code."):e?.data?.error_code==="154"?u(t?.expiredCodeMessage||""):u(t?.sendEmailErrorMessage||"")}});let f=setTimeout(()=>{c(""),l(""),clearTimeout(f)},5e3);H({event:"ga4Event",event_name:"lp_button",event_parameters:{page_group:"reg_sub_pop",position:"auth_code",button_name:"check_and_active"}})},[x,t?.codeEmptyError,t?.authSuccessMessage,t?.incorrectCodeError,t?.expiredCodeMessage,t?.sendEmailErrorMessage,B,_]);return s(ne,{isOpen:g.isOpen,onClose:g.close,children:C("div",{className:"relative",children:[C("div",{children:[s(r,{className:"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]",html:t?.authCodeTitle}),s(r,{as:"p",className:"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]",html:t?.authCodeDesc?.replace("%email%",o||"")})]}),C("div",{className:"mt-6",children:[s(r,{className:"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6",html:t?.enterActiveCodeText}),s("div",{className:"my-3 grid grid-cols-6 gap-2",children:n.map((f,e)=>s("div",{className:"col-span-1 aspect-1 text-[#555]",children:s("input",{ref:a=>{a&&(T.current[e]=a)},type:"tel",className:L("flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none",F&&"rounded-[12px]"),value:f,autoComplete:"false",autoCorrect:"false",spellCheck:"false",autoCapitalize:"false",onChange:a=>J(a,e),onFocus:()=>{d(e)},onPaste:a=>{const i=a.clipboardData.getData("text");if(!Number.isNaN(Number(i))){const m=i.split("").slice(0,6);S(m.concat(Array(6-m.length).fill(""))),m.length<=n.length&&d(m.length-1)}},onKeyDown:a=>{const{value:i}=a.target;a.key==="Backspace"&&!i&&e>0&&d(e-1)}},e)},e))}),R&&s(r,{className:"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]",html:R}),t?.authCodeContent&&s("ul",{className:'flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-["\u2022"]',dangerouslySetInnerHTML:{__html:t?.authCodeContent}})]}),C("div",{className:"mt-4 min-l:mt-6",children:[s(r,{className:"text-base font-semibold leading-[100%] text-[#333]",html:t?.authCodeReceiveText})," ",D?s(r,{html:t?.retrieveText?.replace("%countdownTime%",q.toString()),className:"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline"}):s(r,{onClick:G,className:L("cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline",{"pointer-events-none":D||E}),html:t?.sendAgainText}),s(W,{type:"submit",loading:j,className:"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8",onClick:Q,children:t.buttonText})]}),s(ae,{status:U,message:K})]})})};export{fe as AuthCodeActivate};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/components/registration/authCodeActivate/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Button, Text } from '@anker-in/headless-ui'\nimport {\n useSendEmailValidation,\n gaTrack,\n classNames as cn,\n useHeadlessContext,\n useRegistration,\n useEmailValidation,\n useCountDown,\n} from '@anker-in/lib'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Message } from './Message'\nimport { AuthCodeActivateProps } from './type'\n\nexport const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ data, autoSendEmail = false }) => {\n const { locale } = useHeadlessContext()\n const {\n email,\n authCodeActivate: { activeToken, setActiveToken, setIsSendingActivateEmail, setIsActivateSuccess, onAuthSuccess },\n } = useRegistration()\n const { isMutating: emailValidationLoading, trigger: triggerEmailValidation } = useEmailValidation()\n\n const {\n isMutating: isSendingEmail,\n trigger: triggerSendValidationEmail,\n data: sendEmailData,\n } = useSendEmailValidation()\n\n const [messageText, setMessageText] = useState('')\n const [resendStatus, setResendStatus] = useState('')\n const { startCountDown, startAction, countDown } = useCountDown(60)\n\n const [error, setError] = useState('')\n const [focusIndex, setFocusIndex] = useState(0)\n const [codeArray, setCodeArray] = useState(new Array(6).fill(''))\n\n const inputRefs = useRef<HTMLInputElement[]>([])\n const code = codeArray.join('')\n\n useEffect(() => {\n if (inputRefs.current[focusIndex]) {\n inputRefs.current[focusIndex].focus()\n }\n }, [focusIndex])\n\n useEffect(() => {\n if (sendEmailData.active_token) {\n setActiveToken(sendEmailData.active_token)\n }\n }, [sendEmailData])\n\n useEffect(() => {\n setIsSendingActivateEmail(isSendingEmail)\n }, [isSendingEmail, setIsSendingActivateEmail])\n\n // \u81EA\u52A8\u53D1\u9001\u90AE\u7BB1\u9A8C\u8BC1\u7801\n useEffect(() => {\n if (autoSendEmail && email) {\n triggerSendValidationEmail({\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n })\n }\n }, [autoSendEmail, email, triggerSendValidationEmail])\n\n const handleSendAgain = useCallback(async () => {\n if (!email) return\n // \u53D1\u8D77\u7F51\u7EDC\u8BF7\u6C42\n await triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setResendStatus('success')\n startAction()\n },\n }\n )\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'sent_again',\n },\n })\n }, [email, triggerSendValidationEmail])\n\n const handleInputCodeChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const { value } = event.target\n\n setError('')\n\n if (Number.isNaN(Number(value))) {\n return\n }\n\n if (value.length > 1) {\n if (index < codeArray.length - 1) {\n if (!codeArray[index + 1]) {\n setFocusIndex(index + 1)\n setCodeArray(old => {\n const newCode = [...old]\n newCode[index] = value[0]\n if (value.length > 1) {\n newCode[index + 1] = value[1]\n }\n return newCode\n })\n }\n }\n return\n }\n const newCode = [...codeArray]\n newCode[index] = value\n setCodeArray(newCode)\n if (value) {\n if (index < codeArray.length - 1 && !codeArray[index + 1]) {\n setFocusIndex(index + 1)\n }\n } else if (index > 0) {\n setFocusIndex(index - 1)\n }\n }\n\n const handleAuthCodeSubmit = useCallback(async () => {\n if (!code?.length) {\n setError(data?.codeEmptyError || '')\n return\n }\n\n if (code.length < 6) {\n setError(data?.incorrectCodeError || '')\n return\n }\n\n if (activeToken) {\n await triggerEmailValidation(\n {\n token: activeToken,\n code: code,\n },\n {\n onSuccess: () => {\n setResendStatus('success')\n setMessageText(data?.authSuccessMessage || '')\n setIsActivateSuccess(true)\n onAuthSuccess?.()\n },\n onError: (err: any) => {\n if (err?.errorCode === '104') {\n } else if (err?.errorCode === '142') {\n setError(data?.incorrectCodeError || 'Invalid verification code.')\n } else if (err?.errorCode === '154') {\n setError(data?.expiredCodeMessage || '')\n } else {\n setError(data?.sendEmailErrorMessage || '')\n }\n },\n }\n )\n }\n\n // \u8BBE\u7F6E\u5B9A\u65F6\u5668\u6E05\u9664\u72B6\u6001\u4FE1\u606F\n let timer = setTimeout(() => {\n setResendStatus('')\n setMessageText('')\n clearTimeout(timer)\n }, 5000)\n\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n },\n })\n }, [\n code,\n data?.codeEmptyError,\n data?.authSuccessMessage,\n data?.incorrectCodeError,\n data?.expiredCodeMessage,\n data?.sendEmailErrorMessage,\n locale,\n activeToken,\n ])\n\n return (\n <div className={cn('p-12 px-5 !pb-12 min-l:px-12')}>\n <div>\n <Text\n className=\"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]\"\n html={data?.authCodeTitle}\n />\n <Text\n as=\"p\"\n className=\"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]\"\n html={data?.authCodeDesc?.replace('%email%', email || '')}\n />\n </div>\n <div className=\"mt-6\">\n <Text\n className=\"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6\"\n html={data?.enterActiveCodeText}\n />\n <div className=\"my-3 flex justify-between\">\n {codeArray.map((item, index) => (\n <div key={index} className=\"col-span-1 aspect-1 text-[#555]\">\n <input\n ref={inputRef => {\n if (inputRef) {\n inputRefs.current[index] = inputRef\n }\n }}\n key={index}\n type=\"tel\"\n className=\"flex size-full items-center justify-center rounded-[12px] border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none\"\n value={item}\n autoComplete=\"false\"\n autoCorrect=\"false\"\n spellCheck=\"false\"\n autoCapitalize=\"false\"\n onChange={event => handleInputCodeChange(event, index)}\n onFocus={() => {\n setFocusIndex(index)\n }}\n onPaste={event => {\n const paste = event.clipboardData.getData('text')\n if (!Number.isNaN(Number(paste))) {\n const pastedCode = paste.split('').slice(0, 6)\n setCodeArray(pastedCode.concat(Array(6 - pastedCode.length).fill('')))\n if (pastedCode.length <= codeArray.length) {\n setFocusIndex(pastedCode.length - 1)\n }\n }\n }}\n onKeyDown={event => {\n const { value } = event.target as HTMLInputElement\n if (event.key === 'Backspace' && !value && index > 0) {\n setFocusIndex(index - 1)\n }\n }}\n />\n </div>\n ))}\n </div>\n\n {error && <Text className=\"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]\" html={error} />}\n {data?.authCodeContent && (\n <ul\n className='flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-[\"\u2022\"]'\n dangerouslySetInnerHTML={{ __html: data?.authCodeContent }}\n />\n )}\n </div>\n <div className=\"mt-4 min-l:mt-6\">\n <Text className=\"text-base font-semibold leading-[100%] text-[#333]\" html={data?.authCodeReceiveText} />{' '}\n {startCountDown ? (\n <Text\n html={data?.retrieveText?.replace('%countdownTime%', countDown.toString())}\n className=\"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline\"\n />\n ) : (\n <Text\n onClick={handleSendAgain}\n className={cn(\n 'cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline',\n {\n 'pointer-events-none': startCountDown || isSendingEmail,\n }\n )}\n html={data?.sendAgainText}\n />\n )}\n <Button\n type=\"submit\"\n loading={emailValidationLoading}\n className=\"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center rounded-[40px] px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8\"\n onClick={handleAuthCodeSubmit}\n >\n {data.buttonText}\n </Button>\n </div>\n <Message status={resendStatus} message={messageText} />\n </div>\n )\n}\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "jsxs", "Button", "Text", "useSendEmailValidation", "gaTrack", "cn", "useHeadlessContext", "
|
|
4
|
+
"sourcesContent": ["import { Button, Text } from '@anker-in/headless-ui'\nimport {\n useSendEmailValidation,\n gaTrack,\n classNames as cn,\n useHeadlessContext,\n useEmailValidation,\n useCountDown,\n ROUNDED_BRANDS,\n} from '@anker-in/lib'\nimport React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Message } from './Message'\nimport { AuthCodeActivateProps } from './type'\nimport { useRegistration } from '../context'\nimport { RegistrationModalContainer } from '../modalContainer'\n\nexport const AuthCodeActivate: React.FC<AuthCodeActivateProps> = ({ copy }) => {\n const { locale, brand } = useHeadlessContext()\n const { email, authCodeActivate } = useRegistration()\n const rounded = ROUNDED_BRANDS.includes(brand)\n\n const { activeToken, setActiveToken, setIsSendingActivateEmail, setIsActivateSuccess, onAuthSuccess, autoSendEmail } =\n authCodeActivate\n\n const { isMutating: emailValidationLoading, trigger: triggerEmailValidation } = useEmailValidation()\n\n const {\n isMutating: isSendingEmail,\n trigger: triggerSendValidationEmail,\n data: sendEmailData,\n } = useSendEmailValidation()\n\n const [messageText, setMessageText] = useState('')\n const [messageStatus, setMessageStatus] = useState('')\n const { startCountDown: isStartCountDown, startAction: startCountDown, countDown } = useCountDown(60)\n\n const [error, setError] = useState('')\n const [focusIndex, setFocusIndex] = useState(0)\n const [codeArray, setCodeArray] = useState(new Array(6).fill(''))\n\n const inputRefs = useRef<HTMLInputElement[]>([])\n const code = codeArray.join('')\n\n useEffect(() => {\n if (inputRefs.current[focusIndex]) {\n inputRefs.current[focusIndex].focus()\n }\n }, [focusIndex])\n\n useEffect(() => {\n if (sendEmailData?.data?.data?.active_token) {\n setActiveToken(sendEmailData.data.data.active_token)\n }\n }, [sendEmailData?.data?.data?.active_token])\n\n useEffect(() => {\n setIsSendingActivateEmail(isSendingEmail)\n }, [isSendingEmail, setIsSendingActivateEmail])\n\n // \u81EA\u52A8\u53D1\u9001\u90AE\u7BB1\u9A8C\u8BC1\u7801\n useEffect(() => {\n if (autoSendEmail && email) {\n triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n }\n }, [autoSendEmail, email, triggerSendValidationEmail])\n\n const handleSendAgain = useCallback(async () => {\n if (!email) return\n // \u53D1\u8D77\u7F51\u7EDC\u8BF7\u6C42\n await triggerSendValidationEmail(\n {\n email: email,\n data: {\n redirect_url: `${window?.location?.origin}${window?.location?.pathname}`,\n },\n },\n {\n onSuccess: () => {\n setMessageStatus('success')\n setMessageText(copy?.sendEmailSuccessMessage || '')\n startCountDown()\n setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n }, 5000)\n },\n }\n )\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'sent_again',\n },\n })\n }, [email, triggerSendValidationEmail])\n\n const handleInputCodeChange = (event: React.ChangeEvent<HTMLInputElement>, index: number) => {\n const { value } = event.target\n\n setError('')\n\n if (Number.isNaN(Number(value))) {\n return\n }\n\n if (value.length > 1) {\n if (index < codeArray.length - 1) {\n if (!codeArray[index + 1]) {\n setFocusIndex(index + 1)\n setCodeArray(old => {\n const newCode = [...old]\n newCode[index] = value[0]\n if (value.length > 1) {\n newCode[index + 1] = value[1]\n }\n return newCode\n })\n }\n }\n return\n }\n const newCode = [...codeArray]\n newCode[index] = value\n setCodeArray(newCode)\n if (value) {\n if (index < codeArray.length - 1 && !codeArray[index + 1]) {\n setFocusIndex(index + 1)\n }\n } else if (index > 0) {\n setFocusIndex(index - 1)\n }\n }\n\n const handleAuthCodeSubmit = useCallback(async () => {\n if (!code?.length) {\n setError(copy?.codeEmptyError || '')\n return\n }\n\n if (code.length < 6) {\n setError(copy?.incorrectCodeError || '')\n return\n }\n\n if (activeToken) {\n await triggerEmailValidation(\n {\n token: activeToken,\n code: code,\n },\n {\n onSuccess: data => {\n if (data.status >= 200 && data.status < 300) {\n setMessageStatus('success')\n setMessageText(copy?.authSuccessMessage || '')\n setIsActivateSuccess(true)\n if (onAuthSuccess) {\n onAuthSuccess()\n } else {\n setTimeout(() => {\n authCodeActivate.close()\n }, 3000)\n }\n } else {\n if (data?.data?.error_code === '104') {\n if (onAuthSuccess) {\n onAuthSuccess()\n } else {\n setTimeout(() => {\n authCodeActivate.close()\n }, 3000)\n }\n } else if (data?.data?.error_code === '142') {\n setError(copy?.incorrectCodeError || 'Invalid verification code.')\n } else if (data?.data?.error_code === '154') {\n setError(copy?.expiredCodeMessage || '')\n } else {\n setError(copy?.sendEmailErrorMessage || '')\n }\n }\n },\n }\n )\n }\n\n // \u8BBE\u7F6E\u5B9A\u65F6\u5668\u6E05\u9664\u72B6\u6001\u4FE1\u606F\n let timer = setTimeout(() => {\n setMessageStatus('')\n setMessageText('')\n clearTimeout(timer)\n }, 5000)\n\n gaTrack({\n event: 'ga4Event',\n event_name: 'lp_button',\n event_parameters: {\n page_group: 'reg_sub_pop',\n position: 'auth_code',\n button_name: 'check_and_active',\n },\n })\n }, [\n code,\n copy?.codeEmptyError,\n copy?.authSuccessMessage,\n copy?.incorrectCodeError,\n copy?.expiredCodeMessage,\n copy?.sendEmailErrorMessage,\n locale,\n activeToken,\n ])\n\n return (\n <RegistrationModalContainer isOpen={authCodeActivate.isOpen} onClose={authCodeActivate.close}>\n <div className=\"relative\">\n <div>\n <Text\n className=\"text-[22px] font-extrabold leading-[120%] text-[#333] min-l:text-[24px] [&_abbr]:text-[#005d8e]\"\n html={copy?.authCodeTitle}\n />\n <Text\n as=\"p\"\n className=\"mt-3 text-[14px] font-semibold leading-[140%] text-[rgba(51,51,51,0.75)] min-l:text-base [&_abbr]:text-[#333]\"\n html={copy?.authCodeDesc?.replace('%email%', email || '')}\n />\n </div>\n <div className=\"mt-6\">\n <Text\n className=\"mt-4 text-[14px] !font-bold font-semibold leading-[140%] text-[#333] min-l:mt-6\"\n html={copy?.enterActiveCodeText}\n />\n <div className=\"my-3 grid grid-cols-6 gap-2\">\n {codeArray.map((item, index) => (\n <div key={index} className=\"col-span-1 aspect-1 text-[#555]\">\n <input\n ref={inputRef => {\n if (inputRef) {\n inputRefs.current[index] = inputRef\n }\n }}\n key={index}\n type=\"tel\"\n className={cn(\n 'flex size-full items-center justify-center border border-[#333333]/20 bg-[#EEEEEE] text-center text-[24px] font-medium focus:border-[#333]/50 [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none [&:focus-visible]:outline-none',\n rounded && 'rounded-[12px]'\n )}\n value={item}\n autoComplete=\"false\"\n autoCorrect=\"false\"\n spellCheck=\"false\"\n autoCapitalize=\"false\"\n onChange={event => handleInputCodeChange(event, index)}\n onFocus={() => {\n setFocusIndex(index)\n }}\n onPaste={event => {\n const paste = event.clipboardData.getData('text')\n if (!Number.isNaN(Number(paste))) {\n const pastedCode = paste.split('').slice(0, 6)\n setCodeArray(pastedCode.concat(Array(6 - pastedCode.length).fill('')))\n if (pastedCode.length <= codeArray.length) {\n setFocusIndex(pastedCode.length - 1)\n }\n }\n }}\n onKeyDown={event => {\n const { value } = event.target as HTMLInputElement\n if (event.key === 'Backspace' && !value && index > 0) {\n setFocusIndex(index - 1)\n }\n }}\n />\n </div>\n ))}\n </div>\n\n {error && <Text className=\"mb-3 text-[14px] font-semibold leading-[120%] text-[#f84d4f]\" html={error} />}\n {copy?.authCodeContent && (\n <ul\n className='flex flex-col gap-1 [&_li]:flex [&_li]:gap-2 [&_li]:text-[14px] [&_li]:font-semibold [&_li]:leading-[120%] [&_li]:text-[rgba(51,51,51,0.55)] [&_li]:before:content-[\"\u2022\"]'\n dangerouslySetInnerHTML={{ __html: copy?.authCodeContent }}\n />\n )}\n </div>\n <div className=\"mt-4 min-l:mt-6\">\n <Text className=\"text-base font-semibold leading-[100%] text-[#333]\" html={copy?.authCodeReceiveText} />{' '}\n {isStartCountDown ? (\n <Text\n html={copy?.retrieveText?.replace('%countdownTime%', countDown.toString())}\n className=\"cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline\"\n />\n ) : (\n <Text\n onClick={handleSendAgain}\n className={cn(\n 'cursor-pointer text-base font-semibold leading-[100%] !text-brand text-[#005d8e] text-[#333] underline',\n {\n 'pointer-events-none': isStartCountDown || isSendingEmail,\n }\n )}\n html={copy?.sendAgainText}\n />\n )}\n <Button\n type=\"submit\"\n loading={emailValidationLoading}\n className=\"mt-6 flex h-[54px] w-full cursor-pointer items-center justify-center px-8 py-[15px] text-center text-base font-bold leading-[100%] text-white min-l:mt-8\"\n onClick={handleAuthCodeSubmit}\n >\n {copy.buttonText}\n </Button>\n </div>\n <Message status={messageStatus} message={messageText} />\n </div>\n </RegistrationModalContainer>\n )\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "Button", "Text", "useSendEmailValidation", "gaTrack", "cn", "useHeadlessContext", "useEmailValidation", "useCountDown", "ROUNDED_BRANDS", "useCallback", "useEffect", "useRef", "useState", "Message", "useRegistration", "RegistrationModalContainer", "AuthCodeActivate", "copy", "locale", "brand", "email", "authCodeActivate", "rounded", "activeToken", "setActiveToken", "setIsSendingActivateEmail", "setIsActivateSuccess", "onAuthSuccess", "autoSendEmail", "emailValidationLoading", "triggerEmailValidation", "isSendingEmail", "triggerSendValidationEmail", "sendEmailData", "messageText", "setMessageText", "messageStatus", "setMessageStatus", "isStartCountDown", "startCountDown", "countDown", "error", "setError", "focusIndex", "setFocusIndex", "codeArray", "setCodeArray", "inputRefs", "code", "handleSendAgain", "handleInputCodeChange", "event", "index", "value", "old", "newCode", "handleAuthCodeSubmit", "data", "timer", "item", "inputRef", "paste", "pastedCode"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './provider';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Dispatch, PropsWithChildren, SetStateAction } from 'react';
|
|
2
|
+
interface RegistrationContextType {
|
|
3
|
+
email?: string;
|
|
4
|
+
copy?: any;
|
|
5
|
+
authCodeActivate: {
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
open: () => void;
|
|
8
|
+
close: () => void;
|
|
9
|
+
isActivateSuccess: boolean;
|
|
10
|
+
activeToken?: string;
|
|
11
|
+
onAuthSuccess: (() => void) | undefined;
|
|
12
|
+
isSendingActivateEmail: boolean;
|
|
13
|
+
setIsSendingActivateEmail: Dispatch<SetStateAction<boolean>>;
|
|
14
|
+
setActiveToken: Dispatch<SetStateAction<string | undefined>>;
|
|
15
|
+
setIsActivateSuccess: Dispatch<SetStateAction<boolean>>;
|
|
16
|
+
setOnAuthSuccess: Dispatch<SetStateAction<(() => void) | undefined>>;
|
|
17
|
+
autoSendEmail: boolean;
|
|
18
|
+
setAutoSendEmail: Dispatch<SetStateAction<boolean>>;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export declare const RegistrationContext: import("react").Context<RegistrationContextType>;
|
|
22
|
+
export declare const useRegistration: () => RegistrationContextType;
|
|
23
|
+
export declare const RegistrationProvider: ({ children, email, copy }: PropsWithChildren<{
|
|
24
|
+
email?: string;
|
|
25
|
+
copy?: any;
|
|
26
|
+
}>) => import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as C,jsxs as E}from"react/jsx-runtime";import{createContext as f,useContext as g,useState as e}from"react";import{AuthCodeActivate as m}from"../authCodeActivate";const s=f({email:void 0,copy:void 0,authCodeActivate:{activeToken:void 0,setActiveToken:()=>{},isOpen:!1,open:()=>{},close:()=>{},isActivateSuccess:!1,isSendingActivateEmail:!1,setIsSendingActivateEmail:()=>{},setIsActivateSuccess:()=>{},setOnAuthSuccess:()=>{},onAuthSuccess:void 0,autoSendEmail:!1,setAutoSendEmail:()=>{}}}),k=()=>{const t=g(s);if(!t)throw new Error("useRegistration must be used within a RegistrationProvider");return t},y=({children:t,email:o,copy:i})=>{const[a,n]=e(!1),[c,d]=e(void 0),[u,r]=e(!1),[A,l]=e(),[S,v]=e(!1),[h,p]=e(!1);return E(s.Provider,{value:{email:o,copy:i,authCodeActivate:{activeToken:A,isOpen:a,open:()=>n(!0),close:()=>n(!1),isActivateSuccess:u,setIsActivateSuccess:r,onAuthSuccess:c,setOnAuthSuccess:d,isSendingActivateEmail:S,setIsSendingActivateEmail:v,setActiveToken:l,autoSendEmail:h,setAutoSendEmail:p}},children:[t,i?.authCodeActivate&&C(m,{copy:i.authCodeActivate})]})};export{s as RegistrationContext,y as RegistrationProvider,k as useRegistration};
|
|
2
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/components/registration/context/provider.tsx"],
|
|
4
|
+
"sourcesContent": ["import { createContext, Dispatch, PropsWithChildren, SetStateAction, useContext, useState } from 'react'\nimport { AuthCodeActivate } from '../authCodeActivate'\n\ninterface RegistrationContextType {\n email?: string\n copy?: any\n authCodeActivate: {\n isOpen: boolean\n open: () => void\n close: () => void\n isActivateSuccess: boolean\n activeToken?: string\n onAuthSuccess: (() => void) | undefined\n isSendingActivateEmail: boolean\n setIsSendingActivateEmail: Dispatch<SetStateAction<boolean>>\n setActiveToken: Dispatch<SetStateAction<string | undefined>>\n setIsActivateSuccess: Dispatch<SetStateAction<boolean>>\n setOnAuthSuccess: Dispatch<SetStateAction<(() => void) | undefined>>\n autoSendEmail: boolean\n setAutoSendEmail: Dispatch<SetStateAction<boolean>>\n }\n}\n\nexport const RegistrationContext = createContext<RegistrationContextType>({\n email: undefined,\n copy: undefined,\n authCodeActivate: {\n activeToken: undefined,\n setActiveToken: () => {},\n isOpen: false,\n open: () => {},\n close: () => {},\n isActivateSuccess: false,\n isSendingActivateEmail: false,\n setIsSendingActivateEmail: () => {},\n setIsActivateSuccess: () => {},\n setOnAuthSuccess: () => {},\n onAuthSuccess: undefined,\n autoSendEmail: false,\n setAutoSendEmail: () => {},\n },\n})\n\nexport const useRegistration = () => {\n const context = useContext(RegistrationContext)\n if (!context) {\n throw new Error('useRegistration must be used within a RegistrationProvider')\n }\n return context\n}\n\nexport const RegistrationProvider = ({ children, email, copy }: PropsWithChildren<{ email?: string; copy?: any }>) => {\n const [popAuthCode, setPopAuthCode] = useState(false)\n const [onAuthSuccess, setOnAuthSuccess] = useState<(() => void) | undefined>(undefined)\n const [isActivateSuccess, setIsActivateSuccess] = useState(false)\n const [activeToken, setActiveToken] = useState<string>()\n const [isSendingActivateEmail, setIsSendingActivateEmail] = useState(false)\n const [autoSendEmail, setAutoSendEmail] = useState(false)\n\n return (\n <RegistrationContext.Provider\n value={{\n email,\n copy,\n authCodeActivate: {\n activeToken,\n isOpen: popAuthCode,\n open: () => setPopAuthCode(true),\n close: () => setPopAuthCode(false),\n isActivateSuccess,\n setIsActivateSuccess,\n onAuthSuccess,\n setOnAuthSuccess,\n isSendingActivateEmail,\n setIsSendingActivateEmail,\n setActiveToken,\n autoSendEmail,\n setAutoSendEmail,\n },\n }}\n >\n {children}\n {copy?.authCodeActivate && <AuthCodeActivate copy={copy.authCodeActivate} />}\n </RegistrationContext.Provider>\n )\n}\n"],
|
|
5
|
+
"mappings": "AA4DI,OAsB6B,OAAAA,EAtB7B,QAAAC,MAAA,oBA5DJ,OAAS,iBAAAC,EAA4D,cAAAC,EAAY,YAAAC,MAAgB,QACjG,OAAS,oBAAAC,MAAwB,sBAsB1B,MAAMC,EAAsBJ,EAAuC,CACxE,MAAO,OACP,KAAM,OACN,iBAAkB,CAChB,YAAa,OACb,eAAgB,IAAM,CAAC,EACvB,OAAQ,GACR,KAAM,IAAM,CAAC,EACb,MAAO,IAAM,CAAC,EACd,kBAAmB,GACnB,uBAAwB,GACxB,0BAA2B,IAAM,CAAC,EAClC,qBAAsB,IAAM,CAAC,EAC7B,iBAAkB,IAAM,CAAC,EACzB,cAAe,OACf,cAAe,GACf,iBAAkB,IAAM,CAAC,CAC3B,CACF,CAAC,EAEYK,EAAkB,IAAM,CACnC,MAAMC,EAAUL,EAAWG,CAAmB,EAC9C,GAAI,CAACE,EACH,MAAM,IAAI,MAAM,4DAA4D,EAE9E,OAAOA,CACT,EAEaC,EAAuB,CAAC,CAAE,SAAAC,EAAU,MAAAC,EAAO,KAAAC,CAAK,IAAyD,CACpH,KAAM,CAACC,EAAaC,CAAc,EAAIV,EAAS,EAAK,EAC9C,CAACW,EAAeC,CAAgB,EAAIZ,EAAmC,MAAS,EAChF,CAACa,EAAmBC,CAAoB,EAAId,EAAS,EAAK,EAC1D,CAACe,EAAaC,CAAc,EAAIhB,EAAiB,EACjD,CAACiB,EAAwBC,CAAyB,EAAIlB,EAAS,EAAK,EACpE,CAACmB,EAAeC,CAAgB,EAAIpB,EAAS,EAAK,EAExD,OACEH,EAACK,EAAoB,SAApB,CACC,MAAO,CACL,MAAAK,EACA,KAAAC,EACA,iBAAkB,CAChB,YAAAO,EACA,OAAQN,EACR,KAAM,IAAMC,EAAe,EAAI,EAC/B,MAAO,IAAMA,EAAe,EAAK,EACjC,kBAAAG,EACA,qBAAAC,EACA,cAAAH,EACA,iBAAAC,EACA,uBAAAK,EACA,0BAAAC,EACA,eAAAF,EACA,cAAAG,EACA,iBAAAC,CACF,CACF,EAEC,UAAAd,EACAE,GAAM,kBAAoBZ,EAACK,EAAA,CAAiB,KAAMO,EAAK,iBAAkB,GAC5E,CAEJ",
|
|
6
|
+
"names": ["jsx", "jsxs", "createContext", "useContext", "useState", "AuthCodeActivate", "RegistrationContext", "useRegistration", "context", "RegistrationProvider", "children", "email", "copy", "popAuthCode", "setPopAuthCode", "onAuthSuccess", "setOnAuthSuccess", "isActivateSuccess", "setIsActivateSuccess", "activeToken", "setActiveToken", "isSendingActivateEmail", "setIsSendingActivateEmail", "autoSendEmail", "setAutoSendEmail"]
|
|
7
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./authCodeActivate";
|
|
1
|
+
export*from"./authCodeActivate";export*from"./context";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/registration/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from './authCodeActivate'\n"],
|
|
5
|
-
"mappings": "AAAA,WAAc",
|
|
4
|
+
"sourcesContent": ["export * from './authCodeActivate'\nexport * from './context'\n"],
|
|
5
|
+
"mappings": "AAAA,WAAc,qBACd,WAAc",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -6,10 +6,9 @@ export type ModalContainerProps = {
|
|
|
6
6
|
title?: string;
|
|
7
7
|
titleClassName?: string;
|
|
8
8
|
useAnimation?: boolean;
|
|
9
|
-
animationClassName?: string;
|
|
10
9
|
isOpen: boolean;
|
|
11
10
|
children?: any;
|
|
12
11
|
onClose: () => void;
|
|
13
12
|
onScrollEnd?: (event: UIEvent<HTMLDivElement>) => void;
|
|
14
13
|
};
|
|
15
|
-
export declare const
|
|
14
|
+
export declare const RegistrationModalContainer: ({ isOpen, title, className, overlayClassName, scrollClassName, onClose, onScrollEnd, children, useAnimation, titleClassName, ...props }: ModalContainerProps) => React.ReactElement;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as n,jsxs as d}from"react/jsx-runtime";import{classNames as l,useHeadlessContext as g,ROUNDED_BRANDS as w}from"@anker-in/lib";import{useEffect as b,useState as y}from"react";import N from"react-modal";const D=({isOpen:o,title:a,className:m="",overlayClassName:c="",scrollClassName:p="",onClose:i,onScrollEnd:r,children:x,useAnimation:s=!0,titleClassName:f="",...v})=>{const{brand:C}=g(),u=w.includes(C),[h,L]=y(!1);return b(()=>{s&&requestAnimationFrame(()=>{L(o??!1)})},[o,s]),d(N,{isOpen:o??!1,overlayClassName:l("fixed inset-0 z-[999] flex items-center justify-center bg-black/70 leading-[1.2] md:items-end",c),className:l("min-md:max-h-[calc(100vh-96px)] w-[540px] relative flex min-h-[200px] flex-col overflow-hidden bg-white outline-none transition-all duration-300 md:h-auto md:w-full",u&&"rounded-[16px] md:rounded-b-none",s&&"md:translate-y-[100vh]",h&&"md:translate-y-0",m),onRequestClose:i,...v,children:[d("div",{className:l("flex w-full shrink-0 items-center justify-between",a?"min-l:px-[32px] h-[70px] border-b border-[#e2e2e2] px-[24px]":"h-[48px] px-[16px]",f),children:[n("div",{className:"text-[18px] font-bold",children:a}),n("div",{className:"size-[22px] cursor-pointer",onClick:i,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),i?.())},role:"button",tabIndex:0,children:n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"22",height:"22",viewBox:"0 0 22 22",fill:"none",children:n("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M16.8525 5.31015C16.4558 4.91337 15.8125 4.91338 15.4157 5.31015L11.1268 9.5991L6.83815 5.31049C6.44138 4.91372 5.79808 4.91372 5.40131 5.31049C5.00454 5.70726 5.00455 6.35055 5.40131 6.74732L9.68993 11.0359L5.40105 15.3248C5.00428 15.7216 5.00428 16.3649 5.40105 16.7616C5.79782 17.1584 6.44111 17.1584 6.83788 16.7616L11.1268 12.4728L15.416 16.762C15.8128 17.1588 16.456 17.1588 16.8528 16.762C17.2496 16.3652 17.2496 15.7219 16.8528 15.3252L12.5636 11.0359L16.8525 6.74698C17.2493 6.35021 17.2493 5.70692 16.8525 5.31015ZM16.921 6.02856C16.921 6.22992 16.8441 6.43127 16.6905 6.5849L14.465 8.8104L12.2395 11.0359L12.2395 11.0359L16.6905 6.58493C16.8441 6.43129 16.921 6.22993 16.921 6.02856ZM5.34966 6.19087C5.37992 6.3354 5.45115 6.47307 5.56336 6.58528L10.014 11.0359L10.014 11.0359L5.56336 6.58524C5.45116 6.47304 5.37992 6.33539 5.34966 6.19087ZM5.35087 16.2121C5.38193 16.3541 5.45267 16.4891 5.56309 16.5996C5.87037 16.9068 6.36856 16.9068 6.67583 16.5996L11.1268 12.1486L15.578 16.5999C15.8853 16.9072 16.3835 16.9072 16.6908 16.5999C16.8498 16.4409 16.9265 16.2307 16.9209 16.0223C16.9265 16.2307 16.8498 16.4409 16.6908 16.5999C16.3835 16.9072 15.8853 16.9072 15.578 16.5999L11.1268 12.1487L6.67583 16.5996C6.36856 16.9069 5.87037 16.9069 5.56309 16.5996C5.45267 16.4892 5.38192 16.3541 5.35087 16.2121Z",fill:"#333333"})})})]}),n("div",{className:l("my-[32px] flex-1 overflow-auto overscroll-contain px-[24px] md:mb-[48px]",!a&&"mt-0","min-l:px-[32px]",p),onScroll:e=>{const t=e.target;t.scrollHeight<=t.clientHeight||t.scrollTop+t.clientHeight>=t.scrollHeight-50&&r&&r(e)},children:x})]})};export{D as RegistrationModalContainer};
|
|
2
2
|
//# sourceMappingURL=modalContainer.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/registration/modalContainer.tsx"],
|
|
4
|
-
"sourcesContent": ["import { classNames as cn } from '@anker-in/lib'\nimport { useEffect, useState, type UIEvent } from 'react'\nimport ReactModal from 'react-modal'\n\nexport type ModalContainerProps = {\n overlayClassName?: string\n className?: string\n scrollClassName?: string\n title?: string\n titleClassName?: string\n useAnimation?: boolean // \u4F7F\u7528\u52A8\u753B\u5C55\u793A\n
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["jsx", "jsxs", "cn", "useEffect", "useState", "ReactModal", "
|
|
4
|
+
"sourcesContent": ["import { classNames as cn, useHeadlessContext, ROUNDED_BRANDS } from '@anker-in/lib'\nimport { useEffect, useState, type UIEvent } from 'react'\nimport ReactModal from 'react-modal'\n\nexport type ModalContainerProps = {\n overlayClassName?: string\n className?: string\n scrollClassName?: string\n title?: string\n titleClassName?: string\n useAnimation?: boolean // \u4F7F\u7528\u52A8\u753B\u5C55\u793A\n isOpen: boolean\n children?: any\n onClose: () => void\n onScrollEnd?: (event: UIEvent<HTMLDivElement>) => void\n}\n\nexport const RegistrationModalContainer = ({\n isOpen,\n title,\n className = '',\n overlayClassName = '',\n scrollClassName = '',\n onClose,\n onScrollEnd,\n children,\n useAnimation = true,\n titleClassName = '',\n ...props\n}: ModalContainerProps): React.ReactElement => {\n const { brand } = useHeadlessContext()\n const rounded = ROUNDED_BRANDS.includes(brand)\n const [animationShow, setAnimationShow] = useState(false)\n\n useEffect(() => {\n if (!useAnimation) {\n return\n }\n requestAnimationFrame(() => {\n setAnimationShow(isOpen ?? false)\n })\n }, [isOpen, useAnimation])\n\n return (\n <ReactModal\n isOpen={isOpen ?? false}\n overlayClassName={cn(\n 'fixed inset-0 z-[999] flex items-center justify-center bg-black/70 leading-[1.2] md:items-end',\n overlayClassName\n )}\n className={cn(\n 'min-md:max-h-[calc(100vh-96px)] w-[540px] relative flex min-h-[200px] flex-col overflow-hidden bg-white outline-none transition-all duration-300 md:h-auto md:w-full',\n rounded && 'rounded-[16px] md:rounded-b-none',\n useAnimation && 'md:translate-y-[100vh]',\n animationShow && 'md:translate-y-0',\n className\n )}\n onRequestClose={onClose}\n {...props}\n >\n <div\n className={cn(\n 'flex w-full shrink-0 items-center justify-between',\n title ? 'min-l:px-[32px] h-[70px] border-b border-[#e2e2e2] px-[24px]' : 'h-[48px] px-[16px]',\n titleClassName\n )}\n >\n <div className=\"text-[18px] font-bold\">{title}</div>\n <div\n className=\"size-[22px] cursor-pointer\"\n onClick={onClose}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n onClose?.()\n }\n }}\n role=\"button\"\n tabIndex={0}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.8525 5.31015C16.4558 4.91337 15.8125 4.91338 15.4157 5.31015L11.1268 9.5991L6.83815 5.31049C6.44138 4.91372 5.79808 4.91372 5.40131 5.31049C5.00454 5.70726 5.00455 6.35055 5.40131 6.74732L9.68993 11.0359L5.40105 15.3248C5.00428 15.7216 5.00428 16.3649 5.40105 16.7616C5.79782 17.1584 6.44111 17.1584 6.83788 16.7616L11.1268 12.4728L15.416 16.762C15.8128 17.1588 16.456 17.1588 16.8528 16.762C17.2496 16.3652 17.2496 15.7219 16.8528 15.3252L12.5636 11.0359L16.8525 6.74698C17.2493 6.35021 17.2493 5.70692 16.8525 5.31015ZM16.921 6.02856C16.921 6.22992 16.8441 6.43127 16.6905 6.5849L14.465 8.8104L12.2395 11.0359L12.2395 11.0359L16.6905 6.58493C16.8441 6.43129 16.921 6.22993 16.921 6.02856ZM5.34966 6.19087C5.37992 6.3354 5.45115 6.47307 5.56336 6.58528L10.014 11.0359L10.014 11.0359L5.56336 6.58524C5.45116 6.47304 5.37992 6.33539 5.34966 6.19087ZM5.35087 16.2121C5.38193 16.3541 5.45267 16.4891 5.56309 16.5996C5.87037 16.9068 6.36856 16.9068 6.67583 16.5996L11.1268 12.1486L15.578 16.5999C15.8853 16.9072 16.3835 16.9072 16.6908 16.5999C16.8498 16.4409 16.9265 16.2307 16.9209 16.0223C16.9265 16.2307 16.8498 16.4409 16.6908 16.5999C16.3835 16.9072 15.8853 16.9072 15.578 16.5999L11.1268 12.1487L6.67583 16.5996C6.36856 16.9069 5.87037 16.9069 5.56309 16.5996C5.45267 16.4892 5.38192 16.3541 5.35087 16.2121Z\"\n fill=\"#333333\"\n />\n </svg>\n </div>\n </div>\n <div\n className={cn(\n 'my-[32px] flex-1 overflow-auto overscroll-contain px-[24px] md:mb-[48px]',\n !title && 'mt-0',\n 'min-l:px-[32px]',\n scrollClassName\n )}\n onScroll={event => {\n const targetElement = event.target as HTMLDivElement\n\n if (targetElement.scrollHeight <= targetElement.clientHeight) {\n return\n }\n\n if (targetElement.scrollTop + targetElement.clientHeight >= targetElement.scrollHeight - 50) {\n onScrollEnd && onScrollEnd(event)\n }\n }}\n >\n {children}\n </div>\n </ReactModal>\n )\n}\n"],
|
|
5
|
+
"mappings": "AA4DM,OAOE,OAAAA,EAPF,QAAAC,MAAA,oBA5DN,OAAS,cAAcC,EAAI,sBAAAC,EAAoB,kBAAAC,MAAsB,gBACrE,OAAS,aAAAC,EAAW,YAAAC,MAA8B,QAClD,OAAOC,MAAgB,cAehB,MAAMC,EAA6B,CAAC,CACzC,OAAAC,EACA,MAAAC,EACA,UAAAC,EAAY,GACZ,iBAAAC,EAAmB,GACnB,gBAAAC,EAAkB,GAClB,QAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EAAe,GACf,eAAAC,EAAiB,GACjB,GAAGC,CACL,IAA+C,CAC7C,KAAM,CAAE,MAAAC,CAAM,EAAIjB,EAAmB,EAC/BkB,EAAUjB,EAAe,SAASgB,CAAK,EACvC,CAACE,EAAeC,CAAgB,EAAIjB,EAAS,EAAK,EAExD,OAAAD,EAAU,IAAM,CACTY,GAGL,sBAAsB,IAAM,CAC1BM,EAAiBd,GAAU,EAAK,CAClC,CAAC,CACH,EAAG,CAACA,EAAQQ,CAAY,CAAC,EAGvBhB,EAACM,EAAA,CACC,OAAQE,GAAU,GAClB,iBAAkBP,EAChB,gGACAU,CACF,EACA,UAAWV,EACT,uKACAmB,GAAW,mCACXJ,GAAgB,yBAChBK,GAAiB,mBACjBX,CACF,EACA,eAAgBG,EACf,GAAGK,EAEJ,UAAAlB,EAAC,OACC,UAAWC,EACT,oDACAQ,EAAQ,+DAAiE,qBACzEQ,CACF,EAEA,UAAAlB,EAAC,OAAI,UAAU,wBAAyB,SAAAU,EAAM,EAC9CV,EAAC,OACC,UAAU,6BACV,QAASc,EACT,UAAW,GAAK,EACV,EAAE,MAAQ,SAAW,EAAE,MAAQ,OACjC,EAAE,eAAe,EACjBA,IAAU,EAEd,EACA,KAAK,SACL,SAAU,EAEV,SAAAd,EAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,SAAAA,EAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,syCACF,KAAK,UACP,EACF,EACF,GACF,EACAA,EAAC,OACC,UAAWE,EACT,2EACA,CAACQ,GAAS,OACV,kBACAG,CACF,EACA,SAAUW,GAAS,CACjB,MAAMC,EAAgBD,EAAM,OAExBC,EAAc,cAAgBA,EAAc,cAI5CA,EAAc,UAAYA,EAAc,cAAgBA,EAAc,aAAe,IACvFV,GAAeA,EAAYS,CAAK,CAEpC,EAEC,SAAAR,EACH,GACF,CAEJ",
|
|
6
|
+
"names": ["jsx", "jsxs", "cn", "useHeadlessContext", "ROUNDED_BRANDS", "useEffect", "useState", "ReactModal", "RegistrationModalContainer", "isOpen", "title", "className", "overlayClassName", "scrollClassName", "onClose", "onScrollEnd", "children", "useAnimation", "titleClassName", "props", "brand", "rounded", "animationShow", "setAnimationShow", "event", "targetElement"]
|
|
7
7
|
}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export * from './components
|
|
1
|
+
export * from './components';
|
|
2
|
+
export * from './templates';
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export*from"./components
|
|
1
|
+
export*from"./components";export*from"./templates";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from './components
|
|
5
|
-
"mappings": "AAAA,WAAc",
|
|
4
|
+
"sourcesContent": ["export * from './components'\nexport * from './templates'\n"],
|
|
5
|
+
"mappings": "AAAA,WAAc,eACd,WAAc",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { HeadlessConfig } from '@anker-in/lib';
|
|
2
|
+
import { DTC_TASK_TYPE } from '../components/credits/context/const';
|
|
3
|
+
import { CreditsPageCommon } from '../components/credits/type';
|
|
4
|
+
import { CreditsBannerCopy } from '../components/credits/creditsBanner';
|
|
5
|
+
import { CreditsInfoCardCopy } from '../components/credits/creditsInfoCard';
|
|
6
|
+
import { CreditsBenefitsCopy } from '../components/credits/creditsBenefits';
|
|
7
|
+
import { CreditsWaysToGetCreditsCopy } from '../components/credits/creditsWaysToGetCredits';
|
|
8
|
+
import { CreditsRedeemListCopy } from '../components/credits/creditsRedeemList';
|
|
9
|
+
import { CreditsCashCopy } from '../components/credits/creditsCash';
|
|
10
|
+
import { CreditsFaqCopy } from '../components/credits/creditsFaq';
|
|
11
|
+
import { AuthCodeActivateCopy } from 'src/components/registration/authCodeActivate/type';
|
|
12
|
+
export declare enum ComponentKey {
|
|
13
|
+
Banner = "creditsBanner",
|
|
14
|
+
InfoCard = "creditsInfoCard",
|
|
15
|
+
Benefits = "creditsBenefits",
|
|
16
|
+
WaysToGetCredits = "creditsWaysToGetCredits",
|
|
17
|
+
RedeemList = "creditsRedeemList",
|
|
18
|
+
SpendCreditsLikeCash = "creditsCash",
|
|
19
|
+
Faqs = "creditsFaq"
|
|
20
|
+
}
|
|
21
|
+
export type CreditsTemplateProps = {
|
|
22
|
+
headlessConfig: HeadlessConfig;
|
|
23
|
+
siteConfig: {
|
|
24
|
+
registrationsSettings: {
|
|
25
|
+
authCodeActivate: AuthCodeActivateCopy;
|
|
26
|
+
};
|
|
27
|
+
taskIdToTypeMapping: Record<string, DTC_TASK_TYPE>;
|
|
28
|
+
};
|
|
29
|
+
pageConfig: {
|
|
30
|
+
order: ComponentKey[];
|
|
31
|
+
common: CreditsPageCommon;
|
|
32
|
+
components: {
|
|
33
|
+
[ComponentKey.Banner]?: CreditsBannerCopy;
|
|
34
|
+
[ComponentKey.InfoCard]?: CreditsInfoCardCopy;
|
|
35
|
+
[ComponentKey.Benefits]?: CreditsBenefitsCopy;
|
|
36
|
+
[ComponentKey.WaysToGetCredits]?: CreditsWaysToGetCreditsCopy;
|
|
37
|
+
[ComponentKey.RedeemList]?: CreditsRedeemListCopy;
|
|
38
|
+
[ComponentKey.SpendCreditsLikeCash]?: CreditsCashCopy;
|
|
39
|
+
[ComponentKey.Faqs]?: CreditsFaqCopy;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
userContext: {
|
|
43
|
+
profile: any;
|
|
44
|
+
removeProfile: () => void;
|
|
45
|
+
isLoadingProfile: boolean;
|
|
46
|
+
creditInfo: any;
|
|
47
|
+
customer: any;
|
|
48
|
+
customerLoading: boolean;
|
|
49
|
+
fetchCreditInfo: () => void;
|
|
50
|
+
};
|
|
51
|
+
registrationContext: {
|
|
52
|
+
openSignUpPopup: () => void;
|
|
53
|
+
openSignInPopup: () => void;
|
|
54
|
+
};
|
|
55
|
+
gtm: {
|
|
56
|
+
pageGroup: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
export declare const CreditsTemplate: ({ headlessConfig, siteConfig, userContext, pageConfig, registrationContext, gtm, }: CreditsTemplateProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Fragment as v,jsx as o,jsxs as u}from"react/jsx-runtime";import{classNames as a,HeadlessProvider as C}from"@anker-in/lib";import{RegistrationProvider as m}from"../components/registration/context/provider";import{CreditsProvider as f}from"../components/credits/context/provider";import{CreditsBanner as y}from"../components/credits/creditsBanner";import{CreditsInfoCard as c}from"../components/credits/creditsInfoCard";import{CreditsBenefits as l}from"../components/credits/creditsBenefits";import{CreditsWaysToGetCredits as g}from"../components/credits/creditsWaysToGetCredits";import{CreditsRedeemList as T}from"../components/credits/creditsRedeemList";import{CreditsCash as P}from"../components/credits/creditsCash";import{CreditsFaq as h}from"../components/credits/creditsFaq";var I=(e=>(e.Banner="creditsBanner",e.InfoCard="creditsInfoCard",e.Benefits="creditsBenefits",e.WaysToGetCredits="creditsWaysToGetCredits",e.RedeemList="creditsRedeemList",e.SpendCreditsLikeCash="creditsCash",e.Faqs="creditsFaq",e))(I||{});const O=({headlessConfig:s,siteConfig:d,userContext:t,pageConfig:r,registrationContext:n,gtm:p})=>o(C,{headlessConfig:s,children:o(m,{copy:d.registrationsSettings,email:t?.profile?.email,children:o(f,{profile:t?.profile,removeProfile:t?.removeProfile,isLoadingProfile:t?.isLoadingProfile,openSignInPopup:n.openSignInPopup,openSignUpPopup:n.openSignUpPopup,creditInfo:t?.creditInfo,taskIdToTypeMapping:d.taskIdToTypeMapping,customer:t?.customer,fetchCreditInfo:t?.fetchCreditInfo,customerLoading:t?.customerLoading,gtm:p,pageCommon:r.common,children:o("div",{className:a("bg-[#f5f5f7] leading-[1.2]"),children:r.order.map(i=>{const e=r.components?.[i];return e?u(v,{children:[i==="creditsBanner"&&o(y,{copy:e}),i==="creditsInfoCard"&&t?.profile&&o(c,{copy:e}),i==="creditsBenefits"&&o(l,{copy:e}),i==="creditsWaysToGetCredits"&&o(g,{copy:e,classNames:s.brand==="anker"?{subtitle:"text-white",equalCreditsText:"bg-gradient-to-r from-[#3AD1FF] to-[#008CD6] bg-clip-text text-transparent"}:{subtitle:"text-[#D1D1D1]",equalCreditsText:"text-[#F6EAD0]"}}),i==="creditsRedeemList"&&o(T,{copy:e}),i==="creditsCash"&&o(P,{copy:e}),i==="creditsFaq"&&o(h,{copy:e}),i!=="creditsBanner"&&o("div",{className:"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16"})]}):null})})})})});export{I as ComponentKey,O as CreditsTemplate};
|
|
2
|
+
//# sourceMappingURL=credits.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/templates/credits.tsx"],
|
|
4
|
+
"sourcesContent": ["import { classNames, HeadlessConfig, HeadlessProvider } from '@anker-in/lib'\nimport { RegistrationProvider } from '../components/registration/context/provider'\n\nimport { DTC_TASK_TYPE } from '../components/credits/context/const'\nimport { CreditsProvider } from '../components/credits/context/provider'\nimport { CreditsPageCommon } from '../components/credits/type'\n\nimport { CreditsBanner, CreditsBannerCopy } from '../components/credits/creditsBanner'\nimport { CreditsInfoCard, CreditsInfoCardCopy } from '../components/credits/creditsInfoCard'\nimport { CreditsBenefits, CreditsBenefitsCopy } from '../components/credits/creditsBenefits'\nimport { CreditsWaysToGetCredits, CreditsWaysToGetCreditsCopy } from '../components/credits/creditsWaysToGetCredits'\nimport { CreditsRedeemList, CreditsRedeemListCopy } from '../components/credits/creditsRedeemList'\nimport { CreditsCash, CreditsCashCopy } from '../components/credits/creditsCash'\nimport { CreditsFaq, CreditsFaqCopy } from '../components/credits/creditsFaq'\nimport { AuthCodeActivateCopy } from 'src/components/registration/authCodeActivate/type'\n\nexport enum ComponentKey {\n Banner = 'creditsBanner',\n InfoCard = 'creditsInfoCard',\n Benefits = 'creditsBenefits',\n WaysToGetCredits = 'creditsWaysToGetCredits',\n RedeemList = 'creditsRedeemList',\n SpendCreditsLikeCash = 'creditsCash',\n Faqs = 'creditsFaq',\n}\nexport type CreditsTemplateProps = {\n headlessConfig: HeadlessConfig\n siteConfig: {\n registrationsSettings: {\n authCodeActivate: AuthCodeActivateCopy\n }\n taskIdToTypeMapping: Record<string, DTC_TASK_TYPE>\n }\n pageConfig: {\n order: ComponentKey[]\n common: CreditsPageCommon\n components: {\n [ComponentKey.Banner]?: CreditsBannerCopy\n [ComponentKey.InfoCard]?: CreditsInfoCardCopy\n [ComponentKey.Benefits]?: CreditsBenefitsCopy\n [ComponentKey.WaysToGetCredits]?: CreditsWaysToGetCreditsCopy\n [ComponentKey.RedeemList]?: CreditsRedeemListCopy\n [ComponentKey.SpendCreditsLikeCash]?: CreditsCashCopy\n [ComponentKey.Faqs]?: CreditsFaqCopy\n }\n }\n userContext: {\n profile: any\n removeProfile: () => void\n isLoadingProfile: boolean\n creditInfo: any\n customer: any\n customerLoading: boolean\n fetchCreditInfo: () => void\n }\n registrationContext: {\n openSignUpPopup: () => void\n openSignInPopup: () => void\n }\n gtm: {\n pageGroup: string\n }\n}\n\nexport const CreditsTemplate = ({\n headlessConfig,\n siteConfig,\n userContext,\n pageConfig,\n registrationContext,\n gtm,\n}: CreditsTemplateProps) => {\n return (\n <HeadlessProvider headlessConfig={headlessConfig}>\n <RegistrationProvider copy={siteConfig.registrationsSettings} email={userContext?.profile?.email}>\n <CreditsProvider\n profile={userContext?.profile}\n removeProfile={userContext?.removeProfile}\n isLoadingProfile={userContext?.isLoadingProfile}\n openSignInPopup={registrationContext.openSignInPopup}\n openSignUpPopup={registrationContext.openSignUpPopup}\n creditInfo={userContext?.creditInfo}\n taskIdToTypeMapping={siteConfig.taskIdToTypeMapping}\n customer={userContext?.customer}\n fetchCreditInfo={userContext?.fetchCreditInfo}\n customerLoading={userContext?.customerLoading}\n gtm={gtm}\n pageCommon={pageConfig.common}\n >\n <div className={classNames('bg-[#f5f5f7] leading-[1.2]')}>\n {pageConfig.order.map(key => {\n const componentCopy = pageConfig.components?.[key]\n if (!componentCopy) return null\n return (\n <>\n {key === ComponentKey.Banner && <CreditsBanner copy={componentCopy as CreditsBannerCopy} />}\n {key === ComponentKey.InfoCard && userContext?.profile && (\n <CreditsInfoCard copy={componentCopy as CreditsInfoCardCopy} />\n )}\n {key === ComponentKey.Benefits && <CreditsBenefits copy={componentCopy as CreditsBenefitsCopy} />}\n {key === ComponentKey.WaysToGetCredits && (\n <CreditsWaysToGetCredits\n copy={componentCopy as CreditsWaysToGetCreditsCopy}\n classNames={\n headlessConfig.brand === 'anker'\n ? {\n subtitle: 'text-white',\n equalCreditsText:\n 'bg-gradient-to-r from-[#3AD1FF] to-[#008CD6] bg-clip-text text-transparent',\n }\n : {\n subtitle: 'text-[#D1D1D1]',\n equalCreditsText: 'text-[#F6EAD0]',\n }\n }\n />\n )}\n {key === ComponentKey.RedeemList && (\n <CreditsRedeemList copy={componentCopy as CreditsRedeemListCopy} />\n )}\n {key === ComponentKey.SpendCreditsLikeCash && <CreditsCash copy={componentCopy as CreditsCashCopy} />}\n {key === ComponentKey.Faqs && <CreditsFaq copy={componentCopy as CreditsFaqCopy} />}\n {key !== ComponentKey.Banner && (\n <div className=\"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16\" />\n )}\n </>\n )\n })}\n </div>\n </CreditsProvider>\n </RegistrationProvider>\n </HeadlessProvider>\n )\n}\n"],
|
|
5
|
+
"mappings": "AA8FgB,mBAAAA,EACkC,OAAAC,EADlC,QAAAC,MAAA,oBA9FhB,OAAS,cAAAC,EAA4B,oBAAAC,MAAwB,gBAC7D,OAAS,wBAAAC,MAA4B,8CAGrC,OAAS,mBAAAC,MAAuB,yCAGhC,OAAS,iBAAAC,MAAwC,sCACjD,OAAS,mBAAAC,MAA4C,wCACrD,OAAS,mBAAAC,MAA4C,wCACrD,OAAS,2BAAAC,MAA4D,gDACrE,OAAS,qBAAAC,MAAgD,0CACzD,OAAS,eAAAC,MAAoC,oCAC7C,OAAS,cAAAC,MAAkC,mCAGpC,IAAKC,OACVA,EAAA,OAAS,gBACTA,EAAA,SAAW,kBACXA,EAAA,SAAW,kBACXA,EAAA,iBAAmB,0BACnBA,EAAA,WAAa,oBACbA,EAAA,qBAAuB,cACvBA,EAAA,KAAO,aAPGA,OAAA,IAgDL,MAAMC,EAAkB,CAAC,CAC9B,eAAAC,EACA,WAAAC,EACA,YAAAC,EACA,WAAAC,EACA,oBAAAC,EACA,IAAAC,CACF,IAEIpB,EAACG,EAAA,CAAiB,eAAgBY,EAChC,SAAAf,EAACI,EAAA,CAAqB,KAAMY,EAAW,sBAAuB,MAAOC,GAAa,SAAS,MACzF,SAAAjB,EAACK,EAAA,CACC,QAASY,GAAa,QACtB,cAAeA,GAAa,cAC5B,iBAAkBA,GAAa,iBAC/B,gBAAiBE,EAAoB,gBACrC,gBAAiBA,EAAoB,gBACrC,WAAYF,GAAa,WACzB,oBAAqBD,EAAW,oBAChC,SAAUC,GAAa,SACvB,gBAAiBA,GAAa,gBAC9B,gBAAiBA,GAAa,gBAC9B,IAAKG,EACL,WAAYF,EAAW,OAEvB,SAAAlB,EAAC,OAAI,UAAWE,EAAW,4BAA4B,EACpD,SAAAgB,EAAW,MAAM,IAAIG,GAAO,CAC3B,MAAMC,EAAgBJ,EAAW,aAAaG,CAAG,EACjD,OAAKC,EAEHrB,EAAAF,EAAA,CACG,UAAAsB,IAAQ,iBAAuBrB,EAACM,EAAA,CAAc,KAAMgB,EAAoC,EACxFD,IAAQ,mBAAyBJ,GAAa,SAC7CjB,EAACO,EAAA,CAAgB,KAAMe,EAAsC,EAE9DD,IAAQ,mBAAyBrB,EAACQ,EAAA,CAAgB,KAAMc,EAAsC,EAC9FD,IAAQ,2BACPrB,EAACS,EAAA,CACC,KAAMa,EACN,WACEP,EAAe,QAAU,QACrB,CACE,SAAU,aACV,iBACE,4EACJ,EACA,CACE,SAAU,iBACV,iBAAkB,gBACpB,EAER,EAEDM,IAAQ,qBACPrB,EAACU,EAAA,CAAkB,KAAMY,EAAwC,EAElED,IAAQ,eAAqCrB,EAACW,EAAA,CAAY,KAAMW,EAAkC,EAClGD,IAAQ,cAAqBrB,EAACY,EAAA,CAAW,KAAMU,EAAiC,EAChFD,IAAQ,iBACPrB,EAAC,OAAI,UAAU,qEAAqE,GAExF,EAjCyB,IAmC7B,CAAC,EACH,EACF,EACF,EACF",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "classNames", "HeadlessProvider", "RegistrationProvider", "CreditsProvider", "CreditsBanner", "CreditsInfoCard", "CreditsBenefits", "CreditsWaysToGetCredits", "CreditsRedeemList", "CreditsCash", "CreditsFaq", "ComponentKey", "CreditsTemplate", "headlessConfig", "siteConfig", "userContext", "pageConfig", "registrationContext", "gtm", "key", "componentCopy"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './credits';
|