@anker-in/shopify-react 0.1.1-beta.41 → 0.1.1-beta.42

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/index.mjs CHANGED
@@ -1303,24 +1303,31 @@ function useRemoveCartLines(options) {
1303
1303
  );
1304
1304
  return useSWRMutation("remove-cart-lines", removeLines, options);
1305
1305
  }
1306
- function useUpdateCartAttributes(mutate, metafieldIdentifiers, options) {
1306
+ function useUpdateCartAttributes({
1307
+ mutate,
1308
+ metafieldIdentifiers,
1309
+ disabled = false,
1310
+ swrOptions
1311
+ }) {
1307
1312
  const { client, locale, cartCookieAdapter } = useShopify();
1308
1313
  const updateAttributes = useCallback(
1309
1314
  async (_key, { arg }) => {
1315
+ if (disabled || !cartCookieAdapter?.getCartId(locale)) {
1316
+ return void 0;
1317
+ }
1310
1318
  const updatedCart = await updateCartAttributes(client, {
1311
1319
  ...arg,
1312
1320
  metafieldIdentifiers,
1313
1321
  cookieAdapter: cartCookieAdapter
1314
1322
  });
1315
- console.log("useUpdateCartAttributes updatedCart", updatedCart);
1316
1323
  if (updatedCart) {
1317
1324
  mutate(updatedCart);
1318
1325
  }
1319
1326
  return updatedCart;
1320
1327
  },
1321
- [client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
1328
+ [client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
1322
1329
  );
1323
- return useSWRMutation("update-cart-attributes", updateAttributes, options);
1330
+ return useSWRMutation("update-cart-attributes", updateAttributes, swrOptions);
1324
1331
  }
1325
1332
  function useBuyNow({ withTrack = true } = {}, swrOptions) {
1326
1333
  const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
@@ -1684,7 +1691,7 @@ var useCartAttributes = ({
1684
1691
  })
1685
1692
  }
1686
1693
  ] : [];
1687
- }, [cart]);
1694
+ }, [cart, customer]);
1688
1695
  const presellAttributes = useMemo(() => {
1689
1696
  return [
1690
1697
  {
@@ -1748,9 +1755,7 @@ var useCartAttributes = ({
1748
1755
  "_play_mode_id",
1749
1756
  "_popup"
1750
1757
  ];
1751
- return cart?.customAttributes?.filter(
1752
- (item) => !commonAttributeKeys.includes(item.key)
1753
- ) || [];
1758
+ return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
1754
1759
  }, [cart]);
1755
1760
  return useMemo(
1756
1761
  () => ({
@@ -2604,8 +2609,9 @@ var createInitialValue = () => ({
2604
2609
  tddCoupon: void 0,
2605
2610
  isLoadingCoupon: false
2606
2611
  },
2607
- selectedPlusMemberProduct: null,
2608
- plusMemberProducts: [],
2612
+ selectedPlusMemberVariant: void 0,
2613
+ monthlyVariant: void 0,
2614
+ annualVariant: void 0,
2609
2615
  showPlusMemberBenefit: false,
2610
2616
  setShowPlusMemberBenefit: () => {
2611
2617
  },
@@ -2619,33 +2625,39 @@ var PlusMemberContext = createContext(createInitialValue());
2619
2625
  function usePlusMemberContext() {
2620
2626
  return useContext(PlusMemberContext);
2621
2627
  }
2622
- function usePlusMonthlyProductVariant() {
2623
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2624
- const plusMonthly = plusMemberMetafields?.plus_monthly_product;
2625
- const plusMonthlyProductVariant = useMemo(() => {
2626
- const product = plusMemberProducts?.find(
2627
- (item) => item?.handle === plusMonthly?.handle
2628
- );
2629
- const productVariant = product?.variants?.find(
2630
- (item) => item.sku === plusMonthly?.sku
2631
- );
2632
- return productVariant;
2628
+ function usePlusMemberVariants({
2629
+ memberSetting
2630
+ }) {
2631
+ const plusMonthly = memberSetting?.plus_monthly_product;
2632
+ const plusAnnual = memberSetting?.plus_annual_product;
2633
+ const plusMemberHandles = useMemo(() => {
2634
+ return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
2635
+ }, [plusMonthly?.handle, plusAnnual?.handle]);
2636
+ const { data: plusMemberProducts = [] } = useProductsByHandles({
2637
+ handles: plusMemberHandles
2638
+ });
2639
+ const monthlyProduct = useMemo(() => {
2640
+ return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
2633
2641
  }, [plusMemberProducts, plusMonthly]);
2634
- return plusMonthlyProductVariant;
2635
- }
2636
- function usePlusAnnualProductVariant() {
2637
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2638
- const plusAnnual = plusMemberMetafields?.plus_annual_product;
2639
- const plusAnnualProductVariant = useMemo(() => {
2640
- const product = plusMemberProducts?.find(
2641
- (item) => item?.handle === plusAnnual?.handle
2642
- );
2643
- const productVariant = product?.variants?.find(
2644
- (item) => item.sku === plusAnnual?.sku
2645
- );
2646
- return productVariant;
2642
+ const annualProduct = useMemo(() => {
2643
+ return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
2647
2644
  }, [plusMemberProducts, plusAnnual]);
2648
- return plusAnnualProductVariant;
2645
+ const monthlyVariant = useMemo(() => {
2646
+ return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
2647
+ }, [monthlyProduct, plusMonthly]);
2648
+ const annualVariant = useMemo(() => {
2649
+ return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
2650
+ }, [annualProduct, plusAnnual]);
2651
+ return {
2652
+ monthlyVariant: monthlyVariant ? {
2653
+ ...monthlyVariant,
2654
+ product: monthlyProduct
2655
+ } : void 0,
2656
+ annualVariant: annualVariant ? {
2657
+ ...annualVariant,
2658
+ product: annualProduct
2659
+ } : void 0
2660
+ };
2649
2661
  }
2650
2662
  var useAvailableDeliveryCoupon = ({
2651
2663
  profile
@@ -3046,13 +3058,13 @@ function usePlusMemberNeedAddToCart({
3046
3058
  cart,
3047
3059
  profile
3048
3060
  }) {
3049
- const { selectedPlusMemberMode, selectedPlusMemberProduct, plusMemberMetafields } = usePlusMemberContext();
3061
+ const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
3050
3062
  const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
3051
3063
  memberSetting: plusMemberMetafields,
3052
3064
  cart
3053
3065
  });
3054
- const plusMemberProduct = useMemo(() => {
3055
- if (!selectedPlusMemberProduct || selectedPlusMemberMode === "free" /* FREE */) {
3066
+ const plusMemberVariant = useMemo(() => {
3067
+ if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
3056
3068
  return void 0;
3057
3069
  }
3058
3070
  if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
@@ -3067,15 +3079,9 @@ function usePlusMemberNeedAddToCart({
3067
3079
  if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
3068
3080
  return void 0;
3069
3081
  }
3070
- return selectedPlusMemberProduct;
3071
- }, [
3072
- selectedPlusMemberMode,
3073
- selectedPlusMemberProduct?.variant,
3074
- selectedPlusMemberProduct?.product,
3075
- hasMonthlyPlus,
3076
- hasAnnualPlus
3077
- ]);
3078
- return plusMemberProduct;
3082
+ return selectedPlusMemberVariant;
3083
+ }, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
3084
+ return plusMemberVariant;
3079
3085
  }
3080
3086
  var PlusMemberProvider = ({
3081
3087
  variant,
@@ -3105,26 +3111,15 @@ var PlusMemberProvider = ({
3105
3111
  profile,
3106
3112
  isPlus: profile?.isPlus || false
3107
3113
  });
3108
- console.log("shippingMethodsContext", shippingMethodsContext);
3109
- const plusMemberHandles = useMemo(() => {
3110
- return [
3111
- memberSetting?.plus_monthly_product?.handle,
3112
- memberSetting?.plus_annual_product?.handle
3113
- ].filter(Boolean);
3114
- }, [memberSetting]);
3115
- const { data: plusMemberProducts = [] } = useProductsByHandles({
3116
- handles: plusMemberHandles
3114
+ const { monthlyVariant, annualVariant } = usePlusMemberVariants({
3115
+ memberSetting
3117
3116
  });
3118
- const selectedPlusMemberProduct = useMemo(() => {
3117
+ const selectedPlusMemberVariant = useMemo(() => {
3119
3118
  if (selectedPlusMemberMode === "free" /* FREE */) {
3120
- return null;
3119
+ return void 0;
3121
3120
  }
3122
- const handle = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.handle : memberSetting?.plus_annual_product?.handle;
3123
- const sku = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.sku : memberSetting?.plus_annual_product?.sku;
3124
- const product2 = plusMemberProducts?.find((p) => p.handle === handle);
3125
- const variant2 = product2?.variants?.find((v) => v.sku === sku);
3126
- return product2 && variant2 ? { product: product2, variant: variant2 } : null;
3127
- }, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
3121
+ return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
3122
+ }, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
3128
3123
  return /* @__PURE__ */ jsx(
3129
3124
  PlusMemberContext.Provider,
3130
3125
  {
@@ -3148,8 +3143,9 @@ var PlusMemberProvider = ({
3148
3143
  setShowTip,
3149
3144
  showMoreShippingMethod,
3150
3145
  setShowMoreShippingMethod,
3151
- selectedPlusMemberProduct,
3152
- plusMemberProducts,
3146
+ selectedPlusMemberVariant,
3147
+ monthlyVariant,
3148
+ annualVariant,
3153
3149
  product,
3154
3150
  showPlusMemberBenefit,
3155
3151
  setShowPlusMemberBenefit,
@@ -3383,7 +3379,11 @@ function CartProvider({
3383
3379
  refreshDeps: [locale]
3384
3380
  }
3385
3381
  );
3386
- const { trigger: updateAttributes } = useUpdateCartAttributes(mutateCart, metafieldIdentifiers);
3382
+ const { trigger: updateAttributes } = useUpdateCartAttributes({
3383
+ mutate: mutateCart,
3384
+ metafieldIdentifiers,
3385
+ disabled: isCartLoading
3386
+ });
3387
3387
  const { attributes } = useCartAttributes({ profile, customer, cart, memberSetting });
3388
3388
  useRequest(
3389
3389
  () => {
@@ -3566,6 +3566,6 @@ function useCartContext(options) {
3566
3566
  return context;
3567
3567
  }
3568
3568
 
3569
- export { BrowserPerformanceAdapter, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, CartProvider, DeliveryPlusType, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, ShopifyContext, ShopifyProvider, SpendMoneyType, browserCartCookieAdapter, browserCookieAdapter, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, gaTrack, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, trackAddToCartFBQ, trackAddToCartGA, trackBeginCheckoutGA, trackBuyNowFBQ, trackBuyNowGA, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartContext, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection, usePlusAnnualProductVariant, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberDeliveryCodes, usePlusMemberItemCustomAttributes, usePlusMemberNeedAddToCart, usePlusMonthlyProductVariant, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethodAvailableCheck, useShippingMethods, useShopify, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
3569
+ export { BrowserPerformanceAdapter, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, CartProvider, DeliveryPlusType, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, ShopifyContext, ShopifyProvider, SpendMoneyType, browserCartCookieAdapter, browserCookieAdapter, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, gaTrack, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, trackAddToCartFBQ, trackAddToCartGA, trackBeginCheckoutGA, trackBuyNowFBQ, trackBuyNowGA, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartContext, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberDeliveryCodes, usePlusMemberItemCustomAttributes, usePlusMemberNeedAddToCart, usePlusMemberVariants, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethodAvailableCheck, useShippingMethods, useShopify, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
3570
3570
  //# sourceMappingURL=index.mjs.map
3571
3571
  //# sourceMappingURL=index.mjs.map