@anker-in/campaign-ui 0.1.9 → 0.2.10-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/chat/action.d.ts +4 -1
- package/dist/cjs/components/chat/action.js +1 -1
- package/dist/cjs/components/chat/action.js.map +3 -3
- package/dist/cjs/components/chat/button.d.ts +1 -1
- package/dist/cjs/components/chat/button.js +1 -1
- package/dist/cjs/components/chat/button.js.map +1 -1
- package/dist/cjs/components/chat/index.d.ts +13 -0
- package/dist/cjs/components/chat/index.js +1 -1
- package/dist/cjs/components/chat/index.js.map +3 -3
- package/dist/cjs/components/chat/messages.d.ts +3 -0
- package/dist/cjs/components/chat/messages.js +1 -1
- package/dist/cjs/components/chat/messages.js.map +3 -3
- package/dist/cjs/components/chat/props.d.ts +1 -0
- package/dist/cjs/components/chat/props.js +1 -1
- package/dist/cjs/components/chat/props.js.map +3 -3
- package/dist/cjs/components/chat/response.d.ts +4 -0
- package/dist/cjs/components/chat/response.js +1 -1
- package/dist/cjs/components/chat/response.js.map +3 -3
- package/dist/cjs/components/chat/suggestions.d.ts +1 -1
- package/dist/cjs/components/chat/suggestions.js.map +1 -1
- package/dist/cjs/components/credits/context/const.d.ts +81 -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.d.ts +12 -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.d.ts +34 -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.d.ts +23 -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.d.ts +3 -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.d.ts +5 -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.d.ts +8 -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.d.ts +1 -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.d.ts +14 -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.d.ts +2 -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.d.ts +14 -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.d.ts +17 -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.d.ts +16 -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.d.ts +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.d.ts +1 -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.d.ts +1 -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.d.ts +5 -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.d.ts +14 -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.d.ts +49 -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.d.ts +63 -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.d.ts +25 -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.d.ts +23 -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.d.ts +19 -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.d.ts +2 -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.d.ts +12 -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.d.ts +15 -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.d.ts +13 -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.d.ts +47 -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.d.ts +13 -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.d.ts +16 -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.d.ts +20 -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.d.ts +14 -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.d.ts +6 -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.d.ts +13 -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.d.ts +15 -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.d.ts +2 -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.d.ts +26 -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.d.ts +9 -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.d.ts +20 -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.d.ts +8 -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.d.ts +11 -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.d.ts +8 -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.d.ts +13 -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.d.ts +11 -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.d.ts +9 -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.d.ts +13 -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.d.ts +77 -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.d.ts +2 -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.d.ts +60 -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.d.ts +96 -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.d.ts +10 -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.d.ts +29 -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.d.ts +29 -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.d.ts +24 -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.d.ts +5 -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.d.ts +15 -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.d.ts +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.d.ts +5 -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.d.ts +55 -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.d.ts +3 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/debug-env.d.ts +7 -0
- package/dist/cjs/helpers/fetcher.js +1 -1
- package/dist/cjs/helpers/fetcher.js.map +2 -2
- package/dist/cjs/helpers/index.d.ts +2 -2
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/cjs/helpers/track.d.ts +15 -0
- package/dist/cjs/helpers/track.js +2 -0
- package/dist/cjs/helpers/track.js.map +7 -0
- package/dist/cjs/index.css +2 -0
- package/dist/cjs/index.css.map +7 -0
- package/dist/cjs/index.d.ts +7 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/shopify/context/ShopifyProvider.d.ts +10 -0
- package/dist/cjs/shopify/fetchers/create-cart.d.ts +13 -0
- package/dist/cjs/shopify/fetchers/get-products-by-handles.d.ts +7 -0
- package/dist/cjs/shopify/fetchers/index.d.ts +2 -0
- package/dist/cjs/shopify/fragments/article.d.ts +2 -0
- package/dist/cjs/shopify/fragments/blog.d.ts +1 -0
- package/dist/cjs/shopify/fragments/cart.d.ts +1 -0
- package/dist/cjs/shopify/fragments/collection.d.ts +1 -0
- package/dist/cjs/shopify/fragments/image.d.ts +1 -0
- package/dist/cjs/shopify/fragments/index.d.ts +11 -0
- package/dist/cjs/shopify/fragments/metafields.d.ts +2 -0
- package/dist/cjs/shopify/fragments/page-info.d.ts +1 -0
- package/dist/cjs/shopify/fragments/page.d.ts +1 -0
- package/dist/cjs/shopify/fragments/product.d.ts +1 -0
- package/dist/cjs/shopify/fragments/seo.d.ts +1 -0
- package/dist/cjs/shopify/fragments/variant.d.ts +1 -0
- package/dist/cjs/shopify/gql/fragment-masking.d.ts +15 -0
- package/dist/cjs/shopify/gql/gql.d.ts +87 -0
- package/dist/cjs/shopify/gql/graphql.d.ts +7669 -0
- package/dist/cjs/shopify/gql/index.d.ts +3 -0
- package/dist/cjs/shopify/hooks/index.d.ts +2 -0
- package/dist/cjs/shopify/hooks/useCreateCart.d.ts +2 -0
- package/dist/cjs/shopify/hooks/useProductsByHandles.d.ts +4 -0
- package/dist/cjs/shopify/mutations/create-cart.d.ts +1 -0
- package/dist/cjs/shopify/queries/get-product-by-handles.d.ts +1 -0
- package/dist/cjs/shopify/queries/index.d.ts +1 -0
- package/dist/cjs/shopify/src/index.d.ts +5 -0
- package/dist/cjs/shopify/tsup.config.d.ts +2 -0
- package/dist/cjs/shopify/types/article.d.ts +48 -0
- package/dist/cjs/shopify/types/cart.d.ts +173 -0
- package/dist/cjs/shopify/types/checkout.d.ts +42 -0
- package/dist/cjs/shopify/types/collection.d.ts +122 -0
- package/dist/cjs/shopify/types/common.d.ts +42 -0
- package/dist/cjs/shopify/types/config.d.ts +12 -0
- package/dist/cjs/shopify/types/customer.d.ts +30 -0
- package/dist/cjs/shopify/types/fetcher.d.ts +38 -0
- package/dist/cjs/shopify/types/index.d.ts +10 -0
- package/dist/cjs/shopify/types/page.d.ts +33 -0
- package/dist/cjs/shopify/types/product.d.ts +174 -0
- package/dist/cjs/shopify/types/search.d.ts +54 -0
- package/dist/cjs/shopify/types/site.d.ts +33 -0
- package/dist/cjs/shopify/types/type-helper.d.ts +5 -0
- package/dist/cjs/shopify/utils/colors.d.ts +3 -0
- package/dist/cjs/shopify/utils/const.d.ts +76 -0
- package/dist/cjs/shopify/utils/cookie.d.ts +15 -0
- package/dist/cjs/shopify/utils/errors.d.ts +38 -0
- package/dist/cjs/shopify/utils/fetch-graphql-api.d.ts +19 -0
- package/dist/cjs/shopify/utils/handle-fetch-response.d.ts +5 -0
- package/dist/cjs/shopify/utils/helper.d.ts +28 -0
- package/dist/cjs/shopify/utils/normalize/cart.d.ts +7 -0
- package/dist/cjs/shopify/utils/normalize/customer.d.ts +3 -0
- package/dist/cjs/shopify/utils/normalize/index.d.ts +2 -0
- package/dist/cjs/shopify/utils/normalize/metafield.d.ts +5 -0
- package/dist/cjs/shopify/utils/normalize/product.d.ts +16 -0
- package/dist/cjs/shopify/utils/store.d.ts +2 -0
- package/dist/cjs/shopify/utils/type-helper.d.ts +5 -0
- package/dist/cjs/stories/chat.stories.d.ts +1 -1
- package/dist/esm/components/chat/action.d.ts +4 -1
- package/dist/esm/components/chat/action.js +1 -1
- package/dist/esm/components/chat/action.js.map +3 -3
- package/dist/esm/components/chat/button.d.ts +1 -1
- package/dist/esm/components/chat/button.js +1 -1
- package/dist/esm/components/chat/button.js.map +1 -1
- package/dist/esm/components/chat/index.d.ts +13 -0
- package/dist/esm/components/chat/index.js +1 -1
- package/dist/esm/components/chat/index.js.map +3 -3
- package/dist/esm/components/chat/messages.d.ts +3 -0
- package/dist/esm/components/chat/messages.js +1 -1
- package/dist/esm/components/chat/messages.js.map +3 -3
- package/dist/esm/components/chat/props.d.ts +1 -0
- package/dist/esm/components/chat/props.js +0 -1
- package/dist/esm/components/chat/props.js.map +3 -3
- package/dist/esm/components/chat/response.d.ts +4 -0
- package/dist/esm/components/chat/response.js +1 -1
- package/dist/esm/components/chat/response.js.map +3 -3
- package/dist/esm/components/chat/suggestions.d.ts +1 -1
- package/dist/esm/components/chat/suggestions.js.map +1 -1
- package/dist/esm/components/credits/context/const.d.ts +81 -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.d.ts +12 -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.d.ts +34 -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.d.ts +23 -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.d.ts +3 -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.d.ts +5 -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.d.ts +8 -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.d.ts +1 -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.d.ts +14 -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.d.ts +2 -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.d.ts +14 -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.d.ts +17 -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.d.ts +16 -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.d.ts +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.d.ts +1 -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.d.ts +1 -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.d.ts +5 -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.d.ts +14 -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.d.ts +49 -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.d.ts +63 -0
- package/dist/esm/components/credits/context/response.js +1 -0
- package/dist/esm/components/credits/context/utils.d.ts +25 -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.d.ts +23 -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.d.ts +19 -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.d.ts +2 -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.d.ts +12 -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.d.ts +15 -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.d.ts +13 -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.d.ts +47 -0
- package/dist/esm/components/credits/creditsCash/type.js +1 -0
- package/dist/esm/components/credits/creditsFaq/faqItem/FaqItem.d.ts +13 -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.d.ts +16 -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.d.ts +20 -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.d.ts +14 -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.d.ts +6 -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.d.ts +13 -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.d.ts +15 -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.d.ts +2 -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.d.ts +26 -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.d.ts +9 -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.d.ts +20 -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.d.ts +8 -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.d.ts +11 -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.d.ts +8 -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.d.ts +13 -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.d.ts +11 -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.d.ts +9 -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.d.ts +13 -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.d.ts +77 -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.d.ts +2 -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.d.ts +60 -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.d.ts +96 -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.d.ts +10 -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.d.ts +29 -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.d.ts +29 -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.d.ts +24 -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.d.ts +5 -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.d.ts +15 -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.d.ts +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.d.ts +5 -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.d.ts +55 -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.d.ts +3 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +3 -3
- package/dist/esm/debug-env.d.ts +7 -0
- package/dist/esm/helpers/fetcher.js +1 -1
- package/dist/esm/helpers/fetcher.js.map +2 -2
- package/dist/esm/helpers/index.d.ts +2 -2
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +2 -2
- package/dist/esm/helpers/track.d.ts +15 -0
- package/dist/esm/helpers/track.js +2 -0
- package/dist/esm/helpers/track.js.map +7 -0
- package/dist/esm/index.css +2 -0
- package/dist/esm/index.css.map +7 -0
- package/dist/esm/index.d.ts +7 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/shopify/context/ShopifyProvider.d.ts +10 -0
- package/dist/esm/shopify/fetchers/create-cart.d.ts +13 -0
- package/dist/esm/shopify/fetchers/get-products-by-handles.d.ts +7 -0
- package/dist/esm/shopify/fetchers/index.d.ts +2 -0
- package/dist/esm/shopify/fragments/article.d.ts +2 -0
- package/dist/esm/shopify/fragments/blog.d.ts +1 -0
- package/dist/esm/shopify/fragments/cart.d.ts +1 -0
- package/dist/esm/shopify/fragments/collection.d.ts +1 -0
- package/dist/esm/shopify/fragments/image.d.ts +1 -0
- package/dist/esm/shopify/fragments/index.d.ts +11 -0
- package/dist/esm/shopify/fragments/metafields.d.ts +2 -0
- package/dist/esm/shopify/fragments/page-info.d.ts +1 -0
- package/dist/esm/shopify/fragments/page.d.ts +1 -0
- package/dist/esm/shopify/fragments/product.d.ts +1 -0
- package/dist/esm/shopify/fragments/seo.d.ts +1 -0
- package/dist/esm/shopify/fragments/variant.d.ts +1 -0
- package/dist/esm/shopify/gql/fragment-masking.d.ts +15 -0
- package/dist/esm/shopify/gql/gql.d.ts +87 -0
- package/dist/esm/shopify/gql/graphql.d.ts +7669 -0
- package/dist/esm/shopify/gql/index.d.ts +3 -0
- package/dist/esm/shopify/hooks/index.d.ts +2 -0
- package/dist/esm/shopify/hooks/useCreateCart.d.ts +2 -0
- package/dist/esm/shopify/hooks/useProductsByHandles.d.ts +4 -0
- package/dist/esm/shopify/mutations/create-cart.d.ts +1 -0
- package/dist/esm/shopify/queries/get-product-by-handles.d.ts +1 -0
- package/dist/esm/shopify/queries/index.d.ts +1 -0
- package/dist/esm/shopify/src/index.d.ts +5 -0
- package/dist/esm/shopify/tsup.config.d.ts +2 -0
- package/dist/esm/shopify/types/article.d.ts +48 -0
- package/dist/esm/shopify/types/cart.d.ts +173 -0
- package/dist/esm/shopify/types/checkout.d.ts +42 -0
- package/dist/esm/shopify/types/collection.d.ts +122 -0
- package/dist/esm/shopify/types/common.d.ts +42 -0
- package/dist/esm/shopify/types/config.d.ts +12 -0
- package/dist/esm/shopify/types/customer.d.ts +30 -0
- package/dist/esm/shopify/types/fetcher.d.ts +38 -0
- package/dist/esm/shopify/types/index.d.ts +10 -0
- package/dist/esm/shopify/types/page.d.ts +33 -0
- package/dist/esm/shopify/types/product.d.ts +174 -0
- package/dist/esm/shopify/types/search.d.ts +54 -0
- package/dist/esm/shopify/types/site.d.ts +33 -0
- package/dist/esm/shopify/types/type-helper.d.ts +5 -0
- package/dist/esm/shopify/utils/colors.d.ts +3 -0
- package/dist/esm/shopify/utils/const.d.ts +76 -0
- package/dist/esm/shopify/utils/cookie.d.ts +15 -0
- package/dist/esm/shopify/utils/errors.d.ts +38 -0
- package/dist/esm/shopify/utils/fetch-graphql-api.d.ts +19 -0
- package/dist/esm/shopify/utils/handle-fetch-response.d.ts +5 -0
- package/dist/esm/shopify/utils/helper.d.ts +28 -0
- package/dist/esm/shopify/utils/normalize/cart.d.ts +7 -0
- package/dist/esm/shopify/utils/normalize/customer.d.ts +3 -0
- package/dist/esm/shopify/utils/normalize/index.d.ts +2 -0
- package/dist/esm/shopify/utils/normalize/metafield.d.ts +5 -0
- package/dist/esm/shopify/utils/normalize/product.d.ts +16 -0
- package/dist/esm/shopify/utils/store.d.ts +2 -0
- package/dist/esm/shopify/utils/type-helper.d.ts +5 -0
- package/dist/esm/stories/chat.stories.d.ts +1 -1
- package/package.json +34 -27
- package/src/components/chat/action.tsx +41 -1
- package/src/components/chat/button.tsx +1 -1
- package/src/components/chat/index.tsx +35 -11
- package/src/components/chat/messages.tsx +14 -8
- package/src/components/chat/props.ts +1 -0
- package/src/components/chat/response.tsx +2 -2
- package/src/components/chat/suggestions.tsx +1 -1
- package/src/components/chat/utils.ts +4 -0
- package/src/components/credits/context/const.ts +103 -0
- package/src/components/credits/context/hooks/useActivities.ts +70 -0
- package/src/components/credits/context/hooks/useAddressValidate.ts +281 -0
- package/src/components/credits/context/hooks/useAlpcFetch.ts +295 -0
- package/src/components/credits/context/hooks/useClickOutside.ts +34 -0
- package/src/components/credits/context/hooks/useCopy.ts +35 -0
- package/src/components/credits/context/hooks/useCountries.ts +55 -0
- package/src/components/credits/context/hooks/useFirstPurchaseFinished.ts +24 -0
- package/src/components/credits/context/hooks/useMyRewards.ts +97 -0
- package/src/components/credits/context/hooks/useReceiptUploaded.ts +24 -0
- package/src/components/credits/context/hooks/useRedeemAndBuy.ts +60 -0
- package/src/components/credits/context/hooks/useRedeemCoupon.ts +33 -0
- package/src/components/credits/context/hooks/useRedeemProduct.ts +34 -0
- package/src/components/credits/context/hooks/useRedeemableList.ts +91 -0
- package/src/components/credits/context/hooks/useSendEmailValidation.ts +20 -0
- package/src/components/credits/context/hooks/useSubscribed.ts +37 -0
- package/src/components/credits/context/hooks/useSubscriptions.ts +54 -0
- package/src/components/credits/context/hooks/useUploadReceipt.tsx +30 -0
- package/src/components/credits/context/provider.tsx +86 -0
- package/src/components/credits/context/response.ts +72 -0
- package/src/components/credits/context/utils.ts +149 -0
- package/src/components/credits/creditsBanner/index.tsx +105 -0
- package/src/components/credits/creditsBenefits/benefitItem.tsx +73 -0
- package/src/components/credits/creditsBenefits/iconInfo.tsx +23 -0
- package/src/components/credits/creditsBenefits/index.tsx +119 -0
- package/src/components/credits/creditsCash/RedeemableItem.tsx +216 -0
- package/src/components/credits/creditsCash/index.tsx +102 -0
- package/src/components/credits/creditsCash/type.ts +46 -0
- package/src/components/credits/creditsFaq/faqItem/FaqItem.tsx +95 -0
- package/src/components/credits/creditsFaq/index.tsx +86 -0
- package/src/components/credits/creditsInfoCard/index.tsx +176 -0
- package/src/components/credits/creditsRedeemList/AddressForm/CountrySelect.tsx +111 -0
- package/src/components/credits/creditsRedeemList/AddressForm/FormItem.tsx +23 -0
- package/src/components/credits/creditsRedeemList/AddressForm/Input.tsx +58 -0
- package/src/components/credits/creditsRedeemList/AddressForm/StateSelect.tsx +126 -0
- package/src/components/credits/creditsRedeemList/AddressForm/index.tsx +156 -0
- package/src/components/credits/creditsRedeemList/AddressForm/type.ts +24 -0
- package/src/components/credits/creditsRedeemList/RedeemCouponModal.tsx +213 -0
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Address.tsx +72 -0
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Error.tsx +14 -0
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Init.tsx +129 -0
- package/src/components/credits/creditsRedeemList/RedeemProductModal/ProductInfo.tsx +72 -0
- package/src/components/credits/creditsRedeemList/RedeemProductModal/Success.tsx +45 -0
- package/src/components/credits/creditsRedeemList/RedeemProductModal/index.tsx +196 -0
- package/src/components/credits/creditsRedeemList/RedeemableItem.tsx +191 -0
- package/src/components/credits/creditsRedeemList/index.tsx +195 -0
- package/src/components/credits/creditsRedeemList/type.ts +78 -0
- package/src/components/credits/creditsWaysToGetCredits/index.tsx +189 -0
- package/src/components/credits/creditsWaysToGetCredits/type.ts +64 -0
- package/src/components/credits/creditsWaysToGetCredits/useActions.ts +217 -0
- package/src/components/credits/index.ts +11 -0
- package/src/components/credits/modal/MyRewardsModal.tsx +309 -0
- package/src/components/credits/modal/activitiesModal.tsx +248 -0
- package/src/components/credits/modal/creditsUploadReceiptModal.tsx +141 -0
- package/src/components/credits/modal/loadingDots.tsx +17 -0
- package/src/components/credits/modal/modalContainer.tsx +112 -0
- package/src/components/credits/modal/rulesModal.tsx +44 -0
- package/src/components/credits/modal/tip.tsx +92 -0
- package/src/components/credits/type.ts +60 -0
- package/src/components/index.ts +13 -1
- package/src/debug-env.ts +18 -0
- package/src/helpers/fetcher.ts +1 -1
- package/src/helpers/index.ts +2 -2
- package/src/helpers/track.ts +55 -0
- package/src/index.ts +23 -1
- package/src/shopify/MIGRATION_GUIDE.md +156 -0
- package/src/shopify/context/ShopifyProvider.tsx +34 -0
- package/src/shopify/dist/cart-BNkVu3fh.d.ts +220 -0
- package/src/shopify/dist/cart-BcrGTPdx.d.cts +220 -0
- package/src/shopify/dist/fetchers.cjs +7945 -0
- package/src/shopify/dist/fetchers.cjs.map +1 -0
- package/src/shopify/dist/fetchers.d.cts +3 -0
- package/src/shopify/dist/fetchers.d.ts +3 -0
- package/src/shopify/dist/fetchers.js +7942 -0
- package/src/shopify/dist/fetchers.js.map +1 -0
- package/src/shopify/dist/fragments.cjs +731 -0
- package/src/shopify/dist/fragments.cjs.map +1 -0
- package/src/shopify/dist/fragments.d.cts +25 -0
- package/src/shopify/dist/fragments.d.ts +25 -0
- package/src/shopify/dist/fragments.js +705 -0
- package/src/shopify/dist/fragments.js.map +1 -0
- package/src/shopify/dist/graphql-D4M28V-x.d.cts +3558 -0
- package/src/shopify/dist/graphql-D4M28V-x.d.ts +3558 -0
- package/src/shopify/dist/hooks.cjs +9431 -0
- package/src/shopify/dist/hooks.cjs.map +1 -0
- package/src/shopify/dist/hooks.d.cts +14 -0
- package/src/shopify/dist/hooks.d.ts +14 -0
- package/src/shopify/dist/hooks.js +9427 -0
- package/src/shopify/dist/hooks.js.map +1 -0
- package/src/shopify/dist/index-BTtE4HZM.d.ts +42 -0
- package/src/shopify/dist/index-BjNIecYX.d.cts +42 -0
- package/src/shopify/dist/index.cjs +9642 -0
- package/src/shopify/dist/index.cjs.map +1 -0
- package/src/shopify/dist/index.d.cts +11 -0
- package/src/shopify/dist/index.d.ts +11 -0
- package/src/shopify/dist/index.js +9619 -0
- package/src/shopify/dist/index.js.map +1 -0
- package/src/shopify/dist/product-Bqi3sqb9.d.cts +262 -0
- package/src/shopify/dist/product-DNk6jYAP.d.ts +262 -0
- package/src/shopify/dist/queries.cjs +615 -0
- package/src/shopify/dist/queries.cjs.map +1 -0
- package/src/shopify/dist/queries.d.cts +3 -0
- package/src/shopify/dist/queries.d.ts +3 -0
- package/src/shopify/dist/queries.js +601 -0
- package/src/shopify/dist/queries.js.map +1 -0
- package/src/shopify/dist/types.cjs +19 -0
- package/src/shopify/dist/types.cjs.map +1 -0
- package/src/shopify/dist/types.d.cts +282 -0
- package/src/shopify/dist/types.d.ts +282 -0
- package/src/shopify/dist/types.js +1 -0
- package/src/shopify/dist/types.js.map +1 -0
- package/src/shopify/dist/utils.cjs +334 -0
- package/src/shopify/dist/utils.cjs.map +1 -0
- package/src/shopify/dist/utils.d.cts +12 -0
- package/src/shopify/dist/utils.d.ts +12 -0
- package/src/shopify/dist/utils.js +319 -0
- package/src/shopify/dist/utils.js.map +1 -0
- package/src/shopify/fetchers/create-cart.ts +40 -0
- package/src/shopify/fetchers/get-products-by-handles.ts +41 -0
- package/src/shopify/fetchers/index.ts +3 -0
- package/src/shopify/fragments/article.ts +51 -0
- package/src/shopify/fragments/blog.ts +10 -0
- package/src/shopify/fragments/cart.ts +190 -0
- package/src/shopify/fragments/collection.ts +15 -0
- package/src/shopify/fragments/image.ts +8 -0
- package/src/shopify/fragments/index.ts +11 -0
- package/src/shopify/fragments/metafields.ts +17 -0
- package/src/shopify/fragments/page-info.ts +8 -0
- package/src/shopify/fragments/page.ts +12 -0
- package/src/shopify/fragments/product.ts +71 -0
- package/src/shopify/fragments/seo.ts +6 -0
- package/src/shopify/fragments/variant.ts +29 -0
- package/src/shopify/gql/fragment-masking.ts +85 -0
- package/src/shopify/gql/gql.ts +110 -0
- package/src/shopify/gql/graphql.ts +11780 -0
- package/src/shopify/gql/index.ts +4 -0
- package/src/shopify/hooks/index.ts +2 -0
- package/src/shopify/hooks/useCreateCart.ts +24 -0
- package/src/shopify/hooks/useProductsByHandles.ts +25 -0
- package/src/shopify/mutations/create-cart.ts +16 -0
- package/src/shopify/package.json +84 -0
- package/src/shopify/queries/get-product-by-handles.ts +32 -0
- package/src/shopify/queries/index.ts +2 -0
- package/src/shopify/src/index.ts +5 -0
- package/src/shopify/tsconfig.json +25 -0
- package/src/shopify/tsup.config.ts +21 -0
- package/src/shopify/types/article.ts +46 -0
- package/src/shopify/types/cart.ts +202 -0
- package/src/shopify/types/checkout.ts +44 -0
- package/src/shopify/types/collection.ts +104 -0
- package/src/shopify/types/common.ts +53 -0
- package/src/shopify/types/config.ts +14 -0
- package/src/shopify/types/customer.ts +31 -0
- package/src/shopify/types/fetcher.ts +61 -0
- package/src/shopify/types/index.ts +10 -0
- package/src/shopify/types/page.ts +45 -0
- package/src/shopify/types/product.ts +176 -0
- package/src/shopify/types/search.ts +62 -0
- package/src/shopify/types/site.ts +38 -0
- package/src/shopify/types/type-helper.ts +5 -0
- package/src/shopify/utils/colors.ts +206 -0
- package/src/shopify/utils/const.ts +115 -0
- package/src/shopify/utils/cookie.ts +39 -0
- package/src/shopify/utils/errors.ts +65 -0
- package/src/shopify/utils/fetch-graphql-api.ts +67 -0
- package/src/shopify/utils/handle-fetch-response.ts +60 -0
- package/src/shopify/utils/helper.ts +89 -0
- package/src/shopify/utils/normalize/cart.ts +106 -0
- package/src/shopify/utils/normalize/customer.ts +18 -0
- package/src/shopify/utils/normalize/index.ts +2 -0
- package/src/shopify/utils/normalize/metafield.ts +69 -0
- package/src/shopify/utils/normalize/product.ts +193 -0
- package/src/shopify/utils/store.ts +5 -0
- package/src/shopify/utils/type-helper.ts +7 -0
- package/src/stories/chat.stories.tsx +1 -1
- package/tailwind.config.ts +72 -0
- package/dist/cjs/components/animation/CodeEditor.d.ts +0 -7
- package/dist/cjs/components/animation/CodeEditor.js +0 -2
- package/dist/cjs/components/animation/CodeEditor.js.map +0 -7
- package/dist/cjs/components/animation/Preview.d.ts +0 -5
- package/dist/cjs/components/animation/Preview.js +0 -2
- package/dist/cjs/components/animation/Preview.js.map +0 -7
- package/dist/cjs/components/animation/bannerAni.d.ts +0 -16
- package/dist/cjs/components/animation/bannerAni.js +0 -59
- package/dist/cjs/components/animation/bannerAni.js.map +0 -7
- package/dist/cjs/components/animation/libs.d.js +0 -2
- package/dist/cjs/components/animation/textAni.d.ts +0 -9
- package/dist/cjs/components/animation/textAni.js +0 -2
- package/dist/cjs/components/animation/textAni.js.map +0 -7
- package/dist/cjs/components/chat/Messages.d.ts +0 -3
- package/dist/cjs/components/chat/Response.d.ts +0 -2
- package/dist/cjs/components/chat/message.d.ts +0 -2
- package/dist/cjs/components/chat/response copy.d.ts +0 -2
- package/dist/cjs/components/chat/rresponse.d.ts +0 -2
- package/dist/cjs/components/theme.d.ts +0 -13
- package/dist/cjs/helpers/component-props.d.ts +0 -7
- package/dist/cjs/helpers/component-props.js +0 -2
- package/dist/cjs/helpers/component-props.js.map +0 -7
- package/dist/cjs/helpers/constants.d.ts +0 -2
- package/dist/cjs/helpers/constants.js +0 -2
- package/dist/cjs/helpers/constants.js.map +0 -7
- package/dist/cjs/stories/chat.stories.js +0 -2
- package/dist/cjs/stories/chat.stories.js.map +0 -7
- package/dist/cjs/tsconfig.tsbuildinfo +0 -1
- package/dist/esm/components/animation/CodeEditor.d.ts +0 -7
- package/dist/esm/components/animation/CodeEditor.js +0 -2
- package/dist/esm/components/animation/CodeEditor.js.map +0 -7
- package/dist/esm/components/animation/Preview.d.ts +0 -5
- package/dist/esm/components/animation/Preview.js +0 -2
- package/dist/esm/components/animation/Preview.js.map +0 -7
- package/dist/esm/components/animation/bannerAni.d.ts +0 -16
- package/dist/esm/components/animation/bannerAni.js +0 -59
- package/dist/esm/components/animation/bannerAni.js.map +0 -7
- package/dist/esm/components/animation/libs.d.js +0 -2
- package/dist/esm/components/animation/libs.d.js.map +0 -7
- package/dist/esm/components/animation/textAni.d.ts +0 -9
- package/dist/esm/components/animation/textAni.js +0 -2
- package/dist/esm/components/animation/textAni.js.map +0 -7
- package/dist/esm/components/chat/Markdown.d.ts +0 -5
- package/dist/esm/components/chat/Messages.d.ts +0 -3
- package/dist/esm/components/chat/Response.d.ts +0 -2
- package/dist/esm/components/chat/marksdown.d.ts +0 -5
- package/dist/esm/components/chat/message.d.ts +0 -2
- package/dist/esm/components/chat/response copy.d.ts +0 -2
- package/dist/esm/components/chat/rresponse.d.ts +0 -2
- package/dist/esm/components/theme.d.ts +0 -13
- package/dist/esm/helpers/component-props.d.ts +0 -7
- package/dist/esm/helpers/component-props.js +0 -1
- package/dist/esm/helpers/constants.d.ts +0 -2
- package/dist/esm/helpers/constants.js +0 -2
- package/dist/esm/helpers/constants.js.map +0 -7
- package/dist/esm/stories/chat.stories.js +0 -2
- package/dist/esm/stories/chat.stories.js.map +0 -7
- package/dist/esm/styles/chat.css +0 -14
- package/dist/esm/styles/css/animations.css +0 -35
- package/dist/esm/styles/css/button.css +0 -56
- package/dist/esm/styles/css/colors.css +0 -12
- package/dist/esm/styles/css/console.css +0 -134
- package/dist/esm/styles/css/header.css +0 -43
- package/dist/esm/styles/css/input.css +0 -89
- package/dist/esm/styles/css/markdown.css +0 -131
- package/dist/esm/styles/css/messages.css +0 -73
- package/dist/esm/styles/css/panel.css +0 -23
- package/dist/esm/styles/css/popup.css +0 -44
- package/dist/esm/styles/css/response.css +0 -26
- package/dist/esm/styles/css/sidebar.css +0 -31
- package/dist/esm/styles/css/suggestions.css +0 -35
- package/dist/esm/styles/css/window.css +0 -60
- package/dist/esm/styles/index.css +0 -1
- package/dist/esm/tsconfig.tsbuildinfo +0 -1
- /package/dist/cjs/components/chat/{Markdown.d.ts → markdown.d.ts} +0 -0
- /package/dist/{cjs/components/chat/marksdown.d.ts → esm/components/chat/markdown.d.ts} +0 -0
- /package/dist/{cjs/components/animation/libs.d.js.map → esm/components/credits/context/response.js.map} +0 -0
- /package/dist/esm/{helpers/component-props.js.map → components/credits/creditsCash/type.js.map} +0 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import Cookies from 'js-cookie'
|
|
2
|
+
import { PRICE_SYMBOL } from './const'
|
|
3
|
+
|
|
4
|
+
export function getAlpcPath(locale = '') {
|
|
5
|
+
let isEU = false
|
|
6
|
+
const alpcEUCookie = Cookies.get('alpcEU')
|
|
7
|
+
if (alpcEUCookie === undefined || alpcEUCookie === '') {
|
|
8
|
+
if (['de', 'eu-de', 'eu', 'eu-en', 'uk', 'fr', 'fra'].includes(locale)) {
|
|
9
|
+
isEU = true
|
|
10
|
+
}
|
|
11
|
+
} else {
|
|
12
|
+
let alpcEU = Number(alpcEUCookie)
|
|
13
|
+
if (alpcEU) {
|
|
14
|
+
isEU = true
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (isEU) {
|
|
19
|
+
return '/api/multipass/alpc-eu'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return '/api/multipass/alpc'
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function numberFormat(num: number = 0) {
|
|
26
|
+
if (typeof Intl === 'undefined') {
|
|
27
|
+
return num
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return new Intl.NumberFormat().format(num)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const emailValidate = (email: any) => {
|
|
34
|
+
return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
|
|
35
|
+
email
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export const languageTerritory = (locale: string) =>
|
|
40
|
+
// https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_territory_information.html
|
|
41
|
+
({
|
|
42
|
+
us: 'en-us',
|
|
43
|
+
uk: 'en-gb',
|
|
44
|
+
ca: 'en-ca',
|
|
45
|
+
au: 'en-au',
|
|
46
|
+
nz: 'en-nz',
|
|
47
|
+
eu: 'en-eu',
|
|
48
|
+
pl: 'pl-pl',
|
|
49
|
+
fr: 'fr-fr',
|
|
50
|
+
de: 'de-de',
|
|
51
|
+
vn: 'vi-vn',
|
|
52
|
+
sg: 'en-sg',
|
|
53
|
+
'ae-en': 'en-ae',
|
|
54
|
+
plus: 'en-us',
|
|
55
|
+
cl: 'es-cl',
|
|
56
|
+
es: 'es-es',
|
|
57
|
+
// Nordic countries
|
|
58
|
+
se: 'en-se',
|
|
59
|
+
dk: 'en-dk',
|
|
60
|
+
is: 'en-is',
|
|
61
|
+
no: 'en-no',
|
|
62
|
+
fi: 'en-fi',
|
|
63
|
+
})[locale] || ''
|
|
64
|
+
|
|
65
|
+
export function formatPrice({
|
|
66
|
+
amount,
|
|
67
|
+
currencyCode,
|
|
68
|
+
locale,
|
|
69
|
+
maximumFractionDigits,
|
|
70
|
+
minimumFractionDigits,
|
|
71
|
+
removeTrailingZeros = false,
|
|
72
|
+
}: {
|
|
73
|
+
amount: number
|
|
74
|
+
currencyCode: string
|
|
75
|
+
locale: string
|
|
76
|
+
maximumFractionDigits?: number
|
|
77
|
+
minimumFractionDigits?: number
|
|
78
|
+
removeTrailingZeros?: boolean
|
|
79
|
+
}) {
|
|
80
|
+
const formatCurrency = new Intl.NumberFormat(languageTerritory(locale) || locale, {
|
|
81
|
+
style: 'currency',
|
|
82
|
+
currency: currencyCode || 'USD',
|
|
83
|
+
minimumFractionDigits: maximumFractionDigits === 0 ? 0 : minimumFractionDigits,
|
|
84
|
+
maximumFractionDigits,
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
let formattedValue = formatCurrency.format(amount)
|
|
88
|
+
|
|
89
|
+
if (['eu-de', 'eu-en', 'de', 'eu'].includes(locale)) {
|
|
90
|
+
formattedValue = formattedValue?.toString()?.replace(/[\s]/g, '')
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (removeTrailingZeros) {
|
|
94
|
+
// Adjust the regex to match comma as decimal separator
|
|
95
|
+
formattedValue = formattedValue
|
|
96
|
+
.replace(/(\.\d*?[1-9])0+\b/, '$1')
|
|
97
|
+
.replace(/\.0+\b/, '')
|
|
98
|
+
.replace(/(\,\d*?[1-9])0+\b/, '$1')
|
|
99
|
+
.replace(/\,0+\b/, '')
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return formattedValue
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
export function formatVariantPrice({
|
|
106
|
+
amount,
|
|
107
|
+
baseAmount,
|
|
108
|
+
currencyCode,
|
|
109
|
+
locale,
|
|
110
|
+
maximumFractionDigits,
|
|
111
|
+
minimumFractionDigits,
|
|
112
|
+
removeTrailingZeros,
|
|
113
|
+
}: {
|
|
114
|
+
baseAmount: number
|
|
115
|
+
amount: number
|
|
116
|
+
currencyCode: string
|
|
117
|
+
locale: string
|
|
118
|
+
maximumFractionDigits?: number
|
|
119
|
+
minimumFractionDigits?: number
|
|
120
|
+
removeTrailingZeros?: boolean
|
|
121
|
+
}) {
|
|
122
|
+
if (typeof Intl === 'undefined') {
|
|
123
|
+
return {
|
|
124
|
+
price: `${PRICE_SYMBOL[locale as keyof typeof PRICE_SYMBOL]}${amount}`,
|
|
125
|
+
basePrice: `${PRICE_SYMBOL[locale as keyof typeof PRICE_SYMBOL]}${baseAmount}`,
|
|
126
|
+
discount: `${PRICE_SYMBOL[locale as keyof typeof PRICE_SYMBOL]}${baseAmount - amount || 0}`,
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const hasDiscount = baseAmount > amount
|
|
131
|
+
const formatDiscount = new Intl.NumberFormat(languageTerritory(locale), {
|
|
132
|
+
style: 'percent',
|
|
133
|
+
})
|
|
134
|
+
const discount = hasDiscount ? formatDiscount.format((baseAmount - amount) / baseAmount) : null
|
|
135
|
+
|
|
136
|
+
const price = formatPrice({ amount, currencyCode, locale, removeTrailingZeros })
|
|
137
|
+
const basePrice = hasDiscount
|
|
138
|
+
? formatPrice({
|
|
139
|
+
amount: baseAmount,
|
|
140
|
+
currencyCode,
|
|
141
|
+
locale,
|
|
142
|
+
maximumFractionDigits,
|
|
143
|
+
minimumFractionDigits,
|
|
144
|
+
removeTrailingZeros,
|
|
145
|
+
})
|
|
146
|
+
: undefined
|
|
147
|
+
|
|
148
|
+
return { price, basePrice, discount }
|
|
149
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Button, Container, Heading, Picture, Text } from '@anker-in/headless-ui'
|
|
2
|
+
import classNames from 'classnames'
|
|
3
|
+
import { useCreditsContext } from '../context/provider'
|
|
4
|
+
|
|
5
|
+
type Img = {
|
|
6
|
+
url: string
|
|
7
|
+
alt: string
|
|
8
|
+
}
|
|
9
|
+
type BannerProps = {
|
|
10
|
+
copy: {
|
|
11
|
+
pcImg: Img
|
|
12
|
+
laptopImg: Img
|
|
13
|
+
mobileImg: Img
|
|
14
|
+
joinNow: string
|
|
15
|
+
loginIn: string
|
|
16
|
+
login: {
|
|
17
|
+
title: string
|
|
18
|
+
description: string
|
|
19
|
+
}
|
|
20
|
+
unLogin: {
|
|
21
|
+
title: string
|
|
22
|
+
description: string
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function CreditsBanner({ copy }: BannerProps) {
|
|
28
|
+
const { profile, openSignInPopup, openSignUpPopup } = useCreditsContext()
|
|
29
|
+
const isLogin = profile ? Object.keys(profile).length !== 0 : false
|
|
30
|
+
|
|
31
|
+
const displayName = profile?.first_name
|
|
32
|
+
? profile?.first_name + ' ' + profile?.last_name
|
|
33
|
+
: profile?.email?.split('@')[0]
|
|
34
|
+
|
|
35
|
+
const handleButtonClick = (buttonType: 'primary' | 'secondary') => {
|
|
36
|
+
buttonType === 'primary' ? openSignUpPopup() : openSignInPopup()
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<>
|
|
41
|
+
<div className=" relative w-full">
|
|
42
|
+
<Picture
|
|
43
|
+
className="aspect-h-[804] aspect-w-[1920] md:aspect-h-[660] md:aspect-w-[390] md-l:aspect-h-[660] md-l:aspect-w-[768]"
|
|
44
|
+
source={`${copy.pcImg?.url}, ${copy.laptopImg?.url} 1024, ${copy.mobileImg?.url} 768`}
|
|
45
|
+
alt={copy.pcImg?.alt}
|
|
46
|
+
loading="eager"
|
|
47
|
+
></Picture>
|
|
48
|
+
{isLogin && (
|
|
49
|
+
<div
|
|
50
|
+
className="absolute inset-0 "
|
|
51
|
+
style={{
|
|
52
|
+
background: 'linear-gradient(180deg, rgba(245, 245, 247, 0) 70.31%, #F5F5F7 100%)',
|
|
53
|
+
}}
|
|
54
|
+
></div>
|
|
55
|
+
)}
|
|
56
|
+
|
|
57
|
+
<Container className="l:h-auto !absolute inset-0 mx-auto grid h-full" asChild>
|
|
58
|
+
<div className="grid grid-cols-12">
|
|
59
|
+
<div className="l:col-span-12 l:justify-start l:pt-[64px] col-span-5 flex h-full flex-col justify-center text-[#1F2021]">
|
|
60
|
+
<Heading
|
|
61
|
+
as="h1"
|
|
62
|
+
size="5"
|
|
63
|
+
html={isLogin ? copy.login.title?.replace('$name', displayName || '') : copy.unLogin.title}
|
|
64
|
+
></Heading>
|
|
65
|
+
|
|
66
|
+
<Text
|
|
67
|
+
size="3"
|
|
68
|
+
className="l:mt-[4px] l-xxl:text-[14px] mt-[16px]"
|
|
69
|
+
html={isLogin ? copy.login.description : copy.unLogin.description}
|
|
70
|
+
></Text>
|
|
71
|
+
|
|
72
|
+
{!isLogin && (
|
|
73
|
+
<div
|
|
74
|
+
className={classNames(
|
|
75
|
+
'mt-[32px] grid w-fit grid-flow-col gap-[12px] l:mt-[24px]',
|
|
76
|
+
isLogin && 'hidden'
|
|
77
|
+
)}
|
|
78
|
+
>
|
|
79
|
+
<Button
|
|
80
|
+
variant="secondary"
|
|
81
|
+
size="lg"
|
|
82
|
+
onClick={() => {
|
|
83
|
+
handleButtonClick('primary')
|
|
84
|
+
}}
|
|
85
|
+
>
|
|
86
|
+
{copy.joinNow}
|
|
87
|
+
</Button>
|
|
88
|
+
<Button
|
|
89
|
+
variant="primary"
|
|
90
|
+
size="lg"
|
|
91
|
+
onClick={() => {
|
|
92
|
+
handleButtonClick('secondary')
|
|
93
|
+
}}
|
|
94
|
+
>
|
|
95
|
+
{copy.loginIn}
|
|
96
|
+
</Button>
|
|
97
|
+
</div>
|
|
98
|
+
)}
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</Container>
|
|
102
|
+
</div>
|
|
103
|
+
</>
|
|
104
|
+
)
|
|
105
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Heading, Picture, Text } from '@anker-in/headless-ui'
|
|
2
|
+
import { cn } from '../../../helpers/utils'
|
|
3
|
+
import IconInfo from './iconInfo'
|
|
4
|
+
|
|
5
|
+
export interface BenefitItemCopy {
|
|
6
|
+
icon: {
|
|
7
|
+
alt: string
|
|
8
|
+
url: string
|
|
9
|
+
}
|
|
10
|
+
text: string
|
|
11
|
+
note?: string
|
|
12
|
+
tag?: string
|
|
13
|
+
}
|
|
14
|
+
const BenefitItem = ({
|
|
15
|
+
item,
|
|
16
|
+
handleClick,
|
|
17
|
+
isNoteActive,
|
|
18
|
+
index,
|
|
19
|
+
}: {
|
|
20
|
+
item: BenefitItemCopy
|
|
21
|
+
handleClick: ({ item, index }: { item: BenefitItemCopy; index: number }) => void
|
|
22
|
+
isNoteActive: boolean
|
|
23
|
+
index: number
|
|
24
|
+
}) => {
|
|
25
|
+
return (
|
|
26
|
+
<div
|
|
27
|
+
className="relative h-full rounded-[16px] border border-white px-[24px] pb-[26px] pt-[24px] md:min-h-[180px] md:p-[16px]"
|
|
28
|
+
style={{
|
|
29
|
+
background: 'linear-gradient(119.61deg, #FAFAFA 38.58%, #FFFFFF 63.73%, #F9FCFF 89.37%)',
|
|
30
|
+
}}
|
|
31
|
+
>
|
|
32
|
+
<div className="flex flex-col">
|
|
33
|
+
<Picture
|
|
34
|
+
className="mb-[16px] size-[31px] md:absolute md:bottom-[16px] md:right-[16px] md:mb-0"
|
|
35
|
+
alt={item.icon?.alt}
|
|
36
|
+
source={item.icon?.url}
|
|
37
|
+
/>
|
|
38
|
+
<div className="flex items-center">
|
|
39
|
+
<Heading html={item.text} size="2" className="break-all" />
|
|
40
|
+
{item.note && (
|
|
41
|
+
<div
|
|
42
|
+
role="button"
|
|
43
|
+
tabIndex={0}
|
|
44
|
+
onKeyDown={e => {
|
|
45
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
46
|
+
e.preventDefault()
|
|
47
|
+
}
|
|
48
|
+
}}
|
|
49
|
+
className="relative mb-1 ml-[4px]"
|
|
50
|
+
onClick={() => handleClick({ item, index })}
|
|
51
|
+
>
|
|
52
|
+
<IconInfo />
|
|
53
|
+
<div
|
|
54
|
+
className={cn(
|
|
55
|
+
'absolute -bottom-[12px] left-[32px] z-10 w-[356px] -translate-x-full translate-y-full md:w-[276px]',
|
|
56
|
+
isNoteActive ? 'block' : 'hidden'
|
|
57
|
+
)}
|
|
58
|
+
>
|
|
59
|
+
<div className="relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow">
|
|
60
|
+
<Text as="p" size="2" html={item.note} className="desktop:text-[18px]" />
|
|
61
|
+
<div className="absolute -top-[10px] right-[9px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]" />
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
)}
|
|
66
|
+
</div>
|
|
67
|
+
{item.tag && <Text as="div" html={item.tag} className="mt-[2px] text-[16px] font-bold text-[#6D6D6F]" />}
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export default BenefitItem
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const IconInfo = () => {
|
|
2
|
+
return (
|
|
3
|
+
<svg
|
|
4
|
+
xmlns='http://www.w3.org/2000/svg'
|
|
5
|
+
className='size-[18px] cursor-pointer [&_svg]:size-full'
|
|
6
|
+
width='18'
|
|
7
|
+
height='18'
|
|
8
|
+
viewBox='0 0 18 18'
|
|
9
|
+
fill='none'
|
|
10
|
+
>
|
|
11
|
+
<path
|
|
12
|
+
d='M9 1.125C11.1744 1.125 13.1441 2.00737 14.5684 3.43164C15.9926 4.85593 16.875 6.8256 16.875 9C16.875 11.1744 15.9926 13.1441 14.5684 14.5684C13.1441 15.9926 11.1744 16.875 9 16.875C6.8256 16.875 4.85593 15.9926 3.43164 14.5684C2.00737 13.1441 1.125 11.1744 1.125 9C1.125 6.8256 2.00738 4.85593 3.43164 3.43164C4.85593 2.00738 6.8256 1.125 9 1.125ZM9 2.625C7.23941 2.625 5.64668 3.33772 4.49219 4.49219C3.33772 5.64668 2.625 7.23941 2.625 9C2.625 10.7606 3.33772 12.3533 4.49219 13.5078C5.64668 14.6623 7.23941 15.375 9 15.375C10.7606 15.375 12.3533 14.6623 13.5078 13.5078C14.6623 12.3533 15.375 10.7606 15.375 9C15.375 7.23941 14.6623 5.64668 13.5078 4.49219C12.3533 3.33772 10.7606 2.625 9 2.625Z'
|
|
13
|
+
fill='#6D6D6F'
|
|
14
|
+
/>
|
|
15
|
+
<path
|
|
16
|
+
d='M9 11.583C9.51777 11.583 9.9375 12.0027 9.9375 12.5205V12.5596C9.93718 13.0771 9.51757 13.4971 9 13.4971C8.48243 13.4971 8.06282 13.0771 8.0625 12.5596V12.5205C8.0625 12.0027 8.48223 11.583 9 11.583ZM8.99902 4.5C9.51671 4.49959 9.93696 4.91886 9.9375 5.43652L9.94043 9.37109C9.94084 9.88884 9.52165 10.3091 9.00391 10.3096C8.48616 10.31 8.06587 9.89079 8.06543 9.37305L8.0625 5.43848C8.06209 4.92079 8.48136 4.50054 8.99902 4.5Z'
|
|
17
|
+
fill='#6D6D6F'
|
|
18
|
+
/>
|
|
19
|
+
</svg>
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default IconInfo
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import 'swiper/css'
|
|
2
|
+
import 'swiper/css/grid'
|
|
3
|
+
import 'swiper/css/pagination'
|
|
4
|
+
|
|
5
|
+
import { Container, Heading } from '@anker-in/headless-ui'
|
|
6
|
+
import { useRouter } from 'next/router'
|
|
7
|
+
import { useState } from 'react'
|
|
8
|
+
import { Grid, Pagination } from 'swiper/modules'
|
|
9
|
+
import { Swiper, SwiperSlide } from 'swiper/react'
|
|
10
|
+
|
|
11
|
+
import BenefitItem, { type BenefitItemCopy } from './benefitItem'
|
|
12
|
+
import { useCreditsContext } from '../context/provider'
|
|
13
|
+
import { gaTrack, getGtmGroup } from '../../../helpers/track'
|
|
14
|
+
import { cn } from '../../../helpers/utils'
|
|
15
|
+
|
|
16
|
+
interface CreditsBenefitsProps {
|
|
17
|
+
copy: {
|
|
18
|
+
title: string
|
|
19
|
+
benefits: BenefitItemCopy[]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export const CreditsBenefits = ({ copy }: CreditsBenefitsProps) => {
|
|
24
|
+
const [activeNoteIndex, setActiveNoteIndex] = useState<number | null>(null)
|
|
25
|
+
const { profile } = useCreditsContext()
|
|
26
|
+
const router = useRouter()
|
|
27
|
+
|
|
28
|
+
const handleClick = ({ item, index }: { item: BenefitItemCopy; index: number }) => {
|
|
29
|
+
gaTrack({
|
|
30
|
+
event: 'ga4Event',
|
|
31
|
+
event_name: 'lp_button',
|
|
32
|
+
member_active_status: profile?.activated ? 'active' : 'not active',
|
|
33
|
+
event_parameters: {
|
|
34
|
+
page_group: getGtmGroup(router),
|
|
35
|
+
position: copy.title,
|
|
36
|
+
button_name: item.text,
|
|
37
|
+
info: '',
|
|
38
|
+
},
|
|
39
|
+
})
|
|
40
|
+
if (activeNoteIndex === index) {
|
|
41
|
+
setActiveNoteIndex(null)
|
|
42
|
+
} else {
|
|
43
|
+
setActiveNoteIndex(index)
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
setActiveNoteIndex(null)
|
|
46
|
+
}, 5000)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return (
|
|
51
|
+
<Container id="benefits" className="!z-[30] bg-[#F5F5F7]">
|
|
52
|
+
<Heading as="h2" size="4" html={copy?.title} />
|
|
53
|
+
<div className="mt-[24px] grid grid-cols-2 gap-[16px] l:hidden min-md:grid-cols-3 min-xl:grid-cols-4">
|
|
54
|
+
{copy.benefits.map((item, index) => (
|
|
55
|
+
<BenefitItem
|
|
56
|
+
key={index}
|
|
57
|
+
item={item}
|
|
58
|
+
handleClick={handleClick}
|
|
59
|
+
isNoteActive={activeNoteIndex === index}
|
|
60
|
+
index={index}
|
|
61
|
+
/>
|
|
62
|
+
))}
|
|
63
|
+
</div>
|
|
64
|
+
<div className="mt-[24px] hidden l:block">
|
|
65
|
+
<Swiper
|
|
66
|
+
spaceBetween={16}
|
|
67
|
+
slidesPerView={2}
|
|
68
|
+
slidesPerGroup={2}
|
|
69
|
+
grid={{
|
|
70
|
+
rows: 2,
|
|
71
|
+
fill: 'row',
|
|
72
|
+
}}
|
|
73
|
+
breakpoints={{
|
|
74
|
+
768: {
|
|
75
|
+
slidesPerView: 3,
|
|
76
|
+
slidesPerGroup: 3,
|
|
77
|
+
},
|
|
78
|
+
}}
|
|
79
|
+
wrapperClass="items-stretch"
|
|
80
|
+
modules={[Grid, Pagination]}
|
|
81
|
+
pagination={{
|
|
82
|
+
clickable: true,
|
|
83
|
+
el: '#benefits-pagination',
|
|
84
|
+
renderBullet(index, className) {
|
|
85
|
+
return `<div class='${className} !flex justify-center size-[8px] rounded-full bg-[#D9D9D9] cursor-pointer items-center'>
|
|
86
|
+
</div>`
|
|
87
|
+
},
|
|
88
|
+
}}
|
|
89
|
+
>
|
|
90
|
+
{copy.benefits.map((item, index) => (
|
|
91
|
+
<SwiperSlide key={index} className={cn('!h-auto', activeNoteIndex === index && '!z-[100]')}>
|
|
92
|
+
<BenefitItem
|
|
93
|
+
item={item}
|
|
94
|
+
handleClick={handleClick}
|
|
95
|
+
isNoteActive={activeNoteIndex === index}
|
|
96
|
+
index={index}
|
|
97
|
+
/>
|
|
98
|
+
</SwiperSlide>
|
|
99
|
+
))}
|
|
100
|
+
</Swiper>
|
|
101
|
+
<div
|
|
102
|
+
id="benefits-pagination"
|
|
103
|
+
className="mx-auto mt-[12px] grid !w-fit grid-flow-col [&_.swiper-pagination-bullet-active>div]:!bg-[#151515]
|
|
104
|
+
[&_.swiper-pagination-bullet]:cursor-pointer [&_.swiper-pagination-bullet]:rounded-full"
|
|
105
|
+
></div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
{activeNoteIndex && (
|
|
109
|
+
<div
|
|
110
|
+
role="button"
|
|
111
|
+
tabIndex={0}
|
|
112
|
+
className="fixed inset-0 z-10"
|
|
113
|
+
onClick={() => setActiveNoteIndex(null)}
|
|
114
|
+
onKeyDown={e => e.key === 'Escape' && setActiveNoteIndex(null)}
|
|
115
|
+
/>
|
|
116
|
+
)}
|
|
117
|
+
</Container>
|
|
118
|
+
)
|
|
119
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { Button, Text, Picture } from '@anker-in/headless-ui'
|
|
2
|
+
import { useMemo } from 'react'
|
|
3
|
+
import { cn } from '../../../helpers'
|
|
4
|
+
|
|
5
|
+
import { CreditsCashCopy, RedeemItem } from './type'
|
|
6
|
+
import { useCreditsContext } from '../context/provider'
|
|
7
|
+
import { useRedeemAndBuy } from '../context/hooks/useRedeemAndBuy'
|
|
8
|
+
import { numberFormat } from '../context/utils'
|
|
9
|
+
import { gaTrack } from '../../../helpers/track'
|
|
10
|
+
|
|
11
|
+
function RedeemableItem({
|
|
12
|
+
copy,
|
|
13
|
+
itemData,
|
|
14
|
+
setRules,
|
|
15
|
+
className,
|
|
16
|
+
authCodeActivate,
|
|
17
|
+
}: {
|
|
18
|
+
copy: CreditsCashCopy
|
|
19
|
+
itemData: RedeemItem
|
|
20
|
+
className?: string
|
|
21
|
+
setRules: (rules: string[]) => void
|
|
22
|
+
currencyCode: string
|
|
23
|
+
authCodeActivate: {
|
|
24
|
+
openAuthCodePopup: Function
|
|
25
|
+
isSuccess: boolean
|
|
26
|
+
setOnSuccess: (arg: Function) => void
|
|
27
|
+
isSendingActivateEmail: boolean
|
|
28
|
+
}
|
|
29
|
+
}) {
|
|
30
|
+
const {
|
|
31
|
+
creditInfo,
|
|
32
|
+
profile,
|
|
33
|
+
openSignUpPopup,
|
|
34
|
+
gtm: { pageGroup },
|
|
35
|
+
} = useCreditsContext()
|
|
36
|
+
const { trigger, isMutating } = useRedeemAndBuy()
|
|
37
|
+
|
|
38
|
+
const isLogin = useMemo(() => {
|
|
39
|
+
return !!profile
|
|
40
|
+
}, [profile?.activated])
|
|
41
|
+
|
|
42
|
+
const inSufficientCredit = useMemo(() => {
|
|
43
|
+
return (
|
|
44
|
+
isLogin && profile?.activated && itemData.alpcData?.consumeCredits > Number(creditInfo?.available_credit || 0)
|
|
45
|
+
)
|
|
46
|
+
}, [isLogin, profile?.activated, itemData.alpcData?.consumeCredits, creditInfo?.available_credit])
|
|
47
|
+
|
|
48
|
+
const isDisabled = useMemo(() => {
|
|
49
|
+
// 兑换限制
|
|
50
|
+
if (itemData.alpcData?.remainingInventory <= 0 && itemData.alpcData?.isLimited) {
|
|
51
|
+
return true
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 商品库存限制
|
|
55
|
+
if (!itemData.productVariant?.availableForSale) {
|
|
56
|
+
return true
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// 积分不足
|
|
60
|
+
if (inSufficientCredit) {
|
|
61
|
+
return true
|
|
62
|
+
}
|
|
63
|
+
return false
|
|
64
|
+
}, [
|
|
65
|
+
itemData.alpcData?.remainingInventory,
|
|
66
|
+
itemData.alpcData?.isLimited,
|
|
67
|
+
itemData.productVariant?.availableForSale,
|
|
68
|
+
inSufficientCredit,
|
|
69
|
+
])
|
|
70
|
+
|
|
71
|
+
const handleRedeem = () => {
|
|
72
|
+
if (!isLogin) {
|
|
73
|
+
openSignUpPopup()
|
|
74
|
+
} else if (!profile?.activated && !(authCodeActivate.isSendingActivateEmail || authCodeActivate.isSuccess)) {
|
|
75
|
+
authCodeActivate.openAuthCodePopup()
|
|
76
|
+
authCodeActivate.setOnSuccess(async () => {
|
|
77
|
+
const { success, url, error } = await trigger({
|
|
78
|
+
productVariant: itemData?.productVariant,
|
|
79
|
+
redeemId: itemData?.config?.redeemId,
|
|
80
|
+
})
|
|
81
|
+
if (success) {
|
|
82
|
+
window.open(url, '_blank')
|
|
83
|
+
} else {
|
|
84
|
+
console.error(error)
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
} else {
|
|
88
|
+
try {
|
|
89
|
+
trigger({
|
|
90
|
+
productVariant: itemData?.productVariant,
|
|
91
|
+
redeemId: itemData?.config?.redeemId,
|
|
92
|
+
})
|
|
93
|
+
} catch (error) {}
|
|
94
|
+
gaTrack({
|
|
95
|
+
event: 'ga4Event',
|
|
96
|
+
event_name: 'lp_button',
|
|
97
|
+
member_active_status: profile?.activated ? 'active' : 'not active',
|
|
98
|
+
event_parameters: {
|
|
99
|
+
page_group: pageGroup,
|
|
100
|
+
position: copy.title,
|
|
101
|
+
button_name: redeemButtonText,
|
|
102
|
+
info: itemData?.alpcData?.id?.toString(),
|
|
103
|
+
},
|
|
104
|
+
})
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const redeemButtonText = useMemo(() => {
|
|
109
|
+
// 缺货文案
|
|
110
|
+
if (!itemData.productVariant?.availableForSale) {
|
|
111
|
+
return copy?.soldOut || 'Sold Out'
|
|
112
|
+
} else if (!isLogin) {
|
|
113
|
+
return copy.unlockRewards
|
|
114
|
+
} else {
|
|
115
|
+
return copy.btnRedeem
|
|
116
|
+
}
|
|
117
|
+
}, [isLogin, itemData.productVariant?.availableForSale, copy.btnRedeem, copy.unlockRewards, copy?.soldOut])
|
|
118
|
+
|
|
119
|
+
return (
|
|
120
|
+
<div
|
|
121
|
+
className={cn(
|
|
122
|
+
'flex flex-col items-center rounded-[16px] bg-[#EAEAEC] p-[24px] md:rounded-[12px] md:px-[8px] xl:py-[16px] md-xl:px-[16px]',
|
|
123
|
+
className
|
|
124
|
+
)}
|
|
125
|
+
>
|
|
126
|
+
<div className={cn('relative mx-auto h-[224px] w-fit l:h-[120px] l-xxl:h-[138px]')}>
|
|
127
|
+
<Picture
|
|
128
|
+
className="mx-auto h-full w-auto"
|
|
129
|
+
imgClassName="h-full object-contain"
|
|
130
|
+
source={
|
|
131
|
+
itemData?.config?.image?.url ||
|
|
132
|
+
itemData?.productVariant?.metafields?.global?.transparentImg ||
|
|
133
|
+
itemData?.productVariant?.image?.url
|
|
134
|
+
}
|
|
135
|
+
></Picture>
|
|
136
|
+
</div>
|
|
137
|
+
<div className={cn('mt-[22px] w-full l:mt-[8px]')}>
|
|
138
|
+
<Text
|
|
139
|
+
html={itemData?.product?.title}
|
|
140
|
+
title={itemData.config?.title || itemData.alpcData?.title || itemData.product?.title}
|
|
141
|
+
size={2}
|
|
142
|
+
className="line-clamp-2 h-[58px] text-[24px] leading-[1.2] l:line-clamp-3 l:h-[56px] l:text-[16px] l-xxl:h-[48px] l-xxl:text-[20px]"
|
|
143
|
+
/>
|
|
144
|
+
{itemData?.config?.rules?.split('<br>')?.length > 0 && (
|
|
145
|
+
<button
|
|
146
|
+
type="button"
|
|
147
|
+
onClick={() => {
|
|
148
|
+
setRules(itemData?.config?.rules?.split('<br>'))
|
|
149
|
+
gaTrack({
|
|
150
|
+
event: 'ga4Event',
|
|
151
|
+
event_name: 'lp_button',
|
|
152
|
+
member_active_status: profile?.activated ? 'active' : 'not active',
|
|
153
|
+
event_parameters: {
|
|
154
|
+
page_group: pageGroup,
|
|
155
|
+
position: copy.title,
|
|
156
|
+
button_name: copy?.ruleLabel,
|
|
157
|
+
info: itemData?.alpcData?.id?.toString(),
|
|
158
|
+
},
|
|
159
|
+
})
|
|
160
|
+
}}
|
|
161
|
+
className="mt-[8px] text-[16px] font-bold underline xxl:text-[14px]"
|
|
162
|
+
tabIndex={0}
|
|
163
|
+
onKeyDown={e => {
|
|
164
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
165
|
+
e.preventDefault()
|
|
166
|
+
}
|
|
167
|
+
}}
|
|
168
|
+
>
|
|
169
|
+
{copy?.ruleLabel}
|
|
170
|
+
</button>
|
|
171
|
+
)}
|
|
172
|
+
<div className="mt-[24px] flex items-center l:mt-[12px] laptop:text-[16px] lg-desktop:text-[18px]">
|
|
173
|
+
<Picture
|
|
174
|
+
className="size-[20px]"
|
|
175
|
+
source="https://cdn.shopify.com/s/files/1/0511/6346/3874/files/icon_hire_purchase.png?v=1757496783"
|
|
176
|
+
/>
|
|
177
|
+
<Text
|
|
178
|
+
html={`${numberFormat(itemData?.alpcData?.consumeCredits)} + ${itemData?.config?.price}`}
|
|
179
|
+
size={2}
|
|
180
|
+
as="p"
|
|
181
|
+
className="ml-[4px] text-[28px] font-bold leading-[1.2] md:text-[18px] l-xxl:text-[24px] md-l:text-[20px] "
|
|
182
|
+
/>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<div className="group relative w-full">
|
|
186
|
+
<Button
|
|
187
|
+
disabled={isDisabled}
|
|
188
|
+
variant="primary"
|
|
189
|
+
size="lg"
|
|
190
|
+
className="mt-[8px] md:px-[10px] l:w-full"
|
|
191
|
+
loading={isMutating}
|
|
192
|
+
onClick={() => {
|
|
193
|
+
handleRedeem()
|
|
194
|
+
}}
|
|
195
|
+
title={inSufficientCredit ? 'Insufficient credit' : redeemButtonText}
|
|
196
|
+
>
|
|
197
|
+
{redeemButtonText}
|
|
198
|
+
</Button>
|
|
199
|
+
<div
|
|
200
|
+
className={cn(
|
|
201
|
+
'absolute -bottom-[20px] left-0 z-10 w-[300px] translate-y-full opacity-0 transition-opacity group-hover:opacity-100 md:-bottom-[14px] md:w-[160px]',
|
|
202
|
+
inSufficientCredit ? 'block' : 'hidden'
|
|
203
|
+
)}
|
|
204
|
+
>
|
|
205
|
+
<div className="relative rounded-[10px] bg-[#6D6D6F] p-[16px] text-[14px] font-medium text-white shadow md:px-[10px] md:py-[8px]">
|
|
206
|
+
<Text as="p" size="2" html={copy?.insufficientCredits} className="text-[14px]" />
|
|
207
|
+
<div className="absolute -top-[10px] left-[48px] mb-2 size-[16px] origin-top-left rotate-45 transform rounded-[2px] bg-[#6D6D6F]" />
|
|
208
|
+
</div>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
</div>
|
|
212
|
+
</div>
|
|
213
|
+
)
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export default RedeemableItem
|