@anker-in/shopify-react 0.1.1-beta.1 → 0.1.1-beta.2
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 +89 -40
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +87 -39
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/{index-CCMIeIUh.d.ts → index-BZ6WbAdZ.d.ts} +53 -14
- package/dist/{index-RevQokdZ.d.mts → index-Bea95u2X.d.mts} +53 -14
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +110 -50
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +108 -49
- package/dist/index.mjs.map +1 -1
- package/dist/provider/index.js +44 -27
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +44 -27
- package/dist/provider/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/hooks/index.mjs
CHANGED
|
@@ -101,25 +101,25 @@ var getMatchedMainProductSubTotal = (cartData, variant_list, main_product) => {
|
|
|
101
101
|
return acc + (main_product?.spend_money_type === 1 /* ORIGIN_PRICE */ ? Number(line.subtotalAmount) || 0 : Number(line.totalAmount) || 0);
|
|
102
102
|
}, 0) || 0;
|
|
103
103
|
};
|
|
104
|
-
var
|
|
105
|
-
const attr = attributes.find((attr2) => attr2.key === CUSTOMER_ATTRIBUTE_KEY);
|
|
106
|
-
return safeParseJson(attr?.value ?? "") ?? {};
|
|
107
|
-
};
|
|
108
|
-
var isAttributesEqual = (attrs1 = [], attrs2 = []) => {
|
|
109
|
-
if (attrs1.length !== attrs2.length) return false;
|
|
110
|
-
const sorted1 = [...attrs1].sort((a, b) => a.key.localeCompare(b.key));
|
|
111
|
-
const sorted2 = [...attrs2].sort((a, b) => a.key.localeCompare(b.key));
|
|
112
|
-
return sorted1.every(
|
|
113
|
-
(attr, i) => attr.key === sorted2[i]?.key && attr.value === sorted2[i]?.value
|
|
114
|
-
);
|
|
115
|
-
};
|
|
116
|
-
var safeParseJson = (str) => {
|
|
104
|
+
var safeParse = (str) => {
|
|
117
105
|
try {
|
|
118
106
|
return JSON.parse(str);
|
|
119
107
|
} catch (err) {
|
|
120
108
|
return {};
|
|
121
109
|
}
|
|
122
110
|
};
|
|
111
|
+
var getDiscountEnvAttributeValue = (attributes = []) => {
|
|
112
|
+
const attr = attributes.find((attr2) => attr2.key === CUSTOMER_ATTRIBUTE_KEY);
|
|
113
|
+
return safeParse(attr?.value ?? "") ?? {};
|
|
114
|
+
};
|
|
115
|
+
var checkAttributesUpdateNeeded = (oldAttributes, newAttributes, customAttributesNeedRemove) => {
|
|
116
|
+
return oldAttributes.some((attr) => {
|
|
117
|
+
const newAttr = newAttributes.find((newAttr2) => newAttr2.key === attr.key);
|
|
118
|
+
return newAttr ? newAttr.value !== attr.value : true;
|
|
119
|
+
}) || newAttributes.some((attr) => !oldAttributes.some((oldAttr) => oldAttr.key === attr.key)) || customAttributesNeedRemove.some(
|
|
120
|
+
(removeAttr) => oldAttributes.some((oldAttr) => oldAttr.key === removeAttr.key)
|
|
121
|
+
);
|
|
122
|
+
};
|
|
123
123
|
var containsAll = (source, requiredItems = []) => {
|
|
124
124
|
if (!requiredItems?.length) return true;
|
|
125
125
|
const sourceSet = new Set(source);
|
|
@@ -408,6 +408,14 @@ var useScriptAutoFreeGift = ({
|
|
|
408
408
|
set_points_subscribe(!!isPointsSubscribe);
|
|
409
409
|
}
|
|
410
410
|
}, [locale]);
|
|
411
|
+
const isActivityAvailable = useMemo(() => {
|
|
412
|
+
if (!campaign) return false;
|
|
413
|
+
const query = getQuery();
|
|
414
|
+
const utmCampaign = Cookies5.get("utm_campaign") || query?.utm_campaign;
|
|
415
|
+
if (campaign.activityAvailableQuery && !utmCampaign?.includes(campaign.activityAvailableQuery))
|
|
416
|
+
return false;
|
|
417
|
+
return true;
|
|
418
|
+
}, [campaign]);
|
|
411
419
|
const [upgrade_multiple, upgrade_value] = useMemo(() => {
|
|
412
420
|
let upgrade_multiple2 = 1;
|
|
413
421
|
let upgrade_value2 = 0;
|
|
@@ -424,8 +432,8 @@ var useScriptAutoFreeGift = ({
|
|
|
424
432
|
return [upgrade_multiple2, upgrade_value2];
|
|
425
433
|
}, [cart?.lineItems, points_subscribe]);
|
|
426
434
|
const breakpoints = useMemo(() => {
|
|
427
|
-
if (!
|
|
428
|
-
return (campaign
|
|
435
|
+
if (!isActivityAvailable) return [];
|
|
436
|
+
return (campaign?.breakpoints || []).map((item) => ({
|
|
429
437
|
breakpoint: new Decimal2(item.breakpoint).minus(new Decimal2(upgrade_value)).dividedBy(new Decimal2(upgrade_multiple)).toFixed(2, Decimal2.ROUND_DOWN),
|
|
430
438
|
giveawayProducts: item.giveawayProducts || []
|
|
431
439
|
}));
|
|
@@ -449,25 +457,26 @@ var useScriptAutoFreeGift = ({
|
|
|
449
457
|
return true;
|
|
450
458
|
}, [giftHandles]);
|
|
451
459
|
const involvedLines = useMemo(() => {
|
|
452
|
-
if (!
|
|
460
|
+
if (!isActivityAvailable) return [];
|
|
453
461
|
return (cart?.lineItems || []).filter((line) => {
|
|
454
462
|
const isNotGift = line?.totalAmount && Number(line.totalAmount) > 0 && line.customAttributes?.every(
|
|
455
463
|
(item) => item.key !== _giveaway
|
|
456
464
|
);
|
|
457
465
|
const hasCampaignTag = line.product?.tags?.some(
|
|
458
|
-
(tag) => campaign
|
|
466
|
+
(tag) => campaign?.includeTags?.includes(tag.trim()) && line.variant?.availableForSale
|
|
459
467
|
);
|
|
460
468
|
return isNotGift && hasCampaignTag;
|
|
461
469
|
});
|
|
462
|
-
}, [cart?.lineItems,
|
|
470
|
+
}, [cart?.lineItems, isActivityAvailable, _giveaway]);
|
|
463
471
|
const involvedSubTotal = useMemo(() => {
|
|
464
|
-
if (!
|
|
472
|
+
if (!isActivityAvailable) return new Decimal2(0);
|
|
465
473
|
return involvedLines.reduce((prev, item) => {
|
|
466
|
-
const amount = campaign
|
|
474
|
+
const amount = campaign?.useTotalAmount ? item.totalAmount : item.subtotalAmount;
|
|
467
475
|
return new Decimal2(prev).plus(new Decimal2(amount || 0));
|
|
468
476
|
}, new Decimal2(0));
|
|
469
|
-
}, [involvedLines,
|
|
477
|
+
}, [involvedLines, isActivityAvailable]);
|
|
470
478
|
const [freeGiftLevel, nextFreeGiftLevel] = useMemo(() => {
|
|
479
|
+
if (!isActivityAvailable) return [null, null];
|
|
471
480
|
const sortedLevels = [...breakpoints].sort(
|
|
472
481
|
(a, b) => Number(b.breakpoint) - Number(a.breakpoint)
|
|
473
482
|
);
|
|
@@ -621,8 +630,12 @@ var trackAddToCartGA = ({
|
|
|
621
630
|
}
|
|
622
631
|
const { variant } = lineItems[0];
|
|
623
632
|
const currencyCode = variant.product?.price?.currencyCode;
|
|
624
|
-
const
|
|
625
|
-
|
|
633
|
+
const totalPrice = lineItems?.reduce(
|
|
634
|
+
(prev, { variant: variant2 }) => prev.plus(
|
|
635
|
+
variant2?.finalPrice?.amount ?? variant2?.compareAtPrice?.amount ?? variant2?.price?.amount ?? 0
|
|
636
|
+
),
|
|
637
|
+
new Decimal2(0)
|
|
638
|
+
).toNumber();
|
|
626
639
|
gaTrack({
|
|
627
640
|
event: "ga4Event",
|
|
628
641
|
event_name: "add_to_cart",
|
|
@@ -637,7 +650,7 @@ var trackAddToCartGA = ({
|
|
|
637
650
|
item_brand: gtmParams?.brand || "",
|
|
638
651
|
item_category: variant2?.product?.productType || "",
|
|
639
652
|
item_variant: variant2?.title || variant2?.title,
|
|
640
|
-
price,
|
|
653
|
+
price: variant2?.compareAtPrice?.amount ?? variant2?.price?.amount,
|
|
641
654
|
quantity: quantity || 1
|
|
642
655
|
})),
|
|
643
656
|
...gtmParams?.ga4Params
|
|
@@ -653,8 +666,12 @@ var trackBuyNowGA = ({
|
|
|
653
666
|
}
|
|
654
667
|
const { variant } = lineItems[0];
|
|
655
668
|
const currencyCode = variant.price?.currencyCode;
|
|
656
|
-
const
|
|
657
|
-
|
|
669
|
+
const totalPrice = lineItems?.reduce(
|
|
670
|
+
(prev, { variant: variant2 }) => prev.plus(
|
|
671
|
+
variant2?.finalPrice?.amount ?? variant2?.compareAtPrice?.amount ?? (variant2?.price?.amount || 0)
|
|
672
|
+
),
|
|
673
|
+
new Decimal2(0)
|
|
674
|
+
).toNumber();
|
|
658
675
|
gaTrack({
|
|
659
676
|
event: "ga4Event",
|
|
660
677
|
event_name: "begin_checkout",
|
|
@@ -669,7 +686,7 @@ var trackBuyNowGA = ({
|
|
|
669
686
|
item_brand: gtmParams?.brand || "",
|
|
670
687
|
item_category: item.variant?.product?.productType || "",
|
|
671
688
|
item_variant: item.variant?.title,
|
|
672
|
-
price,
|
|
689
|
+
price: item.variant?.compareAtPrice?.amount ?? item.variant?.price?.amount,
|
|
673
690
|
quantity: item.quantity || 1
|
|
674
691
|
})),
|
|
675
692
|
...gtmParams?.ga4Params
|
|
@@ -2490,11 +2507,43 @@ function useAutoRemovePlusMemberInCart({
|
|
|
2490
2507
|
removeCartLines2
|
|
2491
2508
|
]);
|
|
2492
2509
|
}
|
|
2510
|
+
function useAddPlusMemberProductsToCart({
|
|
2511
|
+
cart,
|
|
2512
|
+
memberSetting,
|
|
2513
|
+
selectedPlusMemberMode,
|
|
2514
|
+
selectedPlusMemberProduct
|
|
2515
|
+
}) {
|
|
2516
|
+
const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
|
|
2517
|
+
cart,
|
|
2518
|
+
memberSetting
|
|
2519
|
+
});
|
|
2520
|
+
const plusMemberProduct = useMemo(() => {
|
|
2521
|
+
if (selectedPlusMemberMode === "free" /* FREE */) {
|
|
2522
|
+
return void 0;
|
|
2523
|
+
}
|
|
2524
|
+
if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
|
|
2525
|
+
return void 0;
|
|
2526
|
+
}
|
|
2527
|
+
if (selectedPlusMemberMode === "annual" /* ANNUAL */ && hasAnnualPlus) {
|
|
2528
|
+
return void 0;
|
|
2529
|
+
}
|
|
2530
|
+
if (!selectedPlusMemberProduct) {
|
|
2531
|
+
return void 0;
|
|
2532
|
+
}
|
|
2533
|
+
return selectedPlusMemberProduct;
|
|
2534
|
+
}, [
|
|
2535
|
+
selectedPlusMemberMode,
|
|
2536
|
+
selectedPlusMemberProduct?.variant,
|
|
2537
|
+
selectedPlusMemberProduct?.product,
|
|
2538
|
+
hasMonthlyPlus,
|
|
2539
|
+
hasAnnualPlus
|
|
2540
|
+
]);
|
|
2541
|
+
return plusMemberProduct;
|
|
2542
|
+
}
|
|
2493
2543
|
var PlusMemberProvider = ({
|
|
2494
2544
|
variant,
|
|
2495
2545
|
product,
|
|
2496
|
-
|
|
2497
|
-
metafields,
|
|
2546
|
+
memberSetting,
|
|
2498
2547
|
initialSelectedPlusMemberMode = "free",
|
|
2499
2548
|
profile,
|
|
2500
2549
|
locale,
|
|
@@ -2514,14 +2563,14 @@ var PlusMemberProvider = ({
|
|
|
2514
2563
|
const [deleteMarginBottom, setDeleteMarginBottom] = useState(false);
|
|
2515
2564
|
const shippingMethodsContext = useShippingMethods({
|
|
2516
2565
|
variant,
|
|
2517
|
-
plusMemberMetafields:
|
|
2566
|
+
plusMemberMetafields: memberSetting,
|
|
2518
2567
|
selectedPlusMemberMode});
|
|
2519
2568
|
const plusMemberHandles = useMemo(() => {
|
|
2520
2569
|
return [
|
|
2521
|
-
|
|
2522
|
-
|
|
2570
|
+
memberSetting?.plus_monthly_product?.handle,
|
|
2571
|
+
memberSetting?.plus_annual_product?.handle
|
|
2523
2572
|
].filter(Boolean);
|
|
2524
|
-
}, [
|
|
2573
|
+
}, [memberSetting]);
|
|
2525
2574
|
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
2526
2575
|
handles: plusMemberHandles
|
|
2527
2576
|
});
|
|
@@ -2529,25 +2578,24 @@ var PlusMemberProvider = ({
|
|
|
2529
2578
|
if (selectedPlusMemberMode === "free" /* FREE */) {
|
|
2530
2579
|
return null;
|
|
2531
2580
|
}
|
|
2532
|
-
const handle = selectedPlusMemberMode === "monthly" /* MONTHLY */ ?
|
|
2533
|
-
const sku = selectedPlusMemberMode === "monthly" /* MONTHLY */ ?
|
|
2581
|
+
const handle = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.handle : memberSetting?.plus_annual_product?.handle;
|
|
2582
|
+
const sku = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.sku : memberSetting?.plus_annual_product?.sku;
|
|
2534
2583
|
const product2 = plusMemberProducts?.find((p) => p.handle === handle);
|
|
2535
2584
|
const variant2 = product2?.variants?.find((v) => v.sku === sku);
|
|
2536
2585
|
return product2 && variant2 ? { product: product2, variant: variant2 } : null;
|
|
2537
|
-
}, [plusMemberProducts,
|
|
2586
|
+
}, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
|
|
2538
2587
|
return /* @__PURE__ */ jsx(
|
|
2539
2588
|
PlusMemberContext.Provider,
|
|
2540
2589
|
{
|
|
2541
2590
|
value: {
|
|
2542
2591
|
variant,
|
|
2543
|
-
shopCommon,
|
|
2544
2592
|
zipCode,
|
|
2545
2593
|
setZipCode,
|
|
2546
2594
|
allowNextDayDelivery,
|
|
2547
2595
|
setAllowNextDayDelivery,
|
|
2548
2596
|
allowThirdDayDelivery,
|
|
2549
2597
|
setAllowThirdDayDelivery,
|
|
2550
|
-
plusMemberMetafields:
|
|
2598
|
+
plusMemberMetafields: memberSetting,
|
|
2551
2599
|
selectedPlusMemberMode,
|
|
2552
2600
|
setSelectedPlusMemberMode,
|
|
2553
2601
|
showAreaCheckModal,
|
|
@@ -2753,6 +2801,6 @@ function clearGeoLocationCache(cacheKey = "geoLocation") {
|
|
|
2753
2801
|
}
|
|
2754
2802
|
}
|
|
2755
2803
|
|
|
2756
|
-
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, clearGeoLocationCache, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes,
|
|
2804
|
+
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, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, preCheck, safeParse, useAddCartLines, useAddPlusMemberProductsToCart, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useBlog, useBuyNow, useCalcAutoFreeGift, 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 };
|
|
2757
2805
|
//# sourceMappingURL=index.mjs.map
|
|
2758
2806
|
//# sourceMappingURL=index.mjs.map
|