@anker-in/campaign-ui 0.2.10-beta.22 → 0.2.10-beta.23
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/action.js +2 -0
- package/dist/cjs/components/chat/action.js.map +7 -0
- package/dist/cjs/components/chat/button.js +2 -0
- package/dist/cjs/components/chat/button.js.map +7 -0
- package/dist/cjs/components/chat/chatContext.js +2 -0
- package/dist/cjs/components/chat/chatContext.js.map +7 -0
- package/dist/cjs/components/chat/index.js +2 -0
- package/dist/cjs/components/chat/index.js.map +7 -0
- package/dist/cjs/components/chat/markdown.js +2 -0
- package/dist/cjs/components/chat/markdown.js.map +7 -0
- package/dist/cjs/components/chat/messages.js +2 -0
- package/dist/cjs/components/chat/messages.js.map +7 -0
- package/dist/cjs/components/chat/props.js +2 -0
- package/dist/cjs/components/chat/props.js.map +7 -0
- package/dist/cjs/components/chat/response.js +2 -0
- package/dist/cjs/components/chat/response.js.map +7 -0
- package/dist/cjs/components/chat/suggestions.js +2 -0
- package/dist/cjs/components/chat/suggestions.js.map +7 -0
- package/dist/cjs/components/chat/utils.js +2 -0
- package/dist/cjs/components/chat/utils.js.map +7 -0
- package/dist/cjs/components/credits/context/const.js +2 -0
- package/dist/cjs/components/credits/context/const.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useActivities.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useActivities.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useAddressValidate.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useAddressValidate.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useAlpcFetch.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useClickOutside.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useClickOutside.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useCopy.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useCopy.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useCountries.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useCountries.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useFirstPurchaseFinished.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useFirstPurchaseFinished.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useMyRewards.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useMyRewards.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useReceiptUploaded.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useReceiptUploaded.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemAndBuy.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemCoupon.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemProduct.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemableList.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useRedeemableList.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useSendEmailValidation.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useSubscribed.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useSubscribed.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useSubscriptions.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useSubscriptions.js.map +7 -0
- package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js +2 -0
- package/dist/cjs/components/credits/context/hooks/useUploadReceipt.js.map +7 -0
- package/dist/cjs/components/credits/context/provider.js +2 -0
- package/dist/cjs/components/credits/context/provider.js.map +7 -0
- package/dist/cjs/components/credits/context/response.js +2 -0
- package/dist/cjs/components/credits/context/response.js.map +7 -0
- package/dist/cjs/components/credits/context/utils.js +2 -0
- package/dist/cjs/components/credits/context/utils.js.map +7 -0
- package/dist/cjs/components/credits/creditsBanner/index.js +2 -0
- package/dist/cjs/components/credits/creditsBanner/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsBenefits/benefitItem.js +2 -0
- package/dist/cjs/components/credits/creditsBenefits/benefitItem.js.map +7 -0
- package/dist/cjs/components/credits/creditsBenefits/iconInfo.js +2 -0
- package/dist/cjs/components/credits/creditsBenefits/iconInfo.js.map +7 -0
- package/dist/cjs/components/credits/creditsBenefits/index.js +4 -0
- package/dist/cjs/components/credits/creditsBenefits/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.js +2 -0
- package/dist/cjs/components/credits/creditsCash/RedeemableItem.js.map +7 -0
- package/dist/cjs/components/credits/creditsCash/index.js +2 -0
- package/dist/cjs/components/credits/creditsCash/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsCash/type.js +2 -0
- package/dist/cjs/components/credits/creditsCash/type.js.map +7 -0
- package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js +2 -0
- package/dist/cjs/components/credits/creditsFaq/faqItem/FaqItem.js.map +7 -0
- package/dist/cjs/components/credits/creditsFaq/index.js +2 -0
- package/dist/cjs/components/credits/creditsFaq/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsInfoCard/index.js +2 -0
- package/dist/cjs/components/credits/creditsInfoCard/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/FormItem.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/FormItem.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/Input.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/Input.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/type.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/AddressForm/type.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemCouponModal.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Error.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/RedeemableItem.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/index.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsRedeemList/type.js +2 -0
- package/dist/cjs/components/credits/creditsRedeemList/type.js.map +7 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js +2 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/index.js.map +7 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js +2 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/type.js.map +7 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js +2 -0
- package/dist/cjs/components/credits/creditsWaysToGetCredits/useActions.js.map +7 -0
- package/dist/cjs/components/credits/index.js +2 -0
- package/dist/cjs/components/credits/index.js.map +7 -0
- package/dist/cjs/components/credits/modal/MyRewardsModal.js +2 -0
- package/dist/cjs/components/credits/modal/MyRewardsModal.js.map +7 -0
- package/dist/cjs/components/credits/modal/activitiesModal.js +2 -0
- package/dist/cjs/components/credits/modal/activitiesModal.js.map +7 -0
- package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js +2 -0
- package/dist/cjs/components/credits/modal/creditsUploadReceiptModal.js.map +7 -0
- package/dist/cjs/components/credits/modal/loadingDots.js +2 -0
- package/dist/cjs/components/credits/modal/loadingDots.js.map +7 -0
- package/dist/cjs/components/credits/modal/modalContainer.js +2 -0
- package/dist/cjs/components/credits/modal/modalContainer.js.map +7 -0
- package/dist/cjs/components/credits/modal/rulesModal.js +2 -0
- package/dist/cjs/components/credits/modal/rulesModal.js.map +7 -0
- package/dist/cjs/components/credits/modal/tip.js +2 -0
- package/dist/cjs/components/credits/modal/tip.js.map +7 -0
- package/dist/cjs/components/credits/type.js +2 -0
- package/dist/cjs/components/credits/type.js.map +7 -0
- package/dist/cjs/components/index.js +2 -0
- package/dist/cjs/components/index.js.map +7 -0
- package/dist/cjs/debug-env.js +2 -0
- package/dist/cjs/debug-env.js.map +7 -0
- package/dist/cjs/helpers/fetchResponse.js +2 -0
- package/dist/cjs/helpers/fetchResponse.js.map +7 -0
- package/dist/cjs/helpers/fetcher.js +2 -0
- package/dist/cjs/helpers/fetcher.js.map +7 -0
- package/dist/cjs/helpers/index.js +2 -0
- package/dist/cjs/helpers/index.js.map +7 -0
- package/dist/cjs/helpers/track.js +2 -0
- package/dist/cjs/helpers/track.js.map +7 -0
- package/dist/cjs/helpers/utils.js +2 -0
- package/dist/cjs/helpers/utils.js.map +7 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/stories/chat.stories.js +2 -0
- package/dist/cjs/stories/chat.stories.js.map +7 -0
- package/dist/esm/components/chat/action.js +2 -0
- package/dist/esm/components/chat/action.js.map +7 -0
- package/dist/esm/components/chat/button.js +2 -0
- package/dist/esm/components/chat/button.js.map +7 -0
- package/dist/esm/components/chat/chatContext.js +2 -0
- package/dist/esm/components/chat/chatContext.js.map +7 -0
- package/dist/esm/components/chat/index.js +2 -0
- package/dist/esm/components/chat/index.js.map +7 -0
- package/dist/esm/components/chat/markdown.js +2 -0
- package/dist/esm/components/chat/markdown.js.map +7 -0
- package/dist/esm/components/chat/messages.js +2 -0
- package/dist/esm/components/chat/messages.js.map +7 -0
- package/dist/esm/components/chat/props.js +1 -0
- package/dist/esm/components/chat/props.js.map +7 -0
- package/dist/esm/components/chat/response.js +2 -0
- package/dist/esm/components/chat/response.js.map +7 -0
- package/dist/esm/components/chat/suggestions.js +2 -0
- package/dist/esm/components/chat/suggestions.js.map +7 -0
- package/dist/esm/components/chat/utils.js +2 -0
- package/dist/esm/components/chat/utils.js.map +7 -0
- package/dist/esm/components/credits/context/const.js +2 -0
- package/dist/esm/components/credits/context/const.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useActivities.js +2 -0
- package/dist/esm/components/credits/context/hooks/useActivities.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useAddressValidate.js +2 -0
- package/dist/esm/components/credits/context/hooks/useAddressValidate.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useAlpcFetch.js +2 -0
- package/dist/esm/components/credits/context/hooks/useAlpcFetch.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useClickOutside.js +2 -0
- package/dist/esm/components/credits/context/hooks/useClickOutside.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useCopy.js +2 -0
- package/dist/esm/components/credits/context/hooks/useCopy.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useCountries.js +2 -0
- package/dist/esm/components/credits/context/hooks/useCountries.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useFirstPurchaseFinished.js +2 -0
- package/dist/esm/components/credits/context/hooks/useFirstPurchaseFinished.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useMyRewards.js +2 -0
- package/dist/esm/components/credits/context/hooks/useMyRewards.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useReceiptUploaded.js +2 -0
- package/dist/esm/components/credits/context/hooks/useReceiptUploaded.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js +2 -0
- package/dist/esm/components/credits/context/hooks/useRedeemAndBuy.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js +2 -0
- package/dist/esm/components/credits/context/hooks/useRedeemCoupon.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useRedeemProduct.js +2 -0
- package/dist/esm/components/credits/context/hooks/useRedeemProduct.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useRedeemableList.js +2 -0
- package/dist/esm/components/credits/context/hooks/useRedeemableList.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js +2 -0
- package/dist/esm/components/credits/context/hooks/useSendEmailValidation.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useSubscribed.js +2 -0
- package/dist/esm/components/credits/context/hooks/useSubscribed.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useSubscriptions.js +2 -0
- package/dist/esm/components/credits/context/hooks/useSubscriptions.js.map +7 -0
- package/dist/esm/components/credits/context/hooks/useUploadReceipt.js +2 -0
- package/dist/esm/components/credits/context/hooks/useUploadReceipt.js.map +7 -0
- package/dist/esm/components/credits/context/provider.js +2 -0
- package/dist/esm/components/credits/context/provider.js.map +7 -0
- package/dist/esm/components/credits/context/response.js +1 -0
- package/dist/esm/components/credits/context/response.js.map +7 -0
- package/dist/esm/components/credits/context/utils.js +2 -0
- package/dist/esm/components/credits/context/utils.js.map +7 -0
- package/dist/esm/components/credits/creditsBanner/index.js +2 -0
- package/dist/esm/components/credits/creditsBanner/index.js.map +7 -0
- package/dist/esm/components/credits/creditsBenefits/benefitItem.js +2 -0
- package/dist/esm/components/credits/creditsBenefits/benefitItem.js.map +7 -0
- package/dist/esm/components/credits/creditsBenefits/iconInfo.js +2 -0
- package/dist/esm/components/credits/creditsBenefits/iconInfo.js.map +7 -0
- package/dist/esm/components/credits/creditsBenefits/index.js +4 -0
- package/dist/esm/components/credits/creditsBenefits/index.js.map +7 -0
- package/dist/esm/components/credits/creditsCash/RedeemableItem.js +2 -0
- package/dist/esm/components/credits/creditsCash/RedeemableItem.js.map +7 -0
- package/dist/esm/components/credits/creditsCash/index.js +2 -0
- package/dist/esm/components/credits/creditsCash/index.js.map +7 -0
- package/dist/esm/components/credits/creditsCash/type.js +1 -0
- package/dist/esm/components/credits/creditsCash/type.js.map +7 -0
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js +2 -0
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.js.map +7 -0
- package/dist/esm/components/credits/creditsFaq/index.js +2 -0
- package/dist/esm/components/credits/creditsFaq/index.js.map +7 -0
- package/dist/esm/components/credits/creditsInfoCard/index.js +2 -0
- package/dist/esm/components/credits/creditsInfoCard/index.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/CountrySelect.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/FormItem.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/FormItem.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/Input.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/Input.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/StateSelect.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/index.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/type.js +1 -0
- package/dist/esm/components/credits/creditsRedeemList/AddressForm/type.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemCouponModal.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Address.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Error.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Init.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/Success.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemProductModal/index.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/RedeemableItem.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/index.js +2 -0
- package/dist/esm/components/credits/creditsRedeemList/index.js.map +7 -0
- package/dist/esm/components/credits/creditsRedeemList/type.js +1 -0
- package/dist/esm/components/credits/creditsRedeemList/type.js.map +7 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/index.js +2 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/index.js.map +7 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/type.js +2 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/type.js.map +7 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js +2 -0
- package/dist/esm/components/credits/creditsWaysToGetCredits/useActions.js.map +7 -0
- package/dist/esm/components/credits/index.js +2 -0
- package/dist/esm/components/credits/index.js.map +7 -0
- package/dist/esm/components/credits/modal/MyRewardsModal.js +2 -0
- package/dist/esm/components/credits/modal/MyRewardsModal.js.map +7 -0
- package/dist/esm/components/credits/modal/activitiesModal.js +2 -0
- package/dist/esm/components/credits/modal/activitiesModal.js.map +7 -0
- package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js +2 -0
- package/dist/esm/components/credits/modal/creditsUploadReceiptModal.js.map +7 -0
- package/dist/esm/components/credits/modal/loadingDots.js +2 -0
- package/dist/esm/components/credits/modal/loadingDots.js.map +7 -0
- package/dist/esm/components/credits/modal/modalContainer.js +2 -0
- package/dist/esm/components/credits/modal/modalContainer.js.map +7 -0
- package/dist/esm/components/credits/modal/rulesModal.js +2 -0
- package/dist/esm/components/credits/modal/rulesModal.js.map +7 -0
- package/dist/esm/components/credits/modal/tip.js +2 -0
- package/dist/esm/components/credits/modal/tip.js.map +7 -0
- package/dist/esm/components/credits/type.js +1 -0
- package/dist/esm/components/credits/type.js.map +7 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +7 -0
- package/dist/esm/debug-env.js +2 -0
- package/dist/esm/debug-env.js.map +7 -0
- package/dist/esm/helpers/fetchResponse.js +2 -0
- package/dist/esm/helpers/fetchResponse.js.map +7 -0
- package/dist/esm/helpers/fetcher.js +2 -0
- package/dist/esm/helpers/fetcher.js.map +7 -0
- package/dist/esm/helpers/index.js +2 -0
- package/dist/esm/helpers/index.js.map +7 -0
- package/dist/esm/helpers/track.js +2 -0
- package/dist/esm/helpers/track.js.map +7 -0
- package/dist/esm/helpers/utils.js +2 -0
- package/dist/esm/helpers/utils.js.map +7 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/stories/chat.stories.js +2 -0
- package/dist/esm/stories/chat.stories.js.map +7 -0
- package/package.json +2 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var m=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var O=(r,t)=>{for(var s in t)m(r,s,{get:t[s],enumerable:!0})},M=(r,t,s,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of S(t))!J.call(r,i)&&i!==s&&m(r,i,{get:()=>t[i],enumerable:!(d=x(t,i))||d.enumerable});return r};var k=r=>M(m({},"__esModule",{value:!0}),r);var C={};O(C,{CopilotAction:()=>A});module.exports=k(C);var a=require("react/jsx-runtime"),l=require("react"),n=require("@copilotkit/react-core"),c=require("@copilotkit/runtime-client-gql");const A=({start:r,history:t,addtocartHandler:s,commonRender:d,pointsExchangeCouponRender:i,gotocheckoutRender:u,gotocartRender:h,addtocartRender:y,productRender:R,signupRender:f,shulexRender:_,children:N})=>{const{setMessages:v,appendMessage:w,isLoading:P}=(0,n.useCopilotChat)();return(0,l.useEffect)(()=>{const e=t?.filter(p=>p?.content||p?.arguments);if(e?.length>0){const p=e?.map(o=>{if(o?.name&&o?.arguments){const E=o?.arguments?.map(g=>g?{...g,ishistory:!0}:{});return new c.ActionExecutionMessage({name:o?.name,arguments:E,scope:o?.scope})}return new c.TextMessage({...o,role:o?.role==="user"?c.Role.User:c.Role.Assistant})});v(p)}},[t]),(0,n.useCopilotAction)({name:"go_to_checkout",description:"go to cart",parameters:[{sku:"",handle:""}],render:u||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,n.useCopilotAction)({name:"common_action",description:"common action",parameters:[{act:""}],render:d||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,n.useCopilotAction)({name:"points_exchange_coupon",description:"points exchange coupon",parameters:[{act:""}],render:i||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,n.useCopilotAction)({name:"go_to_cart",description:"go to cart",parameters:[{sku:"",handle:""}],render:h||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,n.useCopilotAction)({name:"add_to_cart",description:"add to cart",parameters:[{sku:"",handle:""}],render:y||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(e){s&&s(e)}}),(0,n.useCopilotAction)({name:"show_product_card",description:"product card",parameters:[{sku:"",handle:""}],render:R||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(e){}}),(0,n.useCopilotAction)({name:"signup",description:"signup",parameters:[{name:"signup"}],render:f||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,n.useCopilotAction)({name:"shulex",description:"shulex",parameters:[{name:"shulex"}],render:_||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,n.useCopilotReadable)({description:"Today's date",value:new Date().toLocaleDateString()}),(0,a.jsx)("div",{children:N})};
|
|
2
|
+
//# sourceMappingURL=action.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/action.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport { useEffect } from 'react'\nimport { useCopilotChat, useCopilotAction, useCopilotReadable } from '@copilotkit/react-core'\nimport { Role, ActionExecutionMessage, TextMessage } from '@copilotkit/runtime-client-gql'\n\ninterface Message {\n content: string\n role: string\n name?: string\n scope?: any\n arguments?: any\n}\n\nexport interface ActionProps {\n start?: string\n history: Message[]\n addtocartHandler?: (_args: any) => Promise<any>\n commonRender?: string | ((_props: any) => React.ReactElement)\n pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement)\n gotocheckoutRender?: string | ((_props: any) => React.ReactElement)\n gotocartRender?: string | ((_props: any) => React.ReactElement)\n addtocartRender?: string | ((_props: any) => React.ReactElement)\n signupRender?: string | ((_props: any) => React.ReactElement)\n shulexRender?: string | ((_props: any) => React.ReactElement)\n productRender?: string | ((_props: any) => React.ReactElement)\n productRenderTipMessage?: string\n children?: React.ReactNode\n}\n\nexport const CopilotAction = ({\n start,\n history,\n addtocartHandler,\n commonRender,\n pointsExchangeCouponRender,\n gotocheckoutRender,\n gotocartRender,\n addtocartRender,\n productRender,\n signupRender,\n shulexRender,\n children,\n}: ActionProps) => {\n const { setMessages, appendMessage, isLoading } = useCopilotChat()\n\n useEffect(() => {\n const originhistory = history?.filter(value => value?.content || value?.arguments)\n if (originhistory?.length > 0) {\n const content = originhistory?.map(value => {\n if (value?.name && value?.arguments) {\n const args = value?.arguments?.map((item: any) => (item ? { ...item, ishistory: true } : {}))\n return new ActionExecutionMessage({\n name: value?.name,\n arguments: args,\n scope: value?.scope,\n })\n }\n return new TextMessage({\n ...value,\n role: value?.role === 'user' ? Role.User : Role.Assistant,\n })\n })\n setMessages(content)\n }\n }, [history])\n\n useCopilotAction({\n name: 'go_to_checkout',\n description: 'go to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: gotocheckoutRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('buynow-props', props)\n },\n })\n\n useCopilotAction({\n name: 'common_action',\n description: 'common action',\n parameters: [{ act: '' }] as any,\n render: commonRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('common_action', props)\n },\n })\n\n useCopilotAction({\n name: 'points_exchange_coupon',\n description: 'points exchange coupon',\n parameters: [{ act: '' }] as any,\n render: pointsExchangeCouponRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('points_exchange_coupon', props)\n },\n })\n\n useCopilotAction({\n name: 'go_to_cart',\n description: 'go to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: gotocartRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('buynow-props', props)\n },\n })\n\n useCopilotAction({\n name: 'add_to_cart',\n description: 'add to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: addtocartRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function (props) {\n addtocartHandler && addtocartHandler(props)\n },\n })\n\n useCopilotAction({\n name: 'show_product_card',\n description: 'product card',\n parameters: [{ sku: '', handle: '' }] as any,\n render: productRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function (props) {\n // console.log('show_product_card-props', props)\n // const ishistory = props?.find((item: { ishistory: any }) => item?.ishistory)\n // if (!ishistory) {\n // const content = new TextMessage({\n // content: 'show product card',\n // role: Role.Assistant,\n // })\n // appendMessage(content)\n // }\n },\n })\n\n useCopilotAction({\n name: 'signup',\n description: 'signup',\n parameters: [\n {\n name: 'signup',\n },\n ] as any,\n render: signupRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('signup-props', props)\n },\n })\n\n useCopilotAction({\n name: 'shulex',\n description: 'shulex',\n parameters: [\n {\n name: 'shulex',\n },\n ] as any,\n render: shulexRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('shulex-props', props)\n },\n })\n\n useCopilotReadable({\n description: \"Today's date\",\n value: new Date().toLocaleDateString(),\n })\n\n return <div>{children}</div>\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["action_exports", "__export", "CopilotAction", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_runtime_client_gql", "start", "history", "addtocartHandler", "commonRender", "pointsExchangeCouponRender", "gotocheckoutRender", "gotocartRender", "addtocartRender", "productRender", "signupRender", "shulexRender", "children", "setMessages", "appendMessage", "isLoading", "originhistory", "value", "content", "args", "item", "props"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var r=(t,o)=>{for(var i in o)p(t,i,{get:o[i],enumerable:!0})},B=(t,o,i,e)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of u(o))!a.call(t,n)&&n!==i&&p(t,n,{get:()=>o[n],enumerable:!(e=s(o,n))||e.enumerable});return t};var m=t=>B(p({},"__esModule",{value:!0}),t);var C={};r(C,{default:()=>d});module.exports=m(C);var c=require("react/jsx-runtime"),l=require("@copilotkit/react-ui");const I=({setOpen:t})=>{const o=(0,l.useChatContext)();return(0,c.jsxs)("button",{onClick:()=>t(),className:"copilotKitButton ","aria-label":"Open Chat",children:[(0,c.jsx)("div",{className:"copilotKitButtonIcon copilotKitButtonIconOpen",children:o.icons.openIcon}),(0,c.jsx)("div",{className:"copilotKitButtonIcon copilotKitButtonIconClose",children:o.icons.closeIcon})]})};var d=I;
|
|
2
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/button.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useChatContext } from '@copilotkit/react-ui'\n\nimport type { ButtonProps } from './props'\n\nconst DefaultButton = ({ setOpen }: ButtonProps) => {\n const context = useChatContext()\n\n return (\n <button onClick={() => setOpen()} className=\"copilotKitButton \" aria-label=\"Open Chat\">\n <div className=\"copilotKitButtonIcon copilotKitButtonIconOpen\">{context.icons.openIcon}</div>\n <div className=\"copilotKitButtonIcon copilotKitButtonIconClose\">{context.icons.closeIcon}</div>\n </button>\n )\n}\n\nexport default DefaultButton\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAQI,IAAAI,EAAA,6BARJC,EAA+B,gCAI/B,MAAMC,EAAgB,CAAC,CAAE,QAAAC,CAAQ,IAAmB,CAClD,MAAMC,KAAU,kBAAe,EAE/B,SACE,QAAC,UAAO,QAAS,IAAMD,EAAQ,EAAG,UAAU,oBAAoB,aAAW,YACzE,oBAAC,OAAI,UAAU,gDAAiD,SAAAC,EAAQ,MAAM,SAAS,KACvF,OAAC,OAAI,UAAU,iDAAkD,SAAAA,EAAQ,MAAM,UAAU,GAC3F,CAEJ,EAEA,IAAON,EAAQI",
|
|
6
|
+
"names": ["button_exports", "__export", "button_default", "__toCommonJS", "import_jsx_runtime", "import_react_ui", "DefaultButton", "setOpen", "context"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var p=Object.create;var a=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var h=(e,t)=>{for(var o in t)a(e,o,{get:t[o],enumerable:!0})},i=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of d(t))!R.call(e,n)&&n!==o&&a(e,n,{get:()=>t[n],enumerable:!(r=C(t,n))||r.enumerable});return e};var x=(e,t,o)=>(o=e!=null?p(l(e)):{},i(t||!e||!e.__esModule?a(o,"default",{value:e,enumerable:!0}):o,e)),u=e=>i(a({},"__esModule",{value:!0}),e);var I={};h(I,{ChatContext:()=>s,useChatContext:()=>f});module.exports=u(I);var c=x(require("react"));const s=c.default.createContext(void 0);function f(){const e=c.default.useContext(s);if(e===void 0)throw new Error("Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?");return e}
|
|
2
|
+
//# sourceMappingURL=chatContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/chatContext.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\n\n/**\n * Icons for CopilotChat component.\n */\nexport interface CopilotChatIcons {\n /**\n * The icon to use for the open chat button.\n * @default <OpenIcon />\n */\n openIcon?: React.ReactNode\n\n /**\n * The icon to use for the close chat button.\n * @default <CloseIcon />\n */\n closeIcon?: React.ReactNode\n\n /**\n * The icon to use for the close chat button in the header.\n * @default <HeaderCloseIcon />\n */\n headerCloseIcon?: React.ReactNode\n\n /**\n * The icon to use for the send button.\n * @default <SendIcon />\n */\n sendIcon?: React.ReactNode\n\n /**\n * The icon to use for the activity indicator.\n * @default <ActivityIcon />\n */\n activityIcon?: React.ReactNode\n\n /**\n * The icon to use for the spinner.\n * @default <SpinnerIcon />\n */\n spinnerIcon?: React.ReactNode\n\n /**\n * The icon to use for the stop button.\n * @default <StopIcon />\n */\n stopIcon?: React.ReactNode\n\n /**\n * The icon to use for the regenerate button.\n * @default <RegenerateIcon />\n */\n regenerateIcon?: React.ReactNode\n\n /**\n * The icons to use for push to talk.\n * @default <PushToTalkIcon />\n */\n\n pushToTalkIcon?: React.ReactNode\n}\n\n/**\n * Labels for CopilotChat component.\n */\nexport interface CopilotChatLabels {\n /**\n * The initial message(s) to display in the chat window.\n */\n initial?: string | string[]\n\n /**\n * The title to display in the header.\n * @default \"CopilotKit\"\n */\n title?: string\n\n /**\n * The placeholder to display in the input.\n * @default \"Type a message...\"\n */\n placeholder?: string\n\n /**\n * The message to display when an error occurs.\n * @default \"\u274C An error occurred. Please try again.\"\n */\n error?: string\n\n /**\n * The label to display on the stop button.\n * @default \"Stop generating\"\n */\n stopGenerating?: string\n\n /**\n * The label to display on the regenerate button.\n * @default \"Regenerate response\"\n */\n regenerateResponse?: string\n}\n\ninterface ChatContext {\n labels: Required<CopilotChatLabels>\n icons: Required<CopilotChatIcons>\n open: boolean\n setOpen: (_open: boolean) => void\n}\n\nexport const ChatContext = React.createContext<ChatContext | undefined>(undefined)\n\nexport function useChatContext(): ChatContext {\n const context = React.useContext(ChatContext)\n if (context === undefined) {\n throw new Error('Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?')\n }\n return context\n}\n\nexport interface ChatContextProps {\n // temperature?: number;\n // instructions?: string;\n // maxFeedback?: number;\n labels?: CopilotChatLabels\n icons?: CopilotChatIcons\n children?: React.ReactNode\n open: boolean\n setOpen: (_open: boolean) => void\n}\n\n// export const ChatContextProvider = ({\n// // temperature,\n// // instructions,\n// // maxFeedback,\n// labels,\n// icons,\n// children,\n// open,\n// setOpen,\n// }: ChatContextProps) => {\n// const context = {\n// labels: {\n// ...{\n// initial: \"\",\n// title: \"CopilotKit\",\n// placeholder: \"Type a message...\",\n// error: \"\u274C An error occurred. Please try again.\",\n// stopGenerating: \"Stop generating\",\n// regenerateResponse: \"Regenerate response\",\n// },\n// ...labels,\n// },\n\n// icons: {\n// ...icons,\n// },\n// open,\n// setOpen,\n// };\n// return <ChatContext.Provider value={context}>{children}</ChatContext.Provider>;\n// };\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,iBAAAE,EAAA,mBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAkB,oBA6GX,MAAMH,EAAc,EAAAI,QAAM,cAAuC,MAAS,EAE1E,SAASH,GAA8B,CAC5C,MAAMI,EAAU,EAAAD,QAAM,WAAWJ,CAAW,EAC5C,GAAIK,IAAY,OACd,MAAM,IAAI,MAAM,0FAA0F,EAE5G,OAAOA,CACT",
|
|
6
|
+
"names": ["chatContext_exports", "__export", "ChatContext", "useChatContext", "__toCommonJS", "import_react", "React", "context"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var ne=Object.create;var h=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty;var ce=(t,s)=>{for(var n in s)h(t,n,{get:s[n],enumerable:!0})},x=(t,s,n,p)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of ae(s))!pe.call(t,a)&&a!==n&&h(t,a,{get:()=>s[a],enumerable:!(p=re(s,a))||p.enumerable});return t};var g=(t,s,n)=>(n=t!=null?ne(ie(t)):{},x(s||!t||!t.__esModule?h(n,"default",{value:t,enumerable:!0}):n,t)),le=t=>x(h({},"__esModule",{value:!0}),t);var de={};ce(de,{default:()=>ge});module.exports=le(de);var o=require("react/jsx-runtime"),B=require("react"),r=require("react"),O=require("@copilotkit/react-core"),v=require("@copilotkit/react-ui"),w=g(require("./button")),S=g(require("./messages")),M=g(require("./response")),$=g(require("./suggestions")),q=require("./action"),E=g(require("../../helpers/fetcher"));const ue=t=>{const{title:s,runtimeUrl:n,popup:p,shopifyDomain:a,userId:c="",account:d="",prologue:D="",locale:m="",query:l="",messagesCallback:K,showResponseButton:_,gotocheckoutRender:N,commonRender:I,shulexRender:H,pointsExchangeCouponRender:U,gotocartRender:G,addtocartRender:A,productRender:F,signupRender:L,addtocartHandler:z,style:J,className:Q="",lang:R}=t,[V,W]=R?.popupTipTimeout||[3e3,6e3],[b,f]=(0,r.useState)(!1),[y,X]=(0,r.useState)(!1),[u,Y]=(0,r.useState)(D),[Z,C]=(0,r.useState)([]),[P,j]=(0,r.useState)([]),T=(0,B.useMemo)(()=>({"x-user-id":c||"","x-shopify-domain":a,"x-member-ship":d,"x-user-locale":m}),[c,a,d,m]),ee=(0,r.useCallback)(async()=>{const e=await(0,E.default)({url:`${n}/copilotkit/start${l}`,method:"GET",headers:T});C(e?.suggested_questions?.map(i=>({message:i,title:i}))||[]),Y(e?.opening_statement||""),j(e?.history||[])},[c,a,d,m,l]),te=(0,r.useCallback)(async()=>{const e=await(0,E.default)({url:`${n}/copilotkit/suggested_questions${l}`,method:"GET",headers:T});C(e?.suggested_questions?.data?.map(i=>({message:i,title:i}))||[])},[c,a,d,m,l]),oe=()=>{b||f(!0),setTimeout(()=>{f(!1)},W)};return(0,r.useEffect)(()=>{const e=setTimeout(()=>{oe()},V);return()=>{clearTimeout(e)}},[]),(0,o.jsx)("div",{className:Q,style:J||{},children:c&&n&&(0,o.jsx)(O.CopilotKit,{runtimeUrl:`${n}/copilotkit/chat${l}`,showDevConsole:!1,headers:T,children:(0,o.jsx)(v.CopilotPopup,{...p,showResponseButton:_!=="follow",labels:{title:s||"DTC Live Chat",initial:u||""},instructions:u||"",onInProgress:e=>{y&&e&&C([]),y&&!e&&te()},Messages:({messages:e,inProgress:i})=>(0,o.jsx)(S.default,{messages:e,inProgress:i,messagesCallback:K,ResponseButton:_==="follow"?(0,o.jsx)(M.default,{messagesId:e?.[e.length-1]?.id}):void 0,children:(0,o.jsx)($.default,{currentSuggestions:Z})}),Button:({open:e,setOpen:i})=>{const se=p?.Button||w.default;(0,r.useEffect)(()=>{X(e)},[e]);const k=(0,r.useCallback)(()=>{i(!e),f(!1),(!u||!P?.length)&&ee()},[u]);return(0,o.jsxs)(o.Fragment,{children:[R?.popupTip&&b&&!y&&(0,o.jsx)("div",{className:"copilotKitPopup copilotKitPopupTip",children:(0,o.jsx)("button",{onClick:k,"aria-label":"Open Chat",className:"copilotKitPopupTipContent",children:R?.popupTip})}),(0,o.jsx)(se,{open:e,setOpen:k})]})},children:(0,o.jsx)(q.CopilotAction,{start:u,history:P,commonRender:I,shulexRender:H,pointsExchangeCouponRender:U,gotocartRender:G,gotocheckoutRender:N,addtocartRender:A,signupRender:L,productRender:F,addtocartHandler:z,productRenderTipMessage:R?.productRenderTipMessage})})})})};var ge=ue;
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/index.tsx"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo } from 'react'\nimport { useCallback, useState, useEffect } from 'react'\nimport { CopilotKit } from '@copilotkit/react-core'\nimport { CopilotPopup } from '@copilotkit/react-ui'\nimport DefaultButton from './button'\nimport Messages from './messages'\nimport ResponseButton from './response'\nimport Suggestions from './suggestions'\nimport { CopilotAction } from './action'\nimport fetcher from '../../helpers/fetcher'\n\nexport interface ChatProps {\n title: string\n runtimeUrl: string\n shopifyDomain: string\n /** GA \u7684 client id\n */\n userId: string\n /** \u662F\u5426\u767B\u9646\u7528\u6237 0 or 1\n */\n account?: string\n /** \u7528\u6237\u6D4F\u89C8\u5668\u8BED\u8A00\n */\n locale?: string\n /** \u5F00\u573A\u767D\n */\n prologue?: string\n /** ?a=1&b=2\n */\n query?: string\n /** 'follow' or 'unfollow' | true or false\n * follow: ResponseButton \u4F1A\u8DDF\u968F\u5728 messages \u7684\u540E\u8FB9\n * unfollow: ResponseButton \u5728\u804A\u5929\u6846\u5E95\u90E8\n */\n showResponseButton?: string | boolean\n /** messages \u7684\u56DE\u8C03\u4E8B\u4EF6\n * \u6BCF\u6B21\u751F\u6210/\u63A5\u53D7\u65B0\u7684messages\uFF0C\u4F1A\u5C06 \u6574\u4E2A messages list \u4F20\u9012\u7ED9\u5916\u90E8\n */\n messagesCallback?: (_messages: any) => void\n /** \u901A\u7528 action \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n commonRender?: string | ((_props: any) => React.ReactElement)\n /** shulex\u7684 action \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n shulexRender?: string | ((_props: any) => React.ReactElement)\n /** \u901A\u7528 \u79EF\u5206 \u6362 Coupon \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement)\n /** \u8DF3\u8F6C checkout action \u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n gotocheckoutRender?: string | ((_props: any) => React.ReactElement)\n /** \u6253\u5F00\u8D2D\u7269\u8F66 action \u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n gotocartRender?: string | ((_props: any) => React.ReactElement)\n /** \u6253\u5F00\u8D2D\u7269\u8F66 action \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n addtocartHandler?: (_args: any) => Promise<any>\n /** \u52A0\u8D2D\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n addtocartRender?: string | ((_props: any) => React.ReactElement)\n /** \u8BA2\u9605\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n signupRender?: string | ((_props: any) => React.ReactElement)\n /** \u4EA7\u54C1\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n productRender?: string | ((_props: any) => React.ReactElement)\n /** CopilotPopup \u81EA\u5B9A\u4E49\u53C2\u6570\uFF0C\u53C2\u8003\uFF1Ahttps://docs.copilotkit.ai/reference/components/CopilotPopup */\n popup?: any\n /** \u6587\u6848\uFF0C{\"productRenderTipMessage\": \"\",\"popupTip\": \"Hi ! Welcome to soundcore Innovations live chat\uFF01\", \"popupTipTimeout\": [3000, 6000]} */\n lang?: any\n /** \u53C2\u8003\u6B64\u6587\u6863\uFF1Ahttps://docs.copilotkit.ai/concepts/customize-look-and-feel */\n style?: any\n className?: string\n}\n\nconst Chat = (props: ChatProps) => {\n const {\n title,\n runtimeUrl,\n popup,\n shopifyDomain,\n userId = '',\n account = '',\n prologue = '',\n locale = '',\n query = '',\n messagesCallback,\n showResponseButton,\n gotocheckoutRender,\n commonRender,\n shulexRender,\n pointsExchangeCouponRender,\n gotocartRender,\n addtocartRender,\n productRender,\n signupRender,\n addtocartHandler,\n style,\n className = '',\n lang,\n } = props\n const [autoTipOpen, autoTipClose] = lang?.popupTipTimeout || [3000, 6000]\n\n const [openTip, setOpenTip] = useState(false)\n const [openPopup, setOpenPopup] = useState(false)\n const [start, setstart] = useState(prologue)\n const [currentSuggestions, setCurrentSuggestions] = useState([])\n const [history, sethistory] = useState<[{ content: string; role: string }] | []>([])\n\n const headers = useMemo(\n () => ({\n 'x-user-id': userId || '',\n 'x-shopify-domain': shopifyDomain,\n 'x-member-ship': account,\n 'x-user-locale': locale,\n }),\n [userId, shopifyDomain, account, locale]\n )\n\n const getStart = useCallback(async () => {\n const result = await fetcher({\n url: `${runtimeUrl}/copilotkit/start${query}`,\n method: 'GET',\n headers,\n })\n\n setCurrentSuggestions(result?.suggested_questions?.map((item: string) => ({ message: item, title: item })) || [])\n setstart(result?.opening_statement || '')\n sethistory(result?.history || [])\n }, [userId, shopifyDomain, account, locale, query])\n\n const getSuggestions = useCallback(async () => {\n const result = await fetcher({\n url: `${runtimeUrl}/copilotkit/suggested_questions${query}`,\n method: 'GET',\n headers,\n })\n\n setCurrentSuggestions(\n result?.suggested_questions?.data?.map((item: string) => ({ message: item, title: item })) || []\n )\n }, [userId, shopifyDomain, account, locale, query])\n\n const setOpenTipFn = () => {\n if (!openTip) setOpenTip(true)\n setTimeout(() => {\n setOpenTip(false)\n }, autoTipClose)\n }\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setOpenTipFn()\n }, autoTipOpen)\n\n return () => {\n clearTimeout(timer)\n }\n }, [])\n\n return (\n <div className={className} style={style || {}}>\n {userId && runtimeUrl && (\n <CopilotKit runtimeUrl={`${runtimeUrl}/copilotkit/chat${query}`} showDevConsole={false} headers={headers}>\n <CopilotPopup\n {...popup}\n showResponseButton={showResponseButton !== 'follow'}\n labels={{\n title: title || 'DTC Live Chat',\n initial: start || '',\n }}\n instructions={start || ''}\n onInProgress={load => {\n if (openPopup && load) setCurrentSuggestions([])\n if (openPopup && !load) getSuggestions()\n }}\n Messages={({ messages, inProgress }) => (\n <Messages\n messages={messages}\n inProgress={inProgress}\n messagesCallback={messagesCallback}\n ResponseButton={\n showResponseButton === 'follow' ? (\n <ResponseButton messagesId={messages?.[messages.length - 1]?.id} />\n ) : undefined\n }\n >\n <Suggestions currentSuggestions={currentSuggestions} />\n </Messages>\n )}\n Button={({ open, setOpen: setOpenDefault }: { open: boolean; setOpen: (open: boolean) => void }) => {\n const Button = popup?.Button || DefaultButton\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setOpenPopup(open)\n }, [open])\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const setOpen = useCallback(() => {\n setOpenDefault(!open)\n setOpenTip(false)\n if (!start || !history?.length) getStart()\n }, [start])\n\n return (\n <>\n {lang?.popupTip && openTip && !openPopup && (\n <div className=\"copilotKitPopup copilotKitPopupTip\">\n <button onClick={setOpen} aria-label=\"Open Chat\" className=\"copilotKitPopupTipContent\">\n {lang?.popupTip}\n </button>\n </div>\n )}\n <Button open={open} setOpen={setOpen} />\n </>\n )\n }}\n >\n <CopilotAction\n start={start}\n history={history}\n commonRender={commonRender}\n shulexRender={shulexRender}\n pointsExchangeCouponRender={pointsExchangeCouponRender}\n gotocartRender={gotocartRender}\n gotocheckoutRender={gotocheckoutRender}\n addtocartRender={addtocartRender}\n signupRender={signupRender}\n productRender={productRender}\n addtocartHandler={addtocartHandler}\n productRenderTipMessage={lang?.productRenderTipMessage}\n />\n </CopilotPopup>\n </CopilotKit>\n )}\n </div>\n )\n}\n\nexport default Chat\n"],
|
|
5
|
+
"mappings": "skBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,IA6LoB,IAAAI,EAAA,6BA5LpBC,EAA+B,iBAC/BA,EAAiD,iBACjDC,EAA2B,kCAC3BC,EAA6B,gCAC7BC,EAA0B,uBAC1BC,EAAqB,yBACrBC,EAA2B,yBAC3BC,EAAwB,4BACxBC,EAA8B,oBAC9BC,EAAoB,oCAuEpB,MAAMC,GAAQC,GAAqB,CACjC,KAAM,CACJ,MAAAC,EACA,WAAAC,EACA,MAAAC,EACA,cAAAC,EACA,OAAAC,EAAS,GACT,QAAAC,EAAU,GACV,SAAAC,EAAW,GACX,OAAAC,EAAS,GACT,MAAAC,EAAQ,GACR,iBAAAC,EACA,mBAAAC,EACA,mBAAAC,EACA,aAAAC,EACA,aAAAC,EACA,2BAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,aAAAC,EACA,iBAAAC,EACA,MAAAC,EACA,UAAAC,EAAY,GACZ,KAAAC,CACF,EAAIvB,EACE,CAACwB,EAAaC,CAAY,EAAIF,GAAM,iBAAmB,CAAC,IAAM,GAAI,EAElE,CAACG,EAASC,CAAU,KAAI,YAAS,EAAK,EACtC,CAACC,EAAWC,CAAY,KAAI,YAAS,EAAK,EAC1C,CAACC,EAAOC,CAAQ,KAAI,YAASxB,CAAQ,EACrC,CAACyB,EAAoBC,CAAqB,KAAI,YAAS,CAAC,CAAC,EACzD,CAACC,EAASC,CAAU,KAAI,YAAmD,CAAC,CAAC,EAE7EC,KAAU,WACd,KAAO,CACL,YAAa/B,GAAU,GACvB,mBAAoBD,EACpB,gBAAiBE,EACjB,gBAAiBE,CACnB,GACA,CAACH,EAAQD,EAAeE,EAASE,CAAM,CACzC,EAEM6B,MAAW,eAAY,SAAY,CACvC,MAAMC,EAAS,QAAM,EAAAC,SAAQ,CAC3B,IAAK,GAAGrC,CAAU,oBAAoBO,CAAK,GAC3C,OAAQ,MACR,QAAA2B,CACF,CAAC,EAEDH,EAAsBK,GAAQ,qBAAqB,IAAKE,IAAkB,CAAE,QAASA,EAAM,MAAOA,CAAK,EAAE,GAAK,CAAC,CAAC,EAChHT,EAASO,GAAQ,mBAAqB,EAAE,EACxCH,EAAWG,GAAQ,SAAW,CAAC,CAAC,CAClC,EAAG,CAACjC,EAAQD,EAAeE,EAASE,EAAQC,CAAK,CAAC,EAE5CgC,MAAiB,eAAY,SAAY,CAC7C,MAAMH,EAAS,QAAM,EAAAC,SAAQ,CAC3B,IAAK,GAAGrC,CAAU,kCAAkCO,CAAK,GACzD,OAAQ,MACR,QAAA2B,CACF,CAAC,EAEDH,EACEK,GAAQ,qBAAqB,MAAM,IAAKE,IAAkB,CAAE,QAASA,EAAM,MAAOA,CAAK,EAAE,GAAK,CAAC,CACjG,CACF,EAAG,CAACnC,EAAQD,EAAeE,EAASE,EAAQC,CAAK,CAAC,EAE5CiC,GAAe,IAAM,CACpBhB,GAASC,EAAW,EAAI,EAC7B,WAAW,IAAM,CACfA,EAAW,EAAK,CAClB,EAAGF,CAAY,CACjB,EAEA,sBAAU,IAAM,CACd,MAAMkB,EAAQ,WAAW,IAAM,CAC7BD,GAAa,CACf,EAAGlB,CAAW,EAEd,MAAO,IAAM,CACX,aAAamB,CAAK,CACpB,CACF,EAAG,CAAC,CAAC,KAGH,OAAC,OAAI,UAAWrB,EAAW,MAAOD,GAAS,CAAC,EACzC,SAAAhB,GAAUH,MACT,OAAC,cAAW,WAAY,GAAGA,CAAU,mBAAmBO,CAAK,GAAI,eAAgB,GAAO,QAAS2B,EAC/F,mBAAC,gBACE,GAAGjC,EACJ,mBAAoBQ,IAAuB,SAC3C,OAAQ,CACN,MAAOV,GAAS,gBAChB,QAAS6B,GAAS,EACpB,EACA,aAAcA,GAAS,GACvB,aAAcc,GAAQ,CAChBhB,GAAagB,GAAMX,EAAsB,CAAC,CAAC,EAC3CL,GAAa,CAACgB,GAAMH,GAAe,CACzC,EACA,SAAU,CAAC,CAAE,SAAAI,EAAU,WAAAC,CAAW,OAChC,OAAC,EAAAC,QAAA,CACC,SAAUF,EACV,WAAYC,EACZ,iBAAkBpC,EAClB,eACEC,IAAuB,YACrB,OAAC,EAAAqC,QAAA,CAAe,WAAYH,IAAWA,EAAS,OAAS,CAAC,GAAG,GAAI,EAC/D,OAGN,mBAAC,EAAAI,QAAA,CAAY,mBAAoBjB,EAAoB,EACvD,EAEF,OAAQ,CAAC,CAAE,KAAAkB,EAAM,QAASC,CAAe,IAA2D,CAClG,MAAMC,GAASjD,GAAO,QAAU,EAAAkD,WAEhC,aAAU,IAAM,CACdxB,EAAaqB,CAAI,CACnB,EAAG,CAACA,CAAI,CAAC,EAGT,MAAMI,KAAU,eAAY,IAAM,CAChCH,EAAe,CAACD,CAAI,EACpBvB,EAAW,EAAK,GACZ,CAACG,GAAS,CAACI,GAAS,SAAQG,GAAS,CAC3C,EAAG,CAACP,CAAK,CAAC,EAEV,SACE,oBACG,UAAAP,GAAM,UAAYG,GAAW,CAACE,MAC7B,OAAC,OAAI,UAAU,qCACb,mBAAC,UAAO,QAAS0B,EAAS,aAAW,YAAY,UAAU,4BACxD,SAAA/B,GAAM,SACT,EACF,KAEF,OAAC6B,GAAA,CAAO,KAAMF,EAAM,QAASI,EAAS,GACxC,CAEJ,EAEA,mBAAC,iBACC,MAAOxB,EACP,QAASI,EACT,aAAcrB,EACd,aAAcC,EACd,2BAA4BC,EAC5B,eAAgBC,EAChB,mBAAoBJ,EACpB,gBAAiBK,EACjB,aAAcE,EACd,cAAeD,EACf,iBAAkBE,EAClB,wBAAyBG,GAAM,wBACjC,EACF,EACF,EAEJ,CAEJ,EAEA,IAAOpC,GAAQY",
|
|
6
|
+
"names": ["chat_exports", "__export", "chat_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_react_ui", "import_button", "import_messages", "import_response", "import_suggestions", "import_action", "import_fetcher", "Chat", "props", "title", "runtimeUrl", "popup", "shopifyDomain", "userId", "account", "prologue", "locale", "query", "messagesCallback", "showResponseButton", "gotocheckoutRender", "commonRender", "shulexRender", "pointsExchangeCouponRender", "gotocartRender", "addtocartRender", "productRender", "signupRender", "addtocartHandler", "style", "className", "lang", "autoTipOpen", "autoTipClose", "openTip", "setOpenTip", "openPopup", "setOpenPopup", "start", "setstart", "currentSuggestions", "setCurrentSuggestions", "history", "sethistory", "headers", "getStart", "result", "fetcher", "item", "getSuggestions", "setOpenTipFn", "timer", "load", "messages", "inProgress", "Messages", "ResponseButton", "Suggestions", "open", "setOpenDefault", "Button", "DefaultButton", "setOpen"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var k=Object.create;var a=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var y=(o,e)=>{for(var r in e)a(o,r,{get:e[r],enumerable:!0})},i=(o,e,r,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of w(e))!u.call(o,n)&&n!==r&&a(o,n,{get:()=>e[n],enumerable:!(p=M(e,n))||p.enumerable});return o};var m=(o,e,r)=>(r=o!=null?k(f(o)):{},i(e||!o||!o.__esModule?a(r,"default",{value:o,enumerable:!0}):r,o)),C=o=>i(a({},"__esModule",{value:!0}),o);var R={};y(R,{Markdown:()=>h});module.exports=C(R);var t=require("react/jsx-runtime"),s=require("react"),c=m(require("react-markdown")),d=m(require("remark-gfm")),l=m(require("remark-math"));const g=(0,s.memo)(c.default,(o,e)=>o.children===e.children&&o.className===e.className),h=({content:o})=>(0,t.jsx)("div",{className:"copilotKitMarkdown",children:(0,t.jsx)(g,{components:N,remarkPlugins:[d.default,l.default],children:o})}),N={p({children:o}){return(0,t.jsx)("p",{children:o})},a({children:o,...e}){return(0,t.jsx)("a",{style:{color:"blue",textDecoration:"underline"},...e,target:"_blank",rel:"noopener noreferrer",children:o})}};
|
|
2
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/markdown.tsx"],
|
|
4
|
+
"sourcesContent": ["import { type FC, memo } from 'react'\nimport ReactMarkdown, { type Options, type Components } from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport remarkMath from 'remark-math'\n\nconst MemoizedReactMarkdown: FC<Options> = memo(\n ReactMarkdown,\n (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className\n)\n\ntype MarkdownProps = {\n content: string\n}\n\nexport const Markdown = ({ content }: MarkdownProps) => {\n return (\n <div className=\"copilotKitMarkdown\">\n <MemoizedReactMarkdown components={components} remarkPlugins={[remarkGfm, remarkMath]}>\n {content}\n </MemoizedReactMarkdown>\n </div>\n )\n}\n\nconst components: Components = {\n p({ children }) {\n return <p>{children}</p>\n },\n a({ children, ...props }) {\n return (\n <a style={{ color: 'blue', textDecoration: 'underline' }} {...props} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n </a>\n )\n },\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,IAAA,eAAAC,EAAAH,GAiBM,IAAAI,EAAA,6BAjBNC,EAA8B,iBAC9BC,EAA6D,6BAC7DC,EAAsB,yBACtBC,EAAuB,0BAEvB,MAAMC,KAAqC,QACzC,EAAAC,QACA,CAACC,EAAWC,IAAcD,EAAU,WAAaC,EAAU,UAAYD,EAAU,YAAcC,EAAU,SAC3G,EAMaV,EAAW,CAAC,CAAE,QAAAW,CAAQ,OAE/B,OAAC,OAAI,UAAU,qBACb,mBAACJ,EAAA,CAAsB,WAAYK,EAAY,cAAe,CAAC,EAAAC,QAAW,EAAAC,OAAU,EACjF,SAAAH,EACH,EACF,EAIEC,EAAyB,CAC7B,EAAE,CAAE,SAAAG,CAAS,EAAG,CACd,SAAO,OAAC,KAAG,SAAAA,EAAS,CACtB,EACA,EAAE,CAAE,SAAAA,EAAU,GAAGC,CAAM,EAAG,CACxB,SACE,OAAC,KAAE,MAAO,CAAE,MAAO,OAAQ,eAAgB,WAAY,EAAI,GAAGA,EAAO,OAAO,SAAS,IAAI,sBACtF,SAAAD,EACH,CAEJ,CACF",
|
|
6
|
+
"names": ["markdown_exports", "__export", "Markdown", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_markdown", "import_remark_gfm", "import_remark_math", "MemoizedReactMarkdown", "ReactMarkdown", "prevProps", "nextProps", "content", "components", "remarkGfm", "remarkMath", "children", "props"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var I=Object.create;var y=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var S=(t,n)=>{for(var i in n)y(t,i,{get:n[i],enumerable:!0})},A=(t,n,i,p)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of T(n))!H.call(t,a)&&a!==i&&y(t,a,{get:()=>n[a],enumerable:!(p=L(n,a))||p.enumerable});return t};var b=(t,n,i)=>(i=t!=null?I(w(t)):{},A(n||!t||!t.__esModule?y(i,"default",{value:t,enumerable:!0}):i,t)),B=t=>A(y({},"__esModule",{value:!0}),t);var q={};S(q,{default:()=>P});module.exports=B(q);var s=require("react/jsx-runtime"),r=b(require("react")),k=require("@copilotkit/react-ui"),K=require("./markdown"),x=require("@copilotkit/react-core"),o=require("@copilotkit/runtime-client-gql");const F=({messages:t,inProgress:n,ResponseButton:i,messagesCallback:p,children:a})=>{const[m,d]=(0,r.useState)(!0),{chatComponentsCache:g}=(0,x.useCopilotContext)(),u=(0,k.useChatContext)();t=[...(0,r.useMemo)(()=>D(u.labels.initial),[u.labels.initial]),...t];const h={};for(let e=0;e<t.length;e++)if(t[e]instanceof o.ActionExecutionMessage){const c=t[e].id,l=t.find(f=>f instanceof o.ResultMessage&&f.actionExecutionId===c);l&&(h[c]=o.ResultMessage.decodeResult(l.result||""))}const R=r.default.useRef(null),C=r.default.useRef(null),E=()=>{R.current&&R.current.scrollIntoView({behavior:"auto"})};return(0,r.useEffect)(()=>{E()},[t]),(0,r.useEffect)(()=>{p&&p(t)},[t]),(0,r.useEffect)(()=>{const e=document.querySelector(".copilotKitInput textarea");e&&e.addEventListener("click",function(){e.value&&document.activeElement===e?d(!1):(d(!0),E())}),e&&e.addEventListener("input",function(){e.value&&document.activeElement===e?d(!1):(d(!0),E())})},[]),(0,r.useEffect)(()=>{const e=C.current;m&&e?(e.style.maxHeight="500px",e.style.overflow="visible"):!m&&e&&(e.style.maxHeight="0",e.style.overflow="hidden")},[m]),(0,s.jsxs)("div",{className:"copilotKitMessages",children:[t.map((e,c)=>{const l=c===t.length-1;if(e instanceof o.TextMessage&&e.role==="user")return(0,s.jsx)("div",{className:"copilotKitMessage copilotKitUserMessage",children:(0,s.jsx)(K.Markdown,{content:e.content})},c);if(e instanceof o.TextMessage&&e.role=="assistant")return(0,s.jsx)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:l&&n&&!e.content?u.icons.spinnerIcon:(0,s.jsx)(K.Markdown,{content:e.content})},c);if(e instanceof o.ActionExecutionMessage)if(g.current!==null&&g.current[e.name]){const f=g.current[e.name];if(typeof f=="string")return l&&n?(0,s.jsxs)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:[u.icons.spinnerIcon," ",(0,s.jsx)("span",{className:"inProgressLabel",children:f})]},c):null;{const N=e.arguments;let M="inProgress";h[e.id]!==void 0?M="complete":e.status.code!==o.MessageStatusCode.Pending&&(M="executing");const v=f({status:M,args:N,result:h[e.id]});return!v&&M==="complete"?null:typeof v=="string"?(0,s.jsxs)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:[l&&n&&u.icons.spinnerIcon," ",v]},c):(0,s.jsx)("div",{className:"copilotKitCustomAssistantMessage",children:v},c)}}else return!n||!l?null:(0,s.jsx)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:u.icons.spinnerIcon},c)}),(0,s.jsx)("div",{className:"responseButtonBox",children:i}),(0,s.jsx)("footer",{ref:R,children:(0,s.jsx)("div",{className:"copilotKitMessagesFooter",ref:C,children:a})})]})};function D(t){let n=[];return t&&(Array.isArray(t)?n.push(...t):n.push(t)),n.map(i=>new o.TextMessage({role:o.Role.Assistant,content:i}))}var P=F;
|
|
2
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/messages.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useEffect, useMemo, useState } from 'react'\nimport type { MessagesProps } from './props'\nimport { useChatContext } from '@copilotkit/react-ui'\nimport { Markdown } from './markdown'\nimport { type RenderFunctionStatus, useCopilotContext } from '@copilotkit/react-core'\nimport {\n MessageStatusCode,\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n Role,\n} from '@copilotkit/runtime-client-gql'\n\nconst Messages = ({ messages, inProgress, ResponseButton, messagesCallback, children }: MessagesProps) => {\n const [isExpanded, setIsExpanded] = useState(true)\n\n const { chatComponentsCache } = useCopilotContext()\n\n const context = useChatContext()\n const initialMessages = useMemo(() => makeInitialMessages(context.labels.initial), [context.labels.initial])\n messages = [...initialMessages, ...messages]\n\n const functionResults: Record<string, string> = {}\n\n for (let i = 0; i < messages.length; i++) {\n if (messages[i] instanceof ActionExecutionMessage) {\n const id = messages[i].id\n const resultMessage: ResultMessage | undefined = messages.find(\n message => message instanceof ResultMessage && message.actionExecutionId === id\n ) as ResultMessage | undefined\n\n if (resultMessage) {\n functionResults[id] = ResultMessage.decodeResult(resultMessage.result || '')\n }\n }\n }\n\n const messagesEndRef = React.useRef<HTMLDivElement>(null)\n const messagesEndChildRef = React.useRef<HTMLDivElement>(null)\n\n const scrollToBottom = () => {\n if (messagesEndRef.current) {\n messagesEndRef.current.scrollIntoView({\n behavior: 'auto',\n })\n }\n }\n\n useEffect(() => {\n scrollToBottom()\n }, [messages])\n\n useEffect(() => {\n if (messagesCallback) messagesCallback(messages)\n }, [messages])\n\n useEffect(() => {\n const textarea = document.querySelector('.copilotKitInput textarea') as HTMLTextAreaElement\n\n textarea &&\n textarea.addEventListener('click', function () {\n if (textarea.value && document.activeElement === textarea) {\n setIsExpanded(false)\n } else {\n setIsExpanded(true)\n scrollToBottom()\n }\n })\n textarea &&\n textarea.addEventListener('input', function () {\n if (textarea.value && document.activeElement === textarea) {\n setIsExpanded(false)\n } else {\n setIsExpanded(true)\n scrollToBottom()\n }\n })\n }, [])\n\n useEffect(() => {\n const content = messagesEndChildRef.current\n if (isExpanded && content) {\n content.style.maxHeight = '500px'\n content.style.overflow = 'visible'\n } else if (!isExpanded && content) {\n content.style.maxHeight = '0'\n content.style.overflow = 'hidden'\n }\n }, [isExpanded])\n\n return (\n <div className=\"copilotKitMessages\">\n {messages.map((message, index) => {\n const isCurrentMessage = index === messages.length - 1\n\n if (message instanceof TextMessage && message.role === 'user') {\n return (\n <div key={index} className=\"copilotKitMessage copilotKitUserMessage\">\n <Markdown content={message.content} />\n </div>\n )\n } else if (message instanceof TextMessage && message.role == 'assistant') {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && !message.content ? (\n context.icons.spinnerIcon\n ) : (\n <Markdown content={message.content} />\n )}\n </div>\n )\n } else if (message instanceof ActionExecutionMessage) {\n if (\n chatComponentsCache.current !== null &&\n chatComponentsCache.current[message.name as keyof typeof chatComponentsCache.current]\n ) {\n const render = chatComponentsCache.current[message.name as keyof typeof chatComponentsCache.current]\n // render a static string\n if (typeof render === 'string') {\n // when render is static, we show it only when in progress\n if (isCurrentMessage && inProgress) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon} <span className=\"inProgressLabel\">{render}</span>\n </div>\n )\n }\n // Done - silent by default to avoid a series of \"done\" messages\n else {\n return null\n }\n }\n // render is a function\n else {\n const args = message.arguments\n\n let status: RenderFunctionStatus = 'inProgress'\n\n if (functionResults[message.id] !== undefined) {\n status = 'complete'\n } else if (message.status.code !== MessageStatusCode.Pending) {\n status = 'executing'\n }\n const toRender = (render as any)({\n status: status as any,\n args,\n result: functionResults[message.id],\n })\n\n // No result and complete: stay silent\n if (!toRender && status === 'complete') {\n return null\n }\n\n if (typeof toRender === 'string') {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && context.icons.spinnerIcon} {toRender}\n </div>\n )\n } else {\n return (\n <div key={index} className=\"copilotKitCustomAssistantMessage\">\n {toRender}\n </div>\n )\n }\n }\n }\n // No render function found- show the default message\n else if (!inProgress || !isCurrentMessage) {\n // Done - silent by default to avoid a series of \"done\" messages\n return null\n } else {\n // In progress\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}\n </div>\n )\n }\n }\n })}\n <div className=\"responseButtonBox\">{ResponseButton}</div>\n <footer ref={messagesEndRef}>\n <div className=\"copilotKitMessagesFooter\" ref={messagesEndChildRef}>\n {children}\n </div>\n </footer>\n </div>\n )\n}\n\nfunction makeInitialMessages(initial?: string | string[]): Message[] {\n let initialArray: string[] = []\n if (initial) {\n if (Array.isArray(initial)) {\n initialArray.push(...initial)\n } else {\n initialArray.push(initial)\n }\n }\n\n return initialArray.map(\n message =>\n new TextMessage({\n role: Role.Assistant,\n content: message,\n })\n )\n}\n\nexport default Messages\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["messages_exports", "__export", "messages_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_ui", "import_markdown", "import_react_core", "import_runtime_client_gql", "Messages", "messages", "inProgress", "ResponseButton", "messagesCallback", "children", "isExpanded", "setIsExpanded", "chatComponentsCache", "context", "makeInitialMessages", "functionResults", "i", "id", "resultMessage", "message", "messagesEndRef", "React", "messagesEndChildRef", "scrollToBottom", "textarea", "content", "index", "isCurrentMessage", "render", "args", "status", "toRender", "initial", "initialArray"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var n=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of i(e))!p.call(o,s)&&s!==r&&n(o,s,{get:()=>e[s],enumerable:!(t=a(e,s))||t.enumerable});return o};var l=o=>c(n({},"__esModule",{value:!0}),o);var g={};module.exports=l(g);
|
|
2
|
+
//# sourceMappingURL=props.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/props.ts"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport { Message } from '@copilotkit/runtime-client-gql'\n\nexport interface ButtonProps {\n open: boolean\n setOpen: () => void\n}\n\nexport interface WindowProps {\n open: boolean\n setOpen: (open: boolean) => void\n clickOutsideToClose: boolean\n hitEscapeToClose: boolean\n shortcut: string\n children?: React.ReactNode\n}\n\nexport interface HeaderProps {\n open: boolean\n setOpen: (open: boolean) => void\n}\n\nexport interface ChatSuggestions {\n currentSuggestions: SuggestionsProps[]\n}\n\nexport interface SuggestionsProps {\n title: string\n message: string\n partial?: boolean\n className?: string\n}\n\nexport interface MessagesProps {\n messages: Message[]\n inProgress: boolean\n ResponseButton?: React.ReactElement\n children?: React.ReactNode\n messagesCallback?: (messages: any) => void\n}\n\nexport interface InputProps {\n inProgress: boolean\n onSend: (text: string) => Promise<Message>\n isVisible?: boolean\n}\n\nexport interface ResponseButtonProps {\n onClick: () => void\n inProgress: boolean\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
|
+
"names": ["props_exports", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var u=(s,e)=>{for(var o in e)p(s,o,{get:e[o],enumerable:!0})},m=(s,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!g.call(s,t)&&t!==o&&p(s,t,{get:()=>e[t],enumerable:!(n=c(e,t))||n.enumerable});return s};var d=s=>m(p({},"__esModule",{value:!0}),s);var I={};u(I,{default:()=>b});module.exports=d(I);var a=require("react/jsx-runtime"),r=require("@copilotkit/react-ui"),i=require("@copilotkit/react-core");const C=({messagesId:s})=>{const e=(0,r.useChatContext)(),{isLoading:o,reloadMessages:n,stopGeneration:t}=(0,i.useCopilotChat)();return!o&&(0,a.jsxs)("button",{onClick:()=>o?t():n(),className:"copilotKitResponseButton",children:[o?e.labels.stopGenerating:e.labels.regenerateResponse,(0,a.jsx)("span",{children:o?e.icons.stopIcon:e.icons.regenerateIcon})]})};var b=C;
|
|
2
|
+
//# sourceMappingURL=response.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/response.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useChatContext } from '@copilotkit/react-ui'\nimport { useCopilotChat } from '@copilotkit/react-core'\n\nconst ResponseButton = ({ messagesId }: { messagesId: string }) => {\n const context = useChatContext()\n\n const { isLoading, reloadMessages, stopGeneration } = useCopilotChat()\n\n return (\n !isLoading && (\n <button onClick={() => (isLoading ? stopGeneration() : reloadMessages())} className=\"copilotKitResponseButton\">\n {isLoading ? context.labels.stopGenerating : context.labels.regenerateResponse}\n <span>{isLoading ? context.icons.stopIcon : context.icons.regenerateIcon}</span>\n </button>\n )\n )\n}\n\nexport default ResponseButton\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAUM,IAAAI,EAAA,6BAVNC,EAA+B,gCAC/BC,EAA+B,kCAE/B,MAAMC,EAAiB,CAAC,CAAE,WAAAC,CAAW,IAA8B,CACjE,MAAMC,KAAU,kBAAe,EAEzB,CAAE,UAAAC,EAAW,eAAAC,EAAgB,eAAAC,CAAe,KAAI,kBAAe,EAErE,MACE,CAACF,MACC,QAAC,UAAO,QAAS,IAAOA,EAAYE,EAAe,EAAID,EAAe,EAAI,UAAU,2BACjF,UAAAD,EAAYD,EAAQ,OAAO,eAAiBA,EAAQ,OAAO,sBAC5D,OAAC,QAAM,SAAAC,EAAYD,EAAQ,MAAM,SAAWA,EAAQ,MAAM,eAAe,GAC3E,CAGN,EAEA,IAAOP,EAAQK",
|
|
6
|
+
"names": ["response_exports", "__export", "response_default", "__toCommonJS", "import_jsx_runtime", "import_react_ui", "import_react_core", "ResponseButton", "messagesId", "context", "isLoading", "reloadMessages", "stopGeneration"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var g=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var C=(o,s)=>{for(var e in s)g(o,e,{get:s[e],enumerable:!0})},b=(o,s,e,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of c(s))!f.call(o,t)&&t!==e&&g(o,t,{get:()=>s[t],enumerable:!(n=d(s,t))||n.enumerable});return o};var h=o=>b(g({},"__esModule",{value:!0}),o);var k={};C(k,{default:()=>v});module.exports=h(k);var p=require("react/jsx-runtime"),i=require("@copilotkit/react-core"),a=require("@copilotkit/runtime-client-gql");const S=({currentSuggestions:o})=>{const{appendMessage:s}=(0,i.useCopilotChat)();return o?.length>0&&(0,p.jsx)("div",{className:"suggestions",children:o.map(({title:e,message:n,partial:t,className:r},u)=>(0,p.jsx)("button",{disabled:t,onClick:l=>{l.preventDefault();const m=new a.TextMessage({content:n,role:a.Role.User});s(m)},className:r||"suggestion",children:(0,p.jsx)("span",{children:e})},n+u))})};var v=S;
|
|
2
|
+
//# sourceMappingURL=suggestions.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/suggestions.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useCopilotChat } from '@copilotkit/react-core'\nimport { Role, TextMessage } from '@copilotkit/runtime-client-gql'\n\nimport type { SuggestionsProps, ChatSuggestions } from './props'\n\nconst Suggestions = ({ currentSuggestions }: ChatSuggestions) => {\n const { appendMessage } = useCopilotChat()\n\n return (\n currentSuggestions?.length > 0 && (\n <div className=\"suggestions\">\n {currentSuggestions.map(({ title, message, partial, className }: SuggestionsProps, index: number) => (\n <button\n key={message + index}\n disabled={partial}\n onClick={e => {\n e.preventDefault()\n const m = new TextMessage({\n content: message,\n role: Role.User,\n })\n appendMessage(m)\n }}\n className={className || 'suggestion'}\n >\n <span>{title}</span>\n </button>\n ))}\n </div>\n )\n )\n}\n\nexport default Suggestions\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAyBY,IAAAI,EAAA,6BAzBZC,EAA+B,kCAC/BC,EAAkC,0CAIlC,MAAMC,EAAc,CAAC,CAAE,mBAAAC,CAAmB,IAAuB,CAC/D,KAAM,CAAE,cAAAC,CAAc,KAAI,kBAAe,EAEzC,OACED,GAAoB,OAAS,MAC3B,OAAC,OAAI,UAAU,cACZ,SAAAA,EAAmB,IAAI,CAAC,CAAE,MAAAE,EAAO,QAAAC,EAAS,QAAAC,EAAS,UAAAC,CAAU,EAAqBC,OACjF,OAAC,UAEC,SAAUF,EACV,QAASG,GAAK,CACZA,EAAE,eAAe,EACjB,MAAM,EAAI,IAAI,cAAY,CACxB,QAASJ,EACT,KAAM,OAAK,IACb,CAAC,EACDF,EAAc,CAAC,CACjB,EACA,UAAWI,GAAa,aAExB,mBAAC,QAAM,SAAAH,EAAM,GAZRC,EAAUG,CAajB,CACD,EACH,CAGN,EAEA,IAAOZ,EAAQK",
|
|
6
|
+
"names": ["suggestions_exports", "__export", "suggestions_default", "__toCommonJS", "import_jsx_runtime", "import_react_core", "import_runtime_client_gql", "Suggestions", "currentSuggestions", "appendMessage", "title", "message", "partial", "className", "index", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var C=(i,o)=>{for(var p in o)a(i,p,{get:o[p],enumerable:!0})},c=(i,o,p,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of m(o))!u.call(i,s)&&s!==p&&a(i,s,{get:()=>o[s],enumerable:!(l=r(o,s))||l.enumerable});return i};var n=i=>c(a({},"__esModule",{value:!0}),i);var x={};C(x,{ActionExecutionMessage:()=>t.ActionExecutionMessage,Role:()=>t.Role,TextMessage:()=>t.TextMessage,useCopilotAction:()=>e.useCopilotAction,useCopilotChat:()=>e.useCopilotChat,useCopilotReadable:()=>e.useCopilotReadable});module.exports=n(x);var e=require("@copilotkit/react-core"),t=require("@copilotkit/runtime-client-gql");
|
|
2
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/chat/utils.ts"],
|
|
4
|
+
"sourcesContent": ["import { useCopilotChat, useCopilotAction, useCopilotReadable } from '@copilotkit/react-core'\nimport { Role, ActionExecutionMessage, TextMessage } from '@copilotkit/runtime-client-gql'\n\nexport { useCopilotChat, useCopilotAction, useCopilotReadable, Role, ActionExecutionMessage, TextMessage }\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4OAAAE,EAAAF,GAAA,IAAAG,EAAqE,kCACrEC,EAA0D",
|
|
6
|
+
"names": ["utils_exports", "__export", "__toCommonJS", "import_react_core", "import_runtime_client_gql"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var L=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var I=(o,m)=>{for(var g in m)L(o,g,{get:m[g],enumerable:!0})},z=(o,m,g,f)=>{if(m&&typeof m=="object"||typeof m=="function")for(let n of O(m))!B.call(o,n)&&n!==g&&L(o,n,{get:()=>m[n],enumerable:!(f=$(m,n))||f.enumerable});return o};var e=o=>z(L({},"__esModule",{value:!0}),o);var D={};I(D,{ALPC_COUNTRY_MAP:()=>j,AlpcConsumeType:()=>P,AlpcErrorCode:()=>M,ApprovalStatus:()=>G,ConsumeType:()=>u,CouponType:()=>d,CreditType:()=>U,DTC_TASK_TYPE:()=>h,PRICE_SYMBOL:()=>q,RewardType:()=>N,TaskSubType:()=>F,TaskType:()=>c});module.exports=e(D);var U=(n=>(n[n.All=0]="All",n[n.Earned=1]="Earned",n[n.Deducted=2]="Deducted",n[n.Expired=3]="Expired",n))(U||{}),u=(n=>(n.Coupon="coupon",n.GiftCard="giftCard",n.GoGift="goGift",n.Product="product",n))(u||{}),P=(g=>(g[g.Coupon=1]="Coupon",g[g.Product=2]="Product",g))(P||{}),c=(f=>(f[f.Program=1]="Program",f[f.Operation=2]="Operation",f[f.Redeem=3]="Redeem",f))(c||{}),h=(f=>(f.FirstPurchase="firstPurchase",f.UploadReceipt="uploadReceipt",f.Shopping="shopping",f))(h||{}),F=(t=>(t[t.Activation=1]="Activation",t[t.UpdateName=2]="UpdateName",t[t.UpdatePhone=3]="UpdatePhone",t[t.UpdateBirthday=4]="UpdateBirthday",t[t.Subscription=5]="Subscription",t[t.UpadteAppName=7]="UpadteAppName",t[t.Refund=3e3]="Refund",t[t.ProductUnApproved=5e3]="ProductUnApproved",t))(F||{}),d=(g=>(g.FixedMount="fixed_amount",g.Percent="percent",g))(d||{}),N=(x=>(x[x.Received=0]="Received",x[x.Pending=1]="Pending",x[x.ApproveSuccess=2]="ApproveSuccess",x[x.ApproveFail=3]="ApproveFail",x[x.Unfulfilled=4]="Unfulfilled",x[x.Fulfilled=5]="Fulfilled",x[x.Failed=6]="Failed",x))(N||{}),M=(i=>(i[i.CodeLpcRedeemFailed=180001]="CodeLpcRedeemFailed",i[i.CodeLpcUserNotFound=180002]="CodeLpcUserNotFound",i[i.CodeLpcCreditRuleNotFound=180003]="CodeLpcCreditRuleNotFound",i[i.CodeLpcUnknownError=180004]="CodeLpcUnknownError",i[i.CodeLpcNotEnoughCredits=180005]="CodeLpcNotEnoughCredits",i[i.CodeLpcUserMigrate=180006]="CodeLpcUserMigrate",i[i.CodeLpcRuleInventoryNotEnough=180007]="CodeLpcRuleInventoryNotEnough",i[i.CodeLpcShopifyCouponRuleRedeemLimit=180009]="CodeLpcShopifyCouponRuleRedeemLimit",i[i.CodeCrossSiteError=180011]="CodeCrossSiteError",i))(M||{});const j=new Map([["eu-en","eu"],["eu-de","de"]]);var G=(n=>(n[n.Pending=0]="Pending",n[n.Success=1]="Success",n[n.Failed=2]="Failed",n[n.DoubleConfirm=3]="DoubleConfirm",n))(G||{});const q={us:"$",uk:"\xA3",ca:"$",eu:"\u20AC",pl:"z\u0142",fr:"\u20AC",de:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED",es:"\u20AC"};
|
|
2
|
+
//# sourceMappingURL=const.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/components/credits/context/const.ts"],
|
|
4
|
+
"sourcesContent": ["export enum CreditType {\n All = 0,\n Earned = 1,\n Deducted = 2,\n Expired = 3,\n}\n\nexport enum ConsumeType {\n Coupon = 'coupon',\n GiftCard = 'giftCard',\n GoGift = 'goGift',\n Product = 'product',\n}\n\nexport enum AlpcConsumeType {\n Coupon = 1,\n Product = 2,\n}\n\nexport enum TaskType {\n Program = 1,\n Operation = 2,\n Redeem = 3,\n}\n\nexport enum DTC_TASK_TYPE {\n FirstPurchase = 'firstPurchase',\n UploadReceipt = 'uploadReceipt',\n Shopping = 'shopping',\n}\n\nexport enum TaskSubType {\n Activation = 1, // \u6FC0\u6D3B\u4E8B\u4EF6\n UpdateName = 2, // \u5B8C\u5584\u59D3\u540D\n UpdatePhone = 3, // \u66F4\u65B0\u624B\u673A\u53F7\n UpdateBirthday = 4, // \u66F4\u65B0\u751F\u65E5\n Subscription = 5, // \u8BA2\u9605\n UpadteAppName = 7, // \u5B8C\u5584APP\u59D3\u540D\n Refund = 3000, // \u8D2D\u7269\u9001\u79EF\u5206\u4EFB\u52A1\u9000\u6B3E\n ProductUnApproved = 5000, // \u5151\u6362\u5546\u54C1\u5BA1\u6838\u4E0D\u901A\u8FC7\n}\n\nexport enum CouponType {\n FixedMount = 'fixed_amount',\n Percent = 'percent',\n}\n\nexport enum RewardType {\n Received = 0,\n Pending = 1,\n ApproveSuccess = 2,\n ApproveFail = 3,\n Unfulfilled = 4,\n Fulfilled = 5,\n Failed = 6,\n}\n\nexport enum AlpcErrorCode {\n CodeLpcRedeemFailed = 180001,\n //user not found\n CodeLpcUserNotFound = 180002,\n //credit rule not found\n CodeLpcCreditRuleNotFound = 180003,\n //unknown error\n CodeLpcUnknownError = 180004,\n // not enough credits\n CodeLpcNotEnoughCredits = 180005,\n // user migrate\n CodeLpcUserMigrate = 180006,\n // \u5E93\u5B58\u4E0D\u8DB3\n CodeLpcRuleInventoryNotEnough = 180007,\n // \u5151\u6362\u6B21\u6570\u9650\u5236\n CodeLpcShopifyCouponRuleRedeemLimit = 180009,\n // \u8DE8\u533A\u5151\u6362\u9519\u8BEF\uFF08\u975E\u6B27\u5151\u6362\u6B27\u6D32\u7684\uFF09\n CodeCrossSiteError = 180011,\n}\n\nexport const ALPC_COUNTRY_MAP = new Map<string, string>([\n ['eu-en', 'eu'],\n ['eu-de', 'de'],\n])\n\nexport enum ApprovalStatus {\n Pending = 0,\n Success = 1,\n Failed = 2,\n DoubleConfirm = 3,\n}\n\nexport const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: '$',\n eu: '\u20AC',\n pl: 'z\u0142',\n fr: '\u20AC',\n de: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n es: '\u20AC',\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,EAAA,oBAAAC,EAAA,kBAAAC,EAAA,mBAAAC,EAAA,gBAAAC,EAAA,eAAAC,EAAA,eAAAC,EAAA,kBAAAC,EAAA,iBAAAC,EAAA,eAAAC,EAAA,gBAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAd,GAAO,IAAKQ,OACVA,IAAA,IAAM,GAAN,MACAA,IAAA,OAAS,GAAT,SACAA,IAAA,SAAW,GAAX,WACAA,IAAA,QAAU,GAAV,UAJUA,OAAA,IAOAF,OACVA,EAAA,OAAS,SACTA,EAAA,SAAW,WACXA,EAAA,OAAS,SACTA,EAAA,QAAU,UAJAA,OAAA,IAOAH,OACVA,IAAA,OAAS,GAAT,SACAA,IAAA,QAAU,GAAV,UAFUA,OAAA,IAKAU,OACVA,IAAA,QAAU,GAAV,UACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,OAAS,GAAT,SAHUA,OAAA,IAMAJ,OACVA,EAAA,cAAgB,gBAChBA,EAAA,cAAgB,gBAChBA,EAAA,SAAW,WAHDA,OAAA,IAMAG,OACVA,IAAA,WAAa,GAAb,aACAA,IAAA,WAAa,GAAb,aACAA,IAAA,YAAc,GAAd,cACAA,IAAA,eAAiB,GAAjB,iBACAA,IAAA,aAAe,GAAf,eACAA,IAAA,cAAgB,GAAhB,gBACAA,IAAA,OAAS,KAAT,SACAA,IAAA,kBAAoB,KAApB,oBARUA,OAAA,IAWAL,OACVA,EAAA,WAAa,eACbA,EAAA,QAAU,UAFAA,OAAA,IAKAI,OACVA,IAAA,SAAW,GAAX,WACAA,IAAA,QAAU,GAAV,UACAA,IAAA,eAAiB,GAAjB,iBACAA,IAAA,YAAc,GAAd,cACAA,IAAA,YAAc,GAAd,cACAA,IAAA,UAAY,GAAZ,YACAA,IAAA,OAAS,GAAT,SAPUA,OAAA,IAUAP,OACVA,IAAA,oBAAsB,QAAtB,sBAEAA,IAAA,oBAAsB,QAAtB,sBAEAA,IAAA,0BAA4B,QAA5B,4BAEAA,IAAA,oBAAsB,QAAtB,sBAEAA,IAAA,wBAA0B,QAA1B,0BAEAA,IAAA,mBAAqB,QAArB,qBAEAA,IAAA,8BAAgC,QAAhC,gCAEAA,IAAA,oCAAsC,QAAtC,sCAEAA,IAAA,mBAAqB,QAArB,qBAjBUA,OAAA,IAoBL,MAAMF,EAAmB,IAAI,IAAoB,CACtD,CAAC,QAAS,IAAI,EACd,CAAC,QAAS,IAAI,CAChB,CAAC,EAEM,IAAKG,OACVA,IAAA,QAAU,GAAV,UACAA,IAAA,QAAU,GAAV,UACAA,IAAA,OAAS,GAAT,SACAA,IAAA,cAAgB,GAAhB,gBAJUA,OAAA,IAOL,MAAMK,EAAe,CAC1B,GAAI,IACJ,GAAI,OACJ,GAAI,IACJ,GAAI,SACJ,GAAI,UACJ,GAAI,SACJ,GAAI,SACJ,GAAI,SACJ,GAAI,IACJ,GAAI,IACJ,GAAI,MACJ,GAAI,QACN",
|
|
6
|
+
"names": ["const_exports", "__export", "ALPC_COUNTRY_MAP", "AlpcConsumeType", "AlpcErrorCode", "ApprovalStatus", "ConsumeType", "CouponType", "CreditType", "DTC_TASK_TYPE", "PRICE_SYMBOL", "RewardType", "TaskSubType", "TaskType", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var c=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var R=(t,e)=>{for(var o in e)c(t,o,{get:e[o],enumerable:!0})},z=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of y(e))!P.call(t,s)&&s!==o&&c(t,s,{get:()=>e[s],enumerable:!(r=A(e,s))||r.enumerable});return t};var M=t=>z(c({},"__esModule",{value:!0}),t);var k={};R(k,{default:()=>h});module.exports=M(k);var i=require("react"),f=require("./useAlpcFetch"),p=require("../provider"),C=require("@anker-in/lib");function S({page:t,pageSize:e,options:o={}}){const{profile:r,isLoadingProfile:s}=(0,p.useCreditsContext)(),{brand:b}=(0,C.useHeadlessContext)(),[n,L]=(0,i.useState)([]),[u,v]=(0,i.useState)(0),[d,_]=(0,i.useState)(0),{isMutating:a,trigger:g}=(0,f.useAlpcMutation)({url:"/v1/credit/log",initData:{brand:b}}),m=(0,i.useCallback)(async()=>{const x={page:t,page_size:e,user_id:r?.user_id,...o};g(x,{onSuccess(l){_(t),v(l?.data?.total),L(n.concat(l?.data?.creditLogs||[]))}})},[n,r,t,e,o,g]);return(0,i.useEffect)(()=>{s||!r||a||t!==d&&t&&m()},[m,s,a,r,t,d]),{activities:n,isLoading:a,total:u,canNext:u>n.length&&!a}}var h=S;
|
|
2
|
+
//# sourceMappingURL=useActivities.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useActivities.ts"],
|
|
4
|
+
"sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\n\nimport { useAlpcMutation } from './useAlpcFetch'\nimport type { CreditLogResponse } from '../response'\nimport { useCreditsContext } from '../provider'\nimport { useHeadlessContext } from '@anker-in/lib'\n\nfunction useActivities({ page, pageSize, options = {} }: { page: number; pageSize: number; options?: any }) {\n const { profile, isLoadingProfile } = useCreditsContext()\n const { brand } = useHeadlessContext()\n const [activities, setActivities] = useState<CreditLogResponse[]>([])\n const [total, setTotal] = useState(0)\n\n const [currentPage, setCurrentPage] = useState(0)\n\n const { isMutating: isLoading, trigger } = useAlpcMutation<\n {\n data: {\n total: number\n creditLogs: CreditLogResponse[]\n }\n },\n {\n page: number\n page_size: number\n user_id: string\n }\n >({\n url: `/v1/credit/log`,\n initData: {\n brand,\n },\n })\n\n const getActivities = useCallback(async () => {\n const params = {\n page: page,\n page_size: pageSize,\n user_id: profile?.user_id,\n ...options,\n }\n\n trigger(params, {\n onSuccess(responseData) {\n setCurrentPage(page)\n setTotal(responseData?.data?.total)\n setActivities(activities.concat(responseData?.data?.creditLogs || []))\n },\n })\n }, [activities, profile, page, pageSize, options, trigger])\n\n useEffect(() => {\n if (isLoadingProfile || !profile || isLoading) {\n return\n }\n\n if (page !== currentPage && page) {\n getActivities()\n }\n }, [getActivities, isLoadingProfile, isLoading, profile, page, currentPage])\n\n return {\n activities,\n isLoading,\n total,\n canNext: total > activities.length && !isLoading,\n }\n}\n\nexport default useActivities\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiD,iBAEjDC,EAAgC,0BAEhCC,EAAkC,uBAClCC,EAAmC,yBAEnC,SAASC,EAAc,CAAE,KAAAC,EAAM,SAAAC,EAAU,QAAAC,EAAU,CAAC,CAAE,EAAsD,CAC1G,KAAM,CAAE,QAAAC,EAAS,iBAAAC,CAAiB,KAAI,qBAAkB,EAClD,CAAE,MAAAC,CAAM,KAAI,sBAAmB,EAC/B,CAACC,EAAYC,CAAa,KAAI,YAA8B,CAAC,CAAC,EAC9D,CAACC,EAAOC,CAAQ,KAAI,YAAS,CAAC,EAE9B,CAACC,EAAaC,CAAc,KAAI,YAAS,CAAC,EAE1C,CAAE,WAAYC,EAAW,QAAAC,CAAQ,KAAI,mBAYzC,CACA,IAAK,iBACL,SAAU,CACR,MAAAR,CACF,CACF,CAAC,EAEKS,KAAgB,eAAY,SAAY,CAC5C,MAAMC,EAAS,CACb,KAAMf,EACN,UAAWC,EACX,QAASE,GAAS,QAClB,GAAGD,CACL,EAEAW,EAAQE,EAAQ,CACd,UAAUC,EAAc,CACtBL,EAAeX,CAAI,EACnBS,EAASO,GAAc,MAAM,KAAK,EAClCT,EAAcD,EAAW,OAAOU,GAAc,MAAM,YAAc,CAAC,CAAC,CAAC,CACvE,CACF,CAAC,CACH,EAAG,CAACV,EAAYH,EAASH,EAAMC,EAAUC,EAASW,CAAO,CAAC,EAE1D,sBAAU,IAAM,CACVT,GAAoB,CAACD,GAAWS,GAIhCZ,IAASU,GAAeV,GAC1Bc,EAAc,CAElB,EAAG,CAACA,EAAeV,EAAkBQ,EAAWT,EAASH,EAAMU,CAAW,CAAC,EAEpE,CACL,WAAAJ,EACA,UAAAM,EACA,MAAAJ,EACA,QAASA,EAAQF,EAAW,QAAU,CAACM,CACzC,CACF,CAEA,IAAOnB,EAAQM",
|
|
6
|
+
"names": ["useActivities_exports", "__export", "useActivities_default", "__toCommonJS", "import_react", "import_useAlpcFetch", "import_provider", "import_lib", "useActivities", "page", "pageSize", "options", "profile", "isLoadingProfile", "brand", "activities", "setActivities", "total", "setTotal", "currentPage", "setCurrentPage", "isLoading", "trigger", "getActivities", "params", "responseData"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var L=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var O=(e,a)=>{for(var d in a)L(e,d,{get:a[d],enumerable:!0})},D=(e,a,d,r)=>{if(a&&typeof a=="object"||typeof a=="function")for(let t of b(a))!I.call(e,t)&&t!==d&&L(e,t,{get:()=>a[t],enumerable:!(r=_(a,t))||r.enumerable});return e};var v=e=>D(L({},"__esModule",{value:!0}),e);var j={};O(j,{useAddressValidate:()=>Y});module.exports=v(j);var x=require("react"),k=require("../utils"),U=require("@anker-in/lib");const T=/[&%*<>^#;-]/,F=/[&^*%<>;,?]/,N=/[^a-zA-Z0-9\s]/,V=/^\d+(\s+\d+)*$/,G=/(Packstation|Postfiliale)/gi,H=/(P(\.)?\s*?O(\.)?\s*?box|Post(al)?(\s*)?(Office(\s*))?Box)/gi,w={minLength:(e,a)=>e?.length>0&&e?.length<a?.length,maxLength:(e,a)=>e?.length>a?.length,isUSSpecialCharacters:e=>T.test(e),isEUSpecialCharacters:e=>F.test(e),isSC:e=>N.test(e),isPureDigital:e=>V.test(e),isPackstation:e=>G.test(e),isPobox:e=>H.test(e)},B={us:{nameRules:["isUSSpecialCharacters"],addressRules:{address1:["isPobox","isUSSpecialCharacters","minLength","maxLength","isPureDigital"],address2:["isPobox","isUSSpecialCharacters","maxLength","isPureDigital"]},addressLengths:{min:4,max:32}},"eu-en":{nameRules:["isEUSpecialCharacters"],addressRules:{address1:["isPobox","isEUSpecialCharacters","minLength","maxLength","isPureDigital","isPackstation"],address2:["isPobox","isEUSpecialCharacters","maxLength","isPackstation"]},addressLengths:{min:3,max:70}},uk:{nameRules:["isEUSpecialCharacters"],addressRules:{address1:["isPobox","isEUSpecialCharacters","minLength","maxLength","isPureDigital"],address2:["isPobox","isEUSpecialCharacters","maxLength"]},addressLengths:{min:3,max:35}},"eu-de":{nameRules:["isEUSpecialCharacters"],addressRules:{address1:["isPobox","isEUSpecialCharacters","minLength","maxLength","isPureDigital","isPackstation"],address2:["isPobox","isPackstation","isEUSpecialCharacters","maxLength"]},addressLengths:{min:3,max:35}},ca:{nameRules:["isUSSpecialCharacters"],addressRules:{address1:["isPobox","maxLength"],address2:["isPobox","maxLength"]},addressLengths:{max:35}}},M={uk:{rules:["isEUSpecialCharacters","minLength","maxLength"],lengths:{min:2,max:35}},"eu-en":{rules:["isEUSpecialCharacters","minLength","maxLength"],lengths:{min:2,max:35}},"eu-de":{rules:["isEUSpecialCharacters","minLength","maxLength"],lengths:{min:2,max:35}},ca:{rules:["minLength","maxLength"],lengths:{min:2,max:15}}},Y=({address:e,validatorInfo:a,formData:d,errorLabel:r})=>{const{locale:t}=(0,U.useHeadlessContext)(),[q,A]=(0,x.useState)([]),y=(0,x.useMemo)(()=>{const{city_rules:C={},name_rules:p={},address1_rules:u,address2_rules:g,POboxErr:f,packstationErr:P}=a||{},i=B[t],m=M[t],S=[...d.map(s=>({key:s.key,required:s.required,error:r.require||"This field is required"})),{key:"email",error:r.email||"Invalid email format",validator(s){return!(0,k.emailValidate)(s)}},{key:"first_name",required:!0,error:r.require||"First name is required"},{key:"last_name",required:!0,error:r.require||"Last name is required"},{key:"name",error:p.maxLengthErr||r.require||"Name is too long",validator:s=>s?.length>=31}],E=m?m.rules.map(s=>{const l={key:"city",rule:s,error:""};return s==="minLength"?(l.params={length:m.lengths.min},l.error=C.minLengthErr||r.require||"City is too short"):s==="maxLength"?(l.params={length:m.lengths.max},l.error=C.maxLengthErr||r.require||"City is too long"):s==="isEUSpecialCharacters"&&(l.error=C.characterErr||r.require||"Invalid characters in city"),l}):[],o=i?.nameRules.map(s=>({key:"first_name",rule:s,error:p.characterErr})).concat(i?.nameRules.map(s=>({key:"last_name",rule:s,error:p.characterErr}))||[])||[],h=i?Object.entries(i.addressRules).flatMap(([s,l])=>l.map(c=>{const n={key:s,rule:c,error:""},R=s==="address1"?u:g;return c==="isPobox"?n.error=f||r.require||"PO Box not allowed":c==="isPackstation"?n.error=P||r.require||"Packstation not allowed":c==="isUSSpecialCharacters"||c==="isEUSpecialCharacters"?n.error=R?.characterErr||r.require||"Invalid characters":c==="minLength"?(n.params={length:"min"in i.addressLengths?i.addressLengths.min:0},n.error=R?.minLengthErr||r.require||"Address is too short"):c==="maxLength"?(n.params={length:i.addressLengths.max},n.error=R?.maxLengthErr||r.require||"Address is too long"):c==="isPureDigital"&&(n.error=R?.pureDigitalErr||r.require||"Address cannot be only numbers"),n})):[];return[...S,...E,...o,...h]},[t,a,d,r]);return{validate:(0,x.useCallback)(({force:C,ignoreKeys:p})=>{let u=[];return y.forEach(({key:g,rule:f,params:P,required:i,error:m,validator:S})=>{const E=f?w[f]:void 0;let o;const h=e[g];p?.includes(g)||h===void 0&&!C||u.find(s=>s.key==g)||(i&&!h?o=m:S?o=S(h,g,e):E&&(o=E(h,P)),o&&u.push({key:g,message:typeof o=="string"?o:m}))}),A(u),!!u.length},[e,y]),errors:q}};
|
|
2
|
+
//# sourceMappingURL=useAddressValidate.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useAddressValidate.ts"],
|
|
4
|
+
"sourcesContent": ["import { useCallback, useMemo, useState } from 'react'\nimport { emailValidate } from '../utils'\nimport { useHeadlessContext } from '@anker-in/lib'\n\ntype ValidatorCallback = (value: string, params?: Record<string, any>) => boolean\n\nconst US_SPECIAL_CHARACTERS = /[&%*<>^#;-]/\nconst EU_SPECIAL_CHARACTERS = /[&^*%<>;,?]/\nconst SC_CHARACTERS = /[^a-zA-Z0-9\\s]/\nconst PURE_DIGITAL = /^\\d+(\\s+\\d+)*$/\nconst PACKSTATION = /(Packstation|Postfiliale)/gi\nconst POBOX = /(P(\\.)?\\s*?O(\\.)?\\s*?box|Post(al)?(\\s*)?(Office(\\s*))?Box)/gi\n\nconst ruleValidators: Record<string, ValidatorCallback> = {\n minLength: (value, params) => value?.length > 0 && value?.length < params?.length,\n maxLength: (value, params) => value?.length > params?.length,\n isUSSpecialCharacters: value => US_SPECIAL_CHARACTERS.test(value),\n isEUSpecialCharacters: value => EU_SPECIAL_CHARACTERS.test(value),\n isSC: value => SC_CHARACTERS.test(value),\n isPureDigital: value => PURE_DIGITAL.test(value),\n isPackstation: value => PACKSTATION.test(value),\n isPobox: value => POBOX.test(value),\n}\n\nexport interface Rule {\n key: string\n error: string\n rule?: string\n params?: Record<string, any>\n required?: boolean\n validator?: (value: string, key: string, address: Record<string, any>) => boolean | string\n}\n\nexport type FormData = {\n key: string\n label: string\n tips: string\n required: boolean\n placeholder: string\n type?: string\n}[]\n\n// \u56FD\u5BB6/\u5730\u533A\u914D\u7F6E\u6620\u5C04\nconst LOCALE_CONFIGS = {\n us: {\n nameRules: ['isUSSpecialCharacters'],\n addressRules: {\n address1: ['isPobox', 'isUSSpecialCharacters', 'minLength', 'maxLength', 'isPureDigital'],\n address2: ['isPobox', 'isUSSpecialCharacters', 'maxLength', 'isPureDigital'],\n },\n addressLengths: { min: 4, max: 32 },\n },\n 'eu-en': {\n nameRules: ['isEUSpecialCharacters'],\n addressRules: {\n address1: ['isPobox', 'isEUSpecialCharacters', 'minLength', 'maxLength', 'isPureDigital', 'isPackstation'],\n address2: ['isPobox', 'isEUSpecialCharacters', 'maxLength', 'isPackstation'],\n },\n addressLengths: { min: 3, max: 70 },\n },\n uk: {\n nameRules: ['isEUSpecialCharacters'],\n addressRules: {\n address1: ['isPobox', 'isEUSpecialCharacters', 'minLength', 'maxLength', 'isPureDigital'],\n address2: ['isPobox', 'isEUSpecialCharacters', 'maxLength'],\n },\n addressLengths: { min: 3, max: 35 },\n },\n 'eu-de': {\n nameRules: ['isEUSpecialCharacters'],\n addressRules: {\n address1: ['isPobox', 'isEUSpecialCharacters', 'minLength', 'maxLength', 'isPureDigital', 'isPackstation'],\n address2: ['isPobox', 'isPackstation', 'isEUSpecialCharacters', 'maxLength'],\n },\n addressLengths: { min: 3, max: 35 },\n },\n ca: {\n nameRules: ['isUSSpecialCharacters'],\n addressRules: {\n address1: ['isPobox', 'maxLength'],\n address2: ['isPobox', 'maxLength'],\n },\n addressLengths: { max: 35 },\n },\n}\n\n// \u57CE\u5E02\u89C4\u5219\u914D\u7F6E\nconst CITY_CONFIGS = {\n uk: { rules: ['isEUSpecialCharacters', 'minLength', 'maxLength'], lengths: { min: 2, max: 35 } },\n 'eu-en': { rules: ['isEUSpecialCharacters', 'minLength', 'maxLength'], lengths: { min: 2, max: 35 } },\n 'eu-de': { rules: ['isEUSpecialCharacters', 'minLength', 'maxLength'], lengths: { min: 2, max: 35 } },\n ca: { rules: ['minLength', 'maxLength'], lengths: { min: 2, max: 15 } },\n}\n\nexport const useAddressValidate = ({\n address,\n validatorInfo,\n formData,\n errorLabel,\n}: {\n address: Record<string, any>\n validatorInfo: any\n formData: any\n errorLabel: {\n require: string\n email: string\n }\n}) => {\n const { locale } = useHeadlessContext()\n const [errors, setErrors] = useState<{ key: string; message: string }[]>([])\n\n const addressRules: Rule[] = useMemo(() => {\n const {\n city_rules = {},\n name_rules = {},\n address1_rules,\n address2_rules,\n POboxErr,\n packstationErr,\n } = validatorInfo || {}\n\n const localeConfig = LOCALE_CONFIGS[locale as keyof typeof LOCALE_CONFIGS]\n const cityConfig = CITY_CONFIGS[locale as keyof typeof CITY_CONFIGS]\n\n // \u57FA\u7840\u89C4\u5219\n const baseRules: Rule[] = [\n // \u8868\u5355\u5B57\u6BB5\u89C4\u5219\n ...formData.map((item: any) => ({\n key: item.key,\n required: item.required,\n error: errorLabel.require || 'This field is required',\n })),\n\n // \u90AE\u7BB1\u6821\u9A8C\n {\n key: 'email',\n error: errorLabel.email || 'Invalid email format',\n validator(value) {\n return !emailValidate(value)\n },\n },\n\n // \u59D3\u540D\u89C4\u5219\n {\n key: 'first_name',\n required: true,\n error: errorLabel.require || 'First name is required',\n },\n {\n key: 'last_name',\n required: true,\n error: errorLabel.require || 'Last name is required',\n },\n {\n key: 'name',\n error: name_rules.maxLengthErr || errorLabel.require || 'Name is too long',\n validator: value => value?.length >= 31,\n },\n ]\n\n // \u57CE\u5E02\u89C4\u5219\n const cityRules: Rule[] = cityConfig\n ? cityConfig.rules.map(rule => {\n const ruleConfig: Rule = { key: 'city', rule, error: '' }\n\n if (rule === 'minLength') {\n ruleConfig.params = { length: cityConfig.lengths.min }\n ruleConfig.error = city_rules.minLengthErr || errorLabel.require || 'City is too short'\n } else if (rule === 'maxLength') {\n ruleConfig.params = { length: cityConfig.lengths.max }\n ruleConfig.error = city_rules.maxLengthErr || errorLabel.require || 'City is too long'\n } else if (rule === 'isEUSpecialCharacters') {\n ruleConfig.error = city_rules.characterErr || errorLabel.require || 'Invalid characters in city'\n }\n\n return ruleConfig\n })\n : []\n\n // \u59D3\u540D\u7279\u6B8A\u5B57\u7B26\u89C4\u5219\n const nameRules: Rule[] =\n localeConfig?.nameRules\n .map(rule => ({\n key: 'first_name',\n rule,\n error: name_rules.characterErr,\n }))\n .concat(\n localeConfig?.nameRules.map(rule => ({\n key: 'last_name',\n rule,\n error: name_rules.characterErr,\n })) || []\n ) || []\n\n // \u5730\u5740\u89C4\u5219\n const addressRules: Rule[] = localeConfig\n ? Object.entries(localeConfig.addressRules).flatMap(([addressKey, rules]) =>\n rules.map(rule => {\n const ruleConfig: Rule = { key: addressKey, rule, error: '' }\n const rulesConfig = addressKey === 'address1' ? address1_rules : address2_rules\n\n if (rule === 'isPobox') {\n ruleConfig.error = POboxErr || errorLabel.require || 'PO Box not allowed'\n } else if (rule === 'isPackstation') {\n ruleConfig.error = packstationErr || errorLabel.require || 'Packstation not allowed'\n } else if (rule === 'isUSSpecialCharacters' || rule === 'isEUSpecialCharacters') {\n ruleConfig.error = rulesConfig?.characterErr || errorLabel.require || 'Invalid characters'\n } else if (rule === 'minLength') {\n ruleConfig.params = { length: 'min' in localeConfig.addressLengths ? localeConfig.addressLengths.min : 0 }\n ruleConfig.error = rulesConfig?.minLengthErr || errorLabel.require || 'Address is too short'\n } else if (rule === 'maxLength') {\n ruleConfig.params = { length: localeConfig.addressLengths.max }\n ruleConfig.error = rulesConfig?.maxLengthErr || errorLabel.require || 'Address is too long'\n } else if (rule === 'isPureDigital') {\n ruleConfig.error = rulesConfig?.pureDigitalErr || errorLabel.require || 'Address cannot be only numbers'\n }\n\n return ruleConfig\n })\n )\n : []\n\n return [...baseRules, ...cityRules, ...nameRules, ...addressRules]\n }, [locale, validatorInfo, formData, errorLabel])\n\n const validate = useCallback(\n ({ force, ignoreKeys }: { force?: boolean; ignoreKeys?: string[] }) => {\n let newErrors: { key: string; message: string }[] = []\n\n addressRules.forEach(({ key, rule, params, required, error, validator }) => {\n const defaultValidator = rule ? ruleValidators[rule] : undefined\n\n let result\n\n const value = address[key]\n\n if (ignoreKeys?.includes(key)) {\n return\n }\n\n if (value === undefined && !force) {\n return\n }\n\n if (newErrors.find(item => item.key == key)) {\n return\n }\n\n if (required && !value) {\n result = error\n } else if (validator) {\n result = validator(value, key, address)\n } else if (defaultValidator) {\n result = defaultValidator(value, params)\n }\n\n if (result) {\n newErrors.push({\n key,\n message: typeof result === 'string' ? result : error,\n })\n }\n })\n\n setErrors(newErrors)\n\n if (newErrors.length) {\n return true\n }\n\n return false\n },\n [address, addressRules]\n )\n\n return {\n validate,\n errors,\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useAddressValidate_exports", "__export", "useAddressValidate", "__toCommonJS", "import_react", "import_utils", "import_lib", "US_SPECIAL_CHARACTERS", "EU_SPECIAL_CHARACTERS", "SC_CHARACTERS", "PURE_DIGITAL", "PACKSTATION", "POBOX", "ruleValidators", "value", "params", "LOCALE_CONFIGS", "CITY_CONFIGS", "address", "validatorInfo", "formData", "errorLabel", "locale", "errors", "setErrors", "addressRules", "city_rules", "name_rules", "address1_rules", "address2_rules", "POboxErr", "packstationErr", "localeConfig", "cityConfig", "baseRules", "item", "cityRules", "rule", "ruleConfig", "nameRules", "addressKey", "rules", "rulesConfig", "force", "ignoreKeys", "newErrors", "key", "required", "error", "validator", "defaultValidator", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var P=Object.create;var D=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var r in e)D(t,r,{get:e[r],enumerable:!0})},b=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of F(e))!j.call(t,a)&&a!==r&&D(t,a,{get:()=>e[a],enumerable:!(n=B(e,a))||n.enumerable});return t};var x=(t,e,r)=>(r=t!=null?P(q(t)):{},b(e||!t||!t.__esModule?D(r,"default",{value:t,enumerable:!0}):r,t)),I=t=>b(D({},"__esModule",{value:!0}),t);var W={};v(W,{useAlpcFetch:()=>k,useAlpcMutation:()=>N});module.exports=I(W);var R=x(require("js-cookie")),o=require("react"),E=x(require("swr")),U=require("@anker-in/lib"),y=require("../utils"),S=require("../provider");let O;const w=t=>fetch((0,y.getAlpcPath)(t.locale)+t.url,t.fetchOptions).then(async e=>{if(e.status<300)return(await e.json()).data;if(e.status===401&&t.onReAuth){O||(O=t.onReAuth());const r=await O;if(O=void 0,r)return fetch((0,y.getAlpcPath)(t.locale)+t.url,t.fetchOptions).then(async n=>{if(n.status<300)return(await n.json()).data;if(n.status===401){t.onUnAuth&&t.onUnAuth();return}});t.onUnAuth&&t.onUnAuth();return}}),C=async(t,e,r)=>{let n=await fetch(`${(0,y.getAlpcPath)(t)}/cloud/login`,{method:"POST"}),a=await n.json();if(n.status<300&&!e&&a?.data?.code===27004){const s=R.default.get("alpcEU");if(Number(s)===1?R.default.set("alpcEU","0",{expires:30,domain:`.${r}.com`}):R.default.set("alpcEU","1",{expires:30,domain:`.${r}.com`}),n=await fetch(`${(0,y.getAlpcPath)(t)}/cloud/login`,{method:"POST"}),a=await n.json(),n.status>300)return!1}return!a?.data?.code},$=(t,e,r={})=>{const n=(0,o.useRef)(!1),[a,s]=(0,o.useState)(),[u,c]=(0,o.useState)(!1),f=(0,o.useRef)(t),l=(0,o.useRef)(e),h=(0,o.useRef)(r),p=(0,o.useCallback)(async(d,g={})=>{if(n.current)return;n.current=!0,c(!0);const T={...h.current,...g},{onSuccess:m,onError:A}=T||{};try{const i=await l.current(f.current,{arg:d});return s(i),c(!1),n.current=!1,m&&m(i),i}catch(i){c(!1),n.current=!1,A&&A(i)}},[]);return{isMutating:u,trigger:p,data:a}},k=(t,e)=>{const[r,n]=(0,o.useState)(!1),{removeProfile:a}=(0,S.useCreditsContext)(),{enable:s,...u}=e||{},{locale:c="",brand:f}=(0,U.useHeadlessContext)(),{queryKey:l=[],body:h={},headers:p,...d}=t,g=s??!0,[T,m]=l;return(0,E.default)([T,m],g?([i,M])=>w({url:i,locale:c,fetchOptions:{method:"POST",headers:{"current-language":c,...p},body:JSON.stringify({...h,...M}),...d},onReAuth:async()=>await C(c,r,f)?(n(!0),!0):!1,onUnAuth(){a()}}):null,{revalidateOnFocus:!1,...u})},N=(t,e)=>{const[r,n]=(0,o.useState)(!1),{removeProfile:a}=(0,S.useCreditsContext)(),{locale:s="",brand:u}=(0,U.useHeadlessContext)(),{url:c,initData:f,headers:l,...h}=t;return $(c,(d,g)=>w({url:d,locale:s,fetchOptions:{method:"POST",headers:{"current-language":s,...l},...h,body:JSON.stringify({...f,...g.arg})},onReAuth:async()=>await C(s,r,u)?(n(!0),!0):!1,onUnAuth(){a()}}),e)};
|
|
2
|
+
//# sourceMappingURL=useAlpcFetch.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useAlpcFetch.ts"],
|
|
4
|
+
"sourcesContent": ["import Cookies from 'js-cookie'\nimport { useCallback, useRef, useState } from 'react'\nimport useSWR, { type SWRConfiguration } from 'swr'\nimport { useHeadlessContext } from '@anker-in/lib'\n\nimport { getAlpcPath } from '../utils'\nimport { useCreditsContext } from '../provider'\n\ninterface UseAlpcFetchOptionsSwrOptions<TData, Error> extends SWRConfiguration<TData, Error> {\n enable?: boolean\n}\n\ninterface FetchOptions extends RequestInit {\n queryKey: [string, Record<string, any>]\n data?: Record<string, any>\n}\n\ninterface MutationOptions extends RequestInit {\n url: string\n initData: Record<string, any>\n}\n\ninterface FetcherOptions {\n url: string\n locale: string\n fetchOptions: RequestInit\n onReAuth: () => Promise<boolean>\n onUnAuth: () => void\n}\n\nlet reAuthPromise: Promise<boolean> | undefined\n\ntype Fetcher<TData, TBody> = (url: string, data: { arg: TBody }) => Promise<TData>\n\nconst fetcher = (options: FetcherOptions) => {\n return fetch(getAlpcPath(options.locale) + options.url, options.fetchOptions).then(async response => {\n if (response.status < 300) {\n const responseData = await response.json()\n return responseData.data\n }\n\n // \u9519\u8BEF\u5904\u7406\n if (response.status === 401) {\n // \u91CD\u65B0\u767B\u5F55\u5C1D\u8BD5\n if (options.onReAuth) {\n if (!reAuthPromise) {\n reAuthPromise = options.onReAuth()\n }\n\n const result = await reAuthPromise\n\n reAuthPromise = undefined\n\n if (result) {\n // \u8DE8\u533A\u91CD\u65B0\u767B\u5F55\u540E\u9700\u8981\u66FF\u6362\u533A\u57DF\u6807\u5FD7\uFF0C\u6240\u4EE5\u4E0D\u80FD\u7528\u6700\u5F00\u59CB\u8BF7\u6C42\u7684\u90A3\u4E2A\u94FE\u63A5\n return fetch(getAlpcPath(options.locale) + options.url, options.fetchOptions).then(async response => {\n if (response.status < 300) {\n const responseData = await response.json()\n return responseData.data\n }\n\n if (response.status === 401) {\n if (options.onUnAuth) {\n options.onUnAuth()\n }\n return\n }\n })\n } else {\n if (options.onUnAuth) {\n options.onUnAuth()\n }\n return\n }\n }\n }\n })\n}\n\nconst reAuth = async (locale: string, retry: boolean, brand: string) => {\n let reloginResponse = await fetch(`${getAlpcPath(locale)}/cloud/login`, {\n method: 'POST',\n })\n let reloginResponseData = await reloginResponse.json()\n\n if (reloginResponse!.status < 300 && !retry) {\n if (reloginResponseData?.data?.code === 27004) {\n // \u8DE8\u533A\u767B\u5F55\u9519\u8BEF\n const alpcEUCookie = Cookies.get('alpcEU')\n\n if (Number(alpcEUCookie) === 1) {\n Cookies.set('alpcEU', '0', {\n expires: 30,\n domain: `.${brand}.com`,\n })\n } else {\n Cookies.set('alpcEU', '1', {\n expires: 30,\n domain: `.${brand}.com`,\n })\n }\n\n // \u91CD\u65B0\u5C1D\u8BD5\u6362\u533A\u767B\u5F55\n reloginResponse = await fetch(`${getAlpcPath(locale)}/cloud/login`, {\n method: 'POST',\n })\n reloginResponseData = await reloginResponse.json()\n\n if (reloginResponse.status > 300) {\n return false\n }\n }\n }\n if (!reloginResponseData?.data?.code) {\n // \u91CD\u65B0\u767B\u5F55\u6210\u529F\n return true\n }\n\n return false\n}\n\nexport interface UseMutationConfig<TData> {\n onSuccess?: (response: TData) => any\n onError?: (error: Error) => any\n}\n\nconst useMutation = <TData, TBody>(\n url: string,\n fetcher: Fetcher<TData, TBody>,\n mutationConfig: UseMutationConfig<TData> = {}\n) => {\n const innerMutating = useRef<boolean>(false)\n\n const [data, setData] = useState<TData>()\n const [isMutating, setIsMutating] = useState(false)\n\n const urlRef = useRef(url)\n const fetcherRef = useRef(fetcher)\n const configRef = useRef(mutationConfig)\n\n const trigger = useCallback(\n async (fetchData: TBody, opts: UseMutationConfig<TData> = {}) => {\n if (innerMutating.current) {\n return\n }\n\n innerMutating.current = true\n setIsMutating(true)\n\n const config = {\n ...configRef.current,\n ...opts,\n }\n\n const { onSuccess, onError } = config || {}\n\n try {\n const fetchResult = await fetcherRef.current(urlRef.current, {\n arg: fetchData,\n })\n setData(fetchResult)\n\n setIsMutating(false)\n innerMutating.current = false\n\n if (onSuccess) {\n onSuccess(fetchResult)\n }\n return fetchResult\n } catch (err: any) {\n setIsMutating(false)\n innerMutating.current = false\n\n if (onError) {\n onError(err)\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n )\n\n return {\n isMutating,\n trigger,\n data,\n }\n}\n\nexport const useAlpcFetch = <TData>(\n options: FetchOptions,\n swrOptions?: UseAlpcFetchOptionsSwrOptions<TData, Error>\n) => {\n const [retry, setRetry] = useState(false)\n const { removeProfile } = useCreditsContext()\n\n const { enable, ...otherSwrOptions } = swrOptions || {}\n\n const { locale = '', brand } = useHeadlessContext()\n\n const { queryKey = [], body: fetchBody = {}, headers, ...fetchOptions } = options\n const fetchEnable = enable ?? true\n\n const [url, requestBody] = queryKey\n\n const context = useSWR<TData>(\n [url, requestBody],\n !fetchEnable\n ? null\n : ([requestUrl, data]: [string, Record<string, any>]) =>\n fetcher({\n url: requestUrl,\n locale,\n fetchOptions: {\n method: 'POST',\n headers: {\n 'current-language': locale,\n ...headers,\n },\n body: JSON.stringify({\n ...fetchBody,\n ...data,\n }),\n ...fetchOptions,\n },\n onReAuth: async () => {\n const result = await reAuth(locale, retry, brand)\n\n if (result) {\n setRetry(true)\n return true\n }\n\n return false\n },\n onUnAuth() {\n // \u5931\u8D25\u540E\u9000\u51FA\u767B\u5F55\n removeProfile()\n },\n }),\n {\n revalidateOnFocus: false,\n ...otherSwrOptions,\n }\n )\n\n return context\n}\n\nexport const useAlpcMutation = <TData, TBody>(options: MutationOptions, mutationOptions?: UseMutationConfig<TData>) => {\n const [retry, setRetry] = useState(false)\n const { removeProfile } = useCreditsContext()\n\n const { locale = '', brand } = useHeadlessContext()\n\n const { url, initData, headers, ...fetchOptions } = options\n\n const context = useMutation<TData, TBody>(\n url,\n (requestUrl, data: { arg: TBody }) =>\n fetcher({\n url: requestUrl,\n locale,\n fetchOptions: {\n method: 'POST',\n headers: {\n 'current-language': locale,\n ...headers,\n },\n ...fetchOptions,\n body: JSON.stringify({\n ...initData,\n ...data.arg,\n }),\n },\n onReAuth: async () => {\n const result = await reAuth(locale, retry, brand)\n\n if (result) {\n setRetry(true)\n return true\n }\n\n return false\n },\n onUnAuth() {\n // \u5931\u8D25\u540E\u9000\u51FA\u767B\u5F55\n removeProfile()\n },\n }),\n mutationOptions\n )\n\n return context\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useAlpcFetch_exports", "__export", "useAlpcFetch", "useAlpcMutation", "__toCommonJS", "import_js_cookie", "import_react", "import_swr", "import_lib", "import_utils", "import_provider", "reAuthPromise", "fetcher", "options", "response", "result", "reAuth", "locale", "retry", "brand", "reloginResponse", "reloginResponseData", "alpcEUCookie", "Cookies", "useMutation", "url", "mutationConfig", "innerMutating", "data", "setData", "isMutating", "setIsMutating", "urlRef", "fetcherRef", "configRef", "trigger", "fetchData", "opts", "config", "onSuccess", "onError", "fetchResult", "err", "swrOptions", "setRetry", "removeProfile", "enable", "otherSwrOptions", "queryKey", "fetchBody", "headers", "fetchOptions", "fetchEnable", "requestBody", "useSWR", "requestUrl", "mutationOptions", "initData"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},E=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of d(e))!m.call(t,o)&&o!==n&&s(t,o,{get:()=>e[o],enumerable:!(r=c(e,o))||r.enumerable});return t};var a=t=>E(s({},"__esModule",{value:!0}),t);var l={};v(l,{default:()=>f});module.exports=a(l);var u=require("react");function i(t){const e=(0,u.useRef)(null);return(0,u.useEffect)(()=>{const n=r=>{const o=e?.current;!o||o.contains(r.target)||t(r)};return document.addEventListener("mousedown",n),document.addEventListener("touchstart",n),()=>{document.removeEventListener("mousedown",n),document.removeEventListener("touchstart",n)}},[t,e]),e}var f=i;
|
|
2
|
+
//# sourceMappingURL=useClickOutside.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useClickOutside.ts"],
|
|
4
|
+
"sourcesContent": ["import React, { useEffect, useRef } from 'react'\n\nfunction useClickOutside<T extends HTMLElement = HTMLElement>(\n onClickOutside: (event: MouseEvent | TouchEvent) => void,\n): React.RefObject<T> {\n const ref = useRef<T>(null)\n\n useEffect(() => {\n const listener = (event: MouseEvent | TouchEvent) => {\n const el = ref?.current\n\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(event.target as Node)) {\n return\n }\n\n onClickOutside(event)\n }\n\n document.addEventListener('mousedown', listener)\n document.addEventListener('touchstart', listener)\n\n return () => {\n document.removeEventListener('mousedown', listener)\n document.removeEventListener('touchstart', listener)\n }\n\n // Reload only if onClickOutside changes\n }, [onClickOutside, ref])\n\n return ref\n}\n\nexport default useClickOutside\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAyC,iBAEzC,SAASC,EACPC,EACoB,CACpB,MAAMC,KAAM,UAAU,IAAI,EAE1B,sBAAU,IAAM,CACd,MAAMC,EAAYC,GAAmC,CACnD,MAAMC,EAAKH,GAAK,QAGZ,CAACG,GAAMA,EAAG,SAASD,EAAM,MAAc,GAI3CH,EAAeG,CAAK,CACtB,EAEA,gBAAS,iBAAiB,YAAaD,CAAQ,EAC/C,SAAS,iBAAiB,aAAcA,CAAQ,EAEzC,IAAM,CACX,SAAS,oBAAoB,YAAaA,CAAQ,EAClD,SAAS,oBAAoB,aAAcA,CAAQ,CACrD,CAGF,EAAG,CAACF,EAAgBC,CAAG,CAAC,EAEjBA,CACT,CAEA,IAAOL,EAAQG",
|
|
6
|
+
"names": ["useClickOutside_exports", "__export", "useClickOutside_default", "__toCommonJS", "import_react", "useClickOutside", "onClickOutside", "ref", "listener", "event", "el"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var a=Object.create;var s=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,m=Object.prototype.hasOwnProperty;var d=(e,r)=>{for(var t in r)s(e,t,{get:r[t],enumerable:!0})},n=(e,r,t,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of p(r))!m.call(e,c)&&c!==t&&s(e,c,{get:()=>r[c],enumerable:!(u=f(r,c))||u.enumerable});return e};var y=(e,r,t)=>(t=e!=null?a(l(e)):{},n(r||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),T=e=>n(s({},"__esModule",{value:!0}),e);var g={};d(g,{default:()=>b});module.exports=T(g);var i=y(require("copy-to-clipboard")),o=require("react");const C=()=>{const e=(0,o.useRef)(),[r,t]=(0,o.useState)(!1),u=(0,o.useCallback)(c=>{(0,i.default)(c),e.current&&clearTimeout(e.current),t(!0),e.current=setTimeout(()=>{t(!1)},2e3)},[]);return(0,o.useEffect)(()=>()=>{e.current&&clearTimeout(e.current)},[]),{copy:u,copied:r}};var b=C;
|
|
2
|
+
//# sourceMappingURL=useCopy.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useCopy.ts"],
|
|
4
|
+
"sourcesContent": ["import clipboard from 'copy-to-clipboard'\nimport { useCallback, useEffect, useRef, useState } from 'react'\n\nconst useCopy = () => {\n const copyTimer = useRef<any>()\n const [copied, setCopied] = useState(false)\n\n const copy = useCallback((val: string) => {\n clipboard(val)\n\n if (copyTimer.current) {\n clearTimeout(copyTimer.current)\n }\n\n setCopied(true)\n copyTimer.current = setTimeout(() => {\n setCopied(false)\n }, 2000)\n }, [])\n\n useEffect(() => {\n return () => {\n if (copyTimer.current) {\n clearTimeout(copyTimer.current)\n }\n }\n }, [])\n\n return {\n copy,\n copied,\n }\n}\n\nexport default useCopy\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsB,gCACtBC,EAAyD,iBAEzD,MAAMC,EAAU,IAAM,CACpB,MAAMC,KAAY,UAAY,EACxB,CAACC,EAAQC,CAAS,KAAI,YAAS,EAAK,EAEpCC,KAAO,eAAaC,GAAgB,IACxC,EAAAC,SAAUD,CAAG,EAETJ,EAAU,SACZ,aAAaA,EAAU,OAAO,EAGhCE,EAAU,EAAI,EACdF,EAAU,QAAU,WAAW,IAAM,CACnCE,EAAU,EAAK,CACjB,EAAG,GAAI,CACT,EAAG,CAAC,CAAC,EAEL,sBAAU,IACD,IAAM,CACPF,EAAU,SACZ,aAAaA,EAAU,OAAO,CAElC,EACC,CAAC,CAAC,EAEE,CACL,KAAAG,EACA,OAAAF,CACF,CACF,EAEA,IAAON,EAAQI",
|
|
6
|
+
"names": ["useCopy_exports", "__export", "useCopy_default", "__toCommonJS", "import_copy_to_clipboard", "import_react", "useCopy", "copyTimer", "copied", "setCopied", "copy", "val", "clipboard"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var S=(e,o)=>{for(var s in o)p(e,s,{get:o[s],enumerable:!0})},m=(e,o,s,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of y(o))!C.call(e,t)&&t!==s&&p(e,t,{get:()=>o[t],enumerable:!(n=g(o,t))||n.enumerable});return e};var w=e=>m(p({},"__esModule",{value:!0}),e);var x={};S(x,{default:()=>b});module.exports=w(x);var a=require("react"),l=require("@anker-in/lib");function E({shopifyStoreDomain:e}){const{locale:o=""}=(0,l.useHeadlessContext)(),[s,n]=(0,a.useState)(!1),[t,u]=(0,a.useState)([]);return(0,a.useEffect)(()=>{(async()=>{n(!0);try{const d=await(await fetch(`/api/multipass/rainbowbridge/uc/shop/shipping_zones?shop=${e}`)).json();let r=[];const h=new Set;d.data.data.forEach(c=>{c.countries.forEach(i=>{h.has(i.code)||(h.add(i.code),r.push(i))})}),r=r.sort((c,i)=>c.code.localeCompare(i.code)),console.log("fetch shipsToCountries",r),u(r)}catch(f){u([]),console.error(f)}finally{n(!1)}})()},[o]),{isLoading:s,countries:t}}var b=E;
|
|
2
|
+
//# sourceMappingURL=useCountries.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useCountries.ts"],
|
|
4
|
+
"sourcesContent": ["import { useEffect, useState } from 'react'\n\nimport { useHeadlessContext } from '@anker-in/lib'\nimport { type ShippingCountry, type ShippingZone } from '../../type'\n\nfunction useCountries({ shopifyStoreDomain }: { shopifyStoreDomain: string }) {\n const { locale = '' } = useHeadlessContext()\n\n const [isLoading, setLoading] = useState(false)\n const [countries, setCountries] = useState<ShippingCountry[]>([])\n\n useEffect(() => {\n const fetchCountries = async () => {\n setLoading(true)\n try {\n const response = await fetch(`/api/multipass/rainbowbridge/uc/shop/shipping_zones?shop=${shopifyStoreDomain}`)\n const res: any = await response.json()\n\n // \u56FD\u5BB6\u8FC7\u6EE4\n let shipsToCountries: ShippingCountry[] = []\n const countrySet = new Set()\n res.data.data.forEach((shippingZoneItem: ShippingZone) => {\n shippingZoneItem.countries.forEach(shippingZoneCountryItem => {\n if (!countrySet.has(shippingZoneCountryItem.code)) {\n countrySet.add(shippingZoneCountryItem.code)\n shipsToCountries.push(shippingZoneCountryItem)\n }\n })\n })\n\n // \u5B57\u6BCD\u987A\u5E8F\u6392\u5E8F\n shipsToCountries = shipsToCountries.sort((a, b) => {\n return a.code.localeCompare(b.code)\n })\n\n console.log('fetch shipsToCountries', shipsToCountries)\n setCountries(shipsToCountries)\n } catch (e) {\n setCountries([])\n console.error(e)\n } finally {\n setLoading(false)\n }\n }\n\n fetchCountries()\n }, [locale])\n\n return {\n isLoading,\n countries,\n }\n}\n\nexport default useCountries\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoC,iBAEpCC,EAAmC,yBAGnC,SAASC,EAAa,CAAE,mBAAAC,CAAmB,EAAmC,CAC5E,KAAM,CAAE,OAAAC,EAAS,EAAG,KAAI,sBAAmB,EAErC,CAACC,EAAWC,CAAU,KAAI,YAAS,EAAK,EACxC,CAACC,EAAWC,CAAY,KAAI,YAA4B,CAAC,CAAC,EAEhE,sBAAU,IAAM,EACS,SAAY,CACjCF,EAAW,EAAI,EACf,GAAI,CAEF,MAAMG,EAAW,MADA,MAAM,MAAM,4DAA4DN,CAAkB,EAAE,GAC7E,KAAK,EAGrC,IAAIO,EAAsC,CAAC,EAC3C,MAAMC,EAAa,IAAI,IACvBF,EAAI,KAAK,KAAK,QAASG,GAAmC,CACxDA,EAAiB,UAAU,QAAQC,GAA2B,CACvDF,EAAW,IAAIE,EAAwB,IAAI,IAC9CF,EAAW,IAAIE,EAAwB,IAAI,EAC3CH,EAAiB,KAAKG,CAAuB,EAEjD,CAAC,CACH,CAAC,EAGDH,EAAmBA,EAAiB,KAAK,CAACI,EAAGC,IACpCD,EAAE,KAAK,cAAcC,EAAE,IAAI,CACnC,EAED,QAAQ,IAAI,yBAA0BL,CAAgB,EACtDF,EAAaE,CAAgB,CAC/B,OAASM,EAAG,CACVR,EAAa,CAAC,CAAC,EACf,QAAQ,MAAMQ,CAAC,CACjB,QAAE,CACAV,EAAW,EAAK,CAClB,CACF,GAEe,CACjB,EAAG,CAACF,CAAM,CAAC,EAEJ,CACL,UAAAC,EACA,UAAAE,CACF,CACF,CAEA,IAAOT,EAAQI",
|
|
6
|
+
"names": ["useCountries_exports", "__export", "useCountries_default", "__toCommonJS", "import_react", "import_lib", "useCountries", "shopifyStoreDomain", "locale", "isLoading", "setLoading", "countries", "setCountries", "res", "shipsToCountries", "countrySet", "shippingZoneItem", "shippingZoneCountryItem", "a", "b", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var f=Object.create;var r=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var k=(s,t)=>{for(var e in t)r(s,e,{get:t[e],enumerable:!0})},c=(s,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of P(t))!F.call(s,i)&&i!==e&&r(s,i,{get:()=>t[i],enumerable:!(o=h(t,i))||o.enumerable});return s};var _=(s,t,e)=>(e=s!=null?f(T(s)):{},c(t||!s||!s.__esModule?r(e,"default",{value:s,enumerable:!0}):e,s)),g=s=>c(r({},"__esModule",{value:!0}),s);var C={};k(C,{useFirstPurchaseFinished:()=>v});module.exports=g(C);var n=require("react"),u=require("../const"),a=_(require("./useActivities")),m=require("../provider");const v=()=>{const{taskIdToTypeMapping:s}=(0,m.useCreditsContext)(),t=(0,n.useMemo)(()=>({page:1,pageSize:50}),[]),{activities:e}=(0,a.default)(t);return(0,n.useMemo)(()=>e?.some(i=>{const p=Object.keys(s||{}).find(d=>s?.[d]===u.DTC_TASK_TYPE.FirstPurchase);return i.task_rule_id===Number(p)}),[e,s])};
|
|
2
|
+
//# sourceMappingURL=useFirstPurchaseFinished.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useFirstPurchaseFinished.ts"],
|
|
4
|
+
"sourcesContent": ["import { useMemo } from 'react'\n\nimport { DTC_TASK_TYPE } from '../const'\nimport useActivities from './useActivities'\nimport { useCreditsContext } from '../provider'\n\nexport const useFirstPurchaseFinished = () => {\n const { taskIdToTypeMapping } = useCreditsContext()\n\n const activitiesOptions = useMemo(() => ({ page: 1, pageSize: 50 }), [])\n const { activities } = useActivities(activitiesOptions)\n\n const firstPurchaseFinished = useMemo(() => {\n return activities?.some(item => {\n const firstPurchaseTaskId = Object.keys(taskIdToTypeMapping || {}).find(\n type => taskIdToTypeMapping?.[type] === DTC_TASK_TYPE.FirstPurchase\n )\n\n return item.task_rule_id === Number(firstPurchaseTaskId)\n })\n }, [activities, taskIdToTypeMapping])\n\n return firstPurchaseFinished\n}\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAwB,iBAExBC,EAA8B,oBAC9BC,EAA0B,8BAC1BC,EAAkC,uBAE3B,MAAML,EAA2B,IAAM,CAC5C,KAAM,CAAE,oBAAAM,CAAoB,KAAI,qBAAkB,EAE5CC,KAAoB,WAAQ,KAAO,CAAE,KAAM,EAAG,SAAU,EAAG,GAAI,CAAC,CAAC,EACjE,CAAE,WAAAC,CAAW,KAAI,EAAAC,SAAcF,CAAiB,EAYtD,SAV8B,WAAQ,IAC7BC,GAAY,KAAKE,GAAQ,CAC9B,MAAMC,EAAsB,OAAO,KAAKL,GAAuB,CAAC,CAAC,EAAE,KACjEM,GAAQN,IAAsBM,CAAI,IAAM,gBAAc,aACxD,EAEA,OAAOF,EAAK,eAAiB,OAAOC,CAAmB,CACzD,CAAC,EACA,CAACH,EAAYF,CAAmB,CAAC,CAGtC",
|
|
6
|
+
"names": ["useFirstPurchaseFinished_exports", "__export", "useFirstPurchaseFinished", "__toCommonJS", "import_react", "import_const", "import_useActivities", "import_provider", "taskIdToTypeMapping", "activitiesOptions", "activities", "useActivities", "item", "firstPurchaseTaskId", "type"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var d=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var N=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var s in t)d(e,s,{get:t[s],enumerable:!0})},h=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of x(t))!N.call(e,o)&&o!==s&&d(e,o,{get:()=>t[o],enumerable:!(n=P(t,o))||n.enumerable});return e};var k=e=>h(d({},"__esModule",{value:!0}),e);var E={};T(E,{default:()=>z});module.exports=k(E);var r=require("react"),a=require("../const"),f=require("./useAlpcFetch"),C=require("../provider"),y=require("@anker-in/lib");function v({page:e,pageSize:t,consumeType:s}){const{isLoadingProfile:n,profile:o}=(0,C.useCreditsContext)(),{brand:R,locale:p,appName:b}=(0,y.useHeadlessContext)(),L=!!o,[i,l]=(0,r.useState)([]),[_,A]=(0,r.useState)(0),[g,M]=(0,r.useState)(0),{isMutating:u,trigger:m}=(0,f.useAlpcMutation)({url:"/v1/credit/log/coupon",initData:{brand:R,country:a.ALPC_COUNTRY_MAP.get(p)||p,app_name:b}});(0,r.useEffect)(()=>{n||!o||u||e!==g&&e&&m({consume_type:s||a.AlpcConsumeType.Coupon,page:e,page_size:t,user_id:o?.user_id},{onSuccess(c){M(e),A(c?.data?.total),l(i.concat(c?.data?.redeem_logs||[]))}})},[m,i,s,e,t,g,o,n,u]);const w=(0,r.useCallback)(async()=>{n||!L||!o||u||await m({consume_type:s||a.AlpcConsumeType.Coupon,page:e,page_size:t,user_id:o?.user_id},{onSuccess(c){l(c?.data?.redeem_logs||[])}})},[s,u,n,e,t,o,m]);return{myRewards:i,isLoading:u,total:_,getMyRewards:w,canNext:_>i.length&&!u}}var z=v;
|
|
2
|
+
//# sourceMappingURL=useMyRewards.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useMyRewards.ts"],
|
|
4
|
+
"sourcesContent": ["import { useCallback, useEffect, useState } from 'react'\n\nimport { ALPC_COUNTRY_MAP, AlpcConsumeType } from '../const'\nimport { useAlpcMutation } from './useAlpcFetch'\nimport type { RedeemLogResponse } from '../response'\nimport { useCreditsContext } from '../provider'\nimport { useHeadlessContext } from '@anker-in/lib'\n\nfunction useMyRewards({\n page,\n pageSize,\n consumeType,\n}: {\n page: number\n pageSize: number\n consumeType?: AlpcConsumeType\n}) {\n const { isLoadingProfile, profile } = useCreditsContext()\n const { brand, locale, appName } = useHeadlessContext()\n const isLogin = !!profile\n\n const [myRewards, setMyRewards] = useState<RedeemLogResponse[]>([])\n const [total, setTotal] = useState(0)\n\n const [currentPage, setCurrentPage] = useState(0)\n\n const { isMutating: isLoading, trigger } = useAlpcMutation<\n { data: { redeem_logs: RedeemLogResponse[]; total: number } },\n {\n page: number\n page_size: number\n consume_type: AlpcConsumeType\n user_id: string\n }\n >({\n url: `/v1/credit/log/coupon`,\n initData: {\n brand: brand,\n country: ALPC_COUNTRY_MAP.get(locale) || locale,\n app_name: appName,\n },\n })\n\n useEffect(() => {\n if (isLoadingProfile || !profile || isLoading) {\n return\n }\n\n if (page !== currentPage && page) {\n trigger(\n {\n consume_type: consumeType || AlpcConsumeType.Coupon,\n page,\n page_size: pageSize,\n user_id: profile?.user_id,\n },\n {\n onSuccess(responseData) {\n setCurrentPage(page)\n setTotal(responseData?.data?.total)\n setMyRewards(myRewards.concat(responseData?.data?.redeem_logs || []))\n },\n }\n )\n }\n }, [trigger, myRewards, consumeType, page, pageSize, currentPage, profile, isLoadingProfile, isLoading])\n\n const getMyRewards = useCallback(async () => {\n if (isLoadingProfile || !isLogin || !profile || isLoading) {\n return\n }\n await trigger(\n {\n consume_type: consumeType || AlpcConsumeType.Coupon,\n page,\n page_size: pageSize,\n user_id: profile?.user_id,\n },\n {\n // \u4EC5\u652F\u63011\u9875\u7684\n onSuccess(responseData) {\n setMyRewards(responseData?.data?.redeem_logs || [])\n },\n }\n )\n }, [consumeType, isLoading, isLoadingProfile, page, pageSize, profile, trigger])\n\n return {\n myRewards,\n isLoading,\n total,\n getMyRewards,\n canNext: total > myRewards.length && !isLoading,\n }\n}\n\nexport default useMyRewards\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAiD,iBAEjDC,EAAkD,oBAClDC,EAAgC,0BAEhCC,EAAkC,uBAClCC,EAAmC,yBAEnC,SAASC,EAAa,CACpB,KAAAC,EACA,SAAAC,EACA,YAAAC,CACF,EAIG,CACD,KAAM,CAAE,iBAAAC,EAAkB,QAAAC,CAAQ,KAAI,qBAAkB,EAClD,CAAE,MAAAC,EAAO,OAAAC,EAAQ,QAAAC,CAAQ,KAAI,sBAAmB,EAChDC,EAAU,CAAC,CAACJ,EAEZ,CAACK,EAAWC,CAAY,KAAI,YAA8B,CAAC,CAAC,EAC5D,CAACC,EAAOC,CAAQ,KAAI,YAAS,CAAC,EAE9B,CAACC,EAAaC,CAAc,KAAI,YAAS,CAAC,EAE1C,CAAE,WAAYC,EAAW,QAAAC,CAAQ,KAAI,mBAQzC,CACA,IAAK,wBACL,SAAU,CACR,MAAOX,EACP,QAAS,mBAAiB,IAAIC,CAAM,GAAKA,EACzC,SAAUC,CACZ,CACF,CAAC,KAED,aAAU,IAAM,CACVJ,GAAoB,CAACC,GAAWW,GAIhCf,IAASa,GAAeb,GAC1BgB,EACE,CACE,aAAcd,GAAe,kBAAgB,OAC7C,KAAAF,EACA,UAAWC,EACX,QAASG,GAAS,OACpB,EACA,CACE,UAAUa,EAAc,CACtBH,EAAed,CAAI,EACnBY,EAASK,GAAc,MAAM,KAAK,EAClCP,EAAaD,EAAU,OAAOQ,GAAc,MAAM,aAAe,CAAC,CAAC,CAAC,CACtE,CACF,CACF,CAEJ,EAAG,CAACD,EAASP,EAAWP,EAAaF,EAAMC,EAAUY,EAAaT,EAASD,EAAkBY,CAAS,CAAC,EAEvG,MAAMG,KAAe,eAAY,SAAY,CACvCf,GAAoB,CAACK,GAAW,CAACJ,GAAWW,GAGhD,MAAMC,EACJ,CACE,aAAcd,GAAe,kBAAgB,OAC7C,KAAAF,EACA,UAAWC,EACX,QAASG,GAAS,OACpB,EACA,CAEE,UAAUa,EAAc,CACtBP,EAAaO,GAAc,MAAM,aAAe,CAAC,CAAC,CACpD,CACF,CACF,CACF,EAAG,CAACf,EAAaa,EAAWZ,EAAkBH,EAAMC,EAAUG,EAASY,CAAO,CAAC,EAE/E,MAAO,CACL,UAAAP,EACA,UAAAM,EACA,MAAAJ,EACA,aAAAO,EACA,QAASP,EAAQF,EAAU,QAAU,CAACM,CACxC,CACF,CAEA,IAAOvB,EAAQO",
|
|
6
|
+
"names": ["useMyRewards_exports", "__export", "useMyRewards_default", "__toCommonJS", "import_react", "import_const", "import_useAlpcFetch", "import_provider", "import_lib", "useMyRewards", "page", "pageSize", "consumeType", "isLoadingProfile", "profile", "brand", "locale", "appName", "isLogin", "myRewards", "setMyRewards", "total", "setTotal", "currentPage", "setCurrentPage", "isLoading", "trigger", "responseData", "getMyRewards"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var f=Object.create;var p=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var g=(e,t)=>{for(var o in t)p(e,o,{get:t[o],enumerable:!0})},c=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of R(t))!_.call(e,i)&&i!==o&&p(e,i,{get:()=>t[i],enumerable:!(s=T(t,i))||s.enumerable});return e};var v=(e,t,o)=>(o=e!=null?f(k(e)):{},c(t||!e||!e.__esModule?p(o,"default",{value:e,enumerable:!0}):o,e)),x=e=>c(p({},"__esModule",{value:!0}),e);var b={};g(b,{default:()=>C,useReceiptUploaded:()=>u});module.exports=x(b);var r=require("react"),a=v(require("./useActivities")),d=require("../provider"),n=require("../const");const u=()=>{const{taskIdToTypeMapping:e}=(0,d.useCreditsContext)(),t=(0,r.useMemo)(()=>({page:1,pageSize:50}),[]),{activities:o}=(0,a.default)(t);return(0,r.useMemo)(()=>o?.some(i=>{const m=Object.keys(e||{}).find(l=>e?.[l]===n.DTC_TASK_TYPE.UploadReceipt);return i.task_rule_id===Number(m)}),[o,e])};var C=u;
|
|
2
|
+
//# sourceMappingURL=useReceiptUploaded.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/components/credits/context/hooks/useReceiptUploaded.ts"],
|
|
4
|
+
"sourcesContent": ["import { useMemo } from 'react'\n\nimport useActivities from './useActivities'\nimport { useCreditsContext } from '../provider'\nimport { DTC_TASK_TYPE } from '../const'\n\nexport const useReceiptUploaded = () => {\n const { taskIdToTypeMapping } = useCreditsContext()\n const activitiesOptions = useMemo(() => ({ page: 1, pageSize: 50 }), [])\n const { activities } = useActivities(activitiesOptions)\n\n const uploadedReceipt = useMemo(() => {\n return activities?.some(item => {\n const uploadReceiptTaskId = Object.keys(taskIdToTypeMapping || {}).find(\n type => taskIdToTypeMapping?.[type] === DTC_TASK_TYPE.UploadReceipt\n )\n return item.task_rule_id === Number(uploadReceiptTaskId)\n })\n }, [activities, taskIdToTypeMapping])\n\n return uploadedReceipt\n}\n\nexport default useReceiptUploaded\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,uBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAwB,iBAExBC,EAA0B,8BAC1BC,EAAkC,uBAClCC,EAA8B,oBAEvB,MAAML,EAAqB,IAAM,CACtC,KAAM,CAAE,oBAAAM,CAAoB,KAAI,qBAAkB,EAC5CC,KAAoB,WAAQ,KAAO,CAAE,KAAM,EAAG,SAAU,EAAG,GAAI,CAAC,CAAC,EACjE,CAAE,WAAAC,CAAW,KAAI,EAAAC,SAAcF,CAAiB,EAWtD,SATwB,WAAQ,IACvBC,GAAY,KAAKE,GAAQ,CAC9B,MAAMC,EAAsB,OAAO,KAAKL,GAAuB,CAAC,CAAC,EAAE,KACjEM,GAAQN,IAAsBM,CAAI,IAAM,gBAAc,aACxD,EACA,OAAOF,EAAK,eAAiB,OAAOC,CAAmB,CACzD,CAAC,EACA,CAACH,EAAYF,CAAmB,CAAC,CAGtC,EAEA,IAAOP,EAAQC",
|
|
6
|
+
"names": ["useReceiptUploaded_exports", "__export", "useReceiptUploaded_default", "useReceiptUploaded", "__toCommonJS", "import_react", "import_useActivities", "import_provider", "import_const", "taskIdToTypeMapping", "activitiesOptions", "activities", "useActivities", "item", "uploadReceiptTaskId", "type"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var f=Object.create;var i=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var g=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},d=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of l(e))!_.call(r,o)&&o!==t&&i(r,o,{get:()=>e[o],enumerable:!(n=y(e,o))||n.enumerable});return r};var C=(r,e,t)=>(t=r!=null?f(w(r)):{},d(e||!r||!r.__esModule?i(t,"default",{value:r,enumerable:!0}):t,r)),R=r=>d(i({},"__esModule",{value:!0}),r);var E={};g(E,{useRedeemAndBuy:()=>b});module.exports=R(E);var s=C(require("swr/mutation")),m=require("./useRedeemCoupon"),c=require("../provider"),p=require("@anker-in/lib");const b=(r,e)=>{const{trigger:t}=(0,m.useRedeemCoupon)(),{profile:n}=(0,c.useCreditsContext)(),{trigger:o}=(0,p.useBuyNow)({},{throwOnError:!0});return(0,s.default)("redeemAndBuy",async(V,{arg:u})=>{const a=await t({user_id:n?.user_id,rule_id:u.redeemId});if(a&&a?.data?.coupon_code)o({discountCodes:[a.data.coupon_code],lineItems:[{variant:u.productVariant,quantity:u.quantity||1}]});else throw new Error("Redeem failed")},e)};
|
|
2
|
+
//# sourceMappingURL=useRedeemAndBuy.js.map
|