@anker-in/shopify-react 0.1.1-beta.7 → 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.
- package/dist/hooks/index.d.mts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.js +71 -5
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +72 -7
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/{index-AJXjqRBR.d.ts → index-DMLI1Lh0.d.ts} +36 -3
- package/dist/{index-B9HdNo3a.d.mts → index-DyExTsmO.d.mts} +36 -3
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +71 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +72 -7
- package/dist/index.mjs.map +1 -1
- package/dist/provider/index.js +9 -5
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +9 -5
- package/dist/provider/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/hooks/index.mjs
CHANGED
|
@@ -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
|
-
|
|
126
|
+
totalLineItemsDiscount: 0,
|
|
127
127
|
orderDiscounts: 0,
|
|
128
128
|
lineItemsSubtotalPrice: subtotalPrice,
|
|
129
129
|
subtotalPrice,
|
|
@@ -1342,15 +1342,19 @@ var useCartAttributes = ({
|
|
|
1342
1342
|
];
|
|
1343
1343
|
}, [profile?.memberType, profile?.token, userType, hasPlusMember]);
|
|
1344
1344
|
const functionAttributes = useMemo(() => {
|
|
1345
|
-
|
|
1346
|
-
|
|
1345
|
+
const hasFunctionEnvAttribute = cart?.lineItems.some(
|
|
1346
|
+
(item) => item.customAttributes?.some((attr) => attr.key === CUSTOMER_ATTRIBUTE_KEY)
|
|
1347
|
+
);
|
|
1348
|
+
const discountCodes = cart?.discountCodes.map((item) => item.code).filter((code) => code) || [];
|
|
1349
|
+
return hasFunctionEnvAttribute ? [
|
|
1350
|
+
{
|
|
1347
1351
|
key: "_discounts_function_env",
|
|
1348
1352
|
value: JSON.stringify({
|
|
1349
|
-
discount_code:
|
|
1353
|
+
discount_code: discountCodes,
|
|
1350
1354
|
user_tags: customer?.tags || []
|
|
1351
1355
|
})
|
|
1352
1356
|
}
|
|
1353
|
-
];
|
|
1357
|
+
] : [];
|
|
1354
1358
|
}, [cart]);
|
|
1355
1359
|
const presellAttributes = useMemo(() => {
|
|
1356
1360
|
return [
|
|
@@ -2527,6 +2531,67 @@ var usePlusMemberDeliveryCodes = ({
|
|
|
2527
2531
|
[deliveryData]
|
|
2528
2532
|
);
|
|
2529
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
|
+
};
|
|
2530
2595
|
var usePlusMemberItemCustomAttributes = ({
|
|
2531
2596
|
deliveryData
|
|
2532
2597
|
}) => {
|
|
@@ -2936,6 +3001,6 @@ function clearGeoLocationCache(cacheKey = "geoLocation") {
|
|
|
2936
3001
|
}
|
|
2937
3002
|
}
|
|
2938
3003
|
|
|
2939
|
-
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 };
|
|
2940
3005
|
//# sourceMappingURL=index.mjs.map
|
|
2941
3006
|
//# sourceMappingURL=index.mjs.map
|