@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.
@@ -2,8 +2,8 @@ import * as swr_mutation from 'swr/mutation';
2
2
  import { SWRMutationConfiguration } from 'swr/mutation';
3
3
  import * as _anker_in_shopify_sdk from '@anker-in/shopify-sdk';
4
4
  import { CartLineInput, NormalizedCart, NormalizedProduct, NormalizedProductVariant, NormalizedLineItem, UpdateCartLinesOptions, HasMetafieldsIdentifier, NormalizedAttribute, Media, NormalizedCollection, CollectionsConnection, NormalizedBlog, NormalizedArticle } from '@anker-in/shopify-sdk';
5
- import { U as UseAddToCartOptions, a as AddToCartInput, A as AddToCartLineItem, G as GtmParams, B as BuyNowTrackConfig, d as PlusMemberShippingMethodConfig, e as PlusMemberSettingsMetafields, D as DeliveryPlusType, f as SelectedPlusMemberProduct, h as DeliveryData } from '../types-y1Wa95P3.mjs';
6
- export { g as DeliveryCustomData, P as PLUS_MEMBER_TYPE, b as PlusMemberMode, c as PlusMemberShippingMethodMetafields, S as ShippingMethodMode } from '../types-y1Wa95P3.mjs';
5
+ import { U as UseAddToCartOptions, a as AddToCartInput, A as AddToCartLineItem, G as GtmParams, B as BuyNowTrackConfig, d as PlusMemberShippingMethodConfig, e as PlusMemberSettingsMetafields, D as DeliveryPlusType, f as SelectedPlusMemberVariant, h as DeliveryData } from '../types-DntkHhf8.mjs';
6
+ export { g as DeliveryCustomData, P as PLUS_MEMBER_TYPE, b as PlusMemberMode, c as PlusMemberShippingMethodMetafields, S as ShippingMethodMode } from '../types-DntkHhf8.mjs';
7
7
  import Decimal from 'decimal.js';
8
8
  import * as swr from 'swr';
9
9
  import swr__default, { SWRConfiguration } from 'swr';
@@ -455,15 +455,34 @@ interface UpdateCartAttributesInput {
455
455
  value: string;
456
456
  }>;
457
457
  }
458
+ interface UseUpdateCartAttributesOptions {
459
+ /** Function to update cart state */
460
+ mutate: (cart: NormalizedCart | undefined) => void;
461
+ /** Metafield identifiers for variant and product */
462
+ metafieldIdentifiers?: {
463
+ variant: HasMetafieldsIdentifier[];
464
+ product: HasMetafieldsIdentifier[];
465
+ };
466
+ /** Disable the mutation */
467
+ disabled?: boolean;
468
+ /** SWR mutation configuration */
469
+ swrOptions?: SWRMutationConfiguration<NormalizedCart | undefined, Error, 'update-cart-attributes', UpdateCartAttributesInput>;
470
+ }
458
471
  /**
459
472
  * Hook for updating cart attributes (custom key-value pairs)
460
473
  *
461
- * @param options - SWR mutation configuration
474
+ * @param options - Hook configuration options
462
475
  * @returns SWR mutation with trigger function
463
476
  *
464
477
  * @example
465
478
  * ```tsx
466
- * const { trigger, isMutating } = useUpdateCartAttributes()
479
+ * const { trigger, isMutating } = useUpdateCartAttributes({
480
+ * mutate: mutateCart,
481
+ * metafieldIdentifiers: {
482
+ * variant: [...],
483
+ * product: [...]
484
+ * }
485
+ * })
467
486
  *
468
487
  * await trigger({
469
488
  * attributes: [
@@ -473,10 +492,7 @@ interface UpdateCartAttributesInput {
473
492
  * })
474
493
  * ```
475
494
  */
476
- declare function useUpdateCartAttributes(mutate: (cart: NormalizedCart | undefined) => void, metafieldIdentifiers?: {
477
- variant: HasMetafieldsIdentifier[];
478
- product: HasMetafieldsIdentifier[];
479
- }, options?: SWRMutationConfiguration<NormalizedCart | undefined, Error, 'update-cart-attributes', UpdateCartAttributesInput>): swr_mutation.SWRMutationResponse<NormalizedCart | undefined, Error, "update-cart-attributes", UpdateCartAttributesInput>;
495
+ declare function useUpdateCartAttributes({ mutate, metafieldIdentifiers, disabled, swrOptions, }: UseUpdateCartAttributesOptions): swr_mutation.SWRMutationResponse<NormalizedCart | undefined, Error, "update-cart-attributes", UpdateCartAttributesInput>;
480
496
 
481
497
  interface BuyNowInput {
482
498
  /** Metafield identifiers */
@@ -700,8 +716,13 @@ interface PlusMemberContextValue<TProduct = any, TVariant = any, TProfile = any>
700
716
  variant: TVariant;
701
717
  product: TProduct;
702
718
  shippingMethodsContext: ShippingMethodsContext;
703
- selectedPlusMemberProduct: SelectedPlusMemberProduct;
704
- plusMemberProducts: NormalizedProduct[];
719
+ selectedPlusMemberVariant: SelectedPlusMemberVariant;
720
+ monthlyVariant?: NormalizedProductVariant & {
721
+ product: NormalizedProduct | undefined;
722
+ };
723
+ annualVariant?: NormalizedProductVariant & {
724
+ product: NormalizedProduct | undefined;
725
+ };
705
726
  showPlusMemberBenefit: boolean;
706
727
  setShowPlusMemberBenefit: (value: boolean) => void;
707
728
  deleteMarginBottom: boolean;
@@ -717,14 +738,35 @@ declare const PlusMemberContext: React$1.Context<PlusMemberContextValue<any, any
717
738
  declare function usePlusMemberContext<TProduct = any, TVariant = any>(): PlusMemberContextValue<any, any, any>;
718
739
 
719
740
  /**
720
- * Hook to get Plus Monthly Product Variant
741
+ * Hook to get Plus Member Product Variants (Monthly and Annual)
721
742
  */
722
- declare function usePlusMonthlyProductVariant<TVariant = any>(): TVariant | undefined;
723
743
 
744
+ interface UsePlusMemberVariantsOptions {
745
+ /** Plus member metafields configuration */
746
+ memberSetting: PlusMemberSettingsMetafields;
747
+ }
748
+ interface UsePlusMemberVariantsResult {
749
+ monthlyVariant?: NormalizedProductVariant & {
750
+ product: NormalizedProduct | undefined;
751
+ };
752
+ annualVariant?: NormalizedProductVariant & {
753
+ product: NormalizedProduct | undefined;
754
+ };
755
+ }
724
756
  /**
725
- * Hook to get Plus Annual Product Variant
757
+ * Get Plus Member product variants (monthly and annual)
758
+ *
759
+ * @param options - Configuration options
760
+ * @returns Monthly and annual variants
761
+ *
762
+ * @example
763
+ * ```tsx
764
+ * const { monthlyVariant, annualVariant } = usePlusMemberVariants({
765
+ * plusMemberMetafields
766
+ * })
767
+ * ```
726
768
  */
727
- declare function usePlusAnnualProductVariant<TVariant = any>(): TVariant | undefined;
769
+ declare function usePlusMemberVariants({ memberSetting, }: UsePlusMemberVariantsOptions): UsePlusMemberVariantsResult;
728
770
 
729
771
  /**
730
772
  * Hook to calculate available shipping methods based on product weight and member status
@@ -1018,25 +1060,18 @@ declare function useHasPlusMemberInCart({ memberSetting, cart, }: UseHasPlusMemb
1018
1060
  *
1019
1061
  * @example
1020
1062
  * ```tsx
1021
- * const plusMemberProduct = usePlusMemberNeedAddToCart({
1063
+ * const plusMemberVariant = usePlusMemberNeedAddToCart({
1022
1064
  * cart,
1023
1065
  * })
1024
1066
  *
1025
- * // plusMemberProduct 格式:
1026
- * // {
1027
- * // product: NormalizedProduct,
1028
- * // variant: NormalizedProductVariant
1029
- * // }
1030
- * // 或 undefined (当不需要添加会员产品时)
1031
1067
  * ```
1032
1068
  */
1033
1069
  declare function usePlusMemberNeedAddToCart({ cart, profile, }: {
1034
1070
  cart: NormalizedCart;
1035
1071
  profile?: any;
1036
- }): {
1037
- product: _anker_in_shopify_sdk.NormalizedProduct;
1038
- variant: _anker_in_shopify_sdk.NormalizedProductVariant;
1039
- } | undefined;
1072
+ }): (_anker_in_shopify_sdk.NormalizedProductVariant & {
1073
+ product: _anker_in_shopify_sdk.NormalizedProduct | undefined;
1074
+ }) | undefined;
1040
1075
 
1041
1076
  interface UseAvailableDeliveryCouponResult {
1042
1077
  nddCoupon?: string;
@@ -1079,7 +1114,9 @@ interface PlusMemberProviderProps<TProduct = any, TVariant = any, TProfile = any
1079
1114
  * </PlusMemberProvider>
1080
1115
  * ```
1081
1116
  */
1082
- declare const PlusMemberProvider: <TProduct = any, TVariant = any, TProfile extends {
1117
+ declare const PlusMemberProvider: <TProduct = any, TVariant extends {
1118
+ weight?: number;
1119
+ } = any, TProfile extends {
1083
1120
  isPlus?: boolean;
1084
1121
  } = any>({ variant, product, memberSetting, initialSelectedPlusMemberMode, profile, children, }: PropsWithChildren<PlusMemberProviderProps<TProduct, TVariant, TProfile>>) => react_jsx_runtime.JSX.Element;
1085
1122
 
@@ -1950,4 +1987,4 @@ declare function getCachedGeoLocation(cacheKey?: string): GeoLocationData | unde
1950
1987
  */
1951
1988
  declare function clearGeoLocationCache(cacheKey?: string): void;
1952
1989
 
1953
- export { type AddCartLinesInput, AddToCartInput, AddToCartLineItem, type ApplyCartCodesInput, type AutoFreeGift, type AutoFreeGiftCartLineInput, type AutoFreeGiftConfig, type AutoFreeGiftItem, type AutoFreeGiftList, type AutoFreeGiftMainProduct, type BuyNowInput, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, type Config, type CreateCartInput, DeliveryData, DeliveryPlusType, type DiscountLabel, type FormattedGift, type FunctionGiftResult, type GeoLocationData, type GiftProduct, type GiftProductItem, type GiftTier, type HasPlusMemberInCartResult, type ImageMedia, type LocaleMapping, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, type MainProductInfo, type NormalizedSearchResultItem, type Options, OrderBasePriceType, type OrderDiscountConfig, type OrderDiscountResult, OrderDiscountType, PlusMemberContext, type PlusMemberContextValue, PlusMemberProvider, type PlusMemberProviderProps, PlusMemberSettingsMetafields, PlusMemberShippingMethodConfig, PriceBasePriceType, type PriceDiscountConfig, PriceDiscountType, type RemoveCartCodesInput, type RemoveCartLinesInput, type RewardItem, type RuleCondition, RuleType, SCRIPT_CODE_AMOUNT_KEY, type SearchResult, type SearchResultType, type SelectedOptionsResult, SelectedPlusMemberProduct, type ShippingMethodsContext, type SiteInfo, SpendMoneyType, type TieredDiscount, type UpdateCartAttributesInput, UseAddToCartOptions, type UseAllBlogsOptions, type UseAllCollectionsOptions, type UseAllProductsOptions, type UseArticleOptions, type UseArticlesInBlogOptions, type UseArticlesOptions, type UseAutoRemovePlusMemberInCartProps, type UseAvailableDeliveryCouponResult, type UseBlogOptions, type UseBuyNowOptions, type UseCalcGiftsFromLinesOptions, type UseCalcGiftsFromLinesResult, type UseCollectionOptions, type UseCollectionsOptions, type UseExposureOptions, type UseGeoLocationOptions, type UseHasPlusMemberInCartProps, type UseIntersectionOptions, type UsePriceOptions, type UsePriceResult, type UseProductOptions, type UseProductsByHandlesOptions, type UseScriptAutoFreeGiftResult, type UseSearchOptions, type UseShippingMethodsOptions, type UseShippingMethodsResult, type UseSiteOptions, type UseUpdatePlusMemberDeliveryOptionsProps, type VariantItem, type VariantMedia, type VideoMedia, 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 };
1990
+ export { type AddCartLinesInput, AddToCartInput, AddToCartLineItem, type ApplyCartCodesInput, type AutoFreeGift, type AutoFreeGiftCartLineInput, type AutoFreeGiftConfig, type AutoFreeGiftItem, type AutoFreeGiftList, type AutoFreeGiftMainProduct, type BuyNowInput, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, type Config, type CreateCartInput, DeliveryData, DeliveryPlusType, type DiscountLabel, type FormattedGift, type FunctionGiftResult, type GeoLocationData, type GiftProduct, type GiftProductItem, type GiftTier, type HasPlusMemberInCartResult, type ImageMedia, type LocaleMapping, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, type MainProductInfo, type NormalizedSearchResultItem, type Options, OrderBasePriceType, type OrderDiscountConfig, type OrderDiscountResult, OrderDiscountType, PlusMemberContext, type PlusMemberContextValue, PlusMemberProvider, type PlusMemberProviderProps, PlusMemberSettingsMetafields, PlusMemberShippingMethodConfig, PriceBasePriceType, type PriceDiscountConfig, PriceDiscountType, type RemoveCartCodesInput, type RemoveCartLinesInput, type RewardItem, type RuleCondition, RuleType, SCRIPT_CODE_AMOUNT_KEY, type SearchResult, type SearchResultType, type SelectedOptionsResult, SelectedPlusMemberVariant, type ShippingMethodsContext, type SiteInfo, SpendMoneyType, type TieredDiscount, type UpdateCartAttributesInput, UseAddToCartOptions, type UseAllBlogsOptions, type UseAllCollectionsOptions, type UseAllProductsOptions, type UseArticleOptions, type UseArticlesInBlogOptions, type UseArticlesOptions, type UseAutoRemovePlusMemberInCartProps, type UseAvailableDeliveryCouponResult, type UseBlogOptions, type UseBuyNowOptions, type UseCalcGiftsFromLinesOptions, type UseCalcGiftsFromLinesResult, type UseCollectionOptions, type UseCollectionsOptions, type UseExposureOptions, type UseGeoLocationOptions, type UseHasPlusMemberInCartProps, type UseIntersectionOptions, type UsePlusMemberVariantsOptions, type UsePlusMemberVariantsResult, type UsePriceOptions, type UsePriceResult, type UseProductOptions, type UseProductsByHandlesOptions, type UseScriptAutoFreeGiftResult, type UseSearchOptions, type UseShippingMethodsOptions, type UseShippingMethodsResult, type UseSiteOptions, type UseUpdateCartAttributesOptions, type UseUpdatePlusMemberDeliveryOptionsProps, type VariantItem, type VariantMedia, type VideoMedia, 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 };
@@ -2,8 +2,8 @@ import * as swr_mutation from 'swr/mutation';
2
2
  import { SWRMutationConfiguration } from 'swr/mutation';
3
3
  import * as _anker_in_shopify_sdk from '@anker-in/shopify-sdk';
4
4
  import { CartLineInput, NormalizedCart, NormalizedProduct, NormalizedProductVariant, NormalizedLineItem, UpdateCartLinesOptions, HasMetafieldsIdentifier, NormalizedAttribute, Media, NormalizedCollection, CollectionsConnection, NormalizedBlog, NormalizedArticle } from '@anker-in/shopify-sdk';
5
- import { U as UseAddToCartOptions, a as AddToCartInput, A as AddToCartLineItem, G as GtmParams, B as BuyNowTrackConfig, d as PlusMemberShippingMethodConfig, e as PlusMemberSettingsMetafields, D as DeliveryPlusType, f as SelectedPlusMemberProduct, h as DeliveryData } from '../types-y1Wa95P3.js';
6
- export { g as DeliveryCustomData, P as PLUS_MEMBER_TYPE, b as PlusMemberMode, c as PlusMemberShippingMethodMetafields, S as ShippingMethodMode } from '../types-y1Wa95P3.js';
5
+ import { U as UseAddToCartOptions, a as AddToCartInput, A as AddToCartLineItem, G as GtmParams, B as BuyNowTrackConfig, d as PlusMemberShippingMethodConfig, e as PlusMemberSettingsMetafields, D as DeliveryPlusType, f as SelectedPlusMemberVariant, h as DeliveryData } from '../types-DntkHhf8.js';
6
+ export { g as DeliveryCustomData, P as PLUS_MEMBER_TYPE, b as PlusMemberMode, c as PlusMemberShippingMethodMetafields, S as ShippingMethodMode } from '../types-DntkHhf8.js';
7
7
  import Decimal from 'decimal.js';
8
8
  import * as swr from 'swr';
9
9
  import swr__default, { SWRConfiguration } from 'swr';
@@ -455,15 +455,34 @@ interface UpdateCartAttributesInput {
455
455
  value: string;
456
456
  }>;
457
457
  }
458
+ interface UseUpdateCartAttributesOptions {
459
+ /** Function to update cart state */
460
+ mutate: (cart: NormalizedCart | undefined) => void;
461
+ /** Metafield identifiers for variant and product */
462
+ metafieldIdentifiers?: {
463
+ variant: HasMetafieldsIdentifier[];
464
+ product: HasMetafieldsIdentifier[];
465
+ };
466
+ /** Disable the mutation */
467
+ disabled?: boolean;
468
+ /** SWR mutation configuration */
469
+ swrOptions?: SWRMutationConfiguration<NormalizedCart | undefined, Error, 'update-cart-attributes', UpdateCartAttributesInput>;
470
+ }
458
471
  /**
459
472
  * Hook for updating cart attributes (custom key-value pairs)
460
473
  *
461
- * @param options - SWR mutation configuration
474
+ * @param options - Hook configuration options
462
475
  * @returns SWR mutation with trigger function
463
476
  *
464
477
  * @example
465
478
  * ```tsx
466
- * const { trigger, isMutating } = useUpdateCartAttributes()
479
+ * const { trigger, isMutating } = useUpdateCartAttributes({
480
+ * mutate: mutateCart,
481
+ * metafieldIdentifiers: {
482
+ * variant: [...],
483
+ * product: [...]
484
+ * }
485
+ * })
467
486
  *
468
487
  * await trigger({
469
488
  * attributes: [
@@ -473,10 +492,7 @@ interface UpdateCartAttributesInput {
473
492
  * })
474
493
  * ```
475
494
  */
476
- declare function useUpdateCartAttributes(mutate: (cart: NormalizedCart | undefined) => void, metafieldIdentifiers?: {
477
- variant: HasMetafieldsIdentifier[];
478
- product: HasMetafieldsIdentifier[];
479
- }, options?: SWRMutationConfiguration<NormalizedCart | undefined, Error, 'update-cart-attributes', UpdateCartAttributesInput>): swr_mutation.SWRMutationResponse<NormalizedCart | undefined, Error, "update-cart-attributes", UpdateCartAttributesInput>;
495
+ declare function useUpdateCartAttributes({ mutate, metafieldIdentifiers, disabled, swrOptions, }: UseUpdateCartAttributesOptions): swr_mutation.SWRMutationResponse<NormalizedCart | undefined, Error, "update-cart-attributes", UpdateCartAttributesInput>;
480
496
 
481
497
  interface BuyNowInput {
482
498
  /** Metafield identifiers */
@@ -700,8 +716,13 @@ interface PlusMemberContextValue<TProduct = any, TVariant = any, TProfile = any>
700
716
  variant: TVariant;
701
717
  product: TProduct;
702
718
  shippingMethodsContext: ShippingMethodsContext;
703
- selectedPlusMemberProduct: SelectedPlusMemberProduct;
704
- plusMemberProducts: NormalizedProduct[];
719
+ selectedPlusMemberVariant: SelectedPlusMemberVariant;
720
+ monthlyVariant?: NormalizedProductVariant & {
721
+ product: NormalizedProduct | undefined;
722
+ };
723
+ annualVariant?: NormalizedProductVariant & {
724
+ product: NormalizedProduct | undefined;
725
+ };
705
726
  showPlusMemberBenefit: boolean;
706
727
  setShowPlusMemberBenefit: (value: boolean) => void;
707
728
  deleteMarginBottom: boolean;
@@ -717,14 +738,35 @@ declare const PlusMemberContext: React$1.Context<PlusMemberContextValue<any, any
717
738
  declare function usePlusMemberContext<TProduct = any, TVariant = any>(): PlusMemberContextValue<any, any, any>;
718
739
 
719
740
  /**
720
- * Hook to get Plus Monthly Product Variant
741
+ * Hook to get Plus Member Product Variants (Monthly and Annual)
721
742
  */
722
- declare function usePlusMonthlyProductVariant<TVariant = any>(): TVariant | undefined;
723
743
 
744
+ interface UsePlusMemberVariantsOptions {
745
+ /** Plus member metafields configuration */
746
+ memberSetting: PlusMemberSettingsMetafields;
747
+ }
748
+ interface UsePlusMemberVariantsResult {
749
+ monthlyVariant?: NormalizedProductVariant & {
750
+ product: NormalizedProduct | undefined;
751
+ };
752
+ annualVariant?: NormalizedProductVariant & {
753
+ product: NormalizedProduct | undefined;
754
+ };
755
+ }
724
756
  /**
725
- * Hook to get Plus Annual Product Variant
757
+ * Get Plus Member product variants (monthly and annual)
758
+ *
759
+ * @param options - Configuration options
760
+ * @returns Monthly and annual variants
761
+ *
762
+ * @example
763
+ * ```tsx
764
+ * const { monthlyVariant, annualVariant } = usePlusMemberVariants({
765
+ * plusMemberMetafields
766
+ * })
767
+ * ```
726
768
  */
727
- declare function usePlusAnnualProductVariant<TVariant = any>(): TVariant | undefined;
769
+ declare function usePlusMemberVariants({ memberSetting, }: UsePlusMemberVariantsOptions): UsePlusMemberVariantsResult;
728
770
 
729
771
  /**
730
772
  * Hook to calculate available shipping methods based on product weight and member status
@@ -1018,25 +1060,18 @@ declare function useHasPlusMemberInCart({ memberSetting, cart, }: UseHasPlusMemb
1018
1060
  *
1019
1061
  * @example
1020
1062
  * ```tsx
1021
- * const plusMemberProduct = usePlusMemberNeedAddToCart({
1063
+ * const plusMemberVariant = usePlusMemberNeedAddToCart({
1022
1064
  * cart,
1023
1065
  * })
1024
1066
  *
1025
- * // plusMemberProduct 格式:
1026
- * // {
1027
- * // product: NormalizedProduct,
1028
- * // variant: NormalizedProductVariant
1029
- * // }
1030
- * // 或 undefined (当不需要添加会员产品时)
1031
1067
  * ```
1032
1068
  */
1033
1069
  declare function usePlusMemberNeedAddToCart({ cart, profile, }: {
1034
1070
  cart: NormalizedCart;
1035
1071
  profile?: any;
1036
- }): {
1037
- product: _anker_in_shopify_sdk.NormalizedProduct;
1038
- variant: _anker_in_shopify_sdk.NormalizedProductVariant;
1039
- } | undefined;
1072
+ }): (_anker_in_shopify_sdk.NormalizedProductVariant & {
1073
+ product: _anker_in_shopify_sdk.NormalizedProduct | undefined;
1074
+ }) | undefined;
1040
1075
 
1041
1076
  interface UseAvailableDeliveryCouponResult {
1042
1077
  nddCoupon?: string;
@@ -1079,7 +1114,9 @@ interface PlusMemberProviderProps<TProduct = any, TVariant = any, TProfile = any
1079
1114
  * </PlusMemberProvider>
1080
1115
  * ```
1081
1116
  */
1082
- declare const PlusMemberProvider: <TProduct = any, TVariant = any, TProfile extends {
1117
+ declare const PlusMemberProvider: <TProduct = any, TVariant extends {
1118
+ weight?: number;
1119
+ } = any, TProfile extends {
1083
1120
  isPlus?: boolean;
1084
1121
  } = any>({ variant, product, memberSetting, initialSelectedPlusMemberMode, profile, children, }: PropsWithChildren<PlusMemberProviderProps<TProduct, TVariant, TProfile>>) => react_jsx_runtime.JSX.Element;
1085
1122
 
@@ -1950,4 +1987,4 @@ declare function getCachedGeoLocation(cacheKey?: string): GeoLocationData | unde
1950
1987
  */
1951
1988
  declare function clearGeoLocationCache(cacheKey?: string): void;
1952
1989
 
1953
- export { type AddCartLinesInput, AddToCartInput, AddToCartLineItem, type ApplyCartCodesInput, type AutoFreeGift, type AutoFreeGiftCartLineInput, type AutoFreeGiftConfig, type AutoFreeGiftItem, type AutoFreeGiftList, type AutoFreeGiftMainProduct, type BuyNowInput, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, type Config, type CreateCartInput, DeliveryData, DeliveryPlusType, type DiscountLabel, type FormattedGift, type FunctionGiftResult, type GeoLocationData, type GiftProduct, type GiftProductItem, type GiftTier, type HasPlusMemberInCartResult, type ImageMedia, type LocaleMapping, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, type MainProductInfo, type NormalizedSearchResultItem, type Options, OrderBasePriceType, type OrderDiscountConfig, type OrderDiscountResult, OrderDiscountType, PlusMemberContext, type PlusMemberContextValue, PlusMemberProvider, type PlusMemberProviderProps, PlusMemberSettingsMetafields, PlusMemberShippingMethodConfig, PriceBasePriceType, type PriceDiscountConfig, PriceDiscountType, type RemoveCartCodesInput, type RemoveCartLinesInput, type RewardItem, type RuleCondition, RuleType, SCRIPT_CODE_AMOUNT_KEY, type SearchResult, type SearchResultType, type SelectedOptionsResult, SelectedPlusMemberProduct, type ShippingMethodsContext, type SiteInfo, SpendMoneyType, type TieredDiscount, type UpdateCartAttributesInput, UseAddToCartOptions, type UseAllBlogsOptions, type UseAllCollectionsOptions, type UseAllProductsOptions, type UseArticleOptions, type UseArticlesInBlogOptions, type UseArticlesOptions, type UseAutoRemovePlusMemberInCartProps, type UseAvailableDeliveryCouponResult, type UseBlogOptions, type UseBuyNowOptions, type UseCalcGiftsFromLinesOptions, type UseCalcGiftsFromLinesResult, type UseCollectionOptions, type UseCollectionsOptions, type UseExposureOptions, type UseGeoLocationOptions, type UseHasPlusMemberInCartProps, type UseIntersectionOptions, type UsePriceOptions, type UsePriceResult, type UseProductOptions, type UseProductsByHandlesOptions, type UseScriptAutoFreeGiftResult, type UseSearchOptions, type UseShippingMethodsOptions, type UseShippingMethodsResult, type UseSiteOptions, type UseUpdatePlusMemberDeliveryOptionsProps, type VariantItem, type VariantMedia, type VideoMedia, 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 };
1990
+ export { type AddCartLinesInput, AddToCartInput, AddToCartLineItem, type ApplyCartCodesInput, type AutoFreeGift, type AutoFreeGiftCartLineInput, type AutoFreeGiftConfig, type AutoFreeGiftItem, type AutoFreeGiftList, type AutoFreeGiftMainProduct, type BuyNowInput, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, type Config, type CreateCartInput, DeliveryData, DeliveryPlusType, type DiscountLabel, type FormattedGift, type FunctionGiftResult, type GeoLocationData, type GiftProduct, type GiftProductItem, type GiftTier, type HasPlusMemberInCartResult, type ImageMedia, type LocaleMapping, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, type MainProductInfo, type NormalizedSearchResultItem, type Options, OrderBasePriceType, type OrderDiscountConfig, type OrderDiscountResult, OrderDiscountType, PlusMemberContext, type PlusMemberContextValue, PlusMemberProvider, type PlusMemberProviderProps, PlusMemberSettingsMetafields, PlusMemberShippingMethodConfig, PriceBasePriceType, type PriceDiscountConfig, PriceDiscountType, type RemoveCartCodesInput, type RemoveCartLinesInput, type RewardItem, type RuleCondition, RuleType, SCRIPT_CODE_AMOUNT_KEY, type SearchResult, type SearchResultType, type SelectedOptionsResult, SelectedPlusMemberVariant, type ShippingMethodsContext, type SiteInfo, SpendMoneyType, type TieredDiscount, type UpdateCartAttributesInput, UseAddToCartOptions, type UseAllBlogsOptions, type UseAllCollectionsOptions, type UseAllProductsOptions, type UseArticleOptions, type UseArticlesInBlogOptions, type UseArticlesOptions, type UseAutoRemovePlusMemberInCartProps, type UseAvailableDeliveryCouponResult, type UseBlogOptions, type UseBuyNowOptions, type UseCalcGiftsFromLinesOptions, type UseCalcGiftsFromLinesResult, type UseCollectionOptions, type UseCollectionsOptions, type UseExposureOptions, type UseGeoLocationOptions, type UseHasPlusMemberInCartProps, type UseIntersectionOptions, type UsePlusMemberVariantsOptions, type UsePlusMemberVariantsResult, type UsePriceOptions, type UsePriceResult, type UseProductOptions, type UseProductsByHandlesOptions, type UseScriptAutoFreeGiftResult, type UseSearchOptions, type UseShippingMethodsOptions, type UseShippingMethodsResult, type UseSiteOptions, type UseUpdateCartAttributesOptions, type UseUpdatePlusMemberDeliveryOptionsProps, type VariantItem, type VariantMedia, type VideoMedia, 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 };
@@ -1198,24 +1198,31 @@ function useRemoveCartLines(options) {
1198
1198
  );
1199
1199
  return useSWRMutation__default.default("remove-cart-lines", removeLines, options);
1200
1200
  }
1201
- function useUpdateCartAttributes(mutate, metafieldIdentifiers, options) {
1201
+ function useUpdateCartAttributes({
1202
+ mutate,
1203
+ metafieldIdentifiers,
1204
+ disabled = false,
1205
+ swrOptions
1206
+ }) {
1202
1207
  const { client, locale, cartCookieAdapter } = useShopify();
1203
1208
  const updateAttributes = react.useCallback(
1204
1209
  async (_key, { arg }) => {
1210
+ if (disabled || !cartCookieAdapter?.getCartId(locale)) {
1211
+ return void 0;
1212
+ }
1205
1213
  const updatedCart = await shopifySdk.updateCartAttributes(client, {
1206
1214
  ...arg,
1207
1215
  metafieldIdentifiers,
1208
1216
  cookieAdapter: cartCookieAdapter
1209
1217
  });
1210
- console.log("useUpdateCartAttributes updatedCart", updatedCart);
1211
1218
  if (updatedCart) {
1212
1219
  mutate(updatedCart);
1213
1220
  }
1214
1221
  return updatedCart;
1215
1222
  },
1216
- [client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
1223
+ [client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
1217
1224
  );
1218
- return useSWRMutation__default.default("update-cart-attributes", updateAttributes, options);
1225
+ return useSWRMutation__default.default("update-cart-attributes", updateAttributes, swrOptions);
1219
1226
  }
1220
1227
  function useBuyNow({ withTrack = true } = {}, swrOptions) {
1221
1228
  const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
@@ -1579,7 +1586,7 @@ var useCartAttributes = ({
1579
1586
  })
1580
1587
  }
1581
1588
  ] : [];
1582
- }, [cart]);
1589
+ }, [cart, customer]);
1583
1590
  const presellAttributes = react.useMemo(() => {
1584
1591
  return [
1585
1592
  {
@@ -1643,9 +1650,7 @@ var useCartAttributes = ({
1643
1650
  "_play_mode_id",
1644
1651
  "_popup"
1645
1652
  ];
1646
- return cart?.customAttributes?.filter(
1647
- (item) => !commonAttributeKeys.includes(item.key)
1648
- ) || [];
1653
+ return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
1649
1654
  }, [cart]);
1650
1655
  return react.useMemo(
1651
1656
  () => ({
@@ -2499,8 +2504,9 @@ var createInitialValue = () => ({
2499
2504
  tddCoupon: void 0,
2500
2505
  isLoadingCoupon: false
2501
2506
  },
2502
- selectedPlusMemberProduct: null,
2503
- plusMemberProducts: [],
2507
+ selectedPlusMemberVariant: void 0,
2508
+ monthlyVariant: void 0,
2509
+ annualVariant: void 0,
2504
2510
  showPlusMemberBenefit: false,
2505
2511
  setShowPlusMemberBenefit: () => {
2506
2512
  },
@@ -2514,33 +2520,39 @@ var PlusMemberContext = react.createContext(createInitialValue());
2514
2520
  function usePlusMemberContext() {
2515
2521
  return react.useContext(PlusMemberContext);
2516
2522
  }
2517
- function usePlusMonthlyProductVariant() {
2518
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2519
- const plusMonthly = plusMemberMetafields?.plus_monthly_product;
2520
- const plusMonthlyProductVariant = react.useMemo(() => {
2521
- const product = plusMemberProducts?.find(
2522
- (item) => item?.handle === plusMonthly?.handle
2523
- );
2524
- const productVariant = product?.variants?.find(
2525
- (item) => item.sku === plusMonthly?.sku
2526
- );
2527
- return productVariant;
2523
+ function usePlusMemberVariants({
2524
+ memberSetting
2525
+ }) {
2526
+ const plusMonthly = memberSetting?.plus_monthly_product;
2527
+ const plusAnnual = memberSetting?.plus_annual_product;
2528
+ const plusMemberHandles = react.useMemo(() => {
2529
+ return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
2530
+ }, [plusMonthly?.handle, plusAnnual?.handle]);
2531
+ const { data: plusMemberProducts = [] } = useProductsByHandles({
2532
+ handles: plusMemberHandles
2533
+ });
2534
+ const monthlyProduct = react.useMemo(() => {
2535
+ return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
2528
2536
  }, [plusMemberProducts, plusMonthly]);
2529
- return plusMonthlyProductVariant;
2530
- }
2531
- function usePlusAnnualProductVariant() {
2532
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2533
- const plusAnnual = plusMemberMetafields?.plus_annual_product;
2534
- const plusAnnualProductVariant = react.useMemo(() => {
2535
- const product = plusMemberProducts?.find(
2536
- (item) => item?.handle === plusAnnual?.handle
2537
- );
2538
- const productVariant = product?.variants?.find(
2539
- (item) => item.sku === plusAnnual?.sku
2540
- );
2541
- return productVariant;
2537
+ const annualProduct = react.useMemo(() => {
2538
+ return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
2542
2539
  }, [plusMemberProducts, plusAnnual]);
2543
- return plusAnnualProductVariant;
2540
+ const monthlyVariant = react.useMemo(() => {
2541
+ return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
2542
+ }, [monthlyProduct, plusMonthly]);
2543
+ const annualVariant = react.useMemo(() => {
2544
+ return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
2545
+ }, [annualProduct, plusAnnual]);
2546
+ return {
2547
+ monthlyVariant: monthlyVariant ? {
2548
+ ...monthlyVariant,
2549
+ product: monthlyProduct
2550
+ } : void 0,
2551
+ annualVariant: annualVariant ? {
2552
+ ...annualVariant,
2553
+ product: annualProduct
2554
+ } : void 0
2555
+ };
2544
2556
  }
2545
2557
  var useAvailableDeliveryCoupon = ({
2546
2558
  profile
@@ -2941,13 +2953,13 @@ function usePlusMemberNeedAddToCart({
2941
2953
  cart,
2942
2954
  profile
2943
2955
  }) {
2944
- const { selectedPlusMemberMode, selectedPlusMemberProduct, plusMemberMetafields } = usePlusMemberContext();
2956
+ const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
2945
2957
  const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
2946
2958
  memberSetting: plusMemberMetafields,
2947
2959
  cart
2948
2960
  });
2949
- const plusMemberProduct = react.useMemo(() => {
2950
- if (!selectedPlusMemberProduct || selectedPlusMemberMode === "free" /* FREE */) {
2961
+ const plusMemberVariant = react.useMemo(() => {
2962
+ if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
2951
2963
  return void 0;
2952
2964
  }
2953
2965
  if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
@@ -2962,15 +2974,9 @@ function usePlusMemberNeedAddToCart({
2962
2974
  if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
2963
2975
  return void 0;
2964
2976
  }
2965
- return selectedPlusMemberProduct;
2966
- }, [
2967
- selectedPlusMemberMode,
2968
- selectedPlusMemberProduct?.variant,
2969
- selectedPlusMemberProduct?.product,
2970
- hasMonthlyPlus,
2971
- hasAnnualPlus
2972
- ]);
2973
- return plusMemberProduct;
2977
+ return selectedPlusMemberVariant;
2978
+ }, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
2979
+ return plusMemberVariant;
2974
2980
  }
2975
2981
  var PlusMemberProvider = ({
2976
2982
  variant,
@@ -3000,26 +3006,15 @@ var PlusMemberProvider = ({
3000
3006
  profile,
3001
3007
  isPlus: profile?.isPlus || false
3002
3008
  });
3003
- console.log("shippingMethodsContext", shippingMethodsContext);
3004
- const plusMemberHandles = react.useMemo(() => {
3005
- return [
3006
- memberSetting?.plus_monthly_product?.handle,
3007
- memberSetting?.plus_annual_product?.handle
3008
- ].filter(Boolean);
3009
- }, [memberSetting]);
3010
- const { data: plusMemberProducts = [] } = useProductsByHandles({
3011
- handles: plusMemberHandles
3009
+ const { monthlyVariant, annualVariant } = usePlusMemberVariants({
3010
+ memberSetting
3012
3011
  });
3013
- const selectedPlusMemberProduct = react.useMemo(() => {
3012
+ const selectedPlusMemberVariant = react.useMemo(() => {
3014
3013
  if (selectedPlusMemberMode === "free" /* FREE */) {
3015
- return null;
3014
+ return void 0;
3016
3015
  }
3017
- const handle = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.handle : memberSetting?.plus_annual_product?.handle;
3018
- const sku = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.sku : memberSetting?.plus_annual_product?.sku;
3019
- const product2 = plusMemberProducts?.find((p) => p.handle === handle);
3020
- const variant2 = product2?.variants?.find((v) => v.sku === sku);
3021
- return product2 && variant2 ? { product: product2, variant: variant2 } : null;
3022
- }, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
3016
+ return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
3017
+ }, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
3023
3018
  return /* @__PURE__ */ jsxRuntime.jsx(
3024
3019
  PlusMemberContext.Provider,
3025
3020
  {
@@ -3043,8 +3038,9 @@ var PlusMemberProvider = ({
3043
3038
  setShowTip,
3044
3039
  showMoreShippingMethod,
3045
3040
  setShowMoreShippingMethod,
3046
- selectedPlusMemberProduct,
3047
- plusMemberProducts,
3041
+ selectedPlusMemberVariant,
3042
+ monthlyVariant,
3043
+ annualVariant,
3048
3044
  product,
3049
3045
  showPlusMemberBenefit,
3050
3046
  setShowPlusMemberBenefit,
@@ -3296,13 +3292,12 @@ exports.useExposure = useExposure;
3296
3292
  exports.useGeoLocation = useGeoLocation;
3297
3293
  exports.useHasPlusMemberInCart = useHasPlusMemberInCart;
3298
3294
  exports.useIntersection = useIntersection;
3299
- exports.usePlusAnnualProductVariant = usePlusAnnualProductVariant;
3300
3295
  exports.usePlusMemberCheckoutCustomAttributes = usePlusMemberCheckoutCustomAttributes;
3301
3296
  exports.usePlusMemberContext = usePlusMemberContext;
3302
3297
  exports.usePlusMemberDeliveryCodes = usePlusMemberDeliveryCodes;
3303
3298
  exports.usePlusMemberItemCustomAttributes = usePlusMemberItemCustomAttributes;
3304
3299
  exports.usePlusMemberNeedAddToCart = usePlusMemberNeedAddToCart;
3305
- exports.usePlusMonthlyProductVariant = usePlusMonthlyProductVariant;
3300
+ exports.usePlusMemberVariants = usePlusMemberVariants;
3306
3301
  exports.usePrice = usePrice;
3307
3302
  exports.useProduct = useProduct;
3308
3303
  exports.useProductUrl = useProductUrl;