@anker-in/shopify-react 0.1.1-beta.44 → 0.1.1-beta.46

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,7 +2,7 @@ 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, e as PlusMemberSettingsMetafields, d as PlusMemberShippingMethodConfig, D as DeliveryPlusType, f as SelectedPlusMemberVariant } from '../types-CMMWxyUF.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 } from '../types-CMMWxyUF.mjs';
6
6
  export { g as DeliveryCustomData, P as PLUS_MEMBER_TYPE, b as PlusMemberMode, c as PlusMemberShippingMethodMetafields, S as ShippingMethodMode } from '../types-CMMWxyUF.mjs';
7
7
  import Decimal from 'decimal.js';
8
8
  import * as swr from 'swr';
@@ -745,84 +745,6 @@ declare const useCartItemQuantityLimit: ({ cart, cartItem, config, }: {
745
745
  max: number;
746
746
  };
747
747
 
748
- /**
749
- * Hook to check if plus member products are in line items
750
- * 判断加购的 line 中是否包含付费会员产品
751
- */
752
-
753
- interface UseHasPlusMemberInLinesProps {
754
- /** Plus Member 配置 */
755
- memberSetting?: PlusMemberSettingsMetafields;
756
- /** 加购的 line items */
757
- lines: AddToCartLineItem[];
758
- }
759
- interface HasPlusMemberInLinesResult {
760
- /** 加购的 lines 中是否有任何会员产品 */
761
- hasPlusMember: boolean;
762
- /** 加购的 lines 中是否有月费会员产品 */
763
- hasMonthlyPlus: boolean;
764
- /** 加购的 lines 中是否有年费会员产品 */
765
- hasAnnualPlus: boolean;
766
- /** 月费会员产品的 line item */
767
- monthlyPlusLine?: AddToCartLineItem;
768
- /** 年费会员产品的 line item */
769
- annualPlusLine?: AddToCartLineItem;
770
- }
771
- /**
772
- * 判断加购的 line items 中是否包含付费会员产品(纯函数版本)
773
- *
774
- * @param props - 函数参数
775
- * @param props.memberSetting - Plus Member 配置
776
- * @param props.lines - 加购的 line items
777
- * @returns 会员产品信息
778
- *
779
- * @example
780
- * ```tsx
781
- * const {
782
- * hasPlusMember,
783
- * hasMonthlyPlus,
784
- * hasAnnualPlus,
785
- * } = hasPlusMemberInLines({
786
- * memberSetting: plusMemberSettings,
787
- * lines: lineItems,
788
- * })
789
- *
790
- * if (hasPlusMember) {
791
- * console.log('加购的商品中包含会员产品')
792
- * }
793
- * ```
794
- */
795
- declare function hasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
796
- /**
797
- * 判断加购的 line items 中是否包含付费会员产品(Hook 版本)
798
- *
799
- * 内部使用 hasPlusMemberInLines 纯函数,并通过 useMemo 优化性能
800
- *
801
- * @param props - Hook 参数
802
- * @param props.memberSetting - Plus Member 配置
803
- * @param props.lines - 加购的 line items
804
- * @returns 会员产品信息
805
- *
806
- * @example
807
- * ```tsx
808
- * const {
809
- * hasPlusMember,
810
- * hasMonthlyPlus,
811
- * hasAnnualPlus,
812
- * monthlyPlusLine,
813
- * annualPlusLine,
814
- * } = useHasPlusMemberInLines({
815
- * memberSetting: plusMemberSettings,
816
- * lines: lineItems,
817
- * })
818
- *
819
- * if (hasPlusMember) {
820
- * console.log('加购的商品中包含会员产品')
821
- * }
822
- * ```
823
- */
824
- declare function useHasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
825
-
826
748
  /**
827
749
  * 更新购物车中各个 item 的折后价相关的属性
828
750
  */
@@ -1675,6 +1597,84 @@ declare function hasPlusMemberInCart({ memberSetting, cart, }: HasPlusMemberInCa
1675
1597
  */
1676
1598
  declare function useHasPlusMemberInCart({ memberSetting, cart, }: HasPlusMemberInCartProps): HasPlusMemberInCartResult;
1677
1599
 
1600
+ /**
1601
+ * Hook to check if plus member products are in line items
1602
+ * 判断加购的 line 中是否包含付费会员产品
1603
+ */
1604
+
1605
+ interface UseHasPlusMemberInLinesProps {
1606
+ /** Plus Member 配置 */
1607
+ memberSetting?: PlusMemberSettingsMetafields;
1608
+ /** 加购的 line items */
1609
+ lines: AddToCartLineItem[];
1610
+ }
1611
+ interface HasPlusMemberInLinesResult {
1612
+ /** 加购的 lines 中是否有任何会员产品 */
1613
+ hasPlusMember: boolean;
1614
+ /** 加购的 lines 中是否有月费会员产品 */
1615
+ hasMonthlyPlus: boolean;
1616
+ /** 加购的 lines 中是否有年费会员产品 */
1617
+ hasAnnualPlus: boolean;
1618
+ /** 月费会员产品的 line item */
1619
+ monthlyPlusLine?: AddToCartLineItem;
1620
+ /** 年费会员产品的 line item */
1621
+ annualPlusLine?: AddToCartLineItem;
1622
+ }
1623
+ /**
1624
+ * 判断加购的 line items 中是否包含付费会员产品(纯函数版本)
1625
+ *
1626
+ * @param props - 函数参数
1627
+ * @param props.memberSetting - Plus Member 配置
1628
+ * @param props.lines - 加购的 line items
1629
+ * @returns 会员产品信息
1630
+ *
1631
+ * @example
1632
+ * ```tsx
1633
+ * const {
1634
+ * hasPlusMember,
1635
+ * hasMonthlyPlus,
1636
+ * hasAnnualPlus,
1637
+ * } = hasPlusMemberInLines({
1638
+ * memberSetting: plusMemberSettings,
1639
+ * lines: lineItems,
1640
+ * })
1641
+ *
1642
+ * if (hasPlusMember) {
1643
+ * console.log('加购的商品中包含会员产品')
1644
+ * }
1645
+ * ```
1646
+ */
1647
+ declare function hasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
1648
+ /**
1649
+ * 判断加购的 line items 中是否包含付费会员产品(Hook 版本)
1650
+ *
1651
+ * 内部使用 hasPlusMemberInLines 纯函数,并通过 useMemo 优化性能
1652
+ *
1653
+ * @param props - Hook 参数
1654
+ * @param props.memberSetting - Plus Member 配置
1655
+ * @param props.lines - 加购的 line items
1656
+ * @returns 会员产品信息
1657
+ *
1658
+ * @example
1659
+ * ```tsx
1660
+ * const {
1661
+ * hasPlusMember,
1662
+ * hasMonthlyPlus,
1663
+ * hasAnnualPlus,
1664
+ * monthlyPlusLine,
1665
+ * annualPlusLine,
1666
+ * } = useHasPlusMemberInLines({
1667
+ * memberSetting: plusMemberSettings,
1668
+ * lines: lineItems,
1669
+ * })
1670
+ *
1671
+ * if (hasPlusMember) {
1672
+ * console.log('加购的商品中包含会员产品')
1673
+ * }
1674
+ * ```
1675
+ */
1676
+ declare function useHasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
1677
+
1678
1678
  /**
1679
1679
  * 返回需要添加到购物车的 Plus Member 产品
1680
1680
  *
@@ -2,7 +2,7 @@ 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, e as PlusMemberSettingsMetafields, d as PlusMemberShippingMethodConfig, D as DeliveryPlusType, f as SelectedPlusMemberVariant } from '../types-CMMWxyUF.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 } from '../types-CMMWxyUF.js';
6
6
  export { g as DeliveryCustomData, P as PLUS_MEMBER_TYPE, b as PlusMemberMode, c as PlusMemberShippingMethodMetafields, S as ShippingMethodMode } from '../types-CMMWxyUF.js';
7
7
  import Decimal from 'decimal.js';
8
8
  import * as swr from 'swr';
@@ -745,84 +745,6 @@ declare const useCartItemQuantityLimit: ({ cart, cartItem, config, }: {
745
745
  max: number;
746
746
  };
747
747
 
748
- /**
749
- * Hook to check if plus member products are in line items
750
- * 判断加购的 line 中是否包含付费会员产品
751
- */
752
-
753
- interface UseHasPlusMemberInLinesProps {
754
- /** Plus Member 配置 */
755
- memberSetting?: PlusMemberSettingsMetafields;
756
- /** 加购的 line items */
757
- lines: AddToCartLineItem[];
758
- }
759
- interface HasPlusMemberInLinesResult {
760
- /** 加购的 lines 中是否有任何会员产品 */
761
- hasPlusMember: boolean;
762
- /** 加购的 lines 中是否有月费会员产品 */
763
- hasMonthlyPlus: boolean;
764
- /** 加购的 lines 中是否有年费会员产品 */
765
- hasAnnualPlus: boolean;
766
- /** 月费会员产品的 line item */
767
- monthlyPlusLine?: AddToCartLineItem;
768
- /** 年费会员产品的 line item */
769
- annualPlusLine?: AddToCartLineItem;
770
- }
771
- /**
772
- * 判断加购的 line items 中是否包含付费会员产品(纯函数版本)
773
- *
774
- * @param props - 函数参数
775
- * @param props.memberSetting - Plus Member 配置
776
- * @param props.lines - 加购的 line items
777
- * @returns 会员产品信息
778
- *
779
- * @example
780
- * ```tsx
781
- * const {
782
- * hasPlusMember,
783
- * hasMonthlyPlus,
784
- * hasAnnualPlus,
785
- * } = hasPlusMemberInLines({
786
- * memberSetting: plusMemberSettings,
787
- * lines: lineItems,
788
- * })
789
- *
790
- * if (hasPlusMember) {
791
- * console.log('加购的商品中包含会员产品')
792
- * }
793
- * ```
794
- */
795
- declare function hasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
796
- /**
797
- * 判断加购的 line items 中是否包含付费会员产品(Hook 版本)
798
- *
799
- * 内部使用 hasPlusMemberInLines 纯函数,并通过 useMemo 优化性能
800
- *
801
- * @param props - Hook 参数
802
- * @param props.memberSetting - Plus Member 配置
803
- * @param props.lines - 加购的 line items
804
- * @returns 会员产品信息
805
- *
806
- * @example
807
- * ```tsx
808
- * const {
809
- * hasPlusMember,
810
- * hasMonthlyPlus,
811
- * hasAnnualPlus,
812
- * monthlyPlusLine,
813
- * annualPlusLine,
814
- * } = useHasPlusMemberInLines({
815
- * memberSetting: plusMemberSettings,
816
- * lines: lineItems,
817
- * })
818
- *
819
- * if (hasPlusMember) {
820
- * console.log('加购的商品中包含会员产品')
821
- * }
822
- * ```
823
- */
824
- declare function useHasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
825
-
826
748
  /**
827
749
  * 更新购物车中各个 item 的折后价相关的属性
828
750
  */
@@ -1675,6 +1597,84 @@ declare function hasPlusMemberInCart({ memberSetting, cart, }: HasPlusMemberInCa
1675
1597
  */
1676
1598
  declare function useHasPlusMemberInCart({ memberSetting, cart, }: HasPlusMemberInCartProps): HasPlusMemberInCartResult;
1677
1599
 
1600
+ /**
1601
+ * Hook to check if plus member products are in line items
1602
+ * 判断加购的 line 中是否包含付费会员产品
1603
+ */
1604
+
1605
+ interface UseHasPlusMemberInLinesProps {
1606
+ /** Plus Member 配置 */
1607
+ memberSetting?: PlusMemberSettingsMetafields;
1608
+ /** 加购的 line items */
1609
+ lines: AddToCartLineItem[];
1610
+ }
1611
+ interface HasPlusMemberInLinesResult {
1612
+ /** 加购的 lines 中是否有任何会员产品 */
1613
+ hasPlusMember: boolean;
1614
+ /** 加购的 lines 中是否有月费会员产品 */
1615
+ hasMonthlyPlus: boolean;
1616
+ /** 加购的 lines 中是否有年费会员产品 */
1617
+ hasAnnualPlus: boolean;
1618
+ /** 月费会员产品的 line item */
1619
+ monthlyPlusLine?: AddToCartLineItem;
1620
+ /** 年费会员产品的 line item */
1621
+ annualPlusLine?: AddToCartLineItem;
1622
+ }
1623
+ /**
1624
+ * 判断加购的 line items 中是否包含付费会员产品(纯函数版本)
1625
+ *
1626
+ * @param props - 函数参数
1627
+ * @param props.memberSetting - Plus Member 配置
1628
+ * @param props.lines - 加购的 line items
1629
+ * @returns 会员产品信息
1630
+ *
1631
+ * @example
1632
+ * ```tsx
1633
+ * const {
1634
+ * hasPlusMember,
1635
+ * hasMonthlyPlus,
1636
+ * hasAnnualPlus,
1637
+ * } = hasPlusMemberInLines({
1638
+ * memberSetting: plusMemberSettings,
1639
+ * lines: lineItems,
1640
+ * })
1641
+ *
1642
+ * if (hasPlusMember) {
1643
+ * console.log('加购的商品中包含会员产品')
1644
+ * }
1645
+ * ```
1646
+ */
1647
+ declare function hasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
1648
+ /**
1649
+ * 判断加购的 line items 中是否包含付费会员产品(Hook 版本)
1650
+ *
1651
+ * 内部使用 hasPlusMemberInLines 纯函数,并通过 useMemo 优化性能
1652
+ *
1653
+ * @param props - Hook 参数
1654
+ * @param props.memberSetting - Plus Member 配置
1655
+ * @param props.lines - 加购的 line items
1656
+ * @returns 会员产品信息
1657
+ *
1658
+ * @example
1659
+ * ```tsx
1660
+ * const {
1661
+ * hasPlusMember,
1662
+ * hasMonthlyPlus,
1663
+ * hasAnnualPlus,
1664
+ * monthlyPlusLine,
1665
+ * annualPlusLine,
1666
+ * } = useHasPlusMemberInLines({
1667
+ * memberSetting: plusMemberSettings,
1668
+ * lines: lineItems,
1669
+ * })
1670
+ *
1671
+ * if (hasPlusMember) {
1672
+ * console.log('加购的商品中包含会员产品')
1673
+ * }
1674
+ * ```
1675
+ */
1676
+ declare function useHasPlusMemberInLines({ memberSetting, lines, }: UseHasPlusMemberInLinesProps): HasPlusMemberInLinesResult;
1677
+
1678
1678
  /**
1679
1679
  * 返回需要添加到购物车的 Plus Member 产品
1680
1680
  *
@@ -1264,7 +1264,7 @@ function getCartAttributes({
1264
1264
  },
1265
1265
  {
1266
1266
  key: "_member_type",
1267
- value: memberType ?? String(profile?.memberType || 0)
1267
+ value: memberType ?? String(profile?.memberType)
1268
1268
  },
1269
1269
  {
1270
1270
  key: "_user_type",
@@ -1388,51 +1388,6 @@ var useCartItemQuantityLimit = ({
1388
1388
  }, [cartItem, cart]);
1389
1389
  return quantityLimit;
1390
1390
  };
1391
- function hasPlusMemberInLines({
1392
- memberSetting,
1393
- lines
1394
- }) {
1395
- const { plus_monthly_product, plus_annual_product } = memberSetting || {};
1396
- if (!lines || lines.length === 0) {
1397
- return {
1398
- hasPlusMember: false,
1399
- hasMonthlyPlus: false,
1400
- hasAnnualPlus: false
1401
- };
1402
- }
1403
- const monthlyPlusLine = lines.find((line) => {
1404
- const variantHandle = line.variant?.product?.handle;
1405
- const variantSku = line.variant?.sku;
1406
- return variantHandle === plus_monthly_product?.handle && variantSku === plus_monthly_product?.sku;
1407
- });
1408
- const annualPlusLine = lines.find((line) => {
1409
- const variantHandle = line.variant?.product?.handle;
1410
- const variantSku = line.variant?.sku;
1411
- return variantHandle === plus_annual_product?.handle && variantSku === plus_annual_product?.sku;
1412
- });
1413
- const hasMonthlyPlus = !!monthlyPlusLine;
1414
- const hasAnnualPlus = !!annualPlusLine;
1415
- const hasPlusMember = hasMonthlyPlus || hasAnnualPlus;
1416
- return {
1417
- hasPlusMember,
1418
- hasMonthlyPlus,
1419
- hasAnnualPlus,
1420
- monthlyPlusLine,
1421
- annualPlusLine
1422
- };
1423
- }
1424
- function useHasPlusMemberInLines({
1425
- memberSetting,
1426
- lines
1427
- }) {
1428
- return react.useMemo(
1429
- () => hasPlusMemberInLines({
1430
- memberSetting,
1431
- lines
1432
- }),
1433
- [memberSetting, lines]
1434
- );
1435
- }
1436
1391
  var useUpdateLineCodeAmountAttributes = ({
1437
1392
  cart,
1438
1393
  mutateCart,
@@ -1990,6 +1945,51 @@ function useHasPlusMemberInCart({
1990
1945
  [memberSetting, cart]
1991
1946
  );
1992
1947
  }
1948
+ function hasPlusMemberInLines({
1949
+ memberSetting,
1950
+ lines
1951
+ }) {
1952
+ const { plus_monthly_product, plus_annual_product } = memberSetting || {};
1953
+ if (!lines || lines.length === 0) {
1954
+ return {
1955
+ hasPlusMember: false,
1956
+ hasMonthlyPlus: false,
1957
+ hasAnnualPlus: false
1958
+ };
1959
+ }
1960
+ const monthlyPlusLine = lines.find((line) => {
1961
+ const variantHandle = line.variant?.product?.handle;
1962
+ const variantSku = line.variant?.sku;
1963
+ return variantHandle === plus_monthly_product?.handle && variantSku === plus_monthly_product?.sku;
1964
+ });
1965
+ const annualPlusLine = lines.find((line) => {
1966
+ const variantHandle = line.variant?.product?.handle;
1967
+ const variantSku = line.variant?.sku;
1968
+ return variantHandle === plus_annual_product?.handle && variantSku === plus_annual_product?.sku;
1969
+ });
1970
+ const hasMonthlyPlus = !!monthlyPlusLine;
1971
+ const hasAnnualPlus = !!annualPlusLine;
1972
+ const hasPlusMember = hasMonthlyPlus || hasAnnualPlus;
1973
+ return {
1974
+ hasPlusMember,
1975
+ hasMonthlyPlus,
1976
+ hasAnnualPlus,
1977
+ monthlyPlusLine,
1978
+ annualPlusLine
1979
+ };
1980
+ }
1981
+ function useHasPlusMemberInLines({
1982
+ memberSetting,
1983
+ lines
1984
+ }) {
1985
+ return react.useMemo(
1986
+ () => hasPlusMemberInLines({
1987
+ memberSetting,
1988
+ lines
1989
+ }),
1990
+ [memberSetting, lines]
1991
+ );
1992
+ }
1993
1993
  function usePlusMemberNeedAddToCart({
1994
1994
  cart,
1995
1995
  profile
@@ -2253,7 +2253,7 @@ function useBuyNow({ withTrack = true } = {}, swrOptions) {
2253
2253
  if (!lineItems || lineItems.length === 0) {
2254
2254
  return;
2255
2255
  }
2256
- const { hasPlusMember } = useHasPlusMemberInLines({
2256
+ const { hasPlusMember } = hasPlusMemberInLines({
2257
2257
  memberSetting,
2258
2258
  lines: lineItems
2259
2259
  });
@@ -2307,7 +2307,7 @@ function useBuyNow({ withTrack = true } = {}, swrOptions) {
2307
2307
  }
2308
2308
  return resultCart;
2309
2309
  },
2310
- [client, locale, isLoggedIn, cartCookieAdapter, withTrack]
2310
+ [client, locale, isLoggedIn, cartCookieAdapter, withTrack, customer, profile, memberSetting]
2311
2311
  );
2312
2312
  return useSWRMutation__default.default("buy-now", buyNow, swrOptions);
2313
2313
  }