@anker-in/shopify-react 0.1.1-beta.8 → 0.1.1-beta.9

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.
@@ -1,6 +1,6 @@
1
1
  import { createContext, useMemo, useRef, useState, useEffect, useCallback, useContext } from 'react';
2
2
  import useSWRMutation from 'swr/mutation';
3
- import { getProductsByHandles, createCart, updateCartCodes, addCartLines, updateCartLines, removeCartLines, updateCartAttributes, getProduct, getAllProducts, getCollection, getAllCollections, getCollections, getBlog, getAllBlogs, getArticle, getArticles, getArticlesInBlog, getLocalStorage, setLocalStorage } from '@anker-in/shopify-sdk';
3
+ import { getProductsByHandles, createCart, updateCartCodes, addCartLines, updateCartLines, removeCartLines, updateCartAttributes, getProduct, getAllProducts, getCollection, getAllCollections, getCollections, getBlog, getAllBlogs, getArticle, getArticles, getArticlesInBlog, getLocalStorage, setLocalStorage, updateCartDeliveryOptions } from '@anker-in/shopify-sdk';
4
4
  import Cookies5 from 'js-cookie';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import Decimal2 from 'decimal.js';
@@ -123,7 +123,7 @@ function createMockCartFromLines(lines, existingCart) {
123
123
  currency: existingCart?.currency || { code: "USD" },
124
124
  taxesIncluded: existingCart?.taxesIncluded,
125
125
  lineItems: normalizedLines,
126
- totallineItemsDiscount: 0,
126
+ totalLineItemsDiscount: 0,
127
127
  orderDiscounts: 0,
128
128
  lineItemsSubtotalPrice: subtotalPrice,
129
129
  subtotalPrice,
@@ -2531,6 +2531,67 @@ var usePlusMemberDeliveryCodes = ({
2531
2531
  [deliveryData]
2532
2532
  );
2533
2533
  };
2534
+ function useUpdateCartDeliveryOptions(mutate, metafieldIdentifiers, options) {
2535
+ const { client, locale, cartCookieAdapter } = useShopify();
2536
+ const updateDeliveryOptions = useCallback(
2537
+ async (_key, { arg }) => {
2538
+ const updatedCart = await updateCartDeliveryOptions(client, {
2539
+ ...arg,
2540
+ metafieldIdentifiers,
2541
+ cookieAdapter: cartCookieAdapter
2542
+ });
2543
+ console.log("useUpdateCartDeliveryOptions updatedCart", updatedCart);
2544
+ if (updatedCart) {
2545
+ mutate(updatedCart);
2546
+ }
2547
+ return updatedCart;
2548
+ },
2549
+ [client, locale, cartCookieAdapter, mutate]
2550
+ );
2551
+ return useSWRMutation("update-cart-delivery-options", updateDeliveryOptions, options);
2552
+ }
2553
+
2554
+ // src/hooks/member/plus/use-update-plus-member-delivery-options.ts
2555
+ var useUpdatePlusMemberDeliveryOptions = ({
2556
+ deliveryData,
2557
+ options
2558
+ }) => {
2559
+ const { cart, mutateCart: mutate, metafieldIdentifiers } = useCartContext();
2560
+ const { trigger: updateCartDeliveryOptions2, isMutating } = useUpdateCartDeliveryOptions(
2561
+ mutate,
2562
+ metafieldIdentifiers
2563
+ );
2564
+ const deliveryOptions = useMemo(() => {
2565
+ const deliveryGroupId = cart?.deliveryGroups?.[0]?.id;
2566
+ const selectedOptionCode = deliveryData?.deliveryCustomData?.selected_delivery_option;
2567
+ if (!deliveryGroupId || !selectedOptionCode) {
2568
+ return [];
2569
+ }
2570
+ const deliveryGroup = cart?.deliveryGroups?.find((group) => group?.id === deliveryGroupId);
2571
+ const matchedOption = deliveryGroup?.deliveryOptions?.find(
2572
+ (option) => option?.code === selectedOptionCode
2573
+ );
2574
+ if (!matchedOption?.handle) {
2575
+ return [];
2576
+ }
2577
+ return [
2578
+ {
2579
+ deliveryGroupId,
2580
+ deliveryOptionHandle: matchedOption.handle
2581
+ }
2582
+ ];
2583
+ }, [deliveryData, cart]);
2584
+ const handler = useCallback(async () => {
2585
+ const updatedCart = await updateCartDeliveryOptions2({
2586
+ selectedDeliveryOptions: deliveryOptions
2587
+ });
2588
+ if (updatedCart && mutate) {
2589
+ mutate(updatedCart);
2590
+ }
2591
+ return updatedCart;
2592
+ }, [deliveryOptions, mutate, updateCartDeliveryOptions2]);
2593
+ return useSWRMutation("update-cart-delivery-options", handler, options);
2594
+ };
2534
2595
  var usePlusMemberItemCustomAttributes = ({
2535
2596
  deliveryData
2536
2597
  }) => {
@@ -2940,6 +3001,6 @@ function clearGeoLocationCache(cacheKey = "geoLocation") {
2940
3001
  }
2941
3002
  }
2942
3003
 
2943
- export { BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, DeliveryPlusType, MAIN_PRODUCT_CODE, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, SpendMoneyType, atobID, btoaID, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, useAddCartLines, useAddPlusMemberProductsToCart, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection, usePlusAnnualProductVariant, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberDeliveryCodes, usePlusMemberItemCustomAttributes, usePlusMonthlyProductVariant, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethodAvailableCheck, useShippingMethods, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdateVariantQuery, useVariant, useVariantMedia };
3004
+ export { BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, DeliveryPlusType, MAIN_PRODUCT_CODE, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, SpendMoneyType, atobID, btoaID, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, useAddCartLines, useAddPlusMemberProductsToCart, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection, usePlusAnnualProductVariant, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberDeliveryCodes, usePlusMemberItemCustomAttributes, usePlusMonthlyProductVariant, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethodAvailableCheck, useShippingMethods, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
2944
3005
  //# sourceMappingURL=index.mjs.map
2945
3006
  //# sourceMappingURL=index.mjs.map