@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.
@@ -1189,24 +1189,31 @@ function useRemoveCartLines(options) {
1189
1189
  );
1190
1190
  return useSWRMutation("remove-cart-lines", removeLines, options);
1191
1191
  }
1192
- function useUpdateCartAttributes(mutate, metafieldIdentifiers, options) {
1192
+ function useUpdateCartAttributes({
1193
+ mutate,
1194
+ metafieldIdentifiers,
1195
+ disabled = false,
1196
+ swrOptions
1197
+ }) {
1193
1198
  const { client, locale, cartCookieAdapter } = useShopify();
1194
1199
  const updateAttributes = useCallback(
1195
1200
  async (_key, { arg }) => {
1201
+ if (disabled || !cartCookieAdapter?.getCartId(locale)) {
1202
+ return void 0;
1203
+ }
1196
1204
  const updatedCart = await updateCartAttributes(client, {
1197
1205
  ...arg,
1198
1206
  metafieldIdentifiers,
1199
1207
  cookieAdapter: cartCookieAdapter
1200
1208
  });
1201
- console.log("useUpdateCartAttributes updatedCart", updatedCart);
1202
1209
  if (updatedCart) {
1203
1210
  mutate(updatedCart);
1204
1211
  }
1205
1212
  return updatedCart;
1206
1213
  },
1207
- [client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
1214
+ [client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
1208
1215
  );
1209
- return useSWRMutation("update-cart-attributes", updateAttributes, options);
1216
+ return useSWRMutation("update-cart-attributes", updateAttributes, swrOptions);
1210
1217
  }
1211
1218
  function useBuyNow({ withTrack = true } = {}, swrOptions) {
1212
1219
  const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
@@ -1570,7 +1577,7 @@ var useCartAttributes = ({
1570
1577
  })
1571
1578
  }
1572
1579
  ] : [];
1573
- }, [cart]);
1580
+ }, [cart, customer]);
1574
1581
  const presellAttributes = useMemo(() => {
1575
1582
  return [
1576
1583
  {
@@ -1634,9 +1641,7 @@ var useCartAttributes = ({
1634
1641
  "_play_mode_id",
1635
1642
  "_popup"
1636
1643
  ];
1637
- return cart?.customAttributes?.filter(
1638
- (item) => !commonAttributeKeys.includes(item.key)
1639
- ) || [];
1644
+ return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
1640
1645
  }, [cart]);
1641
1646
  return useMemo(
1642
1647
  () => ({
@@ -2490,8 +2495,9 @@ var createInitialValue = () => ({
2490
2495
  tddCoupon: void 0,
2491
2496
  isLoadingCoupon: false
2492
2497
  },
2493
- selectedPlusMemberProduct: null,
2494
- plusMemberProducts: [],
2498
+ selectedPlusMemberVariant: void 0,
2499
+ monthlyVariant: void 0,
2500
+ annualVariant: void 0,
2495
2501
  showPlusMemberBenefit: false,
2496
2502
  setShowPlusMemberBenefit: () => {
2497
2503
  },
@@ -2505,33 +2511,39 @@ var PlusMemberContext = createContext(createInitialValue());
2505
2511
  function usePlusMemberContext() {
2506
2512
  return useContext(PlusMemberContext);
2507
2513
  }
2508
- function usePlusMonthlyProductVariant() {
2509
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2510
- const plusMonthly = plusMemberMetafields?.plus_monthly_product;
2511
- const plusMonthlyProductVariant = useMemo(() => {
2512
- const product = plusMemberProducts?.find(
2513
- (item) => item?.handle === plusMonthly?.handle
2514
- );
2515
- const productVariant = product?.variants?.find(
2516
- (item) => item.sku === plusMonthly?.sku
2517
- );
2518
- return productVariant;
2514
+ function usePlusMemberVariants({
2515
+ memberSetting
2516
+ }) {
2517
+ const plusMonthly = memberSetting?.plus_monthly_product;
2518
+ const plusAnnual = memberSetting?.plus_annual_product;
2519
+ const plusMemberHandles = useMemo(() => {
2520
+ return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
2521
+ }, [plusMonthly?.handle, plusAnnual?.handle]);
2522
+ const { data: plusMemberProducts = [] } = useProductsByHandles({
2523
+ handles: plusMemberHandles
2524
+ });
2525
+ const monthlyProduct = useMemo(() => {
2526
+ return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
2519
2527
  }, [plusMemberProducts, plusMonthly]);
2520
- return plusMonthlyProductVariant;
2521
- }
2522
- function usePlusAnnualProductVariant() {
2523
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2524
- const plusAnnual = plusMemberMetafields?.plus_annual_product;
2525
- const plusAnnualProductVariant = useMemo(() => {
2526
- const product = plusMemberProducts?.find(
2527
- (item) => item?.handle === plusAnnual?.handle
2528
- );
2529
- const productVariant = product?.variants?.find(
2530
- (item) => item.sku === plusAnnual?.sku
2531
- );
2532
- return productVariant;
2528
+ const annualProduct = useMemo(() => {
2529
+ return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
2533
2530
  }, [plusMemberProducts, plusAnnual]);
2534
- return plusAnnualProductVariant;
2531
+ const monthlyVariant = useMemo(() => {
2532
+ return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
2533
+ }, [monthlyProduct, plusMonthly]);
2534
+ const annualVariant = useMemo(() => {
2535
+ return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
2536
+ }, [annualProduct, plusAnnual]);
2537
+ return {
2538
+ monthlyVariant: monthlyVariant ? {
2539
+ ...monthlyVariant,
2540
+ product: monthlyProduct
2541
+ } : void 0,
2542
+ annualVariant: annualVariant ? {
2543
+ ...annualVariant,
2544
+ product: annualProduct
2545
+ } : void 0
2546
+ };
2535
2547
  }
2536
2548
  var useAvailableDeliveryCoupon = ({
2537
2549
  profile
@@ -2932,13 +2944,13 @@ function usePlusMemberNeedAddToCart({
2932
2944
  cart,
2933
2945
  profile
2934
2946
  }) {
2935
- const { selectedPlusMemberMode, selectedPlusMemberProduct, plusMemberMetafields } = usePlusMemberContext();
2947
+ const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
2936
2948
  const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
2937
2949
  memberSetting: plusMemberMetafields,
2938
2950
  cart
2939
2951
  });
2940
- const plusMemberProduct = useMemo(() => {
2941
- if (!selectedPlusMemberProduct || selectedPlusMemberMode === "free" /* FREE */) {
2952
+ const plusMemberVariant = useMemo(() => {
2953
+ if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
2942
2954
  return void 0;
2943
2955
  }
2944
2956
  if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
@@ -2953,15 +2965,9 @@ function usePlusMemberNeedAddToCart({
2953
2965
  if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
2954
2966
  return void 0;
2955
2967
  }
2956
- return selectedPlusMemberProduct;
2957
- }, [
2958
- selectedPlusMemberMode,
2959
- selectedPlusMemberProduct?.variant,
2960
- selectedPlusMemberProduct?.product,
2961
- hasMonthlyPlus,
2962
- hasAnnualPlus
2963
- ]);
2964
- return plusMemberProduct;
2968
+ return selectedPlusMemberVariant;
2969
+ }, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
2970
+ return plusMemberVariant;
2965
2971
  }
2966
2972
  var PlusMemberProvider = ({
2967
2973
  variant,
@@ -2991,26 +2997,15 @@ var PlusMemberProvider = ({
2991
2997
  profile,
2992
2998
  isPlus: profile?.isPlus || false
2993
2999
  });
2994
- console.log("shippingMethodsContext", shippingMethodsContext);
2995
- const plusMemberHandles = useMemo(() => {
2996
- return [
2997
- memberSetting?.plus_monthly_product?.handle,
2998
- memberSetting?.plus_annual_product?.handle
2999
- ].filter(Boolean);
3000
- }, [memberSetting]);
3001
- const { data: plusMemberProducts = [] } = useProductsByHandles({
3002
- handles: plusMemberHandles
3000
+ const { monthlyVariant, annualVariant } = usePlusMemberVariants({
3001
+ memberSetting
3003
3002
  });
3004
- const selectedPlusMemberProduct = useMemo(() => {
3003
+ const selectedPlusMemberVariant = useMemo(() => {
3005
3004
  if (selectedPlusMemberMode === "free" /* FREE */) {
3006
- return null;
3005
+ return void 0;
3007
3006
  }
3008
- const handle = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.handle : memberSetting?.plus_annual_product?.handle;
3009
- const sku = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.sku : memberSetting?.plus_annual_product?.sku;
3010
- const product2 = plusMemberProducts?.find((p) => p.handle === handle);
3011
- const variant2 = product2?.variants?.find((v) => v.sku === sku);
3012
- return product2 && variant2 ? { product: product2, variant: variant2 } : null;
3013
- }, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
3007
+ return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
3008
+ }, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
3014
3009
  return /* @__PURE__ */ jsx(
3015
3010
  PlusMemberContext.Provider,
3016
3011
  {
@@ -3034,8 +3029,9 @@ var PlusMemberProvider = ({
3034
3029
  setShowTip,
3035
3030
  showMoreShippingMethod,
3036
3031
  setShowMoreShippingMethod,
3037
- selectedPlusMemberProduct,
3038
- plusMemberProducts,
3032
+ selectedPlusMemberVariant,
3033
+ monthlyVariant,
3034
+ annualVariant,
3039
3035
  product,
3040
3036
  showPlusMemberBenefit,
3041
3037
  setShowPlusMemberBenefit,
@@ -3228,6 +3224,6 @@ function clearGeoLocationCache(cacheKey = "geoLocation") {
3228
3224
  }
3229
3225
  }
3230
3226
 
3231
- export { BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, DeliveryPlusType, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, SpendMoneyType, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, 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, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
3227
+ export { BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, DeliveryPlusType, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, SpendMoneyType, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, 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, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
3232
3228
  //# sourceMappingURL=index.mjs.map
3233
3229
  //# sourceMappingURL=index.mjs.map